flat: 基础修改

This commit is contained in:
Apcallover
2024-04-14 14:32:17 +08:00
parent c4f62b6efb
commit 05686b2bba
11 changed files with 4459 additions and 4193 deletions

View File

@@ -93,14 +93,10 @@ export const findTradeList = () => {
})
}
export const addInviteCompanyAuth = ({
params,
data
}) => {
export const addInviteCompanyAuth = (params) => {
return request({
url: '/api/jobslink-api/tenant/company/app/inviteCompany/auth',
method: 'post',
data,
params
})
}

View File

@@ -65,10 +65,15 @@
</template>
<script>
import {classifyData, classifyData2} from './classifyData.js';
console.log(classifyData, classifyData2)
import { getTrade } from '@/api/resume.js'
export default {
import {
classifyData,
classifyData2
} from './classifyData.js';
console.log(classifyData, classifyData2)
import {
getTrade
} from '@/api/resume.js'
export default {
props: {
closePopUp: {
type: Function,
@@ -114,7 +119,9 @@ export default {
},
industryModal: {
industry: "",
industryList: [[]],
industryList: [
[]
],
industryShow: false,
isClickIndustry: false,
},
@@ -124,8 +131,8 @@ export default {
}
},
created: function () {
if(!this.isTask) {
created: function() {
if (!this.isTask) {
this.tabbar = classifyData2
}
this.getData()
@@ -134,7 +141,7 @@ export default {
methods: {
getData: function () {
getData: function() {
getTrade().then(res => {
console.log(res.data.data);
const newData = this.tabbar;
@@ -272,7 +279,11 @@ export default {
}).exec()
})
},
clickFunc({ type, bigObj, smallObj }) {
clickFunc({
type,
bigObj,
smallObj
}) {
this.canSubmit = true;
switch (type) {
case "industry":
@@ -333,56 +344,60 @@ export default {
this.industryModal.industry = "";
}
console.log(this.submitData, this.areaModal, this.industryModal);
this.subMitPopUp({ submitData: this.submitData, areaModal: this.areaModal, industryModal: this.industryModal })
this.subMitPopUp({
submitData: this.submitData,
areaModal: this.areaModal,
industryModal: this.industryModal
})
}
}
}
}
</script>
<style lang="scss" scoped>
.u-wrap {
.u-wrap {
height: calc(100vh);
/* #ifdef H5 */
height: calc(100vh - var(--window-top));
/* #endif */
display: flex;
flex-direction: column;
}
}
.u-search-box {
.u-search-box {
padding: 18rpx 30rpx;
}
}
.u-menu-wrap {
.u-menu-wrap {
flex: 100;
display: flex;
overflow: hidden;
}
}
.u-search-inner {
.u-search-inner {
background-color: rgb(234, 234, 234);
border-radius: 100rpx;
display: flex;
align-items: center;
padding: 10rpx 16rpx;
}
}
.u-search-text {
.u-search-text {
font-size: 26rpx;
color: #ccc;
margin-left: 10rpx;
}
}
.u-tab-view {
.u-tab-view {
width: 200rpx;
height: 100%;
}
}
.u-tab-item {
.u-tab-item {
height: 110rpx;
background: #f6f6f6;
box-sizing: border-box;
@@ -393,66 +408,66 @@ export default {
color: #444;
font-weight: 400;
line-height: 1;
}
}
.u-tab-item-active {
.u-tab-item-active {
position: relative;
color: #000;
font-size: 30rpx;
font-weight: 600;
background: #fff;
}
}
.u-tab-item-active::before {
.u-tab-item-active::before {
content: "";
position: absolute;
border-left: 4px solid skyblue;
height: 32rpx;
left: 0;
top: 39rpx;
}
}
.u-tab-view {
.u-tab-view {
height: 100%;
}
}
.right-box {
.right-box {
background-color: rgb(250, 250, 250);
}
}
.page-view {
.page-view {
padding: 8rpx;
padding-left: 4rpx;
}
}
.class-item {
.class-item {
margin-bottom: 10rpx;
background-color: #fff;
padding: 16rpx;
border-radius: 8rpx;
}
}
.class-item:last-child {
.class-item:last-child {
min-height: 100vh;
}
}
.item-title {
.item-title {
font-size: 28rpx;
font-weight: bold;
}
}
.item-menu-name {
.item-menu-name {
font-weight: normal;
font-size: 26rpx;
}
}
.item-container {
.item-container {
display: flex;
flex-wrap: wrap;
}
}
.thumb-box {
.thumb-box {
width: 43%;
line-height: 80rpx;
display: flex;
@@ -465,49 +480,49 @@ export default {
background-color: #f3f4f8;
border: 1px solid #f3f4f8;
color: #666666;
}
}
.thumb-box1 {
.thumb-box1 {
width: 90%;
}
}
.selected-box {
.selected-box {
background-color: #e3eafe;
border: 1px solid #92adfb;
color: #92adfb !important;
}
}
.item-menu-image {
.item-menu-image {
width: 120rpx;
height: 120rpx;
}
}
.buttonWrapper {
.buttonWrapper {
// position: absolute;
// bottom: 10px;
display: flex;
justify-content: space-around;
margin-bottom: -10px;
margin-top: 10px;
}
}
.cancelButton {
padding: 15rpx 30rpx;
.cancelButton {
padding: 15rpx 120rpx;
background-color: #f3f4f8;
border-radius: 5px;
color: #9b9b9b;
}
}
.sureButton {
padding: 15rpx 150rpx;
.sureButton {
padding: 15rpx 120rpx;
background-color: #4171f9;
color: #fff;
border-radius: 5px;
}
}
.noSubMitButton {
.noSubMitButton {
background-color: #f3f4f8;
color: #9b9b9b;
}
}
</style>

View File

@@ -51,7 +51,7 @@
<view class="jobinfo">
<view
v-bind:class="['jobAddress', { 'input-error': !myResume.city.id && !myResume.city.workplace && isShowBorder }]">
想工作的地点
想工作的地点
</view>
<view v-bind:class="['jobText']">
{{ myResume.city !== "{}" ? myResume.city.id ? getCity(myResume.city.id) : myResume.city.workplace :
@@ -64,7 +64,7 @@
<view class="jobcontent" @click="showPickerFunc('education')">
<view class="jobinfo">
<view v-bind:class="['jobAddress', { 'input-error': !myResume.education.label && isShowBorder }]">
的学历
的学历
</view>
<view v-bind:class="['jobText']">
{{ myResume.education !== "{}" ? myResume.education.label : '请选择' }}
@@ -75,7 +75,7 @@
<view class="jobcontent" @click="showPickerFunc('wage')">
<view class="jobinfo">
<view v-bind:class="['jobAddress', { 'input-error': !myResume.wage && isShowBorder }]">
的期望薪资
的期望薪资
</view>
<view v-bind:class="['jobText']">
{{ myResume.wage ? myResume.wage : '请选择' }}
@@ -86,7 +86,7 @@
<view class="jobcontent">
<view class="jobinfo">
<view v-bind:class="['jobAddress', { 'input-error': !myResume.phone && isShowBorder }]">
的联系方式
的联系方式
</view>
<u--input :value="myResume.phone" @focus="setPhoneFunc1" @change="setPhoneFunc" type="number"
placeholder="请输入您的电话" border="none" clearable></u--input>
@@ -113,21 +113,21 @@
</template>
<script>
import {
import {
mapGetters
} from 'vuex'
import {
} from 'vuex'
import {
mySkills,
myResume,
removeSkills,
setCity,
setLearn,
setResume
} from '@/api/resume.js';
import mSlideList from '@/components/mark-slide-list/mark-slide-list.vue';
import controller from '@/components/mark-slide-list/controller';
} from '@/api/resume.js';
import mSlideList from '@/components/mark-slide-list/mark-slide-list.vue';
import controller from '@/components/mark-slide-list/controller';
export default {
export default {
components: {
mSlideList
},
@@ -150,7 +150,9 @@ export default {
}],
showPicker: false,
showType: "",
columns: [[]],
columns: [
[]
],
canSubMit: false,
isShowButton: false,
@@ -180,7 +182,7 @@ export default {
},
watch: {
myResume: {
handler: function (newVal, oldVal) {
handler: function(newVal, oldVal) {
if (newVal.city && newVal.education && newVal.wage && newVal.phone) {
this.canSubMit = true;
} else {
@@ -195,15 +197,19 @@ export default {
myResume().then(res => {
const data = res.data.data
this.myResume = {
city: { workplace: data.workplace },
education: { label: data.education },
city: {
workplace: data.workplace
},
education: {
label: data.education
},
wage: data.wage,
phone: data.telephone
}
this.isShowButton = false;
if (data && data.id) {
this.id = data.id
console.log(this.id,'-----------------------------');
console.log(this.id, '-----------------------------');
}
});
},
@@ -212,7 +218,7 @@ export default {
this.mySkills = res.data.data;
})
},
goWantSkill: function () {
goWantSkill: function() {
uni.$off('getWantSkill')
uni.$once('getWantSkill', (cb) => {
cb(this.myResume.learnSkill)
@@ -233,9 +239,11 @@ export default {
url: './setWskill?id=' + this.id
})
},
goSetCity: function () {
goSetCity: function() {
uni.$off('setCity')
uni.$on('setCity', ({ detail }) => {
uni.$on('setCity', ({
detail
}) => {
console.log(detail, '---------------');
this.isShowButton = true
this.myResume.city = detail
@@ -248,18 +256,18 @@ export default {
url: `/pages/setCity/setCity?maxLayer=2`
})
},
goAdd: function () {
goAdd: function() {
uni.navigateTo({
url: './addSkill'
})
},
goUserBase: function () {
goUserBase: function() {
uni.navigateTo({
url: '../userBase'
})
},
getCity: function (val) {
getCity: function(val) {
if (val) {
let areas = this.$store.getters.getAreaParents(val)
if (areas.length) {
@@ -267,7 +275,7 @@ export default {
}
}
},
removeSkills: function (id, index) {
removeSkills: function(id, index) {
removeSkills(id).then(res => {
uni.showToast({
title: '操作成功',
@@ -280,18 +288,49 @@ export default {
this.showType = type;
switch (type) {
case "education":
this.columns =
[[
{ label: 'MBA/EMBA', value: 0 }, { label: '博士', value: 1 }, { label: '硕士', value: 2 }, { label: '本科', value: 3 },
{ label: '大专', value: 4 }, { label: '高中', value: 5 }, { label: '中专/中技', value: 6 }, { label: '初中及以下,', value: 7 },
{ label: '不限', value: 8 }
]]
this.columns = [
[{
label: 'MBA/EMBA',
value: 0
}, {
label: '博士',
value: 1
}, {
label: '硕士',
value: 2
}, {
label: '本科',
value: 3
},
{
label: '大专',
value: 4
}, {
label: '高中',
value: 5
}, {
label: '中专/中技',
value: 6
}, {
label: '初中及以下,',
value: 7
},
{
label: '不限',
value: 8
}
]
]
break;
case "wage":
this.columns = [['10-15元/小时', '16-20元/小时', '21-25元/小时', '26-30元/小时', '30元/小时以上', '100-150元/天', '151-200元/天'
, '201-250元/天', '251-300元/', "300元/天以上", "2000元以下/月", "2000-5000元/月", "5000-8000元/月",
"8000-10000元/月", "10000-15000元/月", "15000-20000元/月", "20000-25000元/月", "25000-30000元/月", "30000元以上/月", "面议、暂无要求"
]]
this.columns = [
['10-15元/小时', '16-20元/小时', '21-25元/小时', '26-30元/小时', '30元/小时以上', '100-150元/天',
'151-200元/天', '201-250元/天', '251-300元/天', "300元/天以上", "2000元以下/月",
"2000-5000元/月", "5000-8000元/月",
"8000-10000元/月", "10000-15000元/月", "15000-20000元/月", "20000-25000元/月",
"25000-30000元/月", "30000元以上/月", "面议、暂无要求"
]
]
break;
@@ -328,7 +367,12 @@ export default {
console.log(this.myResume);
this.isShowBorder = true;
if (!this.canSubMit) return;
const { city, education, phone, wage } = this.myResume
const {
city,
education,
phone,
wage
} = this.myResume
// 中国大陆手机号码正则表达式
const mobileRegex = /\b(1[3-9]\d{9})\b/;
// 中国大陆座机号码正则表达式
@@ -339,7 +383,11 @@ export default {
// 电话号码格式正确
console.log(phone, "电话号码格式正确");
setResume({
id: this.id, education: education.label, workplace: city.workplace ? city.workplace : city.parentLabel + '-' + city.label, telephone: phone, wage
id: this.id,
education: education.label,
workplace: city.workplace ? city.workplace : city.parentLabel + '-' + city.label,
telephone: phone,
wage
}).then(res => {
this.isShowButton = false;
this.getResume()
@@ -366,36 +414,36 @@ export default {
this.areaModal.addressShow = false
},
}
}
}
</script>
<style>
.border {
.border {
margin-left: 30rpx;
width: 720rpx;
border: 1rpx solid #f2f2f2;
/* height: 1rpx;
background-color: #ddd; */
}
}
.jobText {
.jobText {
font-family: PingFangSC-Regular;
font-size: 32rpx;
color: #666666;
}
}
.jobAddress {
.jobAddress {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #999999;
}
}
.nochoose {
.nochoose {
/* color: #ccc; */
}
}
.jobcontent {
.jobcontent {
padding: 30rpx;
background: #fff;
display: flex;
@@ -403,16 +451,16 @@ export default {
justify-content: space-between;
line-height: 63rpx;
border: 1px solid #fff;
}
}
.jobcontent image {
.jobcontent image {
width: 40rpx;
height: 40rpx;
}
}
.listBody {}
.listBody {}
.list_text {
.list_text {
font-family: PingFangSC-Regular;
font-size: 32rpx;
color: #666666;
@@ -421,15 +469,15 @@ export default {
/* white-space: nowrap; */
overflow-wrap: break-word;
word-wrap: break-word;
}
}
.list image {
.list image {
width: 40rpx;
height: 40rpx;
margin-left: auto;
}
}
.list {
.list {
padding: 0 15px 0 30rpx;
height: 126rpx;
/* line-height: 126rpx; */
@@ -437,14 +485,14 @@ export default {
border-bottom: 1px solid #f2f2f2;
display: flex;
align-items: center;
}
}
.title image {
.title image {
width: 40rpx;
height: 40rpx;
}
}
.title {
.title {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #999999;
@@ -455,55 +503,55 @@ export default {
align-items: center;
justify-content: space-between;
border: 1rpx solid #f2f2f2;
}
}
.userInfo {
.userInfo {
font-family: PingFangSC-Regular;
font-size: 24rpx;
color: #999999;
}
}
.name {
.name {
margin-left: 20rpx;
font-family: PingFangSC-Medium;
font-size: 36rpx;
color: #333333;
line-height: 50rpx;
}
}
.head image:last-child {
.head image:last-child {
width: 40rpx;
height: 40rpx;
margin-left: auto;
}
}
.head image {
.head image {
width: 100rpx;
height: 100rpx;
}
}
page {
page {
background-color: #FFFFFF;
}
}
.head {
.head {
padding: 30rpx;
width: 690rpx;
background-color: #fff;
display: flex;
align-items: center;
justify-content: flex-start;
}
}
.saveWrapper {
.saveWrapper {
width: 80%;
padding: 20rpx;
margin: 0 auto;
padding-bottom: 60rpx;
}
}
.input-error {
.input-error {
color: red;
}
}
</style>

View File

@@ -57,7 +57,7 @@
{
"path": "pages/project/project",
"style": {
"navigationBarTitleText": "德阳市灵活就业平台",
"navigationBarTitleText": "招聘",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": true
}
@@ -131,7 +131,7 @@
{
"path": "pages/seach/seach",
"style": {
"navigationBarTitleText": "德阳市灵活就业平台",
"navigationBarTitleText": "搜索",
"navigationBarBackgroundColor": "#FFFFFF"
}
},
@@ -226,12 +226,14 @@
"path": "pages/recruit/recruit",
"style": {
"navigationBarTitleText": "我要招工",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false
}
},
{
"path": "pages/recruit/reform",
"style": {
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTitleText": "个体招工",
"enablePullDownRefresh": false
}
@@ -241,6 +243,7 @@
"style": {
"navigationBarTitleText": "招工列表",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#FFFFFF",
"navigationStyle": "custom"
}
},
@@ -248,6 +251,7 @@
"path": "pages/recruit/subPage/MessageList",
"style": {
"navigationBarTitleText": "申请消息",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
@@ -256,6 +260,7 @@
"path": "pages/recruit/subPage/jobProjectList",
"style": {
"navigationBarTitleText": "推送岗位",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false
}
},
@@ -278,6 +283,7 @@
"path": "pages/recruit/subPage/taskProjectList",
"style": {
"navigationBarTitleText": "推送任务",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false
}
},
@@ -285,6 +291,7 @@
"path": "pages/recruit/subPage/policyList",
"style": {
"navigationBarTitleText": "推送政策",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false
}
},
@@ -292,6 +299,7 @@
"path": "pages/recruit/subPage/recruit",
"style": {
"navigationBarTitleText": "发布招工",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
@@ -300,6 +308,7 @@
"path": "pages/recruit/subPage/task",
"style": {
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false
}
},
@@ -307,6 +316,7 @@
"path": "pages/recruit/subPage/work",
"style": {
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false
}
},
@@ -314,6 +324,7 @@
"path": "pages/recruit/subPage/person",
"style": {
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false
}
},
@@ -342,6 +353,7 @@
"path": "pages/news/jobProjectList",
"style": {
"navigationBarTitleText": "推送岗位",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false
}
},
@@ -349,6 +361,7 @@
"path": "pages/news/taskProjectList",
"style": {
"navigationBarTitleText": "推送任务",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false
}
},
@@ -356,6 +369,7 @@
"path": "pages/news/policyList",
"style": {
"navigationBarTitleText": "推送政策",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false
}
},
@@ -371,19 +385,17 @@
}
},
{
"path" : "pages/recruit/subPage/enterpriceCertification/enterpriceCertification",
"style" :
{
"navigationBarTitleText" : "企业认证",
"enablePullDownRefresh" : false
"path": "pages/recruit/subPage/enterpriceCertification/enterpriceCertification",
"style": {
"navigationBarTitleText": "企业认证",
"navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": false
}
}
],
"subPackages": [
{
"subPackages": [{
"root": "pageMy",
"pages": [
{
"pages": [{
"path": "federation/forMembership/password",
"style": {
"navigationBarTitleText": "",
@@ -694,8 +706,7 @@
}
}
]
}
],
}],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "",
@@ -712,8 +723,7 @@
"fontSize": "12px",
"iconWidth": "24px",
"selectedColor": "#1B66FF",
"list": [
{
"list": [{
"pagePath": "pages/index/index",
"iconPath": "static/img/tabbar/home.png",
"selectedIconPath": "static/img/tabbar/homeactive.png",

View File

@@ -8,7 +8,7 @@
<view class="headd_left">
<u-icon name="search" color="#2297fa" size="24"></u-icon>
<input placeholder-class="search_style" type="text" confirm-type="搜索" v-model="keywords"
placeholder="搜任务/搜岗位/搜个体户招工/搜政策" />
placeholder="搜任务/搜岗位/搜政策" />
</view>
<view class="headd_right">
搜索

View File

@@ -93,22 +93,24 @@
</template>
<script>
import vTabs from '@/components/v-tabs/v-tabs.vue';
import testData from '@/common/textdata.js';
import companyList from '@/components/companyList/companyList.vue';
import workList from '@/components/companyList/workList.vue'
import {
import vTabs from '@/components/v-tabs/v-tabs.vue';
import testData from '@/common/textdata.js';
import companyList from '@/components/companyList/companyList.vue';
import workList from '@/components/companyList/workList.vue'
import {
newMissionAll,
recommendMission,
nearMission
} from '@/api/mission.js';
import { getPolicyContent } from '@/api/newIndex.js'
import {
} from '@/api/mission.js';
import {
getPolicyContent
} from '@/api/newIndex.js'
import {
getcoder
} from "@/api/map.js";
import verticalMenu from '@/components/vertical-menu/vertical-menu.vue';
} from "@/api/map.js";
import verticalMenu from '@/components/vertical-menu/vertical-menu.vue';
export default {
export default {
components: {
vTabs,
companyList,
@@ -151,14 +153,22 @@ export default {
nonReactiveArray: ["最新任务", "最新岗位", "政策资讯"],
}
},
onLoad: function (option) {
onLoad: function(option) {
if (option.tabIndex) {
this.activeTab = option.tabIndex
}
this.getData()
this.getPolicy()
},
onShow: function () {
onShow: function() {
const enumTitle = {
"0": '最新任务',
"1": '最新岗位',
"2": '最新政策',
}
uni.setNavigationBarTitle({
title: enumTitle[this.activeTab]
})
if (this.$store.state.user.token) {
this.$store.dispatch('refreshAuthState').then((e) => {
var auth = this.$store.state.auth
@@ -175,11 +185,11 @@ export default {
}
},
/*页面滚动到底部 换页*/
onReachBottom: function () {
onReachBottom: function() {
this.upLoad()
},
/*下拉刷新*/
onPullDownRefresh: function () {
onPullDownRefresh: function() {
if (!this.$store.state.user.token) {
uni.redirectTo({
url: "/pages/login/login"
@@ -197,7 +207,7 @@ export default {
content: `检查到您还未实名认证,实名认证之后才可进行操作哦`,
showCancel: false,
confirmText: '立即认证',
success: function (res) {
success: function(res) {
if (res.confirm) {
that.goSign(0)
} else if (res.cancel) {
@@ -213,17 +223,17 @@ export default {
url: `/pages/projectInfo/signContract?active=${active}`
})
},
goResume: function () {
goResume: function() {
uni.navigateTo({
url: '/pageMy/my/resume/addSkill'
})
},
/*定位*/
getLocation: function () {
getLocation: function() {
var that = this;
uni.getLocation({
type: 'gcj02',
success: function (res) {
success: function(res) {
that.currentPoint = {
latitude: res.latitude,
longitude: res.longitude
@@ -231,23 +241,23 @@ export default {
that.getAddrByPoint(res);
that.getNearList(that.currentPoint)
},
complete: function (e) { }
complete: function(e) {}
});
},
/*逆地址解析*/
getAddrByPoint: function (point) {
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({
url: '../seach/seach'
})
},
gomap: function () {
gomap: function() {
uni.navigateTo({
url: '../mapSeach/mapSeach'
})
@@ -257,11 +267,11 @@ export default {
this.policyContentList = res.data.data.records
})
},
changeTab: function (e) {
changeTab: function(e) {
this.activeTab = e;
},
//附近任务;
getNearList: function (point) {
getNearList: function(point) {
nearMission(this.nearPage.current, this.nearPage.size).then(res => {
if (this.nearPage.current === 1) {
this.companyList = [];
@@ -281,8 +291,7 @@ export default {
url: `/pages/user/policyContent?id=${data}`
})
}
else {
} else {
// uni.showToast({
// title:'暂无内容',
// icon:'none'
@@ -290,7 +299,7 @@ export default {
}
},
//推荐任务;
getRecommendList: function () {
getRecommendList: function() {
recommendMission(this.recommendPage.current, this.recommendPage.size, '').then(res => {
if (this.recommendPage.current === 1) {
this.recommendList = [];
@@ -303,7 +312,7 @@ export default {
})
},
//最新任务;
getNewList: function () {
getNewList: function() {
newMissionAll(this.newPage.current, this.newPage.size, '').then(res => {
if (this.newPage.current === 1) {
this.newList = [];
@@ -316,7 +325,7 @@ export default {
})
},
//上拉加载
upLoad: function () {
upLoad: function() {
if (this.activeTab === 0) {
if (this.nearPage.current <= Math.ceil(this.nearPage.total / this.nearPage.size)) {
this.getNearList(this.currentPoint);
@@ -329,7 +338,8 @@ export default {
return
}
if (this.activeTab === 1) {
if (this.recommendPage.current <= Math.ceil(this.recommendPage.total / this.recommendPage.size)) {
if (this.recommendPage.current <= Math.ceil(this.recommendPage.total / this.recommendPage
.size)) {
this.getRecommendList();
} else {
uni.showToast({
@@ -352,13 +362,13 @@ export default {
}
},
//下拉刷新
download: function () {
download: function() {
console.log(this.activeTab)
if (this.activeTab === '0') {
this.nearPage.current = 1;
console.log('123123')
this.getLocation();
setTimeout(function () {
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
return
@@ -366,7 +376,7 @@ export default {
if (this.activeTab === '1') {
this.recommendPage.current = 1;
this.getRecommendList();
setTimeout(function () {
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
return
@@ -374,13 +384,13 @@ export default {
if (this.activeTab === '2') {
this.newPage.current = 1;
this.getNewList();
setTimeout(function () {
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
return
}
},
getData: function () {
getData: function() {
if (!this.$store.state.user.token) {
uni.redirectTo({
url: "/pages/login/login"
@@ -401,39 +411,43 @@ export default {
closePopUp() {
this.showPopUp = false
},
subMitPopUp({ submitData, areaModal, industryModal }) {
subMitPopUp({
submitData,
areaModal,
industryModal
}) {
console.log(submitData, areaModal, industryModal, "------确定");
this.showPopUp = false
}
}
}
}
</script>
<style scoped>
.titleSearch {
.titleSearch {
display: flex;
width: 80%;
margin: 0 auto;
font-size: 22px;
font-weight: bold;
padding: 20rpx;
}
}
.searchName {
.searchName {
margin-right: 28rpx;
}
}
.content {
.content {
background-color: #f3f4f8;
padding-top: 20rpx;
min-height: 80vh;
}
}
.screenButton {
.screenButton {
/* position: absolute;
top: 10px;
z-index: 1;
@@ -444,34 +458,34 @@ export default {
line-height: 30px;
font-size: 14px;
background-color: #fff;
}
}
.typeButtonWrapper {
.typeButtonWrapper {
width: 92%;
margin: 0 auto;
display: flex;
justify-content: space-between;
/* margin-bottom: 10rpx; */
}
}
.typeButtonLeft {
.typeButtonLeft {
display: flex;
}
}
.typeButton {
.typeButton {
font-size: 14px;
padding: 10rpx 40rpx;
background: #fff;
border-radius: 50px;
margin-right: 10rpx;
}
}
.activeButton {
.activeButton {
color: #4171f9;
background-color: #cfdaf8;
}
}
.arrow-up-right {
.arrow-up-right {
width: 0;
height: 0;
border-left: 10px solid transparent;
@@ -482,28 +496,28 @@ export default {
top: 3px;
right: 3px;
}
}
.topseach {
.topseach {
width: 25px;
height: 25px;
position: absolute;
top: 10px;
right: 30rpx;
}
}
.location image:last-child {
.location image:last-child {
margin-left: auto;
}
}
.location image {
.location image {
width: 40rpx;
height: 40rpx;
margin-right: 10rpx;
}
}
.location {
.location {
padding: 20rpx 30rpx;
display: flex;
align-items: center;
@@ -511,9 +525,9 @@ export default {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #333333;
}
}
.btn {
.btn {
margin: 0 auto;
color: #999;
border: 1rpx solid #999;
@@ -524,34 +538,34 @@ export default {
width: 180rpx;
border-radius: 5rpx;
margin-top: 30rpx;
}
}
.nothing_text {
.nothing_text {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #666666;
text-align: center;
}
}
.nothingContnt {
.nothingContnt {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #333333;
margin-top: 30rpx;
text-align: center;
}
}
.nothing {
.nothing {
width: 400rpx;
height: 200rpx;
display: block;
margin: 0 auto;
margin-top: 300rpx;
}
}
.popUpWrapper {
.popUpWrapper {
width: 100%;
}
}
</style>

View File

@@ -3,7 +3,7 @@
<view class="titleSearch">
<view class="searchName"> </view>
<u-search placeholder="搜任务/搜岗位/搜个体户招工/搜政策" @focus="goSeach" shape="round" :showAction="false"></u-search>
<u-search placeholder="搜任务/搜岗位/搜政策" @focus="goSeach" shape="round" :showAction="false"></u-search>
</view>
<view class="navPosition" @click="navTo('/pages/project/projectList')">
<u-icon name="map" color="#2979ff" size="16"></u-icon>
@@ -102,27 +102,31 @@
</template>
<script>
import vTabs from '@/components/v-tabs/v-tabs.vue';
import testData from '@/common/textdata.js';
import companyList from '@/components/companyList/companyList.vue';
import workList from '@/components/companyList/workList.vue'
import userrecruitList from './userrecruitList.vue'
import {
import vTabs from '@/components/v-tabs/v-tabs.vue';
import testData from '@/common/textdata.js';
import companyList from '@/components/companyList/companyList.vue';
import workList from '@/components/companyList/workList.vue'
import userrecruitList from './userrecruitList.vue'
import {
newMissionAll,
recommendMission,
nearMission,
newMissionAllSearch,
recommendMissionSearch,
nearMissionSearch,
} from '@/api/mission.js';
import { getPolicyContent } from '@/api/newIndex.js'
import { getPushListByUserId } from '@/api/userrecruit.js'
import {
} from '@/api/mission.js';
import {
getPolicyContent
} from '@/api/newIndex.js'
import {
getPushListByUserId
} from '@/api/userrecruit.js'
import {
getcoder
} from "@/api/map.js";
import verticalMenu from '@/components/vertical-menu/vertical-menu.vue';
} from "@/api/map.js";
import verticalMenu from '@/components/vertical-menu/vertical-menu.vue';
export default {
export default {
components: {
vTabs,
companyList,
@@ -173,11 +177,11 @@ export default {
nonReactiveArray: ["推荐任务", "推荐岗位", "个体户招工"],
}
},
onLoad: function () {
onLoad: function() {
this.getData()
this.getPolicy()
},
onShow: function () {
onShow: function() {
if (this.$store.state.user.token) {
this.$store.dispatch('refreshAuthState').then((e) => {
var auth = this.$store.state.auth
@@ -194,11 +198,11 @@ export default {
}
},
/*页面滚动到底部 换页*/
onReachBottom: function () {
onReachBottom: function() {
this.upLoad()
},
/*下拉刷新*/
onPullDownRefresh: function () {
onPullDownRefresh: function() {
if (!this.$store.state.user.token) {
uni.redirectTo({
url: "/pages/login/login"
@@ -216,7 +220,7 @@ export default {
content: `检查到您还未实名认证,实名认证之后才可进行操作哦`,
showCancel: false,
confirmText: '立即认证',
success: function (res) {
success: function(res) {
if (res.confirm) {
that.goSign(0)
} else if (res.cancel) {
@@ -232,17 +236,17 @@ export default {
url: `/pages/projectInfo/signContract?active=${active}`
})
},
goResume: function () {
goResume: function() {
uni.navigateTo({
url: '/pageMy/my/resume/addSkill'
})
},
/*定位*/
getLocation: function () {
getLocation: function() {
var that = this;
uni.getLocation({
type: 'gcj02',
success: function (res) {
success: function(res) {
that.currentPoint = {
latitude: res.latitude,
longitude: res.longitude
@@ -250,23 +254,23 @@ export default {
that.getAddrByPoint(res);
that.getNearList(that.currentPoint)
},
complete: function (e) { }
complete: function(e) {}
});
},
/*逆地址解析*/
getAddrByPoint: function (point) {
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({
url: '../seach/seach'
})
},
gomap: function () {
gomap: function() {
uni.navigateTo({
url: '../mapSeach/mapSeach'
})
@@ -279,7 +283,12 @@ export default {
}
getPushListByUserId(params).then((res) => {
if (res.data.code === 200) {
const { records, current, total, size } = res.data.data
const {
records,
current,
total,
size
} = res.data.data
console.log('个体招工', records, current, total, size)
if (!records.length) {
return uni.showToast({
@@ -300,12 +309,12 @@ export default {
// this.policyContentList=res.data.data.records
// })
},
changeTab: function (e) {
changeTab: function(e) {
this.isSearch = false;
this.activeTab = e;
},
getNearList: function (point) {
getNearList: function(point) {
nearMission(this.nearPage.current, this.nearPage.size).then(res => {
if (this.nearPage.current === 1) {
@@ -327,8 +336,7 @@ export default {
url: `/pages/user/policyContent?id=${data}`
})
}
else {
} else {
// uni.showToast({
// title:'暂无内容',
// icon:'none'
@@ -336,7 +344,7 @@ export default {
}
},
//推荐岗位;
getRecommendList: function () {
getRecommendList: function() {
recommendMission(this.recommendPage.current, this.recommendPage.size, '').then(res => {
if (this.recommendPage.current === 1) {
this.recommendList = [];
@@ -351,7 +359,7 @@ export default {
})
},
//推荐任务;
getNewList: function () {
getNewList: function() {
newMissionAll(this.newPage.current, this.newPage.size, '').then(res => {
if (this.newPage.current === 1) {
this.newList = [];
@@ -365,7 +373,7 @@ export default {
})
},
//上拉加载
upLoad: function () {
upLoad: function() {
if (this.activeTab === 0) {
if (this.newPage.current <= Math.ceil(this.newPage.total / this.newPage.size)) {
@@ -416,14 +424,14 @@ export default {
}
},
//下拉刷新
download: function () {
download: function() {
this.isSearch = false;
if (this.activeTab === 0) {
this.nearPage.current = 1;
this.newPage.current = 1;
this.getLocation();
this.getNewList();
setTimeout(function () {
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
return
@@ -433,7 +441,7 @@ export default {
// this.getRecommendList();
this.nearPage.current === 1
this.getNearList();
setTimeout(function () {
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
return
@@ -441,13 +449,13 @@ export default {
if (this.activeTab === 2) {
this.policyPage.current = 1;
this.getPolicy()
setTimeout(function () {
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
return
}
},
getData: function () {
getData: function() {
if (!this.$store.state.user.token) {
uni.redirectTo({
url: "/pages/login/login"
@@ -468,8 +476,16 @@ export default {
closePopUp() {
this.showPopUp = false
},
subMitPopUp({ submitData, areaModal, industryModal }) {
this.searchData = { submitData, areaModal, industryModal }
subMitPopUp({
submitData,
areaModal,
industryModal
}) {
this.searchData = {
submitData,
areaModal,
industryModal
}
if (submitData || areaModal || industryModal) {
this.isSearch = true;
}
@@ -496,8 +512,12 @@ export default {
//个体户招工搜索;
getPolicySearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
getPolicySearch: function() {
const {
submitData,
areaModal,
industryModal
} = this.searchData;
nearMissionSearch(this.policyPage.current, this.policyPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
@@ -516,8 +536,12 @@ export default {
})
},
//推荐岗位搜索;
getNearListSearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
getNearListSearch: function() {
const {
submitData,
areaModal,
industryModal
} = this.searchData;
newMissionAllSearch(this.nearPage.current, this.nearPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
).then(res => {
@@ -532,8 +556,12 @@ export default {
})
},
//推荐任务搜索;
getNewListSearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
getNewListSearch: function() {
const {
submitData,
areaModal,
industryModal
} = this.searchData;
recommendMissionSearch(this.newPage.current, this.newPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
).then(res => {
@@ -549,11 +577,11 @@ export default {
})
},
}
}
}
</script>
<style scoped>
.navPosition {
.navPosition {
padding: 0 24rpx 20rpx 30rpx;
display: flex;
align-item: center;
@@ -562,32 +590,32 @@ export default {
.positionText {
margin: 0 10rpx;
}
}
}
.titleSearch {
.titleSearch {
display: flex;
width: 80%;
margin: 0 auto;
font-size: 22px;
font-weight: bold;
padding: 20rpx;
}
}
.searchName {
.searchName {
margin-right: 28rpx;
}
}
.content {
.content {
background-color: #f3f4f8;
padding-top: 20rpx;
min-height: 80vh;
}
}
.screenButton {
.screenButton {
/* position: absolute;
top: 10px;
z-index: 1;
@@ -598,36 +626,36 @@ export default {
line-height: 30px;
font-size: 14px;
background-color: #fff;
}
}
.typeButtonWrapper {
.typeButtonWrapper {
width: 92%;
margin: 0 auto;
display: flex;
justify-content: space-between;
/* margin-bottom: 10rpx; */
}
}
.typeButtonLeft {
.typeButtonLeft {
display: flex;
}
}
.typeButton {
.typeButton {
font-size: 14px;
padding: 10rpx 30rpx;
background: #fff;
border-radius: 50px;
margin-right: 10rpx;
white-space: nowrap;
}
}
.activeButton {
.activeButton {
color: #4171f9;
background-color: #cfdaf8;
}
}
.arrow-up-right {
.arrow-up-right {
width: 0;
height: 0;
border-left: 10px solid transparent;
@@ -638,28 +666,28 @@ export default {
top: 3px;
right: 3px;
}
}
.topseach {
.topseach {
width: 25px;
height: 25px;
position: absolute;
top: 10px;
right: 30rpx;
}
}
.location image:last-child {
.location image:last-child {
margin-left: auto;
}
}
.location image {
.location image {
width: 40rpx;
height: 40rpx;
margin-right: 10rpx;
}
}
.location {
.location {
padding: 20rpx 30rpx;
display: flex;
align-items: center;
@@ -667,9 +695,9 @@ export default {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #333333;
}
}
.btn {
.btn {
margin: 0 auto;
color: #999;
border: 1rpx solid #999;
@@ -680,34 +708,34 @@ export default {
width: 180rpx;
border-radius: 5rpx;
margin-top: 30rpx;
}
}
.nothing_text {
.nothing_text {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #666666;
text-align: center;
}
}
.nothingContnt {
.nothingContnt {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #333333;
margin-top: 30rpx;
text-align: center;
}
}
.nothing {
.nothing {
width: 400rpx;
height: 200rpx;
display: block;
margin: 0 auto;
margin-top: 300rpx;
}
}
.popUpWrapper {
.popUpWrapper {
width: 100%;
}
}
</style>

View File

@@ -3,7 +3,7 @@
<view class="titleSearch">
<view class="searchName"> </view>
<u-search placeholder="搜任务/搜岗位/搜个体户招工/搜政策" @focus="goSeach" shape="round" :showAction="false"></u-search>
<u-search placeholder="搜任务/搜岗位/搜政策" @focus="goSeach" shape="round" :showAction="false"></u-search>
</view>
<view class="navPosition" @click="navTo('/pages/project/projectList')">
<u-icon name="map" color="#2979ff" size="16"></u-icon>
@@ -102,27 +102,31 @@
</template>
<script>
import vTabs from '@/components/v-tabs/v-tabs.vue';
import testData from '@/common/textdata.js';
import companyList from '@/components/companyList/companyList.vue';
import workList from '@/components/companyList/workList.vue'
import userrecruitList from './userrecruitList.vue'
import {
import vTabs from '@/components/v-tabs/v-tabs.vue';
import testData from '@/common/textdata.js';
import companyList from '@/components/companyList/companyList.vue';
import workList from '@/components/companyList/workList.vue'
import userrecruitList from './userrecruitList.vue'
import {
newMissionAll,
recommendMission,
nearMission,
newMissionAllSearch,
recommendMissionSearch,
nearMissionSearch,
} from '@/api/mission.js';
import { getPolicyContent } from '@/api/newIndex.js'
import { getPushListByUserId } from '@/api/userrecruit.js'
import {
} from '@/api/mission.js';
import {
getPolicyContent
} from '@/api/newIndex.js'
import {
getPushListByUserId
} from '@/api/userrecruit.js'
import {
getcoder
} from "@/api/map.js";
import verticalMenu from '@/components/vertical-menu/vertical-menu.vue';
} from "@/api/map.js";
import verticalMenu from '@/components/vertical-menu/vertical-menu.vue';
export default {
export default {
components: {
vTabs,
companyList,
@@ -174,16 +178,24 @@ export default {
nonReactiveArray: ["推荐零工任务", "推荐企业岗位"],
}
},
onLoad: function () {
onLoad: function() {
this.getData()
// this.getPolicy()
},
onShow: function () {
onShow: function() {
switch (this.activeTab) {
case 0: this.getNewList(); break;
case 1: this.getNearList(); break;
case 2: this.getPolicy(); break;
default: this.getNewList(); break;
case 0:
this.getNewList();
break;
case 1:
this.getNearList();
break;
case 2:
this.getPolicy();
break;
default:
this.getNewList();
break;
}
if (this.$store.state.user.token) {
@@ -202,11 +214,11 @@ export default {
}
},
/*页面滚动到底部 换页*/
onReachBottom: function () {
onReachBottom: function() {
this.upLoad()
},
/*下拉刷新*/
onPullDownRefresh: function () {
onPullDownRefresh: function() {
if (!this.$store.state.user.token) {
uni.redirectTo({
url: "/pages/login/login"
@@ -224,7 +236,7 @@ export default {
content: `检查到您还未实名认证,实名认证之后才可进行操作哦`,
showCancel: false,
confirmText: '立即认证',
success: function (res) {
success: function(res) {
if (res.confirm) {
that.goSign(0)
} else if (res.cancel) {
@@ -240,17 +252,17 @@ export default {
url: `/pages/projectInfo/signContract?active=${active}`
})
},
goResume: function () {
goResume: function() {
uni.navigateTo({
url: '/pageMy/my/resume/addSkill'
})
},
/*定位*/
getLocation: function () {
getLocation: function() {
var that = this;
uni.getLocation({
type: 'gcj02',
success: function (res) {
success: function(res) {
that.currentPoint = {
latitude: res.latitude,
longitude: res.longitude
@@ -258,29 +270,29 @@ export default {
that.getAddrByPoint(res);
that.getNearList(that.currentPoint)
},
complete: function (e) { }
complete: function(e) {}
});
},
/*逆地址解析*/
getAddrByPoint: function (point) {
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({
url: '../seach/seach'
})
},
gomap: function () {
gomap: function() {
uni.navigateTo({
url: '../mapSeach/mapSeach'
})
},
changeTab: function (e) {
changeTab: function(e) {
this.isSearch = false;
this.activeTab = e;
},
@@ -293,8 +305,7 @@ export default {
url: `/pages/user/policyContent?id=${data}`
})
}
else {
} else {
// uni.showToast({
// title:'暂无内容',
// icon:'none'
@@ -310,7 +321,12 @@ export default {
}
getPushListByUserId(params).then((res) => {
if (res.data.code === 200) {
const { records, current, total, size } = res.data.data
const {
records,
current,
total,
size
} = res.data.data
console.log('个体招工', records, current, total, size)
if (!records.length) {
return uni.showToast({
@@ -332,7 +348,7 @@ export default {
// })
},
//推荐岗位;
getNearList: function (point) {
getNearList: function(point) {
nearMission(this.nearPage.current, this.nearPage.size).then(res => {
if (this.nearPage.current === 1) {
this.companyList = [];
@@ -346,7 +362,7 @@ export default {
},
//推荐任务;
getNewList: function () {
getNewList: function() {
newMissionAll(this.newPage.current, this.newPage.size, '').then(res => {
if (this.newPage.current === 1) {
this.newList = [];
@@ -360,7 +376,7 @@ export default {
})
},
//上拉加载
upLoad: function () {
upLoad: function() {
if (this.activeTab === 0) {
if (this.newPage.current <= Math.ceil(this.newPage.total / this.newPage.size)) {
@@ -410,14 +426,14 @@ export default {
}
},
//下拉刷新
download: function () {
download: function() {
this.isSearch = false;
if (this.activeTab === 0) {
this.nearPage.current = 1;
this.newPage.current = 1;
this.getLocation();
this.getNewList();
setTimeout(function () {
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
return
@@ -425,7 +441,7 @@ export default {
if (this.activeTab === 1) {
this.nearPage.current === 1
this.getNearList();
setTimeout(function () {
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
return
@@ -433,13 +449,13 @@ export default {
if (this.activeTab === 2) {
this.policyPage.current = 1;
this.getPolicy()
setTimeout(function () {
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
return
}
},
getData: function () {
getData: function() {
if (!this.$store.state.user.token) {
uni.redirectTo({
url: "/pages/login/login"
@@ -460,9 +476,17 @@ export default {
closePopUp() {
this.showPopUp = false
},
subMitPopUp({ submitData, areaModal, industryModal }) {
this.searchData = { submitData, areaModal, industryModal }
console.log(this.searchData,'------');
subMitPopUp({
submitData,
areaModal,
industryModal
}) {
this.searchData = {
submitData,
areaModal,
industryModal
}
console.log(this.searchData, '------');
if (submitData || areaModal || industryModal) {
this.isSearch = true;
}
@@ -489,8 +513,12 @@ export default {
//个体户招工搜索;
getPolicySearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
getPolicySearch: function() {
const {
submitData,
areaModal,
industryModal
} = this.searchData;
nearMissionSearch(this.policyPage.current, this.policyPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
).then(res => {
@@ -506,8 +534,12 @@ export default {
})
},
//推荐岗位搜索;
getNearListSearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
getNearListSearch: function() {
const {
submitData,
areaModal,
industryModal
} = this.searchData;
newMissionAllSearch(this.nearPage.current, this.nearPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
).then(res => {
@@ -522,8 +554,12 @@ export default {
})
},
//推荐任务搜索;
getNewListSearch: function () {
const { submitData, areaModal, industryModal } = this.searchData;
getNewListSearch: function() {
const {
submitData,
areaModal,
industryModal
} = this.searchData;
recommendMissionSearch(this.newPage.current, this.newPage.size, submitData["学历"],
submitData["工资"], industryModal?.industry, areaModal?.address1[0], areaModal?.address1[1]
).then(res => {
@@ -539,11 +575,11 @@ export default {
})
},
}
}
}
</script>
<style scoped>
.navPosition {
.navPosition {
padding: 0 24rpx 20rpx 30rpx;
display: flex;
align-item: center;
@@ -552,32 +588,32 @@ export default {
.positionText {
margin: 0 10rpx;
}
}
}
.titleSearch {
.titleSearch {
display: flex;
width: 80%;
margin: 0 auto;
font-size: 22px;
font-weight: bold;
padding: 20rpx;
}
}
.searchName {
.searchName {
margin-right: 28rpx;
}
}
.content {
.content {
background-color: #f3f4f8;
padding-top: 20rpx;
min-height: 80vh;
}
}
.screenButton {
.screenButton {
/* position: absolute;
top: 10px;
z-index: 1;
@@ -588,36 +624,36 @@ export default {
line-height: 30px;
font-size: 14px;
background-color: #fff;
}
}
.typeButtonWrapper {
.typeButtonWrapper {
width: 92%;
margin: 0 auto;
display: flex;
justify-content: space-between;
/* margin-bottom: 10rpx; */
}
}
.typeButtonLeft {
.typeButtonLeft {
display: flex;
}
}
.typeButton {
.typeButton {
font-size: 14px;
padding: 10rpx 30rpx;
background: #fff;
border-radius: 50px;
margin-right: 10rpx;
white-space: nowrap;
}
}
.activeButton {
.activeButton {
color: #4171f9;
background-color: #cfdaf8;
}
}
.arrow-up-right {
.arrow-up-right {
width: 0;
height: 0;
border-left: 10px solid transparent;
@@ -628,28 +664,28 @@ export default {
top: 3px;
right: 3px;
}
}
.topseach {
.topseach {
width: 25px;
height: 25px;
position: absolute;
top: 10px;
right: 30rpx;
}
}
.location image:last-child {
.location image:last-child {
margin-left: auto;
}
}
.location image {
.location image {
width: 40rpx;
height: 40rpx;
margin-right: 10rpx;
}
}
.location {
.location {
padding: 20rpx 30rpx;
display: flex;
align-items: center;
@@ -657,9 +693,9 @@ export default {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #333333;
}
}
.btn {
.btn {
margin: 0 auto;
color: #999;
border: 1rpx solid #999;
@@ -670,34 +706,34 @@ export default {
width: 180rpx;
border-radius: 5rpx;
margin-top: 30rpx;
}
}
.nothing_text {
.nothing_text {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #666666;
text-align: center;
}
}
.nothingContnt {
.nothingContnt {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #333333;
margin-top: 30rpx;
text-align: center;
}
}
.nothing {
.nothing {
width: 400rpx;
height: 200rpx;
display: block;
margin: 0 auto;
margin-top: 300rpx;
}
}
.popUpWrapper {
.popUpWrapper {
width: 100%;
}
}
</style>

View File

@@ -1,7 +1,7 @@
<template>
<view class="">
<view class="content">
<u--form labelPosition="left" :model="formData" :rules="rules" ref="uForm">
<u--form labelPosition="left" :model="formData" :rules="rules" ref="formOne">
<view class="card">
<view class="card_title">企业信息</view>
<u-form-item label="企业名称" labelWidth="100" prop="comname" borderBottom ref="item1">
@@ -40,7 +40,8 @@
</u-form-item>
<u-form-item label="企业介绍" labelWidth="100" labelPosition="top" prop="companyDesc" borderBottom
ref="item1">
<u--textarea v-model="formData.companyDesc" placeholder="请输入内容"></u--textarea>
<u--textarea v-model="formData.companyDesc" placeholder="请输入企业介绍" count
maxlength="200"></u--textarea>
</u-form-item>
</view>
<view class="card">
@@ -56,11 +57,18 @@
<view class="card">
<view class="card_title">相关资料</view>
<view class="card_content">
<u-form-item labelWidth="100" prop="identityUrl4Id">
<UploadIdNumber v-model="formData.identityUrl4Id" backImg="/static/img/idcard.png">
</UploadIdNumber>
</u-form-item>
<u-form-item labelWidth="100" prop="identityUrl5Id">
<UploadIdNumber v-model="formData.identityUrl5Id" backImg="/static/img/backidcard1.png">
</UploadIdNumber>
<UploadIdNumber v-model="formData.authUrlId" backImg="/static/img/idcard.png"></UploadIdNumber>
</u-form-item>
<u-form-item labelWidth="100" prop="authUrlId">
<UploadIdNumber v-model="formData.authUrlId" backImg="/static/img/idcard.png">
</UploadIdNumber>
</u-form-item>
</view>
</view>
@@ -80,10 +88,98 @@
import {
addInviteCompanyAuth
} from '@/api/userrecruit.js'
const rules = []
import {
mapState
} from 'vuex'
const rules = {
comname: {
type: 'string',
required: true,
message: '请输入企业名称',
trigger: ['change']
},
companyTid: {
type: 'string',
required: true,
message: '请输入统一信用代码',
trigger: ['change']
},
masterName: {
type: 'string',
required: true,
message: '请输入法人姓名',
trigger: ['change']
},
masterIdentity: {
type: 'string',
required: true,
pattern: /^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[Xx\d]$/,
message: '请输入法人身份证号',
trigger: ['change']
},
cityId: {
type: 'string',
required: true,
message: '请选择所在地区',
trigger: ['change']
},
companyAddress: {
type: 'string',
required: true,
message: '请输入详细地址',
trigger: ['change']
},
nature: {
type: 'string',
required: true,
message: '请选择企业性质',
trigger: ['change']
},
tradeId: {
type: 'string',
required: true,
message: '请选择行业',
trigger: ['change']
},
companyDesc: {
type: 'string',
min: 20,
required: true,
message: '请输入企业介绍最少20个字符',
trigger: ['change']
},
manager: {
type: 'string',
required: true,
message: '请输入联系人',
trigger: ['change']
},
telphone: {
type: 'string',
required: true,
pattern: /^1[3-9]{1}[0-9]{9}$/,
message: '请输入手机号码',
trigger: ['change']
},
identityUrl4Id: {
type: 'string',
required: true,
message: '请上传法人身份证(人像)',
trigger: ['change']
},
identityUrl5Id: {
type: 'string',
required: true,
message: '请上传法人身份证(国徽)',
trigger: ['change']
},
authUrlId: {
type: 'string',
required: true,
message: '请上传企业营业执照',
trigger: ['change']
},
}
export default {
components: {
UploadIdNumber,
@@ -108,28 +204,29 @@
created() {
this.formData.manager = this.authInfo.realName
this.formData.idNumber = this.authInfo.idNumber
console.log(this.authInfo)
console.log(this.userInfo)
},
methods: {
hideKeyboard() {
uni.hideKeyboard()
},
async submit() {
let data = {
...this.formData,
nature: Number(this.formData.nature),
cityId: Number(this.formData.cityId),
tradeId: Number(this.formData.tradeId),
}
let params = {
// auth: this.authInfo.authValue
}
let resData = await addInviteCompanyAuth({
params,
data
const _this = this
this.$refs.formOne.validate().then(res => {
_this.$api.msg('提交数据')
}).catch(errors => {
_this.$api.msg('请完善内容')
})
console.log(resData)
// let params = {
// ...this.formData,
// nature: Number(this.formData.nature),
// cityId: Number(this.formData.cityId),
// tradeId: Number(this.formData.tradeId),
// }
// let resData = await addInviteCompanyAuth(params)
// console.log(resData)
// if (resData.data.code === 200) {
// _this.$api.msg('已完成企业信息认证')
// }
},
reset() {
const _this = this

View File

@@ -5,8 +5,10 @@
<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>
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">
取消
@@ -20,7 +22,8 @@
<!-- <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;">
<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>
@@ -32,15 +35,18 @@
<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>
<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 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>
@@ -55,8 +61,8 @@
</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' />
<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">
@@ -120,11 +126,16 @@
</template>
<script>
import { newMissionAll, getSearchKeyWordsList, clearSearchKeyWords, getListByKeyWords } 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';
export default {
import {
newMissionAll,
getSearchKeyWordsList,
clearSearchKeyWords,
getListByKeyWords
} 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';
export default {
components: {
companyList,
vTabs,
@@ -146,16 +157,16 @@ export default {
searchResultList: []
};
},
onLoad: function (option) {
onLoad: function(option) {
this.keywords = option.keywords ? option.keywords : ''
},
onShow: function () {
onShow: function() {
this.getList('search');
this.getKeyWordsList()
},
/*页面滚动到底部*/
onReachBottom: function () {
onReachBottom: function() {
this.upLoad()
},
methods: {
@@ -181,7 +192,7 @@ export default {
getKeyWordsList() {
getSearchKeyWordsList().then(res => {
let response = res.data
if(response.code == 200) {
if (response.code == 200) {
this.searchHistoryList = response.data
}
})
@@ -193,7 +204,7 @@ export default {
this.getNewList();
},
//最新任务;
getList: function (type) {
getList: function(type) {
//改变搜索条件页码值变为1
if (type === 'search') {
this.page.current = 1;
@@ -221,7 +232,7 @@ export default {
},
//上拉加载
upLoad: function () {
upLoad: function() {
if (this.page.current <= Math.ceil(this.page.total / this.page.size)) {
this.getList();
} else {
@@ -244,7 +255,7 @@ export default {
*/
getInf(str, key) {
if (str && key) {
let replaceReg = new RegExp(key, 'g')// 匹配关键字正则
let replaceReg = new RegExp(key, 'g') // 匹配关键字正则
let replaceString = "<span style='color: #1b66ff;'>" + key + "</span>" // 高亮替换
return str.replace(replaceReg, replaceString);
}
@@ -253,48 +264,49 @@ export default {
toDetail(item) {
const no = item.id
// 判断是岗位还是任务 0任务1岗位2政策
if(item.type == 0) {
if (item.type == 0) {
uni.navigateTo({
url: `/pages/projectInfo/projectInfo?missionNo=${encodeURIComponent(no)}&isCan=1`
})
} else if(item.type == 1) {
} else if (item.type == 1) {
uni.navigateTo({
url: `/pages/projectInfo/workInfo?workId=${encodeURIComponent(no)}&isCan=1`
})
} else if(item.type == 2) {
} else if (item.type == 2) {
uni.navigateTo({
url:`/pages/user/policyContent?id=${no}`
url: `/pages/user/policyContent?id=${no}`
})
}
},
changeTab: function (e) {
changeTab: function(e) {
this.activeTab = e;
},
// 清空搜索历史
clearKeyWords() {
clearSearchKeyWords().then(res => {
if(res.data.code == 200) {
if (res.data.code == 200) {
this.getKeyWordsList()
}
})
}
}
};
};
</script>
<style scoped>
.mainWrapper{
.mainWrapper {
background-color: #f3f4f8;
min-height: 95vh;
}
.baddd {
}
.baddd {
background-color: #f6f6f6;
height: 20rpx;
}
}
.close {
.close {
position: absolute;
right: 24rpx;
top: 6rpx;
@@ -304,15 +316,15 @@ export default {
font-family: PingFangSC-Regular;
font-size: 32rpx;
color: #333333;
}
}
.headSearch .search-view {
.headSearch .search-view {
border-bottom: 1rpx solid #dddddd;
padding: 14rpx 32rpx;
background: rgba(255, 255, 255, 1);
}
}
.headSearch .search-item {
.headSearch .search-item {
display: flex;
padding: 0 10rpx;
height: 60rpx;
@@ -321,9 +333,9 @@ export default {
border-radius: 200px;
align-items: center;
border: 1px solid #0091ff;
}
}
.headSearch .search-item input {
.headSearch .search-item input {
padding: 0 24rpx;
height: 80rpx;
font-weight: 400;
@@ -332,42 +344,45 @@ export default {
font-size: 28rpx;
font-family: PingFang-SC-Bold, PingFang-SC;
color: rgba(51, 51, 51, 1);
}
}
.headSearch .search-item .placeholderClass {
.headSearch .search-item .placeholderClass {
color: #CCCCCC;
}
}
.headSearch .search-item image {
.headSearch .search-item image {
height: 32rpx;
width: 32rpx;
}
}
.nothing {
.nothing {
width: 400rpx;
height: 200rpx;
display: block;
margin: 0 auto;
margin-top: 50%;
}
}
.nothingContnt {
.nothingContnt {
font-family: PingFangSC-Regular;
font-size: 28rpx;
color: #333333;
margin-top: 30rpx;
text-align: center;
}
.search-history {
}
.search-history {
background-color: #fff;
padding: 10rpx 40rpx;
position: relative;
}
.search-history .title {
}
.search-history .title {
font-size: 28rpx;
font-weight: bold;
}
.search-history .clear {
}
.search-history .clear {
position: absolute;
right: 40rpx;
top: 10rpx;
@@ -375,37 +390,43 @@ export default {
display: flex;
align-items: center;
color: #707070;
}
.search-history .empty {
}
.search-history .empty {
font-size: 24rpx;
text-align: center;
color: #707070;
}
.search-history .wrapper {
}
.search-history .wrapper {
display: flex;
flex-wrap: wrap;
margin-top: 10rpx;
}
.search-history .wrapper .item {
}
.search-history .wrapper .item {
font-size: 24rpx;
background-color: #f6f6f6;
padding: 8rpx 12rpx;
border-radius: 20rpx;
margin-right: 10rpx;
}
.search-result {
}
.search-result {
padding: 20rpx 30rpx;
background-color: #fff;
height: 100vh;
}
.search-result .title {
}
.search-result .title {
font-size: 26rpx;
font-weight: bold;
border-bottom: 1rpx solid #ddd;
height: 60rpx;
line-height: 60rpx;
}
.search-result .search-item {
}
.search-result .search-item {
display: flex;
align-items: center;
font-size: 26rpx;
@@ -413,8 +434,9 @@ export default {
height: 80rpx;
line-height: 80rpx;
}
.search-result .search-item .type {
}
.search-result .search-item .type {
font-size: 20rpx;
color: #707070;
background-color: #dddddd;
@@ -422,5 +444,5 @@ export default {
height: 30rpx;
line-height: 30rpx;
padding: 0 20rpx;
}
}
</style>

View File

@@ -3,7 +3,7 @@ module.exports = {
port: 1887,
proxy: {
'/api': {
target: 'http://192.168.1.106:8000',
target: 'http://10.165.0.173:8000',
ws: true,
pathRewrite: {
'^/api': '/'