9 Commits

Author SHA1 Message Date
yangxiao
2c222deb74 flat: 石河子项目重置 2025-12-25 10:12:52 +08:00
yangxiao
adc762f676 flat: 修改全职岗位和零工岗位问题 2025-12-23 13:06:28 +08:00
史典卓
6ad80f08e9 flat: ZKRD可以申请了 2025-08-05 18:33:09 +08:00
史典卓
233706e8d2 flat: 全部暂存 2025-05-16 21:04:01 +08:00
史典卓
dbefed8524 flat: 压缩图片,添加消息控制 2025-02-17 12:54:18 +08:00
史典卓
29cb92224b flat: 123 2024-10-24 16:28:13 +08:00
史典卓
a4ffe68ec2 flat: 国庆节暂存 2024-10-09 10:14:51 +08:00
Apcallover
6504a558ac flat:无 2024-07-25 11:22:05 +08:00
Apcallover
9fe5c37292 flat: 修改天地图 2024-07-22 15:12:17 +08:00
107 changed files with 29796 additions and 6648 deletions

235
App.vue
View File

@@ -1,96 +1,139 @@
<style lang="scss"> <style lang="scss">
/* 注意要写在第一行同时给style标签加入lang="scss"属性 */ /* 注意要写在第一行同时给style标签加入lang="scss"属性 */
@import "@/uni_modules/uview-ui/index.scss"; @import '@/uni_modules/uview-ui/index.scss';
</style> </style>
<script> <script>
import website from '@/config/website.js' import website from '@/config/website.js';
import { import { mapGetters } from 'vuex';
mapGetters import { GoLogin } from '@/untils/AxiosUtils.js';
} from 'vuex' // #ifdef H5
// #ifdef H5 import { setPlatformByHostName } from '@/untils/customized.js';
import { import { reject } from 'lodash';
setPlatformByHostName // #endif
} from '@/untils/customized.js'
// #endif export default {
onLaunch: function (options) {
export default { this.$store.dispatch('InitArea');
onLaunch: function(options) { if (options.query.token) {
this.$store.dispatch('InitArea') this.tokenlogin(options.query.token).then(() => {
if (options.query.token) { this.$store.dispatch('getUserLocation');
uni.reLaunch({ this.$store.dispatch('getNoticeState');
url: '/pages/login/blank?token=' + options.query.token this.$store.dispatch('getMobileIsCms');
}) this.$store.dispatch('getResumeInfo');
} else if (this.$store.state.user.token) { });
this.$store.dispatch('startRefreshTokenTimer') } else {
this.$store.dispatch('startRefreshNewsTimer') this.$store.dispatch('FedLogOut');
this.$store.dispatch('refreshAuthState') }
this.$store.dispatch('getUserLocation') // if (options.query.token) {
this.$store.dispatch('getMobileIsCms') // // uni.reLaunch({
} // // url: '/pages/login/blank?token=' + options.query.token
// #ifdef H5 // // })
// 企业定制 // this.tokenlogin(options.query.token)
setPlatformByHostName(this.$store) // } else if (this.$api.haslogin()) {
// #endif // this.$store.dispatch('startRefreshTokenTimer')
}, // this.$store.dispatch('startRefreshNewsTimer')
onShow: function() {}, // this.$store.dispatch('refreshAuthState')
onHide: function() {}, // this.$store.dispatch('getUserLocation')
computed: { // this.$store.dispatch('getMobileIsCms')
...mapGetters(['news']), // }
allUnread() { // #ifdef H5
return this.news.allUnread // 企业定制
} setPlatformByHostName(this.$store);
}, // #endif
mounted() { },
this.$config.showTitle && document.documentElement.style.setProperty('--hide-title', 'block'); onShow: function () {},
}, onHide: function () {},
watch: { computed: {
allUnread(value) { ...mapGetters(['news', 'auth']),
console.log('allUnread', value) allUnread() {
if (!this.$store.state.user.token) {} else if (value > 0) { return this.news.allUnread;
uni.showTabBarRedDot({ },
index: 2 },
}) mounted() {
uni.$once('newsReadChange', () => { this.$config.showTitle && document.documentElement.style.setProperty('--hide-title', 'block');
uni.showTabBarRedDot({ },
index: 2 methods: {
}) tokenlogin(token) {
}) return new Promise((resolve, reject) => {
} else { uni.showLoading({
uni.hideTabBarRedDot({ title: '登录中',
index: 2 });
}) if (token) {
uni.$once('newsReadChange', () => { const that = this;
uni.hideTabBarRedDot({ this.$store
index: 2 .dispatch('LoginByUsername', {
}) username: 'admin',
}) password: 'admin',
} key: '',
} code: '1111',
} type: 'account',
}; token: token,
</script> tenantId: website.tenantId,
})
<style lang="scss"> .then((resp) => {
/*每个页面公共css */ this.$store.dispatch('refreshAuthState').then(() => {
/* tabbar 字体大小 */ uni.hideLoading();
/* .uni-tabbar__label{ resolve();
font-size: 14px !important; });
} */ })
@font-face { .catch((err) => {
font-family: 'uicon-iconfont'; uni.hideLoading();
font-weight: mormal; });
font-style: mormal; } else {
src: url('/static/font/font_2225171_8kdcwk4po24.ttf') format('truetype'); GoLogin();
} }
});
:root { },
--hide-title: none; },
} watch: {
allUnread(value) {
/* #ifdef H5 */ console.log('allUnread', value);
uni-page-head { if (!this.$api.haslogin()) {
display: var(--hide-title); } else if (value > 0) {
} uni.showTabBarRedDot({
index: 2,
/* #endif */ });
</style> uni.$once('newsReadChange', () => {
uni.showTabBarRedDot({
index: 2,
});
});
} else {
uni.hideTabBarRedDot({
index: 2,
});
uni.$once('newsReadChange', () => {
uni.hideTabBarRedDot({
index: 2,
});
});
}
},
},
};
</script>
<style lang="scss">
/*每个页面公共css */
/* tabbar 字体大小 */
/* .uni-tabbar__label{
font-size: 14px !important;
} */
@font-face {
font-family: 'uicon-iconfont';
font-weight: mormal;
font-style: mormal;
src: url('/static/font/font_2225171_8kdcwk4po24.ttf') format('truetype');
}
:root {
--hide-title: none;
}
/* #ifdef H5 */
uni-page-head {
display: var(--hide-title);
}
/* #endif */
</style>

View File

@@ -1,118 +1,144 @@
import { import {
request request
} from '@/untils/AxiosUtils.js'; } from '@/untils/AxiosUtils.js';
import website from "@/config/website"; import {
decryptJson
const authUrl = '/api/jobslink-api/user/user/auth/auth' } from '@/untils/authService.js'
import website from "@/config/website";
export const findAuth = () => request({
url: '/api/jobslink-api/user/user/find', const authUrl = '/api/jobslink-api/user/user/auth/auth'
method: 'get'
}); // export const findAuth = () => request({
// url: '/api/jobslink-api/user/user/find',
export const cheakValue = () => request({ // method: 'get'
url: authUrl, // });
method: 'post',
data: { export const findAuth = async () => {
cheakvalue: 1, try {
bakvalue: 0 const encrypted = await request({
} url: '/api/jobslink-api/user/user/find',
}); method: 'get',
responseType: 'text', // 接收纯文本密文
export const realName = (realName, idNumber) => request({ });
url: authUrl, const decryptedStr = decryptJson(encrypted.data);
method: 'post', return {
data: { data: JSON.parse(decryptedStr),
cheakvalue: 2, };
realName, } catch (error) {
idNumber console.error('请求或解密过程中出错:', error);
} return null;
}); }
};
export const bank = (bankName, realName, cardNumber, def, id) => request({
url: authUrl, export const cheakValue = () => request({
method: 'post', url: authUrl,
data: { method: 'post',
cheakvalue: 3, data: {
bankName, cheakvalue: 1,
cardNumber, bakvalue: 0
realName, }
def, });
id
} export const realName = (realName, idNumber) => request({
}); url: authUrl,
method: 'post',
export const insure = (bakvalue) => request({ data: {
url: authUrl, cheakvalue: 2,
method: 'post', realName,
data: { idNumber
cheakvalue: 4, }
bakvalue });
}
}); export const bank = (bankName, realName, cardNumber, def, id) => request({
// 判断当前用户是否采集签名 url: authUrl,
export const isGather = () => request({ method: 'post',
url: "/api/jobslink-api/doc/docUserSeal/isGather", data: {
method: 'get', cheakvalue: 3,
}); bankName,
// 个人端签名采集 cardNumber,
export const signGather = (signSrcUrl, password, confirmPassword) => request({ realName,
url: "/api/jobslink-api/doc/docUserSeal/signGather", def,
method: 'post', id
data: { }
signSrcUrl, });
password,
confirmPassword export const insure = (bakvalue) => request({
} url: authUrl,
}); method: 'post',
// 获取短信接口 data: {
export const sendValidate = (mobile) => request({ cheakvalue: 4,
url: "/api/jobslink-api/doc/docUserCert/resetPass/sendValidate", bakvalue
method: 'get', }
data: { });
mobile // 判断当前用户是否采集签名
} export const isGather = () => request({
}); url: "/api/jobslink-api/doc/docUserSeal/isGather",
// 密码重置接口 method: 'get',
export const resetPass = (mobile, code, password) => request({ });
url: "/api/jobslink-api/doc/docUserCert/resetPass", // 个人端签名采集
method: 'post', export const signGather = (signSrcUrl, password, confirmPassword) => request({
headers: { url: "/api/jobslink-api/doc/docUserSeal/signGather",
'SCaptcha-Key': mobile, method: 'post',
'SCaptcha-Code': code, data: {
'password': password signSrcUrl,
} password,
}); confirmPassword
// 我的合同 }
export const contractList = (params) => request({ });
url: "/api/jobslink-api/doc/contract/personal/contractList", // 获取短信接口
method: 'get', export const sendValidate = (mobile) => request({
data: params url: "/api/jobslink-api/doc/docUserCert/resetPass/sendValidate",
}); method: 'get',
// 签名密码 /jobslink-api/doc/docUserCert/checkPass data: {
export const checkPass = (params) => request({ mobile
url: "/api/jobslink-api/doc/docUserCert/checkPass", }
method: 'get', });
data: params // 密码重置接口
}); export const resetPass = (mobile, code, password) => request({
// 返回的是base64格式的pdf url: "/api/jobslink-api/doc/docUserCert/resetPass",
export const viewContract = (params) => request({ method: 'post',
url: "/api/jobslink-api/doc/contract/viewContract", headers: {
method: 'get', 'SCaptcha-Key': mobile,
data: params 'SCaptcha-Code': code,
}); 'password': password
}
//新实名认证api });
export const newCertification = (bakvalue, realName, idNumber, cardNumber, bankCode,def,bankName) => request({ // 我的合同
url: '/api/jobslink-api/user/user/auth/authNew', export const contractList = (params) => request({
method: 'post', url: "/api/jobslink-api/doc/contract/personal/contractList",
data: { method: 'get',
bakvalue, data: params
realName, });
idNumber, // 签名密码 /jobslink-api/doc/docUserCert/checkPass
cardNumber, export const checkPass = (params) => request({
bankCode, url: "/api/jobslink-api/doc/docUserCert/checkPass",
def, method: 'get',
bankName data: params
} });
}); // 返回的是base64格式的pdf
export const viewContract = (params) => request({
url: "/api/jobslink-api/doc/contract/viewContract",
method: 'get',
data: params
});
//新实名认证api
export const newCertification = (bakvalue, realName, idNumber, cardNumber, bankCode, def, bankName) => request({
url: '/api/jobslink-api/user/user/auth/authNew',
method: 'post',
data: {
bakvalue,
realName,
idNumber,
cardNumber,
bankCode,
def,
bankName
}
});
// 电话联系
export const getPhoneCountNumber = (params) => request({
url: "/api/jobslink-api/serve/phone",
method: 'get',
data: params
});

View File

@@ -1,47 +1,55 @@
import { import {
request request
} from '@/untils/AxiosUtils.js'; } from '@/untils/AxiosUtils.js';
import website from "../config/website.js" import website from "../config/website.js"
import store from '@/store/'; import store from '@/store/';
// 设置民族政治面貌 jobslink-api/user/user/setInfo // 设置民族政治面貌 jobslink-api/user/user/setInfo
export const setInfo = (params) => request({ export const setInfo = (params) => request({
url: "/api/jobslink-api/user/user/setInfo", url: "/api/jobslink-api/user/user/setInfo",
method: 'post', method: 'post',
data: params data: params
}); });
// 获取用户工会状态 /jobslink-api/doc/user/labourUnion/info // 获取用户工会状态 /jobslink-api/doc/user/labourUnion/info
export const labourUnionInfo = () => request({ export const labourUnionInfo = () => request({
url: "/api/jobslink-api/doc/user/labourUnion/info", url: "/api/jobslink-api/doc/user/labourUnion/info",
method: 'get' method: 'get'
}); });
// 申请入会 // 申请入会
export const contract = (params) => request({ export const contract = (params) => request({
url: "/api/jobslink-api/doc/user/labourUnion/apply", url: "/api/jobslink-api/doc/user/labourUnion/apply",
method: 'post', method: 'post',
data: params data: params
}); });
//会员信息--判断用户是否加入工会 //会员信息--判断用户是否加入工会
export const labourUnionDetail = (no) => request({ export const labourUnionDetail = (no) => request({
url: "/api/jobslink-api/doc/jkLabourUnionAppl/list", url: "/api/jobslink-api/doc/jkLabourUnionAppl/list",
method: 'get', method: 'get',
params:{no} params: {
}); no
//提交会员申请 }
export const saveApplication = (labourunionId,applType,applComment) =>{ });
applComment=applComment.substring(0,200) //提交会员申请
return request({ export const saveApplication = (labourunionId, applType, applComment) => {
url: "/api/jobslink-api/doc/jkLabourUnionDetail/save", applComment = applComment.substring(0, 200)
method: 'post', return request({
data:{labourunionId,applType,applComment} url: "/api/jobslink-api/doc/jkLabourUnionDetail/save",
}); method: 'post',
} data: {
labourunionId,
//查询提交的申请内容 applType,
export const applicationInfo = (no) => request({ applComment
url: "/api/jobslink-api/doc/jkLabourUnionDetail/list", }
method: 'get', });
params:{no} }
});
//查询提交的申请内容
export const applicationInfo = (no) => request({
url: "/api/jobslink-api/doc/jkLabourUnionDetail/list",
method: 'get',
params: {
no
}
});

View File

@@ -306,4 +306,10 @@ export const getPolicyContentList = (params) => request({
url: '/api/jobslink-api/desk/article/getAllArticle', url: '/api/jobslink-api/desk/article/getAllArticle',
method: 'get', method: 'get',
params params
})
export const userWorkSearchListAll = (params) => request({
url: '/api/jobslink-api/user/userWork/searchListAll',
method: 'get',
params
}) })

View File

@@ -58,7 +58,8 @@ export const setResume = ({
education, education,
wage, wage,
workplace, workplace,
telephone, telephone,
wageUpper,
workExperience workExperience
}) => { }) => {
return request({ return request({
@@ -70,7 +71,8 @@ export const setResume = ({
wage, wage,
workplace, workplace,
telephone, telephone,
workExperience workExperience,
wageUpper,
}, },
}); });
}; };

View File

@@ -72,4 +72,14 @@ export const clearCache = () => request({
export const mobileIsCms = () => request({ export const mobileIsCms = () => request({
url: '/api/jobslink-api/mobile/isCms', url: '/api/jobslink-api/mobile/isCms',
method: 'get' method: 'get'
}) })
export const noticeIsEnable = () => request({
url: "/api/jobslink-api/desk/notice/isEnable",
method: 'get',
});
export const setNoticeIsEnable = (state) => request({
url: "/api/jobslink-api/desk/notice/isEnable/" + state,
method: 'PUT',
});

View File

@@ -65,6 +65,12 @@
// uni.switchTab({ // uni.switchTab({
// url: item.path // url: item.path
// }) // })
if (item.id === 1) {
return uni.showToast({
icon: "none",
title: '系统正在升级完善',
})
}
uni.navigateTo({ uni.navigateTo({
url: item.path url: item.path
}) })

View File

@@ -7,7 +7,8 @@
</view> </view>
<view class="head_right"> <view class="head_right">
{{ companyitem.wage }}{{ wageUnit[companyitem.wageUnitCategory] }} {{ companyitem.wage }}
</view> </view>
</view> </view>

View File

@@ -1,244 +1,267 @@
<template> <template>
<view class="body" @click="goInfo(companyitem)"> <view class="body" @click="goInfo(companyitem)">
<view class="heads"> <view class="heads">
<view class="head_left"> <view class="head_left">
<rich-text :nodes="string"> <rich-text :nodes="string">
</rich-text> </rich-text>
</view> </view>
<view class="head_right"> <view class="head_right">
{{ companyitem.wage }}{{ wageUnit[companyitem.wageUnitCategory] }} {{ companyitem.wage }}{{ wageUnit[companyitem.wageUnitCategory] }}
</view> </view>
</view> </view>
<view class="ask"> <view class="ask">
<view class="askList"> <view class="askList">
{{ companyitem.tradeNames }} {{ companyitem.tradeNames }}
</view> </view>
<view class="askList" v-for="(item, index) in skillNames" :key="index"> <view class="askList" v-for="(item, index) in skillNames" :key="index">
{{ item }} {{ item }}
</view> </view>
<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> <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;">
<view style="display: flex;align-items: center;"> <view style="display: flex;align-items: center;">
<image src="../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 10rpx;" mode=""> <image src="../../static/img/city.png" style="width: 40rpx;height: 40rpx;margin-right: 10rpx;" mode="">
</image> </image>
<view style="font-size: 26rpx;color:#333;">{{ companyitem.missionCompanyName }}</view> <view style="font-size: 26rpx;color:#333;">{{ companyitem.missionCompanyName }}</view>
</view> </view>
<view style="display: flex;align-items: center;position:absolute;right:0;"> <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> <image src="../../static/img/location_new.png" style="width: 30rpx;height: 30rpx;" mode=""></image>
<view>--km</view> <view>{{distance(companyitem)}}</view>
</view> </view>
</view> </view>
<view class="comment" v-if='comment' @tap.stop="goComment(companyitem.missionNo)"> <view class="comment" v-if='comment' @tap.stop="goComment(companyitem.missionNo)">
<view class="comment_content commentimg" v-if='companyitem.scoreAll > 0'> <view class="comment_content commentimg" v-if='companyitem.scoreAll > 0'>
<image class="commentimg_image" src="../../static/img/star.full.svg" <image class="commentimg_image" src="../../static/img/star.full.svg"
v-for="index1 in companyitem.scoreAll" mode="" :key="index1"></image> v-for="index1 in companyitem.scoreAll" mode="" :key="index1"></image>
<image class="commentimg_image" src="../../static/img/star.empty.svg" <image class="commentimg_image" src="../../static/img/star.empty.svg"
v-for="index2 in (5 - companyitem.scoreAll)" mode="" :key="index2"></image> v-for="index2 in (5 - companyitem.scoreAll)" mode="" :key="index2"></image>
</view> </view>
<view class="comment_content allName gocomment" v-else> <view class="comment_content allName gocomment" v-else>
评价 评价
</view> </view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import { import {
toDoller, toDoller,
dateFormat dateFormat
} from "../../untils/format.js"; } from "../../untils/format.js";
import dictionary from '@/common/textdata.js'; import dictionary from '@/common/textdata.js';
import { import {
defaults addZeroPrefix,
} from "lodash"; getDistanceFromLatLonInKm
} from '@/untils/tools.js'
export default { import {
beforeCreate: function() {}, defaults
props: { } from "lodash";
companyitem: {
type: Object, export default {
default () { beforeCreate: function() {},
return [] props: {
} companyitem: {
}, type: Object,
comment: { default () {
type: Boolean, return []
default: false }
}, },
noApply: { comment: {
type: Boolean, type: Boolean,
default: true default: false
}, },
near: { noApply: {
type: Boolean, type: Boolean,
default: false default: true
} },
}, near: {
data() { type: Boolean,
return { default: false
...dictionary, },
string: "<div style='overflow: hidden;white-space: nowrap;text-overflow: ellipsis;'>" + this.companyitem location: Object
.missionTitle + },
"</div>" data() {
}; return {
}, ...dictionary,
computed: { string: "<div style='overflow: hidden;white-space: nowrap;text-overflow: ellipsis;'>" + this.companyitem
skillNames() { .missionTitle +
if (this.companyitem.skillNames) { "</div>"
return this.companyitem.skillNames?.split(',') };
} else { },
return [] computed: {
} skillNames() {
} if (this.companyitem.skillNames) {
}, return this.companyitem.skillNames?.split(',')
methods: { } else {
goComment: function(no) { return []
uni.navigateTo({ }
url: `../../pageMy/mycomment/mycomment?missionNo=${encodeURIComponent(no)}` }
}) },
}, methods: {
goInfo: function(item) { distance(item) {
// const isCan = this.noApply === false ? '0' : '1' const {
switch (item.type) { lon,
case 0: lat
this.navTo( } = item
`/pages/projectInfo/projectInfo?missionNo=${encodeURIComponent(item.missionNo)}&isCan=1` if (this.position && lon > 0) {
) const {
break longitude,
case 1: latitude
this.navTo(`/pages/projectInfo/workInfo?workId=${encodeURIComponent(item.id)}&isCan=1`) } = this.position
break const {
case 2: m,
this.navTo(`/pages/projectInfo/workInfo?workId=${encodeURIComponent(item.id)}&isCan=1`) km
break } = getDistanceFromLatLonInKm(lat, lon, latitude, longitude)
default: return m > 1000 ? `${km.toFixed(2)}km` : `${m.toFixed(2)}m`
this.navTo(`/pages/projectInfo/workInfo?workId=${encodeURIComponent(item.id)}&isCan=1`) }
} return '--km'
},
}, goComment: function(no) {
getCity: function(val) { uni.navigateTo({
if (val) { url: `../../pageMy/mycomment/mycomment?missionNo=${encodeURIComponent(no)}`
let areas = this.$store.getters.getAreaParents(val) })
if (areas.length === 3) { },
return areas[0].label + '-' + areas[1].label + '-' + areas[2].label goInfo: function(item) {
} // const isCan = this.noApply === false ? '0' : '1'
} switch (item.type) {
}, case 0:
toDoller, this.navTo(
dateFormat `/pages/projectInfo/projectInfo?missionNo=${encodeURIComponent(item.missionNo)}&isCan=1`
} )
} break
</script> case 1:
this.navTo(`/pages/projectInfo/workInfo?workId=${encodeURIComponent(item.id)}&isCan=1`)
<style> break
.commentimg_image { case 2:
width: 40rpx; this.navTo(`/pages/projectInfo/workInfo?workId=${encodeURIComponent(item.id)}&isCan=1`)
height: 40rpx; break
} default:
this.navTo(`/pages/projectInfo/workInfo?workId=${encodeURIComponent(item.id)}&isCan=1`)
.commentimg { }
display: flex;
align-items: center; },
justify-content: flex-end; getCity: function(val) {
} if (val) {
let areas = this.$store.getters.getAreaParents(val)
.gocomment { if (areas.length === 3) {
font-size: 26rpx !important; return areas[0].label + '-' + areas[1].label + '-' + areas[2].label
border-radius: 5rpx; }
border: 1rpx solid #c3c3c3; }
width: 160rpx; },
text-align: center; toDoller,
float: right; dateFormat
height: 50rpx; }
line-height: 50rpx; }
} </script>
.timeAddress { <style>
display: flex; .commentimg_image {
align-items: center; width: 40rpx;
justify-content: space-between; height: 40rpx;
font-family: PingFangSC-Regular; }
font-size: 24rpx;
color: #999999; .commentimg {
margin: 10rpx 0; display: flex;
padding: 10rpx 0; align-items: center;
} justify-content: flex-end;
}
.allName {
font-family: PingFangSC-Regular; .gocomment {
font-size: 28rpx; font-size: 26rpx !important;
color: #666666; border-radius: 5rpx;
} border: 1rpx solid #c3c3c3;
width: 160rpx;
.askList { text-align: center;
/* width: 14%; */ float: right;
font-family: PingFangSC-Regular; height: 50rpx;
font-size: 24rpx; line-height: 50rpx;
color: #666666; }
background-color: #f6f6f6;
padding: 5rpx 15rpx; .timeAddress {
margin-right: 10rpx; display: flex;
margin-bottom: 10rpx; align-items: center;
} justify-content: space-between;
font-family: PingFangSC-Regular;
.ask { font-size: 24rpx;
overflow: hidden; color: #999999;
width: 100%; margin: 10rpx 0;
display: flex; padding: 10rpx 0;
align-items: center; }
flex-wrap: wrap;
justify-content: flex-start; .allName {
margin: 20rpx 0; font-family: PingFangSC-Regular;
} font-size: 28rpx;
color: #666666;
.head_right { }
ont-family: PingFangSC-Medium;
font-size: 28rpx; .askList {
color: #F46161; /* width: 14%; */
font-weight: bold; font-family: PingFangSC-Regular;
} font-size: 24rpx;
color: #666666;
.head_left { background-color: #f6f6f6;
font-family: PingFangSC-Medium; padding: 5rpx 15rpx;
font-size: 32rpx; margin-right: 10rpx;
font-weight: bold; margin-bottom: 10rpx;
color: #333333; }
width: 350rpx;
overflow: hidden; .ask {
white-space: nowrap; overflow: hidden;
/*不换行*/ width: 100%;
text-overflow: ellipsis; display: flex;
/*超出部分文字以...显示*/ align-items: center;
} flex-wrap: wrap;
justify-content: flex-start;
.highlight { margin: 20rpx 0;
color: #F46161; }
}
.head_right {
.body { ont-family: PingFangSC-Medium;
width: 690rpx; font-size: 28rpx;
margin: 0rpx auto; color: #F46161;
background-color: #fefefe; font-weight: bold;
overflow: hidden; }
box-sizing: border-box;
padding: 20rpx; .head_left {
padding-bottom: 0; font-family: PingFangSC-Medium;
border-radius: 20rpx; font-size: 32rpx;
margin-top: 20rpx; font-weight: bold;
} color: #333333;
width: 350rpx;
.heads { overflow: hidden;
display: flex; white-space: nowrap;
align-items: center; /*不换行*/
justify-content: space-between; 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> </style>

View File

@@ -7,7 +7,9 @@
</view> </view>
<view class="head_right"> <view class="head_right">
{{ companyitem.wage }} {{ wageUnit[companyitem.wageUnitCategory] }} {{ companyitem.wage }}
<!-- 后台处理 单位-->
<!-- {{ wageUnit[companyitem.wageUnitCategory] }} -->
</view> </view>
</view> </view>
<view class="ask"> <view class="ask">

View File

@@ -7,7 +7,7 @@
</view> </view>
<view class="head_right"> <view class="head_right">
{{ companyitem.wage }}{{ wageUnit[companyitem.wageUnitCategory] }} {{ companyitem.wage }}~{{companyitem.wageUpper}}{{ wageUnit[companyitem.wageUnitCategory] }}
</view> </view>
</view> </view>
<view class="ask"> <view class="ask">
@@ -90,7 +90,8 @@
near: { near: {
type: Boolean, type: Boolean,
default: false default: false
} },
position: Object,
}, },
data() { data() {
return { return {

View File

@@ -130,7 +130,7 @@
if (this.option && this.option.apikey) { if (this.option && this.option.apikey) {
const script = document.createElement('script') const script = document.createElement('script')
// view 层的页面运行在 www 根目录,其相对路径相对于 www 计算 // view 层的页面运行在 www 根目录,其相对路径相对于 www 计算
script.src = 'http://api.tianditu.gov.cn/api?v=4.0&tk=' + this.option.apikey script.src = 'https://api.tianditu.gov.cn/api?v=4.0&tk=' + this.option.apikey
script.onload = this.initEcharts.bind(this) script.onload = this.initEcharts.bind(this)
document.head.appendChild(script) document.head.appendChild(script)
} }
@@ -145,7 +145,7 @@
if (this.option.apikey) { if (this.option.apikey) {
const script = document.createElement('script') const script = document.createElement('script')
script.src = 'http://api.tianditu.gov.cn/api?v=4.0&tk=' + this.option.apikey script.src = 'https://api.tianditu.gov.cn/api?v=4.0&tk=' + this.option.apikey
script.onload = this.initEcharts.bind(this) script.onload = this.initEcharts.bind(this)
document.head.appendChild(script) document.head.appendChild(script)

View File

@@ -193,7 +193,7 @@
if (this.option && this.option.apikey) { if (this.option && this.option.apikey) {
const script = document.createElement('script') const script = document.createElement('script')
// view 层的页面运行在 www 根目录,其相对路径相对于 www 计算 // view 层的页面运行在 www 根目录,其相对路径相对于 www 计算
script.src = 'http://api.tianditu.gov.cn/api?v=4.0&tk=' + this.option.apikey script.src = 'https://api.tianditu.gov.cn/api?v=4.0&tk=' + this.option.apikey
script.onload = this.initEcharts.bind(this) script.onload = this.initEcharts.bind(this)
document.head.appendChild(script) document.head.appendChild(script)
@@ -212,7 +212,7 @@
if (this.option.apikey) { if (this.option.apikey) {
const script = document.createElement('script') const script = document.createElement('script')
script.src = 'http://api.tianditu.gov.cn/api?v=4.0&tk=' + this.option.apikey script.src = 'https://api.tianditu.gov.cn/api?v=4.0&tk=' + this.option.apikey
script.onload = this.initEcharts.bind(this) script.onload = this.initEcharts.bind(this)
document.head.appendChild(script) document.head.appendChild(script)

View File

@@ -133,7 +133,7 @@
mask: true mask: true
}) })
uni.request({ uni.request({
url: 'http://api.tianditu.gov.cn/v2/search', url: 'https://api.tianditu.gov.cn/v2/search',
method: 'GET', method: 'GET',
data: params, data: params,
success: res => { success: res => {
@@ -257,7 +257,6 @@
tk: e.apikey tk: e.apikey
}, },
success: res => { success: res => {
//console.log(res);
if (res.data.result) { if (res.data.result) {
const value = that.formatterAdressLocation(res.data.result, 1) const value = that.formatterAdressLocation(res.data.result, 1)
that.arr_list = [value] that.arr_list = [value]
@@ -269,7 +268,36 @@
} }
}, },
fail: () => { fail: () => {
//console.log('获取失败') if (window.location.origin.search('localhost') >= 0 || window.location.origin
.search('10.165.0.173') >= 0) { // 测试环境
const value = that.formatterAdressLocation({
"formatted_address": "四川省德阳市广汉市西高镇李家院子东北约95米",
"location": {
"lon": 104.20046,
"lat": 31.0513
},
"addressComponent": {
"address": "李家院子",
"town": "高坪镇",
"nation": "中国",
"city": "德阳市",
"county_code": "156510681",
"poi_position": "东北",
"county": "广汉市",
"city_code": "156510600",
"address_position": "东北",
"poi": "李家院子",
"province_code": "156510000",
"town_code": "156510681103",
"province": "四川省",
"road": "洛小路",
"road_distance": 126,
"address_distance": 95,
"poi_distance": 95
}
}, 1)
that.arr_list = [value]
}
}, },
complete: () => { complete: () => {
uni.hideLoading(); uni.hideLoading();

View File

@@ -6,6 +6,8 @@ module.exports = {
apiKey: 'e4266a5e84fe6c10f60c559967f0a03f', apiKey: 'e4266a5e84fe6c10f60c559967f0a03f',
// 显示标题 // 显示标题
showTitle: false, showTitle: false,
loginURl: 'https://dy12333.org.cn/h5/#/pages/qyPackge/user/login/login',
AESKey: 'mL8na90u+5hoa/HKiMinvA==',
// map 1、黑色模块 2、白色模块 // map 1、黑色模块 2、白色模块
// supperMap: 'http://10.165.0.44:1205/proxy/rest/maps/f346b6c59dc64d5793713cf384fab78d/33cbaa14370449a08588f1074ecfec67', // supperMap: 'http://10.165.0.44:1205/proxy/rest/maps/f346b6c59dc64d5793713cf384fab78d/33cbaa14370449a08588f1074ecfec67',
// supperMap: 'http://10.165.0.44:1205/proxy/rest/maps/c02c6f51f3ab4190bffd5e3e54cf5ac4/111013e9067749488d44841208771768', // supperMap: 'http://10.165.0.44:1205/proxy/rest/maps/c02c6f51f3ab4190bffd5e3e54cf5ac4/111013e9067749488d44841208771768',

24
main.js
View File

@@ -8,6 +8,9 @@ import tools from '@/untils/tools.js'
import { import {
VueJsonp VueJsonp
} from 'vue-jsonp' } from 'vue-jsonp'
import {
GoLogin
} from '@/untils/AxiosUtils.js';
// 注册全局组件 // 注册全局组件
// import MescrollBody from "@/components/mescroll-uni/mescroll-body.vue" // import MescrollBody from "@/components/mescroll-uni/mescroll-body.vue"
// import MescrollUni from "@/components/mescroll-uni/mescroll-uni.vue" // import MescrollUni from "@/components/mescroll-uni/mescroll-uni.vue"
@@ -16,9 +19,21 @@ import {
import empty from '@/components/empty/empty.vue' import empty from '@/components/empty/empty.vue'
function haslogin() {
return !!store.state.user.token
}
function hasResume() { // 是否填写简历
const data = store.state.user.resumeInfo
if (!(data.education && data.telephone && data.wage && data.workplace)) {
return false
}
return true
}
function navTo(url, needLogin) { function navTo(url, needLogin) {
console.log(url) if (needLogin && !haslogin()) {
if (needLogin) { GoLogin()
return return
} }
uni.navigateTo({ uni.navigateTo({
@@ -26,6 +41,7 @@ function navTo(url, needLogin) {
}) })
} }
const msg = (title, duration = 1500, mask = false, icon = 'none') => { const msg = (title, duration = 1500, mask = false, icon = 'none') => {
uni.showToast({ uni.showToast({
title, title,
@@ -50,7 +66,9 @@ Vue.component('super-map', superMapView)
Vue.component('empty', empty) Vue.component('empty', empty)
Vue.prototype.$api = { Vue.prototype.$api = {
msg, msg,
sleep sleep,
haslogin,
hasResume
} }
Vue.prototype.tools = tools Vue.prototype.tools = tools
Vue.prototype.$config = config Vue.prototype.$config = config

View File

@@ -1,85 +1,82 @@
{ {
"name": "招聘", "name" : "招聘",
"appid": "__UNI__2BC0F87", "appid" : "__UNI__120CBFC",
"description": "", "description" : "",
"versionName": "1.0.0", "versionName" : "1.0.0",
"versionCode": "100", "versionCode" : "100",
"transformPx": false, "transformPx" : false,
"app-plus": { "sassImplementationName" : "node-sass",
"usingComponents": true, "app-plus" : {
"compilerVersion": 3, "usingComponents" : true,
/* 5+App */ "compilerVersion" : 3,
"modules": {}, /* 5+App */
/* */ "modules" : {},
"distribute": { /* */
/* */ "distribute" : {
"android": { /* */
/* android */ "android" : {
"permissions": [ /* android */
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", "permissions" : [
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>", "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>", "<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>", "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>", "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", "<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>", "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>", "<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>", "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>", "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", "<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>", "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>", "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>", "<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
] "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
}, ]
"ios": {}, },
/* ios */ "ios" : {},
"sdkConfigs": {} /* ios */
} "sdkConfigs" : {}
}, }
/* SDK */ },
"quickapp": {}, /* SDK */
/* */ "quickapp" : {},
"mp-weixin": { /* */
/* */ "mp-weixin" : {
"appid": "wx77580889aaf15eb4", /* */
"setting": { "appid" : "wx77580889aaf15eb4",
"urlCheck": false, "setting" : {
"minified": true, "urlCheck" : false,
"es6": true "minified" : true,
}, "es6" : true
"usingComponents": true, },
"permission": { "usingComponents" : true,
"scope.userLocation": { "permission" : {
"desc": "获取您的位置,以便给您推荐合适工作信息" "scope.userLocation" : {
} "desc" : "获取您的位置,以便给您推荐合适工作信息"
} }
}, }
"h5": { },
"sdkConfigs": { "h5" : {
"maps": { "sdkConfigs" : {
"qqmap": { "maps" : {}
"key": "FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI" },
} "template" : "index.html",
} "router" : {
}, "base" : "./",
"template": "index.html", "mode" : "hash"
"router": { },
"base": "./", "optimization" : {
"mode": "hash" "treeShaking" : {
}, "enable" : true
"optimization": { }
"treeShaking": { }
"enable": true }
} }
}
}
}

5
package-lock.json generated
View File

@@ -1805,6 +1805,11 @@
"resolved": "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz", "resolved": "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz",
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
}, },
"crypto-js": {
"version": "4.2.0",
"resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz",
"integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
},
"csscolorparser": { "csscolorparser": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmmirror.com/csscolorparser/-/csscolorparser-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/csscolorparser/-/csscolorparser-1.0.3.tgz",

View File

@@ -18,6 +18,7 @@
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@supermap/iclient-ol": "^11.1.1", "@supermap/iclient-ol": "^11.1.1",
"crypto-js": "^4.2.0",
"decimal.js": "^10.2.0", "decimal.js": "^10.2.0",
"js-base64": "^2.4.9", "js-base64": "^2.4.9",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
@@ -26,4 +27,4 @@
"devDependencies": { "devDependencies": {
"@supermap/babel-plugin-import": "0.0.1" "@supermap/babel-plugin-import": "0.0.1"
} }
} }

View File

@@ -36,7 +36,7 @@
} }
}, },
onShow() { onShow() {
if (!this.$store.state.user.token){ if (!this.$api.haslogin()){
//modalTitle, content, whetherCancel, confirmText, pageUrl, cancelUrl //modalTitle, content, whetherCancel, confirmText, pageUrl, cancelUrl
showUniModal('提示','您还未登录,点击确认去登录',true,'确定','/pages/login/login','/pages/index/index') showUniModal('提示','您还未登录,点击确认去登录',true,'确定','/pages/login/login','/pages/index/index')
}else{ }else{

View File

@@ -91,7 +91,7 @@
}) => { }) => {
console.log('detail,', detail) console.log('detail,', detail)
// this.skillsId = id // this.skillsId = id
this.skillsName = `${detail.parentLabel}-${detail.parentTwoLabel}-${detail.label}` this.skillsName = `${detail.parentLabel}-${detail.label}`
}) })
}, },
methods: { methods: {
@@ -113,10 +113,12 @@
// } // }
}, },
skillLevel: function() { skillLevel: function() {
uni.navigateTo({
uni.navigateTo({ url: `./skill?id=${this.worktypesId}&tradeId=${this.tradeId}&maxLayer=2&type=2`
url: `./skillLevel?id=${this.skillsId}&worktypesId=${this.worktypesId}&maxLayer=3&type=2`
}) })
// uni.navigateTo({
// url: `./skillLevel?id=${this.skillsId}&worktypesId=${this.worktypesId}&maxLayer=3&type=2`
// })
}, },
submit: async function() { submit: async function() {
// console.log(this.tradeName, this.worktypesName, this.skillsName); // console.log(this.tradeName, this.worktypesName, this.skillsName);

View File

@@ -31,8 +31,10 @@
<view class="list_text"> <view class="list_text">
{{ item.worktypes }}{{ item.skills }} {{ item.worktypes }}{{ item.skills }}
</view> </view>
<view> <view class="delt" @click="removeSkills(item.id, index)">
<image src="../../../static/img/left_right.png" mode=""></image> 删除
<!-- 向右滑动删除 -->
<!-- <image src="../../../static/img/left_right.png" mode=""></image> -->
</view> </view>
</view> </view>
</m-slide-list> </m-slide-list>
@@ -74,17 +76,21 @@
</view> </view>
</view> </view>
<image src="../../../static/img/right.svg" mode=""></image> <image src="../../../static/img/right.svg" mode=""></image>
</view> </view>
<view class="jobcontent" @click="showPickerFunc('wage')"> <!-- @click="showPickerFunc('wage')" -->
<view class="jobcontent" >
<view class="jobinfo"> <view class="jobinfo">
<view v-bind:class="['jobAddress', { 'input-error': !myResume.wage && isShowBorder }]"> <view v-bind:class="['jobAddress', { 'input-error': !myResume.wage && isShowBorder }]">
我的期望薪资 我的期望薪资
</view> </view>
<view v-bind:class="['jobText']"> <view v-bind:class="['jobText', 'jobDis']">
{{ myResume.wage ? myResume.wage : '请选择' }} <!-- {{ myResume.wage ? myResume.wage : '请选择' }} -->
<u--input type="number" border="none" @focus="change1" @change="change($event, 'wage')" :value="myResume.wage" placeholder="请输入期望薪资范围" class="jobNumber" /><span>~</span>
<u--input type="number" border="none" @focus="change1" @change="change($event, 'wageUpper')" :value="myResume.wageUpper" placeholder="请输入期望薪资范围" class="jobNumber" /><span>/</span>
</view> </view>
</view> </view>
<image src="../../../static/img/right.svg" mode=""></image> <!-- <image src="../../../static/img/right.svg" mode=""></image> -->
</view> </view>
<view class="jobcontent"> <view class="jobcontent">
<view class="jobinfo"> <view class="jobinfo">
@@ -165,12 +171,15 @@
<!-- 省市 --> <!-- 省市 -->
<data-picker :show="areaModal.addressShow" @confirm='confirmAddress' @cancel='areaModal.addressShow = false' <data-picker :show="areaModal.addressShow" @confirm='confirmAddress' @cancel='areaModal.addressShow = false'
@close='areaModal.addressShow = false' :defaultNames="areaModal.defaultNames" :indexs="areaModal.indexs" @close='areaModal.addressShow = false' :defaultNames="areaModal.defaultNames" :indexs="areaModal.indexs"
:defaultIds="areaModal.defaultIds" :showToolbar="false" :showBottombar="true" :defaultIds="areaModal.defaultIds" :showToolbar="false" :showBottombar="true" :sourceData=areaData
:labelName="areaModal.labelName"></data-picker> :labelName="areaModal.labelName"></data-picker>
</view> </view>
</template> </template>
<script> <script>
import {
GoLogin
} from '@/untils/AxiosUtils.js';
import { import {
mapGetters mapGetters
} from 'vuex' } from 'vuex'
@@ -188,7 +197,9 @@
import { import {
cloneDeep, cloneDeep,
forIn forIn
} from 'lodash'; } from 'lodash';
import area from "./province-city-county.json"
const validateForm = { const validateForm = {
name: '请输入企业名称', name: '请输入企业名称',
work: '请输入工作岗位', work: '请输入工作岗位',
@@ -214,7 +225,8 @@
city: {}, city: {},
education: {}, education: {},
wage: "", wage: "",
phone: "", phone: "",
wageUpper: ''
}, },
mySkills: [], mySkills: [],
id: undefined, id: undefined,
@@ -238,16 +250,26 @@
address: '', address: '',
addressShow: false, addressShow: false,
title: 'Hello', title: 'Hello',
// indexs: [0, 0, 8], indexs: [0,0],
// defaultIds: [1, 110000, 110106], // defaultIds: [1, 110000, 110106],
defaultNames: ['北京市', '北京市', '东城区'], // defaultNames: ['北京市', '北京市', '东城区'],
// defaultNames: ['德阳市', '旌阳区'],
labelName: "areaName" labelName: "areaName"
}, },
areaData: []
} }
}, },
onShow() { onShow() {
this.getSkill() if (!this.$api.haslogin()) {
GoLogin()
return
}
this.getSkill()
// this.areaData = area.find(i => i.id === 510000).children
const areaObj = area.find(i => i.id === 510000).children
const areaObj1 = areaObj.find(i => i.id === 510600)
this.areaData = [areaObj1]
}, },
created() { created() {
this.getResume() this.getResume()
@@ -258,7 +280,7 @@
watch: { watch: {
myResume: { myResume: {
handler: function(newVal, oldVal) { handler: function(newVal, oldVal) {
if (newVal.city && newVal.education && newVal.wage && newVal.phone) { if (newVal.city && newVal.education && newVal.wage && newVal.phone && newVal.wageUpper) {
this.canSubMit = true; this.canSubMit = true;
} else { } else {
this.canSubMit = false; this.canSubMit = false;
@@ -339,7 +361,8 @@
education: { education: {
label: data.education label: data.education
}, },
wage: data.wage, wage: data.wage,
wageUpper: data.wageUpper,
phone: data.telephone phone: data.telephone
} }
this.isShowButton = false; this.isShowButton = false;
@@ -477,7 +500,15 @@
} }
this.isShowButton = true; this.isShowButton = true;
this.showPicker = true; this.showPicker = true;
}, },
change(e, type) {
console.log(type, e, '----')
this.myResume[type] = e
},
change1(){
this.isShowButton = true;
},
pickerButtonFunc(e) { pickerButtonFunc(e) {
console.log(e, this.myResume, this.myResume[this.showType]); console.log(e, this.myResume, this.myResume[this.showType]);
this.myResume[this.showType] = e.value[0]; this.myResume[this.showType] = e.value[0];
@@ -507,7 +538,8 @@
city, city,
education, education,
phone, phone,
wage wage,
wageUpper,
} = this.myResume } = this.myResume
// 中国大陆手机号码正则表达式 // 中国大陆手机号码正则表达式
const mobileRegex = /\b(1[3-9]\d{9})\b/; const mobileRegex = /\b(1[3-9]\d{9})\b/;
@@ -515,7 +547,7 @@
const landlineRegex = /\b(0\d{2,3}-\d{7,8}(-\d{1,4})?)\b/; const landlineRegex = /\b(0\d{2,3}-\d{7,8}(-\d{1,4})?)\b/;
const workList = JSON.stringify(this.gzList) const workList = JSON.stringify(this.gzList)
if (!wage || !wageUpper) return this.showToast("请正确填写薪资范围");
if (mobileRegex.test(phone) || landlineRegex.test(phone)) { if (mobileRegex.test(phone) || landlineRegex.test(phone)) {
// 电话号码格式正确 // 电话号码格式正确
console.log(phone, "电话号码格式正确"); console.log(phone, "电话号码格式正确");
@@ -524,11 +556,13 @@
education: education.label, education: education.label,
workplace: city.workplace ? city.workplace : city.parentLabel + '-' + city.label, workplace: city.workplace ? city.workplace : city.parentLabel + '-' + city.label,
telephone: phone, telephone: phone,
wage, wage,
wageUpper,
workExperience: workList workExperience: workList
}).then(res => { }).then(res => {
this.isShowButton = false; this.isShowButton = false;
this.getResume() this.getResume()
this.$store.dispatch('getResumeInfo')
this.$api.msg('保存成功') this.$api.msg('保存成功')
}) })
} else { } else {
@@ -808,5 +842,49 @@
.input-error { .input-error {
color: red; color: red;
} }
.delt {
color: red;
font-size: 26rpx;
}
.jobDis {
width: 100%;
display: flex;
height: 60rpx;
border: 1rpx solid #999999;
border-radius: 40rpx;
span:nth-of-type(1) {
padding: 0 20rpx;
border: 1rpx solid #999999;
border-top: none;
border-bottom: none;
}
span:nth-of-type(2) {
padding: 0 10rpx;
width: 80rpx;
font-size: 20rpx;
border-left: 1rpx solid #999999;
}
}
.jobNumber {
height: 60rpx;
padding-left: 16rpx;
/* border: 1rpx solid #999999; */
/* border-top: none;
border-bottom: none; */
}
.uni-input-placeholder {
padding-left: 16rpx !important;
}
.uni-input-input, .uni-input-placeholder {
padding-left: 16rpx !important;
}
.u-input__content__field-wrapper__field {
padding-left: 16rpx !important;
}
</style> </style>

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,27 @@
<template> <template>
<view> <view>
<view class="title"> <view class="search">
全部 <input
</view> v-model="searchKeyword"
<block v-for="(item, index) in city" :key="index"> type="text"
class="search-input"
placeholder="请输入关键词搜索"
@input="handleSearch"
@focus="isSearchFocused = true"
@blur="handleSearchBlur"
/>
</view>
<view class="title">
全部
</view>
<block v-for="(item, index) in filteredResults" :key="index">
<view class="cityList" @click="cityClick(item)"> <view class="cityList" @click="cityClick(item)">
{{ item.name }} {{ item.name }}
<image src="../../../static/img/correct.svg" v-if="id === item.id" mode=""></image> <image src="../../../static/img/correct.svg" v-if="id === item.id" mode=""></image>
<image v-else-if="layer !== maxLayer" src="../../../static/img/right.svg" mode=""></image> <image v-else-if="layer !== maxLayer" src="../../../static/img/right.svg" mode=""></image>
</view> </view>
</block> </block>
<view class="" v-if="layer === maxLayer" style="height: 230rpx;background-color: #f6f6f6;"></view> <view class="" v-if="layer === maxLayer" style="height: 230rpx;background-color: #f6f6f6;"></view>
<view class="btn" v-if="layer === maxLayer" @click="comfirm"> <view class="btn" v-if="layer === maxLayer" @click="comfirm">
<view class="bottombtn"> <view class="bottombtn">
@@ -37,7 +49,11 @@
id: '', id: '',
label: '', label: '',
tradeId: '', tradeId: '',
searchKeyword: '', // 模糊关键字搜索
isSearchFocused: true,
searchFields: ['name'],
type: 1
} }
}, },
computed: { computed: {
@@ -51,7 +67,20 @@
} else { } else {
return this.workTypeList; return this.workTypeList;
} }
} },
filteredResults() {
if (!this.searchKeyword) {
return this.city
}
const keyword = this.searchKeyword.toLowerCase()
return this.city.filter(item => {
return this.searchFields.some(field => {
const value = this.getObjectValue(item, field)
return value && value.toLowerCase().includes(keyword)
})
})
}
}, },
mounted() { mounted() {
getWorktypesList(1).then(res => { getWorktypesList(1).then(res => {
@@ -64,12 +93,15 @@
tradeId, tradeId,
parentId, parentId,
layer, layer,
maxLayer maxLayer,
type
}) { }) {
this.parentId = parentId this.parentId = parentId
this.tradeId = tradeId || 0 this.tradeId = tradeId || 0
this.layer = parseInt(layer || 1) this.layer = parseInt(layer || 1)
this.maxLayer = parseInt(maxLayer || 2) this.maxLayer = parseInt(maxLayer || 2)
console.log(type, 'type')
this.type = type
}, },
onShow: function() {}, onShow: function() {},
methods: { methods: {
@@ -88,18 +120,32 @@
}, },
goCityInfo(item) { goCityInfo(item) {
uni.navigateTo({ uni.navigateTo({
url: `./skill?layer=${this.layer + 1}&maxLayer=${this.maxLayer}&parentId=${item.id}&parentLabel=${item.name}` url: `./skill?layer=${this.layer + 1}&maxLayer=${this.maxLayer}&parentId=${item.id}&parentLabel=${item.name}&type=${this.type}`
}) })
}, },
comfirm: function() { comfirm: function() {
if (this.id) { if (this.id) {
uni.$emit('setworkTypes', { console.log(this.type)
detail: { if (this.type == '1') {
id: this.id, console.log('00000000')
label: this.label, uni.$emit('setworkTypes', {
parentLabel: this.$route.query.parentLabel detail: {
} id: this.id,
}) label: this.label,
parentLabel: this.$route.query.parentLabel
}
})
} else {
console.log('1111111')
uni.$emit('setSkill', {
detail: {
id: this.id,
label: this.label,
parentLabel: this.$route.query.parentLabel,
parentTwoLabel: this.$route.query.parentTwoLabel
},
})
}
uni.navigateBack({ uni.navigateBack({
delta: this.layer delta: this.layer
}) })
@@ -109,7 +155,23 @@
icon: "none" icon: "none"
}) })
} }
}, },
// 模糊搜索
handleSearch() {
console.log(this.searchKeyword)
},
// 失去焦点
handleSearchBlur() {
},
// 获取对象深层值
getObjectValue(obj, path) {
return path.split('.').reduce((current, key) => {
return current && current[key] !== undefined ? current[key] : ''
}, obj)
},
} }
} }
@@ -185,5 +247,18 @@
page { page {
background-color: #fefefe; background-color: #fefefe;
} }
.search {
width: 80%;
height: 60rpx;
margin: 10rpx auto;
border: 1rpx solid #dddddd;
border-radius: 40rpx;
padding-left: 30rpx;
}
.search-input {
width: 80%;
height: 60rpx;
}
</style> </style>

