You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bocai_supplyChain_pc/src/views/main.vue

1134 lines
35 KiB
Vue

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<div class="index-container" @click="isspecialboxshow = false">
<!-- title部分 -->
<div class="pagetitle" v-if="isLogin && routertitleindex != 0">
<div class="w fsa">
<div class="fss">
<router-link to="/main">
<svg class="svg_icon f64" aria-hidden="true">
<use xlink:href="#icon-daotian2" />
</svg>
</router-link>
</div>
<span class="login fsa">
<div class="f14 pr16 mr16" style="line-height:1;border-right:1px solid #979797;cursor:pointer">
<!-- <i class="iconfont icon-qiehuan cf4 f12 mr4"></i>切换到公开版 -->
</div>
<div>
<ul class="fsa titleTag">
<li>
<router-link to="/" :class="routertitleindex == 0 ? 'titleactive' : ''" rel="opener">首页</router-link>
</li>
<li>
<router-link to="/list" @click.native="toList" :class="routertitleindex == 1 ? 'titleactive' : ''" rel="opener">稻田职位</router-link>
</li>
<li>
<router-link to="/mybill" :class="routertitleindex == 5 ? 'titleactive' : ''" rel="opener">我的报名</router-link>
</li>
<!--<li>
<router-link to="/mytownsman" :class="routertitleindex == 4 ? 'titleactive' : ''">我的老乡</router-link>
</li>-->
<!-- <li>
<router-link to="/dataStatistics" :class="routertitleindex == 6 ? 'titleactive' : ''">团队数据</router-link>
</li>-->
<!-- <li>
<router-link to="/serviceoutlets"
><a
href="javascript:;"
:class="routertitleindex === 2 ? 'titleactive' : ''"
>服务网点</a
>
</router-link>
</li>
<li>
<router-link to="/aboutus">
<a
href="javascript:;"
:class="routertitleindex === 3 ? 'titleactive' : ''"
>关于我们</a
>
</router-link>
</li>-->
</ul>
</div>
<span v-if="isLogin" class="logined fsa">
<div class v-if="loginValue.agencyName == '郑州一才工作'">
<a-dropdown :trigger="['click']" v-if="false" overlayClassName="logindropdown" placement="bottomRight" :getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
">
<div class="mr20 user-box">
<i class="iconfont icon-xiaoxi"></i>
</div>
<div class="loginbox" slot="overlay">
<router-link to="/systemMsg">
<div>
<span>
<i class="iconfont icon-xitongtongzhi"></i>系统通知
</span>
<i class="iconfont icon-youjiantou"></i>
</div>
</router-link>
<router-link to="/teamMsg">
<div style="border-bottom: none;">
<span>
<i class="iconfont icon-tuanduitongzhi"></i>团队通知
</span>
<i class="iconfont icon-youjiantou"></i>
</div>
</router-link>
</div>
</a-dropdown>
</div>
<a-dropdown :trigger="['click']" overlayClassName="logindropdown" placement="bottomRight" :getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
">
<span class="fsa fsa-box">
<span class="iconfont icon-morentouxiang mr4 f32" v-if="!userbaseInfo.imgSrc"></span>
<img :src="userbaseInfo.imgSrc" class="mr4" style="border-radius:50%;width:28px;height:28px;" alt v-else />
<div class="ml4 f14 c6">{{ userbaseInfo.userName || '-' }}</div>
</span>
<div class="loginbox" slot="overlay">
<router-link to="/accountsetting">
<div>
<span>
<i class="iconfont icon-gerenzhongxin"></i>个人中心
</span>
<i class="iconfont icon-youjiantou"></i>
</div>
</router-link>
<!-- <router-link to="/merchantBack" v-if="loginValue.agencyName == '郑州一才工作' ">
<div>
<span>
<i class="iconfont icon-shangjiahoutai"></i>商家后台and1.0
</span>
<i class="iconfont icon-youjiantou"></i>
</div>
</router-link>-->
<!-- 2023-11-29 注释该条件 && (loginValue.agencyRole == 2 || loginValue.agencyRole == 1 ) -->
<router-link to="###" v-if="loginValue.agencyName == '郑州一才工作'">
<div @click="goAdmin">
<span>
<i class="iconfont icon-shangjiahoutai"></i>商家后台
</span>
<i class="iconfont icon-youjiantou"></i>
</div>
</router-link>
<router-link to="###" v-if="loginValue.agencyName == '郑州一才工作'">
<div @click="goJiaofu">
<span>
<i class="iconfont icon-jiaofuzhushouicon"></i>交付助手
</span>
<i class="iconfont icon-youjiantou"></i>
</div>
</router-link>
<button @click="logout">退出登录</button>
</div>
</a-dropdown>
</span>
<span class="loginbtn" v-else>
<router-link to="/login">
<button style="cursor: pointer">登录</button>
</router-link>
</span>
</span>
</div>
</div>
<div class="fsa titleSlogan w" v-if="routertitleindex == 0 ">
<!-- <div> -->
<svg class="svg_icon" aria-hidden="true">
<use xlink:href="#icon-daotian-logo" />
</svg>
<!-- </div> -->
<div v-if="!isLogin">
<router-link to="/list" style="display: inline-block; width: 100%">注册/登录</router-link>
</div>
<div v-else>
<router-link to="/list" style="display: inline-block; width: 100%">进入稻田</router-link>
</div>
</div>
<router-view :isspecialboxshow.sync="isspecialboxshow" :formvalue="formvalue" :jobMainList="jobMainList" :isspinning="isspinning"></router-view>
<!-- 老乡广告 -->
<!-- <div class="fellowtownsman" v-if="laoxiangshow">
<div class="w">
<div class="title">
<h1><span></span>老乡们都想去</h1>
</div>
<div class="main">
<div
class="jobinfobox"
v-for="(item, index) in fellowList"
:key="index"
>
<router-link :to="'/detail/' + item.id">
<a href="javascript:;" @click="resetpage">
<div class="imgbox">
<img v-if="item.logo" :src="item.logo" alt="" />
<img v-else src="../../../assets/nopicture.png" alt="" />
<span>服务费<i>1.3</i>元/小时</span>
</div>
<div class="jobname">{{ item.aliasName }}</div>
</a>
</router-link>
<div class="jobinfo">
<span>{{ item.district }}</span>
<span>{{ item.gender }}</span>
<span>{{ item.age }}</span>
</div>
<div class="jobtag">
<span>返费</span>
<span
v-for="(item1, index) in item.jobSpecialLabelNames"
:key="index"
>{{ item1 }}</span
>
</div>
<div class="jobprice">
<template v-if="item.hourlyPay"
><span>{{ item.hourlyPayTemp / 100 }}</span
>元/小时</template
>
<template v-else-if="item.dayPay"
><span>{{ item.hourlyPayTemp / 100 }}</span
>元/日</template
>
</div>
</div>
</div>
</div>
</div>-->
<!-- banner广告栏 -->
<!-- <div class="banner" v-if="isbannershow">
<div class="w">
<i class="iconfont icon-yigezhuanmenfuwudailidepingtai"></i>
</div>
</div>-->
<!-- footer部分 -->
<footer v-if="isfootershow" :class="loginPage ? 'footer_abs':''">
<div class="w">
<!-- <ul>
<li @click="totop"><router-link to="/list">一手职位</router-link></li>
<li></li>
<li @click="totop">
<router-link to="/serviceoutlets">服务网点</router-link>
</li>
<li></li>
<li @click="totop">
<router-link to="/aboutus">关于我们</router-link>
</li>
</ul>-->
<div>
<span>
Powered by
<svg class="svg_icon ml4" style="font-size:46px;margin-top:-2px" aria-hidden="true">
<use xlink:href="#icon-bocai2" />
</svg>Copyright © 2015-2023 Bocai. All Rights Reserved.
</span>
<a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index">豫ICP备2023001993号</a>
</div>
</div>
</footer>
</div>
</template>
<script>
// import joblist from "../components/firstjob/joblist.vue";
import Cookies from 'js-cookie'
import {
JobListApi,
// getCityApi,
} from '../api/job'
import { logoutApi } from '../api/login'
import { disposeJobListData } from '../utils/commonUtil'
export default {
inject: ['reload'],
provide() {
return {
getJobList: this.getJobList,
logout: this.logout,
}
},
// 组件名称
name: '',
// 局部注册的组件
components: {
// joblist,
},
// 组件参数 接收来自父组件的数据
props: {},
// 组件状态值
data() {
return {
fellowList: [],
isspinning: false,
isspecialboxshow: false,
isfootershow: true,
laoxiangshow: false,
isbannershow: true,
isLogin: false,
loginValue: {},
jobMainList: [],
formvalue: {
// 筛选的上传参数
district: [], // 城镇数据
monthlyPayStr: [], // 每月工资
ageStr: '', // 年龄数据
jobSpecialLabelIds: [], // 特色标签索引
aliasName: '',
sex: [],
pageNum: 1,
pageSize: 8,
total: null, //分页配置
},
userbaseInfo: JSON.parse(localStorage.getItem('LOGIN_DATA')),
loginPage: false,
routertitleindex: 0,
}
},
// 计算属性
computed: {
// routertitleindex: {
// set() {},
// get() {
// const path = this.$route.fullPath
// if (path.indexOf('serviceoutlets') > -1) {
// return 2
// } else if (path.indexOf('list') > -1 || path.indexOf('detail') > -1) {
// return 1
// } else if (path.indexOf('aboutus') > -1) {
// return 3
// } else if (path.indexOf('main') > -1) {
// return 0
// } else if (path.indexOf('mytownsman') > -1) {
// return 4
// } else if (path.indexOf('mybill') > -1) {
// return 5
// } else if (path.indexOf('dataStatistics') > -1) {
// return 6
// } else {
// return 7
// }
// },
// },
// isLogin() {
// return localStorage.getItem("LOGIN_DATA") !== null ? true : false;
// },
// loginValue() {
// return localStorage.getItem("LOGIN_DATA") !== null
// ? JSON.parse(localStorage.getItem("LOGIN_DATA"))
// : { tel: "" };
// return JSON.parse(data)
// },
},
// 侦听器
watch: {
routertitleindex() {
// const path = this.$route.fullPath
// if (path.indexOf('serviceoutlets') > -1) {
// this.laoxiangshow = true
// } else if (path.indexOf('list') > -1 || path.indexOf('detail') > -1) {
// this.laoxiangshow = true
// } else if (path.indexOf('aboutus') > -1) {
// this.laoxiangshow = false
// } else {
// this.laoxiangshow = true
// }
this.showfooter()
},
$route: {
handler(to) {
console.log()
// console.log("ischange");
// console.log(to);
// console.log(from);
// console.dir(this.navigationBarLocation);
window.addEventListener('scroll', this.navigationBarLocation)
window.addEventListener('scroll', this.windowScroll) //监听页面滚动
if (to.fullPath.indexOf('serviceoutlets') > -1) {
this.routertitleindex = 2
} else if (to.fullPath.indexOf('list') > -1 || to.fullPath.indexOf('detail') > -1) {
this.routertitleindex = 1
} else if (to.fullPath.indexOf('aboutus') > -1) {
this.routertitleindex = 3
} else if (to.fullPath.indexOf('main') > -1) {
this.routertitleindex = 0
} else if (to.fullPath.indexOf('mytownsman') > -1) {
this.routertitleindex = 4
} else if (to.fullPath.indexOf('mybill') > -1) {
this.routertitleindex = 5
} else if (to.fullPath.indexOf('dataStatistics') > -1) {
this.routertitleindex = 6
} else {
this.routertitleindex = 7
}
if (to.fullPath == '/login') {
this.loginPage = true
this.isLogin = false
} else {
this.loginPage = false
}
if (to.fullPath == '/list') {
window.removeEventListener('scroll', this.navigationBarLocation)
return
} else if (to.fullPath == '/main') {
window.removeEventListener('scroll', this.windowScroll)
return
}
window.removeEventListener('scroll', this.navigationBarLocation)
window.removeEventListener('scroll', this.windowScroll)
},
deep: true,
immediate: true,
},
// isLogin() {
// this.isLogin = JSON.parse(localStorage.getItem("LOGIN_DATA"));
// console.log(this.isLogin);
// },
},
// 生命周期钩子 注:没用到的钩子请自行删除
/**
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/
created() {
console.log(this.$route)
if (this.$route.fullPath != '/login') {
this.loginPage = false
}
if (localStorage.getItem('LOGIN_DATA')) {
this.isLogin = true
}
this.getJobList()
this.isLaoxiangshow()
this.getRecommendJob()
this.showfooter()
},
/**
* el 被新创建的 vm.el 替换,并挂载到实例上去之后调用该钩子。
* 如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.el 也在文档内。
*/
mounted() {
this.loginValue = localStorage.getItem('LOGIN_DATA') !== null ? JSON.parse(localStorage.getItem('LOGIN_DATA')) : { tel: '' }
console.log(this.loginValue)
// console.log(document.querySelector(".ant-pagination-options-quick-jumper"));
},
// 组件方法
methods: {
/**
* 处理后台返回的职位列表
*/
// windowScroll() {
// // console.log(e);
// let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
// // console.log(scrollTop); // 获取到页面滚动的值,
// let navigation = document.getElementById("navigation");
// let content = document.getElementById("maincontent");
// // let filterbox = document.querySelector(".w");
// // console.log(filterbox);
// // console.log(content);
// // let left = ("100vw" - "1200px") / 2;
// // console.log(navigator.userAgent);
// if (this.$route.fullPath == "/list") {
// if (scrollTop >= 81) {
// navigation.style.position = "fixed";
// navigation.style.top = "0px";
// navigation.style.boxShadow = "2px 2px 4px 0px rgba(0,0,0,0.05)";
// content.style.marginTop = "64px";
// if (navigator.userAgent.indexOf("Mac OS X") == -1) {
// navigation.style.paddingLeft = "35px";
// }
// } else {
// navigation.style.position = "relative";
// navigation.style.right = "0";
// content.style.marginTop = "16px";
// navigation.style.boxShadow = "none";
// if (navigator.userAgent.indexOf("Mac OS X") == -1) {
// navigation.style.paddingLeft = "0px";
// }
// }
// }
// },
navigationBarLocation() {
let navigationBar = document.getElementById('navigationBar')
let aboutBill = document.getElementById('aboutBill')
// console.log(navigationBar.getBoundingClientRect().top);
// console.log(aboutBill);
// console.log(aboutBill.getBoundingClientRect().top);
if (this.$route.fullPath == '/main') {
if (navigationBar.getBoundingClientRect().top <= 0 && aboutBill.getBoundingClientRect().top < 84) {
navigationBar.style.position = 'fixed'
navigationBar.style.top = '0px'
navigationBar.style.boxShadow = '0 0 10px 0 #eee'
navigationBar.style.width = '1920px'
} else if (navigationBar.getBoundingClientRect().top == 0 && aboutBill.getBoundingClientRect().top >= 84) {
// console.log('isbig');
navigationBar.style.position = 'absolute'
navigationBar.style.top = 'unset'
navigationBar.style.bottom = '0px'
navigationBar.style.boxShadow = 'none'
navigationBar.style.width = '1200px'
}
}
},
// 获取工作列表
async getJobList(newdata) {
this.isspinning = true
console.log(this.formvalue)
try {
newdata = {
district: '',
monthlyPayStr: '',
ageStr: '',
jobSpecialLabelIds: '',
aliasName: '',
pageNum: 1,
pageSize: 8,
total: null, //分页配置
}
for (var k in this.formvalue) {
// console.log(this.formvalue[k]);
if (Array.isArray(this.formvalue[k])) {
newdata[k] = this.formvalue[k].length > 0 ? this.formvalue[k].join() : ''
} else {
newdata[k] = this.formvalue[k]
}
}
// console.log(newdata);
// debugger;
// console.log(this.isLogin);
if (this.isLogin) {
const { data } = await JobListApi(newdata)
// console.log(data);
if (data.status === 200) {
this.jobMainList = disposeJobListData(data.data.recordList)
this.formvalue.total = data.data.recordCount
console.log(this.jobMainList)
} else {
this.$message.info('数据获取失败')
}
}
this.totop()
// = data.data.recordList;
// console.log(this.formvalue);
} catch (error) {
console.log(error)
}
this.isspinning = false
},
totop() {
// console.log(window);
document.body.scrollTop = 0
document.documentElement.scrollTop = 0
// window.body.scrollY = 0;
},
isLaoxiangshow() {
const path = this.$route.fullPath
if (path.indexOf('serviceoutlets') > -1) {
this.laoxiangshow = true
} else if (path.indexOf('list') > -1 || path.indexOf('detail') > -1) {
this.laoxiangshow = true
} else if (path.indexOf('aboutus') > -1) {
this.laoxiangshow = false
} else {
this.laoxiangshow = true
}
},
async getRecommendJob() {
this.isspinning = true
try {
if (this.isLogin) {
const { data } = await JobListApi({
pageNum: 1,
pageSize: 4,
jobCategory: 608,
})
// console.log(data);
this.fellowList = disposeJobListData(data.data.recordList)
// console.log(this.fellowList);
}
// this.$emit("update:relationList", this.relationList);
} catch (error) {
console.log(error)
}
this.isspinning = false
},
async logout() {
// logoutApi().then((result) => {
// console.log(result);
// });
try {
const data = await logoutApi()
console.log(data)
if (data.status === 200) {
localStorage.removeItem('LOGIN_DATA')
this.reload()
this.$router.push('/main')
} else {
console.log(1)
}
// this.fellowList = disposeJobListData(data.data.recordList);
// this.isspinning = false;
// console.log(this.fellowList);
// this.$emit("update:relationList", this.relationList);
} catch (error) {
console.log(error)
this.$message.warning(error.message)
}
// console.log(data);
// if (data.status === 200) {
// localStorage.removeItem("LOGIN_DATA");
// }
},
resetpage() {
console.log(1)
setTimeout(() => {
this.reload()
document.body.scrollTop = 0
document.documentElement.scrollTop = 0
}, 1000)
},
showfooter() {
const path = this.$route.fullPath
if (path.indexOf('main') > -1) {
this.isbannershow = false
this.isfootershow = false
} else {
this.isbannershow = true
this.isfootershow = true
}
if (path.indexOf('login') > -1 && path.indexOf('loginpsw') == -1) {
this.isbannershow = false
}
},
toList() {
console.log(this.$router)
// this.$router.go(0);
// window.location.reload();
this.reload()
},
goAdmin() {
let obj = JSON.parse(localStorage.getItem('LOGIN_DATA'))
console.log(JSON.stringify(obj.user))
if (window.location.hostname == 'localhost') {
// 测试环境通过URL获取token
window.open('http://localhost:3000/#/merchantManagement/homePage?token=' + obj.token + '&username=' + (obj.user.userName ? obj.user.userName : obj.user.nickName) + '&avatar=' + obj.imgSrc + '&roleid=' + obj.user.agencyRoleId + '&agencyid=' + obj.user.agencyId + '&userInfo=' + JSON.stringify(obj))
} else {
// 正式环境,通过缓存获取
localStorage.setItem('daotian_to_admin_token', obj.token)
localStorage.setItem('daotian_to_admin', JSON.stringify(obj))
localStorage.setItem('daotian_to_admin_token', obj.token)
localStorage.setItem('daotian_to_admin_avatar', obj.imgSrc)
localStorage.setItem('daotian_to_admin_username', obj.user.userName ? obj.user.userName : obj.user.nickName)
localStorage.setItem('daotian_to_admin_roleid', obj.user.agencyRoleId)
localStorage.setItem('daotian_to_admin_agencyid', obj.user.agencyId)
if (window.location.origin.indexOf('www') > -1) {
window.open('http://www.idaotian.com/dist2.0.0/#/merchantManagement/homePage')
} else {
window.open('http://idaotian.com/dist2.0.0/#/merchantManagement/homePage')
}
}
},
goJiaofu() {
let obj = JSON.parse(localStorage.getItem('LOGIN_DATA'))
if (window.location.hostname == 'localhost') {
// 测试环境通过URL获取token
window.open('http://localhost:3000/#/other/delivery?token=' + obj.token + '&username=' + (obj.user.userName ? obj.user.userName : obj.user.nickName) + '&avatar=' + obj.imgSrc + '&roleid=' + obj.user.agencyRoleId + '&agencyid=' + obj.user.agencyId + '&userInfo=' + JSON.stringify(obj))
} else {
// 正式环境,通过缓存获取
localStorage.setItem('daotian_to_admin_token', obj.token)
localStorage.setItem('daotian_to_admin', JSON.stringify(obj))
localStorage.setItem('daotian_to_admin_avatar', obj.imgSrc)
localStorage.setItem('daotian_to_admin_username', obj.user.userName ? obj.user.userName : obj.user.nickName)
localStorage.setItem('daotian_to_admin_roleid', obj.user.agencyRoleId)
localStorage.setItem('daotian_to_admin_agencyid', obj.user.agencyId)
if (window.location.origin.indexOf('www') > -1) {
window.open('http://www.idaotian.com/dist2.0.0/#/other/delivery')
} else {
window.open('http://idaotian.com/dist2.0.0/#/other/delivery')
}
}
},
},
}
</script>
<style scoped lang="less">
.index-container {
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
& > div:nth-child(2) {
flex: 1;
}
.titleSlogan {
position: absolute;
left: 50%;
top: -6px;
// padding-top: 32px;
transform: translateX(-50%);
z-index: 9;
svg {
font-size: 120px;
}
div {
// width: 68px;
height: 32px;
padding: 0 16px;
font-size: 14px;
line-height: 30px;
text-align: center;
border-radius: 999px;
cursor: pointer;
color: #fff;
border: 1px solid #fff;
text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.4);
background-color: rgba(255, 255, 255, 0);
transition: all 0.3s;
&:hover {
// background-color: rgba(255, 255, 255, 0.3);
background-color: #ff4400;
border-color: transparent;
}
}
}
/deep/ .pagetitle {
background-color: #f0f0f0;
padding: 0;
height: 56px;
display: flex;
align-items: center;
// height: 32px;
// width: 100vw;
// font-size: 16px;
.titleactive {
// font-size: 18px;
font-weight: bold;
// font-weight: normal;
color: #ff4400;
}
.w {
overflow: hidden;
// display: flex;
// justify-content: space-between;
// line-height: 36px;
.titleTag {
font-size: 14px;
display: flex;
margin-left: 150px;
li {
font-weight: normal;
color: #666;
margin-right: 32px;
line-height: 64px;
// text-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.05);
a {
transition: none;
&:hover {
color: #ff4400;
}
}
}
}
.navigationright {
float: right;
margin-right: 24px;
font-size: 16px;
ul {
display: flex;
text-align: center;
line-height: 52px;
li {
cursor: pointer;
a.titleactiveafter {
font-size: 16px;
font-weight: bold;
color: #ff4400;
}
a:hover {
color: #ff4400;
}
&:first-child {
margin-right: 24px;
}
}
}
}
.login {
float: right;
// width: 36px;
line-height: 24px;
.loginbtn {
width: 70px;
}
.loginbtn {
margin-top: 02px;
button {
width: 70px;
height: 24px;
font-size: 12px;
margin-top: 5px;
background-color: #fff;
border: 1px solid #ff4400;
line-height: 22px;
border-radius: 999px;
color: #ff4400;
text-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.05);
&:hover {
border-color: rgba(255, 68, 0, 0.8);
color: rgba(255, 68, 0, 0.8);
}
}
}
.logined {
// border-radius: 999px;
overflow: hidden;
border: 1px solid #eee;
line-height: 38px;
/*margin-top: 4px;*/
font-size: 14px;
cursor: default;
&:hover {
color: #ff4400;
}
// width: 24px;
// height: 24px;
img {
width: 24px;
height: 24px;
}
// span {
// width: 36px;
// height: 36px;
// margin-top: 4px;
// // margin-left: 33px;
// border-radius: 999px;
// // background-color: #ff4400;
// margin-right: -3px;
// text-align: center;
// }
// i {
// font-size: 32px;
// line-height: 30px;
// color: #ff4400;
// cursor: pointer;
// &:hover {
// color: #ff4400;
// }
// }
}
}
}
}
.fellowtownsman {
// height: 641px;
background: #ffffff;
.w {
padding: 30px 0;
.title {
font-size: 24px;
text-align: left;
color: #4d575e;
line-height: 56px;
h1 {
span {
display: inline-block;
vertical-align: middle;
margin-top: -4px;
width: 4px;
height: 25px;
margin-right: 8px;
background: #ff4400;
}
}
}
.main {
display: flex;
justify-content: start;
margin-top: 30px;
.jobinfobox {
width: 288px;
// height: 385px;
margin-bottom: 16px;
margin-right: 20px;
background: #ffffff;
border: 1px solid rgba(77, 87, 94, 0.1);
border-radius: 4px;
padding: 20px;
.imgbox {
position: relative;
width: 248px;
height: 186px;
img {
width: 100%;
height: 100%;
}
span {
position: absolute;
padding: 0 10px;
// width: 149px;
height: 28px;
left: 0;
bottom: 0;
background: #ff4400;
border-radius: 16px 16px 16px 0px;
font-size: 16px;
text-align: center;
color: #ffffff;
line-height: 28px;
}
}
.jobname {
height: 52px;
// margin: 12px 0;
font-size: 20px;
font-weight: normal;
text-align: left;
color: #4d575e;
line-height: 52px;
border-bottom: 1px solid #f2f0ec;
}
.jobinfo {
margin-top: 11px;
opacity: 0.5;
font-size: 18px;
text-align: left;
color: #4d575e;
line-height: 22px;
}
.jobtag {
margin-top: 12px;
text-align: left;
span:first-child {
color: #ff4400;
background: rgba(254, 97, 0, 0.1);
}
span {
margin-right: 8px;
font-size: 16px;
padding: 3px 8px;
background: rgba(51, 51, 51, 0.06);
border-radius: 4px;
}
}
.jobprice {
margin-top: 12px;
font-size: 18px;
font-weight: normal;
text-align: left;
color: #ff4400;
line-height: 25px;
span {
font-size: 22px;
}
}
}
}
}
}
.banner {
height: 72px;
margin-top: 20px;
background-color: #ff4400;
margin-bottom: -20px;
.w {
display: flex;
height: 100%;
justify-content: center;
align-items: center;
i {
font-size: 32px;
color: #fff;
}
img:last-child {
width: 173px;
height: 42px;
margin-right: 110px;
}
}
// background-color: black;
}
.footer_abs {
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
}
footer {
padding: 40px 30px;
margin-top: 20px;
.w {
ul {
display: flex;
justify-content: center;
li {
font-size: 16px;
text-align: center;
color: #4d575e;
line-height: 25px;
}
li:nth-of-type(2n) {
width: 1px;
height: 20px;
margin: 5px 54px;
background-color: #4d575e;
}
}
div {
text-align: center;
// margin-top: 16px;
color: #4d575e;
font-size: 12px;
i {
display: inline-block;
vertical-align: middle;
width: 1px;
height: 16px;
margin: 0 10px;
background-color: #4d575e;
}
}
}
}
}
.loginbox {
line-height: 36px;
> div:first-child {
display: flex;
align-items: center;
padding: 16px 0;
img {
width: 24px;
height: 24px;
margin-right: 8px;
}
}
.username {
max-width: 120px;
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.avatar {
display: block;
line-height: 24px;
font-size: 24px !important;
color: #ff4400;
margin-right: 8px;
}
a {
div {
padding: 10px 0;
align-items: center;
}
}
button {
line-height: 28px;
&:hover {
border-color: #ff4400;
}
}
}
.shadow:hover {
cursor: default;
// text-shadow: 4px 4px 4px #000;
transform: scale(1.05);
img {
// box-shadow: 3px 3px 3px 3px #00000033;
}
}
.f40 {
/deep/ .ant-table {
.ant-table-thead > tr > th .ant-table-column-sorter .ant-table-column-sorter-inner .ant-table-column-sorter-up.on,
.ant-table-thead > tr > th .ant-table-column-sorter .ant-table-column-sorter-inner .ant-table-column-sorter-down.on {
color: #ff4400;
}
.ant-table-thead > tr.ant-table-row-hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td,
.ant-table-tbody > tr.ant-table-row-hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td,
.ant-table-thead > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td,
.ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {
background: #fff3ef;
}
.ant-radio-checked .ant-radio-inner {
border-color: #ff4400 !important;
box-shadow: none !important;
}
.ant-radio-checked .ant-radio-inner::after {
background-color: #ff4400 !important;
}
.ant-radio:hover .ant-radio-inner {
border-color: #ff4400 !important;
box-shadow: none;
}
.ant-radio-checked .ant-radio-inner::after {
background-color: #ff4400 !important;
}
.ant-radio-checked:hover .ant-radio-inner {
border-color: #ff4400 !important;
}
.ant-radio {
border-color: #ddd !important;
box-shadow: none !important;
}
.ant-btn-primary:hover {
border-color: #ff4400;
background-color: #ff5416;
color: #fff;
}
.ant-input:hover {
border-color: #ff4400;
}
}
}
.user-box {
width: 44px;
height: 44px;
border-radius: 50%;
background-color: transparent;
text-align: center;
line-height: 44px;
margin-right: 12px !important;
cursor: pointer;
&:hover {
background-color: #e5e5e5;
}
&:active {
background-color: #d9d9d9;
}
}
.fsa-box {
padding: 1px 12px;
background: transparent;
border-radius: 4px;
cursor: pointer;
&:hover {
background-color: #e5e5e5;
}
&:active {
background-color: #d9d9d9;
}
}
/deep/ .ant-dropdown {
top: 68px !important;
}
</style>