职位分享关注

cyl/master-0804
wangxia 3 months ago
parent c6ebf37f81
commit c84d76ca7a

@ -28,7 +28,7 @@
<view class="g_flex_1 g_flex_row_between g_lh_1">
<view class="g_flex_none g_flex_row_start flex_center">
<img class="g_w_32 g_h_16 g_mr_4" v-if="item.picked == 1" src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/bocaigongyinglian/zhen.svg" alt="" />
<view class="g_ell_1 g_fs_18 g_fw_600" style="color: rgba(0, 0, 0, 0.85); max-width: 500rpx; line-height: 1.3">{{ item.jobName }}</view>
<view class="g_ell_1 g_fs_18 g_fw_600" style="color: rgba(0, 0, 0, 0.85); max-width: 480rpx; line-height: 1.3">{{ item.jobName }}</view>
</view>
<!-- {{item.cus_price}} -->
<view class="g_fs_14 g_flex_row_end" style="color: rgba(0, 0, 0, 0.45)">

@ -102,8 +102,8 @@
<g-panel-image :url="cdnBaseImg + 'quick_application0610.svg'" size="96" />
</div>
<div hover-class="none" class="g_bg_main g_flex_column_center g_radius_50 g_w_48 g_h_48 g_text_c g_c_f g_fs_12 g_fw_600" style="position: fixed; right: 20px; bottom: 70px; z-index: 0" hover-stop-propagation="false" @click="toShare" v-if="isLogin && userInfo.agencyId">
<div class="g_mb_3" style="line-height:1;">分享</div>
<div class="" style="line-height:1;">职位</div>
<div class="g_mb_3" style="line-height: 1">分享</div>
<div class="" style="line-height: 1">职位</div>
</div>
<g-filter :show.sync="whichOneShow" @hideDrawer="(e) => (whichOneShow = e)" ref="filterChild" top="101px" :getFilterDataNew="getFilterData" @filterObj="receiveFromChild"></g-filter>
@ -439,11 +439,11 @@ export default {
// res.recordCount = 0;
// res.recordList = [];
if (res.recordCount == 0) {
// if (res.recordCount == 0) {
that.loading = false;
} else {
that.loading = true;
}
// } else {
// that.loading = true;
// }
that.speed = res.recordCount;
that.query.isFinish = res.recordList.length;
res.recordList = that.G.toGetAddressv3(res.recordList);
@ -647,6 +647,9 @@ export default {
console.log("e", e);
this.G.isLogin();
if (this.G.isLogin()) {
if (this.loading == true) {
return;
}
console.log("一级tab切换");
this.tabInfo.active = e;
this.speed = -1;

@ -0,0 +1,242 @@
<template>
<div class="">
<!-- 关注并创建团队确认框 -->
<u-modal v-model="submitConfirm" width="90%" negativeTop="150" confirmText="发布职位" :showTitle="false" :confirmStyle="{ color: '#576b95', 'font-weight': 600 }" :cancelStyle="{ color: '#000', 'font-weight': 600 }" :showConfirmButton="false">
<div class="g_fs_17 g_text_c">
<div class style="padding: 42px 24px 36px">
<div class="g_text_c g_fw_600 g_c_0">创建团队/企业</div>
<div class="g_text_l g_c_6 g_mb_8 g_mt_24 g_pl_12">团队名称/企业简称</div>
<div class="g_fs_14 g_pl_12 g_bg_f2 g_border_d g_radius_4 g_flex_row_start flex_center">
<u-input v-model="agencyInfo.fullName" :customStyle="{ color: disabled ? '#999' : '#333', fontSize: '17px' }" :disabled="disabled" height="96" placeholder="如:上海发财劳务"></u-input>
</div>
<div class="g_text_l g_c_9 g_mt_8 g_fs_14 g_pl_12">创建团队后可关注发单号浏览职位及工单报名</div>
</div>
<div class="g_flex_row_center flex_center g_fw_600 g_border_e_t">
<div class="g_flex_1 g_h_50 g_text_c g_c_0 g_border_e_r" hover-class="thover" @click="submitConfirm = false" style="line-height: 50px">取消</div>
<div class="g_flex_1 g_h_50 g_text_c g_c_sub" hover-class="thover" @click="finallySubmit" style="line-height: 50px">确定</div>
</div>
</div>
</u-modal>
<!-- 加入别人团队确认框 -->
<u-modal v-model="joinTeamConfirm" width="90%" negativeTop="150" :showTitle="false" :confirmStyle="{ color: '#576b95', 'font-weight': 600 }" :cancelStyle="{ color: '#000', 'font-weight': 600 }" :showConfirmButton="false">
<div class="g_fs_17 g_text_c">
<div class style="padding: 42px 24px 36px">
<div class="g_text_c g_fw_600 g_c_0 g_pb_20">加入团队/企业</div>
<div class="g_text_l g_c_6 g_mb_8 g_mt_24 g_pl_12">团队创建人手机号</div>
<div class="g_flex_row_center">
<div class="g_flex_1 g_bg_f_5 g_radius_6 g_pl_12 g_pr_12">
<u-input v-model="teamInfo.tel" type="number" backgroundColor="#ededed" height="80" placeholder="搜索创建人手机号"></u-input>
</div>
<div class="g_w_90 g_ml_16">
<g-button btnText="搜索" size="auto" type="primary" class @clickBtn="searchTeamByTel"></g-button>
</div>
</div>
<div class="g_text_l g_mt_8 g_fs_14" v-if="chooseTeam.fullName">: {{ chooseTeam.fullName || chooseTeam.agencyName }}</div>
<div class="">
<div class="g_text_l g_c_6 g_mb_8 g_mt_24 g_pl_12">昵称</div>
<div class="g_bg_f_5 g_radius_6 g_pl_12 g_pr_12">
<u-input v-model="teamInfo.userName" backgroundColor="#ededed" height="80" placeholder="请输入您的昵称"></u-input>
</div>
</div>
</div>
<div class="g_flex_row_center flex_center g_fw_600 g_border_e_t">
<div class="g_flex_1 g_h_50 g_text_c g_c_0 g_border_e_r" hover-class="thover" @click="joinTeamConfirm = false" style="line-height: 50px">取消</div>
<div class="g_flex_1 g_h_50 g_text_c g_c_sub" hover-class="thover" @click="joinTeam" style="line-height: 50px">确定</div>
</div>
</div>
</u-modal>
<u-popup v-model="joinTeamDrawerShow" mode="bottom" z-index="999999" border-radius="12" :closeable="false" :mask-close-able="true" @close="joinTeamDrawerShow = false">
<view class="g_text_c g_bg_f_5 g_fs_17">
<view class="g_bg_f">
<view class="g_c_3">
<view v-for="item in teamList" class="g_p_16 g_border_e_t" @click="clickTeam(item)">{{ item.fullName || item.agencyName }}</view>
</view>
</view>
<view class="g_p_16 g_mt_10 g_bg_f" style="padding-bottom: calc(constant(safe-area-inset-bottom) + 16px); padding-bottom: calc(env(safe-area-inset-bottom) + 16px)" @click="joinTeamDrawerShow = false">取消</view>
</view>
</u-popup>
</div>
</template>
<script>
export default {
//
name: "",
//
components: {},
//
props: {
userInfo: {
type: Object,
default: () => {
return {};
},
},
agencyInfo: {
type: Object,
default: () => {
return {};
},
},
shareAgencyId: {
type: String,
default: "",
},
},
//
data() {
return {
joinTeamDrawerShow: false,
joinTeamConfirm: false,
submitConfirm: false,
teamList: [],
teamInfo: {
tel: "",
userName: "",
},
chooseTeam: {},
};
},
//
computed: {},
//
watch: {},
created() {
console.log("alsdfjlasdjfl;askdfjo");
},
mounted() {},
//
methods: {
searchTeamByTel() {
let that = this;
if (!that.teamInfo.tel || !that.G.setReg(that.teamInfo.tel, "tel")) {
uni.showToast({
title: "请输入正确的手机号",
icon: "none",
});
return;
}
uni.hideKeyboard();
that.G.Get(that.api.bind_getAgencyByAdminTel, { tel: that.teamInfo.tel }, (res) => {
that.teamList = res;
that.joinTeamDrawerShow = true;
console.log(res);
});
},
clickTeam(_item) {
let that = this;
that.chooseTeam = _item;
that.joinTeamDrawerShow = false;
},
joinTeam() {
let that = this;
console.log("that.chooseTeam", that.chooseTeam);
if (!that.chooseTeam.agencyId) {
uni.showToast({
title: "请选择一个团队",
icon: "none",
});
return;
}
if (!that.teamInfo.userName) {
uni.showToast({
title: "请输入您的昵称",
icon: "none",
});
return;
}
this.G.Post(this.api.order_addApply, { agencyId: that.chooseTeam.agencyId, username: this.teamInfo.userName }, (res) => {
uni.showToast({
title: "申请成功",
icon: "none",
});
this.joinTeamConfirm = false;
that.G.handleConfirm({
confirmText: "确认",
showCancel: false,
content: "您已发起申请,审核通过即可加入该团队",
success: (res) => {
if (res.confirm) {
uni.switchTab({
url: "/pages/home/index",
});
}
},
});
console.log(res);
});
},
//
applyFlowConfirm() {
let that = this;
that.G.handleConfirm({
confirmText: "确认",
title: "是否确认关注该发单号?",
content: "关注发单号后可浏览职位详情及工单报名",
success: (res) => {
if (res.confirm) {
this.finallySubmit();
}
},
});
},
//
applyFlowWidthoutAgencyConfirm() {
let that = this;
that.G.handleConfirm({
cancelText: "创建团队",
confirmText: "加入团队",
content: "请确认公司是否已创建团队,如果有可直接加入,如果没有可创建。",
success: (res) => {
if (res.confirm) {
this.joinTeamConfirm = true;
} else {
this.submitConfirm = true;
}
},
});
},
finallySubmit() {
let that = this;
if (!this.agencyInfo.fullName) {
uni.showToast({
title: "请输入企业简称",
icon: "none",
});
return;
}
let _code = 1; //
if (this.from == "friend") {
_code = 2; //
} else {
if (this.scene) {
_code = 3; //
} else {
_code = 1; //
}
}
if (that.btnLoading) {
return;
}
that.btnLoading = true;
this.G.Get(this.api.bind_subscribeSubmit + "/" + that.shareAgencyId, { agencyId: that.agencyInfo.id, agencyName: that.agencyInfo.fullName, source: 3, remark: " " }, (res) => {
that.$emit('updateInfo')
uni.showToast({
title: "申请成功",
icon: "none",
});
that.btnLoading = false;
that.submitConfirm = false;
uni.navigateTo({
url: "/root/person/inviteFollowSuccess",
});
// reso();
// that.checkHasApply();
console.log(res);
});
},
},
};
</script>
<style scoped lang="less"></style>

@ -11,10 +11,10 @@
<div v-if="speed == 1">
<view class="r_box g_mb_10" v-if="(isSharePage && isFans == 2) || !isSharePage">
<div class="g_flex_row_between flex_center g_pl_16 g_pr_16 g_fs_16 g_border_e_b" @click="goUserMain" style="height: 60px">
<view class="g_fw_600 g_mr_4 g_flex_column_center">发单号</view>
<view class="g_fw_600 g_mr_4 g_flex_column_center">{{ userinfo.agencyId == jobDetail.agencyId ? "项目方" : "发单号" }}</view>
<view class="g_flex_row_end flex_center g_flex_1">
<span class="g_c_6" selectable="false" space="false" decode="false">{{ jobDetail.fullName ? jobDetail.fullName : jobDetail.agencyName }}</span>
<span class="g_c_6" selectable="false" space="false" decode="false">{{ userinfo.agencyId == jobDetail.agencyId ? jobDetail.upFullName || jobDetail.upAgencyName || "-" : jobDetail.fullName || jobDetail.agencyName }}</span>
<span class="iconfont icon-gengduo11 g_fs_14 g_c_6 g_ml_4"></span>
</view>
@ -195,8 +195,8 @@
</view>
</view>
<view class="" v-if="isLogin">
<view class="contactInfo" style="white-space: pre-line">{{ loginInfo.noticeEndStr ? loginInfo.noticeEndStr : "详情咨询:" + loginInfo.tel }}</view>
<view class="g_fs_14 g_text_c g_mt_16" v-if="loginInfo.agencyStatus == 1">
<view class="contactInfo" style="white-space: pre-line">{{ userinfo.noticeEndStr ? userinfo.noticeEndStr : "详情咨询:" + userinfo.tel }}</view>
<view class="g_fs_14 g_text_c g_mt_16" v-if="userinfo.agencyStatus == 1">
以上联系人可以
<span class="g_fw_600" @click="changeContact" style="color: #576b95; text-decoration: underline">改成我的</span>
</view>
@ -488,7 +488,7 @@
<div class="g_fs_12 g_c_6" style="margin-top: 8px">{{ isSc ? "已收藏" : "收藏" }}</div>
</button>
</div>
<div class="g_flex_none g_flex_column_center" v-if="loginInfo && loginInfo.agencyId && loginInfo.agencyId == 72597">
<div class="g_flex_none g_flex_column_center" v-if="userinfo && userinfo.agencyId && userinfo.agencyId == 72597">
<button class="g_pl_0 g_pr_0 g_bg_f g_mr_12 g_w_36" hover-class="thover" style="line-height: 1; border-radius: 0" @click="goIm">
<icon class="iconfont icon-xiaoxi" style="color: #787878; line-height: 1; margin-top: -5px; font-size: 20px !important; position: relative; top: 3px"></icon>
<div class="g_fs_12 g_c_6" style="margin-top: 8px">IM</div>
@ -596,9 +596,10 @@ export default {
// "", this.jobDetail.jobName + " " + this.jobDetail.priceStr + " " + " ");
let that = this;
let path;
console.log("that.loginInfo", that.loginInfo);
console.log("that.userinfo", that.userinfo);
// id___
path = `/root/detail/job?scene=id=${that.jobDetail.id}_${that.jobDetail.agencyId}_${that.shareUserId || that.loginInfo.user.id}_${that.shareUserAgencyId ? (that.isFans == 2 ? that.loginInfo.agencyId : that.shareUserAgencyId) : that.loginInfo.agencyId}`;
path = `/root/detail/job?scene=id=${that.jobDetail.id}_${that.jobDetail.agencyId}_${that.shareUserId || that.userinfo.user.id}_${that.shareUserAgencyId ? (that.isFans == 2 ? that.userinfo.agencyId : that.shareUserAgencyId) : that.userinfo.agencyId}`;
this.G.Get(this.api.hasSee, { jobId: that.jobDetail.id, classify: 1 }, () => {});
return {
promise: new Promise((resolve, reject) => {
uni.showLoading({
@ -661,7 +662,7 @@ export default {
showPrice: true, //
labelColor: ["#c41d7f", "#096dd9", "#531dab", "#d46b08", "#389e0d", "#08979c", "#cf1322"],
bgColor: ["#fff0f6", "#e6f7ff", "#f9f0ff", "#fff7e6", "#f6ffed", "#e6fffb", "#fff1f0"],
loginInfo: {},
userinfo: {},
cdnBaseImg: this.G.store().cdnBaseImg,
IS_CREATOR: false,
tabInfo: {
@ -747,7 +748,7 @@ export default {
}
this.shareJobAgencyId && this.checkIsFans(this.shareJobAgencyId);
this.loginInfo = uni.getStorageSync("apply-userinfo");
this.userinfo = uni.getStorageSync("apply-userinfo");
// if (uni.getStorageSync("apply-AGENCY_MAMBER_LIST")) {
// this.applyList = uni.getStorageSync("apply-AGENCY_MAMBER_LIST");
// console.log("this.applyList", this.applyList);
@ -851,7 +852,7 @@ export default {
let that = this;
console.log(id);
that.G.Get(that.api.bind_enterpriseDetail + "/" + id, "", (res) => {
if (that.loginInfo.agencyId == that.jobDetail.agencyId || res.recordStatus == 1 || res.recordStatus == 2) {
if (that.userinfo.agencyId == that.jobDetail.agencyId || res.recordStatus == 1 || res.recordStatus == 2) {
that.attention = true;
} else {
that.G.handleConfirm({
@ -975,7 +976,7 @@ export default {
});
}
that.jobDetail = res;
that.selfJob = that.jobDetail.agencyId == that.loginInfo.agencyId;
that.selfJob = that.jobDetail.agencyId == that.userinfo.agencyId;
if (that.jobDetail.jobInfo.indexOf("————————" > -1)) {
that.jobDetail.jobInfo = that.jobDetail.jobInfo.replace(/\*\*\*\*\*/g, "").split("————————")[0];
} else {
@ -1037,7 +1038,7 @@ export default {
}
that.shareUserId && (params.agencyUserId = that.isFans == 2 ? "" : that.shareUserId);
// ,id,
that.shareUserAgencyId && (params.shareUserAgencyId = that.isFans == 2 ? that.loginInfo.agencyId : that.shareUserAgencyId);
that.shareUserAgencyId && (params.shareUserAgencyId = that.isFans == 2 ? that.userinfo.agencyId : that.shareUserAgencyId);
uni.navigateTo({
url: `/root/home/quickApplication?params=${JSON.stringify(params)}`,
});

@ -52,6 +52,7 @@
<div class="g_pt_12 g_fs_14" style="height: 100%">{{ info.agencyDesp }}</div>
</div>
<div class="g_h_10"></div>
<div class>
<quickLogin @successLogin="successLogin" v-if="!isLogin">
<div style="width: calc(100vw - 40px)" class>
@ -112,69 +113,17 @@
</div>
</div>
</view>
<!-- 关注并创建团队确认框 -->
<u-modal v-model="submitConfirm" width="90%" negativeTop="150" confirmText="发布职位" :showTitle="false" :confirmStyle="{ color: '#576b95', 'font-weight': 600 }" :cancelStyle="{ color: '#000', 'font-weight': 600 }" :showConfirmButton="false">
<div class="g_fs_17 g_text_c">
<div class style="padding: 42px 24px 36px">
<div class="g_text_c g_fw_600 g_c_0">创建团队/企业</div>
<div class="g_text_l g_c_6 g_mb_8 g_mt_24 g_pl_12">团队名称/企业简称</div>
<div class="g_fs_14 g_pl_12 g_bg_f2 g_border_d g_radius_4 g_flex_row_start flex_center">
<u-input v-model="agencyInfo.fullName" :customStyle="{ color: disabled ? '#999' : '#333', fontSize: '17px' }" :disabled="disabled" height="96" placeholder="如:上海发财劳务"></u-input>
</div>
<div class="g_text_l g_c_9 g_mt_8 g_fs_14 g_pl_12">创建团队后可关注发单号浏览职位及工单报名</div>
</div>
<div class="g_flex_row_center flex_center g_fw_600 g_border_e_t">
<div class="g_flex_1 g_h_50 g_text_c g_c_0 g_border_e_r" hover-class="thover" @click="submitConfirm = false" style="line-height: 50px">取消</div>
<div class="g_flex_1 g_h_50 g_text_c g_c_sub" hover-class="thover" @click="finallySubmit" style="line-height: 50px">确定</div>
</div>
</div>
</u-modal>
<!-- 加入别人团队确认框 -->
<u-modal v-model="joinTeamConfirm" width="90%" negativeTop="150" :showTitle="false" :confirmStyle="{ color: '#576b95', 'font-weight': 600 }" :cancelStyle="{ color: '#000', 'font-weight': 600 }" :showConfirmButton="false">
<div class="g_fs_17 g_text_c">
<div class style="padding: 42px 24px 36px">
<div class="g_text_c g_fw_600 g_c_0 g_pb_20">加入团队/企业</div>
<div class="g_text_l g_c_6 g_mb_8 g_mt_24 g_pl_12">团队创建人手机号</div>
<div class="g_flex_row_center">
<div class="g_flex_1 g_bg_f_5 g_radius_6 g_pl_12 g_pr_12">
<u-input v-model="teamInfo.tel" type="number" backgroundColor="#ededed" height="80" placeholder="搜索创建人手机号"></u-input>
</div>
<div class="g_w_90 g_ml_16">
<g-button btnText="搜索" size="auto" type="primary" class @clickBtn="searchTeamByTel"></g-button>
</div>
</div>
<div class="g_text_l g_mt_8 g_fs_14" v-if="chooseTeam.fullName">: {{ chooseTeam.fullName || chooseTeam.agencyName }}</div>
<div class="">
<div class="g_text_l g_c_6 g_mb_8 g_mt_24 g_pl_12">昵称</div>
<div class="g_bg_f_5 g_radius_6 g_pl_12 g_pr_12">
<u-input v-model="teamInfo.userName" backgroundColor="#ededed" height="80" placeholder="请输入您的昵称"></u-input>
</div>
</div>
</div>
<div class="g_flex_row_center flex_center g_fw_600 g_border_e_t">
<div class="g_flex_1 g_h_50 g_text_c g_c_0 g_border_e_r" hover-class="thover" @click="joinTeamConfirm = false" style="line-height: 50px">取消</div>
<div class="g_flex_1 g_h_50 g_text_c g_c_sub" hover-class="thover" @click="joinTeam" style="line-height: 50px">确定</div>
</div>
</div>
</u-modal>
<u-popup v-model="joinTeamDrawerShow" mode="bottom" z-index="999999" border-radius="12" :closeable="false" :mask-close-able="true" @close="joinTeamDrawerShow = false">
<view class="g_text_c g_bg_f_5 g_fs_17">
<view class="g_bg_f">
<view class="g_c_3">
<view v-for="item in teamList" class="g_p_16 g_border_e_t" @click="clickTeam(item)">{{ item.fullName || item.agencyName }}</view>
</view>
</view>
<view class="g_p_16 g_mt_10 g_bg_f" style="padding-bottom: calc(constant(safe-area-inset-bottom) + 16px); padding-bottom: calc(env(safe-area-inset-bottom) + 16px)" @click="joinTeamDrawerShow = false">取消</view>
</view>
</u-popup>
<applyFlow ref="applyFlow" @updateInfo="updateInfo" :userInfo="userInfo" :shareAgencyId="uid" :agencyInfo="agencyInfo"></applyFlow>
</div>
</template>
<script>
import quickLogin from "../../components/quickLogin.vue";
import applyFlow from "../components/applyFlow.vue";
export default {
components: {
quickLogin,
applyFlow,
},
onReady() {
this.G.setNavStyle();
@ -191,23 +140,13 @@ export default {
background: {
backgroundColor: "transparent",
},
teamInfo: {
tel: "",
userName: "",
},
userInfo: {},
chooseTeam: {},
teamList: [],
navColor: "rgb(255,255,255,0)",
isLogin: null,
isShowMore: true,
isShowJob: true,
submitConfirm: false,
joinTeamConfirm: false,
joinTeamDrawerShow: false,
pageSpeed: 0,
agencyId: 0,
loading: true,
keyword: "", //
speed: -1,
@ -248,7 +187,6 @@ export default {
from: "",
fromQRCode: false, //
jobDetailShow: true,
loginInfo: {},
isSelf: false, //
scene: "",
tabInfo: {
@ -296,7 +234,7 @@ export default {
this.loginId = uni.getStorageSync("apply-agencyId");
that.isLogin = uni.getStorageSync("apply-token") ? true : false; // uni.getStorageSync("apply-token");
this.loginInfo = uni.getStorageSync("apply-userinfo");
this.userInfo = uni.getStorageSync("apply-userinfo");
if (this.loginId == options.id && options.id) {
this.isSelf = true;
}
@ -323,7 +261,6 @@ export default {
if (options.bindid) {
this.bindid = options.bindid;
}
// this.getDetail()
},
onShow() {
let that = this;
@ -460,6 +397,9 @@ export default {
});
}
},
/**
* 获取登录人的团队信息
*/
getAgencyInfo() {
let that = this;
return new Promise((reso, reject) => {
@ -495,7 +435,7 @@ export default {
}
console.log("that.type", that.type);
uni.navigateTo({
url: "/root/bind/more?delta=2&id=" + that.agencyId + "&himSee=" + that.info.himSee + "&lookHim=" + that.info.lookHim + "&type=" + str + "&from=" + that.type + "&lid=" + that.info.lookHimOperateId + "&hid=" + that.info.himSeeOperateId,
url: "/root/bind/more?delta=2&id=" + that.info.id + "&himSee=" + that.info.himSee + "&lookHim=" + that.info.lookHim + "&type=" + str + "&from=" + that.type + "&lid=" + that.info.lookHimOperateId + "&hid=" + that.info.himSeeOperateId,
});
}
}
@ -509,9 +449,9 @@ export default {
success: (res) => {
if (res.confirm) {
that.G.Get(
that.api.bind_cancelApply + "/" + that.agencyId,
that.api.bind_cancelApply + "/" + that.info.id,
{
agencyId: that.agencyId,
agencyId: that.info.id,
},
() => {
uni.showToast({
@ -530,54 +470,6 @@ export default {
});
}
},
getDetail() {
let that = this;
// 123123
// this.G.isLogin();
// if (this.G.isLogin()) {
that.pageSpeed = 0;
that.G.Get(
that.api.bind_enterpriseDetail + "/" + that.uid,
{
agencyId: that.uid,
type: that.type,
},
(res) => {
console.log("获取详情:", res, " -- ", that.uid);
that.pageSpeed = 1;
that.info = res;
if (!that.uid) {
if (that.loginInfo.agencyId == that.info.agencyId) {
that.isSelf = true;
}
}
// if (that.info.supplierAccount == 0) {
// that.isShowMore = false;
// }
that.agencyId = res.agencyId;
that.numSlot = [
{
name: "总职位",
num: that.info.jobNum,
},
{
name: "在招",
num: that.info.recruitmentJobNum,
},
{
name: "关注",
num: that.info.himSee,
},
{
name: "粉丝",
num: that.info.downNum,
},
];
that.getList();
}
);
// }
},
goDetailUser() {
let that = this;
return false;
@ -672,7 +564,7 @@ export default {
{
pageNum: that.query.page,
pageSize: that.query.size,
agencyId: that.agencyId,
agencyId: that.info.id,
},
(res) => {
console.log("resresresresresres", res);
@ -756,50 +648,8 @@ export default {
fail() {},
});
},
finallySubmit() {
let that = this;
if (!this.agencyInfo.fullName) {
uni.showToast({
title: "请输入企业简称",
icon: "none",
});
return;
}
let _code = 1; //
if (this.from == "friend") {
_code = 2; //
} else {
if (this.scene) {
_code = 3; //
} else {
_code = 1; //
}
}
if (that.btnLoading) {
return;
}
that.btnLoading = true;
this.G.Get(this.api.bind_subscribeSubmit + "/" + that.uid, { agencyId: that.agencyInfo.id, agencyName: that.agencyInfo.fullName, source: _code, remark: " " }, (res) => {
that.getAgencyInfo().then(() => {
that.getAgencyById().then(() => {
that.G.checkToken();
});
});
uni.showToast({
title: "申请成功",
icon: "none",
});
that.btnLoading = false;
that.submitConfirm = false;
uni.navigateTo({
url: "/root/person/inviteFollowSuccess",
});
// reso();
// that.checkHasApply();
console.log(res);
});
},
// ()
getAgencyById() {
let that = this;
return new Promise((reso, reject) => {
@ -807,9 +657,7 @@ export default {
console.log("resresresresresres++++++++++++++", res);
console.log("resresresresresres++++++++++++++", that.agencyInfo);
console.log("resresresresresres++++++++++++++", that.isSelf);
that.pageSpeed = 1;
that.info = res;
that.agencyId = res.id;
that.speed = res.jobList.length;
that.showPage = true;
@ -845,7 +693,7 @@ export default {
let that = this;
this.isLogin = true;
console.log("successLogin", e);
this.loginInfo = uni.getStorageSync("apply-userinfo");
this.userInfo = uni.getStorageSync("apply-userinfo");
that.getAgencyInfo().then(() => {
that.getAgencyById().then(() => {
// that.query.page++;
@ -864,10 +712,19 @@ export default {
});
});
},
//
updateInfo() {
let that = this;
that.getAgencyInfo().then(() => {
that.getAgencyById().then(() => {
that.G.checkToken();
});
});
},
jobLogin() {
let that = this;
this.isLogin = true;
this.loginInfo = uni.getStorageSync("apply-userinfo");
this.userInfo = uni.getStorageSync("apply-userinfo");
that.getAgencyInfo().then(() => {
that.getAgencyById().then(() => {
// that.query.page++;
@ -879,93 +736,14 @@ export default {
let that = this;
this.G.isLogin();
if (this.G.isLogin()) {
if (that.loginInfo.agencyId) {
if (that.userInfo.agencyId) {
// that.submitConfirm = true;
that.G.handleConfirm({
confirmText: "确认",
title: "是否确认关注该发单号?",
content: "关注发单号后可浏览职位详情及工单报名",
success: (res) => {
if (res.confirm) {
this.finallySubmit();
}
},
});
that.$refs.applyFlow.applyFlowConfirm();
} else {
that.G.handleConfirm({
cancelText: "创建团队",
confirmText: "加入团队",
content: "请确认公司是否已创建团队,如果有可直接加入,如果没有可创建。",
success: (res) => {
if (res.confirm) {
this.joinTeamConfirm = true;
} else {
this.submitConfirm = true;
}
},
});
that.$refs.applyFlow.applyFlowWidthoutAgencyConfirm();
}
}
},
searchTeamByTel() {
let that = this;
if (!that.teamInfo.tel || !that.G.setReg(that.teamInfo.tel, "tel")) {
uni.showToast({
title: "请输入正确的手机号",
icon: "none",
});
return;
}
uni.hideKeyboard();
that.G.Get(that.api.bind_getAgencyByAdminTel, { tel: that.teamInfo.tel }, (res) => {
that.teamList = res;
that.joinTeamDrawerShow = true;
console.log(res);
});
},
clickTeam(_item) {
let that = this;
that.chooseTeam = _item;
that.joinTeamDrawerShow = false;
},
joinTeam() {
let that = this;
console.log("that.chooseTeam", that.chooseTeam);
if (!that.chooseTeam.agencyId) {
uni.showToast({
title: "请选择一个团队",
icon: "none",
});
return;
}
if (!that.teamInfo.userName) {
uni.showToast({
title: "请输入您的昵称",
icon: "none",
});
return;
}
this.G.Post(this.api.order_addApply, { agencyId: that.chooseTeam.agencyId, username: this.teamInfo.userName }, (res) => {
uni.showToast({
title: "申请成功",
icon: "none",
});
this.joinTeamConfirm = false;
that.G.handleConfirm({
confirmText: "确认",
showCancel: false,
content: "您已发起申请,审核通过即可加入该团队",
success: (res) => {
if (res.confirm) {
uni.switchTab({
url: "/pages/home/index",
});
}
},
});
console.log(res);
});
},
handleUpdateTab() {},
},

@ -1,6 +1,6 @@
<template>
<view class="p-root-sharejob g_w_all g_bg_f_5" hover-class="none" hover-stop-propagation="false">
<scroll-view class="m-list" id="listBox" :style="{ height: `calc(${navInfo.windowHeight}px)` }" :scroll-y="true" @scrolltolower="reachBottom">
<scroll-view class="m-list" id="listBox" :style="{ height: `calc(100vh - 74px)` }" :scroll-y="true" @scrolltolower="reachBottom">
<!-- <div class="g_kuaishou"> -->
<div>
<div class="sticky g_bg_f">
@ -410,6 +410,7 @@ export default {
title: item.jobName,
address: item.district + item.age,
price: item.salaryClassify != 7 ? that.G.getSalaryClassifyValue(item.salaryClassify, item.salaryClassifyValue) : that.G.getSalaryClassifyValue(item.salaryClassify, item.minMonthlyPay, item.maxMonthlyPay),
salaryClassifyValue: item.salaryClassify != 7 ? that.G.getSalaryClassifyValue(item.salaryClassify, item.salaryClassifyValue) : "月薪",
logo: item.agencyLogo,
time: that.G.setDeadLine(item.updateTime, "jiaofu"),
fuWuFei: that.G.setReturnFee(item.returnFee, item.returnFeeType),
@ -432,6 +433,8 @@ export default {
title: item.jobName,
address: item.district + item.age,
price: item.salaryClassify != 7 ? that.G.getSalaryClassifyValue(item.salaryClassify, item.salaryClassifyValue) : that.G.getSalaryClassifyValue(item.salaryClassify, item.minMonthlyPay, item.maxMonthlyPay),
salaryClassifyValue: item.salaryClassify != 7 ? that.G.getSalaryClassifyValue(item.salaryClassify, item.salaryClassifyValue) : "月薪",
logo: item.agencyLogo,
time: that.G.setDeadLine(item.updateTime, "jiaofu"),
fuWuFei: that.G.setReturnFee(item.returnFee, item.returnFeeType),
@ -448,6 +451,8 @@ export default {
})
);
}
console.log("that.query.list", that.query.list);
});
},
goCity() {
@ -549,7 +554,7 @@ export default {
getCode() {
var that = this;
let _env = uni.getAccountInfoSync().miniProgram.envVersion;
console.log('_env',_env);
console.log("_env", _env);
return new Promise((resolve, reject) => {
// if (this.checkedList.length == 1) {
// that.G.Get(that.api.get_singlejob_QRcode + `/${that.checkedList[0].id}`, {}, (res) => {
@ -560,7 +565,7 @@ export default {
// } else {
that.G.Get(that.api.get_job_QRcode, { storeJobIds: that.checkedList.map((item) => item.id).join(","), env: _env }, (res) => {
console.log("get_job_QRcode", res);
that.currCode = res.qrcode;
that.currCode = res;
resolve();
});
// }
@ -606,64 +611,10 @@ export default {
},
});
}).then(() => {
const fillTextLineBreak = (ctx, text, x, y, lw, lh, color = "#333", font = "32", weight = "500") => {
var i = 0;
var n = 0;
var r = -1;
var initHeight = 0;
ctx.font = weight + " " + font + "px Arial"; //
console.log("text", text);
ctx.fillStyle = color; //
while (i < text.length) {
while (ctx.measureText(text.substring(n, i)).width < lw && i < text.length) {
i++;
}
r++;
ctx.fillText(text.substring(n, i), x, y + lh * r);
n = i;
}
initHeight = lh * r;
// uni.setStorageSync("initHeight", initHeight);
};
const roundRect = (ctx, img, bg_x, bg_y, bg_w, bg_h, bg_r) => {
//
ctx.save();
ctx.beginPath();
ctx.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5);
ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2);
ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_h - bg_r, bg_r, 0, Math.PI * 0.5);
ctx.arc(bg_x + bg_r, bg_y + bg_h - bg_r, bg_r, Math.PI * 0.5, Math.PI);
ctx.clip();
ctx.drawImage(img, bg_x, bg_y, bg_w, bg_h);
//
ctx.restore();
};
const roundRect_yuan = (ctx, x, y, size) => {
//
ctx.save(); //
ctx.beginPath(); //
// ctx.arc(100, 75, 50, 0, 2 * Math.PI)
ctx.arc(size / 2 + x, size / 2 + y, size / 2, 0, Math.PI * 2, false);
ctx.clip();
//
ctx.restore();
};
function roundRect1(ctx, x, y, w, h, r, color) {
//())
ctx.save();
ctx.fillStyle = color;
ctx.strokeStyle = color;
ctx.lineJoin = "round"; //
ctx.lineWidth = r;
ctx.strokeRect(x + r / 2, y + r / 2, w - r, h - r);
ctx.fillRect(x + r, y + r, w - r * 2, h - r * 2);
ctx.stroke();
ctx.closePath();
}
//使
console.log(canvas);
if (type == "setJob") {
this.setShareJobImg(ctx, canvas, { roundRect1, roundRect_yuan, roundRect, fillTextLineBreak })
this.setShareJobImg(ctx, canvas)
.then(function (canvas1) {
uni.canvasToTempFilePath({
canvas: canvas1,
@ -796,7 +747,7 @@ export default {
_G.fillTextLineBreak(ctx, "丨" + item.age, logoLeft + ctx.measureText(item.district).width, baseTop + ageTop + baseMiddle * index, 500 * 2, 20, "#333", monthlyPaySize); //
_G.fillTextLineBreak(ctx, that.appInfo.fullName || that.appInfo.agencyName, mycenter - ctx.measureText(that.appInfo.fullName || that.appInfo.agencyName).width / 2, fubiaotiTop, 400 * 2, 20, "#fff", monthlyPaySize, "600"); //
_G.fillTextLineBreak(ctx, that.userInfo.fullName || that.userInfo.agencyName, mycenter - ctx.measureText(that.userInfo.fullName || that.userInfo.agencyName).width / 2, fubiaotiTop, 400 * 2, 20, "#fff", monthlyPaySize, "600"); //
if (that.checkedList.length == 1) {
// roundRect1(ctx, mycenter - 600 / 2, baseTop + 750, 600, 560, 32, "#fff");
@ -864,23 +815,29 @@ export default {
salaryClassifyValueTop = 10;
monthlyPaySize = 32;
console.log(123);
that.checkedList.forEach((item, index) => {
try {
that.checkedList.forEach((item, index) => {
if (index <= 2) {
let labelLeft = 0;
console.log("item1", item);
_G.roundRect1(ctx, 32, baseTop - 60 + baseMiddle * index, 776, roundRectHeight, 24, "#fff");
_G.fillTextLineBreak(ctx, item.jobName, logoLeft, baseTop + baseMiddle * index, 800, 20, "#333", titleSize, "500"); //
_G.fillTextLineBreak(ctx, item.cus_price == "月薪" ? item.monthlyPay : item.salaryClassifyValue, salaryClassifyValueLeft + 500, baseTop - 10 + salaryClassifyValueTop + baseMiddle * index, 400, 20, "#ff4400", titleSize - 4, "600"); //
// ()
// _G.fillTextLineBreak(ctx, item.cus_price == "" ? item.monthlyPay : item.salaryClassifyValue, salaryClassifyValueLeft + 500, baseTop - 10 + salaryClassifyValueTop + baseMiddle * index, 400, 20, "#ff4400", titleSize - 4, "600"); //
_G.fillTextLineBreak(ctx, item.cus_price == "月薪" ? item.monthlyPay : item.salaryClassifyValue, canvas.width - ctx.measureText(item.cus_price == "月薪" ? item.monthlyPay : item.salaryClassifyValue).width - 40 , baseTop + ageTop + baseMiddle * index, 400, 20, "#ff4400", titleSize - 4, "600"); //
// setTimeout(() => {
// _G.fillTextLineBreak(ctx, item.monthlyPay, salaryClassifyValueLeft + ctx.measureText(item.salaryClassifyValue + " ").width, baseTop + salaryClassifyValueTop + baseMiddle * index, 400 , 20, "#ff4400", monthlyPaySize, "400"); //
// }, 0);
_G.fillTextLineBreak(ctx, item.district, logoLeft, baseTop + ageTop + baseMiddle * index, 500, 20, "#999", monthlyPaySize); //
_G.fillTextLineBreak(ctx, item.age, logoLeft + ctx.measureText(item.district).width, baseTop + ageTop + baseMiddle * index, 500, 20, "#999", monthlyPaySize); //
_G.fillTextLineBreak(ctx, "丨" + item.age, logoLeft + ctx.measureText(item.district).width, baseTop + ageTop + baseMiddle * index, 500, 20, "#999", monthlyPaySize); //
}
});
imgres(canvas);
} catch (error) {
console.log('error',error);
}
// setTimeout(() => {
// },500);
imgres(canvas);
});
},
saveToalbum() {

@ -1,11 +1,22 @@
<template>
<view class="p-root-detail-apply g_w_all g_bg_f_5 g_kuaishou g_pt_10">
<view class="g_flex_row_between flex_center g_p_12 g_mb_12 g_bg_f" v-if="(userRole.recordStatus == 3 || userRole.recordStatus == 4 || userRole.recordStatus == 5) && from == '短链接'">
<view>关注该代理可查看其佣金, 点击直接关注</view>
<view>
<g-button type="primary" size="mini" fontSize="14" btnText="关注" @btnClick="handleSubmit"></g-button>
</view>
</view>
<g-list-job from="shareList" class="g_flex_1" :recordStatus="userRole.recordStatus" :list="query.list" @clickCard="goDetail" :loading="loading" :speed="speed" :query="query" :isShowLoginBtn="isLogin ? false : true" />
<applyFlow ref="applyFlow" @updateInfo="updateInfo" :userInfo="userInfo" :shareAgencyId="shareUserInfo.agencyId" :agencyInfo="agencyInfo"></applyFlow>
</view>
</template>
<script>
import applyFlow from "../components/applyFlow.vue";
export default {
components: {
applyFlow,
},
onReady() {
this.G.setNavStyle();
},
@ -16,7 +27,9 @@ export default {
return {
cdnBaseImg: this.G.store().cdnBaseImg,
agencyId: uni.getStorageSync("apply-agencyId"),
userInfo: uni.getStorageSync("apply-userinfo"),
isAdmin: uni.getStorageSync("apply-userinfo").admin,
agencyInfo: {},
userRole: {},
shareUserInfo: {},
isCreator: false, //
@ -31,12 +44,19 @@ export default {
isLogin: true,
loading: false,
QRCodeId: null,
from: "",
};
},
onLoad(options) {
let that = this;
let val = uni.getLaunchOptionsSync();
console.log("value", val);
console.log("options", options);
if (val.scene == 1167 || val.scene == 1065) {
this.from = "短链接";
} else {
this.from = "其他";
}
if (options.scene) {
console.log("XXXXXXXXXXXX");
//
@ -48,24 +68,26 @@ export default {
console.log("checkUserLogin", res);
if (res) {
//
if (sceneJson.i) {
that.sceneStoreJobId = sceneJson.i;
let u = sceneJson.u.split("_");
that.shareUserInfo = {
agencyId: u[0],
agencyUserId: u[1],
};
that.getUserRole().then(() => {
that.getList();
});
} else {
that.QRCodeId = sceneJson.id;
that.getId().then(() => {
that.getAgencyInfo().then(() => {
if (sceneJson.i) {
that.sceneStoreJobId = sceneJson.i;
let u = sceneJson.u.split("_");
that.shareUserInfo = {
agencyId: u[0],
agencyUserId: u[1],
};
that.getUserRole().then(() => {
that.getList();
});
});
}
} else {
that.QRCodeId = sceneJson.id;
that.getId().then(() => {
that.getUserRole().then(() => {
that.getList();
});
});
}
});
} else {
uni.reLaunch({
url: `/root/person/loginIndex?type=shareList&path=/root/home/shareList&scene=${JSON.stringify(sceneJson)}`,
@ -88,6 +110,32 @@ export default {
},
onShow() {},
methods: {
/**
* 获取登录人的团队信息
*/
getAgencyInfo() {
let that = this;
return new Promise((reso, reject) => {
that.G.Get(that.api.login_agencyInfo, {}, (aRes) => {
console.log("获取团队信息:", aRes);
if (aRes.agency) {
that.agencyInfo = { ...aRes.agency, fullName: aRes.agency.fullName ? aRes.agency.fullName : that.agencyInfo.fullName };
uni.setStorageSync("agencyInfo", aRes.agency);
}
setTimeout(() => {
reso();
}, 200);
});
});
},
//
updateInfo() {
let that = this;
that.getAgencyInfo().then(() => {
that.G.checkToken();
});
},
getUserRole() {
let that = this;
return new Promise((resolve, reject) => {
@ -98,6 +146,9 @@ export default {
});
});
},
/**
* 获取二维码携带的信息
*/
getId() {
let that = this;
return new Promise((resolve, reject) => {
@ -187,6 +238,18 @@ export default {
});
}
},
handleSubmit() {
let that = this;
this.G.isLogin();
if (this.G.isLogin()) {
if (that.userInfo.agencyId) {
// that.submitConfirm = true;
that.$refs.applyFlow.applyFlowConfirm();
} else {
that.$refs.applyFlow.applyFlowWidthoutAgencyConfirm();
}
}
},
},
};
</script>

@ -12,6 +12,8 @@ let data = {
var n = 0;
var r = -1;
// var initHeight = 0;
console.log('text',text);
ctx.font = weight + " " + font + "px Arial"; //字体大小
ctx.fillStyle = color; //字体颜色
// ctx.textBaseline = align;

@ -63,7 +63,7 @@
:selection-start="uSelectionStart"
:show-confirm-bar="showConfirmbar"
:adjust-position="adjustPosition"
:hold-keyboard = "true"
:hold-keyboard="false"
@focus="onFocus"
@blur="handleBlur"
@input="handleInput"

Loading…
Cancel
Save