cyl/dev
wangxia 4 years ago
parent a1b510ab7b
commit 46a148ac1b

@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<!-- <title><%= htmlWebpackPlugin.options.title %></title> --> <!-- <title><%= htmlWebpackPlugin.options.title %></title> -->
<title>稻田一手单-伯才旗下一手单平台</title> <title>伯才一手单-伯才旗下一手单平台</title>
</head> </head>
<body> <body>
<noscript> <noscript>

@ -22,7 +22,7 @@ export default {
methods: { methods: {
loader() { loader() {
this.isRouterViewshow = false; this.isRouterViewshow = false;
// console.log(123); console.log(123);
this.$nextTick(() => { this.$nextTick(() => {
this.isRouterViewshow = true; this.isRouterViewshow = true;
}); });

@ -110,3 +110,13 @@ export function getUserWxApi(data) {
params: data, params: data,
}); });
} }
// 上传用户头像
export function uploadUserAvatarApi(data) {
return request({
url: "/yishoudan/user/changeUserImgsrc",
method: "post",
headers: { "Content-Type": "multipart/form-data" },
data: data,
// data,
});
}

@ -7,7 +7,7 @@
></i> ></i>
</div> </div>
<div class="contentbox"> <div class="contentbox">
<h1><span class="beforeblock"></span>稻田一手单</h1> <h1><span class="beforeblock"></span>伯才一手单</h1>
<p> <p>
是一个自营+撮合的B2B人力资源供应链协同平台团队通过数据挖掘算法优化等IT技术构建多角色参与的复杂协同网络为劳动密集型的 是一个自营+撮合的B2B人力资源供应链协同平台团队通过数据挖掘算法优化等IT技术构建多角色参与的复杂协同网络为劳动密集型的
服务业企业提供RPOBPOHRO等人力资源服务 服务业企业提供RPOBPOHRO等人力资源服务

@ -18,13 +18,13 @@
</router-link> </router-link>
</a-breadcrumb-item> </a-breadcrumb-item>
<a-breadcrumb-item href=""> <a-breadcrumb-item href="">
<span>报名成功</span> <span>已提交</span>
</a-breadcrumb-item> </a-breadcrumb-item>
</a-breadcrumb> </a-breadcrumb>
<div class="content w"> <div class="content w">
<div> <div>
<div><img src="../../../assets/success.png" alt="" /></div> <div><img src="../../../assets/success.png" alt="" /></div>
<div>报名成功</div> <div>已提交</div>
</div> </div>
<div class="upline"> <div class="upline">
<div> <div>

