3 Commits

Author SHA1 Message Date
史典卓
1cd5363723 flat:暂存 2025-08-05 18:28:07 +08:00
史典卓
e698f0624f flat: yic 2025-05-06 16:13:25 +08:00
史典卓
23284483c4 flat: 赞存 2025-03-26 09:54:42 +08:00
14 changed files with 2639 additions and 2376 deletions

View File

@@ -33,8 +33,13 @@ export async function uploadFile(file) {
'Authorization': `Basic ${Base64.encode(`${website.clientId}:${website.clientSecret}`)}`, 'Authorization': `Basic ${Base64.encode(`${website.clientId}:${website.clientSecret}`)}`,
} }
header[website.tokenName] = "bearer " + token header[website.tokenName] = "bearer " + token
// 馆陶替换url
let url = `/api/jobslink-api/resource/file/save?bussinessType=5`
if (url.startsWith('/api')) {
url = url.replace(/^\/api/, '/api/gt');
}
uni.uploadFile({ uni.uploadFile({
url: `${baseUrl}/api/jobslink-api/resource/file/save?bussinessType=5`, url: baseUrl + url,
header, header,
filePath: file.url, filePath: file.url,
// formData: formdata, // formData: formdata,

View File

@@ -5,6 +5,7 @@
"versionName": "1.0.0", "versionName": "1.0.0",
"versionCode": "100", "versionCode": "100",
"transformPx": false, "transformPx": false,
"sassImplementationName": "node-sass",
"app-plus": { "app-plus": {
"usingComponents": true, "usingComponents": true,
"compilerVersion": 3, "compilerVersion": 3,

View File

@@ -79,7 +79,7 @@
{ {
"path": "pages/project/newProject", "path": "pages/project/newProject",
"style": { "style": {
"navigationBarTitleText": "馆陶县灵活就业平台", "navigationBarTitleText": "宜昌市灵活就业平台",
"navigationBarBackgroundColor": "#FFFFFF", "navigationBarBackgroundColor": "#FFFFFF",
"enablePullDownRefresh": true "enablePullDownRefresh": true
} }

View File

@@ -7,18 +7,29 @@
<!-- <image src="../../static/img/search.svg" style="width: 32rpx;height: 32rpx; color: blue;" mode=""></image> --> <!-- <image src="../../static/img/search.svg" style="width: 32rpx;height: 32rpx; color: blue;" mode=""></image> -->
<view class="headd_left"> <view class="headd_left">
<u-icon name="search" color="#2297fa" size="24"></u-icon> <u-icon name="search" color="#2297fa" size="24"></u-icon>
<input placeholder-class="search_style" type="text" confirm-type="搜索" v-model="keywords" <input
placeholder="搜零工岗位/搜全职岗位/搜政策" /> placeholder-class="search_style"
</view> type="text"
<view class="headd_right"> confirm-type="搜索"
搜索 v-model="keywords"
placeholder="搜零工岗位/搜全职岗位/搜政策"
/>
</view> </view>
<view class="headd_right">搜索</view>
</view> </view>
</uni-nav-bar> </uni-nav-bar>
<!-- <view class="homeHead"> --> <!-- <view class="homeHead"> -->
<view class="headSwiper"> <view class="headSwiper">
<swiper :indicator-dots="true" indicator-active-color="#fff" indicator-color="rgba(255,255,255,0.80)" <swiper
:autoplay="true" :interval="3000" :duration="1000" class="yswiper" :circular="true"> :indicator-dots="true"
indicator-active-color="#fff"
indicator-color="rgba(255,255,255,0.80)"
:autoplay="true"
:interval="3000"
:duration="1000"
class="yswiper"
:circular="true"
>
<swiper-item v-for="(item, index) in swiperList" :key="index" v-if="item.isShow !== '2'"> <swiper-item v-for="(item, index) in swiperList" :key="index" v-if="item.isShow !== '2'">
<view class="swiper-item"> <view class="swiper-item">
<image :src="item.image" mode="" class="swiperImg"></image> <image :src="item.image" mode="" class="swiperImg"></image>
@@ -31,18 +42,29 @@
<view class="policyImgIndex"> <view class="policyImgIndex">
<image src="../../static/img/index/newPolicy.png"></image> <image src="../../static/img/index/newPolicy.png"></image>
</view> </view>
<swiper style="width: 100%;height: 100rpx; line-height: 100rpx;margin-left: 164rpx;" <swiper
:indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000" :vertical="true" style="width: 100%; height: 100rpx; line-height: 100rpx; margin-left: 164rpx"
:circular="true"> :indicator-dots="true"
<swiper-item v-for="(item,index) in policyContentList" :key="index" :autoplay="true"
@click="goPolicyInfo(item.id)"> :interval="3000"
:duration="1000"
:vertical="true"
:circular="true"
>
<swiper-item
v-for="(item, index) in policyContentList"
:key="index"
@click="goPolicyInfo(item.id)"
>
<view class="swiper-item"> <view class="swiper-item">
<view class="policyText"> <view class="policyText">
<view class="textTitle">{{ item.articleTitle }}</view> <view class="textTitle">{{ item.articleTitle }}</view>
<view class="textDate">{{ dateFormat(item.createTime) }}</view> <view class="textDate">{{ dateFormat(item.createTime) }}</view>
<image src="../../static/img/right.svg" mode="" <image
style="width: 18rpx;height: 32rpx;position:absolute;top: 12rpx;right:0;"> src="../../static/img/right.svg"
</image> mode=""
style="width: 18rpx; height: 32rpx; position: absolute; top: 12rpx; right: 0"
></image>
</view> </view>
</view> </view>
</swiper-item> </swiper-item>
@@ -52,7 +74,6 @@
<!-- </view> --> <!-- </view> -->
</view> </view>
<view class="jobService"> <view class="jobService">
<view class="cardTips">就业服务</view> <view class="cardTips">就业服务</view>
<view class="serviceItem" @click="goures()"> <view class="serviceItem" @click="goures()">
@@ -176,7 +197,7 @@
</view> </view>
<view class="font24">就业帮助</view> <view class="font24">就业帮助</view>
</view> --> </view> -->
<view class="helpCardItem" style="border-right: 1px solid #F5F6F7;" @click=""> <view class="helpCardItem" style="border-right: 1px solid #f5f6f7" @click="">
<view class="cardItemIcon" @click="navTo('/pageMy/setUserBase/applicationsRecord')"> <view class="cardItemIcon" @click="navTo('/pageMy/setUserBase/applicationsRecord')">
<image src="../../static/img/index/legal.png" mode=""></image> <image src="../../static/img/index/legal.png" mode=""></image>
</view> </view>
@@ -203,27 +224,40 @@
</view> --> </view> -->
<view class="latestMission"> <view class="latestMission">
<view class="cardTips" <view
style="margin: 0 26rpx;display: flex;align-items: center;justify-content: space-between;padding-bottom: 10rpx;"> class="cardTips"
style="
margin: 0 26rpx;
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 10rpx;
"
>
<view>政策资讯</view> <view>政策资讯</view>
<view style="display: flex;align-items: center;" @click="toNewProject"> <view style="display: flex; align-items: center" @click="toNewProject">
<view style="color:#707070;font-size:26rpx;margin-right: 10rpx;">更多</view> <view style="color: #707070; font-size: 26rpx; margin-right: 10rpx">更多</view>
<image src="../../static/img/right.svg" mode="" style="width: 14rpx;height: 26rpx;"></image> <image src="../../static/img/right.svg" mode="" style="width: 14rpx; height: 26rpx"></image>
</view> </view>
</view> </view>
<view class="newPeojectList"> <view class="newPeojectList">
<!-- <block v-if="companyList.length>0" v-for="(item, index) in companyList" :key="item.id"> <!-- <block v-if="companyList.length>0" v-for="(item, index) in companyList" :key="item.id">
<view class="baddd"></view> <view class="baddd"></view>
<company-list :companyitem="item"></company-list> <company-list :companyitem="item"></company-list>
</block> --> </block> -->
<view style="background-color: #fff;padding: 20rpx 30rpx;"> <view style="background-color: #fff; padding: 20rpx 30rpx">
<view v-for="(item,index) in policyContentList" :key="index" <view
style="display: flex;align-items: center;padding: 20rpx 0;" @click="toArticleDetail(item.id)"> v-for="(item, index) in policyContentList"
<image :src="item.headPic" :key="index"
style="width: 80rpx;height: 80rpx;margin-right: 20rpx;border-radius: 10rpx;" mode=""> style="display: flex; align-items: center; padding: 20rpx 0"
</image> @click="toArticleDetail(item.id)"
<view style="flex: 1; font-size: 28rpx;">{{ item.articleTitle }}</view> >
<image
:src="item.headPic"
style="width: 80rpx; height: 80rpx; margin-right: 20rpx; border-radius: 10rpx"
mode=""
></image>
<view style="flex: 1; font-size: 28rpx">{{ item.articleTitle }}</view>
</view> </view>
</view> </view>
<view v-if="policyContentList.length <= 0"> <view v-if="policyContentList.length <= 0">
@@ -232,10 +266,9 @@
<view class="baddd"></view> <view class="baddd"></view>
</view> </view>
</view> </view>
</view> </view>
<view class="homeFooter"> <view class="homeFooter">
<view class="atBottom">馆陶县人力资源和社会保障局主办</view> <view class="atBottom">宜昌市人力资源和社会保障局主办</view>
<!-- <image src="../../static/img/index/seeMore.png" mode="" @click="goMore()"></image> --> <!-- <image src="../../static/img/index/seeMore.png" mode="" @click="goMore()"></image> -->
</view> </view>
<policy-content ref="pContent"></policy-content> <policy-content ref="pContent"></policy-content>
@@ -246,37 +279,20 @@
import uniNavBar from '@/components/uni-nav-bar/uni-nav-bar.vue'; import uniNavBar from '@/components/uni-nav-bar/uni-nav-bar.vue';
import uniSearchBar from '@/components/uni-search-bar/uni-search-bar.vue'; import uniSearchBar from '@/components/uni-search-bar/uni-search-bar.vue';
import companyList from '@/components/companyList/companyList.vue'; import companyList from '@/components/companyList/companyList.vue';
import policyContent from '../user/policyContent.vue' import policyContent from '../user/policyContent.vue';
import { import { labourUnionDetail } from '@/api/federation.js';
labourUnionDetail import { newMission, recMission } from '@/api/mission.js';
} from '@/api/federation.js' import { mapGetters } from 'vuex';
import { import { setStore, getStore } from '@/untils/store.js';
newMission, import { getSwiperList, getPolicyContent } from '@/api/newIndex.js';
recMission import { myResume } from '@/api/resume.js';
} from '@/api/mission.js'; import { dateFormat } from '../../untils/format.js';
import {
mapGetters
} from 'vuex'
import {
setStore,
getStore
} from '@/untils/store.js'
import {
getSwiperList,
getPolicyContent
} from '@/api/newIndex.js'
import {
myResume,
} from '@/api/resume.js';
import {
dateFormat
} from "../../untils/format.js";
export default { export default {
components: { components: {
uniNavBar, uniNavBar,
uniSearchBar, uniSearchBar,
companyList, companyList,
policyContent policyContent,
}, },
data() { data() {
return { return {
@@ -292,44 +308,41 @@
isResume: true, isResume: true,
}; };
}, },
onLoad: function(options) { onLoad: function (options) {},
},
onShow: function () { onShow: function () {
if (!this.$store.state.user.token) { if (!this.$store.state.user.token) {
uni.reLaunch({ uni.reLaunch({
url: '/pages/login/login' url: '/pages/login/login',
}) });
return return;
} }
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) {
this.step() this.step();
} }
}) });
this.download() this.download();
this.getSwiperList() this.getSwiperList();
this.getPolicy() this.getPolicy();
if (this.isResume) { if (this.isResume) {
this.isResume = false this.isResume = false;
myResume().then(res => { myResume().then((res) => {
const data = res.data.data const data = res.data.data;
if (!(data.education && data.telephone && data.wage && data.workplace)) { if (!(data.education && data.telephone && data.wage && data.workplace)) {
this.goures() this.goures();
this.$api.sleep(1000).then(() => { this.$api.sleep(1000).then(() => {
this.$api.msg('请输入基本信息') this.$api.msg('请输入基本信息');
}) });
} }
}) });
} }
}, },
onReady() { onReady() {
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: this.face.homeTitle title: this.face.homeTitle,
}); });
}, },
/*下拉刷新*/ /*下拉刷新*/
onPullDownRefresh: function () { onPullDownRefresh: function () {
@@ -339,38 +352,39 @@
}, 1000); }, 1000);
}, },
computed: { computed: {
...mapGetters(['face', 'authInfo']) ...mapGetters(['face', 'authInfo']),
}, },
onShareAppMessage(obj) { onShareAppMessage(obj) {
return { return {
title: '智慧就业', title: '智慧就业',
path: '/pages/index/index', path: '/pages/index/index',
} };
}, },
methods: { methods: {
getPolicy() { getPolicy() {
getPolicyContent(this.policyType).then(res => { getPolicyContent(this.policyType).then((res) => {
this.policyContentList = res.data.data.records this.policyContentList = res.data.data.records;
}) });
}, },
swiperItemSrc() { swiperItemSrc() {
/* /*
查看是否加入工会 查看是否加入工会
加入数据记录长度不为0 加入数据记录长度不为0
*/ */
labourUnionDetail(this.authInfo.idNumber).then(res => { labourUnionDetail(this.authInfo.idNumber).then((res) => {
const data = res.data.data.records; const data = res.data.data.records;
if (data.length == 0) { //未查到数据,代表未加入工会 if (data.length == 0) {
//未查到数据,代表未加入工会
this.go('/pageMy/federation/forMembership/Notice'); this.go('/pageMy/federation/forMembership/Notice');
} else { } else {
this.go('/pageMy/federation/vip/information'); this.go('/pageMy/federation/vip/information');
} }
}) });
}, },
step() { step() {
var that = this var that = this;
that.open = true that.open = true;
uni.showModal({ uni.showModal({
id: 'testModal', id: 'testModal',
title: '实名认证', title: '实名认证',
@@ -379,37 +393,37 @@
confirmText: '立即认证', confirmText: '立即认证',
success: function (res) { success: function (res) {
if (res.confirm) { if (res.confirm) {
that.goSign(0) that.goSign(0);
} else if (res.cancel) { } else if (res.cancel) {
that.step() that.step();
}
that.open = false
} }
that.open = false;
},
}); });
}, },
// 步骤 // 步骤
goSign(active) { goSign(active) {
uni.navigateTo({ uni.navigateTo({
url: `/pages/projectInfo/signContract?active=${active}` url: `/pages/projectInfo/signContract?active=${active}`,
}) });
}, },
go(url) { go(url) {
uni.navigateTo({ uni.navigateTo({
url url,
}) });
}, },
download: function () { download: function () {
this.isLogin = this.$store.state.user.token ? true : false; this.isLogin = this.$store.state.user.token ? 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.$store.state.user.token) {
uni.$emit('newsReadChange') uni.$emit('newsReadChange');
this.$store.dispatch("getUnreadNum"); this.$store.dispatch('getUnreadNum');
recMission().then(res => { recMission().then((res) => {
this.recommendList = res.data.data; this.recommendList = res.data.data;
}) });
}; }
}, },
goLocation: function () { goLocation: function () {
if (!this.$store.state.user.token) { if (!this.$store.state.user.token) {
@@ -419,23 +433,23 @@
success: function (res) { success: function (res) {
if (res.confirm) { if (res.confirm) {
uni.redirectTo({ uni.redirectTo({
url: "/pages/login/login" url: '/pages/login/login',
}); });
} else if (res.cancel) { } else if (res.cancel) {
return return;
}
} }
},
}); });
} else { } else {
uni.navigateTo({ uni.navigateTo({
url: '../mapSeach/mapSeach' url: '../mapSeach/mapSeach',
}); });
} }
}, },
goResume: function () { goResume: function () {
uni.navigateTo({ uni.navigateTo({
url: '/pageMy/my/resume/addSkill' url: '/pageMy/my/resume/addSkill',
}) });
}, },
goMore: function () { goMore: function () {
uni.setStorageSync('active', 2); uni.setStorageSync('active', 2);
@@ -451,39 +465,39 @@
success: function (res) { success: function (res) {
if (res.confirm) { if (res.confirm) {
uni.redirectTo({ uni.redirectTo({
url: "/pages/login/login" url: '/pages/login/login',
}); });
} else if (res.cancel) { } else if (res.cancel) {
return return;
}
} }
},
}); });
} else { } else {
uni.navigateTo({ uni.navigateTo({
url: '/pageMy/my/resume/index' url: '/pageMy/my/resume/index',
}); });
} }
}, },
toNewTask() { toNewTask() {
uni.navigateTo({ uni.navigateTo({
url: `/pages/project/newProject?tabIndex=${0}` url: `/pages/project/newProject?tabIndex=${0}`,
}); });
}, },
toNewWork() { toNewWork() {
uni.navigateTo({ uni.navigateTo({
url: `/pages/project/newProject?tabIndex=${1}` url: `/pages/project/newProject?tabIndex=${1}`,
}); });
}, },
toNewProject() { toNewProject() {
uni.navigateTo({ uni.navigateTo({
url: `/pages/project/newProject?tabIndex=${2}` url: `/pages/project/newProject?tabIndex=${2}`,
}); });
}, },
toArticleDetail(id) { toArticleDetail(id) {
if (id) { if (id) {
uni.navigateTo({ uni.navigateTo({
url: `/pages/user/policyContent?id=${id}` url: `/pages/user/policyContent?id=${id}`,
}) });
} }
}, },
gouserSet: function () { gouserSet: function () {
@@ -494,16 +508,16 @@
success: function (res) { success: function (res) {
if (res.confirm) { if (res.confirm) {
uni.redirectTo({ uni.redirectTo({
url: "/pages/login/login" url: '/pages/login/login',
}); });
} else if (res.cancel) { } else if (res.cancel) {
return return;
}
} }
},
}); });
} else { } else {
uni.navigateTo({ uni.navigateTo({
url: '/pageMy/setUserBase/index' url: '/pageMy/setUserBase/index',
}); });
} }
}, },
@@ -515,27 +529,27 @@
success: function (res) { success: function (res) {
if (res.confirm) { if (res.confirm) {
uni.redirectTo({ uni.redirectTo({
url: '/pages/login/login' url: '/pages/login/login',
}) });
} else if (res.cancel) { } else if (res.cancel) {
return return;
}
} }
},
}); });
} else { } else {
// if (this.keywords) { // if (this.keywords) {
uni.navigateTo({ uni.navigateTo({
url: '../seach/seach?keywords=' + this.keywords url: '../seach/seach?keywords=' + this.keywords,
}); });
this.keywords = '' this.keywords = '';
// } // }
} }
}, },
getSwiperList() { getSwiperList() {
getSwiperList(this.swiperType).then(res => { getSwiperList(this.swiperType).then((res) => {
const data = res.data.data; const data = res.data.data;
this.swiperList = data; this.swiperList = data;
}) });
}, },
dateFormat, dateFormat,
@@ -544,17 +558,16 @@
// var val=encodeURIComponent(data) // var val=encodeURIComponent(data)
uni.navigateTo({ uni.navigateTo({
url: `/pages/user/policyContent?id=${data}` url: `/pages/user/policyContent?id=${data}`,
}) });
} else { } else {
// uni.showToast({ // uni.showToast({
// title:'暂无内容', // title:'暂无内容',
// icon:'none' // icon:'none'
// }) // })
} }
} },
} },
}; };
</script> </script>
@@ -562,7 +575,7 @@
.info_market { .info_market {
margin: 24rpx; margin: 24rpx;
height: fit-content; height: fit-content;
background-color: #FFFFFE; background-color: #fffffe;
border-radius: 18rpx; border-radius: 18rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -582,12 +595,11 @@
background-size: cover; background-size: cover;
height: 60rpx; height: 60rpx;
width: 450rpx; width: 450rpx;
} }
.next_market { .next_market {
font-size: 26rpx; font-size: 26rpx;
color: #FFFFFF; color: #ffffff;
background: linear-gradient(to right, rgba(137, 168, 253, 1), rgba(87, 129, 250, 1)); background: linear-gradient(to right, rgba(137, 168, 253, 1), rgba(87, 129, 250, 1));
width: 120rpx; width: 120rpx;
height: 60rpx; height: 60rpx;
@@ -608,12 +620,11 @@
view { view {
display: flex; display: flex;
} }
} }
} }
.home_logo { .home_logo {
background: url(@/static/img/index/inLogo.png) no-repeat center center; background: url(@/static/img/index/inLogo3.png) no-repeat center center;
background-size: cover; background-size: cover;
height: 76rpx; height: 76rpx;
width: 560rpx; width: 560rpx;
@@ -637,14 +648,14 @@
} }
page { page {
background: #F5F6F7; background: #f5f6f7;
padding: 0 !important; padding: 0 !important;
} }
.homeHead { .homeHead {
width: 100%; width: 100%;
height: auto; height: auto;
background-color: #FFFFFF; background-color: #ffffff;
margin-top: -20rpx; margin-top: -20rpx;
padding-bottom: 32rpx; padding-bottom: 32rpx;
} }
@@ -687,7 +698,6 @@
width: 4rpx; width: 4rpx;
height: 30rpx; height: 30rpx;
background-color: #2297fa; background-color: #2297fa;
} }
} }
@@ -725,14 +735,13 @@
.newPolicy { .newPolicy {
width: 690rpx; width: 690rpx;
height: 100rpx; height: 100rpx;
background: #FEFFFE; background: #fefffe;
box-shadow: 0rpx 2rpx 20rpx 0rpx rgba(0, 0, 0, 0.06); box-shadow: 0rpx 2rpx 20rpx 0rpx rgba(0, 0, 0, 0.06);
border-radius: 16rpx; border-radius: 16rpx;
margin: 0 auto; margin: 0 auto;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
} }
.newPolicy .policyContent { .newPolicy .policyContent {
@@ -743,7 +752,6 @@
} }
.swiper-item { .swiper-item {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
@@ -796,13 +804,12 @@
.jobService { .jobService {
width: 100%; width: 100%;
height: 440rpx; height: 440rpx;
background: #FEFFFE; background: #fefffe;
// margin-top: 16rpx; // margin-top: 16rpx;
padding: 24rpx 0rpx 0rpx 32rpx; padding: 24rpx 0rpx 0rpx 32rpx;
} }
.cardTips { .cardTips {
height: 50rpx; height: 50rpx;
font-size: 36rpx; font-size: 36rpx;
font-family: PingFangSC-Semibold, PingFang SC; font-family: PingFangSC-Semibold, PingFang SC;
@@ -815,13 +822,12 @@
.serviceItem { .serviceItem {
width: 338rpx; width: 338rpx;
height: 168rpx; height: 168rpx;
background: #FEFFFE; background: #fefffe;
box-shadow: 0rpx 2rpx 20rpx 0rpx rgba(0, 0, 0, 0.06); box-shadow: 0rpx 2rpx 20rpx 0rpx rgba(0, 0, 0, 0.06);
border-radius: 8rpx; border-radius: 8rpx;
float: left; float: left;
margin-right: 8rpx; margin-right: 8rpx;
margin-bottom: 8rpx; margin-bottom: 8rpx;
} }
.serviceItem .serviceItemContent { .serviceItem .serviceItemContent {
@@ -837,12 +843,11 @@
margin-left: 16rpx; margin-left: 16rpx;
} }
.hotFunction { .hotFunction {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #FFFFFF; color: #ffffff;
position: absolute; position: absolute;
top: 0; top: 0;
right: 0; right: 0;
@@ -862,7 +867,6 @@
border-radius: 16rpx; border-radius: 16rpx;
} }
.serviceItem .itemIcon image, .serviceItem .itemIcon image,
.serviceItem .itemIcon { .serviceItem .itemIcon {
width: 84rpx; width: 84rpx;
@@ -883,13 +887,12 @@
font-family: PingFangSC-Semibold, PingFang SC; font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600; font-weight: 600;
color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);
} }
.helpSupport { .helpSupport {
width: 100%; width: 100%;
height: auto; height: auto;
background: #FEFFFE; background: #fefffe;
padding: 24rpx 0rpx 36rpx 32rpx; padding: 24rpx 0rpx 36rpx 32rpx;
margin-top: 16rpx; margin-top: 16rpx;
} }
@@ -897,7 +900,7 @@
.helpCard { .helpCard {
width: 690rpx; width: 690rpx;
height: 144rpx; height: 144rpx;
background: #FEFFFF; background: #feffff;
box-shadow: 0rpx 2rpx 20rpx 0rpx rgba(0, 0, 0, 0.06); box-shadow: 0rpx 2rpx 20rpx 0rpx rgba(0, 0, 0, 0.06);
border-radius: 8px; border-radius: 8px;
display: flex; display: flex;
@@ -930,10 +933,9 @@
.latestMission { .latestMission {
width: 100%; width: 100%;
height: auto; height: auto;
background: #FEFFFE; background: #fefffe;
margin-top: 16rpx; margin-top: 16rpx;
padding: 24rpx 0 0 0; padding: 24rpx 0 0 0;
} }
.baddd { .baddd {
@@ -976,7 +978,6 @@
line-height: 80rpx; line-height: 80rpx;
text-align: center; text-align: center;
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
.homeFooter image { .homeFooter image {

View File

@@ -31,13 +31,14 @@
</view> </view>
<view class="conatiner_card"> <view class="conatiner_card">
<view class="row blod fs_34">馆陶县智慧就业市场</view> <view class="row blod fs_34">宜昌市智慧就业市场</view>
<view class="row color_666 fs_30 marT_30"> <view class="row color_666 fs_30 marT_30">
<u-icon style="margin-right: 10rpx;" name="calendar" color="#666666" size="16"></u-icon>营业时间 <u-icon style="margin-right: 10rpx" name="calendar" color="#666666" size="16"></u-icon>
营业时间
</view> </view>
<view class="row color_666 fs_30">上午9:00-12:00 下午14:00-18:00</view> <view class="row color_666 fs_30">上午9:00-12:00 下午14:00-18:00</view>
<view class="row color_666 fs_30 marT_30"> <view class="row color_666 fs_30 marT_30">
<u-icon style="margin-right: 10rpx;" name="map" color="#666666" size="16"></u-icon> <u-icon style="margin-right: 10rpx" name="map" color="#666666" size="16"></u-icon>
四川省德阳市旌阳区天山南路1段108号 四川省德阳市旌阳区天山南路1段108号
<!-- <u-icon style="margin-left: 10rpx;" name="arrow-right" color="#666666" size="16"></u-icon> --> <!-- <u-icon style="margin-left: 10rpx;" name="arrow-right" color="#666666" size="16"></u-icon> -->
</view> </view>
@@ -66,19 +67,15 @@
<script> <script>
export default { export default {
data() { data() {
return { return {};
}
}, },
methods: { methods: {},
};
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@function designTo($num) { @function designTo($num) {
@return ($num / 620rpx) * 750rpx @return ($num / 620rpx) * 750rpx;
} }
@for $i from 10 to 60 { @for $i from 10 to 60 {
@@ -113,7 +110,7 @@
.container_head { .container_head {
min-height: 300rpx; min-height: 300rpx;
padding: 28rpx; padding: 28rpx;
background: linear-gradient(to bottom, rgba(69, 112, 250, 1), rgba(69, 112, 250, .0)); background: linear-gradient(to bottom, rgba(69, 112, 250, 1), rgba(69, 112, 250, 0));
.row { .row {
display: flex; display: flex;
@@ -121,12 +118,13 @@
justify-content: space-between; justify-content: space-between;
.head_left { .head_left {
color: #FFFFFF; color: #ffffff;
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
flex-direction: column; flex-direction: column;
.left_title {} .left_title {
}
.left_content { .left_content {
height: designTo(87rpx); height: designTo(87rpx);
@@ -173,7 +171,7 @@
.conatiner_card { .conatiner_card {
margin: 28rpx; margin: 28rpx;
background-color: #FFFFFF; background-color: #ffffff;
height: fit-content; height: fit-content;
border-radius: 20rpx; border-radius: 20rpx;
padding: designTo(28rpx); padding: designTo(28rpx);
@@ -198,7 +196,7 @@
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
align-items: center; align-items: center;
background-color: #FFFFFF; background-color: #ffffff;
height: designTo(108rpx); height: designTo(108rpx);
padding: 0 28rpx designTo(30rpx) 28rpx; padding: 0 28rpx designTo(30rpx) 28rpx;
@@ -210,7 +208,7 @@
} }
.chioe_btn { .chioe_btn {
color: #FFFFFF; color: #ffffff;
background: linear-gradient(to right, #fbaf1a, #fbaf1a); background: linear-gradient(to right, #fbaf1a, #fbaf1a);
height: designTo(66rpx); height: designTo(66rpx);
width: designTo(228rpx); width: designTo(228rpx);

View File

@@ -12,7 +12,7 @@
</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 File

@@ -16,33 +16,84 @@
<u-form-item label="法人身份证号" labelWidth="100" prop="masterIdentity" borderBottom ref="item1"> <u-form-item label="法人身份证号" labelWidth="100" prop="masterIdentity" borderBottom ref="item1">
<u--input v-model="formData.masterIdentity" placeholder="请输入法人身份证号"></u--input> <u--input v-model="formData.masterIdentity" placeholder="请输入法人身份证号"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="所在地区" labelWidth="100" prop="cityId" borderBottom ref="item1" <u-form-item
@click="showAddress = true; hideKeyboard()"> label="所属机构"
<PickerList placeholder="请选择所在地区" :columns="dic.addressColumn" :visibel="showAddress" labelWidth="100"
v-model="formData.cityId" @cancel="showAddress = false"> prop="cityId"
</PickerList> borderBottom
ref="item1"
@click="
showAddress = true;
hideKeyboard();
"
>
<PickerList
placeholder="请选择所属机构"
:columns="dic.addressColumn"
:visibel="showAddress"
v-model="formData.cityId"
@cancel="showAddress = false"
></PickerList>
</u-form-item> </u-form-item>
<u-form-item label="详细地址" labelWidth="100" prop="companyAddress" borderBottom ref="item1"> <u-form-item label="详细地址" labelWidth="100" prop="companyAddress" borderBottom ref="item1">
<u--input v-model="formData.companyAddress" placeholder="请输入详细地址"></u--input> <u--input v-model="formData.companyAddress" placeholder="请输入详细地址"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="用工单位性质" labelWidth="100" prop="nature" borderBottom ref="item1" <u-form-item
@click="showJobCompanyNature = true; hideKeyboard()"> label="用工单位性质"
<PickerList placeholder="请选择企业性质" :columns="[xzDic]" :visibel="showJobCompanyNature" labelWidth="100"
labelName="dictValue" valueName="dictKey" v-model="formData.nature" prop="nature"
@cancel="showJobCompanyNature = false"> borderBottom
</PickerList> ref="item1"
@click="
showJobCompanyNature = true;
hideKeyboard();
"
>
<PickerList
placeholder="请选择企业性质"
:columns="[xzDic]"
:visibel="showJobCompanyNature"
labelName="dictValue"
valueName="dictKey"
v-model="formData.nature"
@cancel="showJobCompanyNature = false"
></PickerList>
</u-form-item> </u-form-item>
<u-form-item label="所属行业" labelWidth="100" prop="tradeId" borderBottom ref="item1" <u-form-item
@click="showjobCompanyIndustry = true; hideKeyboard()"> label="所属行业"
<PickerList placeholder="请选择所属行业" :columns="dic.tradeArr" labelName="name" valueName="id" labelWidth="100"
:visibel="showjobCompanyIndustry" v-model="formData.tradeId" prop="tradeId"
@cancel="showjobCompanyIndustry = false"> borderBottom
</PickerList> ref="item1"
@click="
showjobCompanyIndustry = true;
hideKeyboard();
"
>
<PickerList
placeholder="请选择所属行业"
:columns="dic.tradeArr"
labelName="name"
valueName="id"
:visibel="showjobCompanyIndustry"
v-model="formData.tradeId"
@cancel="showjobCompanyIndustry = false"
></PickerList>
</u-form-item> </u-form-item>
<u-form-item label="用工单位介绍" labelWidth="100" labelPosition="top" prop="companyDesc" borderBottom <u-form-item
ref="item1"> label="用工单位介绍"
<u--textarea v-model="formData.companyDesc" placeholder="请输入用工单位介绍" count labelWidth="100"
maxlength="200"></u--textarea> labelPosition="top"
prop="companyDesc"
borderBottom
ref="item1"
>
<u--textarea
v-model="formData.companyDesc"
placeholder="请输入用工单位介绍"
count
maxlength="200"
></u--textarea>
</u-form-item> </u-form-item>
</view> </view>
<view class="card"> <view class="card">
@@ -59,17 +110,23 @@
<view class="card_title">证件资料</view> <view class="card_title">证件资料</view>
<view class="card_content"> <view class="card_content">
<u-form-item labelWidth="100" prop="identityUrl4Id"> <u-form-item labelWidth="100" prop="identityUrl4Id">
<UploadIdNumber v-model="formData.identityUrl4Id" contentStyle="marginTop: 30rpx" <UploadIdNumber
backImg="/static/img/idcard.png"> v-model="formData.identityUrl4Id"
</UploadIdNumber> contentStyle="marginTop: 30rpx"
backImg="/static/img/idcard.png"
></UploadIdNumber>
</u-form-item> </u-form-item>
<u-form-item labelWidth="100" prop="identityUrl5Id"> <u-form-item labelWidth="100" prop="identityUrl5Id">
<UploadIdNumber v-model="formData.identityUrl5Id" backImg="/static/img/backidcard1.png"> <UploadIdNumber
</UploadIdNumber> v-model="formData.identityUrl5Id"
backImg="/static/img/backidcard1.png"
></UploadIdNumber>
</u-form-item> </u-form-item>
<u-form-item labelWidth="100" prop="authUrlId"> <u-form-item labelWidth="100" prop="authUrlId">
<UploadIdNumber v-model="formData.authUrlId" backImg="/static/img/businessLicense.jpg"> <UploadIdNumber
</UploadIdNumber> v-model="formData.authUrlId"
backImg="/static/img/businessLicense.jpg"
></UploadIdNumber>
</u-form-item> </u-form-item>
</view> </view>
</view> </view>
@@ -85,22 +142,16 @@
<script> <script>
import UploadIdNumber from './uploadIdNumber.vue'; import UploadIdNumber from './uploadIdNumber.vue';
import dic from '@/common/dic.js' import dic from '@/common/dic.js';
import PickerList from './pickerList.vue'; import PickerList from './pickerList.vue';
import { import { addInviteCompanyAuth, getInviteCompanyAuthInfo, getDictionary2 } from '@/api/userrecruit.js';
addInviteCompanyAuth, import { mapState } from 'vuex';
getInviteCompanyAuthInfo,
getDictionary2
} from '@/api/userrecruit.js'
import {
mapState
} from 'vuex'
const rules = { const rules = {
comname: { comname: {
type: 'string', type: 'string',
required: true, required: true,
message: '请输入用工单位', message: '请输入用工单位',
trigger: ['change'] trigger: ['change'],
}, },
companyTid: { companyTid: {
type: 'string', type: 'string',
@@ -108,88 +159,88 @@
max: 18, max: 18,
min: 18, min: 18,
message: '请输入18位统一信用代码', message: '请输入18位统一信用代码',
trigger: ['change'] trigger: ['change'],
}, },
masterName: { masterName: {
type: 'string', type: 'string',
required: true, required: true,
message: '请输入法人姓名', message: '请输入法人姓名',
trigger: ['change'] trigger: ['change'],
}, },
masterIdentity: { masterIdentity: {
type: 'string', type: 'string',
required: true, 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]$/, 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: '请输入法人身份证号', message: '请输入法人身份证号',
trigger: ['change'] trigger: ['change'],
}, },
cityId: { cityId: {
type: 'string', type: 'string',
required: true, required: true,
message: '请选择所在地区', message: '请选择所在地区',
trigger: ['change'] trigger: ['change'],
}, },
companyAddress: { companyAddress: {
type: 'string', type: 'string',
required: true, required: true,
message: '请输入详细地址', message: '请输入详细地址',
trigger: ['change'] trigger: ['change'],
}, },
nature: { nature: {
type: 'string', type: 'string',
required: true, required: true,
message: '请选择企业性质', message: '请选择企业性质',
trigger: ['change'] trigger: ['change'],
}, },
tradeId: { tradeId: {
type: 'string', type: 'string',
required: true, required: true,
message: '请选择行业', message: '请选择行业',
trigger: ['change'] trigger: ['change'],
}, },
companyDesc: { companyDesc: {
type: 'string', type: 'string',
min: 20, min: 20,
required: true, required: true,
message: '请输入企业介绍最少20个字符', message: '请输入企业介绍最少20个字符',
trigger: ['change'] trigger: ['change'],
}, },
manager: { manager: {
type: 'string', type: 'string',
required: true, required: true,
message: '请输入联系人', message: '请输入联系人',
trigger: ['change'] trigger: ['change'],
}, },
telphone: { telphone: {
type: 'string', type: 'string',
required: true, required: true,
pattern: /^1[3-9]{1}[0-9]{9}$/, pattern: /^1[3-9]{1}[0-9]{9}$/,
message: '请输入手机号码', message: '请输入手机号码',
trigger: ['change'] trigger: ['change'],
}, },
identityUrl4Id: { identityUrl4Id: {
type: 'string', type: 'string',
required: true, required: true,
message: '请上传法人身份证(人像)', message: '请上传法人身份证(人像)',
trigger: ['change'] trigger: ['change'],
}, },
identityUrl5Id: { identityUrl5Id: {
type: 'string', type: 'string',
required: true, required: true,
message: '请上传法人身份证(国徽)', message: '请上传法人身份证(国徽)',
trigger: ['change'] trigger: ['change'],
}, },
authUrlId: { authUrlId: {
type: 'string', type: 'string',
required: true, required: true,
message: '请上传企业营业执照', message: '请上传企业营业执照',
trigger: ['change'] trigger: ['change'],
}, },
} };
export default { export default {
components: { components: {
UploadIdNumber, UploadIdNumber,
PickerList PickerList,
}, },
data() { data() {
return { return {
@@ -199,28 +250,28 @@
dic, dic,
xzDic: [], xzDic: [],
formData: {}, formData: {},
rules rules,
}; };
}, },
onLoad(options) { onLoad(options) {
if (options.reviewStatus === '9') { if (options.reviewStatus === '9') {
this.getInfo() this.getInfo();
} }
this.getDictInfo() this.getDictInfo();
}, },
computed: { computed: {
...mapState({ ...mapState({
authInfo: (state) => state.auth.authInfo, authInfo: (state) => state.auth.authInfo,
userInfo: (state) => state.user.userInfo userInfo: (state) => state.user.userInfo,
}), }),
}, },
created() { created() {
this.formData.manager = this.authInfo.realName this.formData.manager = this.authInfo.realName;
this.formData.idNumber = this.authInfo.idNumber this.formData.idNumber = this.authInfo.idNumber;
}, },
methods: { methods: {
hideKeyboard() { hideKeyboard() {
uni.hideKeyboard() uni.hideKeyboard();
}, },
async submit() { async submit() {
let params = { let params = {
@@ -228,9 +279,11 @@
nature: Number(this.formData.nature), nature: Number(this.formData.nature),
cityId: Number(this.formData.cityId), cityId: Number(this.formData.cityId),
tradeId: Number(this.formData.tradeId), tradeId: Number(this.formData.tradeId),
} };
const _this = this const _this = this;
this.$refs.formOne.validate().then(async (res) => { this.$refs.formOne
.validate()
.then(async (res) => {
let params = { let params = {
..._this.formData, ..._this.formData,
nature: Number(_this.formData.nature), nature: Number(_this.formData.nature),
@@ -238,55 +291,56 @@
tradeId: Number(_this.formData.tradeId), tradeId: Number(_this.formData.tradeId),
manager: _this.authInfo.realName, manager: _this.authInfo.realName,
idNumber: _this.authInfo.idNumber, idNumber: _this.authInfo.idNumber,
companyName: dic.addressColumn[0].filter((item) => item.value == _this companyName: dic.addressColumn[0].filter((item) => item.value == _this.formData.cityId)[0]
.formData.cityId)[0].label .label,
} };
console.log(params) console.log(params);
let resData = await addInviteCompanyAuth(params) let resData = await addInviteCompanyAuth(params);
if (resData.data.code === 200) { if (resData.data.code === 200) {
uni.navigateBack(1) uni.navigateBack(1);
_this.$api.sleep(1000).then(() => { _this.$api.sleep(1000).then(() => {
_this.$api.msg('已完成企业信息认证') _this.$api.msg('已完成企业信息认证');
}) });
} }
}).catch(errors => { })
.catch((errors) => {
if (/[\u4e00-\u9fff]/.test(errors.message)) { if (/[\u4e00-\u9fff]/.test(errors.message)) {
_this.$api.msg(errors.message) _this.$api.msg(errors.message);
} }
}) });
}, },
async getInfo() { async getInfo() {
let params = { let params = {
idNumber: this.authInfo.idNumber idNumber: this.authInfo.idNumber,
} };
let resData = await getInviteCompanyAuthInfo(params) let resData = await getInviteCompanyAuthInfo(params);
if (resData.data.code === 200) { if (resData.data.code === 200) {
console.log(resData.data.data) console.log(resData.data.data);
this.formData = { this.formData = {
...resData.data.data, ...resData.data.data,
nature: String(resData.data.data.nature), nature: String(resData.data.data.nature),
cityId: String(resData.data.data.cityId), cityId: String(resData.data.data.cityId),
tradeId: String(resData.data.data.tradeId), tradeId: String(resData.data.data.tradeId),
} };
} }
}, },
reset() { reset() {
const _this = this const _this = this;
uni.showModal({ uni.showModal({
content: '重置将清空表单,确定重置吗?', content: '重置将清空表单,确定重置吗?',
success() { success() {
_this.formData = {} _this.formData = {};
}, },
}) });
}, },
async getDictInfo() { async getDictInfo() {
let resData = await getDictionary2() let resData = await getDictionary2();
if (resData.data.code === 200) { if (resData.data.code === 200) {
this.xzDic = resData.data.data this.xzDic = resData.data.data;
}
} }
}, },
} },
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@@ -1,18 +1,27 @@
<template> <template>
<view class="content_upload" :style="contentStyle"> <view class="content_upload" :style="contentStyle">
<u-upload :fileList="ImgUrl" @afterRead="afterRead" :deletable="true" @delete="deletePic" name="6" :maxCount="1" <u-upload
:width="width" :height="height"> :fileList="ImgUrl"
<image :src="backImg" :style="`width: ${width}px;height: ${height}px;`"></image> @afterRead="afterRead"
<image class="iconimg" src="/static/img/Takingpictures.png" :deletable="true"
:style="`width: ${width/4}px;height: ${width/4}px;`"></image> @delete="deletePic"
name="6"
:maxCount="1"
:width="width"
:height="height"
>
<image :src="backImg" :style="{ width: width + 'px', height: height + 'px' }"></image>
<image
class="iconimg"
src="/static/img/Takingpictures.png"
:style="{ width: width / 4 + 'px', height: height / 4 + 'px' }"
></image>
</u-upload> </u-upload>
</view> </view>
</template> </template>
<script> <script>
import { import { uploadFile } from '@/api/upload.js';
uploadFile
} from '@/api/upload.js'
export default { export default {
name: 'UploadIdNumber', name: 'UploadIdNumber',
props: { props: {
@@ -22,45 +31,45 @@
}, },
value: { value: {
type: String, type: String,
default: null default: null,
}, },
width: { width: {
type: Number, type: Number,
default: 280 default: 280,
}, },
height: { height: {
type: Number, type: Number,
default: 150 default: 150,
}, },
contentStyle: { contentStyle: {
type: String, type: String,
default: '' default: '',
} },
}, },
computed: { computed: {
ImgUrl(val) { ImgUrl(val) {
return this.value ? [{ return this.value
? [
{
name: 'img.jpg', name: 'img.jpg',
url: this.value url: this.value,
}] : [] },
} ]
: [];
},
}, },
methods: { methods: {
afterRead({ afterRead({ file, index, name }) {
file,
index,
name
}) {
// this.$emit("input", file); // this.$emit("input", file);
uploadFile(file).then((url) => { uploadFile(file).then((url) => {
this.$emit("input", url); this.$emit('input', url);
}) });
}, },
deletePic() { deletePic() {
this.$emit("input", null); this.$emit('input', null);
}, },
} },
} };
</script> </script>
<style scoped> <style scoped>

File diff suppressed because it is too large Load Diff

View File

@@ -308,7 +308,7 @@
<view <view
class="addressinfo" class="addressinfo"
@click="selectMap" @click="selectMap"
:style="`fontSize: 15px;color: ${info.address ? '#333333' : '#c0c4cc'}`" :style="{ fontSize: '15px', color: info.address ? '#333333' : '#c0c4cc' }"
> >
{{ info.address || '请选择' }} {{ info.address || '请选择' }}
</view> </view>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@@ -86,6 +86,10 @@ async function DoAjax(options, config = {}) {
if (baseUrl) { if (baseUrl) {
options.url = baseUrl + options.url options.url = baseUrl + options.url
} }
// 馆陶替换url
if (options.url.startsWith('/api')) {
options.url = options.url.replace(/^\/api/, '/api/gt');
}
options = Object.assign({}, options, { options = Object.assign({}, options, {
header header
}); });

View File

@@ -7,10 +7,11 @@ module.exports = {
proxy: { proxy: {
'/api': { '/api': {
// target: 'http://192.168.1.115:8000', // target: 'http://192.168.1.115:8000',
target: 'http://39.98.184.58:8000', // target: 'http://39.98.184.58:8000',
target: 'http://39.98.44.136:80',
ws: true, ws: true,
pathRewrite: { pathRewrite: {
'^/api': '/' '^/api': '/api'
} }
}, },
'/qq/map': { '/qq/map': {