Merge branch 'main' of http://124.243.245.42:3000/sdz/ks-app-employment-service
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Date: 2025-10-31 11:06:15
|
* @Date: 2025-10-31 11:06:15
|
||||||
* @LastEditors: shirlwang
|
* @LastEditors: shirlwang
|
||||||
* @LastEditTime: 2025-11-03 15:51:28
|
* @LastEditTime: 2025-12-16 16:29:33
|
||||||
*/
|
*/
|
||||||
import request from '@/utilsRc/request'
|
import request from '@/utilsRc/request'
|
||||||
|
|
||||||
@@ -13,6 +13,14 @@ export function login(data) {
|
|||||||
params: data,
|
params: data,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 登录方法
|
||||||
|
export function loginByUserId(data) {
|
||||||
|
return request({
|
||||||
|
method: 'get',
|
||||||
|
url: '/ksSso/getTjmhTokenById?userId='+data,
|
||||||
|
// params: data,
|
||||||
|
})
|
||||||
|
}
|
||||||
export function smsLogin(data) {
|
export function smsLogin(data) {
|
||||||
return request({
|
return request({
|
||||||
method: 'post',
|
method: 'post',
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
/*
|
/*
|
||||||
* @Date: 2025-01-XX
|
* @Date: 2025-01-XX
|
||||||
* @LastEditors:
|
* @LastEditors: shirlwang
|
||||||
* @LastEditTime:
|
* @LastEditTime: 2025-12-16 16:35:06
|
||||||
*/
|
*/
|
||||||
import request from '@/utilsRc/request'
|
import request from '@/utilsRc/request'
|
||||||
|
|
||||||
// 获取用户信息(职业规划推荐用)
|
// 获取用户信息(职业规划推荐用)
|
||||||
export function appUserInfo() {
|
export function appUserInfo() {
|
||||||
return request({
|
return request({
|
||||||
fullUrl: 'http://222.80.110.161:11111/api/ks/app/user/appUserInfo',
|
fullUrl: 'http://222.80.110.161:80/api/ks/app/user/appUserInfo',
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ const prePage = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// export const urls ='http://10.110.145.145/images/train/'
|
// export const urls ='http://10.110.145.145/images/train/'
|
||||||
export const urls ='http://222.80.110.161:11111/images/train/'
|
export const urls ='http://222.80.110.161:80/images/train/'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 页面跳转封装,支持 query 参数传递和返回回调
|
* 页面跳转封装,支持 query 参数传递和返回回调
|
||||||
|
|||||||
9
packageB/apiRc/policy/index.js
Normal file
9
packageB/apiRc/policy/index.js
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import request from "@/utilsRc/request";
|
||||||
|
//政策列表
|
||||||
|
export function getPolicyList(queryParams) {
|
||||||
|
return request({
|
||||||
|
url: "/portal/policyInfo/portalList",
|
||||||
|
method: "get",
|
||||||
|
params: queryParams,
|
||||||
|
});
|
||||||
|
}
|
||||||
301
packageB/login2.vue
Normal file
301
packageB/login2.vue
Normal file
@@ -0,0 +1,301 @@
|
|||||||
|
<template>
|
||||||
|
<AppLayout title="" :use-scroll-view="false">
|
||||||
|
<view class="wrap">
|
||||||
|
<view class="login_index">
|
||||||
|
<input class="input" placeholder="请输入账号" placeholder-class="inputplace" v-model="form.username" />
|
||||||
|
<view class="login_yzm">
|
||||||
|
<input class="input" type="password" placeholder="请输入密码" placeholder-class="inputplace"
|
||||||
|
v-model="form.password" />
|
||||||
|
</view>
|
||||||
|
<view class="login_yzm">
|
||||||
|
<input class="input" placeholder="请输入验证码" placeholder-class="inputplace" v-model="form.code" />
|
||||||
|
<image class="yzm" :src="codeUrl" @click="getCodeImg"></image>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<button class="com-btn" @click="register">登 录</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</AppLayout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
reactive,
|
||||||
|
inject,
|
||||||
|
watch,
|
||||||
|
ref,
|
||||||
|
onMounted,
|
||||||
|
onUnmounted
|
||||||
|
} from 'vue'
|
||||||
|
import {
|
||||||
|
onLoad,
|
||||||
|
onShow
|
||||||
|
} from '@dcloudio/uni-app';
|
||||||
|
const {
|
||||||
|
$api,
|
||||||
|
navTo,
|
||||||
|
vacanciesTo,
|
||||||
|
navBack
|
||||||
|
} = inject("globalFunction");
|
||||||
|
const placeholderStyle = 'font-size:30rpx'
|
||||||
|
const checked = ref(true)
|
||||||
|
const codeUrl = ref('')
|
||||||
|
const flag=ref('nw')
|
||||||
|
|
||||||
|
const form = reactive({
|
||||||
|
username: '',
|
||||||
|
password: '',
|
||||||
|
rememberMe: false,
|
||||||
|
code: '',
|
||||||
|
uuid: ''
|
||||||
|
})
|
||||||
|
|
||||||
|
onLoad((option) => {
|
||||||
|
console.log("111")
|
||||||
|
if(option.flag){
|
||||||
|
flag.value=option.flag
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
getCodeImg()
|
||||||
|
// let form={}
|
||||||
|
// if (uni.getStorageSync('userInfo').isCompanyUser=='1') {
|
||||||
|
// form={
|
||||||
|
// usertype: '1',
|
||||||
|
// idno: uni.getStorageSync('userInfo').idCard,
|
||||||
|
// name: uni.getStorageSync('userInfo').name,
|
||||||
|
// enterprisecode:"",
|
||||||
|
// enterprisename: "",
|
||||||
|
// contactperson: "",
|
||||||
|
// contactphone: "",
|
||||||
|
// }
|
||||||
|
// }else if (uni.getStorageSync('userInfo').isCompanyUser=='0') {
|
||||||
|
// form={
|
||||||
|
// usertype: "2",
|
||||||
|
// enterprisecode: uni.getStorageSync('userInfo').idCard,
|
||||||
|
// enterprisename: uni.getStorageSync('userInfo').name,
|
||||||
|
// contactperson: "",
|
||||||
|
// contactphone: "",
|
||||||
|
// idno: "",
|
||||||
|
// name: ""
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// $api.myRequest('/auth/login2/ks',form,'post',10100).then((res) => {
|
||||||
|
// if (res.code=='200') {
|
||||||
|
// uni.setStorageSync('Padmin-Token', res.data.access_token)
|
||||||
|
// uni.navigateBack({
|
||||||
|
// delta:2
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// }).catch(() => {
|
||||||
|
// uni.hideLoading()
|
||||||
|
// uni.showToast({
|
||||||
|
// icon: 'none',
|
||||||
|
// title: '登录失败,请重试'
|
||||||
|
// })
|
||||||
|
// })
|
||||||
|
})
|
||||||
|
|
||||||
|
function register() {
|
||||||
|
if (!form.username) {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '请输入用户名'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!form.password) {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '请输入密码'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!form.uuid) {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '请输入验证码'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
uni.showLoading({
|
||||||
|
title: '登录中...',
|
||||||
|
mask: true
|
||||||
|
})
|
||||||
|
if(flag.value=='hlw'){
|
||||||
|
$api.myRequest('/auth/login',form,'post',10100).then((res) => {
|
||||||
|
uni.setStorageSync('Padmin-Token', res.data.access_token)
|
||||||
|
uni.reLaunch({
|
||||||
|
url: '/pages/index/index'
|
||||||
|
})
|
||||||
|
codeUrl.value = 'data:image/gif;base64,' + res.img
|
||||||
|
}).catch(() => {
|
||||||
|
uni.hideLoading()
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '登录失败,请重试'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}else if(flag.value=='nw'){
|
||||||
|
$api.myRequest('/auth/login',form,'post',9100).then((res) => {
|
||||||
|
uni.setStorageSync('Padmin-Token', res.data.access_token)
|
||||||
|
uni.reLaunch({
|
||||||
|
url: '/packageB/priority/helpFilter'
|
||||||
|
})
|
||||||
|
codeUrl.value = 'data:image/gif;base64,' + res.img
|
||||||
|
}).catch(() => {
|
||||||
|
uni.hideLoading()
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '登录失败,请重试'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCodeImg() {
|
||||||
|
if(flag.value=='hlw'){
|
||||||
|
$api.myRequest('/code',{},'get',10100).then((resData) => {
|
||||||
|
codeUrl.value = 'data:image/gif;base64,' + resData.img
|
||||||
|
form.uuid = resData.uuid
|
||||||
|
});
|
||||||
|
}else if(flag.value=='nw'){
|
||||||
|
$api.myRequest('/code',{},'get',9100).then((resData) => {
|
||||||
|
codeUrl.value = 'data:image/gif;base64,' + resData.img
|
||||||
|
form.uuid = resData.uuid
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="stylus">
|
||||||
|
.wrap {
|
||||||
|
background-color: #ffffff;
|
||||||
|
height: 100vh;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.lg-head {
|
||||||
|
height: 480rpx;
|
||||||
|
background: #46ca98;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.view_logo {
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.login_logo {
|
||||||
|
width: 300rpx;
|
||||||
|
height: 300rpx;
|
||||||
|
margin-top: 100rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-cover {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -4rpx;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 30rpx;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.login_index {
|
||||||
|
font-size: 36rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
width: 596rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
::v-deep .is-input-border {
|
||||||
|
border: 0;
|
||||||
|
border-bottom: 1px solid #dcdfe6 !important;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .uni-input-input {
|
||||||
|
font-size: 32rpx;
|
||||||
|
padding-left: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .uniui-contact-filled:before {
|
||||||
|
color: #46ca98;
|
||||||
|
font-size: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .uniui-locked-filled:before {
|
||||||
|
color: #46ca98;
|
||||||
|
font-size: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login_yzm {
|
||||||
|
margin-top: 40rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.yzm {
|
||||||
|
width: 200rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.com-btn {
|
||||||
|
height: 100rpx;
|
||||||
|
background: #46ca98;
|
||||||
|
border-radius: 50rpx;
|
||||||
|
color: #fff;
|
||||||
|
margin-top: 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login_wt {
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: right;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: rgba(134, 134, 136, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg-bottom {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -3px;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.bottom-svg {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -3px;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.login_tongyi {
|
||||||
|
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: rgba(196, 196, 196, 1);
|
||||||
|
width: 620rpx;
|
||||||
|
margin: 32rpx auto;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
text {
|
||||||
|
color: rgba(86, 176, 236, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.input {
|
||||||
|
padding: 0 30rpx 0 80rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 75rpx 75rpx 75rpx 75rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputplace {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #B5B5B5;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
<view class="form-btns">
|
<view class="form-btns">
|
||||||
<button class="mini-btn form-box-btn detail-btn" size="mini" v-if="false">详情</button>
|
<button class="mini-btn form-box-btn detail-btn" size="mini" v-if="false">详情</button>
|
||||||
<button class="mini-btn form-box-btn follow-btn" size="mini" @click="goFollow(item)">跟进</button>
|
<button class="mini-btn form-box-btn follow-btn" size="mini" @click="goFollow(item)">跟进</button>
|
||||||
<button class="mini-btn form-box-btn recommend-btn" size="mini" >智能推荐</button>
|
<button class="mini-btn form-box-btn recommend-btn" size="mini" @click="goRecommend(item)">智能推荐</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -226,12 +226,17 @@ const handleReset = () =>{
|
|||||||
getDataList('refresh')
|
getDataList('refresh')
|
||||||
}
|
}
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await loadLevelData('201');
|
// await loadLevelData('201');
|
||||||
});
|
});
|
||||||
onLoad(() => {
|
onLoad(async () => {
|
||||||
|
let token=uni.getStorageSync('fourLevelLinkage-token')
|
||||||
|
if(token){
|
||||||
|
await loadLevelData('201');
|
||||||
getDictionary()
|
getDictionary()
|
||||||
// getDeptOptions()
|
|
||||||
getDataList('refresh');
|
getDataList('refresh');
|
||||||
|
}else{
|
||||||
|
navTo('/packageB/login2');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
function getDictionary(){
|
function getDictionary(){
|
||||||
$api.myRequest('/system/public/dict/data/type/assist_task_type').then((resData) => {
|
$api.myRequest('/system/public/dict/data/type/assist_task_type').then((resData) => {
|
||||||
@@ -256,7 +261,7 @@ function getTaskTypeLabelByValue(value) {
|
|||||||
// 加载某一级的数据(parentId 为空表示根)
|
// 加载某一级的数据(parentId 为空表示根)
|
||||||
async function loadLevelData(parentId) {
|
async function loadLevelData(parentId) {
|
||||||
let header = {
|
let header = {
|
||||||
'Authorization': uni.getStorageSync('Padmin-Token'),
|
'Authorization': uni.getStorageSync('fourLevelLinkage-token'),
|
||||||
'Content-Type': "application/x-www-form-urlencoded"
|
'Content-Type': "application/x-www-form-urlencoded"
|
||||||
};
|
};
|
||||||
let params = { parentId };
|
let params = { parentId };
|
||||||
@@ -336,7 +341,7 @@ function findNodeByValue(nodes, value) {
|
|||||||
}
|
}
|
||||||
function getDeptOptions(){
|
function getDeptOptions(){
|
||||||
let header={
|
let header={
|
||||||
'Authorization':uni.getStorageSync('Padmin-Token'),
|
'Authorization':uni.getStorageSync('fourLevelLinkage-token'),
|
||||||
'Content-Type': "application/x-www-form-urlencoded"
|
'Content-Type': "application/x-www-form-urlencoded"
|
||||||
}
|
}
|
||||||
let params={
|
let params={
|
||||||
@@ -349,7 +354,7 @@ function getDataList(type = 'add') {
|
|||||||
let maxPage=Math.ceil(totalNum.value/pageSize.value)
|
let maxPage=Math.ceil(totalNum.value/pageSize.value)
|
||||||
let params=({...formData})
|
let params=({...formData})
|
||||||
let header={
|
let header={
|
||||||
'Authorization':uni.getStorageSync('Padmin-Token'),
|
'Authorization':uni.getStorageSync('fourLevelLinkage-token'),
|
||||||
'Content-Type': "application/x-www-form-urlencoded"
|
'Content-Type': "application/x-www-form-urlencoded"
|
||||||
}
|
}
|
||||||
if (type === 'refresh') {
|
if (type === 'refresh') {
|
||||||
@@ -374,7 +379,11 @@ function getDataList(type = 'add') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
function goFollow(item) {
|
function goFollow(item) {
|
||||||
navTo(`/packageB/priority/helpFollow?id=${item.goal_person_id}&&name=${item.name}&&taskType=${getTaskTypeLabelByValue(item.task_type)}`);
|
navTo(`/packageB/priority/helpFollow?task_id=${item.task_id}&person_id=${item.person_id}&&name=${item.name}&&taskType=${getTaskTypeLabelByValue(item.task_type)}`);
|
||||||
|
}
|
||||||
|
//智能推荐
|
||||||
|
const goRecommend = (item) => {
|
||||||
|
navTo('/packageB/priority/recommend');
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -105,7 +105,8 @@ const formData = reactive({
|
|||||||
const personInfo=ref({
|
const personInfo=ref({
|
||||||
goalPersonId:'',
|
goalPersonId:'',
|
||||||
name:'',
|
name:'',
|
||||||
taskType:''
|
taskType:'',
|
||||||
|
task_id:''
|
||||||
})
|
})
|
||||||
const followWays = ref([])
|
const followWays = ref([])
|
||||||
const followList = ref([])
|
const followList = ref([])
|
||||||
@@ -161,11 +162,12 @@ const onDateChange = ( e) => {
|
|||||||
}
|
}
|
||||||
function getFollowList(){
|
function getFollowList(){
|
||||||
let header={
|
let header={
|
||||||
'Authorization':uni.getStorageSync('Padmin-Token'),
|
'Authorization':uni.getStorageSync('fourLevelLinkage-token'),
|
||||||
'Content-Type': "application/x-www-form-urlencoded"
|
'Content-Type': "application/x-www-form-urlencoded"
|
||||||
}
|
}
|
||||||
let params={
|
let params={
|
||||||
goalPersonId:personInfo.value.goalPersonId
|
personId:personInfo.value.person_id,
|
||||||
|
taskId:personInfo.value.task_id
|
||||||
}
|
}
|
||||||
$api.myRequest('/dispatch/assist/records/getFollowList', params,'get',9100,header).then((resData) => {
|
$api.myRequest('/dispatch/assist/records/getFollowList', params,'get',9100,header).then((resData) => {
|
||||||
console.log("resData",resData)
|
console.log("resData",resData)
|
||||||
@@ -209,7 +211,7 @@ const handleSubmit = () => {
|
|||||||
formRef.value?.validate()
|
formRef.value?.validate()
|
||||||
.then(() => {
|
.then(() => {
|
||||||
let header={
|
let header={
|
||||||
'Authorization':uni.getStorageSync('Padmin-Token')
|
'Authorization':uni.getStorageSync('fourLevelLinkage-token')
|
||||||
}
|
}
|
||||||
formData.goalPersonId=personInfo.value.goalPersonId
|
formData.goalPersonId=personInfo.value.goalPersonId
|
||||||
$api.myRequest('/dispatch/assist/records/addRecords', formData,'post',9100,header).then((resData) => {
|
$api.myRequest('/dispatch/assist/records/addRecords', formData,'post',9100,header).then((resData) => {
|
||||||
@@ -245,9 +247,10 @@ const handleReset = () => {
|
|||||||
formData.nextContactDate = '';
|
formData.nextContactDate = '';
|
||||||
}
|
}
|
||||||
onLoad((options) => {
|
onLoad((options) => {
|
||||||
personInfo.value.goalPersonId=options.id
|
personInfo.value.person_id=options.person_id
|
||||||
personInfo.value.name=options.name
|
personInfo.value.name=options.name
|
||||||
personInfo.value.taskType=options.taskType
|
personInfo.value.taskType=options.taskType
|
||||||
|
personInfo.value.task_id=options.task_id
|
||||||
getDictionary()
|
getDictionary()
|
||||||
getFollowList()
|
getFollowList()
|
||||||
});
|
});
|
||||||
|
|||||||
413
packageB/priority/recommend.vue
Normal file
413
packageB/priority/recommend.vue
Normal file
@@ -0,0 +1,413 @@
|
|||||||
|
<template>
|
||||||
|
<AppLayout :title="title" :show-bg-image="false">
|
||||||
|
<view class="main-list" :style="getBackgroundStyle('k.png')">
|
||||||
|
<view class="list-top">
|
||||||
|
<view class="list-title">
|
||||||
|
<text>岗位推荐列表</text>
|
||||||
|
<view class="title-line" style="left: 70rpx"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="jobListBox">
|
||||||
|
<view class="item" v-for="(job, index) in list" :key="index">
|
||||||
|
<view class="falls-card">
|
||||||
|
<view class="falls-card-pay">
|
||||||
|
<view class="pay-text">
|
||||||
|
<Salary-Expectation
|
||||||
|
:max-salary="job.maxSalary"
|
||||||
|
:min-salary="job.minSalary"
|
||||||
|
:is-month="true"
|
||||||
|
></Salary-Expectation>
|
||||||
|
</view>
|
||||||
|
<image
|
||||||
|
v-if="job.isHot"
|
||||||
|
class="flame"
|
||||||
|
src="/static/icon/flame.png"
|
||||||
|
></image>
|
||||||
|
</view>
|
||||||
|
<view class="falls-card-title">{{ job.jobTitle }}</view>
|
||||||
|
<view class="fl_box fl_warp">
|
||||||
|
<view class="falls-card-education mar_ri10" v-if="job.education">
|
||||||
|
<dict-Label
|
||||||
|
dictType="education"
|
||||||
|
:value="job.education"
|
||||||
|
></dict-Label>
|
||||||
|
</view>
|
||||||
|
<view class="falls-card-experience" v-if="job.experience">
|
||||||
|
<dict-Label
|
||||||
|
dictType="experience"
|
||||||
|
:value="job.experience"
|
||||||
|
></dict-Label>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="falls-card-company">
|
||||||
|
{{ config.appInfo.areaName }}
|
||||||
|
<dict-Label
|
||||||
|
dictType="area"
|
||||||
|
:value="job.jobLocationAreaCode"
|
||||||
|
></dict-Label>
|
||||||
|
</view>
|
||||||
|
<view class="falls-card-pepleNumber">
|
||||||
|
<view>
|
||||||
|
<image class="point2" src="/static/icon/pintDate.png"></image>
|
||||||
|
<view class="fl_1">
|
||||||
|
{{ job.postingDate || "发布日期" }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<image
|
||||||
|
class="point3"
|
||||||
|
src="/static/icon/pointpeople.png"
|
||||||
|
></image>
|
||||||
|
<view class="fl_1">
|
||||||
|
{{ vacanciesTo(job.vacancies) }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="falls-card-company2">
|
||||||
|
<image class="point3" src="/static/icon/point3.png"></image>
|
||||||
|
<view class="fl_1">
|
||||||
|
{{ job.companyName }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="main-list" :style="getBackgroundStyle('k.png')">
|
||||||
|
<view class="list-top">
|
||||||
|
<view class="list-title">
|
||||||
|
<text>政策推荐列表</text>
|
||||||
|
<view class="title-line" style="left: 70rpx"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view
|
||||||
|
style="margin-bottom: 24rpx; border-radius: 16rpx"
|
||||||
|
class="policy-list"
|
||||||
|
v-for="(item, index) in policyList"
|
||||||
|
:key="index"
|
||||||
|
@click="goPolicyDetail(item)"
|
||||||
|
>
|
||||||
|
<view class="sign">推荐</view>
|
||||||
|
<view class="title">
|
||||||
|
<image src="../../packageRc/static/zcLeft.png" />
|
||||||
|
{{ item.zcmc }}</view
|
||||||
|
>
|
||||||
|
<view class="infos">
|
||||||
|
<view v-if="item.zclx">{{ item.zclx }}</view>
|
||||||
|
<view v-if="item.zcLevel">{{ item.zcLevel }}</view>
|
||||||
|
<view v-if="item.sourceUnit">{{ item.sourceUnit }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="bottom-line">
|
||||||
|
<view
|
||||||
|
><uni-icons color="#A2A2A2" type="info" size="12"></uni-icons
|
||||||
|
>发布日期:{{ item.createTime }}</view
|
||||||
|
>
|
||||||
|
<view>
|
||||||
|
<!-- 浏览数<text style="color: #6aa7e8">{{ item.viewNum }}</text> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</AppLayout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { inject, ref, reactive, onMounted } from "vue";
|
||||||
|
const { $api, navTo, navBack, vacanciesTo } = inject("globalFunction");
|
||||||
|
import config from "@/config.js";
|
||||||
|
import { getPolicyList } from "@/packageB/apiRc/policy/index.js";
|
||||||
|
import AppLayout from "@/components/AppLayout/AppLayout.vue";
|
||||||
|
import dictLabel from "@/components/dict-Label/dict-Label.vue";
|
||||||
|
const title = ref("");
|
||||||
|
const baseUrl = config.imgBaseUrl;
|
||||||
|
const list = ref([]);
|
||||||
|
const getBackgroundStyle = (imageName) => ({
|
||||||
|
backgroundImage: `url(${baseUrl}/dispatch/${imageName})`,
|
||||||
|
backgroundSize: "cover", // 覆盖整个容器
|
||||||
|
backgroundPosition: "center", // 居中
|
||||||
|
backgroundRepeat: "no-repeat",
|
||||||
|
});
|
||||||
|
onMounted(() => {
|
||||||
|
getJobRecommend();
|
||||||
|
getPolicyData();
|
||||||
|
});
|
||||||
|
function getJobRecommend() {
|
||||||
|
$api
|
||||||
|
.createRequest(
|
||||||
|
"/cms/job/recommend",
|
||||||
|
{ pageSize: 8 },
|
||||||
|
"GET",
|
||||||
|
false,
|
||||||
|
{},
|
||||||
|
false
|
||||||
|
)
|
||||||
|
.then((resData) => {
|
||||||
|
if (resData.code == 200) {
|
||||||
|
list.value = resData.data
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const policyList = ref([]);
|
||||||
|
function getPolicyData() {
|
||||||
|
getPolicyList({ pageNum: 1, pageSize: 8 }).then((res) => {
|
||||||
|
if(res.code == 200){
|
||||||
|
policyList.value = res.rows;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function goPolicyDetail(item) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/packageRc/pages/policy/policyDetail?id=${item.id}`
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.main-list {
|
||||||
|
background-color: #ffffff;
|
||||||
|
padding: 20rpx 25rpx 28rpx 25rpx;
|
||||||
|
margin: 30rpx 30rpx;
|
||||||
|
box-shadow: 0px 3px 20px 0px rgba(0, 105, 234, 0.1);
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-top {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-title {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #404040;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title-line {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -10rpx;
|
||||||
|
left: 36rpx;
|
||||||
|
width: 70rpx;
|
||||||
|
height: 8rpx;
|
||||||
|
background: linear-gradient(90deg, #ffad58 0%, #ff7a5b 100%);
|
||||||
|
border-radius: 4rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.jobListBox {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding-top: 28rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item {
|
||||||
|
width: 48%;
|
||||||
|
position: relative;
|
||||||
|
border-radius: 6px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);
|
||||||
|
|
||||||
|
.falls-card {
|
||||||
|
padding: 30rpx;
|
||||||
|
|
||||||
|
.falls-card-title {
|
||||||
|
font-family: "PingFangSC-Medium", "PingFang SC", "Helvetica Neue",
|
||||||
|
Helvetica, Arial, "Microsoft YaHei", sans-serif;
|
||||||
|
color: #606060;
|
||||||
|
text-align: left;
|
||||||
|
word-break: break-all;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #333333;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.falls-card-pay {
|
||||||
|
// height: 50rpx;
|
||||||
|
word-break: break-all;
|
||||||
|
color: #002979;
|
||||||
|
text-align: left;
|
||||||
|
display: flex;
|
||||||
|
align-items: end;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.pay-text {
|
||||||
|
font-family: DIN-Medium;
|
||||||
|
color: #4c6efb;
|
||||||
|
padding-right: 10rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #4c6efb;
|
||||||
|
line-height: 45rpx;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flame {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
right: -10rpx;
|
||||||
|
transform: translate(0, -30%);
|
||||||
|
width: 24rpx;
|
||||||
|
height: 31rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.falls-card-education,
|
||||||
|
.falls-card-experience {
|
||||||
|
width: fit-content;
|
||||||
|
height: 30rpx;
|
||||||
|
background: #f4f4f4;
|
||||||
|
border-radius: 4rpx;
|
||||||
|
padding: 6rpx 20rpx;
|
||||||
|
line-height: 30rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #6c7282;
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.falls-card-company,
|
||||||
|
.falls-card-pepleNumber {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #999999;
|
||||||
|
line-height: 25rpx;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.falls-card-pepleNumber {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #999999;
|
||||||
|
line-height: 46rpx;
|
||||||
|
|
||||||
|
view {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
white-space: nowrap;
|
||||||
|
|
||||||
|
.point2 {
|
||||||
|
margin: 0rpx 6rpx 0 2rpx;
|
||||||
|
height: 22rpx;
|
||||||
|
width: 22rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.point3 {
|
||||||
|
margin: 0rpx 4rpx 0 0;
|
||||||
|
height: 28rpx;
|
||||||
|
width: 28rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.falls-card-matchingrate {
|
||||||
|
margin-top: 10rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 21rpx;
|
||||||
|
color: #4778ec;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.falls-card-company2 {
|
||||||
|
margin-top: 4rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #999999;
|
||||||
|
text-align: left;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.point3 {
|
||||||
|
margin: 4rpx 4rpx 0 0;
|
||||||
|
height: 26rpx;
|
||||||
|
width: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.policy-list {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
color: #333333;
|
||||||
|
border-radius: 24rpx;
|
||||||
|
background: #ffffff;
|
||||||
|
padding: 28rpx 22rpx;
|
||||||
|
margin-top: 24rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.sign {
|
||||||
|
position: absolute;
|
||||||
|
font-size: 24rpx;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
padding: 4rpx 14rpx;
|
||||||
|
border: 1rpx solid #ec4827;
|
||||||
|
background: rgba(227, 79, 49, 0.09);
|
||||||
|
border-top-right-radius: 24rpx;
|
||||||
|
border-bottom-left-radius: 24rpx;
|
||||||
|
color: #ec4827;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-line {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #a2a2a2;
|
||||||
|
margin-bottom: 16rpx;
|
||||||
|
|
||||||
|
.salary {
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #4c6efb;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #282828;
|
||||||
|
margin-bottom: 16rpx;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 46rpx;
|
||||||
|
height: 46rpx;
|
||||||
|
margin-right: 11rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.infos {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
font-size: 24rpx;
|
||||||
|
margin-bottom: 16rpx;
|
||||||
|
line-height: 42rpx;
|
||||||
|
|
||||||
|
view {
|
||||||
|
padding: 0 16rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
background: #f2f2f2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-line {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #a2a2a2;
|
||||||
|
margin-top: 12rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -2,9 +2,9 @@ let baseUrl = ""
|
|||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
// 编译项目,因为使用插件lime-echart,echart文件过大,需要非压缩代码方式编译,不然会很慢,发布的时候才压缩代码方式编译
|
// 编译项目,因为使用插件lime-echart,echart文件过大,需要非压缩代码方式编译,不然会很慢,发布的时候才压缩代码方式编译
|
||||||
if (wx.getAccountInfoSync().miniProgram.envVersion === 'develop') {
|
if (wx.getAccountInfoSync().miniProgram.envVersion === 'develop') {
|
||||||
baseUrl = 'http://222.80.110.161:11111/career' // 开发环境
|
baseUrl = 'http://222.80.110.161:80/career' // 开发环境
|
||||||
} else {
|
} else {
|
||||||
baseUrl = 'http://222.80.110.161:11111/career' // 生产环境
|
baseUrl = 'http://222.80.110.161:80/career' // 生产环境
|
||||||
}
|
}
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
|
|||||||
@@ -412,7 +412,7 @@
|
|||||||
@close="showTime = false"
|
@close="showTime = false"
|
||||||
></u-datetime-picker> -->
|
></u-datetime-picker> -->
|
||||||
<!-- 社区端 - 显示隐藏退出组件 -->
|
<!-- 社区端 - 显示隐藏退出组件 -->
|
||||||
<exitPopup />
|
<!-- <exitPopup /> -->
|
||||||
<DealDone ref="dealDone" @finished="getListPersonDemand();"/>
|
<DealDone ref="dealDone" @finished="getListPersonDemand();"/>
|
||||||
<!-- <uni-popup background-color="#fff" type="bottom"
|
<!-- <uni-popup background-color="#fff" type="bottom"
|
||||||
ref="openDeal"
|
ref="openDeal"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Date: 2024-10-08 14:29:36
|
* @Date: 2024-10-08 14:29:36
|
||||||
* @LastEditors: shirlwang
|
* @LastEditors: shirlwang
|
||||||
* @LastEditTime: 2025-11-04 16:16:45
|
* @LastEditTime: 2025-12-16 17:50:45
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<view class="page" style="background-image: url('../../../packageRc/static/pageBg.png');">
|
<view class="page" style="background-image: url('../../../packageRc/static/pageBg.png');">
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<trainService v-if="activeType == 4" :needId="id" :name="name" ref="type4" />
|
<trainService v-if="activeType == 4" :needId="id" :name="name" ref="type4" />
|
||||||
<otherService v-if="activeType == 5" :needId="id" :name="name" ref="type5" />
|
<otherService v-if="activeType == 5" :needId="id" :name="name" ref="type5" />
|
||||||
<!-- 社区端 - 显示隐藏退出组件 -->
|
<!-- 社区端 - 显示隐藏退出组件 -->
|
||||||
<exitPopup />
|
<!-- <exitPopup /> -->
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Date: 2024-10-08 14:29:36
|
* @Date: 2024-10-08 14:29:36
|
||||||
* @LastEditors: shirlwang
|
* @LastEditors: shirlwang
|
||||||
* @LastEditTime: 2025-11-04 17:16:49
|
* @LastEditTime: 2025-12-16 17:50:03
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<view class="page" style="background-image: url('../../../packageRc/static/pageBg.png');">
|
<view class="page" style="background-image: url('../../../packageRc/static/pageBg.png');">
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
<trainService v-if="activeType == 4" :needId="id" :name="name" ref="type4" />
|
<trainService v-if="activeType == 4" :needId="id" :name="name" ref="type4" />
|
||||||
<otherService v-if="activeType == 5" :needId="id" :name="name" ref="type5" />
|
<otherService v-if="activeType == 5" :needId="id" :name="name" ref="type5" />
|
||||||
<!-- 社区端 - 显示隐藏退出组件 -->
|
<!-- 社区端 - 显示隐藏退出组件 -->
|
||||||
<exitPopup />
|
<!-- <exitPopup /> -->
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -153,7 +153,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<!-- 社区端 - 显示隐藏退出组件 -->
|
<!-- 社区端 - 显示隐藏退出组件 -->
|
||||||
<exitPopup />
|
<!-- <exitPopup /> -->
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
@@ -273,14 +273,14 @@ import {
|
|||||||
returnPerson,
|
returnPerson,
|
||||||
updatePersonInfo,
|
updatePersonInfo,
|
||||||
} from "../../api/company/index.js";
|
} from "../../api/company/index.js";
|
||||||
import exitPopup from "../../components/exitPopup.vue";
|
// import exitPopup from "../../components/exitPopup.vue";
|
||||||
import {
|
import {
|
||||||
getDicts
|
getDicts
|
||||||
} from '@/packageRc/apiRc/system/dict.js'
|
} from '@/packageRc/apiRc/system/dict.js'
|
||||||
export default {
|
export default {
|
||||||
name: "personnelList",
|
name: "personnelList",
|
||||||
components: {
|
components: {
|
||||||
exitPopup,
|
// exitPopup,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|||||||
12
pages.json
12
pages.json
@@ -322,6 +322,12 @@
|
|||||||
"navigationBarTitleText": "登录"
|
"navigationBarTitleText": "登录"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "login2",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "登录"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "train/index",
|
"path": "train/index",
|
||||||
"style": {
|
"style": {
|
||||||
@@ -381,6 +387,12 @@
|
|||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "跟进"
|
"navigationBarTitleText": "跟进"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "priority/recommend",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "推荐"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "train/wrongAnswer/mistakeNotebook",
|
"path": "train/wrongAnswer/mistakeNotebook",
|
||||||
|
|||||||
@@ -153,9 +153,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
async function thirdLogin(){
|
async function thirdLogin(needToast){
|
||||||
let form={}
|
let form={}
|
||||||
if (uni.getStorageSync('userInfo').isCompanyUser=='1') {
|
if (uni.getStorageSync('userInfo') && uni.getStorageSync('userInfo').isCompanyUser=='1') {
|
||||||
form={
|
form={
|
||||||
usertype: '1',
|
usertype: '1',
|
||||||
idno: uni.getStorageSync('userInfo').idCard,
|
idno: uni.getStorageSync('userInfo').idCard,
|
||||||
@@ -165,7 +165,7 @@
|
|||||||
contactperson: "",
|
contactperson: "",
|
||||||
contactphone: "",
|
contactphone: "",
|
||||||
}
|
}
|
||||||
}else if (uni.getStorageSync('userInfo').isCompanyUser=='0') {
|
}else if (uni.getStorageSync('userInfo') && uni.getStorageSync('userInfo').isCompanyUser=='0') {
|
||||||
form={
|
form={
|
||||||
usertype: "2",
|
usertype: "2",
|
||||||
enterprisecode: uni.getStorageSync('userInfo').idCard,
|
enterprisecode: uni.getStorageSync('userInfo').idCard,
|
||||||
@@ -176,10 +176,12 @@
|
|||||||
name: ""
|
name: ""
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
if(needToast){
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
icon: 'none',
|
icon: 'none',
|
||||||
title: '请先登录'
|
title: '请先登录'
|
||||||
})
|
})
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var resLogin = await $api.myRequest('/auth/login2/ks',form,'post',10100);
|
var resLogin = await $api.myRequest('/auth/login2/ks',form,'post',10100);
|
||||||
@@ -213,7 +215,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
async function goDetail(jobFairId){
|
async function goDetail(jobFairId){
|
||||||
if(await thirdLogin()){
|
if(await thirdLogin('1')){
|
||||||
if(state.current != 3){
|
if(state.current != 3){
|
||||||
navTo('/packageA/pages/exhibitors/exhibitors?jobFairId=' + jobFairId)
|
navTo('/packageA/pages/exhibitors/exhibitors?jobFairId=' + jobFairId)
|
||||||
}else{
|
}else{
|
||||||
@@ -256,11 +258,14 @@
|
|||||||
state.current = currented;
|
state.current = currented;
|
||||||
}
|
}
|
||||||
|
|
||||||
function seemsg(index) {
|
async function seemsg(index) {
|
||||||
|
|
||||||
state.current = index;
|
state.current = index;
|
||||||
if (index != 3) {
|
if (index != 3) {
|
||||||
getFair("refresh");
|
getFair("refresh");
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
if(await thirdLogin('1')){
|
||||||
if (!isLogin.value) {
|
if (!isLogin.value) {
|
||||||
getHeart();
|
getHeart();
|
||||||
return;
|
return;
|
||||||
@@ -274,6 +279,8 @@
|
|||||||
getMyFair("refresh");
|
getMyFair("refresh");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleScrollToLower = () => {
|
const handleScrollToLower = () => {
|
||||||
@@ -290,15 +297,21 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function getHeart() {
|
async function getHeart() {
|
||||||
|
|
||||||
|
|
||||||
const raw = uni.getStorageSync("Padmin-Token");
|
const raw = uni.getStorageSync("Padmin-Token");
|
||||||
const token = typeof raw === "string" ? raw.trim() : "";
|
const token = typeof raw === "string" ? raw.trim() : "";
|
||||||
|
|
||||||
|
var isLogins = await thirdLogin();
|
||||||
|
|
||||||
const headers = token ? {
|
const headers = token ? {
|
||||||
Authorization: raw.startsWith("Bearer ") ? raw : `Bearer ${token}`
|
Authorization: raw.startsWith("Bearer ") ? raw : `Bearer ${token}`
|
||||||
} : {};
|
} : {};
|
||||||
|
|
||||||
|
|
||||||
$api.myRequest("/dashboard/auth/heart", {}, "POST", 10100, headers).then((resData) => {
|
$api.myRequest("/dashboard/auth/heart", {}, "POST", 10100, headers).then((resData) => {
|
||||||
if (resData.code == 200) {
|
if (isLogins) {
|
||||||
isLogin.value = true;
|
isLogin.value = true;
|
||||||
getUser();
|
getUser();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -160,6 +160,12 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="service-title">招聘会</view>
|
<view class="service-title">招聘会</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="service-item press-button" v-if="isFourLevelLinkagePurview" @click="helpClick">
|
||||||
|
<view class="service-icon service-icon-1">
|
||||||
|
<uni-icons type="shop" size="32" color="#FFFFFF"></uni-icons>
|
||||||
|
</view>
|
||||||
|
<view class="service-title">帮扶</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
</view>
|
</view>
|
||||||
@@ -690,6 +696,8 @@ onUnmounted(() => {
|
|||||||
onShow(() => {
|
onShow(() => {
|
||||||
// 获取最新的企业信息
|
// 获取最新的企业信息
|
||||||
getCompanyInfo();
|
getCompanyInfo();
|
||||||
|
//四级联动单点及权限
|
||||||
|
getIsFourLevelLinkagePurview()
|
||||||
});
|
});
|
||||||
|
|
||||||
// 监听用户信息变化,当登录状态改变时重新获取企业信息
|
// 监听用户信息变化,当登录状态改变时重新获取企业信息
|
||||||
@@ -717,6 +725,8 @@ const handleLoginSuccess = () => {
|
|||||||
|
|
||||||
// 重新获取企业信息
|
// 重新获取企业信息
|
||||||
getCompanyInfo();
|
getCompanyInfo();
|
||||||
|
//四级联动单点及权限
|
||||||
|
getIsFourLevelLinkagePurview()
|
||||||
};
|
};
|
||||||
|
|
||||||
// 处理附近工作点击
|
// 处理附近工作点击
|
||||||
@@ -773,7 +783,10 @@ const handleH5SalaryClick = () => {
|
|||||||
const salaryUrl = "https://www.mohrss.gov.cn/SYrlzyhshbzb/laodongguanxi_/fwyd/202506/t20250627_544623.html";
|
const salaryUrl = "https://www.mohrss.gov.cn/SYrlzyhshbzb/laodongguanxi_/fwyd/202506/t20250627_544623.html";
|
||||||
window.location.assign(salaryUrl);
|
window.location.assign(salaryUrl);
|
||||||
};
|
};
|
||||||
|
// 处理帮扶
|
||||||
|
const helpClick = () => {
|
||||||
|
navTo('/packageB/priority/helpFilter');
|
||||||
|
};
|
||||||
async function loadData() {
|
async function loadData() {
|
||||||
try {
|
try {
|
||||||
if (isLoaded.value) return;
|
if (isLoaded.value) return;
|
||||||
@@ -1056,7 +1069,21 @@ function getJobList(type = 'add') {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
const isFourLevelLinkagePurview=ref(false)
|
||||||
|
const getIsFourLevelLinkagePurview=()=>{
|
||||||
|
let userInfo = uni.getStorageSync('userInfo')
|
||||||
|
if(userInfo){
|
||||||
|
$api.myRequest('/auth/login2/ks',{userid: userInfo.dwUserid, idcardno: userInfo.idCard},"POST",9100,{}).then(res=>{
|
||||||
|
if(res.code == 200){
|
||||||
|
uni.setStorageSync('fourLevelLinkage-token',res.data.access_token)
|
||||||
|
let roleIdList= ['103','106','107']
|
||||||
|
if(res.data.roleIdList.some(item=>roleIdList.includes(item))){
|
||||||
|
isFourLevelLinkagePurview.value=true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
function dataToImg(data) {
|
function dataToImg(data) {
|
||||||
const result = data.map((item) => ({
|
const result = data.map((item) => ({
|
||||||
...item,
|
...item,
|
||||||
@@ -1072,10 +1099,24 @@ import storeRc from '@/utilsRc/store/index.js';
|
|||||||
function goRc(){
|
function goRc(){
|
||||||
if (checkLogin()) {
|
if (checkLogin()) {
|
||||||
let userInfo = uni.getStorageSync('userInfo')
|
let userInfo = uni.getStorageSync('userInfo')
|
||||||
storeRc.dispatch('LoginByUserInfo', userInfo).then(res => {
|
if(userInfo.isCompanyUser == 2){
|
||||||
// console.log(res, "'res");
|
storeRc.dispatch('LoginByID', userInfo.userId).then(res => {
|
||||||
navTo('/packageRc/pages/index/index');
|
// storeRc.dispatch('LoginByID', 2025111679160750).then(res => {
|
||||||
|
storeRc.dispatch('GetInfo').then(res => {
|
||||||
|
navTo('/packageRc/pages/daiban/daiban');
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
// test0001 202511491561998
|
||||||
|
// test0002 202511381669113
|
||||||
|
// test0003 2025111679160750
|
||||||
|
}else if(userInfo.isCompanyUser == 1){
|
||||||
|
storeRc.dispatch('LoginByUserInfo', userInfo).then(res => {
|
||||||
|
navTo('/packageRc/pages/index/index');
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
showToast('企业账号无法查看此模块~');
|
||||||
|
}
|
||||||
|
// storeRc.dispatch('LoginByID', userInfo.userId).then(res => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 跳转到素质测评
|
// 跳转到素质测评
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const handleLogin = async () => {
|
|||||||
icon: 'success'
|
icon: 'success'
|
||||||
})
|
})
|
||||||
// window.location.assign('http://222.80.110.161:11111/mechine-dual-vue/login')
|
// window.location.assign('http://222.80.110.161:11111/mechine-dual-vue/login')
|
||||||
window.location.assign('http://222.80.110.161:11111/mechine-single-vue/login')
|
window.location.assign('http://222.80.110.161:80/mechine-single-vue/login')
|
||||||
// // 跳转到首页
|
// // 跳转到首页
|
||||||
// uni.reLaunch({
|
// uni.reLaunch({
|
||||||
// url: '/pages/index/index'
|
// url: '/pages/index/index'
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ export function request({
|
|||||||
* @param header Object,headers,默认:{}
|
* @param header Object,headers,默认:{}
|
||||||
* @returns promise
|
* @returns promise
|
||||||
**/
|
**/
|
||||||
export function createRequest(url, data = {}, method = 'GET', loading = false, headers = {}) {
|
export function createRequest(url, data = {}, method = 'GET', loading = false, headers = {},needHeader = true) {
|
||||||
if (loading) {
|
if (loading) {
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: '请稍后',
|
title: '请稍后',
|
||||||
@@ -86,7 +86,9 @@ export function createRequest(url, data = {}, method = 'GET', loading = false, h
|
|||||||
}
|
}
|
||||||
|
|
||||||
const header = headers || {};
|
const header = headers || {};
|
||||||
|
if(needHeader){
|
||||||
header["Authorization"] = encodeURIComponent(Authorization);
|
header["Authorization"] = encodeURIComponent(Authorization);
|
||||||
|
}
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
uni.request({
|
uni.request({
|
||||||
url: config.baseUrl + url,
|
url: config.baseUrl + url,
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Descripttion:
|
* @Descripttion:
|
||||||
* @Author: lip
|
* @Author: lip
|
||||||
* @Date: 2022-12-28 13:59:09
|
* @Date: 2022-12-28 13:59:09
|
||||||
* @LastEditors: lip
|
* @LastEditors: shirlwang
|
||||||
*/
|
*/
|
||||||
// 应用全局配置
|
// 应用全局配置
|
||||||
import config from '@/config.js'
|
import config from '@/config.js'
|
||||||
@@ -10,7 +10,7 @@ import config from '@/config.js'
|
|||||||
let exports = {
|
let exports = {
|
||||||
// ========== baseUrl 配置方式选择 ==========
|
// ========== baseUrl 配置方式选择 ==========
|
||||||
// 方式1:硬编码baseUrl(main分支使用,合并到main时不会影响现有功能)
|
// 方式1:硬编码baseUrl(main分支使用,合并到main时不会影响现有功能)
|
||||||
baseUrl: 'http://222.80.110.161:11111/sdrc-api', // 正式环境在济南人才上部署(不要轻易连接)
|
baseUrl: 'http://222.80.110.161:80/sdrc-api', // 正式环境在济南人才上部署(不要轻易连接)
|
||||||
|
|
||||||
// 方式2:引用根目录config.js的baseUrl(CareerMap分支可选方式,如需使用请注释掉方式1,取消注释此方式)
|
// 方式2:引用根目录config.js的baseUrl(CareerMap分支可选方式,如需使用请注释掉方式1,取消注释此方式)
|
||||||
// baseUrl: config.baseUrl, // 引用根目录config.js的baseUrl,避免重复配置
|
// baseUrl: config.baseUrl, // 引用根目录config.js的baseUrl,避免重复配置
|
||||||
@@ -26,13 +26,13 @@ let exports = {
|
|||||||
// baseUrl: 'http://ks.zhaopinzao8dian.com/api/ks', // 已从根目录config.js引用,不再重复配置
|
// baseUrl: 'http://ks.zhaopinzao8dian.com/api/ks', // 已从根目录config.js引用,不再重复配置
|
||||||
|
|
||||||
// ========== 职业图谱专用baseUrl ==========
|
// ========== 职业图谱专用baseUrl ==========
|
||||||
zytpBaseUrl: 'http://222.80.110.161:11111/career-map/api/ks_zytp/admin-api/zytp',
|
zytpBaseUrl: 'http://222.80.110.161:80/career-map/api/ks_zytp/admin-api/zytp',
|
||||||
|
|
||||||
// ========== 用户接口专用baseUrl(其他用户接口使用) ==========
|
// ========== 用户接口专用baseUrl(其他用户接口使用) ==========
|
||||||
userBaseUrl: 'http://ks.zhaopinzao8dian.com/api/ks', // 用户相关接口使用根目录config.js的baseUrl
|
userBaseUrl: 'http://ks.zhaopinzao8dian.com/api/ks', // 用户相关接口使用根目录config.js的baseUrl
|
||||||
|
|
||||||
// ========== appUserInfo接口专用baseUrl ==========
|
// ========== appUserInfo接口专用baseUrl ==========
|
||||||
appUserInfoBaseUrl: 'http://222.80.110.161:11111/api/ks', // appUserInfo接口专用,与其他接口路径不一致
|
appUserInfoBaseUrl: 'http://222.80.110.161:80/api/ks', // appUserInfo接口专用,与其他接口路径不一致
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import constant from '@/utilsRc/constant'
|
|||||||
import {
|
import {
|
||||||
login,
|
login,
|
||||||
// logout,
|
// logout,
|
||||||
|
loginByUserId,
|
||||||
getInfo,
|
getInfo,
|
||||||
register,
|
register,
|
||||||
smsLogin,
|
smsLogin,
|
||||||
@@ -107,6 +108,25 @@ const user = {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 网格员登录
|
||||||
|
LoginByID({
|
||||||
|
commit,
|
||||||
|
// state
|
||||||
|
}, userInfo) {
|
||||||
|
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
// const info = JSON.parse(JSON.stringify(userInfo))
|
||||||
|
// info.password = '04' + sm2.doEncrypt(info.password, state.publicKey, 0)
|
||||||
|
// info.username = '04' + sm2.doEncrypt(info.username, state.publicKey, 0)
|
||||||
|
loginByUserId(userInfo).then(res => {
|
||||||
|
setToken(res.token)
|
||||||
|
commit('SET_TOKEN', res.token)
|
||||||
|
resolve(res)
|
||||||
|
}).catch(error => {
|
||||||
|
reject(error)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
// 登录
|
// 登录
|
||||||
Login({
|
Login({
|
||||||
commit,
|
commit,
|
||||||
|
|||||||
Reference in New Issue
Block a user