|
|
@ -13,7 +13,7 @@ |
|
|
|
<dForm ref="formRef" :list="state.list" labelWidth="220rpx" :isFooter="false" @input="onFormInput"></dForm> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="license__view" v-if="form.license"> |
|
|
|
<view class="license__view" v-if="form.isHave"> |
|
|
|
<view class="license"> |
|
|
|
<up-checkbox-group |
|
|
|
v-model="licenseData.selected" |
|
|
@ -75,11 +75,11 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script setup> |
|
|
|
import { ref, reactive } from "vue"; |
|
|
|
import { onShow } from '@dcloudio/uni-app' |
|
|
|
import { ref, reactive, computed } from "vue"; |
|
|
|
import { onLoad } from '@dcloudio/uni-app' |
|
|
|
import { ossUpload } from '@/utils/oss-upload/oss/index.js' |
|
|
|
import { getLicenseList, getPetTypeList } from '@/api/examination' |
|
|
|
import { insertUser } from '@/api/userTeacher' |
|
|
|
import { insertUser, udpateUser, getUserOne } from '@/api/userTeacher' |
|
|
|
import { store } from '@/store' |
|
|
|
|
|
|
|
import dForm from "@/components/dForm/index.vue" |
|
|
@ -87,6 +87,12 @@ |
|
|
|
|
|
|
|
const configList = store.state.system.configList |
|
|
|
|
|
|
|
const userId = computed(() => { |
|
|
|
return store.state.user.userInfo.userId |
|
|
|
}) |
|
|
|
|
|
|
|
const id = ref(null) |
|
|
|
|
|
|
|
const state = reactive({ |
|
|
|
list: [{ |
|
|
|
type: "input", |
|
|
@ -120,6 +126,12 @@ |
|
|
|
key: "age", |
|
|
|
placeholder: "请输入您的年龄", |
|
|
|
}, |
|
|
|
{ |
|
|
|
type: "input", |
|
|
|
label: "手机号", |
|
|
|
key: "phone", |
|
|
|
placeholder: "请输入您的手机号", |
|
|
|
}, |
|
|
|
{ |
|
|
|
type: "input", |
|
|
|
label: "养宠经验", |
|
|
@ -130,7 +142,7 @@ |
|
|
|
{ |
|
|
|
type: "radio", |
|
|
|
label: "是否有专业执照", |
|
|
|
key: "license", |
|
|
|
key: "isHave", |
|
|
|
placeholder: "请选择", |
|
|
|
options: [{ |
|
|
|
name: "是", |
|
|
@ -149,6 +161,66 @@ |
|
|
|
form.value = e |
|
|
|
} |
|
|
|
|
|
|
|
const fetchUserInfo = async () => { |
|
|
|
try { |
|
|
|
const { userTelephone } = store.state.user.userInfo |
|
|
|
|
|
|
|
const data = await getUserOne(userId.value) |
|
|
|
|
|
|
|
if (data) { |
|
|
|
const { |
|
|
|
id: _id, |
|
|
|
status, |
|
|
|
name, |
|
|
|
idCard, |
|
|
|
sex, |
|
|
|
age, |
|
|
|
phone, |
|
|
|
experience, |
|
|
|
isHave, |
|
|
|
license, |
|
|
|
images, |
|
|
|
petType: _petType, |
|
|
|
} = data |
|
|
|
|
|
|
|
if ([1,2].includes(status)) { // status: 0-审核中 1-通过 2-不通过 |
|
|
|
uni.navigateTo({ |
|
|
|
url: `/otherPages/authentication/examination/trainCompleted/index?status=${status}` |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
id.value = _id |
|
|
|
|
|
|
|
formRef.value.setData({ |
|
|
|
name, |
|
|
|
idCard, |
|
|
|
sex, |
|
|
|
age, |
|
|
|
phone: phone || userTelephone, |
|
|
|
experience, |
|
|
|
isHave, |
|
|
|
}) |
|
|
|
|
|
|
|
licenseData.selected = license?.split?.(';').map(str => parseInt(str)) || [] |
|
|
|
licenseData.fileList = images?.split?.(';').map(url => ({ url })) || [] |
|
|
|
|
|
|
|
petType.value = _petType |
|
|
|
} else { |
|
|
|
formRef.value.setData({ |
|
|
|
phone: userTelephone, |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
fetchPetTypeOptions() |
|
|
|
fetchLicenseOptions() |
|
|
|
|
|
|
|
} catch (err) { |
|
|
|
console.log('--err', err) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const licenseData = reactive({ |
|
|
|
selected: [], |
|
|
|
fileList: [] |
|
|
@ -195,27 +267,36 @@ |
|
|
|
idCard, |
|
|
|
sex, |
|
|
|
age, |
|
|
|
phone, |
|
|
|
experience, |
|
|
|
license, |
|
|
|
isHave, |
|
|
|
} = form.value |
|
|
|
|
|
|
|
const data = { |
|
|
|
userId: userId.value, |
|
|
|
name, |
|
|
|
idCard, |
|
|
|
sex, |
|
|
|
age, |
|
|
|
phone, |
|
|
|
experience, |
|
|
|
isHave, |
|
|
|
petType: petType.value, |
|
|
|
} |
|
|
|
|
|
|
|
if (license) { |
|
|
|
if (isHave) { |
|
|
|
const { selected, fileList } = licenseData |
|
|
|
|
|
|
|
data.license = selected.join(';') |
|
|
|
data.images = fileList.join(';') |
|
|
|
data.images = fileList.map(item => item.url).join(';') |
|
|
|
} |
|
|
|
|
|
|
|
await insertUser(data) |
|
|
|
if (id.value) { |
|
|
|
data.id = id.value |
|
|
|
await udpateUser(data) |
|
|
|
} else { |
|
|
|
await insertUser(data) |
|
|
|
} |
|
|
|
|
|
|
|
uni.setStorageSync('petTypeData', petTypeOptions.value.find(item => item.id === petType.value)) |
|
|
|
|
|
|
@ -227,9 +308,10 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
onShow(() => { |
|
|
|
fetchPetTypeOptions() |
|
|
|
fetchLicenseOptions() |
|
|
|
|
|
|
|
|
|
|
|
onLoad(() => { |
|
|
|
fetchUserInfo() |
|
|
|
}) |
|
|
|
</script> |
|
|
|
|
|
|
|