Browse Source

1、页面调整

2、用户详情页新增字段
master
梁欣 1 month ago
parent
commit
ecf190fa01
  1. 106
      src/api/index.js
  2. 4
      src/config/index.ts
  3. 4
      src/manifest.json
  4. 2
      src/pages.json
  5. 10
      src/pages/index/components/tab4.vue
  6. 6
      src/pages/index/index.vue
  7. 2
      src/pages/index/search.vue
  8. 2
      src/pages/index/signUpCenter.vue
  9. 6
      src/pages/match/match.vue
  10. 8
      src/pages/promote/promote.vue
  11. 2
      src/pages/promote/rate.vue
  12. 82
      src/pages/signUp/info.vue
  13. 88
      src/pages/signUp/self.vue
  14. 7
      src/pages/user/archive.vue
  15. 2
      src/pages/user/signIn.vue
  16. 115
      src/pages/user/userDetail.vue

106
src/api/index.js

@ -1,9 +1,9 @@
import Request from 'luch-request'
import { tenantId, apiUrl, appSecret } from '@/config'
import {tenantId, apiUrl, appSecret} from '@/config'
import {
getSign
getSign
} from '@/utils/util'
import {getUserInfo} from "@/utils/user";
import {clearUserInfo, getUserInfo} from "@/utils/user";
import {$toast} from "@/utils";
const http = new Request();
@ -14,76 +14,76 @@ const http = new Request();
* @param {Function}
*/
http.setConfig((config) => {
/* config 为默认全局配置*/
config.baseURL = apiUrl; /* 根域名 */
/* config 为默认全局配置*/
config.baseURL = apiUrl; /* 根域名 */
return config
return config
})
// 拦截器(请求之前拦截)
http.interceptors.request.use((config) => { // 可使用async await 做异步操作
const token = getUserInfo().token
config.header = {
...config.header,
tenantId
}
if(token){
config.header.Authorization = token
}
if (config.data) {
config.data.tenantId = tenantId
}
// console.log(config)
if (!token) {
// 如果token不存在,需要加签
config.params.tenantId = tenantId
config.params.sign = getSign(config.params,appSecret);
}else {
}
/**
/*
if (!token) { // 如果token不存在,return Promise.reject(config) 会取消本次请求
return Promise.reject(config)
}
**/
return config
const token = getUserInfo().token
config.header = {
...config.header,
tenantId
}
if (config.data) {
config.data.tenantId = tenantId
}
if (!token) {
// 如果token不存在,需要加签
config.params.tenantId = tenantId
config.params.sign = getSign(config.params, appSecret);
}
if (config.url !== '/login') {
if (token) {
config.header.Authorization = token
}
}
uni.showLoading({title: '数据加载中'})
/**
/*
if (!token) { // 如果token不存在,return Promise.reject(config) 会取消本次请求
return Promise.reject(config)
}
**/
return config
}, config => { // 可使用async await 做异步操作
return Promise.reject(config)
return Promise.reject(config)
})
// 拦截器(请求之后拦截)
http.interceptors.response.use((response) => {
/* 对响应成功做点什么 可使用async await 做异步操作*/
// if (response.data.code !== 200) { // 服务端返回的状态码不等于200,则reject()
// return Promise.reject(response) // return Promise.reject 可使promise状态进入catch
// if (response.config.custom.verification) { // 演示自定义参数的作用
// return response.data
// }
/* 对响应成功做点什么 可使用async await 做异步操作*/
// if (response.data.code !== 200) { // 服务端返回的状态码不等于200,则reject()
// return Promise.reject(response) // return Promise.reject 可使promise状态进入catch
// if (response.config.custom.verification) { // 演示自定义参数的作用
// return response.data
// }
// token过期
if (response.data.code == 401) {
// token过期
if (response.data.code == 401) {
clearUserInfo()
$toast('请重新登录')
uni.redirectTo({url: '/pages/user/login'})
}
if (response.data.code === 1) {
}
if (response.data.code === 1) {
$toast(response.data.message)
return Promise.reject(response.data)
}
return response.data
return Promise.reject(response.data)
}
uni.hideLoading()
return response.data
}, (response) => {
/* 对响应错误做点什么 (statusCode !== 200)*/
return Promise.reject(response)
/* 对响应错误做点什么 (statusCode !== 200)*/
return Promise.reject(response)
})
export const post = (url, data) => {
return new Promise(resolve => {
console.log(data)
http.post(url, data).then(res => {
console.log(res)
return new Promise(resolve => {
http.post(url, data).then(res => {
resolve(res)
})
})
})
}
export default http

4
src/config/index.ts

@ -6,9 +6,9 @@ export const fileUrl = 'https://oss.wsdns.cn';
// 核心模块接口
// export const API_BASE_URL: string = 'http://127.0.0.1:9091/api';
// 主节点
export const SERVER_API_URL = 'https://server.gxwebsoft.com/api';
export const SERVER_API_URL = 'https://server-api.gjjd168.com/api';
// 模块接口地址
export const MODULES_API_URL = 'https://gjjd-api.shwhl.com/api';
export const MODULES_API_URL = 'https://api.gjjd168.com/api';
// export const MODULES_API_URL = 'http://127.0.0.1:9099/api';
// export const MODULES_API_URL = 'http://192.168.50.96:9099/api';

4
src/manifest.json

@ -3,8 +3,8 @@
"appid" : "__UNI__06C03D0",
//__UNI__06C03D0
"description" : "",
"versionName" : "2.2.2",
"versionCode" : "277",
"versionName" : "3.0.4",
"versionCode" : "282",
"transformPx" : false,
/* 5+App */
"app-plus" : {

2
src/pages.json

@ -246,7 +246,7 @@
"path": "pages/article/info",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "white"
"navigationBarTextStyle": "black"
}
},
{

10
src/pages/index/components/tab4.vue

@ -56,13 +56,13 @@
</view>
<view class="train-box">
<swiper class="swiper-train" indicator-active-color="#00a4ee" :indicator-dots="true"
:autoplay="true" next-margin="210rpx" circular="true">
:autoplay="true" circular="true">
<swiper-item v-for="(item, index) in newsList" :key="index" @click="$jump(`/pages/article/info?id=${item.articleId}`)">
<view class="train-item">
<view class="img">
<view class="flex flex-col justify-center items-center">
<!-- <view class="img">-->
<uv-image :src="item.image" radius="20rpx"
width="470rpx" height="280rpx"></uv-image>
</view>
width="700rpx" height="280rpx"></uv-image>
<!-- </view>-->
<view class="name">
<uv-text :text="item.title" size="28rpx" lineHeight="40rpx" :lines="1" align="center"
bold color="#000"></uv-text>

6
src/pages/index/index.vue

@ -2,7 +2,7 @@
<view class="container">
<uv-sticky bgColor="#fff" customNavHeight="0">
<view class="statusbar"></view>
<!-- <view class="layout-title">工匠基地</view>-->
<!-- <view class="layout-title">工匠基地</view>-->
<!-- 搜索区 -->
<view class="layout-search">
<uv-search placeholder="请输入搜索内容" :disabled="true" @click="$jump(`/pages/index/search`)"
@ -232,6 +232,10 @@ page {
overflow-x: hidden;
}
.container {
overflow-x: hidden;
}
.statusbar {
// position: fixed;
// left: 0;

2
src/pages/index/search.vue

@ -16,7 +16,7 @@
<text @click="$jump(`/pages/article/info?id=${item.articleId}`)" class="ml-20">{{ dayjs(item.publishTime ? item.publishTime : item.createTime).format('YYYY-MM-DD') }}</text>
<text @click="$jump(`/pages/article/info?id=${item.articleId}`)" class="ml-20 text-gray">{{ item.actualViews + item.virtualViews }} 浏览</text>
</view>
<view @click="$jump(`/pages/article/info?id=${item.articleId}`)" class="mt-20 text-25 text-black line-2" v-if="item.comments">{{ item.comments }}</view>
<uv-parse @click="$jump(`/pages/article/info?id=${item.articleId}`)" class="mt-20 text-25 text-black line-2" v-if="item.comments" :content="item.comments"></uv-parse>
<view class="mt-20">
<!-- <uv-album v-if="item.album" :urls="JSON.parse(item.album).map(file => file.url)" :round="15"-->
<!-- multipleSize="220rpx"/>-->

2
src/pages/index/signUpCenter.vue

@ -401,7 +401,7 @@ onMounted(() => {
.train-item {
width: 470rpx;
width: 700rpx;
height: auto;
.name {

6
src/pages/match/match.vue

@ -84,11 +84,11 @@
</view>
<view class="train-box">
<swiper class="swiper-train" indicator-active-color="#00a4ee" :indicator-dots="true" :autoplay="true"
next-margin="210rpx" circular="true">
circular="true">
<swiper-item v-for="(item,index) in matchArticleList" :key="index">
<view class="train-item">
<view class="flex flex-col justify-center items-center">
<view class="img">
<uv-image :src="item.album[0]" radius="20rpx" width="470rpx" height="280rpx"></uv-image>
<uv-image :src="item.album[0]" radius="20rpx" width="700rpx" height="320rpx"></uv-image>
</view>
<view class="name">
<uv-text :text="item.title" size="28rpx" lineHeight="40rpx" :lines="1" align="center"

8
src/pages/promote/promote.vue

@ -188,13 +188,13 @@
</view>
<view class="train-box" v-if="trainList.length">
<swiper class="swiper-train" indicator-active-color="#00a4ee" :indicator-dots="true" :autoplay="true"
next-margin="210rpx" circular="true">
circular="true">
<swiper-item v-for="(item,index) in trainList" :key="index"
@click="toCourse(item)">
<view class="train-item" v-if="item.cover">
<view class="flex flex-col justify-center items-center" v-if="item.cover">
<view class="img">
<uv-image :src="item.cover" radius="20rpx" width="470rpx"
height="280rpx"></uv-image>
<uv-image :src="item.cover" radius="20rpx" width="700rpx"
height="320rpx"></uv-image>
</view>
<view class="name">
<uv-text :text="item.title" size="28rpx" lineHeight="40rpx" :lines="1"

2
src/pages/promote/rate.vue

@ -142,7 +142,7 @@ page {
.th {
//width: 25%;
height: 60rpx;
//height: 60rpx;
font-size: 24rpx;
//font-weight: 600;
line-height: 60rpx;

82
src/pages/signUp/info.vue

@ -99,6 +99,29 @@
<text class="text-red">*</text>
</template>
</uv-cell>
<!-- <template v-if="!userInfo.token">-->
<!-- <view class="flex flex-col justify-center items-center">-->
<!-- <view class="mt-30 pb-20 border-bottom-light flex justify-between items-center w-100p pos-r">-->
<!-- <text class="text-25 mr-25">验证码</text>-->
<!-- <view class="flex justify-between items-center">-->
<!-- <view class="flex-1">-->
<!-- <uv-input border="none" placeholder="请输入验证码" v-model="code" custom-class="w-100p"/>-->
<!-- </view>-->
<!-- <uv-button :disabled="!form.phone || countDown < 60" size="mini" @click="getCode" type="primary">-->
<!-- {{-->
<!-- smsTips-->
<!-- }}-->
<!-- </uv-button>-->
<!-- </view>-->
<!-- </view>-->
<!-- <view class="text-25 my-15 text-gray">请先上传身份证读取身份证号再输入手机号获取验证码验证身份-->
<!-- </view>-->
<!-- <uv-button :disabled="!code" type="primary" shape="circle" style="width: 100%" size="mini"-->
<!-- @click.native="asyncInfo">-->
<!-- 同步信息-->
<!-- </uv-button>-->
<!-- </view>-->
<!-- </template>-->
<uv-cell title="公司名称" :value="form.companyName ?? '点击选择公司'" is-link
@click="openCompanyPicker">
<template #icon>
@ -458,7 +481,7 @@ import {onLoad} from "@dcloudio/uni-app";
import {$toast, chooseImg} from "@/utils";
import {signUpInfoReq, signUpJoinReq, signUpSelfContractFixReq, signUpUpdateReq} from "@/api/signUp";
import {getUserInfo} from "@/utils/user";
import {dictDataReq, orgListReq, workTypeListReq} from "@/api/common";
import {checkCodeReq, userInfoByIdCardPhoneReq, getCodeReq, orgListReq, workTypeListReq} from "@/api/common";
import {userInfoByIdCardReq, userInfoMakeBackIdCardReq, userInfoReq} from "@/api/user";
import dayjs from "dayjs";
import {dictionaryPage, getDictionaryOptions} from "@/api/dict";
@ -492,7 +515,64 @@ const getInfo = async (id) => {
const hasWorkTypePaper = ref(true)
const smsTips = ref('获取验证码')
const countDown = ref(60)
const code = ref('')
const getCode = async () => {
if (!form.value.phone) return $toast('请输入手机号')
const res = await getCodeReq({phone: form.value.phone}).catch(err => {
return false
})
if (res) {
$toast('验证码已发送')
doCountDown()
}
}
const asyncInfo = async() => {
if (!form.value.phone) return $toast('请输入手机号')
if (!code.value) return $toast('请输入验证码')
if (!form.value.idCardNumber) return $toast('请输入身份证号')
const checkCodeRes = await checkCodeReq({
phone: form.value.phone,
code: code.value
})
if (checkCodeRes) {
const res = await userInfoByIdCardPhoneReq({
phone: form.value.phone,
idCard: form.value.idCardNumber
})
if (res && res.data) {
for (const key in form.value) {
form.value[key] = res.data[key]
}
if (res.data.company) form.value.companyName = res.data.company
if (res.data.outSchoolDate) form.value.graduateDate = res.data.outSchoolDate
if (res.data.companyPark) form.value.industrialPark = res.data.companyPark
if (res.data.headPhoto) form.value.idCardHeader = res.data.headPhoto
if (res.data.headPhoto2) form.value.idCardHeader2 = res.data.headPhoto2
} else {
$toast('暂无信息')
}
} else {
$toast('验证码错误')
}
}
const doCountDown = () => {
if (countDown.value > 0) {
smsTips.value = `${countDown.value}秒后重试`
countDown.value--
setTimeout(doCountDown, 1000)
} else {
smsTips.value = '获取验证码'
countDown.value = 60
}
}
const userInfo = getUserInfo()
const form = ref({
id: null,
signUpId: null,

88
src/pages/signUp/self.vue

@ -120,6 +120,29 @@
<text class="text-red">*</text>
</template>
</uv-cell>
<!-- <template v-if="!userInfo.token">-->
<!-- <view class="flex flex-col justify-center items-center">-->
<!-- <view class="mt-30 pb-20 border-bottom-light flex justify-between items-center w-100p pos-r">-->
<!-- <text class="text-25 mr-25">验证码</text>-->
<!-- <view class="flex justify-between items-center">-->
<!-- <view class="flex-1">-->
<!-- <uv-input border="none" placeholder="请输入验证码" v-model="code" custom-class="w-100p"/>-->
<!-- </view>-->
<!-- <uv-button :disabled="!form.phone || countDown < 60" size="mini" @click="getCode" type="primary">-->
<!-- {{-->
<!-- smsTips-->
<!-- }}-->
<!-- </uv-button>-->
<!-- </view>-->
<!-- </view>-->
<!-- <view class="text-25 my-15 text-gray">请先上传身份证读取身份证号再输入手机号获取验证码验证身份-->
<!-- </view>-->
<!-- <uv-button :disabled="!code" type="primary" shape="circle" style="width: 100%" size="mini"-->
<!-- @click.native="asyncInfo">-->
<!-- 同步信息-->
<!-- </uv-button>-->
<!-- </view>-->
<!-- </template>-->
<uv-cell title="公司名称" :value="form.companyName ?? '点击选择公司'" is-link
@click="openCompanyPicker">
<template #icon>
@ -493,7 +516,14 @@ import {
signUpUpdateReq
} from "@/api/signUp";
import {getUserInfo} from "@/utils/user";
import {dictDataReq, orgListReq, workTypeListReq, workTypePositionListReq} from "@/api/common";
import {
checkCodeReq,
dictDataReq,
getCodeReq,
orgListReq, userInfoByIdCardPhoneReq,
workTypeListReq,
workTypePositionListReq
} from "@/api/common";
import {userInfoByIdCardReq, userInfoMakeBackIdCardReq, userInfoReq} from "@/api/user";
import dayjs from "dayjs";
import {dictionaryPage, getDictionaryOptions} from "@/api/dict";
@ -526,6 +556,62 @@ const getInfo = async (id) => {
}
}
const smsTips = ref('获取验证码')
const countDown = ref(60)
const code = ref('')
const getCode = async () => {
if (!form.value.phone) return $toast('请输入手机号')
const res = await getCodeReq({phone: form.value.phone}).catch(err => {
return false
})
if (res) {
$toast('验证码已发送')
doCountDown()
}
}
const asyncInfo = async() => {
if (!form.value.phone) return $toast('请输入手机号')
if (!code.value) return $toast('请输入验证码')
if (!form.value.idCardNumber) return $toast('请输入身份证号')
const checkCodeRes = await checkCodeReq({
phone: form.value.phone,
code: code.value
})
if (checkCodeRes) {
const res = await userInfoByIdCardPhoneReq({
phone: form.value.phone,
idCard: form.value.idCardNumber
})
if (res && res.data) {
for (const key in form.value) {
form.value[key] = res.data[key]
}
if (res.data.company) form.value.companyName = res.data.company
if (res.data.outSchoolDate) form.value.graduateDate = res.data.outSchoolDate
if (res.data.companyPark) form.value.industrialPark = res.data.companyPark
if (res.data.headPhoto) form.value.idCardHeader = res.data.headPhoto
if (res.data.headPhoto2) form.value.idCardHeader2 = res.data.headPhoto2
} else {
$toast('暂无信息')
}
} else {
$toast('验证码错误')
}
}
const doCountDown = () => {
if (countDown.value > 0) {
smsTips.value = `${countDown.value}秒后重试`
countDown.value--
setTimeout(doCountDown, 1000)
} else {
smsTips.value = '获取验证码'
countDown.value = 60
}
}
const hasWorkTypePaper = ref(true)
const userInfo = getUserInfo()

7
src/pages/user/archive.vue

@ -128,9 +128,9 @@
</view>
</template>
<template v-else-if="current === 3">
<view class="flex justify-start items-center bg-white p-20 my-20" v-for="(item, index) in list" :key="index">
<uv-image :src="item.url" height="150rpx" mode="heightFix" @click="handPreviewImage(item)"/>
<view class="flex ml-20 flex-col justify-start items-start">
<view class="flex flex-col justify-start items-center bg-white p-20 my-20" v-for="(item, index) in list" :key="index">
<uv-image :src="item.url" width="100%" @click="handPreviewImage(item)"/>
<view class="flex flex-col justify-start items-start">
<text>{{ item.title }}</text>
<text class="my-20 text-25 text-gray">获得时间: {{
dayjs(item.createTime).format('YYYY-MM-DD HH:mm:ss')
@ -157,6 +157,7 @@ import {trainUserPaperListReq} from "@/api/user";
const current = ref(0)
const activeTabList = [{name: '培训记录'}, {name: '竞赛记录'}, {name: '考试记录'}, {name: '申报记录'}]
const changeTab = ({index}) => {
list.value = []
current.value = index
if (current.value === 0) getTrainList()
else if (current.value === 1) getMatchList()

2
src/pages/user/signIn.vue

@ -130,8 +130,6 @@
<script>
import HeaderItem from "@/components/HeaderItem.vue";
import {MAIN_BTN_STYLE, SUCCESS_BTN_STYLE} from "@/config/color";
import {loginReq} from "@/api/login";
import {clearUserInfo, setUserInfo} from "@/utils/user";
import {$toast} from "@/utils";
import {areaListReq, checkCodeReq, getCodeReq, regReq, userInfoByIdCardPhoneReq} from "@/api/common";
import * as COLORS from "@/config/color";

115
src/pages/user/userDetail.vue

@ -20,6 +20,15 @@
</view>
</template>
</uv-form-item>
<uv-form-item label="身份证反面" borderBottom required>
<template v-slot:right>
<view class="flex justify-end items-center">
<text class="mr-10">{{ formData.idCardBack ? '已上传' : '' }}</text>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadIdCardBack" size="small"></uv-button>
</view>
</template>
</uv-form-item>
<uv-form-item label="身份证号" borderBottom required>
<uv-input input-align="right" v-model="formData.idCard" readonly border="none">
</uv-input>
@ -33,6 +42,15 @@
</view>
</template>
</uv-form-item>
<uv-form-item label="小两寸白底证件照" borderBottom required>
<template v-slot:right>
<view class="flex justify-end items-center">
<text class="mr-10">{{ formData.headPhoto2 ? '已上传' : '' }}</text>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadHeadPhoto2" size="small"></uv-button>
</view>
</template>
</uv-form-item>
<uv-form-item label="公司名称" borderBottom required @click="openCompany">
<uv-input input-align="right" v-model="formData.company" readonly border="none"
placeholder="点击选择">
@ -122,6 +140,16 @@
placeholder="请输入毕业证编号">
</uv-input>
</uv-form-item>
<uv-form-item label="毕业证" borderBottom required
v-if="!['小学', '初中', '普通高中'].includes(formData.education)">
<template v-slot:right>
<view class="flex justify-end items-center">
<text class="mr-10">{{ formData.schoolPaper ? '已上传' : '' }}</text>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadSchoolPaper" size="small"></uv-button>
</view>
</template>
</uv-form-item>
<uv-form-item label="参加工作时间" borderBottom required @click="openWorkTime">
<uv-input input-align="right" v-model="formData.workTime" readonly border="none"
placeholder="点击选择">
@ -138,6 +166,14 @@
<uv-icon name="arrow-right"></uv-icon>
</template>
</uv-form-item>
<uv-form-item label="户口性质" borderBottom required @click="openHouseType">
<uv-input input-align="right" v-model="formData.houseType" readonly border="none"
placeholder="点击选择">
</uv-input>
<template v-slot:right>
<uv-icon name="arrow-right"></uv-icon>
</template>
</uv-form-item>
<uv-form-item label="入职时间" borderBottom required @click="openInCompanyTime">
<uv-input input-align="right" v-model="formData.inCompanyTime" readonly border="none"
placeholder="点击选择">
@ -162,6 +198,42 @@
<uv-icon name="arrow-right"></uv-icon>
</template>
</uv-form-item>
<uv-form-item label="劳动合同第一页" borderBottom>
<template v-slot:right>
<view class="flex justify-end items-center">
<text class="mr-10">{{ formData.contactFirstPage ? '已上传' : '' }}</text>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadPaper('contactFirstPage')" size="small"></uv-button>
</view>
</template>
</uv-form-item>
<uv-form-item label="劳动合同期限页" borderBottom>
<template v-slot:right>
<view class="flex justify-end items-center">
<text class="mr-10">{{ formData.contactExpirePage ? '已上传' : '' }}</text>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadPaper('contactExpirePage')" size="small"></uv-button>
</view>
</template>
</uv-form-item>
<uv-form-item label="劳动合同盖章页三页" borderBottom>
<template v-slot:right>
<view class="flex justify-end items-center">
<text class="mr-10">{{ formData.contactSignPage ? '已上传' : '' }}</text>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadPaper('contactSignPage')" size="small"></uv-button>
</view>
</template>
</uv-form-item>
<uv-form-item label="社保证明" borderBottom>
<template v-slot:right>
<view class="flex justify-end items-center">
<text class="mr-10">{{ formData.socialSecurity ? '已上传' : '' }}</text>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadPaper('socialSecurity')" size="small"></uv-button>
</view>
</template>
</uv-form-item>
<uv-form-item label="申报工种" borderBottom @click="openRequestWorkTypePicker">
<uv-input input-align="right" v-model="formData.requestWorkTypeName" readonly border="none"
placeholder="点击选择">
@ -211,6 +283,13 @@
@click="uploadJobTitlePaper" size="small"></uv-button>
</template>
</uv-form-item>
<uv-form-item label="等级证书(有就上传)" borderBottom>
<text>{{ formData.workTypePaper ? '已上传' : '' }}</text>
<template v-slot:right>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadWorkTypePaper" size="small"></uv-button>
</template>
</uv-form-item>
<uv-form-item label="中华技能大奖(有就上传)" borderBottom>
<text>{{ formData.chineseSkill ? '已上传' : '' }}</text>
<template v-slot:right>
@ -317,7 +396,7 @@
<script setup>
import {ref} from 'vue'
import {updateUserDetailReq, userDetailReq, userInfoByIdCardReq} from "@/api/user";
import {updateUserDetailReq, userDetailReq, userInfoByIdCardReq, userInfoMakeBackIdCardReq} from "@/api/user";
import {onLoad, onShow} from "@dcloudio/uni-app";
import {$toast, chooseImg} from "@/utils";
import {toast} from "@/uni_modules/uv-ui-tools/libs/function";
@ -332,6 +411,7 @@ const formData = ref({
realname: '',
idCard: '',
idCardFront: '',
idCardBack: '',
company: '',
companyCode: '',
companyAddress: '',
@ -339,6 +419,7 @@ const formData = ref({
companyPark: '',
phone: '',
headPhoto: '',
headPhoto2: '',
position: '',
education: '',
major: '',
@ -353,6 +434,7 @@ const formData = ref({
workContractStartTime: '',
workContractEndTime: '',
jobTitlePaper: '',
workTypePaper: '',
jobIntention: '',
houseType: '',
personSupplementary: '',
@ -378,6 +460,11 @@ const formData = ref({
peopleTypeInOrg: '',
aisle: '',
positionInOrg: '',
schoolPaper: '',
contactFirstPage: '',
contactExpirePage: '',
contactSignPage: '',
socialSecurity: '',
})
const graduateDate = ref(dayjs().subtract(5, 'year').valueOf())
@ -607,11 +694,26 @@ const confirmOutSchoolDate = ({value}) => {
formData.value.outSchoolDate = dayjs(value).format('YYYY-MM-DD')
}
const uploadSchoolPaper = async () => {
const res = await chooseImg(1)
formData.value.schoolPaper = res[0]
}
const uploadPaper = async (field) => {
const res = await chooseImg(1)
formData.value[field] = res[0]
}
const uploadJobTitlePaper = async () => {
const res = await chooseImg(1)
formData.value.jobTitlePaper = res[0]
}
const uploadWorkTypePaper = async () => {
const res = await chooseImg(1)
formData.value.workTypePaper = res[0]
}
const uploadChineseSkill = async () => {
const res = await chooseImg(1)
formData.value.chineseSkill = res[0]
@ -662,6 +764,11 @@ const uploadHeadPhoto = async () => {
formData.value.headPhoto = res[0]
}
const uploadHeadPhoto2 = async () => {
const res = await chooseImg(1)
formData.value.headPhoto2 = res[0]
}
const disabled = ref(false)
const submit = async () => {
@ -730,6 +837,7 @@ const submit = async () => {
return
}
disabled.value = true
formData.value.hasSetData = 1
const res = await updateUserDetailReq(formData.value)
disabled.value = false
if (res) {
@ -798,6 +906,11 @@ const uploadIdCardFront = async () => {
}
}
const uploadIdCardBack = async () => {
const res = await chooseImg(1)
formData.value.idCardBack = res[0]
}
onLoad(() => {
if (uni.getSystemInfoSync().osName === 'android') {
const checkAuth = uni.getAppAuthorizeSetting()

Loading…
Cancel
Save