修改bug

parent 6342d876
......@@ -10,6 +10,8 @@ export const dictJobTypeApi = params => instance.post("/dict/dictJobType/getTree
// 获取岗位列表类型(1职位,2政策,3动态)
export const getBannerListApi = type => instance.post(`/banner/list/${type}`);
// 添加反馈信息
export const getFeedbackAdd = params => instance.post("/feedback/add", params);
export const feedbackAdd = params => instance.post("/feedback/add/consumer", params);
//根据id获取反馈信息
export const feedbackById = params => instance.post(`/feedback/${params}`);
// 我的反馈列表
export const getFeedbackList = params => instance.post("/feedback/list", params);
\ No newline at end of file
export const getFeedbackList = params => instance.post("/feedback/list", params);
......@@ -74,7 +74,7 @@ const back = () => {
.searchComponent {
position: sticky;
top: 0;
z-index: 999999;
z-index: 99;
// background: green;
transition: background-color 0.5s;
......
......@@ -167,12 +167,19 @@
}
},
{
"path": "pages/user/feedBack/feedBackRecord/feedBackRecord",
"path": "pages/user/problemRecord/index",
"style": {
"navigationBarTitleText": "记录",
"navigationStyle": "custom"
}
},
{
"path": "pages/user/feedbackDetails/index",
"style": {
"navigationBarTitleText": "投诉建议",
"navigationStyle": "custom"
}
},
{
"path": "pages/user/feedBack/feedBackWait/feedBackWiat",
"style": {
......
<template>
<NavBar :showIcon="true" backgroundBox="#ffffff" :showTitle="true" title="文章详情"></NavBar>
<div class="page">
<div class="top">
<video :src="evn.APP_IMAGE_BASE_API + data.videoPath" v-if="data.infoType === 2"></video>
<div class="title">{{ data.title }}</div>
<div class="flex-between">
<div class="publisher">{{ data.publisher }}</div>
<div class="date">{{ dayjs(data.publishDate).format("YYYY/MM/DD hh:mm") }}</div>
</div>
<div class="watch flex-align-center">
<img src="@/static/image/icon/eye.png" alt="" />
{{ data.views }}
<div>
<NavBar :showIcon="true" backgroundBox="#ffffff" :showTitle="true" title="文章详情"></NavBar>
<div class="page">
<div class="top">
<video :src="evn.APP_IMAGE_BASE_API + data.videoPath" v-if="data.infoType === 2"></video>
<div class="title">{{ data.title }}</div>
<div class="flex-between">
<div class="publisher">{{ data.publisher }}</div>
<div class="date">{{ dayjs(data.publishDate).format("YYYY/MM/DD hh:mm") }}</div>
</div>
<div class="watch flex-align-center">
<img src="@/static/image/icon/eye.png" alt="" />
{{ data.views }}
</div>
</div>
<div class="content" v-html="data.content"></div>
</div>
<div class="content" v-html="data.content"></div>
</div>
</template>
......
......@@ -21,6 +21,9 @@ const typeList = ref([{ id: "", name: "全部" }]);
getArticleTypesApi(2).then(res => {
typeList.value.push(...res.data);
});
onShow(() => {
changeType({ id: "" });
});
const changeType = type => {
active.value = type.id;
pageNo = 1;
......@@ -50,7 +53,6 @@ const getData = () => {
list.push(...res.data);
});
};
changeType({ id: "" });
</script>
<style lang="scss" scoped>
......
<template>
<div>
<NavBar :showIcon="true" :showTitle="true" title="测试登录" backgroundBox="#ffffff"></NavBar>
<p>
手机号
<input type="text" v-model="phone" />
......@@ -20,7 +21,7 @@ const login = async () => {
}).then(res => {
console.log(res);
if (res.code === 200) {
setToken(loginRes.data.token);
setToken(res.data.token);
uni.switchTab({
url: "/pages/user/index"
});
......
......@@ -31,6 +31,9 @@ import { getEnumText } from "@/utils/utils";
import _ from "lodash";
const list = ref([]);
let pageNo = 1;
onShow(() => {
getList();
});
const getList = () => {
getMessagePageList({
pageNo: pageNo++,
......@@ -43,7 +46,6 @@ const getList = () => {
list.value = _.concat(list.value, res.data);
});
};
getList();
</script>
<style lang="scss" scoped>
......
......@@ -21,6 +21,9 @@ const typeList = ref([{ id: "", name: "全部" }]);
getArticleTypesApi(1).then(res => {
typeList.value.push(...res.data);
});
onShow(() => {
changeType({ id: "" });
});
const changeType = type => {
active.value = type.id;
pageNo = 1;
......@@ -50,7 +53,6 @@ const getData = () => {
list.push(...res.data);
});
};
changeType({ id: "" });
</script>
<style lang="scss" scoped>
......
<template>
<div class="page">
<NavBar
:showIcon="true"
backIcon="#ffffff"
:showTitle="true"
title="公司简介"
backgroundBox="#1d2c3e"
textColor="#ffffff"
></NavBar>
<!-- 公司详情 -->
<view class="pos-details">
<view class="pos-title">
......
......@@ -40,7 +40,15 @@
</view>
</view>
<!-- 蒙版弹框 -->
<view class="pop-mask" :style="{ paddingTop: '70rpx' }" v-if="maskType" @click="maskType = null">
<view @touchmove.stop.prevent class="pop-mask" v-if="maskType" @click="maskType = null">
<view class="select-nav" :style="{ top: '0px' }" catchtouchmove="{{true}}" @tap.stop>
<view class="recommend">推荐</view>
<view class="select-item">
<text :class="{ active: maskType == 'address' }" @tap="openMask('address')">贵州省</text>
<text :class="{ active: maskType == 'position' }" @tap="openMask('position')">职位类型</text>
<text :class="{ active: maskType == 'other' }" @tap="openMask('other')">更多筛选</text>
</view>
</view>
<!-- 区域弹窗 -->
<view
@click.stop=""
......@@ -174,6 +182,14 @@ import { getEumData } from "@/utils/utils.js";
import evn from "@/utils/config.js";
/* 轮播 */
const swiperList = ref([]);
onShow(() => {
getTreeData();
dictJobType();
getListData();
initOtherData();
});
// 获取数据
getBannerListApi(1).then(res => {
console.log(res);
......@@ -257,7 +273,7 @@ const getTreeData = () => {
}
});
};
getTreeData();
// 选择市
const bindCityList = (code, name) => {
for (let i = 0; i < cityData.value.length; i++) {
......@@ -305,7 +321,7 @@ const bindSortList = (name, id) => {
pageNo = 1;
}
};
dictJobType();
// 其他筛选
const identityData = ref([]);
const screenSexData = ref([]);
......@@ -325,7 +341,6 @@ const bindScreenEducationList = (text, code) => {
screenEducation.value = text;
screenEducationCode.value = code;
};
initOtherData();
/* 获取职位列表 */
let pageNo = 1,
pageSize = 10,
......@@ -356,7 +371,6 @@ const getListData = () => {
}
});
};
getListData();
</script>
<style lang="scss" scoped>
......@@ -416,8 +430,8 @@ getListData();
// 筛选条
.select-nav {
position: sticky;
z-index: 30;
// position: sticky;
// z-index: 30;
display: flex;
align-items: center;
justify-content: space-between;
......@@ -482,7 +496,7 @@ getListData();
.pop-mask {
position: fixed;
inset: 0;
z-index: 20;
z-index: 100;
background-color: #00000066;
.address {
.region-pop-content {
......
<template>
<div class="postion-details">
<NavBar :showIcon="true" :showTitle="true" title="职位详情" backgroundBox="#ffffff"></NavBar>
<!--pages/position-details/position-details.wxml-->
<view class="steps-wrap">
<steps v-if="partTimeJobData.jobApplication" :data="partTimeJobData.jobApplication"></steps>
......
<template>
<div class="page">
<NavBar :showIcon="true" :showTitle="true" title="投递反馈" backgroundBox="#ffffff"></NavBar>
<!-- <view v-if="v.status == 2" class="state success"> 待面试 </view>
<view v-if="v.status == 4" class="state warning"> 已拒绝 </view> -->
<view class="card" v-if="postionData.jobApplication?.status == 4">
......@@ -71,7 +72,6 @@ onLoad(({ id }) => {
<style lang="scss" scoped>
.page {
box-sizing: border-box;
padding-top: 48rpx;
background-color: #ffffff;
}
.card {
......
......@@ -37,7 +37,7 @@ let feedbackListData = ref([]);
const postListData = () => {
// feedbackListData = res.feedbackListData;
getFeedbackList()
getFeedbackList({ pageNo: 1, pageSize: 50000 })
.then(res => {
feedbackListData.value = res.data;
emit("");
......@@ -45,7 +45,7 @@ const postListData = () => {
.catch(res => {});
};
onReady(() => {
onShow(() => {
postListData();
});
console.log("feedbackListData:", feedbackListData);
......
<template>
<NavBar :showIcon="true" backgroundBox="#ffffff" :showTitle="true" title="投诉建议"></NavBar>
<div class="feedback-wait">
<div class="problem-description">投诉建议</div>
<div class="text-box">
......@@ -23,7 +24,7 @@
<script setup>
import { uploadFiles } from "@/utils/fileUpload";
import { getFeedbackAdd } from "@/api/common";
import { feedbackAdd } from "@/api/common";
import { ref, computed } from "vue";
import { ISuccessRes } from "rexma-cli";
import { useRouter } from "vue-router";
......@@ -34,9 +35,8 @@ let item = ref([]);
const textInputs = ref("");
let questionDesc = ref("");
let imagesPath = ref("");
let imagesPaths = ref([]);
let imagesPaths = [];
let upArr = ref([]);
let imgs = ref([]);
const inputLength = computed(() => {
// console.log(imagesPaths.length);
......@@ -53,19 +53,17 @@ const chooseSource = () => {
// path: File.path
// }));
imgList.value = [...imgList.value, ...res.tempFilePaths];
console.log("imgList.value", imgList.value);
console.log("res.tempFilePaths", res.tempFilePaths);
console.log("res", res);
// console.log("imgList", imgList);
// imgs.concat(res.tempFiles);
// console.log("imgs", imgs);
if (imgList.value.length > 3) {
imgList.value = imgList.value.slice(0, 3);
}
let tempFiles = res.tempFiles;
console.log(tempFiles);
upArr = await uploadFiles(tempFiles);
console.log("upArr", upArr);
const imgs = (imagesPaths = upArr.map(({ key }) => [key]));
const imgs = upArr.map(({ key }) => [key]);
imagesPaths = [...imagesPaths, ...imgs];
if (imagesPaths.length > 3) {
imagesPaths = imagesPaths.slice(0, 3);
}
// imagesPaths = upArr;
console.log(imagesPaths);
imagesPath = imagesPaths.join(",");
}
});
......@@ -74,8 +72,10 @@ const chooseSource = () => {
const deleteimg = index => {
imgList.value.splice(index, 1);
imagesPaths.splice(index, 1);
imagesPath = imagesPaths.join(",");
console.log(imgList);
console.log(imagesPaths);
console.log(imagesPath);
};
const submit = res => {
......@@ -98,73 +98,72 @@ const submit = res => {
console.log(imgList);
console.log("questionDesc:", questionDesc);
console.log("imagesPath:", imagesPath);
// getFeedbackAdd({
// questionDesc,
// imagesPath
// });
xma.showLoading();
getFeedbackAdd({
questionDesc,
imagesPath
}).then(res => {
if (res.code == 200) {
xma.hideLoading();
xma.navigateBack({
delta: 1
});
}
});
// router.go(-1);
};
</script>
<style lang="scss" scoped>
page {
background-color: #fff;
background-color: #ffffff;
}
.feedback-wait {
width: 750rpx;
padding-left: 32rpx;
}
.feedback-wait .problem-description {
margin-top: 16rpx;
font-size: 36rpx;
font-weight: 600;
color: #1b2026;
margin-top: 16rpx;
}
.feedback-wait .text-box {
width: 686rpx;
height: 272rpx;
margin-top: 32rpx;
border-radius: 8rpx;
background: #f2f5fb;
border-radius: 8rpx;
}
.feedback-wait .text-box .current-word {
font-size: 28rpx;
color: gray;
position: absolute;
right: 72rpx;
margin-top: 32rpx;
font-size: 28rpx;
color: gray;
}
.feedback-wait .text-box .content {
top: 32rpx;
width: 640rpx;
height: 190rpx;
margin-left: 32rpx;
font-size: 24rpx;
font-weight: 500;
color: #77818f;
top: 32rpx;
margin-left: 32rpx;
}
.feedback-wait .picture-position {
display: flex;
width: 610rpx;
height: 160rpx;
display: flex;
margin-top: 32rpx;
}
.feedback-wait .picture-position .img-size-box {
display: flex;
width: 158rpx;
height: 160rpx;
border-radius: 4rpx;
margin-right: 16rpx;
display: flex;
border-radius: 4rpx;
}
.feedback-wait .picture-position .picture-del {
position: absolute;
width: 22rpx;
......@@ -172,47 +171,42 @@ page {
margin-top: -160rpx;
margin-left: 136rpx;
}
.feedback-wait .picture-position .div-picture {
display: flex;
justify-content: center;
width: 158rpx;
margin-left: 0rpx;
border-radius: 4rpx;
background: #f2f5fb;
border-radius: 4rpx;
}
.feedback-wait .picture-position .div-picture .div-picture-add {
width: 60rpx;
height: 60rpx;
margin-top: 50rpx;
}
.feedback-wait .text-content {
margin-top: 16rpx;
font-size: 24rpx;
font-weight: 500;
margin-top: 16rpx;
color: #1b2026;
}
.feedback-wait .content-line {
position: absolute;
top: 90%;
left: 0rpx;
width: 750rpx;
height: 1rpx;
background: rgba(31, 35, 41, 0.15);
background: rgb(31 35 41 / 15%);
}
.feedback-wait #button-submit {
position: absolute;
width: 622rpx;
color: #fff;
top: 92%;
left: 65rpx;
border-radius: 12rpx;
width: 622rpx;
font-size: 30rpx;
font-weight: 600;
color: #ffffff;
background: #1f86ff;
border-radius: 12rpx;
}
</style>
\ No newline at end of file
</style>
<template>
<NavBar :showIcon="true" :showTitle="true" title="投诉建议" backgroundBox="#FFFFFF"></NavBar>
<view class="feedback-page">
<view class="title">问题描述</view>
<wd-textarea
show-word-limit
maxlength="300"
:readonly="id"
custom-class="textarea"
v-model="params.questionDesc"
placeholder="请输入你的问题"
/>
<view class="img-list">
<image
v-for="(item, index) in imgArr"
:key="index"
:src="evn.APP_IMAGE_BASE_API + item"
@click="previewImage(evn.APP_IMAGE_BASE_API + item)"
/>
<view class="up-load" @click="chooseImage" v-if="(imgArr.length < 3 && id == null) || !id">
<wd-icon name="add" size="60rpx" color="#77818F"></wd-icon>
</view>
</view>
<view class="tip" v-if="!id">上传图片(可上传0-3张图片)</view>
<view class="msg">
<view class="title">平台回复</view>
<view class="hf">{{ detail.replyMessage || "暂无回复" }}</view>
</view>
<wd-tabbar
v-if="!id"
@click="feedbackAddFn"
custom-style="display: flex;justify-content: center !important;"
fixed
placeholderW
safeAreaInsetBottom
>
<wd-button :round="false" class="foot-btn" :disabled="params.questionDesc == '' || params.imagesPath == ''"
>投诉建议</wd-button
>
</wd-tabbar>
</view>
</template>
<script setup>
import evn from "@/utils/config.js";
import { uploadFiles } from "@/utils/fileUpload";
import { feedbackAdd, feedbackById } from "@/api/common";
const value = ref("");
const imgArr = ref([]);
const id = ref(null);
const detail = ref({});
const params = reactive({
questionDesc: "",
imagesPath: ""
});
onLoad(option => {
id.value = option.id;
feedbackByIdFn(option.id);
});
const feedbackByIdFn = id => {
feedbackById(id).then(feedback => {
detail.value = feedback.data;
params.questionDesc = feedback.data.questionDesc;
imgArr.value = feedback.data.imagesPath.split(",");
});
};
function previewImage(url) {
xma.previewImage({
current: url // 当前显示图片的http链接
});
}
/* 选择图片 */
const chooseImage = () => {
console.log(123);
if (imgArr.value.length < 3) {
uni.chooseImage({
count: 1,
success: async ({ tempFiles }) => {
const res = await uploadFiles(tempFiles);
imgArr.value.push(res[0].key);
params.imagesPath = imgArr.value.join(",");
}
});
} else {
xma.showToast({
title: "最多只能上传3张图片",
icon: "none"
});
}
};
const feedbackAddFn = () => {
xma.showLoading();
if (params.questionDesc == "" || params.imagesPath == "") {
} else {
feedbackAdd(params).then(res => {
if (res.code == 200) {
xma.hideLoading();
xma.navigateBack({
delta: 1
});
}
});
}
};
</script>
<style lang="scss" scoped>
.feedback-page {
box-sizing: border-box;
display: flex;
flex-direction: column;
width: 750rpx;
padding: 16rpx 32rpx;
.msg {
padding-top: 32rpx;
.title {
position: relative;
font-size: 32rpx;
font-weight: 600;
color: #1b2026;
}
.title::before {
position: absolute;
top: 28rpx;
left: 8rpx;
width: 122rpx;
height: 16rpx;
content: " ";
background: linear-gradient(90deg, rgb(241 246 251 / 0%) 0%, #76a5ff 100%);
opacity: 1;
}
.hf {
margin-top: 16rpx;
font-size: 24rpx;
line-height: 36rpx;
color: #1b2026;
}
}
.title {
font-size: 32rpx;
font-weight: 600;
color: #1b2026;
}
.textarea {
max-height: 272rpx;
margin-top: 32rpx;
background: #f2f5fb;
:deep(.wd-textarea__value) {
width: 100%;
max-height: 272rpx;
padding: 0 !important;
background: #f2f5fb !important;
}
:deep(.wd-textarea__count) {
background: none !important;
}
}
.img-list {
display: flex;
gap: 16rpx;
align-items: center;
margin-top: 32rpx;
.up-load {
display: flex;
align-items: center;
justify-content: center;
width: 160rpx;
height: 160rpx;
background: #f2f5fb;
border-radius: 4rpx;
}
image {
width: 160rpx;
height: 160rpx;
}
}
.tip {
margin-top: 16rpx;
font-size: 24rpx;
color: #1b2026;
}
.foot-btn {
position: fixed;
display: flex;
align-items: center;
justify-content: center;
width: 622rpx;
height: 80rpx;
color: #ffffff;
border-radius: 12rpx;
}
}
</style>
<template>
<NavBar :showIcon="false" :showTitle="true" title="我的" textColor="#ffffff"></NavBar>
<div class="user-container">
<NavBar :showIcon="false" :showTitle="true" title="我的" textColor="#ffffff"></NavBar>
<view class="bg"></view>
<!-- 用户信息 -->
<view class="user-info flex-align-center">
......@@ -34,9 +34,9 @@
<view class="arrow"></view>
</view>
</view>
<div>
<!-- <div>
{{ test }}
</div>
</div> -->
</div>
</template>
......@@ -47,6 +47,9 @@ import { getEnumText } from "@/utils/utils.js";
import evn from "@/utils/config.js";
const test = ref();
onShow(() => {
getUserInfo();
});
const navigateTo = url => {
url &&
uni.navigateTo({
......@@ -66,7 +69,7 @@ const navList = [
},
{
icon: new URL("@/static/image/user/question.png", import.meta.url).href,
url: "/pages/user/feedBack/feedBackRecord/feedBackRecord",
url: "/pages/user/problemRecord/index",
text: "投诉建议"
},
{
......@@ -110,7 +113,6 @@ const getUserInfo = () => {
schoolName.value = JSON.parse(educationExperience)[0].schoolName;
});
};
getUserInfo();
</script>
<style lang="scss" scoped>
......
<template>
<NavBar :showIcon="true" :showTitle="true" title="记录" backgroundBox="#FFFFFF"></NavBar>
<view class="problem-page">
<view class="history-item" v-for="item in list" :key="item.id" @click="goToDetail(item)">
<view class="item-left">
<view class="title">{{ item.questionDesc }}</view>
<view class="time">{{ $formatTimestamp(item.createTime, "YYYY-MM-DD hh:mm") }}</view>
</view>
<view
class="btn"
:style="{
background: item.replyMessage ? '#EAF9F6' : '#E8F2FF',
color: item.replyMessage ? '#31CBAE' : '#1F86FF'
}"
>{{ item.replyMessage ? "已回复" : "待回复" }}</view
>
</view>
<wd-tabbar
@click="navigateTo"
custom-style="display: flex;justify-content: center !important;"
fixed
placeholder
safeAreaInsetBottom
>
<view class="foot-btn">投诉建议</view>
</wd-tabbar>
</view>
</template>
<script setup>
import { getFeedbackList } from "@/api/common";
const list = ref([]);
const params = ref({
pageNo: 1,
pageSize: 10,
isEnd: false
});
/**
* 跳转详情
*/
const navigateTo = () => {
xma.navigateTo({
url: `/pages/user/feedbackDetails/index`
});
};
onShow(() => {
refresh().then(() => {
feedbackListFn().then(() => {
xma.stopPullDownRefresh();
});
});
});
const feedbackListFn = () => {
if (params.value.isEnd === true)
return new Promise(resolve => {
resolve();
});
xma.showLoading({
title: "加载中...",
mask: true
});
return getFeedbackList(params.value).then(res => {
if (res.data.length < params.value.pageSize) {
params.value.isEnd = true;
}
params.value.pageNo += 1;
list.value = list.value.concat(res.data);
xma.hideLoading();
});
};
const goToDetail = item => {
xma.navigateTo({
url: `/pages/user/feedbackDetails/index?id=${item.id}`
});
};
const refresh = () => {
return new Promise((resolve, reject) => {
list.value = [];
params.value.pageNo = 1;
params.value.isEnd = false;
resolve();
});
};
onPullDownRefresh(() => {
refresh().then(() => {
feedbackListFn().then(() => {
xma.stopPullDownRefresh();
});
});
});
// 触底加载
onReachBottom(() => {
feedbackListFn();
});
</script>
<style lang="scss" scoped>
page {
background: #f3f4f8;
}
.problem-page {
display: flex;
flex-direction: column;
gap: 16rpx;
width: 750rpx;
.history-item {
box-sizing: border-box;
display: flex;
justify-content: space-between;
width: 100%;
padding: 32rpx;
background: #ffffff;
.item-left {
display: flex;
flex-direction: column;
.title {
max-width: 400rpx;
overflow: hidden;
font-size: 32rpx;
color: #1b2026;
text-overflow: ellipsis;
white-space: nowrap;
}
.time {
margin-top: 16rpx;
font-size: 24rpx;
color: #77818f;
}
}
.btn {
box-sizing: border-box;
display: flex;
flex-shrink: 0;
align-items: center;
height: 60rpx;
padding: 0rpx 32rpx;
font-size: 24rpx;
}
}
.foot-btn {
position: fixed;
display: flex;
align-items: center;
justify-content: center;
width: 622rpx;
height: 80rpx;
color: #ffffff;
background: #1f86ff;
border-radius: 12rpx;
}
}
</style>
<template>
<NavBar :showIcon="true" :showTitle="true" title="教育经历" backgroundBox="#ffffff"></NavBar>
<view class="item">
<view class="label">学校名称</view>
<input v-model="params.schoolName" placeholder="请输入用户名" border="{{ false }}" />
......@@ -52,6 +53,19 @@ import { reactive } from "vue";
const params = reactive({ schoolName: "", startDate: 0, endDate: 0, major: "" });
const format = date => date && dayjs(date).format("YYYY-MM-DD");
const submit = () => {
let really = true;
for (let key in params) {
if (!params[key]) {
really = false;
}
}
if (!really) {
uni.showToast({
title: `请完善表单!`,
icon: "none"
});
return;
}
saveEducationExperienceApi(JSON.stringify([params])).then(res => {
if (res.code === 200) {
uni.showToast({
......
<template>
<div class="essential-information">
<NavBar :showIcon="true" :showTitle="true" title="基本信息"></NavBar>
<view
class="real-name-authentication flex-between"
v-if="verified == 0"
......@@ -15,9 +16,8 @@
</view>
<view class="btn">去认证</view>
</view>
<!-- 个人资料 -->
<view class="my-info" v-if="!cropperFlag">
<view class="my-info">
<view class="my-info-list flex-row-b-c pd-b-38 upload-avatar" @tap="bindUploadImg">
<view class="my-info-title avatar-label">
<text>头像</text>
......@@ -141,13 +141,13 @@
</template>
<script setup>
import { reactive, ref } from "vue";
import { reactive, ref, onMounted } from "vue";
import { getLoginUserApi, saveUserInfoApi } from "@/api/user.js";
import { getEumData, navigateTo } from "@/utils/utils.js";
import { uploadFiles } from "@/utils/fileUpload.js";
import evn from "@/utils/config.js";
import dayjs from "dayjs";
const verified = 0;
let verified = ref(0);
const cropperFlag = 0;
const identityCode = 0;
const userInfo = ref({
......@@ -169,6 +169,9 @@ const userInfo = ref({
completeResume: false,
user: null
});
onMounted(() => {
getData();
});
/* 头像 */
const bindUploadImg = () => {
uni.chooseFile({
......@@ -223,10 +226,13 @@ const getData = async () => {
const { data, code } = await getLoginUserApi();
console.log(data);
if (code == 200) {
if (!data) {
verified.value = 1;
return;
}
userInfo.value = data;
}
};
getData();
/* 提交 */
const submit = () => {
......
......@@ -177,6 +177,7 @@ const getUserResume = () => {
};
onShow(() => {
getUserResume();
getOpstion();
});
// 获取求职状态数据
const value = ref();
......@@ -185,7 +186,6 @@ const getOpstion = async () => {
jobStatusColumns.value = await getEumData("EnumUserJobStatus");
console.log(jobStatusColumns.value);
};
getOpstion();
const changeJobStatus = async e => {
console.log(e.selectedItems.text);
const { code, message } = await saveJobStatusApi({ jobStatus: e.value });
......
<template>
<NavBar :showIcon="true" :showTitle="true" title="个人优势" backgroundBox="#ffffff"></NavBar>
<view class="container">
<view class="title">我的优势</view>
<view class="desc text-color">一句话介绍自己,突出自己的核心优势</view>
......
<template>
<NavBar :showIcon="true" :showTitle="true" title="求职意向" backgroundBox="#ffffff"></NavBar>
<view class="container">
<view class="header">
<view class="title"> 求职意向 </view>
......
<template>
<NavBar :showIcon="true" :showTitle="true" title="实名认证" backgroundBox="#ffffff"></NavBar>
<div class="page">
<view class="text1">请填写您的真实身份信息</view>
<view class="text2">信息仅用于身份核实</view>
......
<template>
<NavBar :showIcon="true" :showTitle="true" title="工作经历" backgroundBox="#ffffff"></NavBar>
<view class="container">
<view class="header">
<view class="title"> 工作/实习经历 </view>
......@@ -108,8 +109,19 @@ const handleConfirmPostion = ({ selectedItems }) => {
};
const save = () => {
params.position = jobTypeText.value;
console.log(params);
let really = true;
for (let key in params) {
if (!params[key]) {
really = false;
}
}
if (!really) {
uni.showToast({
title: `请完善表单!`,
icon: "none"
});
return;
}
saveWorkExperienceApi(JSON.stringify([params])).then(res => {
console.log(res);
if (res.code == 200) {
......@@ -117,6 +129,11 @@ const save = () => {
title: "保存成功",
icon: "success"
});
setTimeout(() => {
uni.navigateBack({
delta: 1
});
}, 1500);
}
});
};
......
import axios from "axios";
import { getToken } from "./token";
const baseURL = "https://lygsh-api.wjzpgz.com/";
// const baseURL = "https://lygsh-api.wjzpgz.com/";
const baseURL = "http://192.168.11.158:8080/";
// 创建一个 axios 实例
const instance = axios.create({
baseURL, // 设置基础 URL
......@@ -20,7 +21,7 @@ instance.interceptors.request.use(
// config.headers.Authorization = `Bearer ${token}`;
// }·
const token = getToken();
config.headers['User-Token'] = token;
config.headers["User-Token"] = token;
return config;
},
error => {
......
......@@ -36,9 +36,9 @@ export const setStorageSync = (key, data) => {
export const getStorageSync = key => uni.getStorageSync(key);
// 路由跳转
export const navigateTo = (url, type = "navigateTo") => {
export const navigateTo = url => {
if (!url) return;
uni[type]({
uni.navigateTo({
url: url
});
};
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