Browse Source

上传修改

master
前端-胡立永 4 months ago
parent
commit
530f318fbd
24 changed files with 359 additions and 304 deletions
  1. +3
    -42
      api/api.js
  2. +35
    -0
      api/model/collect.js
  3. +0
    -16
      api/model/index-lzx.js
  4. +10
    -0
      api/model/resume.js
  5. +1
    -0
      components/list/bossList/index.vue
  6. +10
    -2
      components/list/userList/index.vue
  7. +14
    -5
      components/list/userList/userItem.vue
  8. +5
    -2
      components/list/userList/userListSwipe.vue
  9. +3
    -0
      components/list/workList/index.vue
  10. +4
    -1
      components/list/workList/workItem.vue
  11. +1
    -1
      config.js
  12. +1
    -1
      manifest.json
  13. +48
    -19
      pages.json
  14. +1
    -1
      pages/index/consult.vue
  15. +18
    -6
      pages/index/index.vue
  16. +2
    -1
      pages_order/auth/certification.vue
  17. +3
    -0
      pages_order/mine/collect.vue
  18. +3
    -0
      pages_order/mine/contactRecord.vue
  19. +2
    -0
      pages_order/mine/releaseWork.vue
  20. +4
    -1
      pages_order/mine/seeMy.vue
  21. +4
    -0
      pages_order/work/bossDetail.vue
  22. +181
    -200
      pages_order/work/workDetail.vue
  23. +2
    -2
      store/store.js
  24. +4
    -4
      uni_modules/uv-empty/components/uv-empty/props.js

+ 3
- 42
api/api.js View File

