|
|
@@ -3,7 +3,7 @@
|
|
|
<UserInfoCard
|
|
|
v-if="personalBusinessCardInfo"
|
|
|
v-model="personalBusinessCardInfo"
|
|
|
- :disabled="disabled"
|
|
|
+ :disabled="identityLocked"
|
|
|
:gender-columns="genderColumns"
|
|
|
:degree-columns="degreeColumns"
|
|
|
:major-columns="majorColumns"
|
|
|
@@ -14,7 +14,7 @@
|
|
|
<ProfessionalSkillCard
|
|
|
v-if="personalBusinessCardInfo"
|
|
|
v-model="personalBusinessCardInfo"
|
|
|
- :disabled="disabled"
|
|
|
+ :disabled="currentUserInfo?.faceAuthStatus ?? false"
|
|
|
/>
|
|
|
|
|
|
<view v-if="personalBusinessCardInfo" class="save-section">
|
|
|
@@ -55,6 +55,13 @@ const userStore = useUserStore()
|
|
|
const currentUserInfo = computed(() => userStore.currentUserInfo)
|
|
|
|
|
|
const personalBusinessCardInfo = ref<PersonalBusinessCardResponse>()
|
|
|
+const originalIdentity =
|
|
|
+ ref<Pick<PersonalBusinessCardResponse, 'realname' | 'idCardNumber' | 'gender'>>()
|
|
|
+const identityLocked = computed(
|
|
|
+ () =>
|
|
|
+ currentUserInfo.value?.faceAuthStatus === true ||
|
|
|
+ personalBusinessCardInfo.value?.isLivenessAuth === 1
|
|
|
+)
|
|
|
|
|
|
const genderColumns = ref<DictItem[]>([])
|
|
|
const degreeColumns = ref<DictItem[]>([])
|
|
|
@@ -64,10 +71,7 @@ onLoad(() => {
|
|
|
initPage()
|
|
|
})
|
|
|
|
|
|
-const disabled = ref(false)
|
|
|
-
|
|
|
async function initPage() {
|
|
|
- disabled.value = currentUserInfo.value?.faceAuthStatus ?? false
|
|
|
await Promise.all([getDict(), getPersonalBusinessCardInfo()])
|
|
|
}
|
|
|
|
|
|
@@ -79,6 +83,12 @@ async function getPersonalBusinessCardInfo() {
|
|
|
const res = await getPersonalBusinessCardApi(userId)
|
|
|
const data = res.data
|
|
|
|
|
|
+ originalIdentity.value = {
|
|
|
+ realname: data.realname,
|
|
|
+ idCardNumber: data.idCardNumber,
|
|
|
+ gender: data.gender,
|
|
|
+ }
|
|
|
+
|
|
|
personalBusinessCardInfo.value = {
|
|
|
...data,
|
|
|
qualificationsUrl: Array.isArray(data.qualificationsUrl) ? data.qualificationsUrl : [],
|
|
|
@@ -106,14 +116,15 @@ function buildSavePayload(): SavePersonalBusinessCardRequest | null {
|
|
|
if (!info) return null
|
|
|
|
|
|
const filingList = Array.isArray(info.filingList) ? info.filingList : []
|
|
|
+ const identity = identityLocked.value && originalIdentity.value ? originalIdentity.value : info
|
|
|
|
|
|
return {
|
|
|
degree: info.degree ?? null,
|
|
|
- gender: info.gender ?? null,
|
|
|
- idCardNumber: info.idCardNumber ?? null,
|
|
|
+ gender: identity.gender ?? null,
|
|
|
+ idCardNumber: identity.idCardNumber ?? null,
|
|
|
qualificationRecordNumber: info.qualificationRecordNumber ?? null,
|
|
|
qualificationsUrl: Array.isArray(info.qualificationsUrl) ? info.qualificationsUrl : [],
|
|
|
- realname: info.realname ?? null,
|
|
|
+ realname: identity.realname ?? null,
|
|
|
userId: info.userId,
|
|
|
majorCategory: normalizeValue(info.majorCategory),
|
|
|
province: info.province ?? '',
|