@ -2,7 +2,7 @@
<div style="display: inline-block"> <div style="display: inline-block">
<!-- <span @click="showPicker">{{ getLangText(label.datetimePicker) }}</span> --> <!-- <span @click="showPicker">{{ getLangText(label.datetimePicker) }}</span> -->
<div class="date-picker-bg" v-show="isShow" @click="closePicker"></div> <div class="date-picker-bg" v-show="isShow" @click="closePicker"></div>
<div class="date-picker" v-show="isShow" style="width: 350px"> <div class="date-picker" v-show="isShow">
<div class="picker-top"> <div class="picker-top">
<span class="picker-arrow" @click="preYear">&lsaquo;&lsaquo;</span> <span class="picker-arrow" @click="preYear">&lsaquo;&lsaquo;</span>
<span class="picker-arrow" @click="preMonth">&lsaquo;</span> <span class="picker-arrow" @click="preMonth">&lsaquo;</span>
@ -25,14 +25,15 @@
<tbody> <tbody>
<tr v-for="idx in weekNum" :key="'weekNum' + idx"> <tr v-for="idx in weekNum" :key="'weekNum' + idx">
<td <td
v-for="m in 7" v-for="m in [1, 2, 3, 4, 5, 6, 7]"
:key="'monthDay' + idx + '_' + m" :key="'monthDay' + idx + '_' + m"
:class="[ :class="[
new Date(monthList[idx - 1][m - 1]).getMonth() + 1 == month new Date(monthList[idx - 1][m - 1]).getMonth() + 1 == month
? '' ? ''
: 'gray', : 'gray',
selectDate == monthList[idx - 1][m - 1] ? 'active' : '', selectDate == monthList[idx - 1][m - 1] ? 'active' : '',
new Date(monthList[idx - 1][m - 1]).getTime() < currentDate new Date(monthList[idx - 1][m - 1]).getTime() < currentDate ||
getabandonDate(new Date(monthList[idx - 1][m - 1]))
? 'bggray' ? 'bggray'
: '', : '',
]" ]"
@ -139,6 +140,8 @@ export default {
month: new Date().getMonth() + 1, month: new Date().getMonth() + 1,
day: new Date().getDate(), day: new Date().getDate(),
currentDate: new Date(new Date().format("yyyy-MM-dd 00:00")).getTime(), currentDate: new Date(new Date().format("yyyy-MM-dd 00:00")).getTime(),
// testDate: ,
abandonDate: [],
startDay: 0, startDay: 0,
endDay: 0, endDay: 0,
weekNum: 0, weekNum: 0,
@ -154,6 +157,7 @@ export default {
created() { created() {
console.log(this.selectDate); console.log(this.selectDate);
console.log(this.selectMinute); console.log(this.selectMinute);
// console.log(this.testDate);
}, },
watch: { watch: {
year() { year() {
@ -337,7 +341,7 @@ export default {
// }, // },
onSelectDate(time) { onSelectDate(time) {
console.log(time); console.log(time);
if (time < this.currentDate) { if (time < this.currentDate || this.getabandonDate(time)) {
return; return;
} else { } else {
this.selectDate = time; this.selectDate = time;
@ -350,6 +354,17 @@ export default {
"update:datetime", "update:datetime",
new Date(time + this.selectHour * 3600000).format("yyyy-MM-dd hh:00") new Date(time + this.selectHour * 3600000).format("yyyy-MM-dd hh:00")
); );
// let data12 = this.getabandonDate(new Date("2022-03-25").getTime());
// console.dir(this.getabandonDate);
// console.log(data12);
},
getabandonDate(date) {
let day = new Date(date).getMonth() + "" + new Date(date).getDate();
let value = this.abandonDate.some((item) => {
let day1 = new Date(item).getMonth() + "" + new Date(item).getDate();
return day1 === day;
});
return value;
}, },
}, },
mounted() { mounted() {
@ -370,6 +385,7 @@ export default {
.date-picker { .date-picker {
background-color: white; background-color: white;
position: absolute; position: absolute;
width: 430px;
top: 28px; top: 28px;
left: 0; left: 0;
display: block; display: block;
@ -511,15 +527,14 @@ export default {
width: calc(100% - 40px); width: calc(100% - 40px);
border-right: 1px solid #eee; border-right: 1px solid #eee;
} }
.hour-list, .hour-list {
.minutes-list {
display: inline-block; display: inline-block;
list-style: none; list-style: none;
padding: 0 2px 0 5px; padding: 0 2px 0 5px;
margin: 0; margin: 0;
height: 100%; height: 100%;
overflow-x: hidden; overflow-x: hidden;
width: 80px; width: 300px;
font-size: 12px; font-size: 12px;
overflow-y: auto; overflow-y: auto;
&::-webkit-scrollbar { &::-webkit-scrollbar {
@ -542,13 +557,12 @@ export default {
li { li {
padding: 0; padding: 0;
margin: 0; margin: 0;
// color: #4d575e; color: #4d575ecc;
color: rgba(77, 87, 94, 0.8); /* font-weight: 600; */
font-weight: 600;
display: flex; display: flex;
line-height: 13px; height: 35px !important;
font-size: 13px; line-height: 25px;
font-size: 18px;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
padding: 0 4px; padding: 0 4px;

@ -91,18 +91,18 @@
</a-form-model> </a-form-model>
</a-modal> --> </a-modal> -->
<a-drawer <!-- <a-drawer
title="报名" title="报名"
placement="right" placement="right"
:closable="true" :closable="true"
:maskClosable="false" :maskClosable="false"
:visible="visible" :visible="visible"
labelAlign="right" labelAlign="right"
width="480" width="480"
@close="onClose" @close="onClose"
> >
<recordbill :visible.sync="visible" :firminfo="jobDetail"></recordbill> <recordbill :visible.sync="visible" :firminfo="jobDetail"></recordbill>
</a-drawer> </a-drawer> -->
<!-- 面包屑 --> <!-- 面包屑 -->
<a-breadcrumb class="w"> <a-breadcrumb class="w">
<a-breadcrumb-item href=""> <a-breadcrumb-item href="">
@ -121,7 +121,14 @@
<div class="maincontent w"> <div class="maincontent w">
<div class="maincontentleft"> <div class="maincontentleft">
<div class="subset"> <div class="subset">
<div class="subsetleft"> <a-skeleton
avatar
:loading="skeletonshow"
v-if="skeletonshow"
:paragraph="{ rows: 4 }"
/>
<div class="subsetleft" v-else>
<div class="imgbox"> <div class="imgbox">
<a-carousel <a-carousel
arrows arrows
@ -163,27 +170,48 @@
</div> </div>
<div class="jobtag"> <div class="jobtag">
<!-- <span>返费</span> --> <!-- <span>返费</span> -->
<span <a-tag
v-for="(item, index) in jobDetail.jobSpecialLabelNames" :color="labelColor[index % labelColor.length]"
v-for="(item, index) in jobDetail.jobRequestLabelNames"
:key="index" :key="index"
>{{ item }}</span >{{ item }}</a-tag
> >
</div> </div>
<div class="jobpricemonth"> <div
<span>{{ jobDetail.minMonthlyPay }}</span style="height: 27px"
>-<span>{{ jobDetail.maxMonthlyPay }}</span v-if="!jobDetail.jobRequestLabelNames"
>/ class="jobtag"
>
<a-tag :color="labelColor[1]">暂无要求</a-tag>
</div> </div>
<div class="jobpricehour"> <div class="jobtag1">
<template v-if="jobDetail.hourlyPay" <!-- <span>返费</span> -->
><span>{{ jobDetail.hourlyPay }}</span <a-tag
>/小时</template v-for="(item, index) in jobDetail.jobSpecialLabelNames"
> :key="index"
<template v-else-if="jobDetail.dayPay" >{{ item }}</a-tag
><span>{{ jobDetail.dayPay }}</span
>/</template
> >
</div> </div>
<div style="display: flex">
<div class="jobpricehour">
<template v-if="jobDetail.hourlyPay"
><span>{{ jobDetail.hourlyPay }}</span
>/小时</template
>
<template v-else-if="jobDetail.dayPay"
><span>{{ jobDetail.dayPay }}</span
>/</template
>
</div>
<div class="jobpricemonth">
&nbsp; |&nbsp;
<span>{{ jobDetail.minMonthlyPay }}</span
>-<span>{{ jobDetail.maxMonthlyPay }}</span
>/
</div>
</div>
<!-- <div class="billbutton"> <!-- <div class="billbutton">
<span>服务费 <i>1.5</i>/小时</span> <span>服务费 <i>1.5</i>/小时</span>
<a-dropdown class="dropdown" :trigger="['click']"> <a-dropdown class="dropdown" :trigger="['click']">
@ -217,19 +245,336 @@
><i v-else>--</i><span>{{ jobDetail.servetype }}</span> ><i v-else>--</i><span>{{ jobDetail.servetype }}</span>
</div> </div>
</div> </div>
<button class="dropdown bottombox1" @click="torecord"></button> <button class="dropdown bottombox1" @click="torecord()">
报名
</button>
</div> </div>
</div> </div>
<div class="proxy"> <!-- <div class="proxy">
<h1><i>代理政策</i></h1> <h1><i>代理政策</i></h1>
<div>{{ jobDetail.returnFeeDesp }}</div> <div>{{ jobDetail.returnFeeDesp }}</div>
</div> </div> -->
<div class="jobinformationbox"> <div class="jobinformationbox">
<h1><i>职位信息</i></h1> <h1>
<div <div class="infotitle">
v-html="jobDetail.baseInfo" <span
style="white-space: break-spaces; line-height: 2" @click="tabchange = 1"
></div> :class="tabchange === 1 ? 'active' : ''"
>基本信息</span
>
<span
@click="tabchange = 0"
:class="tabchange !== 1 ? 'active' : ''"
>财务结算</span
>
</div>
</h1>
<div v-if="tabchange === 1" style="display: flex">
<!-- 薪资 -->
<div class="baseInfoContent" v-if="tabchange === 1">
<div class="pay" id="pay">
<div class="mb12 mt20">岗位薪资</div>
<a-descriptions
bordered
size="small"
:column="1"
class="leftDesc boubleLevel"
>
<a-descriptions-item class="test1">
<span slot="label" class="fw500">工价</span>
<span>{{ jobDetail.calculationUnit }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">综合月薪</span>
<span>{{ jobDetail.combiSalary }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">薪资明细</span>
<span>{{ jobDetail.salaryDetail }}</span>
</a-descriptions-item>
<a-descriptions-item style="padding: 0">
<span slot="label">薪资说明</span>
<a-descriptions
bordered
size="small"
:column="1"
class="leftDesc noborder"
>
<a-descriptions-item>
<span slot="label" class="fw500">发薪日 </span>
<span>{{ jobDetail.calculationSalaryType }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">计薪周期 </span>
<span>{{ jobDetail.payCard }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">工资卡</span>
<span>{{ jobDetail.payCard }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">费用报销</span>
<span>{{
jobDetail.reimbursement
}}</span> </a-descriptions-item
><a-descriptions-item>
<span slot="label" class="fw500">补充说明 </span>
<span v-html="jobDetail.salaryDesp"></span>
</a-descriptions-item>
</a-descriptions>
</a-descriptions-item>
</a-descriptions>
</div>
<!-- 岗位要求 -->
<div class="required" id="required">
<div class="mb12 mt20">岗位要求</div>
<a-descriptions
bordered
size="small"
:column="1"
class="leftDesc"
>
<a-descriptions-item class="test1">
<span slot="label" class="fw500">性别年龄</span>
<span>
<span class="man" v-if="jobDetail.minAgeMan"
> {{ jobDetail.minAgeMan }}
<span v-if="jobDetail.maxAgeMan">{{
"- " + jobDetail.maxAgeMan
}}</span
> </span
><span class="woman" v-if="jobDetail.minAgeWoman">
{{ jobDetail.minAgeWoman }}
<span> {{ "- " + jobDetail.maxAgeWoman }}</span
></span
>
</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">文化程度</span>
<span>{{ jobDetail.education }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">身份证</span>
<span>{{ jobDetail.idCard }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">证件</span>
<span>{{ jobDetail.certificate }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">工作衣</span>
<span>{{ jobDetail.workClothes }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">过安检</span>
<span>{{ jobDetail.securityCheck }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">带手机</span>
<span>{{ jobDetail.carryTel }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">体检要求</span>
<span>{{ jobDetail.healthRequire }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">其它要求</span>
<span>{{ jobDetail.otherRequire }}</span>
</a-descriptions-item>
</a-descriptions>
</div>
<!-- 基本信息 -->
<div class=" " id="contentspecial">
<div class="mb12 mt20">岗位说明</div>
<a-descriptions
bordered
size="small"
:column="1"
class="leftDesc"
>
<a-descriptions-item class="test1">
<span slot="label" class="fw500">工作内容</span>
<span>{{ jobDetail.workContent }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">班次时间</span>
<span>{{ jobDetail.workClasses }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">工作时长</span>
<span>{{ jobDetail.workDuration }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">倒班频次</span>
<span>{{ jobDetail.workByTurns }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">其他说明</span>
<span>{{ jobDetail.otherDesp }}</span>
</a-descriptions-item>
</a-descriptions>
</div>
<div class="condition" id="condition">
<div class="mb12 mt20">饮食住宿</div>
<ul class="conditiontable">
<li>
<div>吃饭</div>
<ul>
<li>
<span>吃饭</span
><span>{{ jobDetail.workingLunch }}</span>
</li>
<li>
<span>餐补</span
><span>{{ jobDetail.mealSubsidy }}</span>
</li>
<!-- <li>
<span>餐费</span><span>{{ jobDetail.mealFee }}</span>
</li> -->
<li>
<span>餐卡押金</span
><span>{{ jobDetail.mealCardDeposit }}</span>
</li>
<li>
<span>民族窗口</span><span>{{ jobDetail.muslim }}</span>
</li>
<li>
<span>补充说明</span
><span>{{ jobDetail.workingLunchDesp }}</span>
</li>
</ul>
</li>
<li>
<div>住宿</div>
<ul>
<li>
<span>住宿</span><span>{{ jobDetail.dormitory }}</span>
</li>
<li>
<span>入住条件</span
><span>{{ jobDetail.dormPermise }}</span>
</li>
<li>
<span>宿舍距离</span
><span>{{ jobDetail.dormitoryDistance }}</span>
</li>
<!-- <li>
<span>住宿费</span
><span>{{ jobDetail.dormitoryCost }}</span>
</li>
-->
<li>
<span>单间人数</span
><span>{{ jobDetail.dormitoryPeoples }}</span>
</li>
<li>
<span>硬件设施</span
><span>{{ jobDetail.dormitoryFacilities }}</span>
</li>
<li>
<span>水电</span
><span>{{ jobDetail.waterAndElec }}</span>
</li>
<li>
<span>班车</span><span>{{ jobDetail.regularBus }}</span>
</li>
<li>
<span>补充说明</span
><span>{{ jobDetail.dormitoryDesp }}</span>
</li>
</ul>
</li>
</ul>
<!-- <a-descriptions
bordered
size="small"
:column="1"
class="leftDesc"
>
<a-descriptions-item class="test1">
<span slot="label" class="fw500">工作餐</span>
<a-descriptions size="small" :column="1">
<a-descriptions-item>
<span slot="label" class="fw500">工作餐</span>
<span class="fw500">工包早中餐作餐</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">餐费</span>
<span class="fw500">收费先吃后扣</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">餐补</span>
<span class="fw500"></span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">餐卡押金</span>
<span class="fw500">10</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">清真窗口</span>
<span class="fw500"></span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">工作餐 说明</span>
<span class="fw500">有肉有菜</span>
</a-descriptions-item>
</a-descriptions>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">班次时间</span>
<span>9:30-14:0017:00-22:00</span>
</a-descriptions-item>
</a-descriptions> -->
</div>
</div>
<a-anchor @click.prevent="" class="navigation">
<a-anchor-link href="#pay" title="薪资" />
<a-anchor-link href="#required" title="要求" />
<a-anchor-link href="#contentspecial" title="岗位" />
<a-anchor-link href="#condition" title="食宿" />
</a-anchor>
</div>
<!-- 财务结算 -->
<a-descriptions
bordered
size="small"
:column="1"
class="leftDesc mt20"
style="width: 900px"
v-else
>
<a-descriptions-item class="test1">
<span slot="label" class="fw500">代理利润</span>
<span>{{ jobDetail.agencyProfit }}</span>
</a-descriptions-item>
<!-- <a-descriptions-item>
<span slot="label" class="fw500">代理政策</span>
<span>{{ jobDetail.returnFeeDesp }}</span>
</a-descriptions-item> -->
<a-descriptions-item>
<span slot="label" class="fw500">扣税说明</span>
<span>{{ jobDetail.deductTaxDesp }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">支付周期</span>
<span>{{ jobDetail.paymentCycle }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">出名单时间</span>
<span>{{ jobDetail.outListTime }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class="fw500">结算时间</span>
<span>{{ jobDetail.settlementTime }}</span>
</a-descriptions-item>
</a-descriptions>
</div> </div>
</div> </div>
<div class="maincontentright"> <div class="maincontentright">
@ -268,7 +613,7 @@ import { getJobDetailApi } from "../../api/job";
import { disposeJobListData } from "../../utils/commonUtil"; import { disposeJobListData } from "../../utils/commonUtil";
import recommend from "../../components/FirstJob/components/recommend.vue"; import recommend from "../../components/FirstJob/components/recommend.vue";
import { nationlist } from "../../utils/datalist"; import { nationlist } from "../../utils/datalist";
import recordbill from "@/components/FirstJob/components/recordbill.vue"; // import recordbill from "@/components/FirstJob/components/recordbill.vue";
export default { export default {
// //
@ -276,7 +621,7 @@ export default {
// //
components: { components: {
recommend, recommend,
recordbill, // recordbill,
}, },
// //
props: {}, props: {},
@ -286,10 +631,23 @@ export default {
relationList: [], relationList: [],
jobDetail: {}, jobDetail: {},
storeImage: [], storeImage: [],
storeInfo: {},
id: this.$route.params.id, id: this.$route.params.id,
visible: false, // visible: false, //
confirmLoading: false, // loading confirmLoading: false, // loading
skeletonshow: true,
tabchange: 1,
nationlist, nationlist,
labelColor: [
"pink",
"blue",
"purple",
"orange",
"green",
"cyan",
"red",
"purple",
],
form: { form: {
// //
name: "", name: "",
@ -348,6 +706,16 @@ export default {
console.log(data); console.log(data);
if (data.status === 200) { if (data.status === 200) {
this.jobDetail = disposeJobListData(data.data.storeJob); this.jobDetail = disposeJobListData(data.data.storeJob);
this.skeletonshow = false;
this.jobDetail.district = disposeJobListData(
data.data.store
).district;
let newdata = {
id: data.data.storeJob.id,
aliasName: data.data.store.aliasName,
jobName: data.data.storeJob.jobName,
};
this.storeInfo = newdata;
data.data.storeImage.forEach((item) => { data.data.storeImage.forEach((item) => {
this.storeImage.push(item.url); this.storeImage.push(item.url);
}); });
@ -423,8 +791,10 @@ export default {
// //
console.log(item); console.log(item);
// let userinfo = JSON.stringify(item); // let userinfo = JSON.stringify(item);
console.log(this.jobDetail);
this.$router.push({ name: "recordbill", params: this.jobDetail }); console.log(this.storeInfo);
this.$router.push({ name: "recordbill", params: this.storeInfo });
sessionStorage.setItem("CURRENT_FIRM", JSON.stringify(this.storeInfo));
}, },
}, },
}; };
@ -622,28 +992,37 @@ export default {
color: #4d575e; color: #4d575e;
line-height: 20px; line-height: 20px;
} }
.jobtag { .jobtag,
margin-top: 14px; .jobtag1 {
margin-top: 12px;
text-align: left; text-align: left;
span:first-child { // span:first-child {
color: #ff6a00; // color: #ff6a00;
background: rgba(254, 97, 0, 0.1); // background: rgba(254, 97, 0, 0.1);
} // }
span { span {
margin-right: 8px; margin-right: 8px;
font-size: 16px; font-size: 16px;
padding: 2px 10px; padding: 0px 6px;
background: rgba(51, 51, 51, 0.06); border: none;
height: 22px;
line-height: 21px;
// background: rgba(51, 51, 51, 0.06);
border-radius: 4px; border-radius: 4px;
} }
} }
.jobtag1 {
span {
background-color: #f5f5f5;
}
}
.jobpricemonth { .jobpricemonth {
margin-top: 16px; margin-top: 16px;
font-size: 16px; font-size: 18px;
font-weight: 400; font-weight: 400;
text-align: left; text-align: left;
color: #4d575e; color: #4d575e;
line-height: 22px; line-height: 26px;
} }
.jobpricehour { .jobpricehour {
margin-top: 16px; margin-top: 16px;
@ -709,87 +1088,6 @@ export default {
} }
} }
} }
// .jobinfobox {
// .jobname {
// // margin: 12px 0;
// font-size: 20px;
// font-weight: 400;
// text-align: left;
// color: #4d575e;
// line-height: 30px;
// }
// .jobinfo {
// margin-top: 16px;
// opacity: 0.5;
// font-size: 16px;
// font-weight: 400;
// text-align: left;
// color: #4d575e;
// line-height: 22px;
// }
// .jobtag {
// margin-top: 16px;
// span:first-child {
// color: #ff6a00;
// background: rgba(254, 97, 0, 0.06);
// }
// span {
// margin-right: 8px;
// font-size: 16px;
// padding: 2px 14px;
// text-align: left;
// background: rgba(51, 51, 51, 0.06);
// border-radius: 4px;
// }
// }
// .jobpricemonth {
// margin-top: 16px;
// font-size: 18px;
// text-align: left;
// color: #4d575e;
// line-height: 22px;
// }
// .jobpricehour {
// margin-top: 20px;
// font-size: 18px;
// font-weight: normal;
// text-align: left;
// color: #ff6a00;
// line-height: 18px;
// span {
// vertical-align: bottom;
// font-size: 24px;
// line-height: 18px;
// }
// }
// .billbutton {
// display: flex;
// justify-content: flex-start;
// margin-top: 20px;
// span {
// padding: 0 16px;
// height: 36px;
// margin-right: 20px;
// border-radius: 4px;
// background-color: rgba(254, 97, 0, 0.1);
// font-size: 18px;
// font-weight: normal;
// color: #ff6a00;
// line-height: 34px;
// }
// button {
// width: 160px;
// // padding: 0 16px;
// height: 36px;
// border: none;
// background-color: #ff6a00;
// color: #fff;
// font-weight: normal;
// font-size: 18px;
// border-radius: 4px;
// }
// }
// }
} }
.subsetright { .subsetright {
display: flex; display: flex;
@ -835,6 +1133,7 @@ export default {
.bottombox1 { .bottombox1 {
width: 116px; width: 116px;
height: 32px; height: 32px;
line-height: 30px;
font-size: 16px; font-size: 16px;
// border: 1px solid rgba(77, 87, 94, 0.3); // border: 1px solid rgba(77, 87, 94, 0.3);
border-radius: 4px; border-radius: 4px;
@ -863,35 +1162,125 @@ export default {
// border: 1px solid #eeefef; // border: 1px solid #eeefef;
overflow: hidden; overflow: hidden;
border-radius: 4px; border-radius: 4px;
padding: 0 20px 20px 20px; padding: 20px;
background-color: #fff; background-color: #fff;
h1 { h1 {
font-size: 20px; font-size: 18px;
text-align: left;
color: #4d575e;
line-height: 33px;
margin-bottom: 20px; margin-bottom: 20px;
font-weight: normal; .infotitle {
padding: 10px 0; margin-top: -2px;
border-bottom: 1px solid #eeefef; border-bottom: 1px solid #eeefef;
display: flex;
span {
margin-bottom: -1px;
height: 30px;
padding: 1px 12px 0 12px;
margin-right: 6px;
background-color: #fafafa;
border: 1px solid #e8e8e8;
border-bottom: none;
cursor: pointer;
border-radius: 4px 4px 0 0;
}
.active {
background-color: #fafafa;
// font-weight: bold;0
color: #ff6a00;
}
}
span { span {
height: 25px; height: 25px;
} }
} }
dl { }
dt { .jobinformationbox {
margin: 30px 0 20px 0; .navigation {
font-size: 20px; width: 55px !important;
text-align: left; margin-left: 25px;
color: #4d575e; margin-top: 30px;
line-height: 28px; .ant-affix {
left: calc(50% + 278px) !important; //
} }
dd { .ant-anchor-wrapper {
ul { padding-left: 5px !important;
li { }
line-height: 32px; .ant-anchor-ink-ball {
// border-color: #ff6a00;
width: 10px;
height: 10px;
border: 2px solid #ff6a00;
}
.ant-anchor-link {
padding: 7px 0 7px 12px !important;
a {
color: #787878;
font-size: 18px;
}
}
.ant-anchor-link-active {
a {
color: #ff6a00 !important;
// font-weight: bold;
}
}
}
.baseInfoContent {
width: 840px;
> div {
> div:first-child {
color: #4d575e;
font-weight: normal;
}
}
.condition {
.conditiontable {
display: flex;
flex-direction: column;
font-size: 16px;
border: 1px solid #e8e8e8;
> li {
display: flex;
align-items: center;
border-bottom: 1px solid #e8e8e8;
> div {
width: 120px;
// font-weight: bold;
text-align: center;
}
&:last-child {
border-bottom: 0px;
}
ul {
display: flex;
flex-direction: column;
justify-content: space-around;
border-left: 1px solid #e8e8e8;
flex: 1;
li {
display: flex;
min-height: 44px;
width: 100%;
span:first-child {
padding: 12px 15px;
width: 100px;
border-right: 1px solid #e8e8e8;
// font-weight: bold;
}
span:last-child {
flex: 1;
display: flex;
color: #878787;
padding: 12px 16px;
white-space: break-space;
align-items: center;
}
}
li:not(li:last-child) {
border-bottom: 1px solid #e8e8e8;
}
}
} }
} }
} }
@ -976,5 +1365,43 @@ export default {
} }
} }
} }
.leftDesc.ant-descriptions-bordered table {
// min-height: 352px !important;
tbody {
tr {
height: 44px;
}
}
}
.leftDesc.ant-descriptions-bordered .ant-descriptions-item-label {
width: 120px;
text-align: left;
font-weight: normal;
background-color: #fff;
font-size: 16px;
color: #4d575e;
letter-spacing: 1px;
/*vertical-align: baseline;*/
}
.leftDesc.ant-descriptions-bordered .ant-descriptions-item-content {
text-align: left;
font-size: 16px;
color: #878787;
}
.boubleLevel
> .ant-descriptions-view
> table
> tbody
> .ant-descriptions-row:last-child
> .ant-descriptions-item-content {
padding: 0 !important;
.noborder {
.ant-descriptions-view {
border: 0 !important;
}
}
}
// .right
} }
</style> </style>

@ -516,6 +516,7 @@ export default {
*/ */
created() { created() {
console.log(this.proxyinfo); console.log(this.proxyinfo);
// this.reload();
this.getJobList(); this.getJobList();
this.getJobSpecial(); this.getJobSpecial();
this.getProvince(); this.getProvince();
@ -547,8 +548,8 @@ export default {
// console.log(scrollTop); // , // console.log(scrollTop); // ,
let navigation = document.getElementById("navigation"); let navigation = document.getElementById("navigation");
let content = document.querySelector(".maincontent"); let content = document.querySelector(".maincontent");
let filterbox = document.querySelector(".w"); // let filterbox = document.querySelector(".w");
console.log(filterbox); // console.log(filterbox);
// console.log(content); // console.log(content);
// let left = ("100vw" - "1200px") / 2; // let left = ("100vw" - "1200px") / 2;
if (scrollTop >= 81) { if (scrollTop >= 81) {
@ -918,8 +919,8 @@ export default {
border-color: #d9d9d9; border-color: #d9d9d9;
/deep/ .ant-form-item-children { /deep/ .ant-form-item-children {
line-height: 40px; line-height: 40px;
.ant-radio-checked { // .ant-radio-checked {
} // }
// display: flex !important; // display: flex !important;
} }
// &:hover { // &:hover {
@ -1076,7 +1077,7 @@ export default {
padding: 20px 0 8px 0; padding: 20px 0 8px 0;
li { li {
padding: 4px 16px; padding: 4px 16px;
margin: 0px 24px 12px 0; margin: 0px 16px 12px 0;
cursor: pointer; cursor: pointer;
float: left; float: left;
background: rgba(216, 216, 216, 0.3); background: rgba(216, 216, 216, 0.3);

@ -6,7 +6,7 @@
<router-link to="/main"><a-icon type="home" /></router-link> <router-link to="/main"><a-icon type="home" /></router-link>
</a-breadcrumb-item> </a-breadcrumb-item>
<a-breadcrumb-item href=""> <a-breadcrumb-item href="">
<router-link to="/list"> <router-link to="/list" @click.native="toList">
<span>一手职位</span> <span>一手职位</span>
</router-link> </router-link>
</a-breadcrumb-item> </a-breadcrumb-item>
@ -105,7 +105,7 @@
> >
<a-select-option <a-select-option
v-for="i in storeList" v-for="i in storeList"
:key="i.aliasName" :key="i.id + ''"
@click="storeChange(i)" @click="storeChange(i)"
> >
{{ i.aliasName }} {{ i.aliasName }}
@ -366,7 +366,7 @@
</div> </div>
<i <i
class="iconfont icon-guanbi" class="iconfont icon-guanbi"
v-if="fileList.length !== 0" v-if="fileList.length !== 0 && !loading"
@click="fileList = []" @click="fileList = []"
></i ></i
></a-col> ></a-col>
@ -459,6 +459,7 @@ import request from "@/utils/request";
import $ from "jquery"; import $ from "jquery";
// import axiosUpload from "axios"; // import axiosUpload from "axios";
export default { export default {
inject: ["reload"],
// //
name: "recordBill", name: "recordBill",
// //
@ -613,6 +614,7 @@ export default {
this.isMaster = true; this.isMaster = true;
} }
this.getProxyInfo(this.proxyinfo.id); this.getProxyInfo(this.proxyinfo.id);
this.getJob(this.firminfo);
console.log(this.proxyinfo); console.log(this.proxyinfo);
// sessionStorage.setItem("CURRENT_FIRM", JSON.stringify(userinfo)); // sessionStorage.setItem("CURRENT_FIRM", JSON.stringify(userinfo));
console.log(this.firminfo); console.log(this.firminfo);
@ -624,6 +626,17 @@ export default {
mounted() {}, mounted() {},
// //
methods: { methods: {
async getJob(value) {
try {
const { data } = await getStoreJobApi(value.id);
console.log(data);
if (data.status === 200) {
this.storeJobList = data.data;
}
} catch (error) {
console.log(error);
}
},
onClose() { onClose() {
this.form = { this.form = {
// //
@ -682,22 +695,22 @@ export default {
console.log(no); console.log(no);
}); });
}, },
interviewTimeDisabledDate(current) { // interviewTimeDisabledDate(current) {
// Can not select days before today and today // // Can not select days before today and today
return ( // return (
current < moment().startOf("day") || current > moment().add(100, "days") // current < moment().startOf("day") || current > moment().add(100, "days")
); // );
}, // },
interviewTimeDisabledDateTime() { // interviewTimeDisabledDateTime() {
return { // return {
disabledHours: () => [0, 1, 2, 3, 4, 5, 6, 22, 23], // disabledHours: () => [0, 1, 2, 3, 4, 5, 6, 22, 23],
disabledMinutes: () => // disabledMinutes: () =>
this.range(0, 60) // this.range(0, 60)
.splice(1, 29) // .splice(1, 29)
.concat(this.range(0, 60).splice(31, 59)), // .concat(this.range(0, 60).splice(31, 59)),
disabledSeconds: () => this.range(1, 60), // disabledSeconds: () => this.range(1, 60),
}; // };
}, // },
range(start, end) { range(start, end) {
const result = []; const result = [];
for (let i = start; i < end; i++) { for (let i = start; i < end; i++) {
@ -739,9 +752,10 @@ export default {
// reader.onerror = (error) => reject(error); // reader.onerror = (error) => reject(error);
// }); // });
// }, // },
beforeUpload() { beforeUpload(e, data) {
let that = this; let that = this;
console.log(e);
console.log(data);
//resolve() //resolve()
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
//resolve() //resolve()
@ -797,8 +811,10 @@ export default {
formData.append("Signature", _self.dataObj.signature); // formData.append("Signature", _self.dataObj.signature); //
formData.append("success_action_status", "200"); // 204 formData.append("success_action_status", "200"); // 204
formData.append("file", file.file); // formData.append("file", file.file); //
console.log(formData);
let formData1 = new FormData(); let formData1 = new FormData();
console.log(file.file); console.log(file.file);
console.log(formData1);
formData1.append("uploadFile", file.file); // formData1.append("uploadFile", file.file); //
// try { // try {
// const { data } = await getIdCardInfoApi(formData1); // const { data } = await getIdCardInfoApi(formData1);
@ -894,8 +910,19 @@ export default {
}, },
async getProxyInfo(id) { async getProxyInfo(id) {
const { data } = await getProxyInfoApi(id); const { data } = await getProxyInfoApi(id);
// console.log(data);
if (data.status === 200) { if (data.status === 200) {
this.proxyList = data.data; this.proxyList = data.data;
this.proxyList.forEach((item) => {
// console.log(item);
let data1 = item.agencyName;
if (!isEmptyCheck(item.userName)) {
item.userName = data1 + "/" + item.userName;
}
if (!isEmptyCheck(item.tel)) {
item.userName = item.userName + item.tel.slice(7, 12);
}
});
console.log(this.proxyList); console.log(this.proxyList);
} }
console.log(data); console.log(data);
@ -917,6 +944,7 @@ export default {
console.log(data); console.log(data);
}, },
async storeChange(value) { async storeChange(value) {
console.log(value);
this.storeList = []; this.storeList = [];
this.firminfo.aliasName = value.aliasName; this.firminfo.aliasName = value.aliasName;
this.form.qiyeId = value.id; this.form.qiyeId = value.id;
@ -934,11 +962,11 @@ export default {
console.log(value); console.log(value);
}, },
selected() { selected() {
if (!isEmptyCheck(this.form.qiyeId)) { // if (!isEmptyCheck(this.form.qiyeId)) {
this.jobnameStatus = "jobname"; this.jobnameStatus = "jobname";
} else { // } else {
this.$message.warning("请先选择企业"); // this.$message.warning("");
} // }
}, },
storeJobChange(value) { storeJobChange(value) {
console.log(value); console.log(value);
@ -952,6 +980,11 @@ export default {
// } // }
}, },
toList() {
// this.$router.go(0);
// window.location.reload();
this.reload();
},
}, },
}; };
</script> </script>
@ -1117,9 +1150,9 @@ export default {
} }
} }
} }
.ant-upload-select { // .ant-upload-select {
// display: none !important; // display: none !important;
} // }
} }
.uploading { .uploading {
position: absolute; position: absolute;

@ -361,7 +361,7 @@ export default {
} }
li { li {
padding: 0 0 4px 0; padding: 0 0 4px 0;
margin-bottom: 20px; margin-bottom: 24px;
margin-top: 20px; margin-top: 20px;
font-size: 14px; font-size: 14px;
text-align: left; text-align: left;
@ -378,6 +378,7 @@ export default {
/deep/.ant-form-item { /deep/.ant-form-item {
// margin-top: -10px; // margin-top: -10px;
/deep/ .ant-form-explain { /deep/ .ant-form-explain {
//
margin-top: -2px; margin-top: -2px;
line-height: 20px; line-height: 20px;
min-height: 20px !important; min-height: 20px !important;

@ -57,11 +57,12 @@
<div class="accountSetList"> <div class="accountSetList">
<div class="userinfobox"> <div class="userinfobox">
<div class="avatarbox"> <div class="avatarbox">
<i <i @click="uploadavatar" style="cursor: pointer">
class="iconfont icon-morentouxiang" <span
@click="uploadavatar" class="iconfont icon-morentouxiang"
style="cursor: pointer" v-if="!userbaseInfo.imgSrc"
> ></span>
<img :src="userbaseInfo.imgSrc" alt="" v-else />
<div class="mask"><div>修改头像</div></div></i <div class="mask"><div>修改头像</div></div></i
> >
<input <input
@ -190,16 +191,21 @@ import {
getUserBankListApi, getUserBankListApi,
userBalanceApi, userBalanceApi,
getPointApi, getPointApi,
// uploadUserAvatarApi,
userCardApi, userCardApi,
} from "../../../api/userinfo"; } from "../../../api/userinfo";
import { VueCropper } from "vue-cropper"; import { VueCropper } from "vue-cropper";
import request from "@/utils/request";
export default { export default {
inject: ["reload"],
// //
name: "", name: "",
// //
components: { components: {
VueCropper, VueCropper,
}, },
// //
props: {}, props: {},
// //
@ -214,11 +220,12 @@ export default {
visible: false, visible: false,
previewStyle3: {}, previewStyle3: {},
previews: {}, previews: {},
userbaseInfo: JSON.parse(sessionStorage.getItem("LOGIN_DATA")),
option: { option: {
// //
img: "", // img: "", //
outputSize: 1, // (0.1 - 1) outputSize: 1, // (0.1 - 1)
outputType: "jpeg", // jpeg || png || webp outputType: "png", // jpeg || png || webp
info: true, // info: true, //
canScale: true, // canScale: true, //
autoCrop: true, // autoCrop: true, //
@ -263,6 +270,7 @@ export default {
this.getUserBalanceInfo(); this.getUserBalanceInfo();
this.getPoint(); this.getPoint();
this.getcardcount(); this.getcardcount();
console.log(this.userbaseInfo);
}, },
/** /**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子 * el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
@ -438,16 +446,44 @@ export default {
// console.log(this.filelength) // console.log(this.filelength)
}, },
changeavatar() { changeavatar() {
let that = this;
this.$refs.cropper.getCropBlob((data) => { this.$refs.cropper.getCropBlob((data) => {
// const that = this; // const that = this;
// do something // do something
// console.log(data) // console.log(data)
const imgFile = new FileReader(); const imgFile = new FileReader();
imgFile.readAsDataURL(data); imgFile.readAsDataURL(data);
imgFile.onload = function (e) { imgFile.onload = function () {
console.log(e); let formData1 = new FormData();
console.log(this); formData1.append("imgName", "abc.png");
console.log(this.result); formData1.append("userImg", this.result);
request({
method: "post",
url: "/yishoudan/user/changeUserImgsrc",
data: formData1,
withCredentials: true,
// headers: {'Content-Type': 'application/x-www-form-urlencoded'}
headers: {
"Content-Type":
"multipart/form-data;boundary = " + new Date().getTime(),
},
})
.then(({ data }) => {
console.log(data);
console.log();
if (data.status === 200) {
let userinfo = JSON.parse(sessionStorage.getItem("LOGIN_DATA"));
userinfo.imgSrc = data.data.url;
sessionStorage.setItem("LOGIN_DATA", JSON.stringify(userinfo));
that.reload();
}
})
.catch((error) => {
console.log(error);
});
console.log(data);
}; };
this.visible = false; this.visible = false;
}); });
@ -482,22 +518,32 @@ export default {
.avatarbox { .avatarbox {
margin: 0 auto; margin: 0 auto;
width: 64px; width: 64px;
position: relative;
&:hover { &:hover {
.mask { .mask {
display: block; display: block;
} }
} }
img {
display: block;
width: 64px;
height: 64px;
border-radius: 50%;
}
i { i {
position: relative; width: 64px;
font-size: 64px; height: 64px;
line-height: 64px;
color: #ff6a00; color: #ff6a00;
> span {
font-size: 64px;
line-height: 64px;
}
.mask { .mask {
position: absolute; position: absolute;
display: none; display: none;
width: 100%; width: 64px;
height: 100%; height: 64px;
left: 0; left: 0;
top: 0; top: 0;
border-radius: 50%; border-radius: 50%;

@ -18,25 +18,25 @@
@click="pagination.status = 20" @click="pagination.status = 20"
:class="{ townsmanactive: pagination.status === 20 }" :class="{ townsmanactive: pagination.status === 20 }"
> >
面试 面试
</li> </li>
<li <li
@click="pagination.status = 30" @click="pagination.status = 30"
:class="{ townsmanactive: pagination.status === 30 }" :class="{ townsmanactive: pagination.status === 30 }"
> >
入职 入职
</li> </li>
<li <li
@click="pagination.status = 40" @click="pagination.status = 40"
:class="{ townsmanactive: pagination.status === 40 }" :class="{ townsmanactive: pagination.status === 40 }"
> >
在职 在职
</li> </li>
<li <li
@click="pagination.status = 50" @click="pagination.status = 50"
:class="{ townsmanactive: pagination.status === 50 }" :class="{ townsmanactive: pagination.status === 50 }"
> >
离职 离职
</li> </li>
<li <li
@click="pagination.status = 60" @click="pagination.status = 60"
@ -44,12 +44,12 @@
> >
已完成 已完成
</li> </li>
<li <!-- <li
@click="pagination.status = 70" @click="pagination.status = 70"
:class="{ townsmanactive: pagination.status === 70 }" :class="{ townsmanactive: pagination.status === 70 }"
> >
已放弃 已放弃
</li> </li> -->
</ul> </ul>
</div> </div>
<div class="contentbody"> <div class="contentbody">
@ -79,7 +79,7 @@
<li>状态</li> <li>状态</li>
</ul> </ul>
</div> </div>
<div style="text-align: center; margin-top: 20px"> <div style="text-align: center; margin-top: 16px">
<a-spin tip="加载中..." :spinning="isspinning"></a-spin> <a-spin tip="加载中..." :spinning="isspinning"></a-spin>
</div> </div>
<template v-if="billList.length === 0 && isspinning === false"> <template v-if="billList.length === 0 && isspinning === false">
@ -88,17 +88,20 @@
<div class="subsetbox" v-if="!isspinning"> <div class="subsetbox" v-if="!isspinning">
<div <div
class="infoSubset" class="infoSubset"
v-for="item in billList" v-for="(item, index) in billList"
:key="item.id" :key="item.id"
:class="item.isDown ? '' : 'isDownstyle'" :class="item.isDown ? '' : 'isDownstyle'"
> >
<ul class="proxyInfo"> <ul class="proxyInfo">
<li>创建时间: {{ item.createTime }}</li> <li>创建时间: {{ item.createTime }}</li>
<li>工单号: {{ item.orderNum }}</li> <li>工单号: {{ item.orderNum }}</li>
<li>{{ item.agencyUserName }}</li> <li>{{ item.agencyName }}</li>
<li>更新时间: {{ item.updateTime }}</li> <li>
更新时间: {{ item.updateTime }}
<span style="display: inline-block">({{ item.diffTime }})</span>
</li>
</ul> </ul>
<ul class="billInfo"> <ul class="billInfo" style="">
<li> <li>
<i <i
class="iconfont icon-shenfenzheng" class="iconfont icon-shenfenzheng"
@ -110,8 +113,21 @@
><span>{{ item.userName }}/{{ item.sex }}/{{ item.age }}</span> ><span>{{ item.userName }}/{{ item.sex }}/{{ item.age }}</span>
<span>{{ item.tel }}</span> <span>{{ item.tel }}</span>
</li> </li>
<li>{{ item.storeJobName }}</li> <li>
<li style="text-align: left">{{ item.policy }}</li> <div>{{ item.storeJobName }}</div>
</li>
<li>
<p>{{ item.policy }}</p>
<div
v-show="item.isunfold"
class="policyControl"
@click="changeStatus(item, index)"
:ref="'Control' + index"
>
<span v-if="item.controlUnfold"></span
><span v-else></span>
</div>
</li>
<li> <li>
<span>{{ item.statusTag }}</span <span>{{ item.statusTag }}</span
><span>面试时间: {{ item.interviewTime }}</span> ><span>面试时间: {{ item.interviewTime }}</span>
@ -208,6 +224,7 @@ export default {
}, },
billList: [], billList: [],
isunfold: false,
}; };
}, },
// //
@ -251,6 +268,7 @@ export default {
}, },
async getBill() { async getBill() {
console.log("click"); console.log("click");
// let that = this;
console.log(this.pagination.status); console.log(this.pagination.status);
try { try {
this.isspinning = true; this.isspinning = true;
@ -258,48 +276,90 @@ export default {
console.log(data); console.log(data);
if (data.status === 200) { if (data.status === 200) {
// console.log(); // console.log();
this.billList = data.data.recordList; this.billList = data.data.recordList;
this.billList.forEach((item, index) => {
console.log(item);
if (item.sex === 1) {
item.sex = "男";
} else if (item.sex === 2) {
item.sex = "女";
} else {
item.sex = "未知";
}
// if (index % 2 === 0) {
// item.status = 60;
// }
if (!isEmptyCheck(item.tel)) {
let first = item.tel.slice(0, 3);
let second = item.tel.slice(3, 7);
let thirdly = item.tel.slice(7, 12);
console.log(first);
console.log(second);
console.log(thirdly);
item.tel = first + " " + second + " " + thirdly;
}
if (item.status === 60 || item.status === 70) {
item.isDown = true;
} else {
item.isDown = false;
}
item.statusTag = getUserApplyOrderStatusById(item.status);
item.interviewTime = formatDateYMDHMS(item.interviewTime);
// item.updateTime = formatDateYMDHMS(item.updateTime);
// item.createTime = formatDateYMDHMS(item.createTime);
item.updateTime = isEmptyCheck(item.updateTime)
? "2022-03-16 14:19"
: formatDateYMDHMS(item.updateTime);
item.createTime = isEmptyCheck(item.createTime)
? "2022-03-16 14:19"
: formatDateYMDHMS(item.createTime);
item.index = index + 1;
});
console.log(this.billList); console.log(this.billList);
console.log(true); setTimeout(() => {
this.billList.forEach((item, index) => {
// let updateTime = ;
let differenceTime =
new Date().getTime() - new Date(item.updateTime).getTime();
var D = Math.floor(differenceTime / (24 * 60 * 60 * 1000));
var leave1 = differenceTime % (24 * 3600 * 1000);
var H = Math.floor(leave1 / (3600 * 1000));
var leave2 = leave1 % (3600 * 1000);
var M = Math.floor(leave2 / (60 * 1000));
var leave3 = leave2 % (60 * 1000);
var S = Math.floor(leave3 / 1000);
item.diffTime = null;
if (D > 0) {
item.diffTime = D + "天前";
} else if (H > 0) {
item.diffTime = H + "小时前";
} else if (M > 0) {
item.diffTime = M + "分钟前";
} else {
item.diffTime = S + "秒前";
}
// console.log(new Date(differenceTime).getDate());
// console.log(item.userName, D, H, M);
// console.log(item);
if (item.sex === 1) {
item.sex = "男";
} else if (item.sex === 2) {
item.sex = "女";
} else {
item.sex = "未知";
}
// if (index % 2 === 0) {
// item.status = 60;
// }
if (!isEmptyCheck(item.tel)) {
let first = item.tel.slice(0, 3);
let second = item.tel.slice(3, 7);
let thirdly = item.tel.slice(7, 12);
// console.log(first);
// console.log(second);
// console.log(thirdly);
item.tel = first + " " + second + " " + thirdly;
}
if (item.status === 60 || item.status === 70) {
item.isDown = true;
} else {
item.isDown = false;
}
item.statusTag = getUserApplyOrderStatusById(item.status);
item.interviewTime = formatDateYMDHMS(item.interviewTime);
// item.updateTime = formatDateYMDHMS(item.updateTime);
// item.createTime = formatDateYMDHMS(item.createTime);
item.updateTime = isEmptyCheck(item.updateTime)
? "2022-03-16 14:19"
: formatDateYMDHMS(item.updateTime);
item.createTime = isEmptyCheck(item.createTime)
? "2022-03-16 14:19"
: formatDateYMDHMS(item.createTime);
item.index = index + 1;
// console.log(that.$refs["Control" + index][0]);
let parent = this.$refs["Control" + index][0].parentNode;
let sibling =
this.$refs["Control" + index][0].previousElementSibling;
// console.log(window.getComputedStyle(sibling));
// console.log(parent.offsetHeight);
// console.log(sibling.offsetHeight);
// console.log(window.getComputedStyle(parent).height);
if (sibling.offsetHeight > parent.offsetHeight) {
// sibling.style.height = "100%";
sibling.style.overflow = "hidden";
parent.style.paddingBottom = "20px";
item.isunfold = true;
} else {
item.isunfold = false;
}
item.controlUnfold = true;
// console.log("controlUnfold", item.controlUnfold);
// console.log("isunfold", item.isunfold);
});
}, 0);
this.pagination.total = data.data.recordCount; this.pagination.total = data.data.recordCount;
this.totop(); this.totop();
} }
@ -451,6 +511,26 @@ export default {
document.documentElement.scrollTop = 0; document.documentElement.scrollTop = 0;
// window.body.scrollY = 0; // window.body.scrollY = 0;
}, },
changeStatus(item, index) {
//
console.log(item);
console.log(index);
let parent = this.$refs["Control" + index][0].parentNode;
let sibling = this.$refs["Control" + index][0].previousElementSibling;
if (item.controlUnfold) {
parent.style.maxHeight = "none";
sibling.style.height = "100%";
console.log(parent);
} else {
parent.style.maxHeight = "156px";
sibling.style.height = "146px";
sibling.style.overflow = "hidden";
console.log(parent);
}
item.controlUnfold = !item.controlUnfold;
this.$forceUpdate();
console.log(item.controlUnfold);
},
}, },
}; };
</script> </script>
@ -602,6 +682,9 @@ export default {
// transform: translateY(-50%); // transform: translateY(-50%);
background-color: #eeeeee; background-color: #eeeeee;
} }
&:last-child::after {
display: none;
}
} }
button { button {
width: 100px; width: 100px;
@ -764,7 +847,7 @@ export default {
} }
} }
.infoSubset { .infoSubset {
height: 174px; // height: 174px;
// background-color: pink; // background-color: pink;
margin-top: 16px; margin-top: 16px;
font-size: 14px; font-size: 14px;
@ -781,7 +864,15 @@ export default {
li { li {
flex: 1; flex: 1;
&:nth-child(2) { &:nth-child(2) {
margin-left: 50px; margin-left: 5px;
}
&:nth-child(3) {
// margin-left: 100px;
position: relative;
transform: translateX(52px);
}
&:last-child {
text-align: right;
} }
// flex: 1; // flex: 1;
} }
@ -789,11 +880,12 @@ export default {
.billInfo { .billInfo {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
height: calc(100% - 40px);
li { li {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-around; justify-content: center;
align-items: center;
text-align: center; text-align: center;
border: 1px solid #ccc; border: 1px solid #ccc;
border-top: none; border-top: none;
@ -803,13 +895,12 @@ export default {
} }
li:first-child { li:first-child {
width: 213px; width: 213px;
display: flex; // flex-direction: column;
flex-direction: column;
align-items: center; // justify-content: space-around;
justify-content: space-around; // padding: 28px 0 32px;
padding: 28px 0 32px;
i { i {
text-align: center;
width: 24px; width: 24px;
font-size: 24px; font-size: 24px;
&:before { &:before {
@ -828,16 +919,46 @@ export default {
} }
li:nth-child(2) { li:nth-child(2) {
width: 246px; width: 246px;
line-height: 100px; // line-height: 100px;
// background-color: red; // background-color: red;
} }
li:nth-child(3) { li:nth-child(3) {
// width: 213px; width: 400px;
flex: 1; // display: block;
position: relative;
max-height: 156px;
min-height: 156px;
text-align: left;
padding: 6px 16px 6px 16px;
overflow: hidden;
> p {
white-space: break-space;
text-align: center;
word-break: break-all;
font-size: 14px;
width: 100%;
}
div {
position: absolute;
width: 42px;
height: 20px;
right: 19px;
bottom: 3px;
text-align: right;
background-color: #fff;
color: #ff6a00;
cursor: pointer;
}
// background-color: green; // background-color: green;
} }
li.unfold {
}
li:nth-child(4) { li:nth-child(4) {
padding: 40px 0; display: flex;
flex-direction: column;
justify-content: center;
// padding-top: 62px;
width: 321px; width: 321px;
// background-color: purple; // background-color: purple;
} }

@ -1,6 +1,7 @@
// 路由权限的配置 // 路由权限的配置
import router from "./router"; import router from "./router";
import Vue from "vue";
console.dir(Vue);
router.beforeEach(async (to, from, next) => { router.beforeEach(async (to, from, next) => {
// console.log(to); // console.log(to);
// console.log(from); // console.log(from);
@ -32,6 +33,10 @@ router.beforeEach(async (to, from, next) => {
if (isLogin) { if (isLogin) {
if (to.path === "/login") { if (to.path === "/login") {
next("/login"); next("/login");
} else if (to.path === "/list") {
next();
// window.location.reload();
} else { } else {
next(); next();
} }
@ -47,4 +52,15 @@ router.beforeEach(async (to, from, next) => {
} }
} }
}); });
router.afterEach(() => {}); router.afterEach(() => {
// const isLogin = sessionStorage.getItem("LOGIN_DATA") !== null ? true : false;
// if (isLogin) {
// if (to.path === "/list") {
// // next();
// window.location.reload();
// }
// }
// console.log(to);
// console.log(from);
// console.log(next);
});

@ -27,7 +27,7 @@ td,
div { div {
margin: 0; margin: 0;
padding: 0; padding: 0;
color: #475d5e; color: #4d575e;
font-family: PingFangSC, PingFangSC-Regular; font-family: PingFangSC, PingFangSC-Regular;
} }
body, body,
@ -362,6 +362,12 @@ i {
width: 1200px; width: 1200px;
margin: 0 auto; margin: 0 auto;
} }
.mb12 {
margin-bottom: 12px;
}
.mt20 {
margin-top: 20px;
}
// 日期选择框 // 日期选择框
.ant-calendar-picker-container-content { .ant-calendar-picker-container-content {
margin-top: 3px; margin-top: 3px;

@ -26,7 +26,7 @@ td,
div { div {
margin: 0; margin: 0;
padding: 0; padding: 0;
color: #475d5e; color: #4d575e;
font-family: PingFangSC, PingFangSC-Regular; font-family: PingFangSC, PingFangSC-Regular;
} }
body, body,
@ -295,6 +295,12 @@ i {
width: 1200px; width: 1200px;
margin: 0 auto; margin: 0 auto;
} }
.mb12 {
margin-bottom: 12px;
}
.mt20 {
margin-top: 20px;
}
.ant-calendar-picker-container-content { .ant-calendar-picker-container-content {
margin-top: 3px; margin-top: 3px;
width: 341px !important; width: 341px !important;

@ -1156,13 +1156,12 @@ function getJobSpecialLabelNamesArray(jobSpecialLabelNames) {
*/ */
export function userApplyOrderStatusArray() { export function userApplyOrderStatusArray() {
let orderStatus = [ let orderStatus = [
{ id: "10", name: "审核中" }, { id: "10", name: "审核中", value: "10", text: "审核中" },
{ id: "20", name: "跟面试" }, { id: "20", name: "待面试", value: "20", text: "待面试" },
{ id: "30", name: "跟入职" }, { id: "30", name: "待入职", value: "30", text: "待入职" },
{ id: "40", name: "跟在职" }, { id: "40", name: "在职中", value: "40", text: "在职中" },
{ id: "50", name: "跟离职" }, { id: "50", name: "待离职", value: "50", text: "待离职" },
{ id: "60", name: "已完成" }, { id: "60", name: "已完成", value: "60", text: "已完成" },
{ id: "70", name: "已放弃" },
]; ];
return orderStatus; return orderStatus;
} }
@ -1206,7 +1205,7 @@ export function disposeJobListData(jobList) {
//服务费 //服务费
// console.log(item); // console.log(item);
if (item.returnFeeType || item.returnFeeType === 0) { if (item.returnFeeType) {
if (item.returnFeeType === 0) { if (item.returnFeeType === 0) {
item.servetype = "元/小时"; item.servetype = "元/小时";
} else if (item.returnFeeType === 1) { } else if (item.returnFeeType === 1) {
@ -1215,6 +1214,8 @@ export function disposeJobListData(jobList) {
item.servetype = "元/月"; item.servetype = "元/月";
} else if (item.returnFeeType === 3) { } else if (item.returnFeeType === 3) {
item.servetype = "元/次"; item.servetype = "元/次";
} else {
item.servetype = "元/小时";
} }
// console.log(item); // console.log(item);
// item["returnFee"] = item.returnFee / 100; // item["returnFee"] = item.returnFee / 100;

@ -1,7 +1,7 @@
<template> <template>
<div class="index-container" @click="isspecialboxshow = false"> <div class="index-container" @click="isspecialboxshow = false">
<!-- title部分 --> <!-- title部分 -->
<div class="pagetitle"> <div class="pagetitle" id="pay">
<div class="w"> <div class="w">
<span> <span>
<!-- <i class="iconfont icon-yigezhuanmenfuwudailidepingtai"></i> --> <!-- <i class="iconfont icon-yigezhuanmenfuwudailidepingtai"></i> -->
@ -22,7 +22,7 @@
> >
</li> </li>
<li> <li>
<router-link to="/list" <router-link to="/list" @click.native="toList"
><a ><a
href="javascript:;" href="javascript:;"
:class="routertitleindex === 1 ? 'titleactive' : ''" :class="routertitleindex === 1 ? 'titleactive' : ''"
@ -54,10 +54,22 @@
<span class="login"> <span class="login">
<span v-if="isLogin"> <span v-if="isLogin">
<a-dropdown overlayClassName="logindropdown"> <a-dropdown overlayClassName="logindropdown">
<span><i class="iconfont icon-morentouxiang"></i></span> <img
:src="loginValue.imgSrc"
alt=""
v-if="loginValue.imgSrc !== ''"
style="border-radius: 50%"
/>
<span v-else><i class="iconfont icon-morentouxiang"></i></span>
<div class="loginbox" slot="overlay"> <div class="loginbox" slot="overlay">
<div> <div>
<span class="iconfont icon-morentouxiang avatar"></span <img
:src="loginValue.imgSrc"
alt=""
v-if="loginValue.imgSrc !== ''"
style="border-radius: 50%"
/>
<span v-else class="iconfont icon-morentouxiang avatar"></span
><span class="username">{{ ><span class="username">{{
loginValue.userName || loginValue.nickName || loginValue.tel loginValue.userName || loginValue.nickName || loginValue.tel
}}</span> }}</span>
@ -305,7 +317,7 @@ export default {
*/ */
created() { created() {
this.isLogin = sessionStorage.getItem("LOGIN_DATA") !== null ? true : false; this.isLogin = sessionStorage.getItem("LOGIN_DATA") !== null ? true : false;
console.log(JSON.parse(sessionStorage.getItem("LOGIN_DATA")));
this.getJobList(); this.getJobList();
this.isLaoxiangshow(); this.isLaoxiangshow();
this.getRecommendJob(); this.getRecommendJob();
@ -328,11 +340,11 @@ export default {
// //
methods: { methods: {
// //
async getJobList() { async getJobList(newdata) {
this.isspinning = true; this.isspinning = true;
console.log(this.formvalue); console.log(this.formvalue);
try { try {
var newdata = { newdata = {
district: "", district: "",
monthlyPayStr: "", monthlyPayStr: "",
ageStr: "", ageStr: "",
@ -462,6 +474,12 @@ export default {
this.isbannershow = false; this.isbannershow = false;
} }
}, },
toList() {
console.log(this.$router);
// this.$router.go(0);
// window.location.reload();
this.reload();
},
}, },
}; };
</script> </script>
@ -560,9 +578,14 @@ export default {
.loginbtn { .loginbtn {
width: 70px; width: 70px;
} }
> span { > span {
width: 36px; width: 36px;
height: 36px; height: 36px;
img {
width: 36px;
height: 36px;
}
span { span {
width: 36px; width: 36px;
height: 36px; height: 36px;
@ -771,6 +794,11 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 16px 0; padding: 16px 0;
img {
width: 24px;
height: 24px;
margin-right: 8px;
}
} }
.username { .username {
max-width: 120px; max-width: 120px;

Loading…
Cancel
Save