更新

parent ad76916e
{
"recommendations": ["Vue.volar", "stylelint.vscode-stylelint"]
}
{
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.stylelint": "explicit"
},
"stylelint.enable": true,
"stylelint.validate": ["css", "less", "postcss", "scss", "vue", "sass", "html"],
"files.eol": "\n",
"typescript.tsdk": "node_modules/typescript/lib",
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[less]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
......@@ -22,13 +22,16 @@
"@dcloudio/uni-mp-weixin": "3.0.0-4000720240327002",
"@dcloudio/uni-mp-xhs": "3.0.0-4000720240327002",
"@dcloudio/uni-quickapp-webview": "3.0.0-4000720240327002",
"@vant/area-data": "^2.0.0",
"axios": "^1.7.2",
"dayjs": "^1.11.12",
"lodash": "^4.17.21",
"pinia": "2.0.36",
"vconsole": "^3.15.1",
"vue": "^3.3.11",
"vue-i18n": "^9.1.9",
"wot-design-uni": "^1.3.12"
"wot-design-uni": "^1.3.12",
"xinhua-sdk": "^1.8.0"
},
"devDependencies": {
"@dcloudio/types": "^3.3.2",
......@@ -4694,6 +4697,11 @@
"dev": true,
"peer": true
},
"node_modules/@vant/area-data": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/@vant/area-data/-/area-data-2.0.0.tgz",
"integrity": "sha512-zgP4AA8z09S9QTNgVCCHo9cHjcybrv22RJDYPjuCkecn4SB98T5EoPQh2TwqbQXmUhbaOGgiZGy3OUaUxnY7qg=="
},
"node_modules/@vitejs/plugin-legacy": {
"version": "4.1.1",
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-4.1.1.tgz",
......@@ -6228,6 +6236,17 @@
"dev": true,
"license": "MIT"
},
"node_modules/copy-text-to-clipboard": {
"version": "3.2.0",
"resolved": "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz",
"integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/core-js": {
"version": "3.37.1",
"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.37.1.tgz",
......@@ -11064,6 +11083,11 @@
"dev": true,
"license": "MIT"
},
"node_modules/mutation-observer": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz",
"integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
},
"node_modules/mute-stream": {
"version": "0.0.8",
"resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.8.tgz",
......@@ -14312,6 +14336,17 @@
"node": ">= 0.8"
}
},
"node_modules/vconsole": {
"version": "3.15.1",
"resolved": "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz",
"integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==",
"dependencies": {
"@babel/runtime": "^7.17.2",
"copy-text-to-clipboard": "^3.0.1",
"core-js": "^3.11.0",
"mutation-observer": "^1.0.3"
}
},
"node_modules/vite": {
"version": "4.3.5",
"resolved": "https://registry.npmmirror.com/vite/-/vite-4.3.5.tgz",
......@@ -14740,11 +14775,9 @@
}
},
"node_modules/xinhua-sdk": {
"version": "1.6.0",
"resolved": "https://registry.npmmirror.com/xinhua-sdk/-/xinhua-sdk-1.6.0.tgz",
"integrity": "sha512-N30rTu91PZjUvPeNj46Z2CS5QvjRPe1ckyTFejj2Md5ZEIcpd7ldCOlmgGJiP+0n3gYjzFQWd6YubXMWI5rFkA==",
"dev": true,
"license": "ISC"
"version": "1.9.6",
"resolved": "https://registry.npmmirror.com/xinhua-sdk/-/xinhua-sdk-1.9.6.tgz",
"integrity": "sha512-Q+OBXlqyB5uMYO0fVNq767SpFMZiu19bi/mL19W+aAFPfSj22aOE0bzngT/eG4DffcASozv+qddjikrr0z+Dgg=="
},
"node_modules/xml-name-validator": {
"version": "3.0.0",
......
......@@ -22,6 +22,7 @@
"@dcloudio/uni-mp-weixin": "3.0.0-4000720240327002",
"@dcloudio/uni-mp-xhs": "3.0.0-4000720240327002",
"@dcloudio/uni-quickapp-webview": "3.0.0-4000720240327002",
"@vant/area-data": "^2.0.0",
"axios": "^1.7.2",
"dayjs": "^1.11.12",
"lodash": "^4.17.21",
......
import instance from "@/utils/request";
// 获取职位列表
export const getjobListApi = params => instance.post("/job/getPageList", params);
export const getjobListApi = params => instance.post("/c/position/page", params);
// 获取职位详情
export const getJobDetailApi = id => instance.post(`/job/detail/${id}`);
// 投递简历
export const submitResumeApi = id => instance.post(`/job/application/${id}`);
export const submitResumeApi = id => instance.post(`/application/delivery/${id}`);
// 获取投递
export const getSubmitResumeApi = id => instance.post(`/job/getApplication/${id}`);
// 获取职位详情
......
import instance from "@/utils/request";
// 测试登录
export const testLogin = params => instance.post("/user/appUser/smsLogin", params);
export const getSmsCode = params => instance.postForm("/personal/user/getSmsCode", params);
export const testLogin = params => instance.post("/user/smsLogin", params);
export const getSmsCode = params => instance.postForm("/user/getSmsCode", params);
// 新华登录
export const xinhuaMpLogin = params => instance.post("/user/appUser/xinhua/mpLogin", params);
// 获取用户简历
export const getUserResumeApi = () => instance.post("/personal/user/resume/get");
export const getUserResumeApi = () => instance.post("/user/resume/info");
// 获取等用户信息
export const getLoginUserApi = () => instance.post("/personal/user/getLoginUser");
export const getLoginUserApi = () => instance.post("/c/user/getLoginUser");
// 保存个人优势
export const saveAdvantageApi = params => instance.post("/personal/user/resume/saveAdvantage", params);
export const saveAdvantageApi = params => instance.post("/user/resume/saveAdvantage", params);
// 保存用户求职状态
export const saveJobStatusApi = params => instance.post("/personal/user/resume/saveJobStatus", params);
export const saveJobStatusApi = params => instance.post("/user/resume/saveJobStatus", params);
// 保存用户基本信息
export const saveUserInfoApi = params => instance.post("/personal/user/save", params);
export const saveUserInfoApi = params => instance.post("/c/user/save", params);
// 保存身份证信息
export const saveIdCardApi = params => instance.post("/personal/user/saveIdCard", params);
// 保存求职意向
export const saveJobIntentionApi = params => instance.post("/personal/user/resume/saveJobIntention", params);
export const saveJobIntentionApi = params => instance.post("/user/resume/saveJobIntention", params);
// 保存工作经历
export const saveWorkExperienceApi = params => instance.post("/personal/user/resume/saveWorkExperience", params);
export const saveWorkExperienceApi = params => instance.post("/user/resume/saveWorkExperience", params);
// 保存教育经历
export const saveEducationExperienceApi = params => instance.post("/personal/user/resume/saveEducationExperience", params);
export const saveEducationExperienceApi = params => instance.post("/user/resume/saveEducationExperience", params);
// 获取投递列表
export const getApplicationListApi = params => instance.post("/job/getApplicationList", params);
// 获取面试列表
......
// 可以将此代码放置于项目src/hooks/useColPickerData.ts中
import { useCascaderAreaData } from '@vant/area-data'
export type CascaderOption = {
text: string
value: string
children?: CascaderOption[]
}
/**
* 使用'@vant/area-data'作为数据源,构造ColPicker组件的数据
* @returns
*/
export function useColPickerData() {
// '@vant/area-data' 数据源
const colPickerData: CascaderOption[] = useCascaderAreaData()
// 根据code查找子节点,不传code则返回所有节点
function findChildrenByCode(data: CascaderOption[], code?: string): CascaderOption[] | null {
if (!code) {
return data
}
for (const item of data) {
if (item.value === code) {
return item.children || null
}
if (item.children) {
const childrenResult = findChildrenByCode(item.children, code)
if (childrenResult) {
return childrenResult
}
}
}
return null
}
return { colPickerData, findChildrenByCode }
}
\ No newline at end of file
......@@ -2,12 +2,12 @@ import { createSSRApp } from "vue";
import App from "./App.vue";
import store from "./store";
import NavBar from "@/components/navBar/index.vue";
import Vconsole from "vconsole";
// import Vconsole from "vconsole";
export function createApp() {
const app = createSSRApp(App);
app.component("NavBar", NavBar);
const vConsole = new Vconsole();
// const vConsole = new Vconsole();
app.use(store);
return {
app
......
......@@ -47,6 +47,13 @@
"navigationStyle": "custom"
}
},
{
"path": "pages/user/matching/index",
"style": {
"navigationBarTitleText": "系统匹配岗位",
"navigationStyle": "custom"
}
},
{
"path": "pages/policy/index",
"style": {
......@@ -111,12 +118,19 @@
}
},
{
"path": "pages/postionList/demandRegistration/index",
"path": "pages/postionList/modular/index",
"style": {
"navigationBarTitleText": "需求登记",
"navigationStyle": "custom"
}
},
{
"path": "pages/postionList/demandRegistration/index",
"style": {
"navigationBarTitleText": "职业指导",
"navigationStyle": "custom"
}
},
{
"path": "pages/postionList/platformList/index",
"style": {
......@@ -133,6 +147,15 @@
"navigationStyle": "custom"
}
},
{
"path": "pages/postionList/appeal/index",
"style": {
"navigationBarTitleText": "申诉",
"navigationBarBackgroundColor": "#1D2C3E",
"navigationBarTextStyle": "white",
"navigationStyle": "custom"
}
},
{
"path": "pages/user/deliveryFeedback/index",
"style": {
......
......@@ -20,7 +20,6 @@
import NavBar from "@/components/navBar/index.vue";
import { xinhuaMpLogin } from "@/api/user.js";
import { setToken, getToken } from "@/utils/token";
import { getLoginUserApi } from "@/api/user";
const res = ref("");
onLoad(() => {
......@@ -40,9 +39,6 @@ const login = () => {
res.value = data;
console.log("datadatadata", data);
setToken(data.data.token);
getLoginUserApi().then(res => {
uni.setStorageSync("userInfo", res.data);
});
uni.switchTab({
url: "/pages/postionList/index"
});
......
......@@ -12,6 +12,7 @@
<script setup>
import { testLogin, getSmsCode } from "@/api/user";
import { setToken } from "@/utils/token";
import { getLoginUserApi } from "@/api/user";
const phone = ref("");
const login = async () => {
const a = await getSmsCode({ username: phone.value });
......@@ -21,9 +22,12 @@ const login = async () => {
}).then(res => {
console.log(res);
if (res.code === 200) {
setToken(res.data.token);
setToken(res.data);
getLoginUserApi().then(res => {
uni.setStorageSync("userInfo", res.data);
});
uni.switchTab({
url: "/pages/user/index"
url: "/pages/postionList/index"
});
}
});
......
......@@ -21,6 +21,10 @@
</view>
</view>
</view>
<!-- 暂无消息通知-->
<view class="nothing" v-if="!list.length">
<view class="nothing-text">暂无消息通知</view>
</view>
</scroll-view>
</div>
</view>
......@@ -231,5 +235,17 @@ scroll-view {
}
}
}
.nothing {
width: 100%;
text-align: center;
.nothing-text {
display: inline-block;
margin-top: 80rpx;
font-size: 28rpx;
font-weight: 400;
line-height: 68rpx;
color: rgb(128 128 128 / 100%);
}
}
}
</style>
<template>
<div class="page">
<NavBar
backIcon="#ffffff"
:showIcon="true"
:showTitle="true"
title="账户申诉"
backgroundBox="#1F86FF"
textColor="#ffffff"
></NavBar>
<view class="welcome flex-between">
<view class="text">
<view class="t1">Welcome</view>
<view class="t2">进入乐业观山湖</view>
</view>
<image src="@/static/image/postion/hi.png"></image>
</view>
<view class="content">
<view class="name">
<view class="t1">账户申述</view>
<textarea v-model="value" placeholder="请填写申述理由" />
</view>
</view>
<view class="btn-wrap flex-center">
<button class="bottom-btn" @tap="nextStep">提交</button>
</view>
</div>
</template>
<script setup>
import { ref } from "vue";
import { getLoginUserApi } from "@/api/user.js";
onLoad(() => {
});
onShow(() => {
getLoginUserApiFn();
});
function getLoginUserApiFn() {
getLoginUserApi().then(user => {
// if (user.code == 200 && user.data) {
// const { avatarPath, name, phone, position } = user.data;
// params.avatarPath = avatarPath;
// params.name = name;
// params.phone = phone;
// params.position = position;
// if (step.value !== 2) {
// if (name) {
// step.value = 3;
// }
// }
// }
});
}
const nextStep = () => {
};
</script>
<style></style>
<style lang="scss" scoped>
:deep(.uni-page-head-hd) {
display: none;
}
.page {
box-sizing: border-box;
display: flex;
flex-direction: column;
height: 100%;
// padding-top: 54rpx;
background-color: #1f86ff;
}
.welcome {
padding: 54rpx 80rpx 0 66rpx;
image {
width: 164rpx;
height: 164.46rpx;
}
.t1 {
font-size: 48rpx;
line-height: 40rpx;
color: #ffffff;
}
.t2 {
margin-top: 26rpx;
font-size: 48rpx;
line-height: 40rpx;
color: #ffffff;
}
}
.content {
flex: 1;
padding: 80rpx 32rpx 0;
margin-top: 52rpx;
background-color: #ffffff;
border-top-left-radius: 80rpx;
border-top-right-radius: 80rpx;
.item {
display: flex;
align-items: center;
// justify-content: space-between;
padding: 16px 0;
border-bottom: 1px solid #f3f4f8;
.label {
flex: 0 0 100px;
font-size: 12px;
font-weight: 500;
line-height: 18px;
color: #77818f;
.red {
color: red;
}
}
input {
font-size: 14px;
font-weight: normal;
line-height: 18px;
color: #1b2026;
}
image {
width: 28px;
height: 28px;
border-radius: 50%;
}
}
.t1 {
font-size: 32rpx;
line-height: 54rpx;
color: #1b2026;
}
.t2 {
font-size: 24rpx;
line-height: 36rpx;
color: #a3a7b3;
}
.name {
input {
padding: 32rpx 0 16rpx;
margin-top: 16rpx;
border-bottom: 2rpx solid #f3f4f8;
}
textarea {
position: relative;
box-sizing: border-box;
width: 686rpx;
height: 272rpx;
padding: 32rpx;
padding-bottom: 54rpx;
margin-top: 32rpx;
background: #f2f5fb;
border-radius: 8rpx;
opacity: 1;
text {
position: absolute;
right: 20rpx;
bottom: 16rpx;
font-size: 24rpx;
color: #77818f;
}
}
}
.image-upload {
.t2 {
margin-top: 16rpx;
}
image {
width: 686rpx;
height: 386rpx;
margin-top: 84rpx;
}
}
}
.popout-wrap {
.tips {
padding: 32rpx 0 94rpx;
background-color: #ffffff;
border-top-left-radius: 16rpx;
border-top-right-radius: 16rpx;
.title {
margin: 0 0 70rpx;
font-size: 36rpx;
font-weight: 600;
line-height: 54rpx;
color: #1b2026;
text-align: center;
}
image {
width: 340rpx;
height: 222rpx;
}
.flex-between {
padding: 0 32rpx 0 16rpx;
.text-wrap {
margin-left: 10rpx;
}
.m16 {
margin: 32rpx 0;
}
.orange {
color: #ff561b;
}
view {
font-size: 24rpx;
line-height: 36rpx;
color: #1b2026;
}
}
}
.select-list {
margin-top: 14rpx;
text-align: center;
background-color: #ffffff;
.item {
height: 108rpx;
line-height: 108rpx;
&:not(:first-child) {
border-top: 2rpx solid #f3f4f8;
}
}
}
}
.btn-wrap {
box-sizing: border-box;
height: 112rpx;
padding: 16rpx 0;
background-color: #ffffff;
border-top: 2rpx solid rgb(31 35 41 / 15%);
.bottom-btn{
background: #1F86FF;
width: 622rpx;
height: 80rpx;
line-height: 80rpx;
color: #ffffff;
}
}
.wd-transition {
display: flex;
flex-direction: column;
justify-content: flex-end;
}
</style>
<template>
<NavBar :showIcon="true" backgroundBox="#ffffff" :showTitle="true" title="需求登记"></NavBar>
<NavBar :showIcon="true" backgroundBox="#ffffff" :showTitle="true" title="职业指导"></NavBar>
<div class="page">
<scroll-view scroll-y="{{true}}" @scrolltolower="getData">
<view class="item" v-for="(item, index) in list" :key="item.id">
......@@ -55,6 +55,7 @@ const showPopup = item => {
};
const submit = () => {
const userInfo = uni.getStorageSync("userInfo");
console.log("打印", userInfo);
if (!userInfo.citizenId) {
uni.showToast({
title: "请先实名认证",
......
This diff is collapsed.
<template>
<NavBar :showIcon="true" backgroundBox="#ffffff" :showTitle="true" title="需求登记"></NavBar>
<img @tap="navigateTo('/pages/postionList/demandRegistration/index')" src="@/static/image/postion/modular-one.png" class="img"/>
<img @tap="navigateTo('/pages/postionList/demandRegistration/index')" src="@/static/image/postion/modular-two.png" class="img"/>
<img @tap="navigateTo('/pages/postionList/demandRegistration/index')" src="@/static/image/postion/modular-three.png" class="img"/>
<img @tap="navigateTo('/pages/postionList/demandRegistration/index')" src="@/static/image/postion/modular-four.png" class="img"/>
</template>
<script setup>
import { navigateTo } from "@/utils/utils";
import {} from "vue"
</script>
<style lang="scss" scoped>
.img{
border-radius: 16rpx;
width: 686rpx;
height: 294rpx;
margin: 32rpx auto 0;
display: block;
}
</style>
......@@ -66,19 +66,10 @@
<text class="gradient-title">职位详情</text>
</view>
<view class="pos-int">
<!-- <text class="pos-label pos-age">
<block wx:if="{{partTimeJobData.minAge}}">{{partTimeJobData.minAge}}-{{partTimeJobData.maxAge}}</block>
<block wx:else>年龄不限</block>
</text> -->
<text class="pos-label" v-for="(item, index) in partTimeJobData.benefitsList" :key="index">{{ item }}</text>
</view>
<view class="pos-duty {{dutyFlag ? 'activeClass' : ''}}">{{ partTimeJobData.jobDesc }}</view>
<view
class="duty-more"
bindtap="moreClick"
:style="{ display: dutyFlag ? 'none' : '' }"
v-if="partTimeJobData.content?.length > 150"
>
<view class="pos-duty" :class="{ activeClass: dutyFlag }">{{ partTimeJobData.jobDesc }}</view>
<view class="duty-more" @tap="moreClick" v-if="partTimeJobData.jobDesc?.length > 150 && dutyFlag === false">
<text>查看全部</text>
</view>
</view>
......@@ -197,6 +188,7 @@ import { getJobDetailApi, submitResumeApi } from "@/api/postion";
const partTimeJobData = ref({});
const recommendList = ref([]);
const stepViewData = ref(null);
let dutyFlag = ref(false);
const mapCenter = reactive({
latitude: 26.63,
longitude: 106.67
......@@ -245,6 +237,10 @@ const bindDelivery = () => {
}
});
};
const moreClick = () => {
dutyFlag.value = true;
};
const navigateTo = url => {
uni.navigateTo({
url
......@@ -429,7 +425,7 @@ onLoad(({ id }) => {
}
.pos-introduce .activeClass {
margin-bottom: 0;
-webkit-line-clamp: inherit;
-webkit-line-clamp: inherit !important;
}
.pos-introduce .duty-more {
position: absolute;
......
......@@ -62,6 +62,11 @@ const navigateTo = url => {
}
};
const navList = [
{
icon: new URL("@/static/image/user/bag.png", import.meta.url).href,
url: "/pages/user/matching/index",
text: "系统匹配岗位"
},
{
icon: new URL("@/static/image/user/history.png", import.meta.url).href,
url: "/pages/user/myDelivery/index?type=我的投递",
......
This diff is collapsed.
......@@ -15,6 +15,53 @@
<image v-if="resumeData.avatarPath" class="avatar" :src="evn.APP_IMAGE_BASE_API + resumeData.avatarPath" mode="" />
<image v-else class="avatar" src="@/static/image/user/default-avatar.png" mode="" />
</view>
<!-- 个人信息 -->
<view class="basics">
<text class="gradient-title">个人信息</text>
<view class="basics-top">
<view class="item" >
<img v-show="false" src="@/static/image/user/man.png" alt="">
<img v-show="true" src="@/static/image/user/woman.png" alt="">
<text></text>
</view>
<view class="item">
<img src="@/static/image/user/birth.png" alt="">
<text>1998.05.13</text>
</view>
<view class="item">
<img src="@/static/image/user/bag.png" alt="">
<text>3年</text>
</view>
</view>
<view class="information">
<text class="label">身份</text>
<text class="value">应届生 | 吸毒人员</text>
</view>
<view class="information">
<text class="label">专业</text>
<text class="value">网络工程信息技术</text>
</view>
<view class="information">
<text class="label">专业技术职称</text>
<text class="value">网络工程师 · 中级</text>
</view>
<view class="information">
<text class="label">职业资格/技能等级证书</text>
<text class="value">网络工程师资格证 · 中级</text>
</view>
<view class="information">
<text class="label">特种作业证</text>
<text class="value">高空作业证</text>
</view>
<view class="information">
<text class="label">户籍地</text>
<text class="value">贵州省贵阳市观山湖区高科一号C栋8楼</text>
</view>
<view class="information">
<text class="label">常住地</text>
<text class="value">贵州省贵阳市观山湖区高科一号C栋8楼</text>
</view>
</view>
<!-- 求职状态 -->
<view class="state">
<text class="gradient-title">求职状态</text>
......@@ -194,10 +241,10 @@ function calculateAge(birthday) {
}
// 数据回显
const getUserResume = () => {
getUserResumeApi().then(res => {
getUserResumeApi().then(async res => {
// console.log(res);
const {
personalAdvantage,
personalAdvantages,
preferredPosition,
maxSalary,
minSalary,
......@@ -209,16 +256,17 @@ const getUserResume = () => {
preferredDistrictCode,
workExperience,
educationExperience,
preferredPositionId
preferredPositionId,
currentStatus
} = res.data;
resumeData.jobStatusText = await getEnumText("EnumUserJobStatus", currentStatus);
resumeData.preferredCityName = preferredCityName;
resumeData.citySelectedItems = [
{ name: preferredProvinceName, code: preferredProvinceCode },
{ name: preferredCityName, code: preferredCityCode },
{ name: preferredDistrictName, code: preferredDistrictCode }
];
resumeData.personalAdvantage = personalAdvantage; // 求职状态回
resumeData.personalAdvantage = personalAdvantages; // 求职状态回
resumeData.preferredPosition = preferredPosition.split(",").join("|");
resumeData.preferredPositionId = preferredPositionId.split(",");
resumeData.maxSalary = maxSalary && maxSalary / 1000 + "k";
......@@ -229,7 +277,7 @@ const getUserResume = () => {
// 获取用户基本信息
getLoginUserApi().then(async res => {
if (res.code === 200) {
const { workExperience, educationLevel, realName, username, avatarPath, birthDate, jobStatus } = res.data;
const { workAge, educationLevel, name, username, avatarPath, birthday, jobStatus } = res.data;
/* this.setData({
realName,
workExperienceYear: workExperience,
......@@ -239,13 +287,12 @@ const getUserResume = () => {
avatarPath,
age: calculateAge(birthDate)
}); */
resumeData.realName = realName;
resumeData.workExperienceYear = workExperience;
resumeData.realName = name;
resumeData.workExperienceYear = workAge;
resumeData.educationLevel = await getEnumText("EnumEducation", educationLevel);
resumeData.jobStatusText = await getEnumText("EnumUserJobStatus", jobStatus);
resumeData.username = username;
resumeData.avatarPath = avatarPath;
resumeData.age = calculateAge(birthDate);
resumeData.age = calculateAge(birthday);
}
});
};
......@@ -351,6 +398,49 @@ const deleteItemTwo = index => {
border-radius: 50%;
}
}
.basics {
padding: 0 32rpx 32rpx;
margin-top: 32rpx;
border-bottom: 16rpx solid #f3f4f8;
.basics-top{
display: flex;
align-items: center;
.item{
display: flex;
align-items: center;
margin-right: 96rpx;
img{
width: 28rpx;
height: 28rpx;
margin-right: 16rpx;
}
text{
font-size: 24rpx;
color: #1B2026;
}
}
}
.information{
.label{
font-size: 24rpx;
color: #77818F;
margin-right: 16rpx;
}
.value{
font-size: 24rpx;
color: #1B2026;
}
}
view {
margin-top: 16rpx;
font-size: 24rpx;
line-height: 36rpx;
color: #1b2026;
}
.arrow {
border-color: #1b2026;
}
}
.state {
padding: 0 32rpx 32rpx;
margin-top: 32rpx;
......
......@@ -66,6 +66,15 @@
<view class="arrow"></view>
</view>
</wd-col-picker>
<view class="my-info-list pd-b-38">
<view class="my-info-title label">
<text>是否需要提供住宿</text>
</view>
<wd-radio-group v-model="accommodation" shape="dot" inline>
<wd-radio :value="1" ></wd-radio >
<wd-radio :value="0" ></wd-radio >
</wd-radio-group>
</view>
</view>
<view class="btn-wrapper">
<button class="save-btn" @tap="submit">保存</button>
......@@ -83,6 +92,7 @@ import _ from "lodash";
const value = ref([]);
const mValue = ref([]);
const columns = ref([]);
const salaryText = ref("");
onLoad(options => {
if (options.data) {
......@@ -159,7 +169,7 @@ const handleConfirmCity = ({ selectedItems }) => {
/* 薪水 */
const salaryOpstion = ref([]);
const salaryValue = ref([]);
const salaryText = ref("");
const accommodation = ref(1);
let salarySelectedItems = [];
const initSalaryOpstion = () => {
let temp = [];
......@@ -206,7 +216,8 @@ const submit = () => {
preferredPosition: "",
preferredProvinceCode: "",
preferredProvinceName: "",
preferredPositionId: ""
preferredPositionId: "",
needAccommodation:""
};
const [p, c, d] = citySelectedItems;
params.preferredPosition = mValue.value.map(v => v.name).join(",");
......@@ -219,6 +230,7 @@ const submit = () => {
params.preferredCityName = c.name;
params.preferredDistrictCode = d.code;
params.preferredDistrictName = d.name;
params.needAccommodation = accommodation.value * 1;
saveJobIntentionApi(params).then(res => {
console.log(res);
if (res.code == 200) {
......@@ -242,6 +254,78 @@ const submit = () => {
padding: 0 32rpx;
background-color: #ffffff;
}
.my-info-list {
position: relative;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 32rpx 0;
padding-top: 48rpx;
padding-right: 5rpx;
/* height: 96rpx;
line-height: 96rpx; */
overflow: hidden;
background: #ffffff;
border-bottom: 1rpx solid #e9e9e9;
/* picker {
flex: 1;
} */
.label {
flex: 0 0 200rpx;
margin: 0;
font-size: 24rpx;
font-weight: 500;
line-height: 36rpx;
color: #77818f;
}
.placeholder-style {
font-size: 28rpx;
font-weight: normal;
line-height: 36rpx;
color: #77818f;
}
.my-info-form {
flex: 1;
padding: 0;
}
.radios {
font-size: 28rpx;
line-height: 36rpx;
color: #1b2026;
.radios-item {
display: flex;
align-items: center;
margin-right: 48rpx;
.inner {
box-sizing: border-box;
width: 32rpx;
height: 32rpx;
margin-right: 16rpx;
border: 2rpx solid #77818f;
border-radius: 50%;
}
&.active {
.inner {
display: flex;
align-items: center;
justify-content: center;
border-color: #1f86ff;
&::after {
display: block;
width: 16rpx;
height: 16rpx;
content: "";
background-color: #1f86ff;
border-radius: 50%;
}
}
}
}
}
}
.container .header {
padding: 30rpx 0;
}
......
......@@ -6,7 +6,7 @@
<view class="input-form">
<view class="item">
<view class="label">姓名</view>
<input type="text" :value="data.realName" placeholder="请输入姓名" />
<input type="text" v-model="data.realName" placeholder="请输入姓名" />
</view>
<view class="item">
<view class="label">身份证号</view>
......@@ -73,6 +73,7 @@ const uploadeImage = type => {
};
const submit = () => {
let release = true;
console.log("打印", data);
for (let i in data) {
if (!data[i]) {
release = false;
......
import axios from "axios";
import { getToken } from "./token";
const baseURL = "https://lygsh-api.wjzpgz.com/";
// const baseURL = "http://192.168.11.181:8080/";
// const baseURL = "https://lygsh-api.wjzpgz.com/";
const baseURL = "http://192.168.11.48:8080/";
// 创建一个 axios 实例
const instance = axios.create({
baseURL, // 设置基础 URL
......
......@@ -960,7 +960,7 @@
resolved "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz"
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
"@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4":
"@babel/runtime@^7.17.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4":
version "7.24.7"
resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.7.tgz"
integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==
......@@ -2276,6 +2276,11 @@
dependencies:
"@types/yargs-parser" "*"
"@vant/area-data@^2.0.0":
version "2.0.0"
resolved "https://registry.npmmirror.com/@vant/area-data/-/area-data-2.0.0.tgz"
integrity sha512-zgP4AA8z09S9QTNgVCCHo9cHjcybrv22RJDYPjuCkecn4SB98T5EoPQh2TwqbQXmUhbaOGgiZGy3OUaUxnY7qg==
"@vitejs/plugin-legacy@^4.0.3", "@vitejs/plugin-legacy@4.1.1":
version "4.1.1"
resolved "https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-4.1.1.tgz"
......@@ -3172,6 +3177,11 @@ cookie@0.6.0:
resolved "https://registry.npmmirror.com/cookie/-/cookie-0.6.0.tgz"
integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==
copy-text-to-clipboard@^3.0.1:
version "3.2.0"
resolved "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz"
integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==
core-js-compat@^3.31.0, core-js-compat@^3.36.1:
version "3.37.1"
resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.37.1.tgz"
......@@ -3179,7 +3189,7 @@ core-js-compat@^3.31.0, core-js-compat@^3.36.1:
dependencies:
browserslist "^4.23.0"
core-js@^3.31.1, core-js@^3.4.1:
core-js@^3.11.0, core-js@^3.31.1, core-js@^3.4.1:
version "3.37.1"
resolved "https://registry.npmmirror.com/core-js/-/core-js-3.37.1.tgz"
integrity sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==
......@@ -5212,6 +5222,11 @@ muggle-string@^0.3.1:
resolved "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.3.1.tgz"
integrity sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==
mutation-observer@^1.0.3:
version "1.0.3"
resolved "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz"
integrity sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==
mute-stream@0.0.8:
version "0.0.8"
resolved "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.8.tgz"
......@@ -6774,6 +6789,16 @@ vary@~1.1.2:
resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz"
integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
vconsole@^3.15.1:
version "3.15.1"
resolved "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz"
integrity sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==
dependencies:
"@babel/runtime" "^7.17.2"
copy-text-to-clipboard "^3.0.1"
core-js "^3.11.0"
mutation-observer "^1.0.3"
vite@^4.0.0, "vite@^4.0.0 || ^5.0.0", vite@4.3.5:
version "4.3.5"
resolved "https://registry.npmmirror.com/vite/-/vite-4.3.5.tgz"
......@@ -6974,10 +6999,10 @@ xhr@^2.0.1:
parse-headers "^2.0.0"
xtend "^4.0.0"
xinhua-sdk@*:
version "1.6.0"
resolved "https://registry.npmmirror.com/xinhua-sdk/-/xinhua-sdk-1.6.0.tgz"
integrity sha512-N30rTu91PZjUvPeNj46Z2CS5QvjRPe1ckyTFejj2Md5ZEIcpd7ldCOlmgGJiP+0n3gYjzFQWd6YubXMWI5rFkA==
xinhua-sdk@*, xinhua-sdk@^1.8.0:
version "1.9.6"
resolved "https://registry.npmmirror.com/xinhua-sdk/-/xinhua-sdk-1.9.6.tgz"
integrity sha512-Q+OBXlqyB5uMYO0fVNq767SpFMZiu19bi/mL19W+aAFPfSj22aOE0bzngT/eG4DffcASozv+qddjikrr0z+Dgg==
xml-name-validator@^3.0.0:
version "3.0.0"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment