Commit 48d47073 authored by 李明环(东信)'s avatar 李明环(东信)

问题修改

parent a3fb5021
......@@ -66,7 +66,7 @@ const iconPath = new URL(`../../static/image/icon/${props.icon}.png`, import.met
}
}
.temp {
margin-top: 36px;
margin-top: 72rpx;
}
.icon {
position: absolute;
......
......@@ -35,7 +35,7 @@
value-key="code"
use-default-slot
>
<view class="item">{{ cityText }} <view class="arrow"></view> </view>
<view class="item">{{ cityText || "意向地" }} <view class="arrow"></view> </view>
</wd-col-picker>
<view class="filter-opstion">
<wd-col-picker
......@@ -47,11 +47,11 @@
@confirm="handleConfirmMajor"
use-default-slot
>
<view class="item">{{ majorText || "不限" }} <view class="arrow"></view> </view>
<view class="item">{{ majorText || "专业" }} <view class="arrow"></view> </view>
</wd-col-picker>
</view>
<!-- <view class="item">默认排序<view class="arrow"></view> </view> -->
<view class="item" @click="showOtherFilter = true">筛选<view class="arrow"></view> </view>
<view class="item" @click="showOtherFilter = true">更多筛选<view class="arrow"></view> </view>
</view>
</view>
<scroll-view
......@@ -282,7 +282,7 @@ onShow(() => {
});
// 城市筛选
const valueCity = ref([]);
const cityText = ref("全国");
const cityText = ref("");
const columnsCity = ref([]);
const getColumnsCity = () => {
getTreeListApi().then(res => {
......@@ -351,7 +351,7 @@ const columnChangeMajor = ({ selectedItem, resolve, finish }) => {
const handleConfirmMajor = ({ value }) => {
if (value[1]) {
majorText.value = value[1];
getResumeRecommendListParams.value.major = value.join('-');
getResumeRecommendListParams.value.major = value.join("-");
} else {
majorText.value = "不限";
getResumeRecommendListParams.value.major = "";
......
......@@ -17,16 +17,17 @@
<view class="info-list">
<view class="info flex-between">
<veiw class="label">面试时间</veiw>
<wd-datetime-picker
<!-- <wd-datetime-picker
v-model="date"
:min-date="new Date(new Date().setHours(0, 0, 0, 0)).getTime()"
type="date"
:min-date="new Date().getTime()"
use-default-slot
@confirm="dateConfirm"
>
<view :class="{ data: 1, placeholder: !date }">{{
date ? dayjs(date).format("YYYY-MM-DD HH:mm") : "选择面试时间"
}}</view>
</wd-datetime-picker>
</wd-datetime-picker> -->
<view :class="{ data: 1, placeholder: !date }" @click="isShowDateSelect = true">{{
dateText || "选择面试时间"
}}</view>
<view class="arrow"></view>
</view>
<view class="info flex-between">
......@@ -62,12 +63,28 @@
</view>
<view class="info flex-between">
<veiw class="label">面试地址</veiw>
<view class="data">{{ data.interviewLocation }}</view>
<!-- <view class="data">{{ data.interviewLocation }}</view> -->
<input type="text" v-model="data.interviewLocation" placeholder="请输入面试地址" />
<view class="arrow"></view>
</view>
</view>
</view>
<wd-action-sheet v-model="isShowDateSelect" @close="isShowDateSelect = false">
<div class="action-sheet-header">
<wd-text text="取消" @click="isShowDateSelect = false"></wd-text>
<wd-text type="primary" text="确认" @click="selectDateConfirm"></wd-text>
</div>
<div class="date-sheet-wrap" v-if="isShowDateSelect">
<div class="date" style="width: 75%">
<wd-datetime-picker-view type="date" v-model="date" :min-date="new Date().getTime()" />
</div>
<div class="time-slot" style="width: 25%">
<wd-picker-view :columns="columns" v-model="timeSlot" />
</div>
</div>
</wd-action-sheet>
<view class="btn-wrap">
<button class="bottom-btn" @click="submit">确定邀请</button>
</view>
......@@ -78,9 +95,26 @@
import dayjs from "dayjs";
import { getApplicationByIdApi, inviteInterviewApi, getJobByIdApi, getPositionListApi, getResumeByUserId } from "@/api/postion";
import { reactive, ref } from "vue";
/* 时间选择器 */
const isShowDateSelect = ref(false);
const date = ref("");
const dateConfirm = e => {
console.log(e);
const columns = ref([
[
{
label: "上午",
value: "上午"
},
{
label: "下午",
value: "下午"
}
]
]);
const timeSlot = ref("上午");
const dateText = ref("");
const selectDateConfirm = e => {
isShowDateSelect.value = false;
dateText.value = dayjs(date.value).format("YYYY-MM-DD") + " " + timeSlot.value;
};
const jobIdTemp = ref("");
let userIdTemp = "";
......@@ -96,8 +130,6 @@ function getJobListApiFn() {
}
getJobListApiFn();
const positionConfirm = ({ selectedItems }) => {
console.log(selectedItems);
data.value = selectedItems;
data.value.interviewLocation = selectedItems.address;
data.value.salary = selectedItems.minSalary + "~" + selectedItems.maxSalary;
......@@ -139,7 +171,7 @@ const getJobById = jobId => {
getJobByIdApi(jobId).then(res => {
res.data.salary = res.data.minSalary + "~" + res.data.maxSalary;
res.data.positionName = res.data.name;
res.data.interviewLocation = res.data.address;
// res.data.interviewLocation = res.data.address;
jobIdTemp.value = jobId;
data.value = res.data;
......@@ -165,9 +197,24 @@ const submit = () => {
});
return;
}
if (!data.value.interviewLocation) {
uni.showToast({
title: "请输入面试地址",
icon: "none"
});
return;
}
/* 时间拼接 */
let dateTemp = dayjs(date.value).format("YYYY-MM-DD");
if (timeSlot.value == "上午") {
dateTemp += " 09:00:00";
} else {
dateTemp += " 15:00:00";
}
inviteInterviewApi({
...data.value,
interviewTime: date.value,
// interviewTime: date.value,
interviewTime: dateTemp,
userId: userIdTemp,
positionId: jobIdTemp.value
}).then(res => {
......@@ -268,6 +315,9 @@ const submit = () => {
line-height: 36rpx;
color: #1b2026;
}
input {
flex: 1;
}
.placeholder {
color: #bfcacf;
}
......@@ -277,6 +327,15 @@ const submit = () => {
}
}
}
.action-sheet-header {
display: flex;
justify-content: space-between;
padding: 36rpx;
}
.date-sheet-wrap {
display: flex;
padding: 32rpx 0;
}
.btn-wrap {
position: fixed;
bottom: 0;
......
......@@ -22,7 +22,7 @@
flex-grow: 1;
padding: 32rpx;
.form-item {
padding-top: 32rpx;
padding-top: 0;
padding-bottom: 16rpx;
border-bottom: 2rpx solid rgb(31 35 41 / 15%);
.arrow {
......
......@@ -15,7 +15,7 @@
v-model="pinias.formData.workMode"
></selectbox>
<form-row>
<form-item title="职位类型">
<form-item title="职位类型" required>
<wd-col-picker
v-model="value"
:columns="columns"
......@@ -32,12 +32,12 @@
</form-item>
</form-row>
<form-row>
<form-item title="岗位名称" icon="edit">
<form-item required title="岗位名称" icon="edit">
<input type="text" v-model="pinias.formData.name" placeholder="输入岗位名称" />
</form-item>
</form-row>
<form-row>
<form-item title="岗位描述" :border="false" icon="">
<form-item required title="岗位描述" :border="false" icon="">
<textarea v-model="pinias.formData.positionDesc" placeholder="请输入您的岗位描述" maxlength="800"></textarea>
</form-item>
</form-row>
......@@ -123,7 +123,10 @@ const next = () => {
console.log(pinias.formData);
if (validateForm(pinias.formData, ["jobTypeId", "jobTypeName", "name", "positionDesc"], "post")) {
uni.redirectTo({
/* uni.redirectTo({
url: "/pages/recommend/releasePostion/step2"
}); */
uni.navigateTo({
url: "/pages/recommend/releasePostion/step2"
});
}
......
......@@ -6,63 +6,69 @@
<view class="t2">请选择岗位对应的福利待遇</view>
</view>
<view class="content">
<view class="form-item">
<view class="form-item-title">岗位薪资</view>
<view
v-if="pinias.formData.settlementType == 4"
:class="`inner flex-between ${salaryText ? '' : 'placeholder'}`"
@click="onOpen"
>
{{ salaryText || "请选择岗位薪资待遇" }}
<form-row>
<form-item title="岗位薪资" icon="" required>
<view
v-if="pinias.formData.settlementType == 4"
:class="`inner flex-between ${salaryText ? '' : 'placeholder'}`"
@click="onOpen"
>
{{ salaryText || "请选择岗位薪资待遇(月薪)" }}
<!-- <view class="arrow"></view> -->
<checkbox class="checkbox" @click="onChecked" :checked="my">面议</checkbox>
</view>
<view v-else :class="`inner flex-between ${salaryText ? '' : 'placeholder'}`" @click="onOpen">
{{ salaryText || "请选择岗位薪资待遇" }}
<!-- <view class="arrow"></view> -->
<checkbox class="checkbox" @click="onChecked" :checked="my">面议</checkbox>
</view>
<wd-popup
v-model="show"
position="bottom"
custom-style="height:40%;border-radius: 20rpx;z-index:999;"
@close="handleClose"
>
<view class="title-box"
><view></view>
<view class="title">薪资选择</view>
<wd-icon @click="handleClose" name="close" size="30rpx"></wd-icon>
<!-- <view class="arrow"></view> -->
<checkbox class="checkbox" @click="onChecked" :checked="my">面议</checkbox>
</view>
<wd-picker-view @change="handleConfirm" use-default-slot :columns="columns" v-model="value"></wd-picker-view>
<view style="display: flex; justify-content: center; width: 100%"
><wd-button style="width: 80%" @click="handleClose" block :round="false">确定</wd-button></view
>
</wd-popup>
</view>
<view class="form-item">
<view class="form-item-title">是否提供食宿</view>
<view class="inner flex-between">
<wd-radio-group v-model="pinias.formData.accommodation" inline shape="dot">
<wd-radio v-for="(v, n) in radioOpstion" :value="v.code" :key="n">{{ v.text }}</wd-radio>
</wd-radio-group>
</view>
</view>
<view class="form-item describe" style="border: 0">
<view class="form-item-title"
>福利待遇 <text style="font-size: 24rpx; font-weight: normal; color: #77818f">(选填)</text>
</view>
<view class="welfare">
<view
v-for="(item, index) in benefits"
:class="`t ${item.active ? 'active' : ''}`"
@tap="onChangeBenefits(item)"
:key="index"
>{{ item.text }}</view
<view v-else :class="`inner flex-between ${salaryText ? '' : 'placeholder'}`" @click="onOpen">
{{ salaryText || "请选择岗位薪资待遇(时薪)" }}
<!-- <view class="arrow"></view> -->
<checkbox class="checkbox" @click="onChecked" :checked="my">面议</checkbox>
</view>
<wd-popup
v-model="show"
position="bottom"
custom-style="height:40%;border-radius: 20rpx;z-index:999;"
@close="handleClose"
>
</view>
</view>
<view class="title-box"
><view></view>
<view class="title">薪资选择</view>
<wd-icon @click="handleClose" name="close" size="30rpx"></wd-icon>
</view>
<wd-picker-view
@change="handleConfirm"
use-default-slot
:columns="columns"
v-model="value"
></wd-picker-view>
<view style="display: flex; justify-content: center; width: 100%"
><wd-button style="width: 80%" @click="handleClose" block :round="false">确定</wd-button></view
>
</wd-popup>
</form-item>
</form-row>
<form-row>
<form-item title="是否提供食宿" icon="" required>
<view class="inner flex-between">
<wd-radio-group v-model="pinias.formData.accommodation" inline shape="dot">
<wd-radio v-for="(v, n) in radioOpstion" :value="v.code" :key="n">{{ v.text }}</wd-radio>
</wd-radio-group>
</view>
</form-item>
</form-row>
<form-row>
<form-item :border="false" title="福利待遇" sub-title="(选填)" icon="">
<view class="welfare">
<view
v-for="(item, index) in benefits"
:class="`t ${item.active ? 'active' : ''}`"
@tap="onChangeBenefits(item)"
:key="index"
>{{ item.text }}</view
>
</view>
</form-item>
</form-row>
</view>
<wd-tabbar
@tap="next"
......@@ -78,7 +84,8 @@
<script setup>
import { getEumData } from "@/utils/utils";
import FormItem from "@/components/form/form-item.vue";
import FormRow from "@/components/form/form-row.vue";
import { useReleasePostionStore } from "./store";
/* tab */
const pinias = useReleasePostionStore();
......@@ -248,9 +255,12 @@ const next = () => {
return;
}
}
uni.redirectTo({
uni.navigateTo({
url: "/pages/recommend/releasePostion/step3"
});
/* uni.redirectTo({
url: "/pages/recommend/releasePostion/step3"
}); */
};
/* 初始化 */
......@@ -274,6 +284,9 @@ initViewData();
<style lang="scss" scoped>
@import "./common.scss";
.content {
.form-item {
padding-top: 0;
}
van-radio-group {
.van-radio-group {
display: flex;
......
......@@ -6,9 +6,8 @@
<view class="t2">请选择准确的岗位工作地点</view>
</view>
<view class="content">
<view class="form-item">
<view class="form-item-title">工作地点</view>
<view :class="`inner flex-between ${cityText ? '' : 'placeholder'}`">
<form-row>
<form-item title="工作地点" icon="arrow" required>
<wd-col-picker
v-model="cityValue"
:columns="cityOpstion"
......@@ -23,9 +22,8 @@
{{ cityText || "请选择岗位工作地点" }}
</p>
</wd-col-picker>
<view class="arrow"></view>
</view>
</view>
</form-item>
</form-row>
</view>
<wd-tabbar
......@@ -42,10 +40,10 @@
<script setup>
import { ref } from "vue";
import AddressSelect from "@/components/form/address-select.vue";
import { getTreeListApi, getAreaListApi } from "@/api/common";
import { useReleasePostionStore } from "./store";
import town from "@/assets/town.json";
import FormItem from "@/components/form/form-item.vue";
import FormRow from "@/components/form/form-row.vue";
/* tab */
const pinias = useReleasePostionStore();
const showTab = ref(true);
......@@ -125,7 +123,10 @@ onLoad(() => {
});
const next = () => {
if (validateForm(pinias.formData, ["address"])) {
uni.redirectTo({
/* uni.redirectTo({
url: "/pages/recommend/releasePostion/step4"
}); */
uni.navigateTo({
url: "/pages/recommend/releasePostion/step4"
});
}
......@@ -134,30 +135,9 @@ const next = () => {
<style lang="scss" scoped>
@import "./common.scss";
image {
width: 12px;
height: 13px;
}
:deep(#u-a-c) {
.uni-system-choose-location .nav {
top: 20px !important;
background-image: none;
}
.uni-system-choose-location .nav-btn {
background-color: #007aff;
border-radius: 10px;
}
.uni-system-choose-location .nav-btn.back {
top: 50px;
left: 10px;
background-color: #007aff;
border-radius: 10px;
}
.uni-system-choose-location .nav-btn.confirm {
top: 50px;
right: 10px;
background-color: #007aff;
border-radius: 10px;
.content {
.form-item {
padding-top: 0;
}
}
.foot-btn {
......
......@@ -7,7 +7,7 @@
</view>
<view class="content">
<form-row>
<form-item title="身份">
<form-item title="身份" required>
<wd-picker
:columns="identityPostion"
value-key="code"
......@@ -26,7 +26,7 @@
</form-row>
<form-row :fill="false">
<form-item title="学历">
<form-item title="学历" required>
<wd-picker
:columns="educationPostion"
value-key="code"
......@@ -42,7 +42,7 @@
</view>
</wd-picker>
</form-item>
<form-item title="年龄">
<form-item title="年龄" required>
<!-- <wd-col-picker
v-model="value"
:columns="columns"
......@@ -61,7 +61,7 @@
</form-item>
</form-row>
<form-row>
<form-item title="专业" class="major">
<form-item title="专业" class="major" required>
<wd-col-picker
v-model="majorValue"
:columns="majorOpstion"
......@@ -347,7 +347,10 @@ const next = () => {
pinias.formData.professionalCertificates = certificateInputValue.value + "-" + certificateSelectValue.value;
console.log(pinias.formData);
if (validateForm(pinias.formData, ["identityRequirement", "educationRequirement"], "post")) {
uni.redirectTo({
/* uni.redirectTo({
url: "/pages/recommend/releasePostion/step5"
}); */
uni.navigateTo({
url: "/pages/recommend/releasePostion/step5"
});
}
......
......@@ -6,24 +6,25 @@
<view class="t2">请继续完善相关信息</view>
</view>
<view class="content">
<view class="form-item">
<view class="form-item-title">招聘人数</view>
<view class="inner felx-between">
<FormRow>
<FormItem title="招聘人数" icon="edit" required>
<input type="number" v-model="pinias.formData.recruitmentNumber" placeholder="请输入招聘人数" />
</view>
</view>
<view class="form-item">
<view class="form-item-title">联系电话</view>
<view class="inner felx-between">
<input type="number" v-model="pinias.formData.contactPhone" placeholder="请输入联系电话" />
</view>
</view>
<view class="form-item">
<view class="form-item-title">联系人</view>
<view class="inner felx-between">
<input type="text" v-model="pinias.formData.contactPerson" placeholder="请输入联系人" />
</view>
</view>
</FormItem>
</FormRow>
<FormRow>
<FormItem title="联系电话" icon="edit" required>
<view class="inner felx-between">
<input type="number" v-model="pinias.formData.contactPhone" placeholder="请输入联系电话" />
</view>
</FormItem>
</FormRow>
<FormRow>
<FormItem title="联系人" icon="edit" required>
<view class="inner felx-between">
<input type="text" v-model="pinias.formData.contactPerson" placeholder="请输入联系人" />
</view>
</FormItem>
</FormRow>
</view>
<wd-tabbar
......@@ -39,6 +40,9 @@
</template>
<script setup>
import FormItem from "@/components/form/form-item.vue";
import FormRow from "@/components/form/form-row.vue";
import { createJobApi, updateJobApi } from "@/api/postion";
import { useReleasePostionStore } from "./store";
......@@ -74,7 +78,10 @@ const submit = () => {
/* uni.n({
url: "/pages/user/positionManagement/index"
}); */
uni.navigateBack();
uni.navigateBack({
delta: 5
});
}, 3000);
} else {
uni.showToast({
......
......@@ -130,7 +130,7 @@
<template v-else>
<div class="f-btn-box">
<button class="b3" :class="`style${status}`">{{ btnText }}</button>
<div class="b4" v-if="!(applicationData.status == 4 || !applicationIdTemp)">
<div class="b4" v-if="!(applicationData.status == 4 || applicationData.applicationType != 0)">
<div @click="callPhone">
<img src="@/static/image/icon/telephone.png" alt="" />
<p>立即联系</p>
......@@ -149,7 +149,7 @@
<template v-else>
<div class="f-btn-box">
<button class="b3" :class="`style${applicationData.status}`">{{ applicationText }}</button>
<div class="b4" v-if="!(applicationData.status == 4 || !applicationIdTemp)">
<div class="b4" v-if="!(applicationData.status == 4 || applicationData.applicationType != 0)">
<div @click="callPhone" :href="`tel:${applicationData.userPhone}`">
<img src="@/static/image/icon/telephone.png" alt="" />
<p>立即联系</p>
......
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