Merge branch 'master' of https://gitee.com/beiwu/jobslink-user-clent
This commit is contained in:
40
api/userrecruit.js
Normal file
40
api/userrecruit.js
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
import {
|
||||||
|
request
|
||||||
|
} from '@/untils/AxiosUtils.js';
|
||||||
|
import {
|
||||||
|
getStore
|
||||||
|
} from '@/untils/store.js'
|
||||||
|
function getHeader() {
|
||||||
|
const platformId = getStore({
|
||||||
|
name: 'platformId'
|
||||||
|
})
|
||||||
|
if (platformId) {
|
||||||
|
return {
|
||||||
|
'Platform-Id': platformId
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*首页 最新任务(10条)*/
|
||||||
|
export const getPushListByUserId = (params) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/jobslink-api/user/userrecruit/getPushListByUserId',
|
||||||
|
headers: getHeader(),
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/*岗位详情*/
|
||||||
|
// workDetail
|
||||||
|
export const userrecruitDetail = (workId) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/jobslink-api/user/userrecruit/getWorksInfoByWorkId',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
workId
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -23,6 +23,7 @@
|
|||||||
<view style="flex:1;"></view>
|
<view style="flex:1;"></view>
|
||||||
<u-tag text="任务" v-if="companyitem.type == 0" plain size="mini" type="warning"></u-tag>
|
<u-tag text="任务" v-if="companyitem.type == 0" plain size="mini" type="warning"></u-tag>
|
||||||
<u-tag text="岗位" v-if="companyitem.type == 1" plain size="mini"></u-tag>
|
<u-tag text="岗位" v-if="companyitem.type == 1" plain size="mini"></u-tag>
|
||||||
|
<u-tag text="招工" v-if="companyitem.type == 2" plain size="mini"></u-tag>
|
||||||
</view>
|
</view>
|
||||||
<view style="width: 100%;height: 1rpx;background-color: #999;margin: 0 auto;opacity: .5;"></view>
|
<view style="width: 100%;height: 1rpx;background-color: #999;margin: 0 auto;opacity: .5;"></view>
|
||||||
<view class="timeAddress" style="position: relative;">
|
<view class="timeAddress" style="position: relative;">
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
<view style="flex:1;"></view>
|
<view style="flex:1;"></view>
|
||||||
<u-tag text="任务" v-if="companyitem.type == 0" plain size="mini" type="warning"></u-tag>
|
<u-tag text="任务" v-if="companyitem.type == 0" plain size="mini" type="warning"></u-tag>
|
||||||
<u-tag text="岗位" v-if="companyitem.type == 1" plain size="mini"></u-tag>
|
<u-tag text="岗位" v-if="companyitem.type == 1" plain size="mini"></u-tag>
|
||||||
|
<u-tag text="招工" v-if="companyitem.type == 2" plain size="mini"></u-tag>
|
||||||
</view>
|
</view>
|
||||||
<view style="width: 100%;height: 1rpx;background-color: #999;margin: 0 auto;opacity: .5;"></view>
|
<view style="width: 100%;height: 1rpx;background-color: #999;margin: 0 auto;opacity: .5;"></view>
|
||||||
<view class="timeAddress" style="position: relative;">
|
<view class="timeAddress" style="position: relative;">
|
||||||
@@ -85,7 +86,11 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
skillNames() {
|
skillNames() {
|
||||||
return this.companyitem.skillNames.split(',')
|
if(this.companyitem.skillNames) {
|
||||||
|
return this.companyitem.skillNames?.split(',')
|
||||||
|
} else {
|
||||||
|
return []
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@@ -31,6 +31,12 @@
|
|||||||
"navigationBarTitleText" : "岗位详情",
|
"navigationBarTitleText" : "岗位详情",
|
||||||
"navigationBarBackgroundColor" : "#FFFFFF"
|
"navigationBarBackgroundColor" : "#FFFFFF"
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
"path" : "pages/projectInfo/userrecruitInfo",
|
||||||
|
"style" : {
|
||||||
|
"navigationBarTitleText" : "招工详情",
|
||||||
|
"navigationBarBackgroundColor" : "#FFFFFF"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path" : "pages/projectInfo/signContract",
|
"path" : "pages/projectInfo/signContract",
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<view class="titleSearch">
|
<view class="titleSearch">
|
||||||
<view class="searchName">搜 索</view>
|
<view class="searchName">搜 索</view>
|
||||||
|
|
||||||
<u-search placeholder="搜任务/搜岗位/搜政策" @focus="goSeach" shape="round" :showAction="false"></u-search>
|
<u-search placeholder="搜任务/搜岗位/搜政策/搜招工" @focus="goSeach" shape="round" :showAction="false"></u-search>
|
||||||
</view>
|
</view>
|
||||||
<view class="navPosition" @click="navTo('/pages/project/projectList')">
|
<view class="navPosition" @click="navTo('/pages/project/projectList')">
|
||||||
<u-icon name="map" color="#2979ff" size="16"></u-icon>
|
<u-icon name="map" color="#2979ff" size="16"></u-icon>
|
||||||
@@ -64,28 +64,35 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
|
|
||||||
<block v-if="activeTab == 2">
|
<block v-if="activeTab == 2">
|
||||||
<!-- <view v-if="recommendList.length > 0">
|
<view>
|
||||||
<block v-for="(item, index) in recommendList" :key="item.id">
|
<!-- <view class="location" @click="gomap">
|
||||||
<companyList :companyitem="item"></companyList>
|
<image src="../../static/img/location.svg" mode=""></image>
|
||||||
</block>
|
{{ currentAddress }}(切换位置)
|
||||||
|
<image src="../../static/img/right.svg" mode=""></image>
|
||||||
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<view v-if="policyContentList.length > 0" style="padding-bottom: 20rpx;">
|
||||||
|
<block v-for="(item, index) in policyContentList" :key="item.id">
|
||||||
|
<userrecruitList :companyitem="item"></userrecruitList>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
<view v-else>
|
<view v-else>
|
||||||
<image src="../../static/img/pic_notask.svg" mode="" class="nothing"></image>
|
<image src="../../static/img/pic_notask.svg" mode="" class="nothing"></image>
|
||||||
<view class="nothingContnt">
|
<view class="nothingContnt">
|
||||||
完善技能,获取精推荐
|
暂无信息
|
||||||
</view>
|
</view>
|
||||||
<view class="btn" @click="goResume">
|
|
||||||
完善技能
|
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</block>
|
||||||
|
|
||||||
|
<!-- <block v-if="activeTab == 2">
|
||||||
|
|
||||||
<view v-for="(item, index) in policyContentList" :key="index" style="width: 90%;height: 100rpx;background-color: #fff;border-radius: 10rpx;margin:20rpx 5% 20rpx 5%;display: flex;align-items: center" @click="goPolicyInfo(item.id)">
|
<view v-for="(item, index) in policyContentList" :key="index" style="width: 90%;height: 100rpx;background-color: #fff;border-radius: 10rpx;margin:20rpx 5% 20rpx 5%;display: flex;align-items: center" @click="goPolicyInfo(item.id)">
|
||||||
<image :src="item.headPic" style="width: 60rpx;height: 60rpx;margin: 0 20rpx;"></image>
|
<image :src="item.headPic" style="width: 60rpx;height: 60rpx;margin: 0 20rpx;"></image>
|
||||||
<view style="font-size: 26rpx;">{{ item.articleTitle }}</view>
|
<view style="font-size: 26rpx;">{{ item.articleTitle }}</view>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</block> -->
|
||||||
|
|
||||||
<cs-button></cs-button>
|
<cs-button></cs-button>
|
||||||
</view>
|
</view>
|
||||||
@@ -98,12 +105,14 @@ import vTabs from '@/components/v-tabs/v-tabs.vue';
|
|||||||
import testData from '@/common/textdata.js';
|
import testData from '@/common/textdata.js';
|
||||||
import companyList from '@/components/companyList/companyList.vue';
|
import companyList from '@/components/companyList/companyList.vue';
|
||||||
import workList from '@/components/companyList/workList.vue'
|
import workList from '@/components/companyList/workList.vue'
|
||||||
|
import userrecruitList from './userrecruitList.vue'
|
||||||
import {
|
import {
|
||||||
newMissionAll,
|
newMissionAll,
|
||||||
recommendMission,
|
recommendMission,
|
||||||
nearMission
|
nearMission
|
||||||
} from '@/api/mission.js';
|
} from '@/api/mission.js';
|
||||||
import {getPolicyContent} from '@/api/newIndex.js'
|
import {getPolicyContent} from '@/api/newIndex.js'
|
||||||
|
import {getPushListByUserId } from '@/api/userrecruit.js'
|
||||||
import {
|
import {
|
||||||
getcoder
|
getcoder
|
||||||
} from "@/api/map.js";
|
} from "@/api/map.js";
|
||||||
@@ -114,7 +123,8 @@ export default {
|
|||||||
vTabs,
|
vTabs,
|
||||||
companyList,
|
companyList,
|
||||||
verticalMenu,
|
verticalMenu,
|
||||||
workList
|
workList,
|
||||||
|
userrecruitList
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
@@ -140,6 +150,11 @@ export default {
|
|||||||
size: 10,
|
size: 10,
|
||||||
total: 0
|
total: 0
|
||||||
},
|
},
|
||||||
|
policyPage: {
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
total: 0
|
||||||
|
},
|
||||||
currentAddress: '',
|
currentAddress: '',
|
||||||
currentPoint: {
|
currentPoint: {
|
||||||
latitude: 0,
|
latitude: 0,
|
||||||
@@ -149,7 +164,7 @@ export default {
|
|||||||
open: false,
|
open: false,
|
||||||
showPopUp: false,
|
showPopUp: false,
|
||||||
|
|
||||||
nonReactiveArray: ["推荐任务", "推荐岗位", "推荐政策"],
|
nonReactiveArray: ["推荐任务", "推荐岗位", "推荐招工"],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad: function () {
|
onLoad: function () {
|
||||||
@@ -251,9 +266,32 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
getPolicy(){
|
getPolicy(){
|
||||||
getPolicyContent(1).then(res=>{
|
let params = {
|
||||||
this.policyContentList=res.data.data.records
|
current: this.policyPage.current,
|
||||||
|
size: this.policyPage.size,
|
||||||
|
}
|
||||||
|
getPushListByUserId(params).then((res) => {
|
||||||
|
if(res.data.code === 200 ){
|
||||||
|
const {records, current, total, size } = res.data.data
|
||||||
|
console.log('个人招工', records, current, total, size)
|
||||||
|
if(!records.length) {
|
||||||
|
return uni.showToast({
|
||||||
|
icon: "none",
|
||||||
|
title: '没有更多了',
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
if(current === 1) {
|
||||||
|
this.policyContentList = records
|
||||||
|
} else {
|
||||||
|
this.policyContentList = this.policyContentList.concat(records);
|
||||||
|
}
|
||||||
|
this.policyPage.current = current + 1;
|
||||||
|
this.policyPage.total = total;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// getPolicyContent(1).then(res=>{
|
||||||
|
// this.policyContentList=res.data.data.records
|
||||||
|
// })
|
||||||
},
|
},
|
||||||
changeTab: function (e) {
|
changeTab: function (e) {
|
||||||
this.activeTab = e;
|
this.activeTab = e;
|
||||||
@@ -306,10 +344,10 @@ export default {
|
|||||||
if (this.newPage.current === 1) {
|
if (this.newPage.current === 1) {
|
||||||
this.newList = [];
|
this.newList = [];
|
||||||
}
|
}
|
||||||
this.newPage.current += 1;
|
|
||||||
this.newPage.total = res.data.data.total;
|
this.newPage.total = res.data.data.total;
|
||||||
if (res.data.data && res.data.data.records.length) {
|
if (res.data.data && res.data.data.records.length) {
|
||||||
this.newList = this.newList.concat(res.data.data.records);
|
this.newList = this.newList.concat(res.data.data.records);
|
||||||
|
this.newPage.current += 1;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -317,7 +355,8 @@ export default {
|
|||||||
upLoad: function () {
|
upLoad: function () {
|
||||||
if (this.activeTab === 0) {
|
if (this.activeTab === 0) {
|
||||||
if (this.nearPage.current <= Math.ceil(this.nearPage.total / this.nearPage.size)) {
|
if (this.nearPage.current <= Math.ceil(this.nearPage.total / this.nearPage.size)) {
|
||||||
this.getNearList(this.currentPoint);
|
// this.getNearList(this.currentPoint);
|
||||||
|
this.getNewList();
|
||||||
} else {
|
} else {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
icon: "none",
|
icon: "none",
|
||||||
@@ -338,22 +377,16 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (this.activeTab === 2) {
|
if (this.activeTab === 2) {
|
||||||
if (this.newPage.current <= Math.ceil(this.newPage.total / this.newPage.size)) {
|
this.getPolicy()
|
||||||
this.getNewList();
|
|
||||||
} else {
|
|
||||||
uni.showToast({
|
|
||||||
icon: "none",
|
|
||||||
title: '已经是最后一页',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//下拉刷新
|
//下拉刷新
|
||||||
download: function () {
|
download: function () {
|
||||||
if (this.activeTab === 0) {
|
if (this.activeTab === 0) {
|
||||||
this.nearPage.current = 1;
|
this.nearPage.current = 1;
|
||||||
|
this.newPage.current = 1;
|
||||||
this.getLocation();
|
this.getLocation();
|
||||||
|
this.getNewList();
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
uni.stopPullDownRefresh();
|
uni.stopPullDownRefresh();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
@@ -368,8 +401,8 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (this.activeTab === 2) {
|
if (this.activeTab === 2) {
|
||||||
this.newPage.current = 1;
|
this.policyPage.current = 1;
|
||||||
this.getNewList();
|
this.getPolicy()
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
uni.stopPullDownRefresh();
|
uni.stopPullDownRefresh();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
|
|||||||
230
pages/project/userrecruitList.vue
Normal file
230
pages/project/userrecruitList.vue
Normal file
@@ -0,0 +1,230 @@
|
|||||||
|
<template>
|
||||||
|
<view class="body" @click="goInfo(companyitem.id)">
|
||||||
|
<view class="heads">
|
||||||
|
<view class="head_left">
|
||||||
|
<rich-text :nodes="string">
|
||||||
|
</rich-text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="head_right">
|
||||||
|
{{ companyitem.wage }}{{ wageUnit[companyitem.wageUnitCategory] }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="ask">
|
||||||
|
<view class="askList">
|
||||||
|
{{ companyitem.tradeNames }}
|
||||||
|
</view>
|
||||||
|
<view class="askList" v-for="(item, index) in skillNames" :key="index">
|
||||||
|
{{ item }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="allName">
|
||||||
|
{{ companyitem.jobCompanyName }}
|
||||||
|
</view> -->
|
||||||
|
<view style="width: 100%;height: 1rpx;background-color: #999;margin: 0 auto;opacity: .5;"></view>
|
||||||
|
<view class="timeAddress" style="position: relative;">
|
||||||
|
<!-- <view v-if="companyitem.missionCompanyName">
|
||||||
|
{{ companyitem.missionCompanyName }}
|
||||||
|
</view> -->
|
||||||
|
<!-- <view>
|
||||||
|
<image src="../../static/img/city.png" style="width: 40rpx;height: 40rpx;" mode=""></image>
|
||||||
|
{{ companyitem.jobCompanyName }}
|
||||||
|
</view> -->
|
||||||
|
<view style="display: flex;align-items: center;">
|
||||||
|
<image src="../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 10rpx;" mode=""></image>
|
||||||
|
<view style="font-size: 26rpx;color:#333;">{{ companyitem.jobCompanyName }}</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view v-if="near">
|
||||||
|
{{ companyitem.distanceStr }}km
|
||||||
|
</view>
|
||||||
|
<view v-else>
|
||||||
|
{{ getCity(companyitem.cityId) }}
|
||||||
|
</view> -->
|
||||||
|
<view style="display: flex;align-items: center;position:absolute;right:0;">
|
||||||
|
<image src="../../static/img/location_new.png" style="width: 30rpx;height: 30rpx;" mode=""></image>
|
||||||
|
<view>2.2km</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="comment" v-if='comment' @tap.stop="goComment(companyitem.missionNo)">
|
||||||
|
<view class="comment_content commentimg" v-if='companyitem.scoreAll > 0'>
|
||||||
|
<image class="commentimg_image" src="../../static/img/star.full.svg" v-for="index1 in companyitem.scoreAll"
|
||||||
|
mode="" :key="index1"></image>
|
||||||
|
<image class="commentimg_image" src="../../static/img/star.empty.svg"
|
||||||
|
v-for="index2 in (5 - companyitem.scoreAll)" mode="" :key="index2"></image>
|
||||||
|
</view>
|
||||||
|
<view class="comment_content allName gocomment" v-else>
|
||||||
|
评价
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
toDoller,
|
||||||
|
dateFormat
|
||||||
|
} from "../../untils/format.js";
|
||||||
|
import dictionary from '@/common/textdata.js';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
beforeCreate: function () { },
|
||||||
|
props: {
|
||||||
|
companyitem: {
|
||||||
|
type: Object,
|
||||||
|
default() { return [] }
|
||||||
|
},
|
||||||
|
comment: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
noApply: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
near: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
...dictionary,
|
||||||
|
string: "<div style='overflow: hidden;white-space: nowrap;text-overflow: ellipsis;'>" + this.companyitem.jobName +
|
||||||
|
"</div>"
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
skillNames() {
|
||||||
|
return this.companyitem.skillNames.split(',')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
goComment: function (no) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `../../pageMy/mycomment/mycomment?missionNo=${encodeURIComponent(no)}`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
goInfo: function (no) {
|
||||||
|
console.log('11111')
|
||||||
|
const isCan = this.noApply === false ? '0' : '1'
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/projectInfo/userrecruitInfo?workId=${encodeURIComponent(no)}&isCan=${isCan}`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getCity: function (val) {
|
||||||
|
if (val) {
|
||||||
|
let areas = this.$store.getters.getAreaParents(val)
|
||||||
|
if (areas.length === 3) {
|
||||||
|
return areas[0].label + '-' + areas[1].label + '-' + areas[2].label
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toDoller,
|
||||||
|
dateFormat
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.commentimg_image {
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.commentimg {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gocomment {
|
||||||
|
font-size: 26rpx !important;
|
||||||
|
border-radius: 5rpx;
|
||||||
|
border: 1rpx solid #c3c3c3;
|
||||||
|
width: 160rpx;
|
||||||
|
text-align: center;
|
||||||
|
float: right;
|
||||||
|
height: 50rpx;
|
||||||
|
line-height: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeAddress {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #999999;
|
||||||
|
margin: 10rpx 0;
|
||||||
|
padding: 10rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.allName {
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.askList {
|
||||||
|
/* width: 14%; */
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #666666;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
padding: 5rpx 15rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ask {
|
||||||
|
overflow: hidden;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
margin: 20rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head_right {
|
||||||
|
ont-family: PingFangSC-Medium;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #F46161;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head_left {
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333333;
|
||||||
|
width: 350rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
/*不换行*/
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
/*超出部分文字以...显示*/
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight {
|
||||||
|
color: #F46161;
|
||||||
|
}
|
||||||
|
|
||||||
|
.body {
|
||||||
|
width: 690rpx;
|
||||||
|
margin: 0rpx auto;
|
||||||
|
background-color: #fefefe;
|
||||||
|
overflow: hidden;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 20rpx;
|
||||||
|
padding-bottom: 0;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.heads {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
571
pages/projectInfo/userrecruitInfo.vue
Normal file
571
pages/projectInfo/userrecruitInfo.vue
Normal file
@@ -0,0 +1,571 @@
|
|||||||
|
<template>
|
||||||
|
<view v-if="showDetail">
|
||||||
|
<view class="head">
|
||||||
|
<view class="proname">
|
||||||
|
{{info.jobName}}
|
||||||
|
</view>
|
||||||
|
<!-- <view class="prolist">
|
||||||
|
任务编码:{{info.missionNo}}
|
||||||
|
</view> -->
|
||||||
|
<view class="prolist">
|
||||||
|
发布日期:{{dateFormat((info.stime))}}
|
||||||
|
</view>
|
||||||
|
<view class="prolist">
|
||||||
|
招聘人数:{{info.peopleNum}}
|
||||||
|
</view>
|
||||||
|
<view class="prolist">
|
||||||
|
行业类型:{{info.tradeNames?info.tradeNames:info.jobCompanyIndustry}}
|
||||||
|
</view>
|
||||||
|
<view class="prolist">
|
||||||
|
工种类型:{{info.skillNames}}
|
||||||
|
</view>
|
||||||
|
<!-- <view class="fee">
|
||||||
|
{{info.wage}}{{wageUnit[info.wageUnitCategory]}}
|
||||||
|
</view> -->
|
||||||
|
</view>
|
||||||
|
<view class="head">
|
||||||
|
<view class="proname proneed">
|
||||||
|
岗位要求
|
||||||
|
</view>
|
||||||
|
<!-- <view class="prolist">
|
||||||
|
<view class="protype">
|
||||||
|
年龄要求:{{age[info.ageDesc]}}
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
<view class="prolist">
|
||||||
|
<view class="protype">
|
||||||
|
学历要求:{{info.education}}
|
||||||
|
</view>
|
||||||
|
<view class="protype">
|
||||||
|
经验要求:{{info.experienceDesc}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="prolist">
|
||||||
|
岗位地址:{{info.jobAddress}}
|
||||||
|
</view>
|
||||||
|
<view class="prolist proint" style="font-weight: bold;color:#333;">
|
||||||
|
任务描述
|
||||||
|
</view>
|
||||||
|
<view class="prolist description">
|
||||||
|
{{info.jobDescription}}
|
||||||
|
</view>
|
||||||
|
<!-- 技能标签 start -->
|
||||||
|
<view class="ask">
|
||||||
|
<view class="askList" v-for="(item,index) in skillNames" :key="index">
|
||||||
|
{{item}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 技能标签 end -->
|
||||||
|
<view v-if="info.jobSources" class="prolist">
|
||||||
|
来源:{{info.jobSources}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="head">
|
||||||
|
<!-- <view class="proname proneed">
|
||||||
|
企业信息
|
||||||
|
</view> -->
|
||||||
|
<!-- <view class="prolist">
|
||||||
|
{{info.companyName}}
|
||||||
|
</view> -->
|
||||||
|
<!-- <view class="prolist">
|
||||||
|
企业名称:{{info.jobCompanyName}}
|
||||||
|
</view> -->
|
||||||
|
<view style="display: flex;align-items: center;">
|
||||||
|
<image src="../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 20rpx;" mode=""></image>
|
||||||
|
<view style="font-size: 30rpx;">{{info.jobCompanyName}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="head">
|
||||||
|
<view class="proname proneed">
|
||||||
|
地址
|
||||||
|
</view>
|
||||||
|
<!-- <view class="prolist">
|
||||||
|
<view class="protype">
|
||||||
|
联系人:{{info.callName}}
|
||||||
|
</view>
|
||||||
|
<view class="protype">
|
||||||
|
联系方式:{{info.callTel}}
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
<!-- <view class="prolist" v-if="info.callNumber">
|
||||||
|
座机号:{{info.callNumber}}
|
||||||
|
</view> -->
|
||||||
|
<view class="prolist">
|
||||||
|
岗位地址:{{info.address}}
|
||||||
|
</view>
|
||||||
|
<map class="map" :latitude="latitude" :longitude="longitude" :markers="covers"></map>
|
||||||
|
</view>
|
||||||
|
<view class="" style="height:200rpx;background-color: #f6f6f6;" v-if="isShow!=='0'"></view>
|
||||||
|
<view class="btn" v-if="isShow!=='0'&&status===0">
|
||||||
|
<view @click="collect" style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
|
||||||
|
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||||
|
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png" style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||||
|
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
|
||||||
|
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view @click="callPhone" class="bottombtn flexbtn" style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||||
|
电话联系
|
||||||
|
</view>
|
||||||
|
<view @click="submit" class="bottombtn flexbtn" style="border-radius: 45rpx;">
|
||||||
|
申请
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="btn" v-if="isShow!=='0'&&status!==0">
|
||||||
|
<!-- <view class="bottombtn lookContract" @click="lookMask">查看合同</view> -->
|
||||||
|
<view @click="collect" style="display: flex;align-items: center;margin-right: 10rpx;flex-direction: column;">
|
||||||
|
<image v-if="collectStatus == 0" src="../../static/img/collect.png" style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||||
|
<image v-if="collectStatus == 1" src="../../static/img/collect_yes.png" style="width: 36rpx;height: 36rpx;" mode=""></image>
|
||||||
|
<view v-if="collectStatus == 0" style="font-size: 26rpx;color:#707070;margin-top:10rpx;">收藏</view>
|
||||||
|
<view v-if="collectStatus == 1" style="font-size: 20rpx;color:#707070;margin-top:10rpx;">已收藏</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view @click="callPhone" class="bottombtn flexbtn" style="margin-right: 10rpx;background-color: #FBAD17;border-radius: 45rpx;">
|
||||||
|
电话联系
|
||||||
|
</view>
|
||||||
|
<view class="bottombtn disabledBtn flexbtn" style="border-radius: 45rpx;">已申请</view>
|
||||||
|
</view>
|
||||||
|
<uniMask :maskShow="maskShow">
|
||||||
|
<view class="contractMask">
|
||||||
|
<!-- #ifdef H5 || APP-PLUS -->
|
||||||
|
<view class="close" @click="close" style="top: 124rpx;">+</view>
|
||||||
|
<!-- #endif -->
|
||||||
|
<!-- #ifdef MP-WEIXIN -->
|
||||||
|
<view class="close" @click="close">+</view>
|
||||||
|
<!-- #endif -->
|
||||||
|
<view style="height: 30px;"></view>
|
||||||
|
<img :src="src" alt="" style="width:100%;height: 1000px;">
|
||||||
|
<view v-if="nextBtn" class="down" @click="next">下一步</view>
|
||||||
|
</view>
|
||||||
|
</uniMask>
|
||||||
|
<u-popup closeable :show="showPopUp" mode="bottom" @close="closePopUp">
|
||||||
|
<view style="height: 200rpx;padding: 20rpx 40rpx;">
|
||||||
|
<view style="font-size: 28rpx;font-weight: bold;">重要提示:</view>
|
||||||
|
<view style="font-size: 24rpx;color:#707070;margin-top:10rpx;">为保障个人基本劳动权益,建议通过平台用工的形式就业</view>
|
||||||
|
<view style="text-align: center;font-size:28rpx;margin-top: 30rpx;"> {{ info.callName }} : {{ info.callTel }}</view>
|
||||||
|
</view>
|
||||||
|
</u-popup>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view v-else-if="showCode" class="codeSealBox">
|
||||||
|
<!-- #ifdef H5 || APP-PLUS -->
|
||||||
|
<view class="closeCode" @click="closeShowCode" style="top: 124rpx;">+</view>
|
||||||
|
<!-- #endif -->
|
||||||
|
<!-- #ifdef MP-WEIXIN -->
|
||||||
|
<view class="closeCode" @click="closeShowCode">+</view>
|
||||||
|
<!-- #endif -->
|
||||||
|
|
||||||
|
<view class="title">
|
||||||
|
<view class="name">签名密码</view>
|
||||||
|
<view class="tip">6位数字签名密码</view>
|
||||||
|
</view>
|
||||||
|
<view style="height: 36px;"></view>
|
||||||
|
<valid-code ref="validCode" @finish="getInpCode" :maxlength="maxlength"></valid-code>
|
||||||
|
<view style="height: 36px;"></view>
|
||||||
|
<view class="forget" @click="forget">忘记密码?</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {mapGetters} from 'vuex'
|
||||||
|
import {missionDetail,submit, getCollectState, updateCollectStatus, workDetail} from '@/api/mission.js';
|
||||||
|
import {GoLogin} from '@/untils/AxiosUtils.js';
|
||||||
|
import {setRead} from '@/api/news.js';
|
||||||
|
import {checkPass} from '@/api/auth.js';
|
||||||
|
import dictionary from '@/common/textdata.js';
|
||||||
|
import {dateFormat} from "../../untils/format.js";
|
||||||
|
import {userrecruitDetail} from '@/api/userrecruit.js'
|
||||||
|
import uniMask from '@/components/uni-mask/mask.vue'
|
||||||
|
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
...dictionary,
|
||||||
|
info: {},
|
||||||
|
status: null,
|
||||||
|
showDetail: false,
|
||||||
|
showCode: false,
|
||||||
|
maskShow: false,
|
||||||
|
nextBtn: false,
|
||||||
|
loading: false,
|
||||||
|
latitude: 39.909, //中心点
|
||||||
|
longitude: 116.39742,
|
||||||
|
covers: [{ //marker标记位置
|
||||||
|
id: 0,
|
||||||
|
latitude: 0,
|
||||||
|
longitude: 0,
|
||||||
|
// width:30,
|
||||||
|
// height:30,
|
||||||
|
iconPath: '../../static/img/location.png'
|
||||||
|
}],
|
||||||
|
missionNo: "",
|
||||||
|
isShow: '',
|
||||||
|
type: '',
|
||||||
|
id: '',
|
||||||
|
src: 'https://jlfiles.oss-cn-zhangjiakou.aliyuncs.com/jobslink-api/doc/%E7%94%B5%E5%AD%90%E5%90%88%E5%90%8C%E9%A2%84%E8%A7%88%E5%9B%BE%E7%89%87.png',
|
||||||
|
maxlength: 6,
|
||||||
|
collectStatus: 0, // 收藏状态
|
||||||
|
showPopUp: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
components: {uniMask,validCode},
|
||||||
|
onLoad: function(option) { //option为object类型,会序列化上个页面传递的参数
|
||||||
|
// this.$store.dispatch('setAutograph')
|
||||||
|
if (option.workId) {
|
||||||
|
this.workId = decodeURIComponent(option.workId);
|
||||||
|
}
|
||||||
|
if (option.isCan) {
|
||||||
|
this.isShow = option.isCan; //isShow为'0'则为我的任务、我的评价过来的,需要隐藏抢任务按钮
|
||||||
|
}
|
||||||
|
if (option.type) {
|
||||||
|
this.type = option.type; //type为1则为消息邀请过来的,需要设置消息已读;
|
||||||
|
}
|
||||||
|
if (option.id) {
|
||||||
|
this.id = option.id; //消息id
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onShow: function() {
|
||||||
|
this.showDetail = true
|
||||||
|
this.getData();
|
||||||
|
|
||||||
|
},
|
||||||
|
onShareAppMessage(obj) {
|
||||||
|
return {
|
||||||
|
title: this.info.missionTitle,
|
||||||
|
path: `/pages/projectInfo/projectInfo?missionNo=${this.info.missionNo}`
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
dateFormat,
|
||||||
|
collect() {
|
||||||
|
// console.log('收藏,取消收藏')
|
||||||
|
const status = this.collectStatus == 0 ? 1 : 0;
|
||||||
|
updateCollectStatus(this.info.id, status, 2).then(res => {
|
||||||
|
if(res.data.code == 200) {
|
||||||
|
this.getCollectStatus()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
callPhone() {
|
||||||
|
this.showPopUp = true;
|
||||||
|
},
|
||||||
|
closePopUp() {
|
||||||
|
this.showPopUp = false;
|
||||||
|
},
|
||||||
|
// 获取收藏状态
|
||||||
|
getCollectStatus() {
|
||||||
|
getCollectState(this.info.id, 2).then(res => {
|
||||||
|
// 0 未收藏,1 已收藏
|
||||||
|
// console.log(res)
|
||||||
|
this.collectStatus = res.data.data;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getData: function() {
|
||||||
|
const self = this;
|
||||||
|
userrecruitDetail(self.workId).then(res => {
|
||||||
|
self.info = res.data.data;
|
||||||
|
self.status = res.data.data.status;
|
||||||
|
self.missionNo = res.data.data.missionNo;
|
||||||
|
self.latitude = self.info.lat;
|
||||||
|
self.longitude = self.info.lon;
|
||||||
|
self.covers[0].latitude = self.info.lat;
|
||||||
|
self.covers[0].longitude = self.info.lon;
|
||||||
|
self.showDetail = true;
|
||||||
|
self.getCollectStatus();
|
||||||
|
if (self.type === 1) {
|
||||||
|
// 设置已读
|
||||||
|
setRead(self.id).then(res => {
|
||||||
|
self.$store.commit("SET_READ");
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}, error => {
|
||||||
|
console.log(error);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
submit: function() {
|
||||||
|
if (!this.$store.state.user.token) {
|
||||||
|
GoLogin()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(this.loading) return
|
||||||
|
const auth = this.auth
|
||||||
|
const contractOn = this.info.contractOn
|
||||||
|
const sealOk = this.autograph && this.autograph.data && this.autograph.data.signSrcUrl
|
||||||
|
// if (sealOk) {
|
||||||
|
// console.log('直接抢任务')
|
||||||
|
// this.submitTask()
|
||||||
|
// } else
|
||||||
|
// if (!auth.realNameState || !auth.laborState || !auth.insureState) {
|
||||||
|
// this.goSign(0)
|
||||||
|
// } else if (!auth.bankCardState){
|
||||||
|
// this.goSign(1)
|
||||||
|
// } else
|
||||||
|
if (contractOn && !sealOk) {
|
||||||
|
this.goSign(2)
|
||||||
|
} else if (sealOk && contractOn){
|
||||||
|
this.nextBtn = true
|
||||||
|
this.lookMask()
|
||||||
|
} else {
|
||||||
|
this.submitTask()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 查看合同
|
||||||
|
lookMask(){
|
||||||
|
this.maskShow = true
|
||||||
|
},
|
||||||
|
// 岗位申请
|
||||||
|
submitTask(){
|
||||||
|
submit(this.missionNo,2).then(res => {
|
||||||
|
uni.hideLoading()
|
||||||
|
uni.showToast({
|
||||||
|
title: '操作成功',
|
||||||
|
icon: 'none'
|
||||||
|
});
|
||||||
|
this.status = null;
|
||||||
|
this.loading = false
|
||||||
|
}, error => {
|
||||||
|
this.loading = false
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 步骤
|
||||||
|
goSign(active){
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/projectInfo/signContract?active=${active}`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 关闭弹窗
|
||||||
|
close(){
|
||||||
|
this.maskShow = false
|
||||||
|
},
|
||||||
|
// 合同下一步
|
||||||
|
next(){
|
||||||
|
this.maskShow = false
|
||||||
|
this.showDetail = false
|
||||||
|
this.showCode = true
|
||||||
|
},
|
||||||
|
// 输入签名密码
|
||||||
|
getInpCode(password){
|
||||||
|
uni.showLoading({
|
||||||
|
title:"请求中..."
|
||||||
|
})
|
||||||
|
this.loading = true
|
||||||
|
var obj = {
|
||||||
|
pass: password
|
||||||
|
}
|
||||||
|
checkPass(obj).then(res => {
|
||||||
|
this.submitTask()
|
||||||
|
this.closeShowCode()
|
||||||
|
}).catch(err => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 关闭签名密码弹窗
|
||||||
|
closeShowCode(){
|
||||||
|
this.showCode = false
|
||||||
|
this.showDetail = true
|
||||||
|
},
|
||||||
|
// 忘记密码
|
||||||
|
forget(){
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pageMy/setUserBase/seal/forget?forget=true`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(['auth', 'autograph']),
|
||||||
|
skillNames() {
|
||||||
|
if (this.info.skillNames) {
|
||||||
|
return this.info.skillNames.split(',')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.codeSealBox{
|
||||||
|
padding: 285rpx 72rpx 0 72rpx;
|
||||||
|
.closeCode{
|
||||||
|
position: absolute;
|
||||||
|
right: 36rpx;
|
||||||
|
top: 120rpx;
|
||||||
|
color: #1B66FF;
|
||||||
|
transform: rotate(45deg);
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
.title{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.name{
|
||||||
|
height: 46rpx;
|
||||||
|
font-size: 46rpx;
|
||||||
|
font-family: PingFangSC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 46rpx;
|
||||||
|
margin-right: 28rpx;
|
||||||
|
}
|
||||||
|
.tip{
|
||||||
|
height: 38rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
line-height: 38rpx;
|
||||||
|
}
|
||||||
|
.forget{
|
||||||
|
height: 38rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #5AA0FA;
|
||||||
|
line-height: 38rpx;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.contractMask{
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
margin: 30rpx;
|
||||||
|
position: relative;
|
||||||
|
border-radius: 4px;
|
||||||
|
height: 96%;
|
||||||
|
overflow: auto;
|
||||||
|
.close{
|
||||||
|
width: 23px;
|
||||||
|
height: 23px;
|
||||||
|
color: #1B66FF;
|
||||||
|
position: fixed;
|
||||||
|
right: 60rpx;
|
||||||
|
top: 60rpx;
|
||||||
|
transform: rotate(45deg);
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
.down{
|
||||||
|
position:fixed;
|
||||||
|
bottom: 30px;
|
||||||
|
left:14%;
|
||||||
|
width: 545rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
text-align: center;
|
||||||
|
background: #1B66FF;
|
||||||
|
font-size: 36rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.lookContract{
|
||||||
|
width: 30%;
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
|
.flexbtn{
|
||||||
|
flex:1;
|
||||||
|
}
|
||||||
|
.bottombtn {
|
||||||
|
background-color: #1B66FF;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 32rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
background-color: #fefefe;
|
||||||
|
width: 690rpx;
|
||||||
|
padding: 30rpx;
|
||||||
|
padding-bottom: 80rpx;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
display:flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabledBtn {
|
||||||
|
background-color: #c8c9cc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map {
|
||||||
|
width: 100%;
|
||||||
|
height: 350rpx;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.askList {
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #666666;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
padding: 5rpx 15rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
margin-top: 15rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ask {
|
||||||
|
overflow: hidden;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
margin: 20rpx 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.proint {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
font-size: 30rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.proneed {
|
||||||
|
font-size: 32rpx !important;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.fee {
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #F46161;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.protype {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prolist {
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666666;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
text-align: left;
|
||||||
|
padding: 5rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.proname {
|
||||||
|
font-weight: bold;
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-size: 40rpx;
|
||||||
|
color: #333333;
|
||||||
|
width: 90%;
|
||||||
|
overflow: hidden;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head {
|
||||||
|
padding: 30rpx;
|
||||||
|
background: #fefefe;
|
||||||
|
border-bottom: 20rpx solid #f6f6f6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description {
|
||||||
|
word-break: break-all;
|
||||||
|
white-space: pre-line;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -174,6 +174,7 @@
|
|||||||
import {checkPass} from '@/api/auth.js';
|
import {checkPass} from '@/api/auth.js';
|
||||||
import dictionary from '@/common/textdata.js';
|
import dictionary from '@/common/textdata.js';
|
||||||
import {dateFormat} from "../../untils/format.js";
|
import {dateFormat} from "../../untils/format.js";
|
||||||
|
import {userrecruitDetail} from '@/api/userrecruit.js'
|
||||||
import uniMask from '@/components/uni-mask/mask.vue'
|
import uniMask from '@/components/uni-mask/mask.vue'
|
||||||
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
import validCode from '@/components/p-valid-code/p-valid-code.vue'
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<view class="search-item">
|
<view class="search-item">
|
||||||
<image src="../../static/img/search.svg" style="width: 32rpx;height: 32rpx;" mode=""></image>
|
<image src="../../static/img/search.svg" style="width: 32rpx;height: 32rpx;" mode=""></image>
|
||||||
<input type="text" confirm-type="搜索" v-model="keywords" @confirm="getNewList('search')"
|
<input type="text" confirm-type="搜索" v-model="keywords" @confirm="getNewList('search')"
|
||||||
placeholder="搜任务/搜岗位/搜政策" />
|
placeholder="搜任务/搜岗位/搜政策/搜招工" />
|
||||||
<view @click="getNewList('search')" style="width: 80rpx;height: 50rpx;color:#fff;background-color: #0091ff;font-size:24rpx;text-align: center;line-height: 50rpx;border-radius: 25rpx;;">搜索</view>
|
<view @click="getNewList('search')" style="width: 80rpx;height: 50rpx;color:#fff;background-color: #0091ff;font-size:24rpx;text-align: center;line-height: 50rpx;border-radius: 25rpx;;">搜索</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="close" @click="closeBack">
|
<!-- <view class="close" @click="closeBack">
|
||||||
@@ -37,6 +37,7 @@
|
|||||||
<view class="type" v-if="item.type == 0">任务</view>
|
<view class="type" v-if="item.type == 0">任务</view>
|
||||||
<view class="type" v-else-if="item.type == 1">岗位</view>
|
<view class="type" v-else-if="item.type == 1">岗位</view>
|
||||||
<view class="type" v-else-if="item.type == 2">政策</view>
|
<view class="type" v-else-if="item.type == 2">政策</view>
|
||||||
|
<view class="type" v-else-if="item.type == 3">招工</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="searchResultList.length > 0" style="text-align: center;font-size: 26rpx;margin-top: 20rpx;color:#999;">没有更多数据了</view>
|
<view v-if="searchResultList.length > 0" style="text-align: center;font-size: 26rpx;margin-top: 20rpx;color:#999;">没有更多数据了</view>
|
||||||
<view v-if="searchResultList.length == 0" style="text-align: center;font-size: 26rpx;margin-top: 20rpx;">暂无数据</view>
|
<view v-if="searchResultList.length == 0" style="text-align: center;font-size: 26rpx;margin-top: 20rpx;">暂无数据</view>
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ module.exports = {
|
|||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
// target: 'http://192.168.3.104:8000', // 本地服务接口地址
|
// target: 'http://192.168.3.104:8000', // 本地服务接口地址
|
||||||
target: "http://39.98.184.58:8000", // 阿里云后台地址
|
// target: "http://39.98.184.58:8000", // 阿里云后台地址
|
||||||
// target: "http://192.168.0.101:8000", // 本地网关
|
// target: "http://192.168.0.101:8000", // 本地网关
|
||||||
// target: 'http://192.168.3.111:8000', // 本地服务接口地址
|
target: 'http://192.168.3.111:8000', // 本地服务接口地址
|
||||||
ws: true,
|
ws: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
'^/api': '/'
|
'^/api': '/'
|
||||||
|
|||||||
Reference in New Issue
Block a user