| | |
| | | <template> |
| | | <ProDialog title="申请详情" v-model="innerVisible" width="1200px" destroy-on-close> |
| | | <ProTabs v-model="innerForm.tabType" hasBorder> |
| | | <ProDialog title="申请详情" v-model="visible" width="1200px" destroy-on-close> |
| | | <ProTabs v-model="form.tabType" hasBorder> |
| | | <ProTabPane lazy label="人员详情" name="user"> |
| | | <ProForm :model="form" ref="dialogForm" label-width="120px" is-read> |
| | | <ProFormItemV2 label="姓名:" prop="name"> |
| | | <ProFormText v-model.trim="innerForm.name" /> |
| | | <ProFormText v-model.trim="form.name" /> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 label="身份证号:" prop="idNumber"> |
| | | <ProFormText v-model.trim="innerForm.idNumber" /> |
| | | <ProFormText v-model.trim="form.idNumber" /> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 label="手机号:" prop="contactPhone"> |
| | | <ProFormText v-model.trim="innerForm.contactPhone" /> |
| | | <ProFormText v-model.trim="form.contactPhone" /> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 label="性别:" prop="age"> |
| | | <ProFormRadio v-model="innerForm.genderType" :value-enum="GenderText"></ProFormRadio> |
| | | <ProFormRadio v-model="form.genderType" :value-enum="GenderText"></ProFormRadio> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 label="年龄:" prop="age"> |
| | | <ProFormInputNumber v-model="innerForm.age" unit="岁"></ProFormInputNumber> |
| | | <ProFormInputNumber v-model="form.age" unit="岁"></ProFormInputNumber> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 label="身份证正面:" prop="certificateFrontImgUrl"> |
| | | <ProFormImageUpload v-model:file-url="innerForm.certificateFrontImgUrl" /> |
| | | <ProFormImageUpload v-model:file-url="form.certificateFrontImgUrl" /> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 label="身份证反面:" prop="certificateBackImgUrl"> |
| | | <ProFormImageUpload v-model:file-url="innerForm.certificateBackImgUrl" /> |
| | | <ProFormImageUpload v-model:file-url="form.certificateBackImgUrl" /> |
| | | </ProFormItemV2> |
| | | </ProForm> |
| | | </ProTabPane> |
| | |
| | | </ProDialogTableWrapper> |
| | | </ProTabPane> |
| | | </ProTabs> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="emit('onCancel')">关闭</el-button> |
| | | </span> |
| | | </template> |
| | | </ProDialog> |
| | | </template> |
| | | |
| | |
| | | import _ from 'lodash'; |
| | | import * as flexEnterpriseWokerServices from '@/services/api/FlexEnterpriseWoker'; |
| | | import { setOSSLink } from '@/utils'; |
| | | import { FlexTaskWorkerHireEnumText, FlexWorkerEleSignEnumText, Gender, GenderText } from '@/constants'; |
| | | import { |
| | | FlexTaskWorkerHireEnumText, |
| | | FlexWorkerEleSignEnumText, |
| | | Gender, |
| | | GenderText, |
| | | } from '@/constants'; |
| | | |
| | | defineOptions({ |
| | | name: 'CPersonDetailDialog', |
| | | }); |
| | | |
| | | type Props = { |
| | | modelValue: boolean; |
| | | form: { |
| | | tabType: string; |
| | | userId: string; |
| | | name: string; |
| | | idNumber: string; |
| | | contactPhone: string; |
| | | age: number; |
| | | genderType:Gender; |
| | | certificateFrontImgUrl: UploadUserFile[]; |
| | | certificateBackImgUrl: UploadUserFile[]; |
| | | }; |
| | | type Form = { |
| | | tabType: string; |
| | | userId: string; |
| | | name: string; |
| | | idNumber: string; |
| | | contactPhone: string; |
| | | age: number; |
| | | genderType: Gender; |
| | | certificateFrontImgUrl: UploadUserFile[]; |
| | | certificateBackImgUrl: UploadUserFile[]; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | modelValue: false, |
| | | }); |
| | | const form = defineModel<Form>('form'); |
| | | const visible = defineModel<boolean>('visible'); |
| | | |
| | | const emit = defineEmits<{ |
| | | (e: 'update:modelValue', value: boolean): void; |
| | | (e: 'update:form', value: Props['form']): void; |
| | | (e: 'onCancel'): void; |
| | | }>(); |
| | | |
| | |
| | | }, |
| | | ]; |
| | | |
| | | const innerVisible = computed({ |
| | | get() { |
| | | return props.modelValue; |
| | | }, |
| | | set(val) { |
| | | emit('update:modelValue', val); |
| | | }, |
| | | }); |
| | | const innerForm = computed({ |
| | | get() { |
| | | return props.form; |
| | | }, |
| | | set(val) { |
| | | emit('update:form', val); |
| | | }, |
| | | }); |
| | | |
| | | watch( |
| | | () => innerVisible.value, |
| | | () => visible.value, |
| | | (val) => { |
| | | if (val) { |
| | | getList(); |
| | |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | userId: props.form.userId, |
| | | userId: form.value.userId, |
| | | }; |
| | | let res = await flexEnterpriseWokerServices.getUserClientSignList(params); |
| | | return res; |