@ -9,6 +9,8 @@ const models = [
'score', 'boss', 'login', 'vip', 'company', 'work','index-lzx', 'resume', 'score', 'boss', 'login', 'vip', 'company', 'work','index-lzx', 'resume',
'config', 'config',
'examination', 'examination',
'collect',
'contact',
] ]
const config = { const config = {
@ -21,8 +23,6 @@ const config = {
// getConfig : {url : '/api/getConfig', method : 'GET', limit : 500}, // getConfig : {url : '/api/getConfig', method : 'GET', limit : 500},
/** /**
* 公共的接口 * 公共的接口
*/ */
@ -123,22 +123,7 @@ const config = {
*/ */
//获取工作信息列表
// employeeQueryJobList: {
// url: '/api/employee/queryJobListByAll',
// method: 'GET',
// },
//根据Id查看工作详情
// employeeQueryJobById: {
// url: '/api/employee/queryJobById',
// method: 'GET',
// },
//我的收藏
employeeQueryCollectionJobList: {
url: '/api/employee/queryJobCollectionList',
method: 'GET',
auth: true,
},
//我的找活 //我的找活
employeeQueryResumeByUserId: { employeeQueryResumeByUserId: {
url: '/api/employee/queryResumeByUserId', url: '/api/employee/queryResumeByUserId',
@ -161,36 +146,12 @@ const config = {
/** /**
* boss的接口 * boss的接口
*/ */
//获取简历列表
bossQueryJobList: {
url: '/employ/resume/queryResumeList',
method: 'GET',
},
//根据Id查看简历详情
bossQueryResumeById: {
url: '/employ/resume/queryResumeById',
method: 'GET',
},
//电子合同-获取电子合同列表 //电子合同-获取电子合同列表
bossQueryContractList: { bossQueryContractList: {
url: '/api/boss/queryContractList', url: '/api/boss/queryContractList',
method: 'GET', method: 'GET',
auth: true, auth: true,
}, },
//我的收藏
bossQueryCollectionJobList: {
url: '/api/boss/queryJobCollectionList',
method: 'GET',
auth: true,
},
//我的招工
// bossQueryJobListByUserId: {
// url: '/api/boss/queryJobListByUserId',
// method: 'GET',
// auth: true,
// },
} }


+ 35
- 0
api/model/collect.js View File

@ -0,0 +1,35 @@
// 收藏相关接口
const api = {
//我的收藏-添加简历收藏
addResumeCollection: {
url: '/employ/collection/addResumeCollection',
method: 'POST',
auth: true,
limit : 500,
showLoading : true,
},
//我的收藏-添加工作收藏
addJobCollection: {
url: '/employ/collection/addJobCollection',
method: 'POST',
auth: true,
limit : 500,
showLoading : true,
},
//我的收藏工作
employeeQueryCollectionJobList: {
url: '/employ/collection/queryJobCollectionList',
method: 'GET',
auth: true,
},
//我的收藏,简历
bossQueryCollectionJobList: {
url: '/employ/collection/queryResumeCollectionList',
method: 'GET',
auth: true,
},
}
export default api

+ 0
- 16
api/model/index-lzx.js View File

@ -59,22 +59,6 @@ const api = {
limit : 500, limit : 500,
showLoading : true, showLoading : true,
}, },
//我的收藏-添加简历收藏
addResumeCollection: {
url: '/employ/collection/addResumeCollection',
method: 'POST',
auth: true,
limit : 500,
showLoading : true,
},
//我的收藏-添加工作收藏
addJobCollection: {
url: '/employ/collection/addJobCollection',
method: 'POST',
auth: true,
limit : 500,
showLoading : true,
},
//面对面分享 //面对面分享
getInviteCode: { getInviteCode: {
url: '/employ/share/getInviteCode', url: '/employ/share/getInviteCode',


+ 10
- 0
api/model/resume.js View File

@ -15,6 +15,16 @@ const api = {
method: 'GET', method: 'GET',
auth : true, auth : true,
}, },
//获取简历列表
bossQueryJobList: {
url: '/employ/resume/queryResumeList',
method: 'GET',
},
//根据Id查看简历详情
bossQueryResumeById: {
url: '/employ/resume/queryResumeById',
method: 'GET',
},
} }
export default api export default api

+ 1
- 0
components/list/bossList/index.vue View File

@ -45,6 +45,7 @@
} }
this.$api(this.api, this.queryParams, res => { this.$api(this.api, this.queryParams, res => {
uni.stopPullDownRefresh()
if(res.code == 200){ if(res.code == 200){
this.list = res.result.records || res.result this.list = res.result.records || res.result
this.total = res.result.total || res.result.length this.total = res.result.total || res.result.length


+ 10
- 2
components/list/userList/index.vue View File

@ -8,8 +8,13 @@
@click="$utils.navigateTo('/pages_order/work/userDetail?id=' + item.id)" @click="$utils.navigateTo('/pages_order/work/userDetail?id=' + item.id)"
:key="index" :key="index"
v-for="(item, index) in list"> v-for="(item, index) in list">
<userItem :item="keyName ? item[keyName] : item"/>
<userItem :item="keyName ? item[keyName] : item"
:headImage="item.headImage"
:sex="item.sex"
/>
</view> </view>
<uv-empty mode="list" v-if="list.length == 0"></uv-empty>
</view> </view>
</scroll-view> </scroll-view>
</template> </template>
@ -28,7 +33,9 @@
default : 'bossQueryJobList' default : 'bossQueryJobList'
}, },
handleData : {}, handleData : {},
keyName : {}
keyName : {
default : ''
}
}, },
data() { data() {
return { return {
@ -47,6 +54,7 @@
} }
this.$api(this.api, this.queryParams, res => { this.$api(this.api, this.queryParams, res => {
uni.stopPullDownRefresh()
if(res.code == 200){ if(res.code == 200){
this.list = res.result.records || res.result this.list = res.result.records || res.result
this.total = res.result.total || res.result.length this.total = res.result.total || res.result.length


+ 14
- 5
components/list/userList/userItem.vue View File

@ -19,7 +19,7 @@
</view> </view>
<view class="tips"> <view class="tips">
<!-- · 汉族 · 本科 · 应届生 --> <!-- · 汉族 · 本科 · 应届生 -->
{{ item.sex }} · {{ item.nation }} · {{ item.qualification }} · 应届生
{{ sex || item.sex }} · {{ item.nation }} · {{ item.qualification }}
</view> </view>
</view> </view>
<view class="right"> <view class="right">
@ -44,7 +44,7 @@
<view class="bottom"> <view class="bottom">
<view class="time"> <view class="time">
<!-- 09月23日 1620 --> <!-- 09月23日 1620 -->
{{ $dayjs(item.createTime).format('YYYY-MM-DD') }}
{{ $dayjs(createTime || item.createTime).format('YYYY-MM-DD') }}
</view> </view>
<view class="phone"> <view class="phone">
<image src="/static/image/home/phone.png" mode=""></image> <image src="/static/image/home/phone.png" mode=""></image>
@ -59,7 +59,16 @@
props : { props : {
item : { item : {
default : {} default : {}
}
},
createTime : {
default : '',
},
image : {
default : ''
},
sex : {
default : ''
},
}, },
data() { data() {
return { return {
@ -68,8 +77,8 @@
}, },
computed : { computed : {
headImage(){ headImage(){
return this.item.headImage || '/static/image/center/headImage.png'
}
return this.image || this.item.headImage || '/static/image/center/headImage.png'
},
}, },
methods: { methods: {


+ 5
- 2
components/list/userList/userListSwipe.vue View File

@ -8,7 +8,8 @@
<uv-swipe-action-item <uv-swipe-action-item
@click="e => clickSwipeAction(e, item)" @click="e => clickSwipeAction(e, item)"
:options="options"> :options="options">
<userItem :item="keyName ? item[keyName] : item"/>
<userItem :item="keyName ? item[keyName] : item"
:createTime="item.createTime"/>
</uv-swipe-action-item> </uv-swipe-action-item>
</view> </view>
</uv-swipe-action> </uv-swipe-action>
@ -34,7 +35,9 @@
list : { list : {
default : [] default : []
}, },
keyName : {}
keyName : {
default : ''
},
}, },
data() { data() {
return { return {


+ 3
- 0
components/list/workList/index.vue View File

@ -10,6 +10,8 @@
v-for="(item, index) in list"> v-for="(item, index) in list">
<workItem :item="keyName ? item[keyName] : item"/> <workItem :item="keyName ? item[keyName] : item"/>
</view> </view>
<uv-empty mode="list" v-if="list.length == 0"></uv-empty>
</view> </view>
</scroll-view> </scroll-view>
</template> </template>
@ -57,6 +59,7 @@
} }
this.$api(this.api, queryParams, res => { this.$api(this.api, queryParams, res => {
uni.stopPullDownRefresh()
if(res.code == 200){ if(res.code == 200){
this.list = res.result.records this.list = res.result.records
this.total = res.result.total this.total = res.result.total


+ 4
- 1
components/list/workList/workItem.vue View File

@ -109,16 +109,19 @@
.bottom{ .bottom{
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: flex-end;
align-items: center;
font-size: 24rpx; font-size: 24rpx;
gap: 16rpx;
.time{ .time{
color: #999999; color: #999999;
flex-shrink: 0;
} }
.phone{ .phone{
background-color: rgba($uni-color, 0.2); background-color: rgba($uni-color, 0.2);
color: $uni-color; color: $uni-color;
padding: 8rpx 16rpx; padding: 8rpx 16rpx;
border-radius: 10rpx; border-radius: 10rpx;
flex-shrink: 0;
image{ image{
width: 20rpx; width: 20rpx;
height: 20rpx; height: 20rpx;


+ 1
- 1
config.js View File

@ -7,7 +7,7 @@ import uvUI from '@/uni_modules/uv-ui-tools'
Vue.use(uvUI); Vue.use(uvUI);
// 当前环境 // 当前环境
const type = 'prod'
const type = 'dev'
// 环境配置 // 环境配置


+ 1
- 1
manifest.json View File

@ -1,5 +1,5 @@
{ {
"name" : "特易招",
"name" : "unapp模板",
"appid" : "__UNI__FCE26BB", "appid" : "__UNI__FCE26BB",
"description" : "", "description" : "",
"versionName" : "1.0.0", "versionName" : "1.0.0",


+ 48
- 19
pages.json View File

@ -2,26 +2,25 @@
"pages": [{ "pages": [{
"path": "pages/index/index", "path": "pages/index/index",
"style": { "style": {
"navigationBarTitleText": "",
"navigationBarTextStyle": "white"
"navigationBarTextStyle": "white",
"enablePullDownRefresh": true
} }
}, },
{ {
"path": "pages/index/consult", "path": "pages/index/consult",
"style": { "style": {
"navigationBarTitleText": ""
"enablePullDownRefresh": true
} }
}, },
{ {
"path": "pages/index/keepAccounts", "path": "pages/index/keepAccounts",
"style": { "style": {
"navigationBarTitleText": ""
"enablePullDownRefresh": true
} }
}, },
{ {
"path": "pages/index/center", "path": "pages/index/center",
"style": { "style": {
"navigationBarTitleText": "",
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }
} }
@ -53,68 +52,92 @@
"path": "mine/help" "path": "mine/help"
}, },
{ {
"path": "work/workDetail"
"path": "work/workDetail",
"style": {
"enablePullDownRefresh": true
}
}, },
{ {
"path": "work/bossDetail"
"path": "work/bossDetail",
"style": {
"enablePullDownRefresh": true
}
}, },
{ {
"path": "mine/collect", "path": "mine/collect",
"style": { "style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }
}, },
{ {
"path": "mine/contactRecord", "path": "mine/contactRecord",
"style": { "style": {
"navigationBarTitleText": "",
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }
}, },
{ {
"path": "mine/releaseWork", "path": "mine/releaseWork",
"style": { "style": {
"navigationBarTitleText": "",
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }
}, },
{ {
"path": "mine/seeMy", "path": "mine/seeMy",
"style": { "style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }
}, },
{ {
"path": "mine/contract"
"path": "mine/contract",
"style": {
"enablePullDownRefresh": true
}
}, },
{ {
"path": "mine/promotion" "path": "mine/promotion"
}, },
{ {
"path": "mine/IntegralRecord"
"path": "mine/IntegralRecord",
"style": {
"enablePullDownRefresh": true
}
}, },
{ {
"path": "mine/MemberRecharge"
"path": "mine/MemberRecharge",
"style": {
"enablePullDownRefresh": true
}
}, },
{ {
"path": "mine/GainPoints" "path": "mine/GainPoints"
}, },
{ {
"path": "kepp/AnnualExpenditure"
"path": "kepp/AnnualExpenditure",
"style": {
"enablePullDownRefresh": true
}
}, },
{ {
"path": "kepp/MechanicProblem" "path": "kepp/MechanicProblem"
}, },
{ {
"path": "work/workList"
"path": "work/workList",
"style": {
"enablePullDownRefresh": true
}
}, },
{ {
"path": "mine/setting" "path": "mine/setting"
}, },
{ {
"path": "work/userDetail"
"path": "work/userDetail",
"style": {
"enablePullDownRefresh": true
}
}, },
{ {
"path": "auth/certification" "path": "auth/certification"
@ -123,7 +146,10 @@
"path": "work/jobPosting" "path": "work/jobPosting"
}, },
{ {
"path": "kepp/keepAccountsDetail"
"path": "kepp/keepAccountsDetail",
"style": {
"enablePullDownRefresh": true
}
}, },
{ {
"path": "mine/InvitationCredit" "path": "mine/InvitationCredit"
@ -141,7 +167,10 @@
"path": "mine/about" "path": "mine/about"
}, },
{ {
"path": "mine/redeemCode"
"path": "mine/redeemCode",
"style": {
"enablePullDownRefresh": true
}
}, },
{ {
"path": "kepp/addPriceEntryRecords" "path": "kepp/addPriceEntryRecords"


+ 1
- 1
pages/index/consult.vue View File

@ -75,9 +75,9 @@
margin: 30rpx; margin: 30rpx;
.image{ .image{
width: 200rpx; width: 200rpx;
min-height: 300rpx;
border-radius: 20rpx; border-radius: 20rpx;
margin-right: 20rpx; margin-right: 20rpx;
flex-shrink: 0;
} }
.info{ .info{
.title{ .title{


+ 18
- 6
pages/index/index.vue View File

@ -67,7 +67,7 @@
v-if="role" v-if="role"
mode="widthFix"></image> mode="widthFix"></image>
<image src="/static/image/home/x1.png"
<image src="/static/image/home/x2.png"
v-else v-else
mode="widthFix"></image> mode="widthFix"></image>
</view> </view>
@ -113,14 +113,13 @@
return { return {
productList: [], productList: [],
keyword : '', keyword : '',
numInfo:{}
numInfo : {},
} }
}, },
onPullDownRefresh(){ onPullDownRefresh(){
// this.$refs.videoList.queryVideoList()
// this.queryBannerList()
this.$refs.workList.getData()
this.$store.commit('getBanner')
}, },
// //
onShow() { onShow() {
this.$refs.workList.getData() this.$refs.workList.getData()
@ -134,6 +133,9 @@
methods: { methods: {
// //
getUserCenterData(){ getUserCenterData(){
if(!uni.getStorageSync('token')){
return
}
this.$api('getUserCenterData',{}, res =>{ this.$api('getUserCenterData',{}, res =>{
if(res.code == 200){ if(res.code == 200){
this.numInfo = res.result this.numInfo = res.result
@ -156,7 +158,17 @@
}, },
// //
switchIdentity(){ switchIdentity(){
this.$store.commit('setRole', !this.role)
uni.showModal({
title: `确认切换到${
this.role ? '师傅' : '雇主'
}身份吗`,
success : e => {
this.$store.commit('setRole', !this.role)
this.$nextTick(() => {
this.$refs.workList.getData()
})
}
})
}, },
} }
} }


+ 2
- 1
pages_order/auth/certification.vue View File

@ -134,10 +134,11 @@
getAuthenticationPerson(){ getAuthenticationPerson(){
this.$api('getAuthenticationPerson',{}, res =>{ this.$api('getAuthenticationPerson',{}, res =>{
if(res.code == 200){ if(res.code == 200){
this.sub = res.result.status;
this.form = res.result || {}; this.form = res.result || {};
this.sub = this.form.status || 0;
this.fileList = this.form.image ? this.form.image.split(',').map(url => { this.fileList = this.form.image ? this.form.image.split(',').map(url => {
return { return {
url url


+ 3
- 0
pages_order/mine/collect.vue View File

@ -10,6 +10,7 @@
<userListSwipe <userListSwipe
:options="options" :options="options"
v-if="role" v-if="role"
keyName="employResume"
@clickSwipeAction="clickSwipeAction" @clickSwipeAction="clickSwipeAction"
:list="list"/> :list="list"/>
@ -19,6 +20,8 @@
keyName="employJob" keyName="employJob"
@clickSwipeAction="clickSwipeAction" @clickSwipeAction="clickSwipeAction"
:list="list"/> :list="list"/>
<uv-empty mode="list" v-if="list.length == 0"></uv-empty>
</view> </view>
</template> </template>


+ 3
- 0
pages_order/mine/contactRecord.vue View File

@ -78,6 +78,9 @@
this.$refs.list.getData() this.$refs.list.getData()
}) })
}, },
onPullDownRefresh(){
this.$refs.list.getData()
},
onReachBottom() { onReachBottom() {
this.$refs.list.loadMoreData() this.$refs.list.loadMoreData()
}, },


+ 2
- 0
pages_order/mine/releaseWork.vue View File

@ -22,6 +22,8 @@
v-else v-else
@clickSwipeAction="clickSwipeAction" @clickSwipeAction="clickSwipeAction"
:list="list"/> :list="list"/>
<uv-empty mode="list" v-if="list.length == 0"></uv-empty>
</view> </view>
</template> </template>


+ 4
- 1
pages_order/mine/seeMy.vue View File

@ -10,7 +10,7 @@
<!-- <statisticsNumber title="简历被查看量" /> --> <!-- <statisticsNumber title="简历被查看量" /> -->
<statisticsNumber :title="role ? '招工被查看量' : '简历被查看量'" :num="total"/> <statisticsNumber :title="role ? '招工被查看量' : '简历被查看量'" :num="total"/>
<userList :api="mixinsListApi" ref="list" v-if="role"/>
<userList :api="mixinsListApi" ref="list" v-if="role" keyName="employResume"/>
<bossList :api="mixinsListApi" ref="list" v-else/> <bossList :api="mixinsListApi" ref="list" v-else/>
@ -67,6 +67,9 @@
onReachBottom() { onReachBottom() {
this.$refs.list.loadMoreData() this.$refs.list.loadMoreData()
}, },
onPullDownRefresh(){
this.$refs.list.getData()
},
methods: { methods: {
clickSwipeAction({e, item}){ clickSwipeAction({e, item}){
console.log(e, item); console.log(e, item);


+ 4
- 0
pages_order/work/bossDetail.vue View File

@ -94,6 +94,9 @@
onShow() { onShow() {
this.getDetail() this.getDetail()
}, },
onPullDownRefresh() {
this.getDetail()
},
methods: { methods: {
getDetail(){ getDetail(){
let data = { let data = {
@ -103,6 +106,7 @@
data.token = uni.getStorageSync('token') data.token = uni.getStorageSync('token')
} }
this.$api('employeeQueryJobById', data, res => { this.$api('employeeQueryJobById', data, res => {
uni.stopPullDownRefresh()
if(res.code == 200){ if(res.code == 200){
this.detail = res.result.jobInfo this.detail = res.result.jobInfo
this.collectionFlag = res.result.collectionFlag this.collectionFlag = res.result.collectionFlag


+ 181
- 200
pages_order/work/workDetail.vue View File

@ -1,16 +1,16 @@
<template> <template>
<view class="page"> <view class="page">
<navbar title="工作详情" leftClick @leftClick="$utils.navigateBack" /> <navbar title="工作详情" leftClick @leftClick="$utils.navigateBack" />
<view class="box"> <view class="box">
<view class="title"> <view class="title">
{{ detail.title }} {{ detail.title }}
</view> </view>
<view class="price"> <view class="price">
{{ detail.salaryLow }}-{{ detail.salaryUp }} {{ detail.salaryLow }}-{{ detail.salaryUp }}
</view> </view>
<view class="line"> <view class="line">
<!-- <view> <!-- <view>
<image src="../static/work/address.png" mode=""></image> <image src="../static/work/address.png" mode=""></image>
@ -25,16 +25,16 @@
{{ detail.qulification }} {{ detail.qulification }}
</view> </view>
</view> </view>
<view class="line"> <view class="line">
该职位发布{{ $dayjs(detail.createTime).format('YYYY-MM-DD') }} 该职位发布{{ $dayjs(detail.createTime).format('YYYY-MM-DD') }}
</view> </view>
<view class="userHead"> <view class="userHead">
<userHead :image="hanHaiMember.headImage" :tips="personInfo.phone"
:name="personInfo.name" :phoneCall="personInfo.phone"/>
<userHead :image="hanHaiMember.headImage" :tips="personInfo.phone" :name="personInfo.name"
:phoneCall="personInfo.phone" />
</view> </view>
<view class="address"> <view class="address">
<view class="title2"> <view class="title2">
工作地址 工作地址
@ -42,78 +42,54 @@
<!-- <!--
深圳罗湖区深圳市百货广场大厦罗湖区百货广场大厦东深圳罗湖区深圳市百货广场大厦罗湖区百货广场大厦东 深圳罗湖区深圳市百货广场大厦罗湖区百货广场大厦东深圳罗湖区深圳市百货广场大厦罗湖区百货广场大厦东
--> -->
<view class="line"
style="justify-content: space-between;">
<view class="line" style="justify-content: space-between;">
{{ detail.workAddress }} {{ detail.workAddress }}
<uv-icon
size="30rpx"
color="666"
name="arrow-right"
></uv-icon>
<uv-icon size="30rpx" color="666" name="arrow-right"></uv-icon>
</view> </view>
<!-- <view class="tag-list"> <!-- <view class="tag-list">
<view> <view>
距您14.6千米 距您14.6千米
</view> </view>
</view> --> </view> -->
</view> </view>
<view class="info"> <view class="info">
<view class="title2"> <view class="title2">
<text>职位详情</text> <text>职位详情</text>
<view v-if="collectionFlag == false" @click="addJobCollection"> <view v-if="collectionFlag == false" @click="addJobCollection">
<uv-icon
size="30rpx"
color="666"
name="star"
></uv-icon>
<uv-icon size="30rpx" color="666" name="star"></uv-icon>
收藏 收藏
</view> </view>
<view v-else
@click="addJobCollection" style="color: red;">
<uv-icon
size="30rpx"
color="666"
name="star"
></uv-icon>
<view v-else @click="addJobCollection" style="color: red;">
<uv-icon size="30rpx" color="666" name="star"></uv-icon>
已收藏 已收藏
</view> </view>
</view> </view>
<view class="tag-list"> <view class="tag-list">
<view
:key="i"
v-for="(t, i) in detail.tab && detail.tab.split('、')">
<view :key="i" v-for="(t, i) in detail.tab && detail.tab.split('、')">
{{ t }} {{ t }}
</view> </view>
</view> </view>
<!-- <view
class="text"
v-html="text">
</view> -->
<view
class="text">
<view class="text">
<uv-parse :content="detail.workDetail"></uv-parse> <uv-parse :content="detail.workDetail"></uv-parse>
</view> </view>
</view> </view>
</view> </view>
<view class="boss-box"
@click="$utils.navigateTo('/pages_order/work/bossDetail?id='+detail.id)">
<view class="boss-box" @click="$utils.navigateTo('/pages_order/work/bossDetail?id='+detail.id)">
<view class="image"> <view class="image">
<image :src="companyInfo.logo" mode=""></image> <image :src="companyInfo.logo" mode=""></image>
</view> </view>
<view class="shop-box"
>
<view class="shop-box">
<view class="title"> <view class="title">
{{companyInfo.companyName}} {{companyInfo.companyName}}
</view> </view>
@ -122,96 +98,85 @@
</view> </view>
</view> </view>
<view class="arrow-right"> <view class="arrow-right">
<uv-icon
name="arrow-right"
size="40rpx"
color="#5baaff"
></uv-icon>
<uv-icon name="arrow-right" size="40rpx" color="#5baaff"></uv-icon>
</view> </view>
</view> </view>
<view class="list-work"> <view class="list-work">
<view class="text"> <view class="text">
推荐职位<text>{{total}}</text> 推荐职位<text>{{total}}</text>
</view> </view>
<view style="margin: 20rpx;"
@click="$utils.navigateTo('/pages_order/work/userDetail?id=' + item.id)"
:key="index"
v-for="(item, index) in list">
<workItem :item="item"/>
<view style="margin: 20rpx;"
@click="$utils.navigateTo('/pages_order/work/workDetail?id=' + item.id)"
:key="index" v-for="(item, index) in list">
<workItem :item="item" />
</view> </view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
let text = `岗位要求
1全日制大专以上学历艺术设计类相关专业;
2两年以上平面品牌视觉设计等相关工作经验能独立完成项目的设计工作 3C数码/个护健 类产品服务经验优先有乙方工作经验佳;
3具备一定的设计提案能力能完整的呈现设计思路与创意能清晰的表达设计逻辑与思考;
4热爱设计平面基本功扎实拥有优良的审美与创意想法对版式色彩把控能力强;对工作富有责任心具备团队沟通与协作能力;
5精通 PSAICDR 等平面设计软件能独立完成日常平面设计工作内容熟练使用 PPT/Keynote能完成提案内容的材料美化工作
`
import userHead from '../components/user/userHead.vue' import userHead from '../components/user/userHead.vue'
import mixinList from '@/mixins/list.js' import mixinList from '@/mixins/list.js'
import workItem from '@/components/list/workList/workItem.vue' import workItem from '@/components/list/workList/workItem.vue'
export default { export default {
mixins : [mixinList],
components : {
mixins: [mixinList],
components: {
userHead, userHead,
workItem, workItem,
}, },
data() { data() {
return { return {
text : '',
id : 0,
detail : {},
personInfo:{},
companyInfo:{},
hanHaiMember:{},
total:0,
collectionFlag : false,
mixinsListApi : 'employeeQueryJobList',
text: '',
id: 0,
detail: {},
personInfo: {},
companyInfo: {},
hanHaiMember: {},
total: 0,
collectionFlag: false,
mixinsListApi: 'employeeQueryJobList',
} }
}, },
onLoad({id}) {
onLoad({
id
}) {
this.id = id this.id = id
this.queryParams.id=id;
this.queryParams.id = id;
}, },
onShow() { onShow() {
this.text = this.$utils.stringFormatHtml(text)
this.getDetail() this.getDetail()
}, },
methods: { methods: {
getDetail(){
getDetail() {
let data = { let data = {
jobId : this.id
jobId: this.id
} }
if(uni.getStorageSync('token')){
if (uni.getStorageSync('token')) {
data.token = uni.getStorageSync('token') data.token = uni.getStorageSync('token')
} }
this.$api('employeeQueryJobById', data, res => { this.$api('employeeQueryJobById', data, res => {
if(res.code == 200){
if (res.code == 200) {
this.detail = res.result.jobInfo this.detail = res.result.jobInfo
this.collectionFlag = res.result.collectionFlag this.collectionFlag = res.result.collectionFlag
this.personInfo = res.result.personInfo this.personInfo = res.result.personInfo
this.companyInfo = res.result.companyInfo this.companyInfo = res.result.companyInfo
this.hanHaiMember = res.result.hanHaiMember
this.hanHaiMember = res.result.hanHaiMember
} }
}) })
}, },
addJobCollection(){
addJobCollection() {
let data = { let data = {
jobId : this.id
jobId: this.id
} }
if(uni.getStorageSync('token')){
if (uni.getStorageSync('token')) {
data.token = uni.getStorageSync('token') data.token = uni.getStorageSync('token')
} }
this.$api('addJobCollection', data, res => { this.$api('addJobCollection', data, res => {
if(res.code == 200){
if (res.code == 200) {
uni.showToast({ uni.showToast({
title: res.message, title: res.message,
icon: 'none' icon: 'none'
@ -225,126 +190,142 @@
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.page{
min-height: 100vh;
.box{
padding: 30rpx;
background-color: #fff;
.title{
font-size: 34rpx;
font-weight: 900;
padding-bottom: 20rpx;
}
.title2{
font-size: 28rpx;
font-weight: 900;
display: flex;
justify-content: space-between;
align-items: center;
view{
display: flex;
align-items: center;
justify-content: center;
}
}
.price{
font-size: 30rpx;
font-weight: 900;
color: $uni-color;
}
.line{
display: flex;
font-size: 24rpx;
color: #666666;
margin-top: 30rpx;
image{
width: 30rpx;
height: 30rpx;
.page {
min-height: 100vh;
.box {
padding: 30rpx;
background-color: #fff;
.title {
font-size: 34rpx;
font-weight: 900;
padding-bottom: 20rpx;
} }
&>view{
margin-right: 50rpx;
.title2 {
font-size: 28rpx;
font-weight: 900;
display: flex; display: flex;
justify-content: center;
justify-content: space-between;
align-items: center; align-items: center;
view {
display: flex;
align-items: center;
justify-content: center;
}
} }
}
.userHead{
padding: 50rpx 0;
border-bottom: 1px solid #00000011;
}
.address{
padding: 30rpx 0;
.line{
margin-top: 20rpx;
.price {
font-size: 30rpx;
font-weight: 900;
color: $uni-color;
} }
}
.info{
.text{
.line {
display: flex;
font-size: 24rpx; font-size: 24rpx;
color: #666666; color: #666666;
line-height: 44rpx;
margin-top: 30rpx;
image {
width: 30rpx;
height: 30rpx;
}
&>view {
margin-right: 50rpx;
display: flex;
justify-content: center;
align-items: center;
}
} }
}
}
.boss-box{
margin: 10rpx 0;
padding: 30rpx;
background-color: #fff;
display: flex;
align-items: center;
.image{
width: 90rpx;
height: 90rpx;
margin-right: 10rpx;
flex-shrink: 0;
image{
width: 100%;
height: 100%;
border-radius: 10rpx;
.userHead {
padding: 50rpx 0;
border-bottom: 1px solid #00000011;
} }
}
.shop-box{
flex: 1;
width: calc(100% - 220rpx);
.title{
font-size: 28rpx;
overflow:hidden; //
text-overflow:ellipsis; //
white-space:nowrap; //
.address {
padding: 30rpx 0;
.line {
margin-top: 20rpx;
}
} }
.desc{
margin-top: 10rpx;
font-size: 24rpx;
overflow:hidden; //
text-overflow:ellipsis; //
white-space:nowrap; //
.info {
.text {
font-size: 24rpx;
color: #666666;
line-height: 44rpx;
}
} }
} }
.arrow-right{
flex-shrink: 0;
margin-left: auto;
.boss-box {
margin: 10rpx 0;
padding: 30rpx;
background-color: #fff;
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 26rpx;
}
}
.list-work{
.text{
background-color: #fff;
padding: 26rpx;
font-weight: 900;
text{
font-weight: 500;
color: #666666;
.image {
width: 90rpx;
height: 90rpx;
margin-right: 10rpx;
flex-shrink: 0;
image {
width: 100%;
height: 100%;
border-radius: 10rpx;
}
}
.shop-box {
flex: 1;
width: calc(100% - 220rpx);
.title {
font-size: 28rpx;
overflow: hidden; //
text-overflow: ellipsis; //
white-space: nowrap; //
}
.desc {
margin-top: 10rpx;
font-size: 24rpx;
overflow: hidden; //
text-overflow: ellipsis; //
white-space: nowrap; //
}
}
.arrow-right {
flex-shrink: 0;
margin-left: auto;
display: flex;
align-items: center;
font-size: 26rpx; font-size: 26rpx;
margin-left: 20rpx;
}
}
.list-work {
.text {
background-color: #fff;
padding: 26rpx;
font-weight: 900;
text {
font-weight: 500;
color: #666666;
font-size: 26rpx;
margin-left: 20rpx;
}
} }
} }
} }
}
</style>
</style>

+ 2
- 2
store/store.js View File

@ -10,12 +10,12 @@ const store = new Vuex.Store({
state: { state: {
configList: {}, //配置列表 configList: {}, //配置列表
// 角色 true为老板 false为工人 // 角色 true为老板 false为工人
role : false,
role : true,
userInfo : {}, //用户信息 userInfo : {}, //用户信息
banner : [],//轮播图 banner : [],//轮播图
jobTypeList : [],//工种 jobTypeList : [],//工种
natureList : [],//工作性质 natureList : [],//工作性质
addressList : [],//开放地址
addressList : [],//开放地址
}, },
getters: { getters: {
}, },


+ 4
- 4
uni_modules/uv-empty/components/uv-empty/props.js View File

@ -18,7 +18,7 @@ export default {
// 文字大小 // 文字大小
textSize: { textSize: {
type: [String, Number], type: [String, Number],
default: 14
default: 28
}, },
// 图标的颜色 // 图标的颜色
iconColor: { iconColor: {
@ -28,7 +28,7 @@ export default {
// 图标的大小 // 图标的大小
iconSize: { iconSize: {
type: [String, Number], type: [String, Number],
default: 90
default: 180
}, },
// 选择预置的图标类型 // 选择预置的图标类型
mode: { mode: {
@ -38,12 +38,12 @@ export default {
// 图标宽度,单位px // 图标宽度,单位px
width: { width: {
type: [String, Number], type: [String, Number],
default: 160
default: 320
}, },
// 图标高度,单位px // 图标高度,单位px
height: { height: {
type: [String, Number], type: [String, Number],
default: 160
default: 320
}, },
// 是否显示组件 // 是否显示组件
show: { show: {


Loading…
Cancel
Save