View File

@@ -1,153 +1,158 @@
<template> <template>
<view class="body"> <view class="body">
<!-- <view class="tab"> <!-- <view class="tab">
<v-tabs :tabs="['全部任务','全部岗位']" v-model="activeTab" color="#999" activeColor="#000" fontSize="36rx" <v-tabs :tabs="['全部任务','全部岗位']" v-model="activeTab" color="#999" activeColor="#000" fontSize="36rx"
activeFontSize="36rpx" @change='changeTab' /> activeFontSize="36rpx" @change='changeTab' />
</view> --> </view> -->
<block v-for="(page, pIndex) in data" :key="pIndex"> <block v-for="(page, pIndex) in data" :key="pIndex">
<block v-for="(item, index) in page" :key="item.id"> <block v-for="(item, index) in page" :key="item.id">
<view class="probody"> <view class="probody">
<company-list :companyitem="item" :noApply="false"></company-list> <company-list :companyitem="item" :noApply="false" :location="userLocation"></company-list>
<view class="baddd"></view> <view class="baddd"></view>
<!-- <block> <!-- <block>
<image src="/static/img/tab.orange.svg" mode="" v-if="item.status === 1"></image> <image src="/static/img/tab.orange.svg" mode="" v-if="item.status === 1"></image>
<image src="/static/img/tab.blue.svg" mode="" v-else-if="item.status === 2"></image> <image src="/static/img/tab.blue.svg" mode="" v-else-if="item.status === 2"></image>
<image src="/static/img/tab.green.svg" mode="" v-else-if="item.status === 3"></image> <image src="/static/img/tab.green.svg" mode="" v-else-if="item.status === 3"></image>
<image src="/static/img/tab.gray.svg" mode="" v-else></image> <image src="/static/img/tab.gray.svg" mode="" v-else></image>
</block> --> </block> -->
</view> </view>
</block> </block>
</block> </block>
<view class="nothing" v-if="data.length === 0"> <view class="nothing" v-if="data.length === 0">
<image src="/static/img/pic_notask.svg" mode=""></image> <image src="/static/img/pic_notask.svg" mode=""></image>
<view class="nothingContnt"> <view class="nothingContnt">
暂无收藏信息 暂无收藏信息
</view> </view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import vTabs from '@/components/v-tabs/v-tabs.vue'; import vTabs from '@/components/v-tabs/v-tabs.vue';
import companyList from '@/components/companyList/collectionList.vue'; import companyList from '@/components/companyList/collectionList.vue';
import { import {
myCollection myCollection
} from '@/api/mission.js'; } from '@/api/mission.js';
import {
export default { mapGetters
components: { } from 'vuex'
vTabs, export default {
companyList components: {
}, vTabs,
data() { companyList
return { },
data: [], data() {
activeTab: 0, return {
current: 1, data: [],
size: 10, activeTab: 0,
total: 0 current: 1,
} size: 10,
}, total: 0
onLoad: function() { }
this.init() },
}, computed: {
/*页面滚动到底部 换页*/ ...mapGetters(['userLocation']),
onReachBottom: function() { },
if (this.current <= Math.ceil(this.total / this.size)) { onLoad: function() {
this.getData(); this.init()
} else { },
uni.showToast({ /*页面滚动到底部 换页*/
icon: "none", onReachBottom: function() {
title: '已经是最后一页', if (this.current <= Math.ceil(this.total / this.size)) {
}) this.getData();
} } else {
}, uni.showToast({
/*下拉刷新*/ icon: "none",
onPullDownRefresh:function(){ title: '已经是最后一页',
this.init() })
}, }
methods: { },
init(){ /*下拉刷新*/
this.current = 1 onPullDownRefresh: function() {
this.data = [] this.init()
this.getData() },
}, methods: {
getData() { init() {
var status = Number(this.activeTab) + 1 this.current = 1
myCollection(this.current, this.size, status).then(res => { this.data = []
uni.stopPullDownRefresh(); this.getData()
if (this.current === 1) { },
this.data = []; getData() {
} var status = Number(this.activeTab) + 1
this.current += 1; myCollection(this.current, this.size, status).then(res => {
this.total = res.data.data.total; uni.stopPullDownRefresh();
if (res.data.data && res.data.data.records.length) { if (this.current === 1) {
this.data.push(res.data.data.records); this.data = [];
} }
}) this.current += 1;
}, this.total = res.data.data.total;
gomap: function() { if (res.data.data && res.data.data.records.length) {
uni.navigateTo({ this.data.push(res.data.data.records);
url: '../mapSeach/mapSeach' }
}) })
}, },
changeTab: function(e) { gomap: function() {
this.activeTab = e; uni.navigateTo({
this.init() url: '../mapSeach/mapSeach'
} })
} },
} changeTab: function(e) {
</script> this.activeTab = e;
this.init()
<style scoped> }
page { }
height: 100%; }
} </script>
.tab { <style scoped>
height: 46px; page {
} height: 100%;
}
.body {
height: 100%; .tab {
} height: 46px;
}
.probody image {
width: 88rpx; .body {
height: 88rpx; height: 100%;
position: absolute; }
right: 0;
top: 0; .probody image {
} width: 88rpx;
height: 88rpx;
.probody { position: absolute;
width: 100%; right: 0;
position: relative; top: 0;
} }
.baddd { .probody {
background: #f6f6f6; width: 100%;
height: 20rpx; position: relative;
} }
.nothing { .baddd {
height: 100%; background: #f6f6f6;
padding-top: 50%; height: 20rpx;
box-sizing: border-box; }
}
.nothing {
.nothing image { height: 100%;
width: 400rpx; padding-top: 50%;
height: 200rpx; box-sizing: border-box;
display: block; }
margin: 0 auto;
} .nothing image {
width: 400rpx;
.nothingContnt { height: 200rpx;
font-family: PingFangSC-Regular; display: block;
font-size: 28rpx; margin: 0 auto;
color: #666; }
margin-top: 30rpx;
text-align: center; .nothingContnt {
} font-family: PingFangSC-Regular;
</style> font-size: 28rpx;
color: #666;
margin-top: 30rpx;
text-align: center;
}
</style>

View File

@@ -191,16 +191,16 @@
</view> </view>
</view> </view>
<view class="info_market"> <!-- <view class="info_market">
<view class="market_top"> <view class="market_top">
<view class="top_log"></view> <view class="top_log"></view>
<view class="next_market" @click="navTo('/pages/market/market')">去市场</view> <view class="next_market" @click="navTo('/pages/market/market')">去市场</view>
</view> </view>
<!-- <view class="market_bottom"> <view class="market_bottom">
<view>了解市场<u-icon name="arrow-right" color="#666666" size="13"></u-icon></view> <view>了解市场<u-icon name="arrow-right" color="#666666" size="13"></u-icon></view>
<view>我要咨询<u-icon name="arrow-right" color="#666666" size="13"></u-icon></view> <view>我要咨询<u-icon name="arrow-right" color="#666666" size="13"></u-icon></view>
</view> --> </view>
</view> </view> -->
<view class="latestMission"> <view class="latestMission">
<view class="cardTips" <view class="cardTips"
@@ -289,36 +289,26 @@
policyContentList: [], policyContentList: [],
policyType: 1, policyType: 1,
swiperType: 1, swiperType: 1,
IsResume: true,
}; };
}, },
onLoad: function(options) { onLoad: function(options) {
myResume().then(res => { if (this.$api.haslogin()) {
const data = res.data.data this.$store.dispatch('getResumeInfo')
if (!(data.education && data.telephone && data.wage && data.workplace)) { }
this.goures()
this.$api.sleep(1000).then(() => {
this.$api.msg('请输入基本信息')
})
}
})
}, },
onShow: function() { onShow: function() {
if (!this.$store.state.user.token) {
uni.reLaunch({
url: '/pages/login/login'
})
return
}
this.$store.dispatch('refreshAuthState').then((e) => {
var auth = this.$store.state.auth
if (!auth.bankCardState) {
this.step()
}
})
this.download() this.download()
this.getSwiperList() this.getSwiperList()
this.getPolicy() this.getPolicy()
if (this.$api.haslogin()) {
this.$store.dispatch('refreshAuthState').then((e) => {
var auth = this.$store.state.auth
if (!auth.bankCardState) {
this.step()
}
})
}
}, },
onReady() { onReady() {
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
@@ -394,11 +384,11 @@
}) })
}, },
download: function() { download: function() {
this.isLogin = this.$store.state.user.token ? true : false; this.isLogin = this.$api.haslogin() ? true : false;
newMission().then(res => { newMission().then(res => {
this.companyList = res.data.data; this.companyList = res.data.data;
}); });
if (this.$store.state.user.token) { if (this.$api.haslogin()) {
uni.$emit('newsReadChange') uni.$emit('newsReadChange')
this.$store.dispatch("getUnreadNum"); this.$store.dispatch("getUnreadNum");
recMission().then(res => { recMission().then(res => {
@@ -407,25 +397,7 @@
}; };
}, },
goLocation: function() { goLocation: function() {
if (!this.$store.state.user.token) { this.navTo('../mapSeach/mapSeach', true)
uni.showModal({
title: '提示',
content: '您还未登录,点击确认去登录',
success: function(res) {
if (res.confirm) {
uni.redirectTo({
url: "/pages/login/login"
});
} else if (res.cancel) {
return
}
}
});
} else {
uni.navigateTo({
url: '../mapSeach/mapSeach'
});
}
}, },
goResume: function() { goResume: function() {
uni.navigateTo({ uni.navigateTo({
@@ -439,40 +411,16 @@
}); });
}, },
goures: function() { goures: function() {
if (!this.$store.state.user.token) { this.navTo('/pageMy/my/resume/index', true)
uni.showModal({
title: '提示',
content: '您还未登录,点击确认去登录',
success: function(res) {
if (res.confirm) {
uni.redirectTo({
url: "/pages/login/login"
});
} else if (res.cancel) {
return
}
}
});
} else {
uni.navigateTo({
url: '/pageMy/my/resume/index'
});
}
}, },
toNewTask() { toNewTask() {
uni.navigateTo({ this.navTo(`/pages/project/newProject?tabIndex=${0}`, false)
url: `/pages/project/newProject?tabIndex=${0}`
});
}, },
toNewWork() { toNewWork() {
uni.navigateTo({ this.navTo(`/pages/project/newProject?tabIndex=${1}`, false)
url: `/pages/project/newProject?tabIndex=${1}`
});
}, },
toNewProject() { toNewProject() {
uni.navigateTo({ this.navTo(`/pages/project/newProject?tabIndex=${2}`, false)
url: `/pages/project/newProject?tabIndex=${2}`
});
}, },
toArticleDetail(id) { toArticleDetail(id) {
if (id) { if (id) {
@@ -482,49 +430,11 @@
} }
}, },
gouserSet: function() { gouserSet: function() {
if (!this.$store.state.user.token) { this.navTo('/pageMy/setUserBase/index', true)
uni.showModal({
title: '提示',
content: '您还未登录,点击确认去登录',
success: function(res) {
if (res.confirm) {
uni.redirectTo({
url: "/pages/login/login"
});
} else if (res.cancel) {
return
}
}
});
} else {
uni.navigateTo({
url: '/pageMy/setUserBase/index'
});
}
}, },
goSeach: function() { goSeach: function() {
if (!this.$store.state.user.token) { this.navTo('../seach/seach?keywords=' + this.keywords, true)
uni.showModal({ this.keywords = ''
title: '提示',
content: '您还未登录,点击确认去登录',
success: function(res) {
if (res.confirm) {
uni.redirectTo({
url: '/pages/login/login'
})
} else if (res.cancel) {
return
}
}
});
} else {
// if (this.keywords) {
uni.navigateTo({
url: '../seach/seach?keywords=' + this.keywords
});
this.keywords = ''
// }
}
}, },
getSwiperList() { getSwiperList() {
getSwiperList(this.swiperType).then(res => { getSwiperList(this.swiperType).then(res => {
@@ -573,7 +483,7 @@
padding: 24rpx; padding: 24rpx;
.top_log { .top_log {
background: url(@/static/img/index/inLogo.png) no-repeat center center; background: url(@/static/img/title-pg.png) no-repeat center center;
background-size: cover; background-size: cover;
height: 60rpx; height: 60rpx;
width: 450rpx; width: 450rpx;
@@ -608,7 +518,7 @@
} }
.home_logo { .home_logo {
background: url(@/static/img/index/inLogo.png) no-repeat center center; background: url(@/static/img/title-pg.png) no-repeat center center;
background-size: cover; background-size: cover;
height: 76rpx; height: 76rpx;
width: 560rpx; width: 560rpx;

View File

@@ -7,6 +7,9 @@
import { import {
mapGetters mapGetters
} from 'vuex' } from 'vuex'
import {
GoLogin
} from '@/untils/AxiosUtils.js';
import website from '@/config/website.js' import website from '@/config/website.js'
export default { export default {
data() { data() {
@@ -17,7 +20,7 @@
}, },
onLoad(options) { onLoad(options) {
uni.showLoading({ uni.showLoading({
title: '' title: '登录中'
}) })
if (options.token) { if (options.token) {
const that = this const that = this
@@ -39,7 +42,6 @@
if (!auth.bankCardState) { if (!auth.bankCardState) {
that.goSign(0) that.goSign(0)
} else { } else {
uni.switchTab({ uni.switchTab({
url: '/pages/index/index' url: '/pages/index/index'
}) })
@@ -50,9 +52,10 @@
// this.$refs.code.refushCode() // this.$refs.code.refushCode()
}); });
} else { } else {
uni.reLaunch({ // uni.reLaunch({
url: '/pages/login/login' // url: '/pages/login/login'
}) // })
GoLogin()
} }
}, },
method: { method: {

View File

@@ -1,170 +1,171 @@
<template> <template>
<login-template title="账号登录"> <login-template title="账号登录">
<!-- #ifdef H5 --> <!-- #ifdef H5 -->
<!-- <view class="login-go-home" @click="goHome"> <!-- <view class="login-go-home" @click="goHome">
<image class="login-go-home-image" src="@/static/img/home.svg"></image> <image class="login-go-home-image" src="@/static/img/home.svg"></image>
</view> --> </view> -->
<!-- #endif --> <!-- #endif -->
<jl-input type="text" v-model="phone" placeholder="请输入手机号" @confirm="login"></jl-input> <jl-input type="text" v-model="phone" placeholder="请输入手机号" @confirm="login"></jl-input>
<jl-input type="text" v-model="password" placeholder="请输入登录密码" @confirm="login" showPassword clearable></jl-input> <jl-input type="text" v-model="password" placeholder="请输入登录密码" @confirm="login" showPassword
<!-- <code-input ref="code" v-model="code" :getCode="getCaptcha" @key-change="keyChange" @confirm="login"></code-input> --> clearable></jl-input>
<view v-if="loading" class="btn nocheck" loading="true"></view> <!-- <code-input ref="code" v-model="code" :getCode="getCaptcha" @key-change="keyChange" @confirm="login"></code-input> -->
<view v-else-if="validate" class="btn" @click="login">立即登录</view> <view v-if="loading" class="btn nocheck" loading="true"></view>
<view v-else class="btn nocheck">立即登录</view> <view v-else-if="validate" class="btn" @click="login">立即登录</view>
<!-- <view class="changeLogintype"> <view v-else class="btn nocheck">立即登录</view>
<view class="" @click="goReg">手机注册</view> <!-- <view class="changeLogintype">
<view class="" @click="goForget">忘记密码</view> <view class="" @click="goReg">手机注册</view>
</view> --> <view class="" @click="goForget">忘记密码</view>
</login-template> </view> -->
</template> </login-template>
</template>
<script>
import { <script>
mapGetters import {
} from 'vuex' mapGetters
import { } from 'vuex'
getCaptcha import {
} from '@/api/user.js' getCaptcha
import { } from '@/api/user.js'
isMobile import {
} from '@/untils/validate.js' isMobile
import website from '@/config/website.js' } from '@/untils/validate.js'
import codeInput from './codeInput.vue' import website from '@/config/website.js'
import jlInput from '@/components/jl-input/main.vue' import codeInput from './codeInput.vue'
import loginTemplate from './template.vue' import jlInput from '@/components/jl-input/main.vue'
import loginTemplate from './template.vue'
export default {
components: { export default {
jlInput, components: {
codeInput, jlInput,
loginTemplate codeInput,
}, loginTemplate
data() { },
return { data() {
phone: '', return {
password: '', phone: '',
code: '1111', password: '',
key: '', code: '1111',
loading: false key: '',
} loading: false
}, }
created() { },
if (this.userInfo.token) { created() {
uni.navigateBack() if (this.userInfo.token) {
} uni.navigateBack()
}, }
onShow() { },
// #ifdef MP-WEIXIN onShow() {
wx.hideHomeButton(); // #ifdef MP-WEIXIN
//#endif wx.hideHomeButton();
this.password = '' //#endif
if (this.$store.state.user.token) { this.password = ''
this.$store.dispatch('LogOut').then(() => { if (this.$api.haslogin()) {
this.$store.dispatch('clearAuthState') this.$store.dispatch('LogOut').then(() => {
this.$store.dispatch('endRefreshNewsTimer') this.$store.dispatch('clearAuthState')
}) this.$store.dispatch('endRefreshNewsTimer')
} })
}, }
methods: { },
goHome() { methods: {
uni.switchTab({ goHome() {
url: '/pages/index/index' uni.switchTab({
}) url: '/pages/index/index'
}, })
login(e) { },
if (this.validate) { login(e) {
this.userChecked = true; if (this.validate) {
console.log(this.userChecked) this.userChecked = true;
// if (!this.userChecked) { console.log(this.userChecked)
// uni.showToast({ // if (!this.userChecked) {
// title:'请先阅读并同意《服务及隐私协议》', // uni.showToast({
// icon:'none', // title:'请先阅读并同意《服务及隐私协议》',
// }) // icon:'none',
// } else { // })
var that = this // } else {
this.loading = true var that = this
this.$store.dispatch("LoginByUsername", { this.loading = true
username: this.phone, this.$store.dispatch("LoginByUsername", {
password: this.password, username: this.phone,
key: this.key, password: this.password,
code: this.code, key: this.key,
type: "account", code: this.code,
tenantId: website.tenantId type: "account",
}).then((resp) => { tenantId: website.tenantId
this.$store.dispatch('refreshAuthState').then(() => { }).then((resp) => {
that.loading = false this.$store.dispatch('refreshAuthState').then(() => {
var auth = this.auth that.loading = false
if (!auth.bankCardState) { var auth = this.auth
that.goSign(0) if (!auth.bankCardState) {
} else { that.goSign(0)
uni.switchTab({ } else {
url: '/pages/index/index' uni.switchTab({
}) url: '/pages/index/index'
} })
}) }
}).catch((err) => { })
this.loading = false }).catch((err) => {
// this.$refs.code.refushCode() this.loading = false
location.href = "https://dy12333.org.cn/h5/" // this.$refs.code.refushCode()
}); location.href = "https://dy12333.org.cn/h5/"
// } });
} // }
}, }
// 步骤 },
goSign(active) { // 步骤
uni.navigateTo({ goSign(active) {
url: `/pages/projectInfo/signContract?active=${active}` uni.navigateTo({
}) url: `/pages/projectInfo/signContract?active=${active}`
}, })
keyChange(val) { },
this.key = val keyChange(val) {
}, this.key = val
goReg() { },
uni.navigateTo({ goReg() {
url: './reg' uni.navigateTo({
}) url: './reg'
}, })
goForget() { },
uni.navigateTo({ goForget() {
url: './forgetPwd' uni.navigateTo({
}) url: './forgetPwd'
}, })
getCaptcha },
}, getCaptcha
computed: { },
...mapGetters(['userInfo', 'auth', 'autograph', 'userChecked']), computed: {
validate() { ...mapGetters(['userInfo', 'auth', 'autograph', 'userChecked']),
return this.phone && this.password && this.code validate() {
} return this.phone && this.password && this.code
} }
} }
</script> }
</script>
<style>
@import "./css.css"; <style>
@import "./css.css";
/* #ifdef H5 */
.login-go-home { /* #ifdef H5 */
position: absolute; .login-go-home {
top: 10rpx; position: absolute;
left: 0; top: 10rpx;
border-radius: 50%; left: 0;
width: 60rpx; border-radius: 50%;
height: 60rpx; width: 60rpx;
background: rgb(217, 217, 217); height: 60rpx;
border: 1px solid rgb(198, 198, 198); background: rgb(217, 217, 217);
} border: 1px solid rgb(198, 198, 198);
}
.login-go-home-image {
width: 40rpx; .login-go-home-image {
height: 40rpx; width: 40rpx;
margin: auto; height: 40rpx;
position: absolute; margin: auto;
top: 0; position: absolute;
bottom: 0; top: 0;
left: 0; bottom: 0;
right: 0; left: 0;
} right: 0;
}
/* #endif */
</style> /* #endif */
</style>

File diff suppressed because it is too large Load Diff

View File

@@ -1,353 +1,373 @@
<template> <template>
<view class="body"> <view class="body">
<view class="head"> <view class="head">
<view class="userTitle"> <view class="userTitle">
<image v-if="userInfo.avatar" :src="userInfo.avatar" mode=""></image> <image v-if="userInfo.avatar" :src="userInfo.avatar" mode=""></image>
<image v-else src="../../static/img/head.svg" mode=""></image> <image v-else src="../../static/img/head.svg" mode=""></image>
<view class="userRight"> <view class="userRight">
<view class="userTel" v-if="userInfo.user_name"> <view class="userTel" v-if="userInfo.user_name">
{{ auth.authInfo.realName ? auth.authInfo.realName : {{ auth.authInfo.realName ? auth.authInfo.realName : phoneFilter(userInfo.user_name) }}
phoneFilter(userInfo.user_name) }} </view>
</view> <view class="userTel" v-else></view>
<view class="userTel" v-else> </view> <view class="userContent">
<view class="userContent"> <view style="margin-right: 40rpx">
<view style="margin-right: 40rpx;">实名认证{{ auth.realNameState ? '已认证' : '未认证' }}</view> 实名认证{{ auth.realNameState ? '已认证' : '未认证' }}
<!-- <view>银行卡核验{{auth.bankCardState?'已认证':'未认证'}}</view> --> </view>
</view> <!-- <view>银行卡核验{{auth.bankCardState?'已认证':'未认证'}}</view> -->
</view> </view>
</view> </view>
<view class="centerBar"> </view>
<view class="BarList" @click="go('/pages/my/Browsinghistory')"> <view class="centerBar">
<image src="../../static/img/resumeMy.svg" mode=""></image> <view class="BarList" @click="go('/pages/my/Browsinghistory')">
我的邀请 <image src="../../static/img/resumeMy.svg" mode=""></image>
</view> 我的邀请
<view class="BarList" @click="go('/pageMy/myProject/myProject')"> </view>
<image src="../../static/img/job.svg" mode=""></image> <view class="BarList" @click="go('/pageMy/myProject/myProject')">
我的申请 <image src="../../static/img/job.svg" mode=""></image>
</view> 我的申请
<view class="BarList" @click="go('/pageMy/myProject/myCollection')"> </view>
<image src="../../static/img/salary.svg" mode=""></image> <view class="BarList" @click="go('/pageMy/myProject/myCollection')">
我的收藏 <image src="../../static/img/salary.svg" mode=""></image>
</view> 我的收藏
<view class="BarList" @click="go('/pageMy/myProject/browsingHistory')"> </view>
<image src="../../static/img/contract.png" mode=""></image> <view class="BarList" @click="go('/pageMy/myProject/browsingHistory')">
浏览记录 <image src="../../static/img/contract.png" mode=""></image>
</view> 浏览记录
<!-- <view class="BarList" @click="go('/pageMy/myProject/browsingHistory')"> </view>
<image src="../../static/img/contract.png" mode=""></image> <!-- <view class="BarList" @click="go('/pageMy/myProject/browsingHistory')">
我要招工 <image src="../../static/img/contract.png" mode=""></image>
</view> --> 我要招工
</view> </view> -->
</view> </view>
<view style="height: 104rpx;"></view> </view>
<!-- <view class="federation"> <view style="height: 104rpx"></view>
<view>新业态职工工会联合会</view> <!-- <view class="federation">
<view v-if="!federationStatus" class="forMembership" @click="go('/pageMy/federation/forMembership/Notice')">申请入</view> <view>新业态职工工会联合</view>
<view v-else class="forMembership" @click="go('/pageMy/federation/vip/information')">已加入</view> <view v-if="!federationStatus" class="forMembership" @click="go('/pageMy/federation/forMembership/Notice')">申请入会</view>
</view> --> <view v-else class="forMembership" @click="go('/pageMy/federation/vip/information')">已加入</view>
</view> -->
<view class="btn">
<view class="btnList" @click="go('/pages/recruit/recruit')"> <view class="btn">
<image src="../../static/img/zhao_gong.png" mode=""></image> <view class="btnList" @click="go('/pages/recruit/recruit')">
我要招工 <image src="../../static/img/zhao_gong.png" mode=""></image>
<image src="../../static/img/right.svg" mode=""></image> 我要招工
</view> <image src="../../static/img/right.svg" mode=""></image>
<view class="btnList" @click="go('/pageMy/setUserBase/index')"> </view>
<image src="../../static/img/ID.svg" mode=""></image> <view class="btnList" @click="go('/pageMy/setUserBase/index')">
认证信息 <image src="../../static/img/ID.svg" mode=""></image>
<image src="../../static/img/right.svg" mode=""></image> 认证信息
</view> <image src="../../static/img/right.svg" mode=""></image>
<view class="btnList" @click="navTo('/pageMy/setUserBase/mailbox')"> </view>
<image src="../../static/img/evaluate.png" mode=""></image> <view class="btnList" @click="navTo('/pageMy/setUserBase/mailbox')">
咨询信箱 <image src="../../static/img/evaluate.png" mode=""></image>
<image src="../../static/img/right.svg" mode=""></image> 咨询信箱
</view> <image src="../../static/img/right.svg" mode=""></image>
<view class="btnList" @click="navTo('/pageMy/setUserBase/applicationsRecord')"> </view>
<image src="../../static/img/phone.svg" mode=""></image> <view class="btnList" @click="navTo('/pageMy/setUserBase/applicationsRecord')">
问卷调查 <image src="../../static/img/phone.svg" mode=""></image>
<image src="../../static/img/right.svg" mode=""></image> 问卷调查
</view> <image src="../../static/img/right.svg" mode=""></image>
<view class="btnList" @click="navTo('/pageMy/setUserBase/survey')"> </view>
<image src="../../static/img/phone.svg" mode=""></image> <view class="btnList" @click="navTo('/pageMy/setUserBase/survey')">
用工调研 <image src="../../static/img/phone.svg" mode=""></image>
<image src="../../static/img/right.svg" mode=""></image> 用工调研
</view> <image src="../../static/img/right.svg" mode=""></image>
<view class="btnList" @click="navTo('/pageMy/setUserBase/complain')"> </view>
<image src="../../static/img/vip.svg" mode=""></image> <view class="btnList" @click="navTo('/pageMy/setUserBase/complain')">
投诉建议 <image src="../../static/img/vip.svg" mode=""></image>
<image src="../../static/img/right.svg" mode=""></image> 投诉建议
</view> <image src="../../static/img/right.svg" mode=""></image>
<template v-if="user.userIsCms"> </view>
<view class="btnList" @click="navTo('/pageMy/admin/check')"> <view class="btnList">
<image src="../../static/img/check1.png" mode=""></image> <image src="../../static/img/vip.svg" mode=""></image>
岗位发布审核 消息提醒
<image src="../../static/img/right.svg" mode=""></image> <switch class="imgswitch" :checked="user.isEnbleNotice" @change="switch1Change" />
</view> </view>
<view class="btnList" @click="navTo('/pageMy/admin/dengji')"> <template v-if="user.userIsCms">
<image src="../../static/img/dji.png" mode=""></image> <view class="btnList" @click="navTo('/pageMy/admin/check')">
线下服务记录登记 <image src="../../static/img/check1.png" mode=""></image>
<image src="../../static/img/right.svg" mode=""></image> 岗位发布审核
</view> <image src="../../static/img/right.svg" mode=""></image>
<view class="btnList" @click="navTo('/pageMy/admin/admin')"> </view>
<image src="../../static/img/dji.png" mode=""></image> <view class="btnList" @click="navTo('/pageMy/admin/dengji')">
零工人员登记 <image src="../../static/img/dji.png" mode=""></image>
<image src="../../static/img/right.svg" mode=""></image> 线下服务记录登记
</view> <image src="../../static/img/right.svg" mode=""></image>
</template> </view>
<!-- <view class="btnList" @click="go('/pageMy/apply/applications')"> <view class="btnList" @click="navTo('/pageMy/admin/admin')">
<image src="../../static/img/apply.png" mode=""></image> <image src="../../static/img/dji.png" mode=""></image>
我的申请 零工人员登记
<image src="../../static/img/right.svg" mode=""></image> <image src="../../static/img/right.svg" mode=""></image>
</view> --> </view>
<!-- <view class="btnList" @click="go('/pageMy/help/help')"> </template>
<image src="../../static/img/help.svg" mode=""></image> <!-- <view class="btnList" @click="go('/pageMy/apply/applications')">
帮助与反馈 <image src="../../static/img/apply.png" mode=""></image>
<image src="../../static/img/right.svg" mode=""></image> 我的申请
</view> --> <image src="../../static/img/right.svg" mode=""></image>
<!-- <view class="btnList" @click="go('/pageMy/my/set')"> </view> -->
<image src="../../static/img/set.svg" mode=""></image> <!-- <view class="btnList" @click="go('/pageMy/help/help')">
设置 <image src="../../static/img/help.svg" mode=""></image>
<image src="../../static/img/right.svg" mode=""></image> 帮助与反馈
</view> --> <image src="../../static/img/right.svg" mode=""></image>
</view> </view> -->
<!-- <view class="btn-out" @click="logout"> <!-- <view class="btnList" @click="go('/pageMy/my/set')">
退出登录 <image src="../../static/img/set.svg" mode=""></image>
</view> --> 设置
<view class="bottom" @click="makePhoneCall"> <image src="../../static/img/right.svg" mode=""></image>
<view>德阳市人社局 电话0838-2505580</view> </view> -->
<view>地址德阳市旌阳区天山南路1段-102</view> </view>
</view> <!-- <view class="btn-out" @click="logout">
<cs-button></cs-button> 退出登录
</view> </view> -->
</template> <!-- <view class="bottom" @click="makePhoneCall">
<view>德阳市人社局 电话0838-2505580</view>
<script> <view>地址德阳市旌阳区天山南路1段-102</view>
import { </view> -->
mapState, <cs-button></cs-button>
mapGetters </view>
} from 'vuex' </template>
import {
phoneFilter, <script>
stringFilterNum import { GoLogin } from '@/untils/AxiosUtils.js';
} from '@/untils/format.js' import { mapState, mapGetters } from 'vuex';
import { import { phoneFilter, stringFilterNum } from '@/untils/format.js';
labourUnionInfo import { labourUnionInfo } from '@/api/federation.js';
} from '@/api/federation.js' export default {
export default { data() {
data() { return {
return { federationStatus: false,
federationStatus: false };
} },
}, onLoad() {
onLoad() { // this.$store.dispatch('getMobileIsCms')
this.$store.dispatch('getMobileIsCms') // if (this.$api.haslogin() && this.authPass) {
// if (this.$store.state.user.token && this.authPass) { // this.$store.dispatch('getVipCode')
// this.$store.dispatch('getVipCode') // }
// } },
}, onShow() {
onShow() { if (/token/g.test(location.href)) {
if (!this.$store.state.user.token) { this.$api.sleep(2000).then(() => {
uni.redirectTo({ if (!this.$api.haslogin()) {
url: '/pages/login/login' GoLogin();
}) } else {
} else { uni.$emit('newsReadChange');
uni.$emit('newsReadChange') this.$store.dispatch('refreshAuthState');
this.$store.dispatch('refreshAuthState') }
} });
// this.labourUnionInfoInit() } else {
}, if (!this.$api.haslogin()) {
methods: { GoLogin();
labourUnionInfoInit() { } else {
labourUnionInfo().then(e => { uni.$emit('newsReadChange');
this.federationStatus = e.data.data.joined this.$store.dispatch('refreshAuthState');
}) }
}, }
// logout() { // this.labourUnionInfoInit()
// this.$store.dispatch('LogOut').then(() => { },
// // uni.reLaunch({ methods: {
// // url: '/pages/login/login' switch1Change(e) {
// // }) if (e.detail.value) {
// this.$store.dispatch('clearAuthState') this.$store.dispatch('setNoticeOpen');
// this.$store.dispatch('endRefreshNewsTimer') } else {
// location.href = "https://dy12333.org.cn/h5/" this.$store.dispatch('setNoticeClose');
// }) }
// }, },
go(url) { labourUnionInfoInit() {
uni.navigateTo({ labourUnionInfo().then((e) => {
url this.federationStatus = e.data.data.joined;
}) });
}, },
makePhoneCall: function() { // logout() {
uni.makePhoneCall({ // this.$store.dispatch('LogOut').then(() => {
phoneNumber: "18500206848" // // uni.reLaunch({
}) // // url: '/pages/login/login'
}, // // })
phoneFilter, // this.$store.dispatch('clearAuthState')
stringFilterNum // this.$store.dispatch('endRefreshNewsTimer')
}, // location.href = "https://dy12333.org.cn/h5/"
computed: { // })
...mapState(['user']), // },
...mapGetters(['userInfo', 'auth', 'authPass']) go(url) {
} uni.navigateTo({
} url,
</script> });
},
<style> makePhoneCall: function () {
page { uni.makePhoneCall({
height: 100%; phoneNumber: '18500206848',
background: #f6f6f6; });
} },
phoneFilter,
.federation { stringFilterNum,
height: 48rpx; },
border-radius: 10rpx; computed: {
padding: 28rpx 30rpx; ...mapState(['user']),
margin: 30rpx; ...mapGetters(['userInfo', 'auth', 'authPass']),
font-size: 32rpx; },
font-weight: 400; };
color: #6F5931; </script>
display: flex;
justify-content: space-between; <style>
align-items: center; page {
background: url(../../static/img/my/mybanner.png) no-repeat; height: 100%;
background-size: cover; background: #f6f6f6;
} }
.forMembership { .federation {
width: 140rpx; height: 48rpx;
height: 50rpx; border-radius: 10rpx;
background: linear-gradient(112deg, #EFE0BC 0%, #D29A5A 100%, #DDBA88 100%); padding: 28rpx 30rpx;
box-shadow: 0px 0px 2px 1px rgba(231, 174, 85, 0.39); margin: 30rpx;
border-radius: 25rpx; font-size: 32rpx;
font-size: 26rpx; font-weight: 400;
font-weight: 400; color: #6f5931;
color: #6F5931; display: flex;
line-height: 48rpx; justify-content: space-between;
text-align: center; align-items: center;
} background: url(../../static/img/my/mybanner.png) no-repeat;
background-size: cover;
.bottom { }
font-family: PingFangSC-Regular;
font-size: 24rpx; .forMembership {
color: #999999; width: 140rpx;
/* position: absolute; */ height: 50rpx;
/* bottom: 120rpx; */ background: linear-gradient(112deg, #efe0bc 0%, #d29a5a 100%, #ddba88 100%);
/* width: 100%; */ box-shadow: 0px 0px 2px 1px rgba(231, 174, 85, 0.39);
margin: 120rpx 0; border-radius: 25rpx;
text-align: center; font-size: 26rpx;
} font-weight: 400;
color: #6f5931;
.btnList image:last-child { line-height: 48rpx;
width: 19rpx; text-align: center;
height: 32rpx; }
margin-left: auto;
margin-right: 0; .bottom {
} font-family: PingFangSC-Regular;
font-size: 24rpx;
.btnList image { color: #999999;
width: 52rpx; /* position: absolute; */
height: 52rpx; /* bottom: 120rpx; */
margin-right: 10rpx; /* width: 100%; */
} margin: 120rpx 0;
text-align: center;
.btnList { }
font-family: PingFangSC-Regular;
font-size: 32rpx; .btnList image:last-child {
color: #333333; width: 19rpx;
display: flex; height: 32rpx;
align-items: center; margin-left: auto;
justify-content: flex-start; margin-right: 0;
padding: 30rpx 20rpx; }
}
.imgswitch {
.btn { margin-left: auto;
width: 690rpx; margin-right: 0;
margin: 0 auto; }
border-radius: 15rpx;
background: #fefefe; .btnList image {
} width: 52rpx;
height: 52rpx;
.BarList { margin-right: 10rpx;
font-family: PingFangSC-Regular; }
font-size: 28rpx;
color: #666666; .btnList {
float: left; font-family: PingFangSC-Regular;
width: 25%; font-size: 32rpx;
text-align: center; color: #333333;
padding: 30rpx 0rpx; display: flex;
} align-items: center;
justify-content: flex-start;
.BarList image { padding: 30rpx 20rpx;
width: 52rpx; }
height: 52rpx;
display: block; .btn {
margin: 0 auto; width: 690rpx;
} margin: 0 auto;
border-radius: 15rpx;
.centerBar { background: #fefefe;
width: 690rpx; }
background-color: #fefefe;
border-radius: 15rpx; .BarList {
overflow: hidden; font-family: PingFangSC-Regular;
position: absolute; font-size: 28rpx;
bottom: -70rpx; color: #666666;
left: 30rpx; float: left;
} width: 25%;
text-align: center;
.userContent { padding: 30rpx 0rpx;
font-family: PingFangSC-Regular; }
font-size: 26rpx;
color: #FFFFFF; .BarList image {
display: flex; width: 52rpx;
} height: 52rpx;
display: block;
.userTel { margin: 0 auto;
font-family: PingFangSC-Medium; }
font-size: 36rpx;
color: #FFFFFF; .centerBar {
} width: 690rpx;
background-color: #fefefe;
.userRight { border-radius: 15rpx;
float: left; overflow: hidden;
height: 50rpx; position: absolute;
line-height: 50rpx; bottom: -70rpx;
} left: 30rpx;
}
.userTitle image {
width: 100rpx; .userContent {
height: 100rpx; font-family: PingFangSC-Regular;
margin-right: 20rpx; font-size: 26rpx;
float: left; color: #ffffff;
border-radius: 200rpx; display: flex;
background-color: rgba(255, 255, 255, .3); }
}
.userTel {
.userTitle { font-family: PingFangSC-Medium;
padding: 0 30rpx; font-size: 36rpx;
} color: #ffffff;
}
.head {
background-color: #1B66FF; .userRight {
width: 100%; float: left;
height: 200rpx; height: 50rpx;
padding-top: 200rpx; line-height: 50rpx;
position: relative; }
}
.userTitle image {
.body { width: 100rpx;
background: #f6f6f6; height: 100rpx;
height: 100%; margin-right: 20rpx;
position: relative; float: left;
overflow: auto; border-radius: 200rpx;
} background-color: rgba(255, 255, 255, 0.3);
}
/* .btn-out {
background-color: #fefefe; .userTitle {
margin-top: 20rpx; padding: 0 30rpx;
padding: 20rpx 0; }
text-align: center;
font-family: PingFangSC-Regular; .head {
font-size: 32rpx; background-color: #1b66ff;
color: #F46161; width: 100%;
} */ height: 200rpx;
</style> padding-top: 200rpx;
position: relative;
}
.body {
background: #f6f6f6;
height: 100%;
position: relative;
overflow: auto;
}
/* .btn-out {
background-color: #fefefe;
margin-top: 20rpx;
padding: 20rpx 0;
text-align: center;
font-family: PingFangSC-Regular;
font-size: 32rpx;
color: #F46161;
} */
</style>

View File

@@ -27,7 +27,9 @@
import { import {
mapGetters mapGetters
} from 'vuex' } from 'vuex'
import {
GoLogin
} from '@/untils/AxiosUtils.js';
export default { export default {
data() { data() {
return { return {
@@ -36,14 +38,23 @@
}, },
onLoad() {}, onLoad() {},
onShow() { onShow() {
if (!this.$store.state.user.token) { if (/token/g.test(location.href)) {
uni.redirectTo({ this.$api.sleep(2000).then(() => {
url: "/pages/login/login" if (!this.$api.haslogin()) {
GoLogin()
console.log('300')
} else {
uni.$emit('newsReadChange')
console.log('000')
}
}) })
} else { } else {
uni.$emit('newsReadChange') if (!this.$api.haslogin()) {
GoLogin()
} else {
uni.$emit('newsReadChange')
}
} }
console.log(this.news)
}, },
onPullDownRefresh() { onPullDownRefresh() {
this.loading = true this.loading = true

View File

@@ -92,24 +92,18 @@
}, },
mounted() { mounted() {
const _this = this const _this = this
uni.getLocation({ console.log(this.$store.state.user.userLocation)
type: 'gcj02', if (this.$store.state.user.userLocation) {
success: function(res) { const {
const { latitude,
longitude, longitude
latitude } = this.$store.state.user.userLocation
} = res _this.getList(longitude, latitude).then((covers) => {
_this.latitude = latitude _this.$refs.uMap.addFeature(covers)
_this.longitude = longitude })
_this.getList(longitude, latitude).then((covers) => { } else {
_this.$refs.uMap.addFeature(covers) _this.$api.msg('无法获得周边信息')
}) }
},
fail: function(err) {
_this.$api.msg('无法获得周边信息')
},
complete: function(e) {}
})
}, },
onShow() { onShow() {
// const _this = this // const _this = this
@@ -144,25 +138,17 @@
}, },
search() { search() {
const _this = this const _this = this
uni.getLocation({ if (this.$store.state.user.userLocation) {
type: 'gcj02', const {
success: function(res) { latitude,
const { longitude
longitude, } = this.$store.state.user.userLocation
latitude _this.getList(longitude, latitude).then((covers) => {
} = res _this.$refs.uMap.addFeature(covers)
_this.latitude = latitude })
_this.longitude = longitude } else {
_this.getList(longitude, latitude).then((covers) => { _this.$api.msg('无法获得周边信息')
_this.$api.msg('成功获得周边信息') }
_this.$refs.uMap.addFeature(covers)
})
},
fail: function(err) {
_this.$api.msg('无法获得周边信息')
},
complete: function(e) {}
})
// this.getList(this.longitude, this.latitude).then((covers) => { // this.getList(this.longitude, this.latitude).then((covers) => {
// this.$api.msg('成功获得周边信息') // this.$api.msg('成功获得周边信息')
// console.log(covers) // console.log(covers)

View File

@@ -31,7 +31,7 @@
<block v-if="activeTab == 0"> <block v-if="activeTab == 0">
<view v-if="newList.length > 0"> <view v-if="newList.length > 0">
<block v-for="(item, index) in newList" :key="index"> <block v-for="(item, index) in newList" :key="index">
<companyList :companyitem="item"></companyList> <companyList :companyitem="item" :position="userLocation"></companyList>
</block> </block>
</view> </view>
<view v-else> <view v-else>
@@ -51,7 +51,7 @@
<view v-if="companyList.length > 0"> <view v-if="companyList.length > 0">
<block v-for="(item, index) in companyList" :key="item.id"> <block v-for="(item, index) in companyList" :key="item.id">
<workList :companyitem="item" :near="activeTab === 0"></workList> <workList :companyitem="item" :position="userLocation" :near="activeTab === 0"></workList>
</block> </block>
</view> </view>
<view v-else> <view v-else>
@@ -109,7 +109,9 @@
getcoder getcoder
} from "@/api/map.js"; } from "@/api/map.js";
import verticalMenu from '@/components/vertical-menu/vertical-menu.vue'; import verticalMenu from '@/components/vertical-menu/vertical-menu.vue';
import {
mapGetters
} from 'vuex'
export default { export default {
components: { components: {
vTabs, vTabs,
@@ -117,15 +119,16 @@
verticalMenu, verticalMenu,
workList workList
}, },
computed: {
...mapGetters(['userLocation']),
},
data() { data() {
return { return {
policyContentList: [], policyContentList: [],
activeTab: 0, activeTab: '0',
companyList: [], companyList: [],
recommendList: [], recommendList: [],
newList: [], newList: [],
nearPage: { nearPage: {
current: 1, current: 1,
size: 10, size: 10,
@@ -142,10 +145,7 @@
total: 0 total: 0
}, },
currentAddress: '', currentAddress: '',
currentPoint: {
latitude: 0,
longitude: 0
},
key: 'FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI', key: 'FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI',
open: false, open: false,
showPopUp: false, showPopUp: false,
@@ -157,10 +157,11 @@
if (option.tabIndex) { if (option.tabIndex) {
this.activeTab = option.tabIndex this.activeTab = option.tabIndex
} }
this.getData() this.$store.dispatch('getUserLocation')
this.getPolicy() this.download()
}, },
onShow: function() { onShow: function() {
const enumTitle = { const enumTitle = {
"0": '最新零工岗位', "0": '最新零工岗位',
"1": '最新全职岗位', "1": '最新全职岗位',
@@ -169,7 +170,7 @@
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: enumTitle[this.activeTab] title: enumTitle[this.activeTab]
}) })
if (this.$store.state.user.token) { if (this.$api.haslogin()) {
this.$store.dispatch('refreshAuthState').then((e) => { this.$store.dispatch('refreshAuthState').then((e) => {
var auth = this.$store.state.auth var auth = this.$store.state.auth
if (!auth.bankCardState) { if (!auth.bankCardState) {
@@ -177,7 +178,6 @@
} }
}) })
} }
const value = uni.getStorageSync('active'); const value = uni.getStorageSync('active');
if (value) { if (value) {
this.activeTab = value; this.activeTab = value;
@@ -190,13 +190,7 @@
}, },
/*下拉刷新*/ /*下拉刷新*/
onPullDownRefresh: function() { onPullDownRefresh: function() {
if (!this.$store.state.user.token) { this.download();
uni.redirectTo({
url: "/pages/login/login"
});
} else {
this.download();
}
}, },
methods: { methods: {
step() { step() {
@@ -228,30 +222,6 @@
url: '/pageMy/my/resume/addSkill' url: '/pageMy/my/resume/addSkill'
}) })
}, },
/*定位*/
getLocation: function() {
var that = this;
uni.getLocation({
type: 'gcj02',
success: function(res) {
that.currentPoint = {
latitude: res.latitude,
longitude: res.longitude
}
// that.getAddrByPoint(res);
that.getNearList(that.currentPoint)
},
complete: function(e) {}
});
},
/*逆地址解析*/
getAddrByPoint: function(point) {
var that = this;
var location = point.latitude + ',' + point.longitude
getcoder(location, encodeURI(that.key), 0).then(res => {
that.currentAddress = res.data.result.address
});
},
goSeach: function() { goSeach: function() {
uni.navigateTo({ uni.navigateTo({
url: '../seach/seach' url: '../seach/seach'
@@ -271,8 +241,8 @@
this.activeTab = e; this.activeTab = e;
}, },
//附近任务; //附近任务;
getNearList: function(point) { getNearList: function() {
nearMission(this.nearPage.current, this.nearPage.size).then(res => { nearMission(this.nearPage.current, this.nearPage.size, 1).then(res => {
if (this.nearPage.current === 1) { if (this.nearPage.current === 1) {
this.companyList = []; this.companyList = [];
} }
@@ -313,7 +283,7 @@
}, },
//最新任务; //最新任务;
getNewList: function() { getNewList: function() {
newMissionAll(this.newPage.current, this.newPage.size, '').then(res => { newMissionAll(this.newPage.current, this.newPage.size, '', 1).then(res => {
if (this.newPage.current === 1) { if (this.newPage.current === 1) {
this.newList = []; this.newList = [];
} }
@@ -326,32 +296,31 @@
}, },
//上拉加载 //上拉加载
upLoad: function() { upLoad: function() {
if (this.activeTab === 0) { if (this.activeTab === '0') {
if (this.nearPage.current <= Math.ceil(this.nearPage.total / this.nearPage.size)) {
this.getNearList(this.currentPoint);
} else {
uni.showToast({
icon: "none",
title: '已经是最后一页',
})
}
return
}
if (this.activeTab === 1) {
if (this.recommendPage.current <= Math.ceil(this.recommendPage.total / this.recommendPage
.size)) {
this.getRecommendList();
} else {
uni.showToast({
icon: "none",
title: '已经是最后一页',
})
}
return
}
if (this.activeTab === 2) {
if (this.newPage.current <= Math.ceil(this.newPage.total / this.newPage.size)) { if (this.newPage.current <= Math.ceil(this.newPage.total / this.newPage.size)) {
this.getNewList(); this.getNewList()
} else {
uni.showToast({
icon: "none",
title: '已经是最后一页',
})
}
return
}
if (this.activeTab === '1') {
if (this.nearPage.current <= Math.ceil(this.nearPage.total / this.nearPage.size)) {
this.getNearList();
} else {
uni.showToast({
icon: "none",
title: '已经是最后一页',
})
}
return
}
if (this.activeTab === '2') {
if (this.newPage.current <= Math.ceil(this.newPage.total / this.newPage.size)) {
this.getPolicy();
} else { } else {
uni.showToast({ uni.showToast({
icon: "none", icon: "none",
@@ -365,25 +334,24 @@
download: function() { download: function() {
console.log(this.activeTab) console.log(this.activeTab)
if (this.activeTab === '0') { if (this.activeTab === '0') {
this.nearPage.current = 1; this.newPage.current = 1;
console.log('123123') this.getNewList();
this.getLocation();
setTimeout(function() { setTimeout(function() {
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
}, 1000); }, 1000);
return return
} }
if (this.activeTab === '1') { if (this.activeTab === '1') {
this.recommendPage.current = 1; this.nearPage.current = 1;
this.getRecommendList(); this.getNearList();
setTimeout(function() { setTimeout(function() {
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
}, 1000); }, 1000);
return return
} }
if (this.activeTab === '2') { if (this.activeTab === '2') {
this.newPage.current = 1; // this.newPage.current = 1;
this.getNewList(); this.getPolicy();
setTimeout(function() { setTimeout(function() {
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
}, 1000); }, 1000);
@@ -391,20 +359,13 @@
} }
}, },
getData: function() { getData: function() {
if (!this.$store.state.user.token) { uni.$emit('newsReadChange');
uni.redirectTo({ this.nearPage.current = 1;
url: "/pages/login/login" this.recommendPage.current = 1;
}); this.newPage.current = 1;
} else { this.getRecommendList();
uni.$emit('newsReadChange'); this.getNewList();
this.nearPage.current = 1; this.getNearList();
this.recommendPage.current = 1;
this.newPage.current = 1;
this.getLocation();
this.getRecommendList();
this.getNewList();
this.getNearList();
}
}, },
@@ -442,7 +403,8 @@
.content { .content {
background-color: #f3f4f8; background-color: #f3f4f8;
padding-top: 20rpx; padding-top: 20rpx;
min-height: 80vh; /* min-height: 80vh; */
min-height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
} }

View File

@@ -181,7 +181,7 @@
this.getPolicy() this.getPolicy()
}, },
onShow: function() { onShow: function() {
if (this.$store.state.user.token) { if (this.$api.haslogin()) {
this.$store.dispatch('refreshAuthState').then((e) => { this.$store.dispatch('refreshAuthState').then((e) => {
var auth = this.$store.state.auth var auth = this.$store.state.auth
if (!auth.bankCardState) { if (!auth.bankCardState) {
@@ -202,7 +202,7 @@
}, },
/*下拉刷新*/ /*下拉刷新*/
onPullDownRefresh: function() { onPullDownRefresh: function() {
if (!this.$store.state.user.token) { if (!this.$api.haslogin()) {
uni.redirectTo({ uni.redirectTo({
url: "/pages/login/login" url: "/pages/login/login"
}); });
@@ -244,7 +244,7 @@
getLocation: function() { getLocation: function() {
var that = this; var that = this;
uni.getLocation({ uni.getLocation({
type: 'gcj02', type: 'wgs84',
success: function(res) { success: function(res) {
that.currentPoint = { that.currentPoint = {
latitude: res.latitude, latitude: res.latitude,
@@ -455,7 +455,7 @@
} }
}, },
getData: function() { getData: function() {
if (!this.$store.state.user.token) { if (!this.$api.haslogin()) {
uni.redirectTo({ uni.redirectTo({
url: "/pages/login/login" url: "/pages/login/login"
}); });
@@ -588,7 +588,7 @@
.positionText { .positionText {
margin: 0 10rpx; margin: 0 10rpx;
font-weight: bold; font-weight: bold;
} }
} }
@@ -610,7 +610,8 @@
.content { .content {
background-color: #f3f4f8; background-color: #f3f4f8;
padding-top: 20rpx; padding-top: 20rpx;
min-height: 80vh; /* min-height: 80vh; */
min-height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
} }

View File

@@ -7,18 +7,21 @@
</view> </view>
<view class="navPosition" @click="navTo('/pages/project/map')"> <view class="navPosition" @click="navTo('/pages/project/map')">
<u-icon name="map" color="#2979ff" size="16"></u-icon> <u-icon name="map" color="#2979ff" size="16"></u-icon>
<view class="positionText">德阳市地图服务</view> <view class="positionText">石河子地图服务</view>
<u-icon name="arrow-right" color="#666666" size="14"></u-icon> <u-icon name="arrow-right" color="#666666" size="14"></u-icon>
</view> </view>
<view class="content"> <view class="content">
<view class="typeButtonWrapper"> <view class="typeButtonWrapper">
<view class="typeButtonLeft"> <scroll-view class="typeButtonLeft" scroll-x="true" scroll-left="0">
<view v-for="(item, index) in nonReactiveArray" :key="index" <view v-for="(item, index) in nonReactiveArray" :key="index"
:class="['typeButton', index == activeTab ? 'activeButton' : '']" @click="changeTab(index)">{{ :class="['typeButton', index == activeTab ? 'activeButton' : '']" @click="changeTab(index)">
item {{item}}
}}</view> </view>
</view> </scroll-view>
<!-- <view class="typeButtonLeft">
<view v-for="(item, index) in nonReactiveArray" :key="index"
:class="['typeButton', index == activeTab ? 'activeButton' : '']" @click="changeTab(index)">{{item}}</view>
</view> -->
<!-- 筛选 --> <!-- 筛选 -->
<view class="screenButton" @click="showPopUp = true"> <view class="screenButton" @click="showPopUp = true">
筛选 筛选
@@ -55,7 +58,7 @@
<view v-if="companyList.length > 0" style="padding-bottom: 20rpx;"> <view v-if="companyList.length > 0" style="padding-bottom: 20rpx;">
<block v-for="(item, index) in companyList" :key="item.id"> <block v-for="(item, index) in companyList" :key="item.id">
<workList :companyitem="item" :near="activeTab === 0"></workList> <workList :companyitem="item" :position="userLocation" :near="activeTab === 0"></workList>
</block> </block>
</view> </view>
<view v-else> <view v-else>
@@ -103,6 +106,9 @@
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 userrecruitList from './userrecruitList.vue'
import {
GoLogin
} from '@/untils/AxiosUtils.js';
import { import {
newMissionAll, newMissionAll,
recommendMission, recommendMission,
@@ -164,41 +170,25 @@
total: 0 total: 0
}, },
currentAddress: '', currentAddress: '',
currentPoint: {
latitude: 0,
longitude: 0
},
key: 'FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI', key: 'FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI',
open: false, open: false,
showPopUp: false, showPopUp: false,
isSearch: false, isSearch: false,
searchData: {}, searchData: {},
// nonReactiveArray: ["推荐任务", "推荐岗位", "个体户招工"], // nonReactiveArray: ["推荐任务", "推荐岗位", "个体户招工"],
nonReactiveArray: ["推荐零工岗位", "推荐全职岗位", "全部零工岗位", "全部全职岗位"], nonReactiveArray: ["推荐零工岗位", "推荐全职岗位", "全部零工岗位", "全部全职岗位"],
} }
}, },
onLoad: function() { onLoad: function() {
this.getData() this.$store.dispatch('getUserLocation')
console.log('userLocation', this.userLocation)
// this.getPolicy()
}, },
onShow: function() { onShow: function() {
this.download(); if (/token/g.test(location.href)) {
this.$api.sleep(2000).then(() => {
if (this.$store.state.user.token) { this.showInit()
this.$store.dispatch('refreshAuthState').then((e) => {
var auth = this.$store.state.auth
if (!auth.bankCardState) {
this.step()
}
}) })
} } else {
this.showInit()
const value = uni.getStorageSync('active');
if (value) {
this.activeTab = value;
uni.removeStorageSync('active')
} }
}, },
/*页面滚动到底部 换页*/ /*页面滚动到底部 换页*/
@@ -207,7 +197,7 @@
}, },
/*下拉刷新*/ /*下拉刷新*/
onPullDownRefresh: function() { onPullDownRefresh: function() {
if (!this.$store.state.user.token) { if (!this.$api.haslogin()) {
uni.redirectTo({ uni.redirectTo({
url: "/pages/login/login" url: "/pages/login/login"
}); });
@@ -216,6 +206,27 @@
} }
}, },
methods: { methods: {
showInit() {
if (!this.$api.haslogin()) {
GoLogin()
return
}
this.getData()
this.download();
if (this.$api.haslogin()) {
this.$store.dispatch('refreshAuthState').then((e) => {
var auth = this.$store.state.auth
if (!auth.bankCardState) {
this.step()
}
})
}
const value = uni.getStorageSync('active');
if (value) {
this.activeTab = value;
uni.removeStorageSync('active')
}
},
step() { step() {
var that = this var that = this
that.open = true that.open = true
@@ -245,23 +256,6 @@
url: '/pageMy/my/resume/addSkill' url: '/pageMy/my/resume/addSkill'
}) })
}, },
/*定位*/
getLocation: function() {
var that = this;
uni.getLocation({
type: 'gcj02',
success: function(res) {
that.currentPoint = {
latitude: res.latitude,
longitude: res.longitude
}
console.log('打印', res)
// that.getAddrByPoint(res);
that.getNearList(that.currentPoint)
},
complete: function(e) {}
});
},
/*逆地址解析*/ /*逆地址解析*/
getAddrByPoint: function(point) { getAddrByPoint: function(point) {
var that = this; var that = this;
@@ -419,10 +413,10 @@
//下拉刷新 //下拉刷新
download: function() { download: function() {
this.isSearch = false; this.isSearch = false;
this.$store.dispatch('getUserLocation')
if (this.activeTab === 0 || this.activeTab === 2) { if (this.activeTab === 0 || this.activeTab === 2) {
this.nearPage.current = 1; this.nearPage.current = 1;
this.newPage.current = 1; this.newPage.current = 1;
this.getLocation();
this.getNewList() this.getNewList()
setTimeout(function() { setTimeout(function() {
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
@@ -430,7 +424,8 @@
return return
} }
if (this.activeTab === 1 || this.activeTab === 3) { if (this.activeTab === 1 || this.activeTab === 3) {
this.nearPage.current === 1 this.nearPage.current = 1;
this.newPage.current = 1;
this.getNearList() this.getNearList()
setTimeout(function() { setTimeout(function() {
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
@@ -447,20 +442,19 @@
// } // }
}, },
getData: function() { getData: function() {
if (!this.$store.state.user.token) { // if (!this.$api.haslogin()) {
uni.redirectTo({ // uni.redirectTo({
url: "/pages/login/login" // url: "/pages/login/login"
}); // });
} else { // } else {
uni.$emit('newsReadChange'); uni.$emit('newsReadChange');
this.nearPage.current = 1; this.nearPage.current = 1;
this.policyPage.current = 1; this.policyPage.current = 1;
this.newPage.current = 1; this.newPage.current = 1;
this.getLocation(); // this.getNewList();
// this.getNewList(); // this.getNearList();
// this.getNearList(); // this.getPolicy()
// this.getPolicy() // }
}
}, },
closePopUp() { closePopUp() {
this.showPopUp = false this.showPopUp = false
@@ -630,8 +624,8 @@
.content { .content {
background-color: #f3f4f8; background-color: #f3f4f8;
padding-top: 20rpx; /* min-height: 80vh; */
min-height: 80vh; min-height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
} }
@@ -647,6 +641,7 @@
line-height: 30px; line-height: 30px;
font-size: 14px; font-size: 14px;
background-color: #fff; background-color: #fff;
margin: 20rpx 0;
} }
.typeButtonWrapper { .typeButtonWrapper {
@@ -658,9 +653,8 @@
} }
.typeButtonLeft { .typeButtonLeft {
display: flex;
width: 80%; width: 80%;
overflow-x: scroll; white-space: nowrap;
} }
.typeButton { .typeButton {
@@ -670,6 +664,8 @@
border-radius: 50px; border-radius: 50px;
margin-right: 10rpx; margin-right: 10rpx;
white-space: nowrap; white-space: nowrap;
margin: 20rpx 10rpx 20rpx 0;
display: inline-block;
} }
.activeButton { .activeButton {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -31,11 +31,15 @@
}, },
computed: { computed: {
...mapState({ ...mapState({
idNumber: (state) => state.auth.authInfo.idNumber idNumber: (state) => {
console.log(state.auth.authInfo, 'auth.authInfo')
return state.auth.authInfo.idNumber
}
}), }),
}, },
methods: { methods: {
next(type) { next(type) {
// return this.$api.msg('该功能正在完善中')
switch (type) { switch (type) {
case 0: case 0:
this.isHaveCode(this.idNumber).then(() => { this.isHaveCode(this.idNumber).then(() => {
@@ -63,7 +67,10 @@
if (resData.data.code === 200) { if (resData.data.code === 200) {
if (resData.data.data.haveCode) { if (resData.data.data.haveCode) {
resolve() resolve()
} else { } else {
return this.$api.msg('系统正在建设中')
switch (resData.data.data.reviewStatus) { switch (resData.data.data.reviewStatus) {
case 0: case 0:
this.$api.msg('您提交的认证信息正在审核中') this.$api.msg('您提交的认证信息正在审核中')

View File

@@ -1,340 +1,345 @@
<template> <template>
<view class="body"> <view class="body">
<CustomNavbar @back="back" titke="申请消息"></CustomNavbar> <CustomNavbar @back="back" titke="申请消息"></CustomNavbar>
<view v-for="(value, key) in messageList" class="newsList" @click="goList(value)" :key="key"> <view v-for="(value, key) in messageList" class="newsList" @click="goList(value)" :key="key">
<view class="newsIcon"> <view class="newsIcon">
<image :src="value.icon" mode=""></image> <image :src="value.icon" mode=""></image>
<!-- <view v-if="news_recruit.unread[value.id] > 0" class="point"></view> --> <!-- <view v-if="news_recruit.unread[value.id] > 0" class="point"></view> -->
</view> </view>
<view class="newsListRight"> <view class="newsListRight">
<view class="head"> <view class="head">
<view class="head_left"> <view class="head_left">
{{ value.title }} {{ value.title }}
</view> </view>
<!-- <view class="head_right" v-if="value.data.length > 0"> <!-- <view class="head_right" v-if="value.data.length > 0">
{{value.data[0][0][value.prop.time]}} {{value.data[0][0][value.prop.time]}}
</view> --> </view> -->
</view> </view>
<!-- <view class="content" v-if="value.data.length > 0"> <!-- <view class="content" v-if="value.data.length > 0">
{{value.prop.desc(value)}} {{value.prop.desc(value)}}
</view> --> </view> -->
</view> </view>
</view> </view>
<cs-button></cs-button> <cs-button></cs-button>
<CustomTabbar :currentpage="2"></CustomTabbar> <CustomTabbar :currentpage="2"></CustomTabbar>
</view> </view>
</template> </template>
<script> <script>
import CustomTabbar from '@/components/CustomTabbar/custom_tabbar.vue' import CustomTabbar from '@/components/CustomTabbar/custom_tabbar.vue'
import CustomNavbar from '@/components/CustomNavbar/navbar.vue'; import CustomNavbar from '@/components/CustomNavbar/navbar.vue';
export default { export default {
components: { CustomTabbar, CustomNavbar }, components: {
data() { CustomTabbar,
return { CustomNavbar
loading: false, },
size: 20, data() {
messageList: [{ return {
id: "0", loading: false,
title: "消息通知", size: 20,
icon: "../../../static/img/notice.svg", messageList: [{
page: { id: "0",
current: 0, title: "消息通知",
size: this.size, icon: "../../../static/img/notice.svg",
total: this.size, page: {
}, current: 0,
data: [], size: this.size,
prop: { total: this.size,
title: "title", },
desc: (value) => { data: [],
if (value.data[0]) return value.data[0][0]["desc"]; prop: {
}, title: "title",
time: "createTime", desc: (value) => {
isRead: "isRead", if (value.data[0]) return value.data[0][0]["desc"];
listDesc: "desc", },
}, time: "createTime",
navigateTo(item) { isRead: "isRead",
uni.$once("getNewsDetail", (cb) => { listDesc: "desc",
cb(item); },
}); navigateTo(item) {
uni.navigateTo({ uni.$once("getNewsDetail", (cb) => {
url: "/pages/news/newsDetail?type=0", cb(item);
}); });
}, uni.navigateTo({
} url: "/pages/news/newsDetail?type=0",
// , { });
// id: "1", },
// title: "任务申请", }
// icon: "../../../static/img/renwu.png", // , {
// page: { // id: "1",
// current: 0, // title: "任务申请",
// size: this.size, // icon: "../../../static/img/renwu.png",
// total: this.size, // page: {
// }, // current: 0,
// data: [], // size: this.size,
// prop: { // total: this.size,
// title: "missionTitle", // },
// desc: (value) => { // data: [],
// if (value.data[0]) // prop: {
// return `您收到${value.data[0][0]["companyName"]}的任务`; // title: "missionTitle",
// }, // desc: (value) => {
// time: "createTime", // if (value.data[0])
// isRead: "status", // return `您收到${value.data[0][0]["companyName"]}的任务`;
// listDesc: "companyName", // },
// }, // time: "createTime",
// navigateTo(item, dispatch) { // isRead: "status",
// // dispatch("readNew", { // listDesc: "companyName",
// // key: "1", // },
// // id: item.id, // navigateTo(item, dispatch) {
// // }); // // dispatch("readNew", {
// uni.navigateTo({ // // key: "1",
// url: `/pages/projectInfo/projectInfo?type=1&missionNo=${encodeURIComponent( // // id: item.id,
// item.missionNo // // });
// )}&id=${encodeURIComponent(item.id)}`, // uni.navigateTo({
// }); // url: `/pages/projectInfo/projectInfo?type=1&missionNo=${encodeURIComponent(
// }, // item.missionNo
// }, { // )}&id=${encodeURIComponent(item.id)}`,
// id: "1", // });
// title: "岗位申请", // },
// icon: "../../../static/img/job_recruit.svg", // }, {
// page: { // id: "1",
// current: 0, // title: "岗位申请",
// size: this.size, // icon: "../../../static/img/job_recruit.svg",
// total: this.size, // page: {
// }, // current: 0,
// data: [], // size: this.size,
// prop: { // total: this.size,
// title: "missionTitle", // },
// desc: (value) => { // data: [],
// if (value.data[0]) // prop: {
// return `您收到${value.data[0][0]["companyName"]}的任务`; // title: "missionTitle",
// }, // desc: (value) => {
// time: "createTime", // if (value.data[0])
// isRead: "status", // return `您收到${value.data[0][0]["companyName"]}的任务`;
// listDesc: "companyName", // },
// }, // time: "createTime",
// navigateTo(item, dispatch) { // isRead: "status",
// // dispatch("readNew", { // listDesc: "companyName",
// // key: "1", // },
// // id: item.id, // navigateTo(item, dispatch) {
// // }); // // dispatch("readNew", {
// uni.navigateTo({ // // key: "1",
// url: `/pages/projectInfo/projectInfo?type=1&missionNo=${encodeURIComponent( // // id: item.id,
// item.missionNo // // });
// )}&id=${encodeURIComponent(item.id)}`, // uni.navigateTo({
// }); // url: `/pages/projectInfo/projectInfo?type=1&missionNo=${encodeURIComponent(
// }, // item.missionNo
// }, { // )}&id=${encodeURIComponent(item.id)}`,
// id: "1", // });
// title: "个体户申请", // },
// icon: "../../../static/img/own_recruit.svg", // }, {
// page: { // id: "1",
// current: 0, // title: "个体户申请",
// size: this.size, // icon: "../../../static/img/own_recruit.svg",
// total: this.size, // page: {
// }, // current: 0,
// data: [], // size: this.size,
// prop: { // total: this.size,
// title: "missionTitle", // },
// desc: (value) => { // data: [],
// if (value.data[0]) // prop: {
// return `您收到${value.data[0][0]["companyName"]}的任务`; // title: "missionTitle",
// }, // desc: (value) => {
// time: "createTime", // if (value.data[0])
// isRead: "status", // return `您收到${value.data[0][0]["companyName"]}的任务`;
// listDesc: "companyName", // },
// }, // time: "createTime",
// navigateTo(item, dispatch) { // isRead: "status",
// // dispatch("readNew", { // listDesc: "companyName",
// // key: "1", // },
// // id: item.id, // navigateTo(item, dispatch) {
// // }); // // dispatch("readNew", {
// uni.navigateTo({ // // key: "1",
// url: `/pages/projectInfo/projectInfo?type=1&missionNo=${encodeURIComponent( // // id: item.id,
// item.missionNo // // });
// )}&id=${encodeURIComponent(item.id)}`, // uni.navigateTo({
// }); // url: `/pages/projectInfo/projectInfo?type=1&missionNo=${encodeURIComponent(
// }, // item.missionNo
// }, // )}&id=${encodeURIComponent(item.id)}`,
] // });
} // },
}, // },
onLoad() { }, ]
onShow() { }
if (!this.$store.state.user.token) { },
uni.redirectTo({ onLoad() {},
url: "/pages/login/login" onShow() {
}) if (!this.$api.haslogin()) {
} else { uni.redirectTo({
uni.$emit('newsReadChange') url: "/pages/login/login"
} })
}, } else {
// onPullDownRefresh() { uni.$emit('newsReadChange')
// this.loading = true }
// this.$store.dispatch("newsInit").then(() => { },
// this.loading = false // onPullDownRefresh() {
// uni.stopPullDownRefresh(); // this.loading = true
// }).catch(() => { // this.$store.dispatch("newsInit").then(() => {
// this.loading = false // this.loading = false
// uni.stopPullDownRefresh(); // uni.stopPullDownRefresh();
// }) // }).catch(() => {
// }, // this.loading = false
methods: { // uni.stopPullDownRefresh();
goList(item) { // })
// if (item.data.length === 0) { // },
// uni.showToast({ methods: {
// title: '暂无消息', goList(item) {
// icon: 'none' // if (item.data.length === 0) {
// }); // uni.showToast({
// return // title: '暂无消息',
// } // icon: 'none'
console.log(item.data) // });
// 任务推送、岗位推送、政策推送 // return
if (item.title == '岗位申请') { // }
console.log('岗位申请') console.log(item.data)
uni.navigateTo({ // 任务推送、岗位推送、政策推送
url: './taskProjectList' if (item.title == '岗位申请') {
}) console.log('岗位申请')
} else if (item.title == '岗位申请') { uni.navigateTo({
console.log('岗位申请') url: './taskProjectList'
uni.navigateTo({ })
url: './jobProjectList' } else if (item.title == '岗位申请') {
}) console.log('岗位申请')
} else if (item.title == '个体户申请') { uni.navigateTo({
uni.navigateTo({ url: './jobProjectList'
url: './policyList' })
}) } else if (item.title == '个体户申请') {
} else { uni.navigateTo({
uni.navigateTo({ url: './policyList'
url: './newsList?type=' + item.id })
}) } else {
} uni.navigateTo({
}, url: './newsList?type=' + item.id
back() { })
uni.reLaunch({ url: '/pages/my/my' }) }
}, },
}, back() {
} uni.reLaunch({
</script> url: '/pages/my/my'
})
<style> },
.content { },
font-family: PingFangSC-Regular; }
font-size: 28rpx; </script>
color: #666666;
width: 560rpx; <style>
overflow: hidden; .content {
white-space: nowrap; font-family: PingFangSC-Regular;
/*不换行*/ font-size: 28rpx;
text-overflow: ellipsis; color: #666666;
/*超出部分文字以...显示*/ width: 560rpx;
} overflow: hidden;
white-space: nowrap;
.head_right { /*不换行*/
float: right; text-overflow: ellipsis;
font-family: PingFangSC-Regular; /*超出部分文字以...显示*/
font-size: 24rpx; }
color: #CCCCCC;
} .head_right {
float: right;
.head_left { font-family: PingFangSC-Regular;
float: left; font-size: 24rpx;
font-family: PingFangSC-Regular; color: #CCCCCC;
font-size: 36rpx; }
color: #333333;
} .head_left {
float: left;
.head { font-family: PingFangSC-Regular;
overflow: hidden; font-size: 36rpx;
width: 560rpx; color: #333333;
} }
.newsListRight { .head {
float: left; overflow: hidden;
width: 560rpx; width: 560rpx;
height: 50rpx; }
line-height: 50rpx;
padding-left: 30rpx; .newsListRight {
} float: left;
width: 560rpx;
.newsList .newsIcon { height: 50rpx;
position: relative; line-height: 50rpx;
width: 100rpx; padding-left: 30rpx;
height: 100rpx; }
display: inline-block;
float: left; .newsList .newsIcon {
} position: relative;
width: 100rpx;
.newsList image { height: 100rpx;
width: 100rpx; display: inline-block;
height: 100rpx; float: left;
} }
.newsList .point { .newsList image {
position: absolute; width: 100rpx;
top: 5rpx; height: 100rpx;
right: 10rpx; }
width: 20rpx;
height: 20rpx; .newsList .point {
background: red; position: absolute;
border-radius: 50%; top: 5rpx;
} right: 10rpx;
width: 20rpx;
.newsList { height: 20rpx;
border-bottom: 1rpx solid #dddddd; background: red;
padding-bottom: 30rpx; border-radius: 50%;
padding-right: 30rpx; }
padding-top: 30rpx;
padding-left: 30rpx; .newsList {
overflow: hidden; border-bottom: 1rpx solid #dddddd;
display: flex; padding-bottom: 30rpx;
align-items: center; padding-right: 30rpx;
} padding-top: 30rpx;
padding-left: 30rpx;
.body { overflow: hidden;
background-color: #fefefe; display: flex;
/* padding-left: 30rpx; align-items: center;
}
width: 720rpx; */
} .body {
background-color: #fefefe;
page { /* padding-left: 30rpx;
background: #f6f6f6;
} width: 720rpx; */
</style> }
page {
background: #f6f6f6;
}
<!-- <template> </style>
<view class="1">
<CustomNavbar @back="back" :titke="'消息'"></CustomNavbar>
<empty content="暂无数据" mr-top="300"></empty>
<CustomTabbar :currentpage="2"></CustomTabbar>
</view> <!-- <template>
</template> <view class="1">
<CustomNavbar @back="back" :titke="'消息'"></CustomNavbar>
<script> <empty content="暂无数据" mr-top="300"></empty>
import CustomNavbar from '@/components/CustomNavbar/navbar.vue' <CustomTabbar :currentpage="2"></CustomTabbar>
import CustomTabbar from '@/components/CustomTabbar/custom_tabbar.vue' </view>
export default { </template>
components: {CustomTabbar, CustomNavbar},
data() { <script>
return { import CustomNavbar from '@/components/CustomNavbar/navbar.vue'
import CustomTabbar from '@/components/CustomTabbar/custom_tabbar.vue'
} export default {
}, components: {CustomTabbar, CustomNavbar},
methods: { data() {
back() { return {
uni.reLaunch({
url: '/pages/my/my' }
}) },
} methods: {
} back() {
uni.reLaunch({
} url: '/pages/my/my'
</script> })
}
<style lang="scss" scoped> }
}
</script>
<style lang="scss" scoped>
</style> --> </style> -->

View File

@@ -10,7 +10,7 @@
<view class="condition"> <view class="condition">
<view class="cond_list" v-if="pageType === 'enterprise'"> <view class="cond_list" v-if="pageType === 'enterprise'">
<view v-for="(item, index) in arrTitle" :key="index" <view v-for="(item, index) in arrTitle" :key="index"
:class="['cond_item', index === currentArrTitleID ? 'activeButton' : '']" @click="changeTab(item)"> :class="['cond_item', item.id === currentArrTitleID ? 'activeButton' : '']" @click="changeTab(item)">
{{ item.text }} {{ item.text }}
</view> </view>
</view> </view>
@@ -39,10 +39,12 @@
} from '@/api/userrecruit.js' } from '@/api/userrecruit.js'
import userrecruitList from '../components/userrecruitList.vue' import userrecruitList from '../components/userrecruitList.vue'
let arrGuide = ['在线填写招工需求', '后台审核沟通发布', '平台展示招工信息']; let arrGuide = ['在线填写招工需求', '后台审核沟通发布', '平台展示招工信息'];
let arrTitle = [{ let arrTitle = [
text: "发布零工岗位", // {
id: 0 // text: "发布零工岗位",
}, { // id: 0
// },
{
text: "发布全职岗位", text: "发布全职岗位",
id: 1 id: 1
} }
@@ -76,7 +78,7 @@
reviewStatus, reviewStatus,
pickerColumns, pickerColumns,
openPicker: false, openPicker: false,
currentArrTitleID: 2, currentArrTitleID: 1,
currentReviewStatusID: '-1', currentReviewStatusID: '-1',
pageNumber: 1, pageNumber: 1,
dataSource: [], dataSource: [],
@@ -87,7 +89,7 @@
}) { }) {
if (this.enterprise) { if (this.enterprise) {
this.pageType = 'enterprise' this.pageType = 'enterprise'
this.currentArrTitleID = 0 this.currentArrTitleID = 1
} }
this.getList('refresh') this.getList('refresh')
}, },

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,54 +1,18 @@
<template> <template>
<view class="mainWrapper"> <view class="mainWrapper">
<view v-show="!searchResultShow" class="headSearch"> <view class="headSearch">
<view class="search-view"> <view class="search-view">
<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="getList"
placeholder="搜零工岗位/搜全职岗位/搜政策" /> placeholder="搜零工岗位/搜全职岗位/搜政策" />
<view @click="getNewList('search')" <view @click="getList"
style="width: 80rpx;height: 50rpx;color:#fff;background-color: #0091ff;font-size:24rpx;text-align: center;line-height: 50rpx;border-radius: 25rpx;;"> 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>
<!-- <view class="close" @click="closeBack">
取消
</view> -->
</view> </view>
</view> </view>
<view v-show="searchResultShow" class="headSearch"> <view class="search-history">
<view class="search-view">
<view class="search-item" @click="clearCurrentKeyWords">
<!-- <image src="../../static/img/search.svg" style="width: 32rpx;height: 32rpx;" mode=""></image> -->
<!-- <input type="text" confirm-type="搜索" v-model="keywords" @confirm="getNewList('search')"
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
style="font-size: 24rpx;height: 50rpx;background-color: #ddd;border-radius: 25rpx;line-height: 50rpx;padding: 0 20rpx;padding-right: 40rpx;position:relative;">
{{ keywords }}
<u-icon name="close" size="14" style="position:absolute;right:10rpx;top:13rpx;"></u-icon>
</view>
</view>
</view>
</view>
<view v-show="searchResultShow" class="search-result">
<view class="title">搜索结果</view>
<view v-for="(item, index) in searchResultList" class="search-item" @click="toDetail(item)">
<image src="../../static/img/search.svg" style="width: 32rpx;height: 32rpx;margin-right: 10rpx;"
mode=""></image>
<view style="flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{ item.name }}</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 == 2">政策</view>
<view class="type" v-else-if="item.type == 3">招工</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;">
暂无数据</view>
</view>
<view v-show="!searchResultShow" class="search-history">
<view class="title">搜索记录</view> <view class="title">搜索记录</view>
<view class="clear" @click="clearKeyWords"> <view class="clear" @click="clearKeyWords">
<image src="../../static/img/delete.png" style="width: 24rpx;height: 24rpx;" mode=""></image> <image src="../../static/img/delete.png" style="width: 24rpx;height: 24rpx;" mode=""></image>
@@ -60,15 +24,14 @@
</view> </view>
</view> </view>
<view v-else class="empty">暂无历史记录</view> <view v-else class="empty">暂无历史记录</view>
<v-tabs :tabs="tabList" height="45px" v-model="activeTab" color="#999" activeColor="#000" fontSize="30rpx"
activeFontSize="31rpx" @change='changeTab' />
</view> </view>
<v-tabs v-show="!searchResultShow" :tabs="['推荐零工岗位', '推荐全职岗位', '推荐政策']" height="45px" v-model="activeTab" <block v-if="activeTab === 0">
color="#999" activeColor="#000" fontSize="30rpx" activeFontSize="31rpx" @change='changeTab' /> <view v-if="companyList.length ">
<block v-if="(activeTab == 0)&&!searchResultShow">
<view v-if="companyList.length > 0">
<block v-for="(item, index) in companyList" :key="item.id"> <block v-for="(item, index) in companyList" :key="item.id">
<companyList :companyitem="item"></companyList> <companyList :companyitem="item" :location="userLocation"></companyList>
</block> </block>
</view> </view>
<view v-else> <view v-else>
@@ -78,10 +41,10 @@
</view> </view>
</view> </view>
</block> </block>
<block v-if="(activeTab == 1)&&!searchResultShow"> <block v-if="activeTab === 1">
<view v-if="newList.length > 0"> <view v-if="newList.length">
<block v-for="(item, index) in newList" :key="item.id"> <block v-for="(item, index) in newList" :key="item.id">
<workList :companyitem="item" :near="activeTab === 0"></workList> <workList :companyitem="item" :near="activeTab === 0" :location="userLocation"></workList>
</block> </block>
</view> </view>
<view v-else> <view v-else>
@@ -92,8 +55,8 @@
<block v-if="(activeTab == 2)&&!searchResultShow"> <block v-if="activeTab == 2">
<view v-if="recommendList.length > 0"> <view v-if="recommendList.length">
<!-- <block v-for="(item, index) in recommendList" :key="item.id"> <!-- <block v-for="(item, index) in recommendList" :key="item.id">
<companyList :companyitem="item"></companyList> <companyList :companyitem="item"></companyList>
</block> --> </block> -->
@@ -109,94 +72,86 @@
<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 class="btn" @click="goResume">
完善技能 完善技能
</view> --> </view> -->
</view> </view>
</block> </block>
<!-- <view v-if="companyList.length > 0"> <block v-if="activeTab == -1">
<block v-for="(item, index) in companyList" :key="item.id"> <view>
<companyList :companyitem="item"></companyList> <image src="../../static/img/pic_notask.svg" mode="" class="nothing"></image>
<view class="baddd"></view> <view class="nothingContnt">
</block> 没有更多数据
</view> </view>
<view v-else> </view>
<image src="../../static/img/pic_notask.svg" mode="" class="nothing"></image> </block>
<view class="nothingContnt">
暂无任务信息
</view>
</view> -->
</view> </view>
</template> </template>
<script> <script>
import {
cloneDeep
} from 'lodash';
import { import {
newMissionAll, newMissionAll,
getSearchKeyWordsList, getSearchKeyWordsList,
clearSearchKeyWords, clearSearchKeyWords,
getListByKeyWords, getListByKeyWords,
nearMission, nearMission,
getPolicyContentList getPolicyContentList,
userWorkSearchListAll
} from '@/api/mission.js'; } from '@/api/mission.js';
import {
mapGetters
} from 'vuex'
import companyList from '@/components/companyList/companyList.vue'; import companyList from '@/components/companyList/companyList.vue';
import vTabs from '@/components/v-tabs/v-tabs.vue';
import testData from '@/common/textdata.js';
import workList from '@/components/companyList/workList.vue' import workList from '@/components/companyList/workList.vue'
const titleStatus = {
'mission': {
title: '零工岗位',
val: 0,
},
'work': {
title: '全职岗位',
val: 1,
},
'policy': {
title: '政策',
val: 2,
},
}
export default { export default {
components: { components: {
companyList, companyList,
vTabs,
workList workList
}, },
data() { data() {
return { return {
activeTab: 0, activeTab: 0,
companyList: [],
recommendList: [],
newList: [],
keywords: '', keywords: '',
page: {
current: 1,
size: 10,
total: 0
},
searchHistoryList: [], searchHistoryList: [],
searchResultShow: false, companyList: [],
searchResultList: [] newList: [],
}; recommendList: [],
tabList: ['零工岗位', '全职岗位', '政策']
}
}, },
onLoad: function(option) { computed: {
this.keywords = option.keywords ? option.keywords : '' ...mapGetters(['userLocation']),
}, },
onShow: function() { onShow: function() {
this.getList('refresh');
this.getKeyWordsList() this.getKeyWordsList()
}, },
/*页面滚动到底部*/
onReachBottom: function() {
this.upLoad()
},
methods: { methods: {
clearCurrentKeyWords() { goPolicyInfo(data) {
this.keywords = ''; if (data) {
let that = this; uni.navigateTo({
setTimeout(function() { url: `/pages/user/policyContent?id=${data}`
that.searchResultShow = false; })
}, 100); }
},
// 新面板搜索
getNewList() {
getListByKeyWords(this.keywords).then(res => {
this.searchResultShow = true
this.searchResultList = res.data.data
// this.searchResultList.forEach((item, index) => {
// item.name = this.getInf(item.name, this.keywords);
// })
})
}, },
// 获取搜索历史记录 // 获取搜索历史记录
getKeyWordsList() { getKeyWordsList() {
@@ -211,142 +166,6 @@
// console.log(keyWords) // console.log(keyWords)
this.searchResultShow = true; this.searchResultShow = true;
this.keywords = keyWords; this.keywords = keyWords;
this.getNewList();
},
//最新任务;
getList: function(type = 'add') {
//改变搜索条件页码值变为1
if (type === 'refresh') {
this.page.current = 1;
};
// if (this.keywords) {
newMissionAll(this.page.current, this.page.size, this.keywords).then(res => {
this.page.total = res.data.data.total;
if (type === 'refresh') {
this.companyList = res.data.data.records
} else if (res.data.data && res.data.data.records.length) {
this.companyList = this.companyList.concat(res.data.data.records);
}
this.page.current += 1;
})
},
getgwList(type = 'add') {
if (type === 'refresh') {
this.page.current = 1;
};
nearMission(this.page.current, this.page.size).then(res => {
this.page.total = res.data.data.total;
if (type === 'refresh') {
this.newList = res.data.data.records
} else if (res.data.data && res.data.data.records.length) {
this.newList = this.newList.concat(res.data.data.records);
}
this.page.current += 1;
})
},
getPoliyList(type = 'add') {
if (type === 'refresh') {
this.page.current = 1;
};
let params = {
current: this.page.current,
size: this.page.size,
type: 1
}
getPolicyContentList(params).then(res => {
this.page.total = res.data.data.total;
if (type === 'refresh') {
this.recommendList = res.data.data.records
} else if (res.data.data && res.data.data.records.length) {
this.recommendList = this.recommendList.concat(res.data.data.records);
}
this.page.current += 1;
})
},
goPolicyInfo(data) {
if (data) {
uni.navigateTo({
url: `/pages/user/policyContent?id=${data}`
})
} else {
// uni.showToast({
// title:'暂无内容',
// icon:'none'
// })
}
},
//上拉加载
upLoad: function() {
if (this.page.current <= Math.ceil(this.page.total / this.page.size)) {
switch (this.activeTab) {
case 0:
this.getList();
break;
case 1:
this.getgwList();
break;
case 2:
this.getPoliyList()
break;
}
} else {
uni.showToast({
icon: "none",
title: '已经是最后一页',
})
return
}
},
closeBack() {
uni.navigateBack({
delta: 1
})
},
/**
* 指定关键字高亮
* @param {*} str 字符串
* @param {*} key 关键字
*/
getInf(str, key) {
if (str && key) {
let replaceReg = new RegExp(key, 'g') // 匹配关键字正则
let replaceString = "<span style='color: #1b66ff;'>" + key + "</span>" // 高亮替换
return str.replace(replaceReg, replaceString);
}
},
toDetail(item) {
const no = item.id
// 判断是岗位还是任务 0任务1岗位2政策
if (item.type == 0) {
uni.navigateTo({
url: `/pages/projectInfo/projectInfo?missionNo=${encodeURIComponent(no)}&isCan=1`
})
} else if (item.type == 1) {
uni.navigateTo({
url: `/pages/projectInfo/workInfo?workId=${encodeURIComponent(no)}&isCan=1`
})
} else if (item.type == 2) {
uni.navigateTo({
url: `/pages/user/policyContent?id=${no}`
})
}
},
changeTab: function(e) {
this.activeTab = e;
switch (e) {
case 0:
this.getList('refresh');
break;
case 1:
this.getgwList('refresh');
break;
case 2:
this.getPoliyList('refresh')
break;
}
}, },
// 清空搜索历史 // 清空搜索历史
clearKeyWords() { clearKeyWords() {
@@ -355,15 +174,55 @@
this.getKeyWordsList() this.getKeyWordsList()
} }
}) })
},
changeTab: function(e) {
this.activeTab = e;
// const tab = cloneDeep(this.tabList[e])
// Object.keys(titleStatus).map((key) => {
// if (titleStatus[key].title === tab) {
// this.activeTab = titleStatus[key].val;
// }
// })
},
async getList() {
const params = {
keywords: this.keywords
}
let resData = await userWorkSearchListAll(params)
if (resData.data.code === 200) {
const {
mission,
policy,
work
} = resData.data.data
const tabVal = []
Object.keys(titleStatus).map((key) => {
if (resData.data.data[key].length) {
tabVal.push(titleStatus[key].title)
}
})
if (tabVal.length) {
let count = 0
Object.keys(titleStatus).map((key) => {
if (!count && titleStatus[key].title === tabVal[0]) {
this.activeTab = titleStatus[key].val;
count++
}
})
}
this.companyList = mission
this.recommendList = policy
this.newList = work
}
} }
} }
}; }
</script> </script>
<style scoped> <style scoped>
.mainWrapper { .mainWrapper {
background-color: #f3f4f8; background-color: #f3f4f8;
min-height: 95vh; min-height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
} }
.baddd { .baddd {
@@ -475,6 +334,7 @@
padding: 8rpx 12rpx; padding: 8rpx 12rpx;
border-radius: 20rpx; border-radius: 20rpx;
margin-right: 10rpx; margin-right: 10rpx;
position: relative;
} }
.search-result { .search-result {

517
pages/seach/seachCopy.vue Normal file
View File

@@ -0,0 +1,517 @@
<template>
<view class="mainWrapper">
<view v-show="!searchResultShow" class="headSearch">
<view class="search-view">
<view class="search-item">
<image src="../../static/img/search.svg" style="width: 32rpx;height: 32rpx;" mode=""></image>
<input type="text" confirm-type="搜索" v-model="keywords" @confirm="getNewList('search')"
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>
<!-- <view class="close" @click="closeBack">
取消
</view> -->
</view>
</view>
<view v-show="searchResultShow" class="headSearch">
<view class="search-view">
<view class="search-item" @click="clearCurrentKeyWords">
<!-- <image src="../../static/img/search.svg" style="width: 32rpx;height: 32rpx;" mode=""></image> -->
<!-- <input type="text" confirm-type="搜索" v-model="keywords" @confirm="getNewList('search')"
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
style="font-size: 24rpx;height: 50rpx;background-color: #ddd;border-radius: 25rpx;line-height: 50rpx;padding: 0 20rpx;padding-right: 40rpx;position:relative;">
{{ keywords }}
<u-icon name="close" size="14" style="position:absolute;right:10rpx;top:13rpx;"></u-icon>
</view>
</view>
</view>
</view>
<view v-show="searchResultShow" class="search-result">
<view>
<view>岗位/任务</view>
<view>政策</view>
</view>
<view class="title">搜索结果</view>
<view v-for="(item, index) in searchResultList" class="search-item" @click="toDetail(item)">
<image src="../../static/img/search.svg" style="width: 32rpx;height: 32rpx;margin-right: 10rpx;"
mode=""></image>
<view style="flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{ item.name }}</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.type1 == 2">政策</view>
<view class="type" v-else-if="item.type == 3">招工</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;">
暂无数据</view>
</view>
<view v-show="!searchResultShow" class="search-history">
<view class="title">搜索记录</view>
<view class="clear" @click="clearKeyWords">
<image src="../../static/img/delete.png" style="width: 24rpx;height: 24rpx;" mode=""></image>
<view style="margin-left: 5rpx;">清空</view>
</view>
<view class="wrapper" v-if="searchHistoryList.length > 0">
<view class="item" v-for="(item, index) in searchHistoryList" @click="keyWordsClick(item.keywords)">
{{ item.keywords }}
</view>
</view>
<view v-else class="empty">暂无历史记录</view>
</view>
<v-tabs v-show="!searchResultShow" :tabs="['推荐零工岗位', '推荐全职岗位', '推荐政策']" height="45px" v-model="activeTab"
color="#999" activeColor="#000" fontSize="30rpx" activeFontSize="31rpx" @change='changeTab' />
<block v-if="(activeTab == 0)&&!searchResultShow">
<view v-if="companyList.length > 0">
<block v-for="(item, index) in companyList" :key="item.id">
<companyList :companyitem="item"></companyList>
</block>
</view>
<view v-else>
<image src="../../static/img/pic_notask.svg" mode="" class="nothing"></image>
<view class="nothingContnt">
暂无信息
</view>
</view>
</block>
<block v-if="(activeTab == 1)&&!searchResultShow">
<view v-if="newList.length > 0">
<block v-for="(item, index) in newList" :key="item.id">
<workList :companyitem="item" :near="activeTab === 0"></workList>
</block>
</view>
<view v-else>
<image src="../../static/img/pic_notask.svg" class="nothing" mode=""></image>
<view class="nothingContnt">暂无信息</view>
</view>
</block>
<block v-if="(activeTab == 2)&&!searchResultShow">
<view v-if="recommendList.length > 0">
<!-- <block v-for="(item, index) in recommendList" :key="item.id">
<companyList :companyitem="item"></companyList>
</block> -->
<view v-for="(item, index) in recommendList" :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>
<view style="font-size: 26rpx;">{{ item.articleTitle }}</view>
</view>
</view>
<view v-else>
<image src="../../static/img/pic_notask.svg" mode="" class="nothing"></image>
<view class="nothingContnt">
完善技能获取精推荐
</view>
<!-- <view class="btn" @click="goResume">
完善技能
</view> -->
</view>
</block>
<!-- <view v-if="companyList.length > 0">
<block v-for="(item, index) in companyList" :key="item.id">
<companyList :companyitem="item"></companyList>
<view class="baddd"></view>
</block>
</view>
<view v-else>
<image src="../../static/img/pic_notask.svg" mode="" class="nothing"></image>
<view class="nothingContnt">
暂无任务信息
</view>
</view> -->
</view>
</template>
<script>
import {
newMissionAll,
getSearchKeyWordsList,
clearSearchKeyWords,
getListByKeyWords,
nearMission,
getPolicyContentList
} from '@/api/mission.js';
import companyList from '@/components/companyList/companyList.vue';
import vTabs from '@/components/v-tabs/v-tabs.vue';
import testData from '@/common/textdata.js';
import workList from '@/components/companyList/workList.vue'
export default {
components: {
companyList,
vTabs,
workList
},
data() {
return {
activeTab: 0,
companyList: [],
recommendList: [],
newList: [],
keywords: '',
page: {
current: 1,
size: 10,
total: 0
},
searchHistoryList: [],
searchResultShow: false,
searchResultList: []
};
},
onLoad: function(option) {
this.keywords = option.keywords ? option.keywords : ''
},
onShow: function() {
this.getList('refresh');
this.getKeyWordsList()
},
/*页面滚动到底部*/
onReachBottom: function() {
this.upLoad()
},
methods: {
clearCurrentKeyWords() {
this.keywords = '';
let that = this;
setTimeout(function() {
that.searchResultShow = false;
}, 100);
},
// 新面板搜索
getNewList() {
getListByKeyWords(this.keywords).then(res => {
this.searchResultShow = true
this.searchResultList = res.data.data
// this.searchResultList.forEach((item, index) => {
// item.name = this.getInf(item.name, this.keywords);
// })
})
},
// 获取搜索历史记录
getKeyWordsList() {
getSearchKeyWordsList().then(res => {
let response = res.data
if (response.code == 200) {
this.searchHistoryList = response.data
}
})
},
keyWordsClick(keyWords) {
// console.log(keyWords)
this.searchResultShow = true;
this.keywords = keyWords;
this.getNewList();
},
//最新任务;
getList: function(type = 'add') {
//改变搜索条件页码值变为1
if (type === 'refresh') {
this.page.current = 1;
};
// if (this.keywords) {
newMissionAll(this.page.current, this.page.size, this.keywords).then(res => {
this.page.total = res.data.data.total;
if (type === 'refresh') {
this.companyList = res.data.data.records
} else if (res.data.data && res.data.data.records.length) {
this.companyList = this.companyList.concat(res.data.data.records);
}
this.page.current += 1;
})
},
getgwList(type = 'add') {
if (type === 'refresh') {
this.page.current = 1;
};
nearMission(this.page.current, this.page.size).then(res => {
this.page.total = res.data.data.total;
if (type === 'refresh') {
this.newList = res.data.data.records
} else if (res.data.data && res.data.data.records.length) {
this.newList = this.newList.concat(res.data.data.records);
}
this.page.current += 1;
})
},
getPoliyList(type = 'add') {
if (type === 'refresh') {
this.page.current = 1;
};
let params = {
current: this.page.current,
size: this.page.size,
type: 1
}
getPolicyContentList(params).then(res => {
this.page.total = res.data.data.total;
if (type === 'refresh') {
this.recommendList = res.data.data.records
} else if (res.data.data && res.data.data.records.length) {
this.recommendList = this.recommendList.concat(res.data.data.records);
}
this.page.current += 1;
})
},
goPolicyInfo(data) {
if (data) {
uni.navigateTo({
url: `/pages/user/policyContent?id=${data}`
})
} else {
// uni.showToast({
// title:'暂无内容',
// icon:'none'
// })
}
},
//上拉加载
upLoad: function() {
if (this.page.current <= Math.ceil(this.page.total / this.page.size)) {
switch (this.activeTab) {
case 0:
this.getList();
break;
case 1:
this.getgwList();
break;
case 2:
this.getPoliyList()
break;
}
} else {
uni.showToast({
icon: "none",
title: '已经是最后一页',
})
return
}
},
closeBack() {
uni.navigateBack({
delta: 1
})
},
/**
* 指定关键字高亮
* @param {*} str 字符串
* @param {*} key 关键字
*/
getInf(str, key) {
if (str && key) {
let replaceReg = new RegExp(key, 'g') // 匹配关键字正则
let replaceString = "<span style='color: #1b66ff;'>" + key + "</span>" // 高亮替换
return str.replace(replaceReg, replaceString);
}
},
toDetail(item) {
const no = item.id
// 判断是岗位还是任务 0任务1岗位2政策
if (item.type == 0) {
uni.navigateTo({
url: `/pages/projectInfo/projectInfo?missionNo=${encodeURIComponent(no)}&isCan=1`
})
} else if (item.type == 1) {
uni.navigateTo({
url: `/pages/projectInfo/workInfo?workId=${encodeURIComponent(no)}&isCan=1`
})
} else if (item.type == 2) {
uni.navigateTo({
url: `/pages/user/policyContent?id=${no}`
})
}
},
changeTab: function(e) {
this.activeTab = e;
switch (e) {
case 0:
this.getList('refresh');
break;
case 1:
this.getgwList('refresh');
break;
case 2:
this.getPoliyList('refresh')
break;
}
},
// 清空搜索历史
clearKeyWords() {
clearSearchKeyWords().then(res => {
if (res.data.code == 200) {
this.getKeyWordsList()
}
})
}
}
};
</script>
<style scoped>
.mainWrapper {
background-color: #f3f4f8;
min-height: 95vh;
}
.baddd {
background-color: #f6f6f6;
height: 20rpx;
}
.close {
position: absolute;
right: 24rpx;
top: 6rpx;
height: 60rpx;
padding: 5rpx 0;
line-height: 60rpx;
font-family: PingFangSC-Regular;
font-size: 32rpx;
color: #333333;
}
.headSearch .search-view {
border-bottom: 1rpx solid #dddddd;
padding: 14rpx 32rpx;
background: rgba(255, 255, 255, 1);
}
.headSearch .search-item {
display: flex;
padding: 0 10rpx;
height: 60rpx;
line-height: 60rpx;
background: rgba(249, 249, 249, 1);
border-radius: 200px;
align-items: center;
border: 1px solid #0091ff;
}
.headSearch .search-item input {
padding: 0 24rpx;
height: 80rpx;
font-weight: 400;
flex: 1;
text-align: start;
font-size: 28rpx;
font-family: PingFang-SC-Bold, PingFang-SC;
color: rgba(51, 51, 51, 1);
}
.headSearch .search-item .placeholderClass {
color: #CCCCCC;
}
.headSearch .search-item image {
height: 32rpx;
width: 32rpx;
}
.nothing {
width: 400rpx;
height: 200rpx;
display: block;
margin: 0 auto;
margin-top: 50%;
}
.nothingContnt {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #333333;
margin-top: 30rpx;
text-align: center;
}
.search-history {
background-color: #fff;
padding: 10rpx 40rpx;
position: relative;
}
.search-history .title {
font-size: 28rpx;
font-weight: bold;
}
.search-history .clear {
position: absolute;
right: 40rpx;
top: 10rpx;
font-size: 24rpx;
display: flex;
align-items: center;
color: #707070;
}
.search-history .empty {
font-size: 24rpx;
text-align: center;
color: #707070;
}
.search-history .wrapper {
display: flex;
flex-wrap: wrap;
margin-top: 10rpx;
}
.search-history .wrapper .item {
font-size: 24rpx;
background-color: #f6f6f6;
padding: 8rpx 12rpx;
border-radius: 20rpx;
margin-right: 10rpx;
}
.search-result {
padding: 20rpx 30rpx;
background-color: #fff;
height: 100vh;
}
.search-result .title {
font-size: 26rpx;
font-weight: bold;
border-bottom: 1rpx solid #ddd;
height: 60rpx;
line-height: 60rpx;
}
.search-result .search-item {
display: flex;
align-items: center;
font-size: 26rpx;
border-bottom: 1rpx solid #ddd;
height: 80rpx;
line-height: 80rpx;
}
.search-result .search-item .type {
font-size: 20rpx;
color: #707070;
background-color: #dddddd;
border-radius: 15rpx;
height: 30rpx;
line-height: 30rpx;
padding: 0 20rpx;
}
</style>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 563 B

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 809 B

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 888 B

After

Width:  |  Height:  |  Size: 389 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 B

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 565 B

After

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 637 B

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 881 B

After

Width:  |  Height:  |  Size: 856 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 864 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 975 B

After

Width:  |  Height:  |  Size: 962 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 808 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 857 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 875 B

After

Width:  |  Height:  |  Size: 865 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 1007 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 798 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 538 B

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 463 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 522 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 783 B

BIN
static/img/title-pg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 895 B

Some files were not shown because too many files have changed in this diff Show More