cyl/dev
zsk 2 years ago
parent d25ed663b2
commit 5ae0c24b77

@ -6,13 +6,23 @@ let setqs = function (data) {
// 获取职位列表
export function JobListApi(data) {
return request({
url: "/yishoudan/store/job/list",
url: "/yishoudan/store/job/platform/list",
method: "post",
// data: setqs(data),
// headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: setqs(data),
});
}
// 获取职位列表
// export function JobListApi(data) {
// return request({
// url: "/yishoudan/store/job/list",
// method: "post",
// // data: setqs(data),
// // headers: { "Content-Type": "application/x-www-form-urlencoded" },
// data: setqs(data),
// });
// }
// 获取职位列表
export function JobListApiYicai(data) {
@ -24,10 +34,18 @@ export function JobListApiYicai(data) {
data: setqs(data),
});
}
// // 获取职位详情
// export function getJobDetailApi(data) {
// return request({
// url: `/yishoudan/store/job/getStoreJobDetailById?storeJobId=${data}`,
// method: "get",
// });
// }
// 获取职位详情
export function getJobDetailApi(data) {
export function getJobDetailApi(data,jobClassify) {
return request({
url: `/yishoudan/store/job/getStoreJobDetailById?storeJobId=${data}`,
url: `/yishoudan/store/job/platform/detail/${data}?jobClassify=${jobClassify}`,
method: "get",
});
}

@ -104,7 +104,7 @@
<div class="subsetleft" v-show="!skeletonshow">
<div class="info">
<div class="imgbox">
<img v-if="store.logo" :src="store.logo" alt />
<img v-if="jobDetail.logo || store.logo" :src="jobDetail.logo || store.logo" alt />
<img v-else src="../../../static/img/nopicture.png" alt />
</div>
<div class="jobinfobox">
@ -124,7 +124,7 @@
<a-tag v-for="(item, index) in jobDetail.jobSpecialLabelNames" :key="index">{{ item }}</a-tag>
</div>
<div style="height: 27px" v-if="!jobDetail.jobSpecialLabelNames" class="jobtag">
<a-tag style="backgroundcolor: #f5f5f5">暂无特色</a-tag>
<a-tag style="background-color: #f5f5f5">暂无特色</a-tag>
</div>
<div style="display: flex; align-items: center; height: 26px; margin-top: 16px">
<div class="jobpricehour" v-html="getSalaryClassifyValue(jobDetail.salaryClassify, jobDetail.salaryClassifyValue)"></div>
@ -168,9 +168,18 @@
</div>
</div>
<div class="sub-bottombox fss">
<button type="primary" class="jobDespBtn" v-if="jobClassify == 1">
<a :href="jobDetail.customServiceUrl" target="_blank"> <i class="iconfont icon-kefu_lan mr6"></i>联系客服</a>
</button>
<a-dropdown :trigger="['click']" overlayClassName="special-dropdown" v-else>
<button type="primary" class="jobDespBtn">
<a :href="customServiceUrl" target="_blank"> <i class="iconfont icon-kefu_lan mr6"></i>联系客服</a>
<a href="javascript:;" target="_blank"> <i class="iconfont icon-kefu_lan mr6"></i>联系客服</a>
</button>
<a-menu slot="overlay" style="padding: 0 10px">
<a-menu-item v-for="(item, index) in customServiceUsers" :key="index"> <i class="iconfont icon-dianhua1 mr4 f14" style="color: #ff4400"></i>{{ item.aliasName }} {{ item.tel }} </a-menu-item>
</a-menu>
</a-dropdown>
<button class="dropdown bottombox1" @click="torecord()" v-if="jobDetail.recruitment == '1'"></button>
<button class="norecruitment bottombox1" v-else></button>
</div>
@ -199,35 +208,39 @@
<span>{{ jobDetail.salaryDetail || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class>薪资发放</span>
<span slot="label" class>发薪日</span>
<span>{{ jobDetail.payDay || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class>保险</span>
<span>{{ jobDetail.employeeInsurance || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class>银行卡</span>
<span>{{ jobDetail.bankInfo || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class>押金</span>
<span>{{ jobDetail.mealCardDeposit || "-" }}</span>
<span>{{ jobDetail.foregift || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class>培训</span>
<span slot="label" class>培训/试用期</span>
<span>{{ jobDetail.training || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item>
<!-- <a-descriptions-item>
<span slot="label" class>试用期</span>
<span>{{ jobDetail.probation || "-" }}</span>
</a-descriptions-item>
</a-descriptions-item> -->
<a-descriptions-item>
<span slot="label" class>福利待遇</span>
<span>{{ jobDetail.boon || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item>
<!-- <a-descriptions-item>
<span slot="label" class>薪资说明</span>
<span style="white-space: break-spaces">
{{ jobDetail.salaryDesp || "-" }}
</span>
</a-descriptions-item>
</a-descriptions-item> -->
</a-descriptions>
</div>
<!-- 岗位要求 -->
@ -247,9 +260,13 @@
</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class>文化学历</span>
<span slot="label" class>文化要求</span>
<span>{{ jobDetail.education || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class>体检</span>
<span>{{ jobDetail.healthRequire || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class>证件</span>
@ -260,11 +277,6 @@
<span slot="label" class>疑难杂症</span>
<span>{{ jobDetail.otherRequireStr || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class>体检</span>
<span>{{ jobDetail.healthRequire || "-" }}</span>
</a-descriptions-item>
</a-descriptions>
</div>
<!-- 基本信息 -->
@ -293,10 +305,6 @@
<span slot="label" class>车间</span>
<span>{{ jobDetail.securityCheck || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item>
<span slot="label" class>保险</span>
<span>{{ jobDetail.employeeInsurance || "-" }}</span>
</a-descriptions-item>
</a-descriptions>
</div>
@ -327,7 +335,7 @@
</div>
<div class="required" id="abutment">
<div class="mb12 mt20">对接信息</div>
<a-descriptions bordered size="small" :column="1" class="leftDesc">
<a-descriptions bordered size="small" :column="1" class="leftDesc" v-if="jobClassify == 1">
<a-descriptions-item class="test1">
<span slot="label" class>面试时间</span>
<span>{{ jobDetail.interviewDuration || "-" }}</span>
@ -336,10 +344,6 @@
<span slot="label" class>面试地点</span>
<span>{{ jobPoses.interview.posContent || "-" }}</span>
</a-descriptions-item>
<!-- <a-descriptions-item class="test1">
<span slot="label" class>宿舍地址</span>
<span>{{ jobPoses.room.posContent ? jobPoses.room.posContent : "-" }}</span>
</a-descriptions-item> -->
<a-descriptions-item class="test1">
<span slot="label" class>面试说明</span>
<span>{{ jobDetail.interviewDesp || "-" }}</span>
@ -353,6 +357,20 @@
<span>{{ jobDetail.leaveRequire || "-" }}</span>
</a-descriptions-item>
</a-descriptions>
<a-descriptions bordered size="small" :column="1" class="leftDesc" v-else>
<a-descriptions-item class="test1">
<span slot="label" class>驻场信息</span>
<span>{{ onSiteUsersInfo || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item class="test1">
<span slot="label" class>面试地址</span>
<span>{{ jobDetail.interviewAddr || "-" }}</span>
</a-descriptions-item>
<a-descriptions-item class="test1">
<span slot="label" class>其他说明</span>
<span>{{ jobDetail.otherInfo || "-" }}</span>
</a-descriptions-item>
</a-descriptions>
</div>
</div>
<a-anchor @click.prevent class="navigation">
@ -367,7 +385,7 @@
<!-- 财务结算 -->
<div v-else-if="tabchange == 0">
<a-descriptions bordered size="small" :column="1" class="leftDesc mt20" style="width: 900px">
<a-descriptions bordered size="small" :column="1" class="leftDesc mt20" style="width: 900px" v-if="jobClassify == 1">
<a-descriptions-item class="test1">
<span slot="label" class>服务费详情</span>
<span>{{ jobDetail.agencyProfit || "-" }}</span>
@ -390,6 +408,16 @@
<span>{{ jobDetail.settlementTime || "-" }}</span>
</a-descriptions-item>
</a-descriptions>
<a-descriptions bordered size="small" :column="1" class="leftDesc mt20" style="width: 900px" v-else-if="jobClassify == 2">
<a-descriptions-item class="test1">
<span slot="label" class>服务费</span>
<span>{{jobDetail.servetype}}</span>
</a-descriptions-item>
<a-descriptions-item class="test1">
<span slot="label" class>服务费详情</span>
<span>{{ jobDetail.returnFeeDesp || "-" }}</span>
</a-descriptions-item>
</a-descriptions>
</div>
<div v-else-if="tabchange === 2">
<div class="pay" id="tip">
@ -407,13 +435,13 @@
<h1 class="bottombox" style>
<i>项目方</i>
</h1>
<img style="width: 60px; height: 60px; border-radius: 50%" class="mt24" :src="managerInfo.avatar || 'https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/service.jpg'" alt />
<div style="color: #333;">
<img style="width: 60px; height: 60px; border-radius: 50%;display: block;margin: 24px auto 0;" :src="agency.logo || 'https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/service.jpg'" alt />
<div style="color: #333">
<p class="f14" style="margin-top: 10px; margin-bottom: 0">
{{ managerInfo.name }}
{{ agency.agencyName || "-" }}
<!-- <i class="iconfont icon-dianhua1 ml4 f14" style="line-height: 24px; color: #ff4400"></i> -->
</p>
<img src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/ysd1.png" style="width: 20px;height: 20px;" alt="">
<!-- <img src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/ysd1.png" style="width: 20px; height: 20px" alt="" /> -->
<!-- <p class="f16">{{ managerInfo.workPhone || "-" }}</p> -->
</div>
<!-- <p class="mt24 f16">{{ managerInfo.workPhone || "-" }}</p>
@ -501,6 +529,9 @@ export default {
//
data() {
return {
agency: {},
onSiteUsersInfo: "",
customServiceUsers: [],
previewVisible: false,
previewImage: "",
relationList: [],
@ -508,6 +539,7 @@ export default {
storeImage: [],
storeInfo: {},
id: "",
jobClassify: "",
currentPageNum: this.$route.query.page || "",
visible: false, //
xiangdanVisible: false, //
@ -726,6 +758,7 @@ export default {
// console.log(this.$router.matcher.match());
if (sessionStorage.getItem("PAGE_TYPE")) {
this.id = JSON.parse(sessionStorage.getItem("PAGE_TYPE")).id;
this.jobClassify = JSON.parse(sessionStorage.getItem("PAGE_TYPE")).jobClassify;
this.currentPageNum = JSON.parse(sessionStorage.getItem("PAGE_TYPE")).pageNum;
console.log("PAGE_TYPE", JSON.parse(sessionStorage.getItem("PAGE_TYPE")));
@ -801,27 +834,46 @@ export default {
async getJobDetail() {
console.log("this.id", this.id);
try {
const { data } = await getJobDetailApi(this.id);
const { data } = await getJobDetailApi(this.id, this.jobClassify);
console.log("data", data);
if (data.status === 200) {
console.log(data);
this.jobDetail = disposeJobListData(data.data.storeJob);
this.jobDetail.jobDesp = data.data.storeJob.jobDesp.replaceAll("*****", "");
this.jobDetail = disposeJobListData(data.data.record);
this.jobDetail.jobDesp = data.data.record.jobDesp.replaceAll("*****", "");
this.customServiceUrl = data.data.customServiceUrl;
this.positionInfo = data.data.store;
this.jobPoses = data.data.jobPoses;
this.agency = data.data.agency;
this.customServiceUsers = data.data.customServiceUsers;
if (data.data.store) {
this.positionInfo = data.data.store;
this.store = data.data.store;
this.positionInfo.desc = this.positionInfo.detailPosition;
this.positionInfo.containerName = "mapContainer";
this.positionInfo.name = this.positionInfo.aliasName;
this.skeletonshow = false;
this.jobDetail.district = disposeJobListData(data.data.store).district;
}
if (data.data.onSiteUsers) {
this.onSiteUsersInfo = data.data.onSiteUsers.map((item) => `${item.aliasName} ${item.tel}`).join(", ");
}
// console.log(this.jobDetail.jobRequestLabelNames)
// if(this.jobDetail.jobRequestLabelNames){
// this.jobDetail.jobRequestLabelNames = this.jobDetail.jobRequestLabelNames.split(',')
// }
// if(this.jobDetail.jobSpecialLabelNames){
// this.jobDetail.jobSpecialLabelNames = this.jobDetail.jobSpecialLabelNames.split(',')
// }
this.skeletonshow = false;
console.log(this.jobDetail);
console.log(this.jobPoses);
let newdata = {
id: data.data.storeJob.id,
aliasName: data.data.store.aliasName,
jobName: data.data.storeJob.jobName,
id: data.data.record.id,
// aliasName: data.data.store.aliasName,
jobName: data.data.record.jobName,
};
this.storeInfo = newdata;
let regs = /\.(jpg|jpeg|png)(\?.*)?$/;
@ -833,6 +885,7 @@ export default {
// console.log(this.storeImage);
let storeImage = [];
let storeVideo = [];
if(data.data.storeImage){
data.data.storeImage.forEach((item) => {
console.log(item.url);
@ -842,6 +895,20 @@ export default {
storeVideo.push(item.url);
}
});
}
if(data.data.images){
data.data.images.forEach((item) => {
console.log(item.url);
if (regs.test(item.url.toLowerCase())) {
storeImage.push(item.url);
} else {
storeVideo.push(item.url);
}
});
}
this.storeImage = [...storeImage, ...storeVideo];
console.log("this.storeImage", this.storeImage);
} else {
@ -1017,6 +1084,17 @@ export default {
</script>
<style scoped lang="less">
.special-dropdown .ant-dropdown-menu-item:hover {
background-color: #fff;
}
.special-dropdown ul > li {
border-bottom: 1px solid #eee;
line-height: 30px;
}
.special-dropdown ul > li:last-child {
border-bottom: 0;
}
.detail-container {
// overflow: hidden;
// border-top: 1px solid #eeefef;
@ -1356,6 +1434,7 @@ export default {
}
.sub-bottombox {
font-size: 16px;
.bottombox1 {
width: 116px;
height: 32px;

@ -56,7 +56,7 @@
<a-tag v-for="(item, index) in jobDetail.jobSpecialLabelNames" :key="index">{{ item }}</a-tag>
</div>
<div style="height: 27px" v-if="!jobDetail.jobSpecialLabelNames" class="jobtag">
<a-tag style="backgroundcolor: #f5f5f5">暂无特色</a-tag>
<a-tag style="background-color: #f5f5f5">暂无特色</a-tag>
</div>
<div style="display: flex; align-items: center; height: 26px; margin-top: 16px">
<div class="jobpricehour" v-html="getSalaryClassifyValue(jobDetail.salaryClassify, jobDetail.salaryClassifyValue)"></div>
@ -320,6 +320,13 @@ export default {
this.jobDetail.district = disposeJobListData(data.data).district;
this.retrunFee = setReturnFee(data.data.returnFee, data.data.returnFeeType);
if(isNotEmptyCheck(this.jobDetail.jobSpecialLabelNames)){
this.jobDetail.jobSpecialLabelNames = new String(this.jobDetail.jobSpecialLabelNames).split(',')
}
if(isNotEmptyCheck(this.jobDetail.jobRequestLabelNames)){
this.jobDetail.jobRequestLabelNames = new String(this.jobDetail.jobRequestLabelNames).split(',')
}
var districtStr = "";
if (isNotEmptyCheck(this.store.storeDistrict)) {
// console.log(item.district);

@ -517,10 +517,10 @@
<div class="jobname">{{ item.jobName }}</div>
<div class="xmfDiv">
<img src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xmf.svg" class="ml4" alt="">
<span class="f12 ml12" style="color:#646572">江西人海科技有限公司</span>
<span class="f12 ml12" style="color:#646572">{{item.agencyName}}</span>
</div>
<img src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/ysd1.png" style="width: 20px;height: 20px;" alt="">
<!-- <img src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/ysd1.png" style="width: 20px;height: 20px;" alt=""> -->
<!-- </router-link> -->
@ -703,12 +703,12 @@
</div>
<div class="hotphone">
<h1 class="bottombox" style>
<i>客户经理</i>
<i>稻田客服</i>
</h1>
<!-- <div class="fcsc"> -->
<!-- <p>0371-6611 3723</p> -->
<img style="width: 60px; height: 60px; border-radius: 50%" class="mt24" :src="managerInfo.avatar || 'https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/service.jpg'" alt />
<img style="width: 60px; height: 60px; border-radius: 50%;display: block;margin: 24px auto 0;" :src="managerInfo.avatar || 'https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/service.jpg'" alt />
<div style="color: #333; font-weight: 600">
<p class="f16" style="margin-top: 10px">
{{ managerInfo.name }}
@ -1329,8 +1329,8 @@ export default {
const { data } = await JobListApi(newdata);
console.log("data", data);
if (data.status === 200) {
this.jobMainList = disposeJobListData(data.data.recordList);
this.formvalue.total = data.data.recordCount;
this.jobMainList = disposeJobListData(data.data.pageBean.recordList);
this.formvalue.total = data.data.pageBean.recordCount;
console.log(this.jobMainList);
} else {
this.$message.info("数据获取失败");
@ -2094,7 +2094,7 @@ export default {
*/
toDetail(item) {
// :to="signType == '' ? '/detail?id=' + item.id + '&page=' + formvalue.pageNum : '/detailYicai?id=' + item.id + '&page=' + formvalue.pageNum"
sessionStorage.setItem("PAGE_TYPE", JSON.stringify({ id: item.id, pageNum: this.formvalue.pageNum, signType: this.signType }));
sessionStorage.setItem("PAGE_TYPE", JSON.stringify({ id: item.id, pageNum: this.formvalue.pageNum, signType: this.signType,jobClassify:item.jobClassify }));
const routeURL = this.$router.resolve({
name: this.signType == "" ? "Detail" : "DetailYicai",

@ -1310,6 +1310,7 @@ export function disposeJobListData (jobList) {
}
item["district"] = districtStr;
//职位特色
item["jobRequestLabelNames"] = getJobSpecialLabelNamesArray(item.jobRequestLabelNames);
item["jobSpecialLabelNames"] = getJobSpecialLabelNamesArray(item.jobSpecialLabelNames);
// 特色标签
// console.log(item.jobSpecialLabelNames);
@ -1462,6 +1463,8 @@ export function disposeJobListData (jobList) {
}
jobList["district"] = districtStr;
//职位特色
jobList["jobRequestLabelNames"] = getJobSpecialLabelNamesArray(jobList.jobRequestLabelNames);
jobList["jobSpecialLabelNames"] = getJobSpecialLabelNamesArray(jobList.jobSpecialLabelNames);
// console.log(jobList.jobSpecialLabelNames);
// 特色标签

Loading…
Cancel
Save