上传图片

cyl/master-im
wangxia 9 months ago
parent 5bdbf5637f
commit 4e5d3277e8

@ -2,6 +2,8 @@
export default {
globalData: {
timer: null, //
themeColor: "#00b666",
themeBackgroundColor: "#00b66621",
},
onShow: function (options) {
let that = this;
@ -33,8 +35,14 @@ export default {
this.G.checkToken();
}
if (!that.globalData.timer) {
that.globalData.timer = setInterval(() => {
if (uni.getStorageSync("apply-token")) {
that.checkNum();
}
that.globalData.timer = setInterval(() => {
console.log("inner++++++++++++++++++++ +++++++++++++++++++++++++++");
if (uni.getStorageSync("apply-token")) {
that.checkNum();
}
}, 1 * 30 * 1000);
}
},
@ -46,7 +54,6 @@ export default {
that.G.Get(
that.api.bind_getWaitNum + "/" + 1,
{
type: 2,
},
(res) => {
console.log("获取待处理数量:", res);

@ -2,7 +2,8 @@ let userInfo = {// 用户信息模块
user_changeName: "/user/updateUserName",// 修改用户名
user_changeLoginPwd: "/yishoudan/updatePasswordByPwd",// 修改登录密码
user_changeForgetPwd: "/yishoudan/updatePassword",// 忘记密码页修改登录密码
user_changeAvatar: "/user/changeUserImgsrc",// 修改头像
user_changeAvatar: "/user/changeUserImgsrc",// 修改头像(传文件)
user_changeAvatarWithUrl: "/user/changeUserImgsrcWithUrl",// 修改头像(传路径)
user_dataValue: "/statistics/home",// 获取各种数据参数
user_tobeSupplier: "/business/coop/add",// 提交申请发单号信息
user_getTobeSupplierInfo: "/yishoudan/agency/get",// 获取发单号信息

@ -27,7 +27,7 @@
<view class="g_flex_1 g_flex_row_start">
<view class="g_flex_1 g_flex_column_between">
<view class="g_fs_16 g_c_3 g_fw_bold g_ell_1"> {{ item.userName }}{{ item.setTitle }} </view>
<view class="g_fs_14 g_c_6 g_ell_1">{{ item.storeJobName + "@" + item.upAgencyName }}</view>
<view class="g_fs_14 g_c_6 g_ell_1">{{ item.storeJobName + "@" + (item.upFullName || item.upAgencyName) }}</view>
</view>
<view class="g_flex_none g_ml_20 g_flex_column_between">
<view class="g_fs_14 g_c_9 g_flex_row_end">{{ item.time }}</view>

@ -10,9 +10,11 @@
'padding-top': pt + 'rpx',
}"
>
<!-- <view class="g_h_all" style="" v-if="!isLogin">
<unloginInfo></unloginInfo>
</view> -->
<g-empty :text="emptyText" :subText="emptySubText" style="margin-top: 30px" />
<view class="g_mt_32" v-if="isShowLoginBtn">
<!-- <g-button btnText="去登录" size="small" @clickBtn="goLogin" /> -->
<g-button :btnText="'登录查看'" type="primary" @clickBtn="goLogin" />
</view>
</view>
@ -114,7 +116,7 @@
<view class="g_flex_row_between flex_center g_border_e_t g_p_8">
<view class="g_c_6 g_fs_12 g_pr_4 g_radius_4 g_flex_row_start flex_center" style="background: #f1faff">
<img class="g_w_33 g_h_22 g_mr_4" src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/bocaigongyinglian/xmf.svg" alt="" />
{{ item.agencyName || "-" }}
{{ item.fullName || item.agencyName || "-" }}
</view>
</view>
</view>
@ -151,8 +153,11 @@
</template>
<script>
import unloginInfo from "@/components/unloginInfo.vue";
export default {
components: {},
components: {
unloginInfo,
},
data() {
return {
userinfo: uni.getStorageSync("apply-userinfo"),
@ -238,7 +243,7 @@ export default {
emptySubText: {
type: String,
default: () => {
return "关注发单号,我们会第一时间通知您新的动态";
return uni.getStorageSync("apply-token") ? "关注发单号,查看发单号职位" : "";
},
},
isShowLoginBtn: {

@ -30,7 +30,7 @@
</view>
<view class="g_flex_1 g_flex_column_center">
<view class="g_flex_row_end">
<view class="g_flex_row_end flex_end">
<view class="g_flex_row_end flex_center">
<!-- 通用类型 -->
<view class="g_fs_16 g_ell_1 g_lh_1_2 g_c_8" style="max-width:45vw" :class="item.fontColor" v-if="item.result">{{ item.result }}</view>
<!-- 迷你二维码 -->

@ -1,171 +1,181 @@
<template>
<view class="g-components-item">
<view class="m-set g_bg_f g_radius_8">
<view
class="item g_flex_row_start"
v-for="(item, index) in list"
:key="index"
:style="{
'padding-top': (item.pColumn ? item.pColumn : 19) + 'px',
'padding-bottom': (item.pColumn ? item.pColumn : 19) + 'px',
'padding-left': (item.pRow ? item.pRow : 10) + 'px',
'padding-right': (item.pRow ? item.pRow : 10) + 'px',
}"
>
<view class="g_flex_none g_pr_10 g_flex_column_center">
<view
class="g_flex_1 g_flex_row_start"
:class="{
labelRequire: item.require,
customRequire: item.customRequire,
}"
>
<view class="t-icon g_h_22 g_w_22 g_pl_7 g_mr_5" style="width: 22px; height: 22px" v-if="item.icon" :class="'t-' + item.icon"></view>
<view class="g_flex_column_center g_c_3 g_fs_16">{{ item.label }}</view>
</view>
</view>
<view class="g_flex_1 g_flex_column_center">
<view class="g_flex_row_end 1" style="width: 100%">
<slot></slot>
<view class="g_flex_row_end 2 from-type" style="width: 100%">
<!-- 通用类型 -->
<view class="form-base g_fs_16 g_ell_1 g_lh_1_2 g_w_all g_text_r g_flex_1" :class="item.fontColor" v-if="item.result" @click="handleResult(item)">{{ item.result }}</view>
<!-- 迷你二维码 -->
<view class="form-wx-code g_flex_rowRight_columnCenter" v-if="item.tip == 'code'">
<i class="iconfont icon-a-erweimabeifen2 g_fs_21 g_c_c" style="font-size: 21px"></i>
</view>
<!-- 头像类 -->
<view class="form-avatar g_flex_rowRight_columnCenter" v-if="item.tip == 'avatar'">
<img :src="item.value" alt="" class="g_w_48 g_h_48 g_radius_50" />
</view>
<!-- 上传图片头像类 -->
<!-- #ifdef APP-PLUS || H5 || MP-TOUTIAO || MP-KUAISHOU -->
<button v-if="item.tip == 'update-avatar'" aria-role="button" class="from-wx-avatar g_flex_rowRight_columnCenter g_bg_f g_w_all" style="padding-right: 0px; margin: 0" @click="handleOpenAvatar">
<img :src="item.value || localBaseImg + 'default.svg'" class="g_w_32 g_h_32 g_radius_50" />
<i class="iconfont icon-gengduo11 g_c_c" style="margin-right: -4px"></i>
</button>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<button open-type="chooseAvatar" @chooseavatar="handleStartChangeAvatar" v-if="item.tip == 'update-avatar'" aria-role="button" class="from-wx-avatar g_flex_rowRight_columnCenter g_bg_f g_w_all" style="padding-right: 0px; margin: 0">
<img :src="item.value || localBaseImg + 'default.svg'" class="g_w_32 g_h_32 g_radius_50" />
<i class="iconfont icon-gengduo11 g_c_c" style="margin-right: -4px"></i>
</button>
<!-- #endif -->
<!-- 指定输入框场景当有多个list时使用若list只有一个使用slot即可 -->
<view
:style="{
width: item.type != 'slot' ? 'calc(100% - 16px)' : item.tip == 'slot-choose-address' ? 'calc(100% - 22px)' : '100%',
<div class="g-components-item">
<div class="m-set g_bg_f g_radius_8" :style="{ borderRadius: list[0] && list[0].radius == 'no_top' ? '0 0 8px 8px' : list[0] && list[0].radius == 'no_bottom' ? '8px 8px 0 0 ' : '' }">
<block v-for="(item, index) in list" :key="index">
<div
class="item g_flex_row_start"
:style="{
'padding-top': (item.pColumn ? item.pColumn : 19) + 'px',
'padding-bottom': (item.pColumn ? item.pColumn : 19) + 'px',
'padding-left': (item.pRow ? item.pRow : 10) + 'px',
'padding-right': (item.pRow ? item.pRow : 10) + 'px',
}"
>
<div class="g_flex_none g_pr_10 g_flex_column_center">
<div class="g_flex_1 g_flex_row_start">
<div class="t-icon g_h_22 g_w_22 g_pl_7 g_mr_5" style="width: 22px; height: 22px" v-if="item.icon" :class="'t-' + item.icon"></div>
<div
class="g_flex_column_center g_c_3 g_fs_16"
:class="{
labelRequire: item.require,
customRequire: item.customRequire,
}"
class="form-code"
v-if="item.tip && item.tip.indexOf('slot') > -1"
>
<!-- 验证码 -->
<view class="g_flex_column_center" v-if="item.tip == 'slot-code'">
<view class="g_flex_row_end">
<view class="g_flex_1 g_mr_16">
<u-input maxlength="4" type="number" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :clearable="false" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r" placeholder-style="color:#999;font-size:16px;" v-model="item.code" @blur="(e) => handleCode(e, item, index)" />
</view>
<view class="btn-text g_flex_column_center g_flex_none" @click="handleSendMsg">
<button class="btn-con g_fs_14 g_c_9 g_w_88 g_flex_row_center">{{ msgCode.btnText }}</button>
</view>
</view>
</view>
<!-- 新密码 -->
<view class="form-new-pwd g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-new-pwd'">
<u-input type="password" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :clearable="false" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleNewPwd(e, item, index)" />
</view>
<!-- 确认密码 -->
<view class="form-new-conpwd g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-confirm-pwd'">
<u-input type="password" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :clearable="false" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleConfirmPwd(e, item, index)" />
</view>
<!-- 姓名输入框 -->
<view class="form-new-name g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-name' || item.tip == 'slot-upID'">
<u-input type="text" :hover-stop-propagation="true" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :clearable="false" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleName(e, item, index)" />
<view class="form-new-why g_flex_column_center" style="" @click="updateImg" v-if="item.tip == 'slot-upID'">
<image class="g_ml_4 g_w_24 g_h_22" :src="item.img || cdnBaseImg + 'mock_photo.svg'"></image>
</view>
</view>
<!-- 性别输入框 -->
<view class="form-new-sex g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-sex'">
<u-radio-group v-model="item.value" @change="(e) => handleSex(e, item, index)" active-color="#00b666">
<u-radio :mr="sexItem.mr" v-for="(sexItem, sexIndex) in sexList" :key="sexIndex" :name="sexItem.tip">
{{ sexItem.name }}
</u-radio>
</u-radio-group>
</view>
<!-- 年龄输入框 -->
<view class="form-new-age g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-age'">
<u-input type="number" :clearable="false" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" :custom-style="{ fontSize: item.fontSize || ' 16px' }" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleAge(e, item, index)" />
</view>
<!-- 民族picker -->
<view class="form-new-nation g_flex_rowRight_columnCenter g_fs_16" v-if="item.tip == 'slot-nation'" style="width: calc(100% - 0px)">
<picker @change="(e) => handleNation(e, item, index)" :value="item.nationIndex" :range="nationData.list" style="width: 100%; text-align: right">
<view class="g_flex_row_end">
<view class="uni-input">{{ nationData.list[item.nationIndex] }}</view>
<view class="g_flex_column_center">
<i class="iconfont icon-gengduo11 g_c_c" style="margin-right: -4px"></i>
</view>
</view>
</picker>
</view>
<!-- 自定义选择框 -->
<view class=""> </view>
<!-- 身份证号输入框 -->
<view class="form-new-idcard g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-code-idcard'">
<u-input type="idcard" :clearable="false" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleIDcard(e, item, index)" />
</view>
<!-- 家庭住址输入框 -->
<view class="form-new-address g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-address'">
<u-input type="text" :clearable="false" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleAddress(e, item, index)" />
</view>
<!-- 地址选择框 -->
<view class="form-new-choose g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-choose-address'">
<view class="g_text_r g_w_all g_fs_16" :class="item.value ? 'g_c_3' : 'g_c_9'" @click="chooseAddress">{{ item.value || item.placeholder }}</view>
</view>
<!-- 手机号 -->
<view class="form-new-tel g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-mobile'">
<u-input type="number" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :clearable="false" :password-icon="false" :maxlength="11" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleMobile(e, item, index)" @input="(e) => handleMobile(e, item, index)" />
</view>
<!-- 多文本输入 -->
<view class="form-new-textarea g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-more-word'" style="width: calc(100%)">
<textarea class="weui-input g_text_r g_fs_16" v-model="item.value" :placeholder="item.placeholder" placeholder-style="color:#999999;font-size:16px" :maxlength="-1" auto-height style="min-height: 24px; width: 200px; line-height: 16px" @blur="(e) => handleMoreWord(e, item, index)" @input="(e) => handleMoreWord(e, item, index)"></textarea>
</view>
<!-- 时间 -->
<view class="form-new-time g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-time'">
<g-panel-detail-item :from="item.from" style="width: 100%" label=" " :isShowBottom="false" :value="item.value" afterType="time" @confirmChooseTime="handleMianshi" />
</view>
<!-- 附件上传 -->
<view class="g_flex_rowRight_columnCenter g_w_all" @click="uploadPhoto" v-if="item.tip == 'slot-update-file'">
<view class="g_flex_1 g_c_9 g_text_r g_fs_16">请选附件上传</view>
{{ item.label }}
</div>
</div>
</div>
<div class="g_flex_1 g_flex_column_center">
<div class="g_flex_row_end 1" style="width: 100%">
<slot></slot>
<div class="g_flex_row_end 2 from-type" style="width: 100%">
<!-- 通用类型 -->
<div class="form-base g_fs_16 g_ell_1 g_lh_1_2 g_w_all g_text_r g_flex_1" :class="item.fontColor" v-if="item.result" @click="handleResult(item)">{{ item.result }}</div>
<!-- 迷你二维码 -->
<div class="form-wx-code g_flex_rowRight_columnCenter" v-if="item.tip == 'code'">
<i class="iconfont icon-a-erweimabeifen2 g_fs_21 g_c_c" style="font-size: 21px"></i>
</div>
<!-- 头像类 -->
<div class="form-avatar g_flex_rowRight_columnCenter" v-if="item.tip == 'avatar'">
<img :src="item.value" alt="" class="g_w_48 g_h_48 g_radius_50" />
</div>
<!-- 上传图片头像类 -->
<!-- #ifdef APP-PLUS || H5 || MP-TOUTIAO || MP-KUAISHOU -->
<button v-if="item.tip == 'update-avatar'" aria-role="button" class="from-wx-avatar g_flex_rowRight_columnCenter g_bg_f g_w_all" style="padding-right: 0px; margin: 0" @click="handleOpenAvatar">
<img :src="item.value || localBaseImg + 'default.svg'" class="g_w_32 g_h_32" />
<i class="iconfont icon-gengduo11 g_c_c" style="margin-right: -4px"></i>
</button>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<!-- handleStartChangeAvatar -->
<button @click="handleOpenAvatar" v-if="item.tip == 'update-avatar'" aria-role="button" class="from-wx-avatar g_flex_rowRight_columnCenter g_bg_f g_w_all" style="padding-right: 0px; margin: 0">
<img :src="item.value || localBaseImg + 'default.svg'" class="g_w_32 g_h_32" />
<i class="iconfont icon-gengduo11 g_c_c" style="margin-right: -4px"></i>
</button>
<button @click="uploadQRCode" v-if="item.tip == 'update-QRCode'" aria-role="button" class="from-wx-avatar g_flex_rowRight_columnCenter g_bg_f g_w_all" style="padding-right: 0px; margin: 0">
<img :src="item.img || localBaseImg + 'default.svg'" class="g_w_48 g_h_48 g_radius_4" />
<i class="iconfont icon-gengduo11 g_c_c" style="margin-right: -4px"></i>
</button>
<!-- #endif -->
<!-- 指定输入框场景当有多个list时使用若list只有一个使用slot即可 -->
<div
:style="{
width: item.type != 'slot' ? 'calc(100% - 16px)' : item.tip == 'slot-choose-address' ? 'calc(100% - 22px)' : '100%',
}"
class="form-code"
v-if="item.tip && item.tip.indexOf('slot') > -1"
>
<!-- 验证码 -->
<div class="g_flex_column_center" v-if="item.tip == 'slot-code'">
<div class="g_flex_row_end">
<div class="g_flex_1 g_mr_16">
<u-input maxlength="4" type="number" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :clearable="false" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r" placeholder-style="color:#999;font-size:16px;" v-model="item.code" @blur="(e) => handleCode(e, item, index)" />
</div>
<div class="btn-text g_flex_column_center g_flex_none" @click="handleSendMsg">
<button class="btn-con g_fs_14 g_c_9 g_w_88 g_flex_row_center">{{ msgCode.btnText }}</button>
</div>
</div>
</div>
<!-- 新密码 -->
<div class="form-new-pwd g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-new-pwd'">
<u-input type="password" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :clearable="false" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleNewPwd(e, item, index)" />
</div>
<!-- 确认密码 -->
<div class="form-new-conpwd g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-confirm-pwd'">
<u-input type="password" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :clearable="false" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleConfirmPwd(e, item, index)" />
</div>
<!-- 姓名输入框 -->
<div class="form-new-name g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-name' || item.tip == 'slot-upID' || item.tip == 'slot-weChat'">
<u-input type="text" :hover-stop-propagation="true" :maxlength="30" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :clearable="false" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @input="(e) => handleName(e, item, index)" @blur="(e) => handleName(e, item, index)" />
<div class="form-new-why g_flex_column_center" style="" @click="chooseImgType('IDCard')" v-if="item.tip == 'slot-upID'">
<image class="g_ml_4 g_w_24 g_h_22" :src="item.img || cdnBaseImg + 'mock_photo1.svg'"></image>
</div>
</div>
<!-- 性别输入框 -->
<div class="form-new-sex g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-sex'">
<u-radio-group v-model="item.value" @change="(e) => handleSex(e, item, index)" active-color="#6A81FF">
<u-radio :mr="sexItem.mr" v-for="(sexItem, sexIndex) in sexList" :key="sexIndex" :name="sexItem.tip">
{{ sexItem.name }}
</u-radio>
</u-radio-group>
</div>
<!-- 年龄输入框 -->
<div class="form-new-age g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-age'">
<u-input type="number" :clearable="false" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" :custom-style="{ fontSize: item.fontSize || ' 16px' }" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleAge(e, item, index)" />
</div>
<!-- 民族picker -->
<div class="form-new-nation g_flex_rowRight_columnCenter g_fs_16" v-if="item.tip == 'slot-nation'" style="width: calc(100% - 0px)">
<picker @change="(e) => handleNation(e, item, index)" :value="item.nationIndex" :range="nationData.list" style="width: 100%; text-align: right">
<div class="g_flex_row_end flex_center">
<div class="uni-input" :class="nationData.list[item.nationIndex] ? 'g_c_3' : 'g_c_9'">{{ nationData.list[item.nationIndex] || "请选择民族" }}</div>
<div class="g_flex_column_center">
<i class="iconfont icon-gengduo11 g_c_c" style="margin-right: -4px"></i>
</div>
</div>
</picker>
</div>
<!-- 身份证号输入框 -->
<div class="form-new-idcard g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-code-idcard'">
<u-input type="idcard" :clearable="false" :maxlength="18" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleIDcard(e, item, index)" />
</div>
<!-- 家庭住址输入框 -->
<div class="form-new-address g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-address'">
<u-input type="text" :clearable="false" :custom-style="{ fontSize: item.fontSize || ' 16px' }" :password-icon="false" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @blur="(e) => handleAddress(e, item, index)" />
</div>
<!-- 地址选择框 -->
<div class="form-new-choose g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-choose-address'">
<div class="g_text_r g_w_all g_fs_16" :class="item.value ? 'g_c_3' : 'g_c_9'" @click="chooseAddress(item)">{{ item.value || item.placeholder }}</div>
<i class="iconfont g_fsi_18 g_c_c g_ml_4" :class="item.suffix" @click="chooseAddress(item)"></i>
</div>
<!-- 地址选择输入框 -->
<div class="form-new-choose g_flex_rowRight_columnCenter" v-if="item.tip == 'slot-choose&input-address'">
<u-input v-model="item.value" @input="(e) => handleAddress(e, item, index)" class="g_flex_1 g_ml_8" maxlength="1000" type="textarea" :placeholder="item.placeholder" placeholder-style="color:#999;line-height:24px" :clearable="false" :customStyle="{ fontSize: '16px', 'text-align': 'right', 'min-height': '24px', 'line-height': '24px' }" />
<i class="iconfont g_fsi_18 g_c_c g_ml_4" :class="item.suffix" @click="chooseAddress(item)"></i>
</div>
<!-- 手机号 -->
<div class="form-new-tel g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-mobile'">
<u-input type="number" :disabled="item.disabled" :custom-style="{ fontSize: item.fontSize || ' 16px', color: item.disabled ? '#999' : '#333' }" :clearable="false" :password-icon="false" :maxlength="13" :placeholder="item.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999;font-size:16px;line-height:1" v-model="item.value" @input="(e) => handleMobile(e, item, index)" />
</div>
<!-- 多文本输入 -->
<div class="form-new-textarea g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-more-word'" style="width: calc(100%)">
<u-input v-model="item.value" @input="(e) => handleMoreWord(e, item, index)" @blur="(e) => handleMoreWord(e, item, index)" class="g_flex_1 g_ml_8" maxlength="1000" type="textarea" :placeholder="item.placeholder" placeholder-style="color:#999" :clearable="false" :customStyle="{ fontSize: '16px', 'text-align': 'right', 'min-height': '24px', 'line-height': '24px' }" />
<!-- <textarea class="g_text_r g_fs_16" v-model="item.value" :placeholder="item.placeholder" placeholder-style="color:#999999;font-size:16px;line-height: 24px" :maxlength="item.maxlength || -1" auto-height style="min-height: 24px; width: 200px; line-height: 24px" @input="(e) => handleMoreWord(e, item, index)" @blur="(e) => handleMoreWord(e, item, index)"></textarea> -->
</div>
<!-- 时间 -->
<div class="form-new-time g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-time'">
<g-panel-detail-item :from="item.from" style="width: 100%" label=" " :isShowBottom="false" :value="item.value" afterType="time" @confirmChooseTime="handleMianshi" />
</div>
<!-- 附件上传 -->
<div class="g_flex_rowRight_columnCenter g_w_all" @click="chooseImgType('img')" v-if="item.tip == 'slot-update-file'">
<div class="g_flex_1 g_c_9 g_text_r g_fs_16">请选附件上传</div>
<i class="iconfont icon-gengduo11 g_c_c" style="margin-right: -4px"></i>
</div>
<!-- 财务信息显示 -->
<div class="g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-caiwu'">
<div class="g_flex_1 g_c_3 g_text_l g_fs_16 g_pl_6" :class="[caiwuToggle ? '' : 'g_ell_3', item.value.length > 1 ? 'g_text_l' : 'g_text_r']" style="white-space: pre-line">{{ item.value || "-" }}</div>
</div>
<!-- 选择政策 -->
<div class="g_flex_rowRight_columnCenter g_w_all" @click="uploadZhengce" v-if="item.tip == 'slot-zhengce'">
<div class="g_flex_1 g_c_3 g_text_r g_fs_16">{{ item.value }}</div>
</div>
</div>
<!-- 右箭头 -->
<div class="form-new-right g_flex_column_center" v-if="item.type != 'slot'" @click.capture="item.path ? handleResult(item) : ''">
<i class="iconfont icon-gengduo11 g_c_c" style="margin-right: -4px"></i>
</view>
<!-- 财务信息显示 -->
<view class="g_flex_rowRight_columnCenter g_w_all" v-if="item.tip == 'slot-caiwu'">
<view class="g_flex_1 g_c_3 g_text_l g_fs_16 g_pl_6" :class="[caiwuToggle ? '' : 'g_ell_3', item.value.length > 1 ? 'g_text_l' : 'g_text_r']" style="white-space: pre-line">{{ item.value || "-" }}</view>
</view>
<!-- 选择政策 -->
<view class="g_flex_rowRight_columnCenter g_w_all" @click="uploadZhengce" v-if="item.tip == 'slot-zhengce'">
<view class="g_flex_1 g_c_3 g_text_r g_fs_16">{{ item.value }}</view>
</view>
</view>
<!-- 右箭头 -->
<view class="form-new-right g_flex_column_center" v-if="item.type != 'slot'" @click.capture="item.path ? handleResult(item) : ''">
<i class="iconfont icon-gengduo11 g_c_c" style="margin-right: -4px"></i>
</view>
<view class="form-new-why g_flex_column_center" v-if="item.tip == 'slot-choose-address'">
<i class="iconfont g_fsi_18 g_c_c g_ml_4" :class="item.suffix" @click="chooseAddress"></i>
</view>
<view class="form-new-why g_flex_column_center" v-if="item.tip == 'slot-zhengce'">
<i class="iconfont g_fsi_18 g_c_c g_ml_4" :class="item.suffix" @click="uploadZhengce"></i>
</view>
</view>
</view>
</view>
</view>
</div>
<div class="form-new-why g_flex_column_center" v-if="item.tip == 'slot-zhengce'">
<i class="iconfont g_fsi_18 g_c_c g_ml_4" :class="item.suffix" @click="uploadZhengce"></i>
</div>
</div>
</div>
</div>
</div>
</block>
<slot name="after"></slot>
<view
class="g_flex_column_center tog"
<div
v-if="
list.filter((item) => {
return item.tip == 'slot-caiwu';
@ -173,45 +183,57 @@
"
@click="caiwuToggle = !caiwuToggle"
style="height: 45px"
class="g_flex_column_center tog"
>
<view class="g_flex_c">
<view class="g_flex_row_center">
<view class="g_fs_14 g_c_9 g_flex_column_center">{{ caiwuToggle ? "收起" : "展开" }}</view>
<view class="g_fs_14 g_flex_column_center">
<div class="g_flex_c">
<div class="g_flex_row_center">
<div class="g_fs_14 g_c_9 g_flex_column_center">{{ caiwuToggle ? "收起" : "展开" }}</div>
<div class="g_fs_14 g_flex_column_center">
<i class="iconfont icon-gengduo11 g_c_c g_ml_4" style="font-size: 14px" :class="caiwuToggle ? 'icon_down' : 'icon_up'"></i>
</view>
</view>
</view>
</view>
</view>
</div>
</div>
</div>
</div>
</div>
<u-popup v-model="chooseImg.chooseImgShow" mode="bottom" z-index="999999" border-radius="12" :closeable="false" :mask-close-able="true" @close="chooseImg.chooseImgShow = false">
<div class="g_text_c g_bg_f_5 g_fs_17">
<div class="g_bg_f">
<div class="g_c_3">
<div class="g_p_16 g_border_e_t" @click="uploadPhoto('camera')"></div>
<div class="g_p_16 g_border_e_t" @click="uploadPhotoByChat"></div>
<div class="g_p_16 g_border_e_t" @click="uploadPhoto('album')"></div>
</div>
</div>
<div 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="chooseImg.chooseImgShow = false">取消</div>
</div>
</u-popup>
<u-popup v-model="zhengceModal.isShow" mode="bottom" border-radius="16" height="980" :mask-close-able="true">
<view class="g_fs_18 g_c_3 g_flex_row_center g_pt_16"> 选择政策 </view>
<div class="g_fs_18 g_c_3 g_flex_row_center g_pt_16">选择政策</div>
<scroll-view scroll-y="true" style="height: 710rpx">
<view class="g_pl_12 g_pr_12">
<view class="g_flex_row_between g_pt_16 g_pb_16 g_border_d_b" v-for="(item, index) in zhengceList" :key="index" @click="handleChooseZhengce(item, index)">
<view class="g_fs_17 g_c_3">{{ item.name }}</view>
<view class="g_flex_column_center">
<div class="g_pl_12 g_pr_12">
<div class="g_flex_row_between g_pt_16 g_pb_16 g_border_d_b" v-for="(item, index) in zhengceList" :key="index" @click="handleChooseZhengce(item, index)">
<div class="g_fs_17 g_c_3">{{ item.name }}</div>
<div class="g_flex_column_center">
<i
class="iconfont icon-a-duigoubeifen2"
style="font-size: 24px"
:style="{
color: item.isSelected ? '#00b666' : '#fff',
color: item.isSelected ? '#6A81FF' : '#fff',
}"
></i>
</view>
</view>
</view>
</div>
</div>
</div>
</scroll-view>
<g-panel-fixed>
<slot>
<view class="g_flex_row_center">
<div class="g_flex_row_center">
<g-button btnText="确定" type="primary" @clickBtn="submitZhengce" />
</view>
</div>
</slot>
</g-panel-fixed>
</u-popup>
</view>
</div>
</template>
<script>
@ -253,6 +275,7 @@ export default {
isShow: false,
},
zhengceList: [],
chooseImg: { chooseImgShow: false, type: "" }, //
};
},
props: {
@ -268,6 +291,10 @@ export default {
return [];
},
},
jobInfo: {
type: Number,
default: 0,
},
},
created() {
this.localBaseImg = this.G.store().localBaseImg;
@ -301,7 +328,18 @@ export default {
},
//
handleName(e, $item, $index) {
this.$emit("changeName", e, $item);
console.log(e);
if (e && e.trim().length > 30) {
uni.showToast({
title: "不能超过30个字",
icon: "none",
});
}
if ($item.tip == "slot-weChat") {
this.$emit("changeWeChat", e, $item);
} else {
this.$emit("changeName", e, $item);
}
},
//
handleSex(e, $item, $index) {
@ -322,7 +360,7 @@ export default {
that.list.filter((item, index) => {
return index == $index;
})[0].nationIndex = e.detail.value;
that.$forceUpdate();
that.$emit("changeNation", {
e: e,
name: that.nationData.list[e.detail.value],
@ -335,18 +373,34 @@ export default {
},
//
handleAddress(e, $item, $index) {
console.log("eeeeeeeee", e);
this.$emit("changeAddress", e);
},
//
handleMoreWord(e, $item, $index) {
// console.log(e);
// console.log($item);
this.$emit("changeMoreWord", $item);
console.log(e);
console.log($item);
if ($item.maxlength && $item.value && $item.value.trim().length >= $item.maxlength) {
uni.showToast({
title: `不能超过${$item.maxlength}个字`,
icon: "none",
});
}
this.$emit("changeMoreWord", e, $item);
},
//
chooseAddress() {
chooseAddress(_item) {
let that = this;
console.log(_item);
let obj = {};
if (_item.addressDetail) {
obj = {
latitude: _item.addressDetail.latitude,
longitude: _item.addressDetail.longitude,
};
}
uni.chooseLocation({
...obj,
success(e) {
console.log(e);
let res = {};
@ -355,9 +409,11 @@ export default {
let arr = e.address.match(reg);
res.district = [arr[0], arr[1]].join(" ");
res.address = e.address;
res.addressName = e.name;
}
res.lat = e.latitude;
res.lng = e.longitude;
console.log("resresresres", res);
that.$emit("chooseAddress", res);
},
fail(e) {
@ -395,35 +451,132 @@ export default {
);
},
//
updateImg() {
updateImg(sourceType) {
let that = this;
console.log("updateImg");
this.G.uploadImg((res) => {
console.log("身份证信息:", res);
if (res.status == "上传成功") {
that.$emit("updateIDInfo", res);
} else {
that.showToast({
title: "上传失败请重试",
icon: "none",
});
}
uni.hideLoading();
}, "idcard");
if (sourceType == "camera") {
that.G.uploadImgByCamera((res) => {
console.log("身份证信息:", res);
if (res.status == "上传成功") {
that.$emit("updateIDInfo", res);
} else {
that.showToast({
title: "上传失败请重试",
icon: "none",
});
}
uni.hideLoading();
that.chooseImg.chooseImgShow = false;
}, "idcard");
} else {
that.G.uploadImgByAlbum((res) => {
console.log("身份证信息:", res);
if (res.status == "上传成功") {
that.$emit("updateIDInfo", res);
} else {
that.showToast({
title: "上传失败请重试",
icon: "none",
});
}
uni.hideLoading();
that.chooseImg.chooseImgShow = false;
}, "idcard");
}
},
//
uploadPhoto() {
uploadQRCode() {
let that = this;
that.G.uploadImg((res) => {
console.log(res);
this.$emit("updateFile", res.image);
that.G.cropBeforeUpload({
cropScale: "1:1",
success: (res) => {
console.log(res);
that.$emit("updateFile", res.image);
},
fail: (err) => {
console.log(err);
},
});
},
chooseImgType(type) {
uni.hideKeyboard();
this.chooseImg.chooseImgShow = true;
this.chooseImg.type = type;
},
//
uploadPhotoByChat() {
let that = this;
let count = 1;
if (this.chooseImg.type == "img") {
count = 5;
}
uni.chooseMessageFile({
count,
type: "image",
success(res) {
console.log("successsuccesssuccesssuccess", res);
if (res.errMsg == "chooseMessageFile:ok") {
res.tempFiles.forEach((item, index) => {
if (that.chooseImg.type == "img") {
that.G.uploadTmpImg(item.path, (imgRes) => {
that.$emit("updateFile", imgRes.image);
});
} else if (that.chooseImg.type == "IDCard") {
// ,
that.G.recognizeTmpIDcard([item.path], (cardData) => {
if (cardData.status == "上传成功") {
that.$emit("updateIDInfo", cardData);
} else {
that.showToast({
title: "上传失败请重试",
icon: "none",
});
}
});
}
});
}
that.chooseImg.chooseImgShow = false;
// that.G.uploadTmpImg(res, () => {});
},
});
},
//
uploadPhoto(sourceType) {
let that = this;
if (that.chooseImg.type == "img") {
if (sourceType == "camera") {
that.G.uploadImgByCamera((res) => {
console.log("uploadImgByCamera", res);
that.$emit("updateFile", res.image);
that.chooseImg.chooseImgShow = false;
});
} else {
that.G.uploadImgByAlbum((res) => {
console.log("uploadImgByAlbum", res);
that.$emit("updateFile", res.image);
that.chooseImg.chooseImgShow = false;
});
}
} else if (that.chooseImg.type == "IDCard") {
that.updateImg(sourceType);
}
},
//
uploadZhengce() {
let that = this;
//
let ids = "";
if (this.jobInfo == 0) {
uni.showToast({
icon: "none",
title: "请选择职位",
});
return false;
}
that.zhengceList
.filter((item) => {
return ids.indexOf(item.id) > -1;
@ -475,6 +628,7 @@ export default {
handleStartChangeAvatar(e) {
let that = this;
console.log(e);
that.G.uploadTmpImg(e.detail.avatarUrl, (res) => {
console.log("微信:", res.image);
that.$emit("updateImg", res.image);
@ -514,7 +668,7 @@ export default {
this.$emit("clickResult", e);
},
handleMobile(e, $item, $index) {
this.$emit("changeMobile", e);
this.$emit("changeMobile", e, $item);
},
handleMianshi(e, $item, $index) {
this.$emit("changeTime", e);
@ -555,14 +709,15 @@ export default {
&::after {
position: absolute;
right: -8px;
top: 8px;
top: 50%;
transform: translateY(-50%);
content: "*";
color: #ff4400;
}
}
.customRequire {
&::after {
top: 4px;
// top: 4px;
}
}
}
@ -584,4 +739,9 @@ export default {
.icon_down {
transform: rotate(-90deg);
}
.safe-area-inset-bottom {
padding-bottom: 0;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}
</style>

@ -18,9 +18,9 @@
>
{{ info.title ? info.title : "-" }}
</view>
<view v-if="info.isHaveOrder" class="g_flex_1 g_flex_column_center g_ml_4">
<!-- <view v-if="info.isHaveOrder" class="g_flex_1 g_flex_column_center g_ml_4">
<i class="t-icon t-icon-fadanhao_circle"></i>
</view>
</view> -->
</view>
</view>
<view

@ -29,9 +29,9 @@
<view style="line-height: 20px; color: #666">
{{ itm.desp }}
</view>
<block v-if="itm.policy">
<!-- <block v-if="itm.policy">
<text class="g_ml_8 g_c_main g_flex_column_center" @click="goInfo(itm)"></text>
</block>
</block> -->
</view>
<view class="g_fs_12 g_c_9" :class="itm.desp == '' ? '' : 'g_mt_4'">
<text class>{{ itm.creator }}{{ itm.create_time }}</text>

@ -341,7 +341,7 @@ export default {
transform: translate(-50%, -50%);
border-radius: 50%;
// box-shadow: 0 0 3px 2px rgba(37, 69, 255, 0.5);
border: 1px solid #3578f6;
border: 1px solid #00b666;
z-index: 12;
}
@ -353,7 +353,7 @@ export default {
top: 50%;
left: 29%;
transform: translateY(-50%);
background: #3578f6;
background: #00b666;
border-radius: 3upx;
z-index: 13;
}
@ -366,7 +366,7 @@ export default {
top: 50%;
right: 29%;
transform: translateY(-50%);
background: #3578f6;
background: #00b666;
border-radius: 3upx;
z-index: 13;
}

@ -4,7 +4,7 @@
<view class="g_flex_column_start flex_center">
<view class="iconfont icon-info-circle-fill g_c_027" style="font-size: 80px"> </view>
<view class="g_fs_17 g_mb_16 g_mt_16"> 温馨提示 </view>
<view class="g_fs_13 g_c_9 g_mb_32 g_text_c g_ml_20 g_mr_20"> {{ "相关功能仅对注册用户开放,请注册登录后查看。" }} </view>
<view class="g_fs_13 g_c_9 g_mb_32 g_text_c g_ml_20 g_mr_20"> {{ "你好,此服务仅限人力资源行业受邀商家登录,请确认。" }} </view>
</view>
<view class="" style="margin-bottom: 80px">

@ -160,6 +160,86 @@ export function createApp () {
});
}, $sourceType);
},
/*
*/
uploadImgByCamera (callback = () => { }, type = 'default', $num = 1, $sourceType = ['camera']) {
G.uploadImage($num, (imgRes) => {
console.log('imgRes', imgRes);
uni.showLoading({
title: '上传中...',
})
if (type == 'idcard') {
that.recognizeTmpIDcard(imgRes, (cardData) => {
callback(cardData);
})
} else {
uni.uploadFile({
url: G.ajaxUrl + apiInfo.uploadImage,
method: "post",
filePath: JSON.parse(imgRes)[0],
name: "uploadFile",
header: Object.assign({
Authorization: 'Bearer ' + uni.getStorageSync("apply-token")
}, Ajax.setPublicParams()),
formData: Ajax.setPublicParams(),
success: function (res) {
let imageStr = ''
imageStr = JSON.parse(res.data).data;
console.log('imageStr', imageStr);
uni.hideLoading()
callback({
status: '上传成功',
image: imageStr
});
},
fail: function (res) { },
});
}
}, $sourceType);
},
/*
*/
uploadImgByAlbum (callback = () => { }, type = 'default', $num = 1, $sourceType = ['album']) {
var that = this;
G.uploadImage($num, (imgRes) => {
console.log('imgRes', imgRes);
uni.showLoading({
title: '上传中...',
})
if (type == 'idcard') {
that.recognizeTmpIDcard(imgRes, (cardData) => {
callback(cardData);
})
} else {
uni.uploadFile({
url: G.ajaxUrl + apiInfo.uploadImage,
method: "post",
filePath: JSON.parse(imgRes)[0],
name: "uploadFile",
header: Object.assign({
Authorization: 'Bearer ' + uni.getStorageSync("apply-token")
}, Ajax.setPublicParams()),
formData: Ajax.setPublicParams(),
success: function (res) {
let imageStr = ''
imageStr = JSON.parse(res.data).data;
console.log('imageStr', imageStr);
uni.hideLoading()
callback({
status: '上传成功',
image: imageStr
});
},
fail: function (res) { },
});
}
}, $sourceType);
},
/**
* 上传临时文件(不需要选择图库)
*/
@ -184,6 +264,48 @@ export function createApp () {
fail: function (res) { },
});
},
/**
* 识别临时身份证文件
*/
recognizeTmpIDcard ($fileName, callback = () => { }) {
uni.uploadFile({
url: G.ajaxUrl + apiInfo.uploadImage,
method: "post",
filePath: Array.isArray($fileName) ? $fileName[0] : JSON.parse($fileName)[0],
name: "uploadFile",
header: Object.assign({
Authorization: 'Bearer ' + uni.getStorageSync("apply-token")
}, Ajax.setPublicParams()),
formData: Ajax.setPublicParams(),
success: function (res) {
let imageStr = ''
imageStr = JSON.parse(res.data).data;
console.log('imageStr', imageStr);
uni.uploadFile({
url: G.ajaxUrl + apiInfo.getIDcard,
filePath: Array.isArray($fileName) ? $fileName[0] : JSON.parse($fileName)[0],
name: 'uploadFile',
header: Object.assign({
Authorization: 'Bearer ' + uni
.getStorageSync("apply-token")
}, Ajax.setPublicParams()),
formData: Ajax.setPublicParams(),
success: (uploadFileRes) => {
let cardData = {
status: '上传成功',
image: imageStr,
info: JSON.parse(uploadFileRes.data)
.data
}
uni.hideLoading()
callback(cardData);
}
});
},
fail: function (res) { },
});
},
/*
*/
uploadMedia (callback = () => { }, type = 'default', $num = 9) {

@ -124,8 +124,8 @@
{
"path": "pwdForget",
"style": {
"navigationBarTitleText": "邀请关注"
// "navigationBarTitleText": "找回密码"
// "navigationBarTitleText": "邀请关注"
"navigationBarTitleText": "找回密码"
}
},
{
@ -365,7 +365,7 @@
{
"path": "order",
"style": {
"navigationBarTitleText": "" //
"navigationBarTitleText": "我的关注" //
}
},
{

@ -220,6 +220,7 @@ export default {
pageNum: that.query.page,
pageSize: that.query.size,
keys: "",
classify: 2,
// classify: that.tabActive + 1,
statusStr: that.tabInfo[that.tabActive].childList[that.menuActive].tip,
},

@ -11,7 +11,7 @@
<view class="sub" id="age">
<view class="title">年龄</view>
<view class="content g_bg_f">
<slider-range style="width: 98vw" class="g_bg_f" :value="rangeValue" :min="rangeMin" :max="rangMax" :step="1" :bar-height="3" :height="20" :format="format" :block-size="26" :active-color="'#3578f6'" :decorationVisible="true" @change="handleRangeChange"></slider-range>
<slider-range style="width: 98vw" class="g_bg_f" :value="rangeValue" :min="rangeMin" :max="rangMax" :step="1" :bar-height="3" :height="20" :format="format" :block-size="26" :active-color="globalData.themeColor" :decorationVisible="true" @change="handleRangeChange"></slider-range>
</view>
</view>
@ -73,9 +73,13 @@
</view>
</scroll-view>
</view>
<view class="btnBox bt1" catchtap>
<button class="clearFilter" data-type="innerclear" @click="clearFilter"></button>
<button class="normalBtn loginOut" @click="toList"></button>
<view class="btnBox bt1 g_flex_row_center" catchtap>
<div class="g_w_128 g_mr_12">
<g-button size="mini_auto" height="32" btnText="清除" @clickBtn="clearFilter"></g-button>
</div>
<div class="g_w_128">
<g-button size="mini_auto" height="32" btnText="确定" type="primary" @clickBtn="toList"></g-button>
</div>
</view>
</view>
</template>
@ -231,6 +235,7 @@ export default {
totalList: [],
allSpecial: [],
appid: getApp().globalData.appId,
globalData: getApp().globalData,
filterData: {
sex: [
@ -279,7 +284,7 @@ export default {
// },
{
id: "xzfl",
name: "薪资福利",
name: "薪资待遇",
},
{
id: "ssbz",
@ -287,7 +292,7 @@ export default {
},
{
id: "bzxx",
name: "班制休息",
name: "工作休息",
},
{
id: "msts",
@ -295,7 +300,7 @@ export default {
},
{
id: "qtts",
name: "其特色",
name: "其特色",
},
],
filterTo: "age", //
@ -531,7 +536,7 @@ export default {
};
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.filterContainer {
display: flex;
justify-content: flex-start;
@ -581,9 +586,9 @@ export default {
border: 1px solid transparent;
}
.sub .content > view.active {
background-color: #e3ecfd;
color: #3578f6;
border-color: #3578f6;
background-color: v-bind("globalData.themeBackgroundColor");
color: v-bind("globalData.themeColor");
border-color: v-bind("globalData.themeColor");
}
.sub .content > view:not(:nth-child(3n)) {
margin-right: 2%;
@ -613,9 +618,9 @@ export default {
.btnBox .clearFilter {
margin-right: 20px;
line-height: 30px;
border: 1px solid #3578f6;
border: 1px solid v-bind("globalData.themeColor");
background-color: #fff;
color: #3578f6;
color: v-bind("globalData.themeColor");
}
.loginOut {
width: 100% !important;

@ -88,14 +88,14 @@
</div>
<div class="g_h_8"></div>
<g-list-job from="home" @uploadList="getList" bg="#f5f5f5" class="g_h_all" :list="query.list" :active="tabInfo.active" @shareJob="shareJob" :loading="loading" :speed="speed" :query="query" :isShowLoginBtn="isLogin ? false : true" :emptyText="isLogin ? (tabInfo.active == 0 || tabInfo.active == 2 ? '嘿,这里还没有数据呢' : '您还未收藏职位,快去试试收藏职位吧') : '您还有没有登录,请登录后查看职位'" />
<g-list-job from="home" @uploadList="getList" bg="#f5f5f5" class="g_h_all" :list="query.list" :active="tabInfo.active" @shareJob="shareJob" :loading="loading" :speed="speed" :query="query" :isShowLoginBtn="isLogin ? false : true" :emptyText="isLogin ? (tabInfo.active == 0 || tabInfo.active == 2 ? '嘿,这里还没有数据呢' : '您还未收藏职位,快去试试收藏职位吧') : '你好,此服务仅限人力资源行业受邀商家登录,请确认'" />
</div>
<!-- #endif -->
</div>
</scroll-view>
<div hover-class="none" style="position: fixed; right: 10px; bottom: 54px" hover-stop-propagation="false" @click="toRecord" v-if="isLogin">
<g-panel-image :url="cdnBaseImg + 'quick_application.svg'" size="136" />
<div hover-class="none" style="position: fixed; right: 20px; bottom: 20px" hover-stop-propagation="false" @click="toRecord" v-if="isLogin">
<g-panel-image :url="cdnBaseImg + 'quick_application0610.svg'" size="96" />
</div>
<u-popup v-model="showPop" mode="bottom" uZindex="9999" border-radius="12" :closeable="true" :mask-close-able="true">
<div class="g_fs_18 g_text_c g_pt_32">

@ -13,7 +13,7 @@
<view class="g_bg_f_5 g_radius_6 g_pl_16 g_flex_column_center g_position_rela" v-if="isLoginCode">
<view class="g_flex_row_between">
<view class="g_flex_1 g_mr_20 g_pt_10 g_pb_10">
<u-input maxlength="4" v-model="msgCode.code" type="number" class="g_fs_16" placeholder="请输入验证码" placeholder-style="color:#999999;font-size:32rpx;line-height:1" />
<u-input maxlength="4" v-model="msgCode.code" @input="hideKeyboard" type="number" class="g_fs_16" placeholder="请输入验证码" placeholder-style="color:#999999;font-size:32rpx;line-height:1" />
</view>
<view class="btn-text g_flex_column_center g_bg_f_5 g_radius_6 g_flex_none g_pt_8 g_pb_8" @click="handleSendMsg">
<button :class="form.tel.length == 11 ? (msgCode.countdown > 0 ? 'g_c_9' : 'g_c_main') : 'g_c_9'" class="btn-con g_w_126 g_flex_row_center" style="font-size: 32rpx">{{ msgCode.btnText }}</button>
@ -41,7 +41,7 @@
</view>
</view>
<view class="g_mt_24 g_flex_row_center">
<g-button width="260" height="48" btnText="一键免密登录" type="default" openType="getPhoneNumber" @clickTel="getphonenumber" />
<g-button width="260" height="48" btnText="一键免密登录" type="default" openType="getPhoneNumber" @clickTel="getphonenumber" />
</view>
<!-- #endif -->
</view>
@ -97,6 +97,13 @@ export default {
}
},
methods: {
hideKeyboard(e) {
console.log(e);
if (e.length >= 4) {
console.log("123123123");
uni.hideKeyboard();
}
},
setOptions(options) {
console.log("options", options);
this.fromPageType = options.type;

@ -36,7 +36,7 @@
</view>
<view class="g_flex_row_start flex_center g_mt_26 g_fs_16 g_c_8" hover-class="thover" @click="goPage('/root/person/info?active=1')">
<view class="">
{{ userInfo.agencyName || "设置企业信息" }}
{{ agencyInfo.agencyName || agencyInfo.fullName || "-" }}
</view>
<i class="iconfont icon-gengduo11" style="line-height: 22px; font-size: 10px"></i>
</view>
@ -46,7 +46,7 @@
<image class="g_w_64 g_h_64 g_radius_50" src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/defaultAva.svg" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""> </image>
</view>
<view class="g_fs_18 g_fw_600 g_mb_4"> 登录/注册 </view>
<view class="g_fs_14"> 让天下没有难做的劳务 </view>
<view class="g_fs_14"> 劳务上下游收发单工具 </view>
</view>
<view class="g_flex_row_between g_m_10" v-if="false">
<g-panel-fond
@ -109,9 +109,9 @@
@clickItem="goPage('/root/person/set')"
/>
</view>
<div class="g_mt_40" v-if="userInfo.admin">
<!-- <div class="g_mt_40" v-if="userInfo.admin">
<g-button btnText="添加成员" icon="icon-tianjia g_fsi_16 g_mr_8" @clickBtn="addMemberShow = true"></g-button>
</div>
</div> -->
<view class="g_h_100"></view>
<u-popup v-model="addMemberShow" mode="bottom" z-index="999999" border-radius="12" :closeable="false" :mask-close-able="true" @close="addMemberShow = false">
<view class="g_text_c g_bg_f_5 g_fs_17">
@ -172,7 +172,7 @@ export default {
},
data() {
return {
agencyInfo: uni.getStorageSync("agencyInfo"),
agencyInfo: {},
addMemberShow: false,
scrollTop: 0,
defaultTop: 0,
@ -244,7 +244,7 @@ export default {
onShow() {
let that = this;
that.isCreator = uni.getStorageSync("IS_CREATOR") == 1 ? true : false;
that.agencyInfo = uni.getStorageSync("agencyInfo");
if (uni.getStorageSync("apply-token")) {
that.setUserInfo();
} else {
@ -330,9 +330,9 @@ export default {
that.isLogin = true;
that.userInfo = { ...userInfo };
console.log(that.userInfo, "that.userInfo");
that.userInfo.avatar = uni.getStorageSync("apply-avatar");
that.userInfo.avatar = that.userInfo.user.imgSrc;
that.userInfo.name = userInfo.userName || userInfo.aliasName;
that.userInfo.tel = uni.getStorageSync("apply-tel");
that.userInfo.tel = that.userInfo.user.tel;
// if (that.userInfo.num[0].name == "-") {
// that.userInfo.num = [

@ -46,20 +46,20 @@
<g-panel-card-num :list="todayDataList" :border="true" :speed="1" :marginBottom="16" cusType="num" :height="26" :num="5" cusTitle="今日数据" @clickItem="handleClickNum" />
</view> -->
<view class="g_mt_24" v-if="authInfo.realNameAuth == 2">
<view class="g_mb_10 g_fw_600 g_pl_16 g_fs_17">仅项目方可见</view>
<view class="g_p_16 g_bg_f g_radius_8 g_flex_row_between flex_center g_ml_10 g_mr_10">
<view class="g_mt_24" v-if="agencyInfo.supplierAccount == 1">
<!-- <view class="g_mb_10 g_fw_600 g_pl_16 g_fs_17">仅项目方可见</view> -->
<view class="g_p_16 g_bg_f g_radius_8 g_flex_row_between flex_center g_ml_10 g_mr_10" hover-class="thover" @click="goPage('/root/bind/search?active=1')">
<view class="g_flex_row_start flex_center">
<view class="t-icon g_w_48 g_h_48 _i t-icon-fazhandaili1"></view>
<!-- <img src="https://file.matripe.com.cn/images/2025/06/03/1748920927011674.jpeg" class="g_w_48 g_h_48 g_radius_8" alt="" /> -->
<!-- <view class="t-icon g_w_48 g_h_48 _i t-icon-fazhandaili1"></view> -->
<img src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/dailibaoming/fazhandaili0610.svg" class="g_w_48 g_h_48 g_radius_50" alt="" />
<view class="g_flex_column_between g_ml_10">
<view class="g_fs_16 g_c_0 g_fw_600 g_mb_6">发展代理</view>
<view class="g_c_9">邀请更多代理粉丝关注我</view>
</view>
</view>
<view class="g_c_main g_bg_e7 g_radius_20" hover-class="thover" @click="goPage('/root/bind/search?active=1')" style="padding: 4px 12px">去邀请</view>
<view class="g_c_main g_bg_e7 g_radius_20" hover-class="thover" style="padding: 4px 12px">去邀请</view>
</view>
<view class="g_fs_12 g_c_6 g_pl_20 g_mt_10">该卡片内容仅对开通发单号且有渠道管理权限的用户显示代理在该页面看不到此卡片内容</view>
<!-- <view class="g_fs_12 g_c_6 g_pl_20 g_mt_10">该卡片内容仅对开通发单号且有渠道管理权限的用户显示代理在该页面看不到此卡片内容</view> -->
</view>
</view>
<!-- <servicePopup
@ -325,7 +325,6 @@ export default {
that.G.Get(
that.api.bind_getWaitNum + "/" + 1,
{
type: 2,
},
(res) => {
console.log("获取待处理数量:", res);

@ -3,6 +3,7 @@
<view class="g_flex_row_center g_fs_22 g_c_3 g_fw_600 g_mb_24" v-if="showBg"></view>
<!-- #ifdef APP-PLUS || MP-WEIXIN -->
<image :src="shareJobImg" show-menu-by-longpress style="width: 343px; height: 555px; margin: 0 auto; display: block" mode=""></image>
<view class="g_text_c g_fs_16 g_mt_12 g_mb_12 g_fw_600">长按图片转发给微信好友</view>
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<canvas
@ -455,7 +456,7 @@ export default {
img.onload = () => {
that.G.roundRect(ctx, img, (mycenter - 488) / 2, 1160, 488, 488, 0);
let info = that.recommendList;
console.log('info',info);
console.log("info", info);
if (!info.logo) {
info.logo = "https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/defaultAvatar.png";
}

@ -59,83 +59,84 @@
{{ inviteNum }}
</view>
</view>
<view class="item g_flex_row_between g_pl_16 g_pr_16 g_pb_6 g_pt_6 g_bg_f" hover-class="g_bg_e" v-for="(item, index) in query.list" :key="index" @click="goMain(item)" :class="index == 0 ? 'g_pt_12' : ''" :style="{ 'border-bottom': index == query.list.length - 1 ? '1rpx solid #fff' : '1rpx solid #eee' }">
<view class="g_flex_none g_flex_row_start">
<view class="g_flex_column_center g_pr_16 g_flex_none" style="position: relative">
<g-panel-image :url="item.logo" size="96" radius="6" v-if="item.logo" />
<g-panel-image size="96" radius="6" v-if="!item.logo" />
<div class="r_box g_ml_10 g_mr_10" style="overflow: hidden">
<view class="item g_flex_row_between g_pl_16 g_pr_16 g_pb_6 g_pt_6 g_bg_f" hover-class="g_bg_e" v-for="(item, index) in query.list" :key="index" @click="goMain(item)" :class="index == 0 ? 'g_pt_12' : ''" :style="{ 'border-bottom': index == query.list.length - 1 ? '1rpx solid #fff' : '1rpx solid #eee' }">
<view class="g_flex_none g_flex_row_start">
<view class="g_flex_column_center g_pr_16 g_flex_none" style="position: relative">
<g-panel-image :url="item.logo || 'https://matripe-cms.oss-cn-beijing.aliyuncs.com/dailibaoming/qiyelogo0610.svg'" size="96" radius="50" />
<view v-if="item.supplierAccount == 1" style="position: absolute; left: 0; width: 48px; height: 48px" class="g_flex_row_end">
<!-- <view v-if="item.supplierAccount == 1" style="position: absolute; left: 0; width: 48px; height: 48px" class="g_flex_row_end">
<view class="g_flex_c" style="position: absolute; overflow: hidden; width: 20px; height: 10px; right: -2px; top: 0px">
<image :src="cdnBaseImg + 'fadanhao.svg'" mode="widthFix" style="width: 16px; height: 13px"></image>
</view>
</view> -->
</view>
</view>
</view>
<view class="g_flex_1 g_h_all g_flex_column_center g_h_60 _right">
<view class="g_flex_row_between">
<view class="g_flex_column_center g_flex_1 g_mr_12">
<view class="g_flex_row_start flex_center">
<view class="g_ell_1 g_fs_18 g_c_0 g_fw_600 g_flex_none" style="max-width: 460rpx">{{ item.agencyName }} </view>
<view class="g_ml_6 g_text_c g_flex_1">
<view class="g_flex_1 g_h_all g_flex_column_center g_h_60 _right">
<view class="g_flex_row_between">
<view class="g_flex_column_center g_flex_1 g_mr_12">
<view class="g_flex_row_start flex_center">
<view class="g_ell_1 g_fs_18 g_c_0 g_flex_none" style="max-width: 100%">{{ item.fullName || item.agencyName || "-" }} </view>
<!-- <view class="g_ml_6 g_text_c g_flex_1">
<view class="g_w_36 g_h_18 g_fs_12 g_redius_4" style="background-color: #f2f7ff; color: #1677ff" v-if="item.teamType == 2"></view>
<view class="g_w_36 g_h_18 g_fs_12 g_redius_4" style="background-color: #fff5f5; color: #ff4d4f" v-if="item.teamType == 1"></view>
</view> -->
</view>
</view>
<view class="g_fs_14 g_c_9 g_mt_4">
<view class="g_flex_row_start">
<view class="g_fs_14 g_c_9 g_mt_4">
<view class="g_flex_row_start">
<view class=""> 总职位 </view>
<view class="g_mr_8 g_ml_5 g_c_3">
{{ item.jobNum ? item.jobNum : "0" }}
<view class="g_flex_row_start">
<view> 总职位 </view>
<view class="g_mr_8">
{{ item.jobNum ? item.jobNum : "0" }}
</view>
</view>
</view>
<view class="g_flex_row_start">
<view class=""> 在招 </view>
<view class="g_mr_8 g_ml_5 g_c_3">
{{ item.recruitmentJobNum ? item.recruitmentJobNum : "0" }}
<view class="g_flex_row_start">
<view> 在招 </view>
<view class="g_mr_8">
{{ item.recruitmentJobNum ? item.recruitmentJobNum : "0" }}
</view>
</view>
</view>
<view class="g_flex_row_start">
<view class=""> 粉丝 </view>
<view class="g_mr_8 g_ml_5 g_c_3">
{{ item.downNum ? item.downNum : "0" }}
<view class="g_flex_row_start">
<view> 粉丝 </view>
<view class="g_mr_8">
{{ item.downNum ? item.downNum : "0" }}
</view>
</view>
</view>
</view>
</view>
</view>
<view class="g_flex_column_center g_mb_12" v-if="tabInfo.active == 1">
<view v-if="item.recordStatus == 1 && item.supplierAccount == 1 && item.recordStatus == 5">
<view class="g_radius_14 g_h_28 g_border_e g_fs_14 g_c_main g_pr_8 g_pl_8 g_flex_row_center flex_center" @click.stop="goApplyForm(item, index)" hover-class="g_bg_f_5" hover-stop-propagation>
<i class="iconfont icon-tianjia g_fsi_12 g_mr_6"></i>
等待通过
<view class="g_flex_column_center g_mb_12" v-if="tabInfo.active == 1">
<view v-if="item.recordStatus == 1 && item.supplierAccount == 1 && item.recordStatus == 5">
<view class="g_radius_14 g_h_28 g_border_e g_fs_14 g_c_main g_pr_8 g_pl_8 g_flex_row_center flex_center" @click.stop="goApplyForm(item, index)" hover-class="g_bg_f_5" hover-stop-propagation>
<i class="iconfont icon-tianjia g_fsi_12 g_mr_6"></i>
等待通过
</view>
</view>
</view>
<view v-if="item.recordStatus == 1 && item.supplierAccount == 1 && item.recordStatus == 6">
<view class="g_radius_14 g_h_28 g_border_e g_fs_14 g_c_main g_pr_8 g_pl_8 g_flex_row_center flex_center" @click.stop="goApplyForm(item, index)" hover-class="g_bg_f_5" hover-stop-propagation>
<i class="iconfont icon-tianjia g_fsi_12 g_mr_6"></i>
已过期
<view v-if="item.recordStatus == 1 && item.supplierAccount == 1 && item.recordStatus == 6">
<view class="g_radius_14 g_h_28 g_border_e g_fs_14 g_c_main g_pr_8 g_pl_8 g_flex_row_center flex_center" @click.stop="goApplyForm(item, index)" hover-class="g_bg_f_5" hover-stop-propagation>
<i class="iconfont icon-tianjia g_fsi_12 g_mr_6"></i>
已过期
</view>
</view>
</view>
<view v-if="item.recordStatus == 1 && item.supplierAccount == 1">
<view class="g_radius_14 g_h_28 g_border_e g_fs_14 g_c_main g_pr_8 g_pl_8 g_flex_row_center flex_center" @click.stop="goApplyForm(item, index)" hover-class="g_bg_f_5" hover-stop-propagation>
<i class="iconfont icon-tianjia g_fsi_12 g_mr_6"></i>
关注
<view v-if="item.recordStatus == 1 && item.supplierAccount == 1">
<view class="g_radius_14 g_h_28 g_border_e g_fs_14 g_c_main g_pr_8 g_pl_8 g_flex_row_center flex_center" @click.stop="goApplyForm(item, index)" hover-class="g_bg_f_5" hover-stop-propagation>
<i class="iconfont icon-tianjia g_fsi_12 g_mr_6"></i>
关注
</view>
</view>
</view>
<view v-if="item.recordStatus == 2">
<view class="g_radius_14 g_h_28 g_border_e g_fs_14 g_c_6 g_pr_8 g_pl_8 g_flex_row_center flex_center">
<i class="iconfont icon-a-bianzu11beifen2 g_fsi_12 g_mr_6"></i>
互相关注
<view v-if="item.recordStatus == 2">
<view class="g_radius_14 g_h_28 g_border_e g_fs_14 g_c_6 g_pr_8 g_pl_8 g_flex_row_center flex_center">
<i class="iconfont icon-a-bianzu11beifen2 g_fsi_12 g_mr_6"></i>
互相关注
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</div>
</view>
</view>
</view>
@ -224,17 +225,17 @@ export default {
onLoad(options) {
let that = this;
that.tabInfo.active = options.active;
if (that.tabInfo.active == 0) {
uni.setNavigationBarTitle({
title: "发单号",
});
} else {
if (that.tabInfo.active == 1) {
uni.setNavigationBarTitle({
title: "我的粉丝",
});
}
}
// if (that.tabInfo.active == 0) {
// uni.setNavigationBarTitle({
// title: "",
// });
// } else {
// if (that.tabInfo.active == 1) {
// uni.setNavigationBarTitle({
// title: "",
// });
// }
// }
const query = uni.createSelectorQuery().in(this);
query
.select(".m-top")

@ -60,6 +60,7 @@ export default {
return {
localBaseImg: this.G.store().localBaseImg,
agencyInfo: uni.getStorageSync("agencyInfo"),
userInfo: uni.getStorageSync("apply-userinfo"),
active: 0,
placeholder: "",
wxCode: "",
@ -107,7 +108,7 @@ export default {
shareForm: "friend",
};
console.log("代理id", that.recommendList);
return this.G.shareFun("/root/detail/user?" + that.G.objToStr(params), this.shareImg, that.agencyInfo.fullName + "邀请您关注他的发单号,快来关注吧!");
return this.G.shareFun("/root/person/inviteFollowMe?scene=" + `id=${that.agencyInfo.id}_${that.userInfo.id}`, this.shareImg, that.agencyInfo.fullName + "邀请您关注他的发单号,快来关注吧!");
},
onLoad(options) {
console.log(options);

@ -10,8 +10,7 @@
<view class="link g_bg_f g_pt_10">
<g-panel-detail-item label="状态" :value="orderDetail.status_text" valueColor="#ff4400" />
<!-- afterIcon="icon-gengduo11" @clickItem="goBossDetail" -->
<g-panel-detail-item label="项目方" :value="orderDetail.upAgencyName" valueColor="#333" />
<g-panel-detail-item label="项目方" :value="orderDetail.upFullName || orderDetail.upAgencyName" valueColor="#333" />
<!-- @clickItem="handleOpenPeopleModal" -->
<g-panel-detail-item label="报名人" from="resident-info" beforeIcon="icon-phone" @clickItem="goTel(orderDetail.agencyTel)" :remarkValue="orderDetail.agencyTel" v-if="!orderDetail.prevRecordId" :value="orderDetail.applyUserName" />
<g-panel-detail-item label="报名人" from="resident-info" beforeIcon="icon-phone" @clickItem="goTel(orderDetail.agencyTel)" :remarkValue="orderDetail.agencyTel" v-else :value="orderDetail.applyUserName" />

File diff suppressed because it is too large Load Diff

@ -1,5 +1,5 @@
<template>
<div class="p-root-detail-job g_pt_10 g_pl_20 g_pr_20 g_kuaishou">
<div class="p-root-detail-job g_bg_page g_pt_10 g_pl_12 g_pr_12 g_kuaishou">
<!-- {{ from }} -->
<!-- {{ selfJob }} -->
@ -7,8 +7,14 @@
<g-loading />
</div>
<div v-if="speed == 1">
<!-- 基本信息 -->
<div class="r_box g_mb_10 g_pl_10 g_pr_10 servicePrice" @click="showFee">
<view class="r_box g_flex_row_between flex_center g_pl_16 g_pr_16 g_h_45 g_fs_16" @click="goUserMain">
<view class="g_fw_600 g_mr_4 g_flex_column_center">项目方</view>
<view class="g_flex_row_end flex_center g_flex_1">
<span class="g_c_6" selectable="false" space="false" decode="false">{{ jobDetail.agencyName }}</span>
<span class="iconfont icon-gengduo11 g_fs_14 g_c_6 g_ml_4"></span>
</view>
</view>
<div class="r_box g_mb_10 g_mt_10 g_pl_16 g_pr_16 servicePrice" @click="showFee">
<div class="g_flex_row_between flex_center g_fs_16">
<div class="g_flex_row_start" style="flex: none">
<div class="g_fw_600 g_mr_4 g_h_67 g_flex_column_center">代理佣金</div>
@ -21,89 +27,236 @@
</div>
</div>
</div>
<div class="m-info g_mb_12">
<div class="g_flex_1">
<div class="g_mb_10 g_flex_row_between">
<div class="g_flex_1 g_c_3 g_fs_24 g_fw_bold">{{ jobDetail.jobName }}</div>
<!-- <div class="g_flex_none g_flex_column_center">
<g-panel-server :str="attention ? jobDetail.serverPrice : '关注查看'" verson="new" />
</div> -->
<!-- 基本信息 -->
<view class="g_bg_f g_pt_10 g_pl_16 g_pr_16 g_mt_10 g_kuaishou g_radius_8 g_pb_16">
<div class="m-info g_mb_12">
<view class="g_mb_10 g_flex_row_between flex_center">
<view class="g_flex_1 g_c_3 g_fs_20 g_fw_bold">{{ jobDetail.jobName }}</view>
<view class="g_fs_14 g_c_9">
{{ jobDetail.updateTime }}
</view>
</view>
<template>
<view class="g_c_9">
<view class="g_flex_row_between flex_center g_mb_12">
<view class="g_fs_14 g_ml_4 g_lh_1_2 g_flex_column_center">{{ (jobDetail.addss ? jobDetail.addss + "丨" : "") + jobDetail.genderRestrict + "丨" + jobDetail.age }} </view>
</view>
</view>
</template>
<div class="g_flex_row_start">
<div v-for="(item, index) in jobDetail.jobSpecialLabelNames" class="g_mr_8 g_mb_8 g_pl_4 g_pr_4" :style="{ color: labelColor[index % labelColor.length], 'background-color': bgColor[index % bgColor.length] }">{{ item }}</div>
</div>
<view class="g_flex_row_between flex_center g_mt_8">
<view class="g_flex_row_start flex_center">
<view class="g_fs_16 g_fw_600 g_c_f40 g_lh_1_2 g_flex_column_center" v-if="jobDetail.priceStr" v-html="jobDetail.priceStr"> </view>
<view class="g_fs_14 g_c_9" v-if="jobDetail.monthPay">
{{ jobDetail.monthPay ? "丨" + jobDetail.monthPay : "" }}
</view>
</view>
<view v-if="corpUserFlag" class="g_flex_row_start g_c_main" @click.stop="setCopy('jobName')">
<view class="iconfont icon-fuzhi mr4" style></view>
<span class="f14 biggerSize">复制</span>
</view>
</view>
<div>
<view class="m-address g_mt_16 g_mb_16 g_pt_10 g_pb_10 g_flex_row_start g_border_e_t g_border_e_b" hover-class="thover" @click="goAddress" v-if="jobDetail.storeLat && jobDetail.storeLng && jobDetail.storeDistrict">
<view class="g_flex_none g_flex_column_center">
<i class="iconfont icon-dizhi1 g_c_main g_mr_10 g_w_14 g_h_14"></i>
</view>
<view class="g_flex_1 g_ml_4 g_mr_4 g_flex_column_center">
<view class="g_fs_16 g_c_3 g_ell_1">
{{ jobDetail.storeAddr || "-" }}
</view>
</view>
<view class="g_flex_none g_flex_column_center">
<i class="iconfont icon-gengduo11 g_c_9 g_w_14 g_h_14"></i>
</view>
</view>
<view v-else class="g_border_e_t g_mt_16"></view>
</div>
<view class="g_flex_row_center g_border_e_b">
<u-tabs bg-color="transparent" :list="tabInfo.list" :current="tabInfo.active" :active-color="globalData.themeColor" bar-width="32" bar-height="6" @change="handleUpdateTab" :gutter="50" font-size="32" duration="0.05" height="76"></u-tabs>
</view>
<view class="content_card">
<view v-if="tabInfo.active == 0" style="line-height: 24px" class="">
<view class="" v-if="!jobDetail.cozeStructureRes">
<view v-if="jobDetail.notes">
<view class="detailH3">注意事项</view>
<view class="pri g_c_f40" style="line-height: 24px; padding: 3px 8px; border-radius: 4px; text-align: justify">{{ jobDetail.notes }}</view>
</view>
<view class="detailH3">薪资待遇</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 薪资明细</view>
<view class="textb1">{{ jobDetail.salaryDetail }}</view>
</view>
</view>
<view class="detailH3">职位要求</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 性别年龄</view>
<view class="textb1">{{ jobDetail.genderRestrict + " " + jobDetail.age }}</view>
</view>
</view>
<view class="detailH3">岗位说明</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 班次工时</view>
<view class="textb1">{{ jobDetail.workClasses }}</view>
</view>
<view class="g_flex_row_between">
<view class="rb1">2. 其他说明</view>
<view class="textb1">{{ jobDetail.otherDesp }}</view>
</view>
</view>
<view class="detailH3">面试对接</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 面试地点</view>
<view class="textb1 g_flex_row_between g_flex_1">
<view class>{{ jobDetail.interviewAddr || "-" }}</view>
<i v-if="jobDetail.interviewLat" class="iconfont icon-dizhi11 f16 mr4 biggerSize" style="color: #027aff" data-type="interview"></i>
</view>
</view>
</view>
<view v-if="jobDetail.OtherInfo">
<view class="detailH3">其它信息</view>
<view class="pri" style="line-height: 24px; padding: 3px 8px; border-radius: 4px; color: #333">{{ jobDetail.OtherInfo }}</view>
</view>
</view>
<view class="g_fs_15" v-else>
<template v-for="(item, index) in templateArr" :key="index">
<view class="g_flex_row_start flex_center g_fw_600 g_mt_12 g_mb_8 g_fs_16" v-if="item.show">
<view class="" v-if="item.num == 1"></view>
<view class="" v-if="item.num == 2"></view>
<view class="" v-if="item.num == 3"></view>
<view class="" v-if="item.num == 4"></view>
<view class="" v-if="item.num == 5"></view>
<view class="" v-if="item.num == 6"></view>
<view class="">
{{ item.type }}
</view>
</view>
<template v-for="(inner, index) in item.children" :key="index">
<view class="g_flex_row_start g_fs_14" style="line-height: 22px; padding-left: 16px" v-if="inner.show">
<view class="g_flex_row_start flex_start g_fw_600">
<view class="g_mr_4" hover-class="none" hover-stop-propagation="false">
{{ `${inner.num}. ` }}
</view>
<view class="g_flex_1">
{{ `${inner.key}: ` }}
<text class="g_fw_400 g_ml_4" selectable="false" space="false" decode="false">
{{ inner.value }}
</text>
</view>
</view>
<!-- @blur="inner.edit = false" -->
</view>
</template>
</template>
</view>
</view>
<!-- 职位描述富文本 -->
<view class="g_flex_column_center" v-if="tabInfo.active == 1">
<view class="g_fs_16 g_pb_32">
<view class="g_c_3 g_pt_16 pri">
<view class="" v-if="from != 'new'">
<view @click="setCopy('new')" v-if="jobDetail.jobInfoWithoutReturnFee || jobDetail.jobInfo"> <span class="desp-copy g_c_main g_border_main"></span> </view>{{ jobDetail.jobInfoWithoutReturnFee || jobDetail.jobInfo || "-" }}
</view>
<view class="" v-else>
<view @click="setCopy('new')" v-if="jobDetail.cozeJobInfoWithoutReturnFee || jobDetail.jobInfo"> <span class="desp-copy g_c_main g_border_main"></span> </view>{{ jobDetail.cozeJobInfoWithoutReturnFee || jobDetail.jobInfo || "-" }}
</view>
</view>
<view class="" v-if="isLogin">
<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>
</view>
</view>
</view>
<view class="" v-if="tabInfo.active == 2">
<view class="g_pt_16 g_fs_16 pri" style="">
<view @click.stop="setCopy('old')">
<span class="desp-copy g_c_main g_border_main">复制</span>
</view>
<rich-text class style="text-align: justify" :nodes="jobDetail.lastNotice"></rich-text>
</view>
</view>
</view>
</div>
</view>
<template v-if="jobDetail.classify == 1">
<div class="g_fs_14 g_c_6 g_mb_12 g_c_f40 g_lh_1_2 g_flex_column_center g_mr_18">{{ jobDetail.priceStr }}</div>
<div class="g_flex_row_start g_mb_10">
<div class="g_flex_row_start g_mr_18" v-if="jobDetail.addressStr">
<div class="g_flex_column_center">
<i class="iconfont icon-dingwei2 g_c_6 g_fs_17 g_lh_1_2"></i>
<!-- old+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<div v-if="false">
<div class="m-info g_mb_12">
<div class="g_flex_1">
<div class="g_mb_10 g_flex_row_between">
<div class="g_flex_1 g_c_3 g_fs_24 g_fw_bold">{{ jobDetail.jobName }}</div>
</div>
<template v-if="jobDetail.classify == 1">
<div class="g_fs_14 g_c_6 g_mb_12 g_c_f40 g_lh_1_2 g_flex_column_center g_mr_18">{{ jobDetail.priceStr }}</div>
<div class="g_flex_row_start g_mb_10">
<div class="g_flex_row_start g_mr_18" v-if="jobDetail.addressStr">
<div class="g_flex_column_center">
<i class="iconfont icon-dingwei2 g_c_6 g_fs_17 g_lh_1_2"></i>
</div>
<div class="g_fs_14 g_c_6 g_ml_4 g_lh_1_2 g_flex_column_center">{{ jobDetail.addressStr }}</div>
</div>
<div class="g_flex_row_start">
<div class="g_flex_column_center">
<i class="iconfont icon-nianling g_c_6 g_fs_16 g_lh_1_2"></i>
</div>
<div class="g_fs_14 g_c_6 g_ml_4 g_lh_1_2 g_flex_column_center">{{ jobDetail.genderAge }}</div>
</div>
<div class="g_fs_14 g_c_6 g_ml_4 g_lh_1_2 g_flex_column_center">{{ jobDetail.addressStr }}</div>
</div>
<div class="g_flex_row_start">
<div class="g_flex_column_center">
<i class="iconfont icon-nianling g_c_6 g_fs_16 g_lh_1_2"></i>
<i class="iconfont icon-zhaopinqiye g_c_6 g_lh_1_2"></i>
</div>
<div class="g_fs_14 g_c_6 g_ml_4 g_lh_1_2 g_flex_column_center">{{ jobDetail.genderAge }}</div>
<div class="g_fs_14 g_c_6 g_ml_4 g_lh_1_2 g_flex_column_center">{{ jobDetail.storeName }}</div>
</div>
</div>
<div class="g_flex_row_start">
<div class="g_flex_column_center">
<i class="iconfont icon-zhaopinqiye g_c_6 g_lh_1_2"></i>
</div>
<div class="g_fs_14 g_c_6 g_ml_4 g_lh_1_2 g_flex_column_center">{{ jobDetail.storeName }}</div>
</div>
</template>
</div>
</div>
<template v-if="jobDetail.classify == 2">
<div class="g_flex_row_between flex_center">
<div style="background-color: rgba(255, 77, 79, 0.1); color: #ff4d4f; display: inline-block; padding: 0 4px; border-radius: 2px" class="g_mr_16">
{{ corpUserFlag ? jobDetail.supplier : "-" }}
</div>
<div style="float: right; position: relative" @click="makePhone(jobDetail.phone)" v-if="jobDetail.phone">
<image :src="cdnBaseImg + 'tel.svg'" class="g_w_32 g_h_32"></image>
</template>
</div>
</div>
<!-- <div class="g_fs_14 g_c_f40 g_mt_8">
{{jobDetail.priceStr}}
</div> -->
</template>
<div class="g_flex_row_start">
<div v-for="(item, index) in jobDetail.jobSpecialLabelNames" class="g_mr_8 g_mb_8 g_pl_4 g_pr_4" :style="{ color: labelColor[index % labelColor.length], 'background-color': bgColor[index % bgColor.length] }">{{ item }}</div>
</div>
<!-- <div class="g_flex_row_start">
<!-- <div class="g_flex_row_start">
<div v-for="(item, index) in jobDetail.jobRequestLabelNames" class="g_mr_8 g_mb_4 g_pl_4 g_pr_4 g_c_6 g_bg_f_5"> {{ item }}</div>
</div>-->
<!-- 所属公司信息 -->
<div class="m-boss g_mt_15 g_mb_16" hover-class="thover" @click="goUserMain">
<div class="box g_flex_row_between g_h_62 g_radius_3 g_pl_16 g_pr_16">
<div class="g_flex_row_start g_flex_1">
<div class="g_flex_column_center g_mr_9 g_flex_none">
<g-panel-image :url="jobDetail.agencyLogo" size="76" />
</div>
<div class="g_flex_1 g_flex_column_center">
<div class="g_ell_1 g_c_3 g_fs_14">{{ jobDetail.agencyName }}</div>
<!-- 所属公司信息 -->
<div class="m-boss g_mt_15 g_mb_16" hover-class="thover" @click="goUserMain">
<div class="box g_flex_row_between g_h_62 g_radius_3 g_pl_16 g_pr_16">
<div class="g_flex_row_start g_flex_1">
<div class="g_flex_column_center g_mr_9 g_flex_none">
<g-panel-image :url="jobDetail.agencyLogo" size="76" />
</div>
<div class="g_flex_1 g_flex_column_center">
<div class="g_ell_1 g_c_3 g_fs_14">{{ jobDetail.agencyName }}</div>
</div>
</div>
<div class="g_flex_column_center g_c_a g_fs_14 g_flex_none g_ml_20">{{ jobDetail.updateTime }}发布</div>
</div>
<div class="g_flex_column_center g_c_a g_fs_14 g_flex_none g_ml_20">{{ jobDetail.updateTime }}发布</div>
</div>
</div>
<!-- 地址 -->
<div class="m-address g_mt_16 g_mb_16 g_pt_10 g_pb_10 g_flex_row_start" style="border-top: 1rpx solid #f5f5f5; border-bottom: 1rpx solid #f5f5f5" hover-class="thover" @click="goAddress">
<div class="g_flex_none g_flex_column_center">
<image :src="cdnBaseImg + 'jobaddress.svg'" class="g_w_20 g_h_20"></image>
</div>
<div class="g_flex_1 g_ml_4 g_mr_4 g_flex_column_center">
<div class="g_fs_16 g_c_3 g_ell_1">
{{ jobDetail.storeAddr || "-" }}
<!-- 地址 -->
<div class="m-address g_mt_16 g_mb_16 g_pt_10 g_pb_10 g_flex_row_start" style="border-top: 1rpx solid #f5f5f5; border-bottom: 1rpx solid #f5f5f5" hover-class="thover" @click="goAddress">
<div class="g_flex_none g_flex_column_center">
<image :src="cdnBaseImg + 'jobaddress.svg'" class="g_w_20 g_h_20"></image>
</div>
<div class="g_flex_1 g_ml_4 g_mr_4 g_flex_column_center">
<div class="g_fs_16 g_c_3 g_ell_1">
{{ jobDetail.storeAddr || "-" }}
</div>
</div>
<div class="g_flex_none g_flex_column_center">
<image :src="cdnBaseImg + 'jobmore.svg'" class="g_w_14 g_h_14"></image>
</div>
</div>
<div class="g_flex_none g_flex_column_center">
<image :src="cdnBaseImg + 'jobmore.svg'" class="g_w_14 g_h_14"></image>
</div>
</div>
<!-- <div class="kefuBox">
<!-- <div class="kefuBox">
<div class="iconBox" v-if="jobDetail.record.customServiceUser && jobDetail.record.customServiceUser.tel">
<i class="g_fsi_20 iconfont icon-phone g_c_main" @click="takeTel(jobDetail.record)"></i>
</div>
@ -111,26 +264,26 @@
<i class="g_fsi_20 iconfont icon-weixin" style="color: #40d559" @click="kefu(jobDetail.record)"></i>
</div>
</div> -->
<!-- 轮播banner -->
<div class="m-banner g_pb_16 g_border_f5_b" v-if="swiperArray.length > 0">
<swiper class="swiper" :circular="false" :autoplay="false" :display-multiple-items="swiperArray.length < 5 ? swiperArray.length : 5" style="height: 58px">
<swiper-item v-for="(item, index) in swiperArray" style="max-width: 58px; padding-right: 12px" :key="index" :class="index == 0 ? 'g_ml_0 g_mr_0' : ''">
<u-image :radius="4" v-if="item.type == 'image'" :showLoading="true" :src="item.image" width="58px" height="58px" style="border-radius: 4px" @click="handleViewBig(item, index)"></u-image>
<div class="g_w_58 g_h_58 g_radius_4 videoContainer" style="overflow: hidden" @click="showVideo(item)" v-else>
<video class="theVideo" :show-fullscreen-btn="false" :show-play-btn="false" :show-center-play-btn="false" :enable-play-gesture="true" :id="item.id" :src="item.image" @fullscreenchange="fullScreen">
<div class="shareVideo">
<icon @click="shareVideo(item)" class="iconfont" :class="wxPlat == 'wxwork' ? 'icon-huidaodingbu' : 'icon-zhuanfa1'" hover-class="none" hover-stop-propagation="false"></icon>
</div>
</video>
</div>
</swiper-item>
</swiper>
</div>
<div class="g_flex_row_center g_border_f5_b g_mb_16" hover-class="none">
<u-tabs class="g_w_all" bg-color="transparent" from="index" gutter="0" :isScroll="false" :list="tabInfo.list" :current="tabInfo.active" active-color="#00b666" bar-width="64" bar-height="6" @change="handleUpdateTab" font-size="32" duration="0.05" height="92"></u-tabs>
</div>
<!-- 职位描述富文本 -->
<!-- <div class="m-desc g_flex_column_center g_h_28">
<!-- 轮播banner -->
<div class="m-banner g_pb_16 g_border_f5_b" v-if="swiperArray.length > 0">
<swiper class="swiper" :circular="false" :autoplay="false" :display-multiple-items="swiperArray.length < 5 ? swiperArray.length : 5" style="height: 58px">
<swiper-item v-for="(item, index) in swiperArray" style="max-width: 58px; padding-right: 12px" :key="index" :class="index == 0 ? 'g_ml_0 g_mr_0' : ''">
<u-image :radius="4" v-if="item.type == 'image'" :showLoading="true" :src="item.image" width="58px" height="58px" style="border-radius: 4px" @click="handleViewBig(item, index)"></u-image>
<div class="g_w_58 g_h_58 g_radius_4 videoContainer" style="overflow: hidden" @click="showVideo(item)" v-else>
<video class="theVideo" :show-fullscreen-btn="false" :show-play-btn="false" :show-center-play-btn="false" :enable-play-gesture="true" :id="item.id" :src="item.image" @fullscreenchange="fullScreen">
<div class="shareVideo">
<icon @click="shareVideo(item)" class="iconfont" :class="wxPlat == 'wxwork' ? 'icon-huidaodingbu' : 'icon-zhuanfa1'" hover-class="none" hover-stop-propagation="false"></icon>
</div>
</video>
</div>
</swiper-item>
</swiper>
</div>
<div class="g_flex_row_center g_border_f5_b g_mb_16" hover-class="none">
<u-tabs class="g_w_all" bg-color="transparent" from="index" gutter="0" :isScroll="false" :list="tabInfo.list" :current="tabInfo.active" active-color="#00b666" bar-width="64" bar-height="6" @change="handleUpdateTab" font-size="32" duration="0.05" height="92"></u-tabs>
</div>
<!-- 职位描述富文本 -->
<!-- <div class="m-desc g_flex_column_center g_h_28">
<div class="tip g_flex_row_start">
<div class="g_flex_column_center">
<div class="doc g_w_4 g_h_19 g_bg_main g_radius_2 g_mr_10"></div>
@ -138,128 +291,129 @@
<div class="g_fs_18 g_c_3 g_fw_600 g_flex_column_center">职位描述</div>
</div>
</div> -->
<div class="g_position_rela" v-if="attention && tabInfo.list[tabInfo.active].tip == 1">
<view class="" v-if="!jobDetail.cozeStructureRes">
<view v-if="jobDetail.notes">
<view class="detailH3">注意事项</view>
<view class="pri g_c_f40" style="line-height: 24px; padding: 3px 8px; border-radius: 4px; text-align: justify">{{ jobDetail.notes }}</view>
</view>
<view class="detailH3">薪资待遇</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 薪资明细</view>
<view class="textb1">{{ jobDetail.salaryDetail }}</view>
<div class="g_position_rela" v-if="attention && tabInfo.list[tabInfo.active].tip == 1">
<view class="" v-if="!jobDetail.cozeStructureRes">
<view v-if="jobDetail.notes">
<view class="detailH3">注意事项</view>
<view class="pri g_c_f40" style="line-height: 24px; padding: 3px 8px; border-radius: 4px; text-align: justify">{{ jobDetail.notes }}</view>
</view>
</view>
<view class="detailH3">职位要求</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 性别年龄</view>
<view class="textb1">{{ (jobDetail.genderRestrict || "-") + " " + (jobDetail.age || "-") }}</view>
<view class="detailH3">薪资待遇</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 薪资明细</view>
<view class="textb1">{{ jobDetail.salaryDetail }}</view>
</view>
</view>
</view>
<view class="detailH3">岗位说明</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 班次工时</view>
<view class="textb1">{{ jobDetail.workClasses }}</view>
<view class="detailH3">职位要求</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 性别年龄</view>
<view class="textb1">{{ (jobDetail.genderRestrict || "-") + " " + (jobDetail.age || "-") }}</view>
</view>
</view>
<view class="g_flex_row_between">
<view class="rb1">2. 其他说明</view>
<view class="textb1">{{ jobDetail.otherDesp }}</view>
<view class="detailH3">岗位说明</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 班次工时</view>
<view class="textb1">{{ jobDetail.workClasses }}</view>
</view>
<view class="g_flex_row_between">
<view class="rb1">2. 其他说明</view>
<view class="textb1">{{ jobDetail.otherDesp }}</view>
</view>
</view>
</view>
<view class="detailH3">面试对接</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 面试地点</view>
<view class="textb1 g_flex_row_end g_flex_1">
<view class>{{ jobDetail.interviewAddr || "-" }}</view>
<i v-if="jobDetail.interviewLat" class="iconfont icon-dizhi11 f16 mr4 biggerSize" style="color: #027aff" data-type="interview"></i>
<view class="detailH3">面试对接</view>
<view class="g_radius_4">
<view class="g_flex_row_between">
<view class="rb1">1. 面试地点</view>
<view class="textb1 g_flex_row_end g_flex_1">
<view class>{{ jobDetail.interviewAddr || "-" }}</view>
<i v-if="jobDetail.interviewLat" class="iconfont icon-dizhi11 f16 mr4 biggerSize" style="color: #027aff" data-type="interview"></i>
</view>
</view>
</view>
<view v-if="jobDetail.OtherInfo">
<view class="detailH3">其它信息</view>
<view class="pri" style="line-height: 24px; padding: 3px 8px; border-radius: 4px; color: #333">{{ jobDetail.OtherInfo }}</view>
</view>
</view>
<view v-if="jobDetail.OtherInfo">
<view class="detailH3">其它信息</view>
<view class="pri" style="line-height: 24px; padding: 3px 8px; border-radius: 4px; color: #333">{{ jobDetail.OtherInfo }}</view>
</view>
</view>
<div v-else>
<template v-for="(item, index) in templateArr">
<div class="g_flex_row_start flex_center g_fw_600 g_mt_12 g_mb_8 g_fs_16" :key="index" v-if="item.show">
<div class="" v-if="item.num == 1"></div>
<div class="" v-if="item.num == 2"></div>
<div class="" v-if="item.num == 3"></div>
<div class="" v-if="item.num == 4"></div>
<div class="" v-if="item.num == 5"></div>
<div class="" v-if="item.num == 6"></div>
<div class="">
{{ item.type }}
<div v-else>
<template v-for="(item, index) in templateArr">
<div class="g_flex_row_start flex_center g_fw_600 g_mt_12 g_mb_8 g_fs_16" :key="index" v-if="item.show">
<div class="" v-if="item.num == 1"></div>
<div class="" v-if="item.num == 2"></div>
<div class="" v-if="item.num == 3"></div>
<div class="" v-if="item.num == 4"></div>
<div class="" v-if="item.num == 5"></div>
<div class="" v-if="item.num == 6"></div>
<div class="">
{{ item.type }}
</div>
</div>
</div>
<template v-for="(inner, index) in item.children">
<div class="g_flex_row_start g_fs_14" :key="index" style="line-height: 22px; padding-left: 16px" v-if="inner.show">
<div class="g_flex_row_start flex_start g_fw_600">
<div class="g_mr_4" hover-class="none" hover-stop-propagation="false">
{{ `${inner.num}. ` }}
</div>
<div class="g_flex_1">
{{ `${inner.key}: ` }}
<text class="g_fw_400 g_ml_4" selectable="false" space="false" decode="false">
{{ inner.value }}
</text>
<template v-for="(inner, index) in item.children">
<div class="g_flex_row_start g_fs_14" :key="index" style="line-height: 22px; padding-left: 16px" v-if="inner.show">
<div class="g_flex_row_start flex_start g_fw_600">
<div class="g_mr_4" hover-class="none" hover-stop-propagation="false">
{{ `${inner.num}. ` }}
</div>
<div class="g_flex_1">
{{ `${inner.key}: ` }}
<text class="g_fw_400 g_ml_4" selectable="false" space="false" decode="false">
{{ inner.value }}
</text>
</div>
</div>
<!-- @blur="inner.edit = false" -->
</div>
<!-- @blur="inner.edit = false" -->
</div>
</template>
</template>
</template>
</div>
</div>
</div>
<div v-if="tabInfo.list[tabInfo.active].tip == 2">
<div class="g_fs_16 g_pb_32">
<div class="g_c_3 g_pt_16 pri">
<div class="">
<div @click="setCopy('new')" v-if="jobDetail.jobInfoWithoutReturnFee || jobDetail.jobInfo"><span class="desp-copy g_c_main g_border_main"></span></div>
{{ jobDetail.jobInfoWithoutReturnFee || jobDetail.jobInfo || "-" }}
<div v-if="tabInfo.list[tabInfo.active].tip == 2">
<div class="g_fs_16 g_pb_32">
<div class="g_c_3 g_pt_16 pri">
<div class="">
<div @click="setCopy('new')" v-if="jobDetail.jobInfoWithoutReturnFee || jobDetail.jobInfo"><span class="desp-copy g_c_main g_border_main"></span></div>
{{ jobDetail.jobInfoWithoutReturnFee || jobDetail.jobInfo || "-" }}
</div>
</div>
</div>
</div>
</div>
<div class="g_position_rela" v-if="attention && tabInfo.list[tabInfo.active].tip == 3">
<div class="g_pt_16 g_fs_16 pri" style="">
<div @click.stop="setCopy('old')">
<span class="desp-copy g_c_main g_border_main">复制</span>
<div class="g_position_rela" v-if="attention && tabInfo.list[tabInfo.active].tip == 3">
<div class="g_pt_16 g_fs_16 pri" style="">
<div @click.stop="setCopy('old')">
<span class="desp-copy g_c_main g_border_main">复制</span>
</div>
<rich-text class style="text-align: justify" :nodes="jobDetail.lastNotice"></rich-text>
</div>
<rich-text class style="text-align: justify" :nodes="jobDetail.lastNotice"></rich-text>
</div>
</div>
<div v-if="tabInfo.list[tabInfo.active].tip == 4">
<div class="g_position_rela">
<div class="g_fs_14 g_c_6 contactInfo g_border_e_r g_border_e_t g_border_e_l" style="white-space: pre-line">
<div class="g_flex_row_start g_border_e_b">
<div class="g_w_110 g_border_e_r g_flex_column_center g_text_c" style="padding: 4px 12px">驻场信息</div>
<div class="g_flex_1 g_c_3" style="padding: 4px 8px">
{{
jobDetail.onSiteUsers
.map((item) => {
return item.userName + " " + item.tel;
})
.join("") || "-"
}}
<div v-if="tabInfo.list[tabInfo.active].tip == 4">
<div class="g_position_rela">
<div class="g_fs_14 g_c_6 contactInfo g_border_e_r g_border_e_t g_border_e_l" style="white-space: pre-line">
<div class="g_flex_row_start g_border_e_b">
<div class="g_w_110 g_border_e_r g_flex_column_center g_text_c" style="padding: 4px 12px">驻场信息</div>
<div class="g_flex_1 g_c_3" style="padding: 4px 8px">
{{
jobDetail.onSiteUsers
.map((item) => {
return item.userName + " " + item.tel;
})
.join("") || "-"
}}
</div>
</div>
</div>
<div class="g_flex_row_start g_border_e_b">
<div class="g_w_110 g_c_6 g_border_e_r g_flex_column_center g_text_c" style="padding: 4px 12px">面试地点</div>
<div class="g_flex_1 g_c_3" style="padding: 4px 8px">
{{ jobDetail.interviewAddr || "-" }}
<div class="g_flex_row_start g_border_e_b">
<div class="g_w_110 g_c_6 g_border_e_r g_flex_column_center g_text_c" style="padding: 4px 12px">面试地点</div>
<div class="g_flex_1 g_c_3" style="padding: 4px 8px">
{{ jobDetail.interviewAddr || "-" }}
</div>
</div>
</div>
<div class="g_flex_row_start g_border_e_b">
<div class="g_w_110 g_c_6 g_border_e_r g_flex_column_center g_text_c" style="padding: 4px 12px">其他说明</div>
<div class="g_flex_1 g_c_3" style="padding: 4px 8px">
{{ jobDetail.otherInfo || "-" }}
<div class="g_flex_row_start g_border_e_b">
<div class="g_w_110 g_c_6 g_border_e_r g_flex_column_center g_text_c" style="padding: 4px 12px">其他说明</div>
<div class="g_flex_1 g_c_3" style="padding: 4px 8px">
{{ jobDetail.otherInfo || "-" }}
</div>
</div>
</div>
</div>
@ -398,6 +552,7 @@ export default {
},
data() {
return {
globalData: getApp().globalData,
videoContextTemp: {},
corpUserFlag: false,
agreeRadio: ["agree"],
@ -683,10 +838,13 @@ export default {
let setData = that.G.disposeJobListData(res);
res.addressStr = setData.district.slice(0, -1);
res.sexStr = setData.genderAge;
res.genderRestrict = that.G.getGenderByMinAge(res);
res.addss = that.G.setJobInfoPositionv3(res.storeAddr);
res.monthPay = res.minMonthlyPay / 100 + "-" + res.maxMonthlyPay / 100;
// res.ageStr = setData.age;
// res.priceStr = that.G.getSalaryClassifyValue(res.salaryClassify, res.salaryClassifyValue);
res.priceStr = res.salaryClassify != 7 ? that.G.getSalaryClassifyValue(res.salaryClassify, res.salaryClassifyValue) : that.G.getSalaryClassifyValue(res.salaryClassify, res.minMonthlyPay, res.maxMonthlyPay);
res.priceStr = res.salaryClassify != 7 ? that.G.getSalaryClassifyValueHtml(res.salaryClassify, res.salaryClassifyValue) : that.G.getSalaryClassifyValue(res.salaryClassify, res.minMonthlyPay, res.maxMonthlyPay);
res.updateTime = that.G.setDeadLine(res.updateTime, "jiaofu");
console.log("res.imgs", res.imgs);
that.swiperArray =
@ -809,40 +967,6 @@ export default {
dateTime = arr;
},
//
setCopy(e) {
var that = this;
var contentInfo;
const query = uni.createSelectorQuery().in(this);
query
.select(".contactInfo")
.boundingClientRect(function (res) {
console.log(res);
contentInfo = res.dataset.info;
if (contentInfo) {
uni.setClipboardData({
data: contentInfo,
success(res) {
uni.showToast({
title: "内容已复制",
icon: "none",
duration: 1500,
});
},
fail(err) {
console.log("setClipboardDataerr", err); // data
},
});
} else {
uni.showToast({
title: "复制内容为空",
icon: "none",
duration: 1500,
});
}
})
.exec();
},
handleSubmit() {
let that = this;
console.log("that.formInfo", that.formInfo);
@ -1084,20 +1208,16 @@ export default {
} else if (e == "old") {
text = that.jobDetail.lastNotice;
} else if (e == "jobName") {
text = that.jobDetail.jobName + "@" + (that.jobDetail.supplier.supplierName || "-");
text = that.jobDetail.jobName + "@" + (that.jobDetail.agencyName || "-");
}
console.log("text", text);
uni.setClipboardData({
data: text,
success(res) {
uni.getClipboardData({
success(res) {
console.log(res.data); // data
uni.showToast({
title: "复制成功",
icon: "success",
});
},
console.log(res.data); // data
uni.showToast({
title: "复制成功",
icon: "success",
});
},
});
@ -1187,7 +1307,6 @@ export default {
}
.servicePrice {
height: 64px;
border: 1rpx solid #eee;
// background-color: #ffeee7;
// border-right-color: transparent;
// border-left-color: transparent;

@ -145,6 +145,7 @@ export default {
},
onLoad(options) {
let str = "";
console.log("this.options", options);
if (options.info) {
if (options.info == "undefined" || options.info == "null" || options.info == "NaN") {
this.info = "-";

@ -1,13 +1,13 @@
<template>
<view class="p-root-detail-user g_w_all g_bg_f_5 g_kuaishou">
<view class="g_h_10"></view>
<div class="p-root-detail-user g_w_all g_bg_f_5 g_kuaishou">
<div class="g_h_10"></div>
<!-- 基本信息 -->
<view class="" style="position: relative">
<view class="" style="position: relative; z-index: 1">
<div class="" style="position: relative">
<div class="" style="position: relative; z-index: 1">
<g-panel-card-info
:info="{
avatar: info.logo,
title: info.agencyName,
title: info.fullName || info.agencyName,
num: info.supplierAccount == 1 ? (info.agencyDesp ? info.agencyDesp : '该发单号还未填写简介') : info.tel ? info.tel : '-',
isHaveOrder: info.supplierAccount == 1 ? true : false,
}"
@ -15,77 +15,80 @@
:isShowMore="isShowMore == 'true' ? 1 : 0"
@clickCard="goMore"
/>
</view>
<view v-if="info.supplierAccount == 1" style="position: absolute; left: 50%; transform: translateX(-50%); bottom: -40px; width: calc(100% - 20px); margin: 0 auto; height: 48px">
<view class="g_radius_8" style="background-color: #e5e5e5; height: 100%">
<view class="g_h_16"></view>
<view class="g_flex_row_center">
<view v-for="(item, index) in numSlot" :key="index" class="g_flex_row_center g_w_three g_position_rela">
<view class="g_flex_row_center">
<view class="g_fs_14 g_c_6 g_flex_column_end">{{ item.name }}</view>
<view class="g_fs_16 g_c_3 g_fw_600 g_ml_4">{{ item.num }}</view>
</view>
<view class="bor" v-if="index < 2" style="position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1rpx; height: 8px; background-color: #333"></view>
</view>
</view>
</view>
</view>
</view>
<view v-if="info.supplierAccount == 1">
<view class="g_h_40" v-if="info.supplierAccount == 1"></view>
<view v-if="!isSelf">
<view class="g_flex_row_center" v-if="info.recordStatus == 1">
</div>
<div v-if="info.supplierAccount == 1" style="position: absolute; left: 50%; transform: translateX(-50%); bottom: -40px; width: calc(100% - 20px); margin: 0 auto; height: 48px">
<div class="g_radius_8" style="background-color: #e5e5e5; height: 100%">
<div class="g_h_16"></div>
<div class="g_flex_row_center">
<div v-for="(item, index) in numSlot" :key="index" class="g_flex_row_center g_w_three g_position_rela">
<div class="g_flex_row_center">
<div class="g_fs_14 g_c_6 g_flex_column_end">{{ item.name }}</div>
<div class="g_fs_16 g_c_3 g_fw_600 g_ml_4">{{ item.num }}</div>
</div>
<div class="bor" v-if="index < 2" style="position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1rpx; height: 8px; background-color: #333"></div>
</div>
</div>
</div>
</div>
</div>
<div v-if="info.supplierAccount == 1">
<div class="g_h_40" v-if="info.supplierAccount == 1"></div>
<div v-if="!isSelf">
<div class="g_flex_row_center" v-if="info.recordStatus == 1">
<!-- 已关注 -->
<view style="width: 520rpx; height: 80rpx" class="g_bg_c g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c" hover-class="thover" @click="handleCancel"></view>
</view>
<view class="g_flex_row_center" v-if="info.recordStatus == 2">
<div style="width: 520rpx; height: 80rpx" class="g_bg_c g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c" hover-class="thover" @click="handleCancel"></div>
</div>
<div class="g_flex_row_center" v-if="info.recordStatus == 2">
<!-- 互相关注 -->
<view style="width: 520rpx; height: 80rpx" class="g_bg_c g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c" @click="handleCancel"></view>
</view>
<view class="g_flex_row_center" v-if="(info.recordStatus == 4 || info.recordStatus == 3) && !isSelf">
<div style="width: 520rpx; height: 80rpx" class="g_bg_c g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c" @click="handleCancel"></div>
</div>
<div class="g_flex_row_center" v-if="(info.recordStatus == 4 || info.recordStatus == 3) && !isSelf">
<!-- 判断是否已关注 -->
<view style="width: 520rpx; height: 80rpx" class="g_bg_main g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c" hover-class="thover" @click="handleSubmit"></view>
</view>
<view class="g_flex_row_center" v-if="info.recordStatus == 5">
<div style="width: 520rpx; height: 80rpx" class="g_bg_main g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c" hover-class="thover" @click="handleSubmit"></div>
</div>
<div class="g_flex_row_center" v-if="info.recordStatus == 5">
<!-- 提交申请等待中 -->
<view style="width: 520rpx; height: 80rpx; background-color: #ccc" class="g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c">等待通过</view>
</view>
<view class="g_flex_row_center" v-if="info.recordStatus == 6 && !isSelf">
<div style="width: 520rpx; height: 80rpx; background-color: #ccc" class="g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c">等待通过</div>
</div>
<div class="g_flex_row_center" v-if="info.recordStatus == 6 && !isSelf">
<!-- 已过期 -->
<view style="width: 520rpx; height: 80rpx" class="g_bg_main g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c" hover-class="thover" @click="handleSubmit"></view>
</view>
<view class="g_flex_row_center" v-if="info.recordStatus == 7">
<div style="width: 520rpx; height: 80rpx" class="g_bg_main g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c" hover-class="thover" @click="handleSubmit"></div>
</div>
<div class="g_flex_row_center" v-if="info.recordStatus == 7">
<!-- 邀请关注的申请关注 -->
<view style="width: 520rpx; height: 80rpx" class="g_bg_main g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c" hover-class="thover" @click="inviteSubmit"></view>
</view>
</view>
<view class="g_h_16"></view>
<view v-if="jobDetailShow || jobDetailShow == 'true'">
<div style="width: 520rpx; height: 80rpx" class="g_bg_main g_c_f g_radius_22 g_fs_18 g_fw_600 g_mt_6 g_flex_c" hover-class="thover" @click="inviteSubmit"></div>
</div>
</div>
<div class="g_h_16"></div>
<div v-if="jobDetailShow || jobDetailShow == 'true'">
<!-- 正常职位 -->
<view class="m-detail" v-if="(info.recordStatus == 1 || info.recordStatus == 2) && info.himSeeBtn == 1">
<g-list-job @uploadList="getList" :recordStatus="info.recordStatus" :showShare="false" :list="query.list" :loading="loading" :speed="speed" :query="query" @clickTop="goDetailJob" @clickBottom="goDetailUser" emptyText="您关注的发单号暂未发布职位" emptySubText=" " />
</view>
<div class="m-detail" v-if="(info.recordStatus == 1 || info.recordStatus == 2) && info.himSeeBtn == 1">
<div class="g_ml_10 g_mr_10 g_pb_10 g_pt_10">
<u-search v-model="keyword" class="g_flex_1" placeholder="搜索职位名称" bg-color="#fff" :show-action="false" placeholder-class="g_c_c" :input-style="{ fontSize: '16px' }" height="80" search-icon-color="#999999" :maxlength="20" @input="checkLength" @clear="getList('init')" @search="getList('init')"></u-search>
</div>
<g-list-job @uploadList="getList" :recordStatus="info.recordStatus" :showShare="false" :list="query.list" :loading="loading" :speed="speed" :query="query" @clickTop="goDetailJob" @clickBottom="goDetailUser" emptyText="暂无职位" emptySubText=" " />
</div>
<!-- 未关注 -->
<view class="m-detail" v-if="(info.recordStatus == 4 || info.recordStatus == 3 || info.recordStatus == 5 || info.recordStatus == 6 || info.recordStatus == 7) && info.himSeeBtn == 1">
<div class="m-detail" v-if="(info.recordStatus == 4 || info.recordStatus == 3 || info.recordStatus == 5 || info.recordStatus == 6 || info.recordStatus == 7) && info.himSeeBtn == 1">
<g-list-job @uploadList="getList" from="user" :isSelf="isSelf" :recordStatus="info.recordStatus" :showShare="false" :list="query.list" :loading="loading" :speed="speed" :query="query" @clickTop="goDetailJob" @clickBottom="goDetailUser" :emptyText="isSelf ? speed + '个职位' : '未关注用户仅展示预览职位'" emptySubText=" " />
</view>
<view v-if="info.himSeeBtn == 0" style="padding-top: 260rpx">
</div>
<div v-if="info.himSeeBtn == 0" style="padding-top: 260rpx">
<g-empty text="您关注的发单号暂未发布职位" />
</view>
</view>
</view>
<view v-if="info.supplierAccount == 0" style="width: calc(100% - 20px); margin: 0 auto">
<view class="g_bg_f g_pl_16 g_pr_16 g_radius_8">
<view class="g_flex_row_between g_h_56">
<view class="g_flex_column_center g_fs_16 g_c_3">不让他看我的职位</view>
<view class="g_flex_column_center">
</div>
</div>
</div>
<div v-if="info.supplierAccount == 0" style="width: calc(100% - 20px); margin: 0 auto">
<div class="g_bg_f g_pl_16 g_pr_16 g_radius_8">
<div class="g_flex_row_between g_h_56">
<div class="g_flex_column_center g_fs_16 g_c_3">不让他看我的职位</div>
<div class="g_flex_column_center">
<u-switch v-model="mLook" activeColor="#00B666" @change="handleSee"></u-switch>
</view>
</view>
</view>
<view class="g_w_260 g_h_42 g_radius_25 g_bg_f g_fs_18 g_flex_c g_mt_90" style="color: #fa5151; margin: 90px auto 0" hover-class="thover" @click="goReturn"> </view>
</view>
</view>
</div>
</div>
</div>
<div class="g_w_260 g_h_42 g_radius_25 g_bg_f g_fs_18 g_flex_c g_mt_90" style="color: #fa5151; margin: 90px auto 0" hover-class="thover" @click="goReturn"></div>
</div>
</div>
</template>
<script>
@ -105,6 +108,7 @@ export default {
isShowJob: true,
agencyId: 0,
loading: true,
keyword: "", //
speed: -1,
query: {
page: 1,
@ -150,40 +154,22 @@ export default {
if (this.loginId == options.id && options.id) {
this.isSelf = true;
}
this.G.checkToken().then((info) => {
console.log("info11", info);
if (!info.msg) {
if (uni.getStorageSync("user_scene") || options.scene) {
this.scene = uni.getStorageSync("user_scene") ? decodeURIComponent(uni.getStorageSync("user_scene")) : decodeURIComponent(options.scene);
this.uid = this.scene.split("=")[1];
console.log("this.uid", this.uid);
uni.removeStorageSync("user_scene");
} else {
if (uni.getStorageSync("user_options")) {
options = uni.getStorageSync("user_options");
}
this.type = options.type ? options.type : "";
this.isShowMore = options.isShowMore ? options.isShowMore : "";
this.isShowJob = options.isShowJob ? options.isShowJob : "";
this.jobDetailShow = options.jobDetailShow || true;
this.from = options.shareForm;
this.uid = options.id;
uni.removeStorageSync("user_options", options);
}
this.getDetail();
} else {
if (options.scene) {
uni.setStorageSync("user_scene", options.scene);
} else {
uni.setStorageSync("user_options", options);
}
}
});
this.scene = options.scene;
if (this.scene) {
let _str = decodeURIComponent(this.scene);
this.uid = _str.split("=")[1];
} else {
this.uid = options.id;
}
this.type = options.type ? options.type : "";
this.isShowMore = options.isShowMore;
this.isShowJob = options.isShowJob;
this.jobDetailShow = options.jobDetailShow || true;
this.from = options.shareForm;
if (options.bindid) {
this.bindid = options.bindid;
}
this.getDetail();
},
onShow() {
let that = this;
@ -193,7 +179,6 @@ export default {
// that.loading = false;
// that.speed = 0;
// } else {
this.getDetail();
// }
},
onReachBottom() {
@ -212,46 +197,43 @@ export default {
// this.G.isLogin();
// if (this.G.isLogin()) {
that.pageSpeed = 0;
if (that.uid) {
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.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;
}
that.agencyId = res.agencyId;
that.mLook = that.info.himSee == 1 ? false : true;
that.numSlot = [
{
name: "职位数",
num: that.info.himSee == 0 ? 0 : that.info.jobNum,
},
{
name: "今日更新",
num: that.info.jobUpdateNum,
},
{
name: "粉丝数",
num: that.info.downNum,
},
];
that.getList();
}
);
}
if (that.info.supplierAccount == 0) {
that.isShowMore = false;
}
that.agencyId = res.agencyId;
that.mLook = that.info.himSee == 1 ? false : true;
that.numSlot = [
{
name: "职位数",
num: that.info.himSee == 0 ? 0 : that.info.jobNum,
},
{
name: "今日更新",
num: that.info.jobUpdateNum,
},
{
name: "粉丝数",
num: that.info.downNum,
},
];
that.getList();
}
);
// }
},
goDetailUser() {
@ -282,6 +264,7 @@ export default {
},
getDefault($type) {
let that = this;
console.log('$type',$type);
this.G.isLogin();
if (this.G.isLogin()) {
that.G.Post(
@ -290,9 +273,10 @@ export default {
pageNum: that.query.page,
pageSize: that.query.size,
agencyId: that.agencyId,
keys: "",
keys: that.keyword,
},
(res) => {
console.log("resresresresresres", res);
if (res.recordCount == 0) {
that.loading = false;
} else {
@ -314,6 +298,7 @@ export default {
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),
fuWuFei: that.G.setReturnFee(item.returnFee, item.returnFeeType),
cus_price: item.salaryClassify != 7 ? that.G.getSalaryClassifyValueHtml(item.salaryClassify, item.salaryClassifyValue) : "月薪",
gender: that.G.getGenderByMinAge(item),
logo: item.agencyLogo,
time: that.G.setDeadLine(item.updateTime, "jiaofu"),
@ -352,6 +337,7 @@ export default {
: []
);
}
console.log("query.list", that.query.list);
}
);
}
@ -435,6 +421,12 @@ export default {
);
}
},
checkLength(e) {
if (e.length == 0) {
this.keyword = "";
this.getList();
}
},
getList($type = "init") {
let that = this;
this.G.isLogin();

@ -129,7 +129,7 @@
<view class="xing g_c_fa2b"> * </view>
</view>
<view class="g_flex_row_start flex_center g_h_44 g_bg_f g_pl_10 g_radius_8">
<u-input height="22" v-model="formInfo.storeName" class="weui-input" style="width: 97%" placeholder="请输入企业称" placeholder-style="color:#999" />
<u-input height="22" v-model="formInfo.storeName" class="weui-input" style="width: 97%" placeholder="请输入企业称" placeholder-style="color:#999" />
</view>
</view>
<view class="g_mt_16">
@ -906,7 +906,7 @@ export default {
}
if (!this.formInfo.storeName) {
uni.showToast({
title: "请输入企业称",
title: "请输入企业称",
icon: "none",
});
return;

@ -2,14 +2,14 @@
<view class="p-person-about g_w_all g_h_all g_bg_f_5 g_flex_column_between g_kuaishou">
<view class="g_flex_1">
<view class="g_mb_24 g_flex_row_center" style="padding-top: 130px;">
<img :src="localBaseImg + 'fadanzhushou.png'" class="g_w_63 g_h_63 g_radius_20">
<img :src="localBaseImg + 'boss.png'" class="g_w_63 g_h_63 g_radius_20">
</view>
<view class="g_fs_24 g_c_3 g_flex_row_center g_mb_8 g_fw_600">报名助手</view>
<view class="g_fs_16 g_c_3 g_flex_row_center">Version {{version}}</view>
</view>
<view class="g_flex_none">
<view class="g_fs_11 g_c_9 g_flex_row_center">伯才公司 版权所有</view>
<view class="g_fs_11 g_c_9 g_pb_56 g_mt_4 g_flex_row_center">Copyright © 2021-2023 BocaiGroup. All Rights Reserved.</view>
<view class="g_fs_11 g_c_9 g_pb_56 g_mt_4 g_flex_row_center">Copyright © 2021-{{year || 2025}} BocaiGroup. All Rights Reserved.</view>
</view>
</view>
</template>
@ -24,6 +24,7 @@
},
data(){
return {
year:new Date().getFullYear(),
localBaseImg:this.G.store().localBaseImg,
version:this.G.store().version
}

@ -1,45 +1,34 @@
<template>
<view class="p-person-avatar g_flex_column_center g_w_all g_h_all g_bg_0 g_kuaishou">
<view>
<view :style="{
width:size.width + 'px',
height:size.width + 'px'
<view
:style="{
width: size.width + 'px',
height: size.width + 'px',
}"
style="overflow: hidden;"
style="overflow: hidden"
class="g_flex_c"
>
<img :src="avatar" :style="{
width:size.width + 'px',
height:size.width + 'px'
}">
<img
:src="avatar"
:style="{
width: size.width + 'px',
height: size.width + 'px',
}"
/>
</view>
<view class="g_flex_row_center g_mt_30">
<view v-if="!isEdit" class="g_flex_row_center">
<!-- #ifdef APP-PLUS || H5 || MP-TOUTIAO || MP-KUAISHOU -->
<button aria-role="button"
class="g_w_110 g_h_32 g_flex_c g_radius_17 g_c_f"
style="border: 1px solid #fff;background-color: transparent;font-size: 14px;"
@click="handleOpenAvatar"
>更换头像</button>
<button aria-role="button" class="g_w_110 g_h_32 g_flex_c g_radius_17 g_c_f" style="border: 1px solid #fff; background-color: transparent; font-size: 14px" @click="handleOpenAvatar"></button>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<button open-type="chooseAvatar"
@chooseavatar='handleStartChangeAvatar'
aria-role="button"
class="g_w_110 g_h_32 g_flex_c g_radius_17 g_c_f"
style="border: 1px solid #fff;background-color: transparent;font-size: 14px;"
>更换头像</button>
<button open-type="chooseAvatar" @chooseavatar="handleStartChangeAvatar" aria-role="button" class="g_w_110 g_h_32 g_flex_c g_radius_17 g_c_f" style="border: 1px solid #fff; background-color: transparent; font-size: 14px">更换头像</button>
<!-- #endif -->
</view>
<view v-if="isEdit" class="g_flex_row_center">
<view class="g_w_110 g_h_32 g_flex_c g_radius_17 g_c_f g_mr_16"
style="border: 1px solid #fff;"
@click="handleCancel"
>取消</view>
<view class="g_w_112 g_h_34 g_flex_c g_radius_17 g_c_f g_bg_f40"
style="border: 2px solid #ff4400;"
@click="handleConfirm"
>确认</view>
<view class="g_w_110 g_h_32 g_flex_c g_radius_17 g_c_f g_mr_16" style="border: 1px solid #fff" @click="handleCancel"></view>
<view class="g_w_112 g_h_34 g_flex_c g_radius_17 g_c_f g_bg_f40" style="border: 2px solid #ff4400" @click="handleConfirm"></view>
</view>
</view>
</view>
@ -47,92 +36,98 @@
</template>
<script>
export default{
onReady() {
uni.setNavigationBarColor({
backgroundColor:"#000000",
frontColor:"#ffffff"
})
export default {
onReady() {
uni.setNavigationBarColor({
backgroundColor: "#000000",
frontColor: "#ffffff",
});
},
onShareAppMessage() {
return this.G.shareFun();
},
data() {
return {
avatar: uni.getStorageSync("apply-userinfo").user.imgSrc,
isEdit: false,
size: {
width: uni.getSystemInfoSync().windowWidth,
height: uni.getSystemInfoSync().windowHeight,
},
};
},
methods: {
handleOpenAvatar() {
let that = this;
uni.showActionSheet({
itemList: ["从相册选择", "使用相机"],
success: function (res) {
if (res.tapIndex == 0) {
console.log("点击相册");
//
that.setAvatar(["album"]);
} else {
console.log("点击拍照");
//
that.setAvatar(["camera"]);
}
},
fail: function (res) {},
});
},
onShareAppMessage(){
return this.G.shareFun();
setAvatar($type) {
let that = this;
that.G.uploadImg(
(res) => {
console.log("获取数据", res);
that.avatar = res.image;
that.G.Post(that.api.user_changeAvatarWithUrl, { avatar: that.avatar }, (res) => {
that.isEdit = false;
uni.showToast({
title: "修改成功",
icon: "success",
});
that.G.checkToken();
uni.setStorageSync("apply-avatar", res);
setTimeout(() => {
uni.navigateBack();
}, 1500);
});
},
"default",
1,
$type
);
},
data(){
return {
avatar:uni.getStorageSync("apply-avatar"),
isEdit:false,
size:{
width:uni.getSystemInfoSync().windowWidth,
height:uni.getSystemInfoSync().windowHeight
}
}
//
handleStartChangeAvatar(e) {
let that = this;
console.log("获取用户头像:", e);
that.isEdit = true;
that.avatar = e.detail.avatarUrl;
},
methods:{
handleOpenAvatar(){
let that = this;
uni.showActionSheet({
itemList: ['从相册选择','使用相机'],
success: function (res) {
if(res.tapIndex == 0){
console.log('点击相册')
//
that.setAvatar(['album'])
}else{
console.log('点击拍照')
//
that.setAvatar(['camera'])
}
},
fail: function (res) {}
});
},
setAvatar($type){
let that = this;
that.G.uploadImg((res)=>{
console.log('获取数据',res)
that.avatar = res.image;
that.isEdit = false;
uni.showToast({
title:'修改成功',
icon:'success'
})
uni.setStorageSync('apply-avatar',that.avatar)
setTimeout(()=>{
uni.navigateBack();
},1500)
},'default',1,$type)
},
//
handleStartChangeAvatar(e){
let that = this;
console.log('获取用户头像:',e)
that.isEdit = true;
that.avatar = e.detail.avatarUrl;
},
handleCancel(){
let that = this;
handleCancel() {
let that = this;
that.isEdit = false;
that.avatar = uni.getStorageSync("apply-userinfo").user.imgSrc;
},
handleConfirm() {
let that = this;
that.G.uploadFile(that.avatar, (res) => {
that.isEdit = false;
that.avatar = uni.getStorageSync("apply-avatar");
},
handleConfirm(){
let that = this;
that.G.uploadFile(that.avatar,(res)=>{
that.isEdit = false;
uni.showToast({
title:'修改成功',
icon:'success'
})
uni.setStorageSync('apply-avatar',res)
setTimeout(()=>{
uni.navigateBack();
},1500)
uni.showToast({
title: "修改成功",
icon: "success",
});
}
}
}
that.G.checkToken();
setTimeout(() => {
uni.navigateBack();
}, 1500);
});
},
},
};
</script>
<style>
</style>
<style></style>

@ -154,7 +154,7 @@ export default {
}
uni.$emit("changeAccountName", { info: this.info.value });
uni.navigateBack();
} else if (that.info.title == "修改企业称") {
} else if (that.info.title == "修改企业称") {
uni.$emit("changeStoreName", { info: this.info.value });
uni.navigateBack();
}

@ -17,7 +17,7 @@
>
<slot>
<!-- #ifdef APP-PLUS || H5 || MP-TOUTIAO || MP-KUAISHOU -->
<u-input type="text" :clearable="false" :password-icon="false" :customStyle="{ fontSize: '17px' }" :placeholder="info.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999999;font-size:17px;line-height:1" v-model="info.value" style="width: calc(100vw - (106px));flex: none;font-size: 17px;" />
<u-input type="text" :clearable="false" :password-icon="false" :customStyle="{ fontSize: '17px' }" :placeholder="info.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999999;font-size:17px;line-height:1" v-model="info.value" style="width: calc(100vw - (106px)); flex: none; font-size: 17px" />
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<u-input type="text" :clearable="false" :customStyle="{ fontSize: '17px' }" :password-icon="false" :placeholder="info.placeholder" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999999;font-size:17px;line-height:1" v-model="info.value" />
@ -46,6 +46,7 @@
]"
@chooseAddress="chooseAddress"
></g-panel-form-slot>
<div class="g_c_9 g_fs_14 g_pl_16 g_mt_4" v-if="info.fieldName == 'fullName'"></div>
<view class="g_mt_90 g_flex_row_center">
<g-button btnText="提交" type="primary" @clickBtn="submitForm" />
</view>
@ -113,7 +114,7 @@ export default {
that.G.checkToken();
setTimeout(() => {
uni.$emit("changeCompanyDesp",'测试');
uni.$emit("changeCompanyDesp", "测试");
uni.navigateBack();
}, 1500);
}

@ -94,7 +94,7 @@ export default {
let that = this;
let userinfo = uni.getStorageSync("apply-userinfo");
that.userinfo = {
imgSrc: userinfo.user.imgSrc || that.svgBaseImg + "defaultAva.svg",
imgSrc: userinfo.user.imgSrc || "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/defaultAva.svg",
userName: userinfo.userName,
tel: userinfo.user.tel,
desp: that.userinfo.desp || "请简单介绍",

@ -14,7 +14,7 @@
},
{
icon: '',
label: '企业称',
label: '企业称',
result: '',
value: info.fullName,
path: '',
@ -63,9 +63,9 @@
{
icon: '',
label: '企业称',
label: '企业称',
result: info.fullName || '-',
path: '/root/person/change?type=order&title=修改企业名称&place=请输入企业全称&remark=企业名称&value=' + info.fullName,
path: '/root/person/change?type=order&title=修改企业全称&place=请输入企业全称&remark=企业全称&value=' + info.fullName,
tip: 'fullName',
},
{
@ -207,7 +207,7 @@ export default {
this.editName(info);
} else if (item.label == "申请人名称") {
this.info.userName = e;
} else if (item.label == "企业称") {
} else if (item.label == "企业称") {
this.info.fullName = e;
let info = {
fieldName: "fullName",

@ -59,12 +59,12 @@
},
{
icon: '',
label: '企业称',
label: '企业称',
result: '',
value: info.companyName,
path: '',
tip: 'slot-name',
placeholder: '请输入企业称',
placeholder: '请输入企业称',
fontSize: '16px',
type: 'slot',
pColumn: 10,
@ -223,7 +223,7 @@ export default {
this.info.agencyName = e;
} else if (item.label == "申请人名称") {
this.info.userName = e;
} else if (item.label == "企业称") {
} else if (item.label == "企业称") {
this.info.companyName = e;
}
},

@ -209,20 +209,20 @@ export default {
},
{
icon: "",
label: "企业称",
result: that.info.agencyName || "请输入企业称",
label: "企业称",
result: that.info.agencyName || "请输入企业称",
value: that.info.agencyName || "",
fontColor: !that.info.agencyName ? "g_c_9" : "g_c_3",
path: "/root/person/change?label=企业称&fieldName=agencyName&value=" + that.info.agencyName || "",
path: "/root/person/change?label=企业称&fieldName=agencyName&value=" + that.info.agencyName || "",
tip: "user-name",
placeholder: "请输入企业称",
placeholder: "请输入企业称",
fontSize: "16px",
type: "text",
pColumn: 19,
pRow: 12,
require: false,
params: {
label: "企业称",
label: "企业称",
fieldName: "agencyName",
},
},

@ -1,204 +1,154 @@
<template>
<div class="g_bg_page g_pl_10 g_pr_10">
<div class="g_h_20"></div>
<div class="g_mb_10 g_fs_18 g_pl_10">{{ beFllowAgencyInfo.inviteUserName || "-" }}邀请你关注他的发单号</div>
<div class="r_box g_pt_24 g_text_c g_pl_20 g_pr_20">
<div class="g_pb_16">
<img class="g_h_80 g_w_80 g_radius_50" :src="beFllowAgencyInfo.logo || 'https://matripe-cms.oss-cn-beijing.aliyuncs.com/dailibaoming/APP/default.svg'" alt="" />
<div class="g_fs_20 g_mt_12 g_mb_12 g_fw_600">
{{ beFllowAgencyInfo.fullName || "-" }}
</div>
<div class="g_c_9 g_fs_14">
{{ beFllowAgencyInfo.desp || "-" }}
</div>
</div>
<div class="g_flex_row_between g_pb_12 g_pt_12" style="border-top: 1rpx dotted #eee">
<div v-for="item in numList" class="g_flex_row_center flex_end">
<div class="g_fs_20 g_fw_600">{{ item.num }}</div>
<div class="g_fs_14 g_c_9">{{ item.label }}</div>
</div>
</div>
</div>
<div class="g_mt_30">
<div class="g_fs_18 g_mb_8 g_pl_12">填写企业简称:</div>
<div class="r_box g_pl_10">
<u-input v-model="agencyInfo.fullName" :customStyle="{ color: disabled ? '#999' : '#333' }" :disabled="disabled" height="88" placeholder="区域+名称,如:上海发财劳务"></u-input>
</div>
<div class="g_fs_12 g_c_9 g_mt_6 g_pl_12">设置后系统将自动创建团队并关注该发单号您作为创建人可在我的页面管理团队</div>
</div>
<div class="g_mt_84">
<quickLogin @successLogin="successLogin" v-if="!agencyInfo.id">
<g-button btnText="申请关注" type="primary" class=""></g-button>
</quickLogin>
<g-button v-else-if="isSelf" btnText="不能关注自己" type="disabled"></g-button>
<div v-else>
<g-button v-if="beFllowAgencyInfo.recordStatus == 1" btnText="已关注" type="disabled" class=""></g-button>
<g-button v-else-if="beFllowAgencyInfo.recordStatus == 2" btnText="互相关注" type="disabled" class=""></g-button>
<g-button v-else-if="(beFllowAgencyInfo.recordStatus == 3 || beFllowAgencyInfo.recordStatus == 4) && !isSelf" btnText="申请关注" type="primary" class="" @clickBtn="applyAdd"></g-button>
<g-button v-else-if="beFllowAgencyInfo.recordStatus == 5" btnText="等待通过" type="disabled" class=""></g-button>
<g-button v-else-if="beFllowAgencyInfo.recordStatus == 6 && !isSelf" btnText="申请关注" type="primary" class="" @clickBtn="applyAdd"></g-button>
</div>
</div>
</div>
<view class="p-root-person-pwdForget g_w_all g_h_all g_bg_f_5 g_kuaishou">
<view class="g_pt_16 g_mb_24">
<g-panel-form-slot :list='[
{
icon:"",
label:"手机号",
result:tel,
path:"",
tip:"mobile",
type:"slot",
},
{
icon:"",
label:"验证码",
result:"",
path:"",
tip:"slot-code",
value:code,
type:"slot",
placeholder:"输入验证码",
pColumn:12
},
]'
@changeCode="getCode"
>
</g-panel-form-slot>
</view>
<view class="">
<g-panel-form-slot :list='[
{
icon:"",
label:"新密码",
result:"",
path:"",
tip:"slot-new-pwd",
value:newPwd,
type:"slot",
placeholder:"请输入新密码",
pColumn:12
},
{
icon:"",
label:"确认密码",
result:"",
path:"",
tip:"slot-confirm-pwd",
value:confirmPwd,
type:"slot",
placeholder:"再次输入新密码",
pColumn:12
},
]'
@changeNewPwd="getNewPwd"
@changeConfirmPwd="getConfirmPwd"
>
</g-panel-form-slot>
</view>
<view class="g_pt_90 g_flex_row_center">
<g-button btnText='修改密码' type='primary' @clickBtn='submitForm' />
</view>
</view>
</template>
<script>
import quickLogin from "../../components/quickLogin.vue";
export default {
components: {
quickLogin,
},
data() {
return {
beFllowAgencyInfo: {
agencyName: "",
fullName: "",
export default{
onReady() {
this.G.setNavStyle();
},
onShareAppMessage(){
return this.G.shareFun();
},
data(){
return{
tel:uni.getStorageSync("apply-tel"),
code:"",
newPwd:"",
confirmPwd:"",
}
},
methods:{
getCode(e){
this.code = e;
},
info: {},
agencyInfo: {
fullName: "",
}, //
userInfo: {
userName: "",
userId: "",
getNewPwd(e){
this.newPwd = e;
},
numList: [
{ label: "总职位", num: "-" },
{ label: "最近更新", num: "-" },
{ label: "粉丝", num: "-" },
],
inviteUserId: "",
uid: "",
ing: false,
scene: "",
isSelf: false,
disabled: false,
};
},
onLoad(options) {
let that = this;
console.log(options);
// options.scene = "id=3087_101125";
if (options.scene) {
console.log("XXXXXXXXXXXX");
//
this.scene = options.scene;
var sceneStr = decodeURIComponent(options.scene);
var sceneJson = this.G.sceneToJson(sceneStr);
console.log("sceneJson===", sceneJson);
this.inviteUserId = sceneJson.id.split("_")[1]; //id
this.uid = sceneJson.id.split("_")[0]; // id
}
},
onShow() {
let that = this;
that.G.Get("/checkUserLogin", {}, (res) => {
console.log("checkUserLogin", res);
if (res) {
that.getAgencyInfo().then(() => {
that.getAgencyById();
});
} else {
that.getAgencyById();
}
});
},
created() {},
methods: {
applyAdd() {
let that = this;
if (!this.agencyInfo.fullName) {
uni.showToast({
title: "请输入企业简称",
icon: "none",
});
return;
}
if (this.ing) {
return;
}
that.ing = true;
let _code = 1; //
// if (this.from == "friend") {
// _code = 2; //
// } else {
if (this.scene) {
_code = 3; //
} else {
_code = 1; //
}
// }
return new Promise((reso) => {
this.G.Get(this.api.bind_subscribeSubmit + "/" + that.uid, { agencyId: that.agencyInfo.id, agencyName: that.agencyInfo.fullName, source: _code, remark: " " }, (res) => {
getConfirmPwd(e){
this.confirmPwd = e;
},
submitForm(){
let that = this;
if(that.code == ''){
uni.showToast({
title: "申请成功",
icon: "none",
});
uni.navigateTo({
url: "/root/person/inviteFollowSuccess",
});
reso();
// that.checkHasApply();
console.log(res);
});
});
},
getAgencyById() {
let that = this;
return new Promise((reso, reject) => {
this.G.Get(this.api.order_getAgencyByIdForApply, { agencyId: that.uid, inviteUserId: this.inviteUserId }, (res) => {
console.log("resresresresresres++++++++++++++", res);
that.beFllowAgencyInfo = res;
if (res.id == that.agencyInfo.id) {
that.isSelf = true;
}
that.numList = [
{ label: "总职位", num: res.jobNum },
{ label: "最近更新", num: res.recruitmentJobNum },
{ label: "粉丝", num: res.downNum },
];
reso();
});
});
},
successLogin(e) {
let that = this;
console.log("successLogin", e);
this.getAgencyInfo().then(() => {
that.getAgencyById().then(() => {
if (that.beFllowAgencyInfo.recordStatus == 3 || that.beFllowAgencyInfo.recordStatus == 4 || that.beFllowAgencyInfo.recordStatus == 6) {
that.applyAdd();
} else {
if (that.beFllowAgencyInfo.recordStatus == 5) {
uni.showToast({
title: "已发起关注申请, 正在等待通过",
icon: "none",
title:'请输入验证码',
icon:'none'
})
return false;
};
if(that.newPwd == ''){
uni.showToast({
title:'请输入新密码',
icon:'none'
})
return false;
};
if(that.confirmPwd == ''){
uni.showToast({
title:'请再次输入新密码',
icon:'none'
})
return false;
};
if(that.confirmPwd != that.newPwd){
uni.showToast({
title:'前后密码不一致',
icon:'none'
})
return false;
};
that.G.Get(that.api.user_changeForgetPwd,{
tel: uni.getStorageSync("apply-tel"),
code: that.code,
password: that.newPwd
},()=>{
uni.showToast({
title:'修改成功',
icon:'success'
})
setTimeout(()=>{
that.G.Get(that.api.login_out,{},()=>{
that.G.clearLocalStorage();
let params = {
path:'',
level:"",
}
uni.reLaunch({
url: '/pages/login/index?' + that.G.objToStr(params)
});
}
}
});
});
},
getAgencyInfo() {
let that = this;
return new Promise((reso, reject) => {
that.G.Get(that.api.login_agencyInfo, {}, (aRes) => {
console.log("获取团队信息:", aRes);
that.disabled = aRes.agency.fullName ? true : false;
that.agencyInfo = { ...aRes.agency, fullName: aRes.agency.fullName ? aRes.agency.fullName : that.agencyInfo.fullName };
uni.setStorageSync("agencyInfo", aRes.agency);
setTimeout(() => {
reso();
}, 200);
});
});
},
},
};
})
},1500)
})
},
goPage(){
uni.navigateTo({
url:'/root/person/pwdForget'
})
}
}
}
</script>
<style></style>
<style>
</style>

@ -1,170 +1,154 @@
<template>
<view class="p-root-person-pwdLogin g_w_all g_h_all g_bg_f_5 g_kuaishou">
<view class="g_pt_16">
<g-panel-form-slot :list='[
<g-panel-form-slot
:list="[
{
icon:"",
label:"原密码",
result:"",
path:"",
tip:"old-pwd",
type:"slot",
pColumn:12,
flexSlot:"1"
icon: '',
label: '原密码',
result: '',
path: '',
tip: 'old-pwd',
type: 'slot',
pColumn: 12,
flexSlot: '1',
},
]'
]"
>
<slot>
<!-- #ifdef APP-PLUS || H5 || MP-TOUTIAO || MP-KUAISHOU -->
<u-input type="text"
:clearable="false"
:password-icon="false"
placeholder="请输入原密码"
input-align="right"
class="g_text_r"
placeholder-style="color:#999999;font-size:32rpx;line-height:1"
v-model="oldPwd"
style="width: calc(100vw - (106px);flex: none;"
/>
<u-input type="text" :clearable="false" :password-icon="false" placeholder="请输入原密码" input-align="right" class="g_text_r" placeholder-style="color:#999999;font-size:32rpx;line-height:1" v-model="oldPwd" style="width: calc(100vw - (106px);flex: none;" />
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<u-input type="text"
:clearable="false"
:password-icon="false"
placeholder="请输入原密码"
input-align="right"
class="g_text_r g_w_all"
placeholder-style="color:#999999;font-size:32rpx;line-height:1"
v-model="oldPwd"
/>
<u-input type="text" :clearable="false" :password-icon="false" placeholder="请输入原密码" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999999;font-size:32rpx;line-height:1" v-model="oldPwd" />
<!-- #endif -->
</slot>
</g-panel-form-slot>
</view>
<view class="g_flex_row_end g_pr_20 g_mt_8 g_fs_14 g_mb_24" style="color: #576B95;"
@click="goPage"
>
忘记原密码
</view>
<view class="g_flex_row_end g_pr_20 g_mt_8 g_fs_14 g_mb_24" style="color: #576b95" ref="" @click="goPage"> </view>
<view class="">
<g-panel-form-slot :list='[
<g-panel-form-slot
:list="[
{
icon:"",
label:"新密码",
result:"",
path:"",
tip:"slot-new-pwd",
value:newPwd,
type:"slot",
placeholder:"请输入新密码",
pColumn:12
icon: '',
label: '新密码',
result: '',
path: '',
tip: 'slot-new-pwd',
value: newPwd,
type: 'slot',
placeholder: '请输入新密码',
pColumn: 12,
},
{
icon:"",
label:"确认密码",
result:"",
path:"",
tip:"slot-confirm-pwd",
value:confirmPwd,
type:"slot",
placeholder:"再次输入新密码",
pColumn:12
icon: '',
label: '确认密码',
result: '',
path: '',
tip: 'slot-confirm-pwd',
value: confirmPwd,
type: 'slot',
placeholder: '再次输入新密码',
pColumn: 12,
},
]'
]"
@changeNewPwd="getNewPwd"
@changeConfirmPwd="getConfirmPwd"
>
</g-panel-form-slot>
</view>
</view>
<view class="g_pt_90 g_flex_row_center">
<g-button btnText='修改密码' type='primary' @clickBtn='submitForm' />
<g-button btnText="修改密码" type="primary" @clickBtn="submitForm" />
</view>
</view>
</view>
</template>
<script>
export default{
onReady() {
this.G.setNavStyle();
export default {
onReady() {
this.G.setNavStyle();
},
onShareAppMessage() {
return this.G.shareFun();
},
data() {
return {
oldPwd: "",
newPwd: "",
confirmPwd: "",
};
},
methods: {
getNewPwd(e) {
this.newPwd = e;
},
onShareAppMessage(){
return this.G.shareFun();
getConfirmPwd(e) {
this.confirmPwd = e;
},
data(){
return{
oldPwd:"",
newPwd:"",
confirmPwd:"",
submitForm() {
let that = this;
if (that.oldPwd == "") {
uni.showToast({
title: "请输入原密码",
icon: "none",
});
return false;
}
},
methods:{
getNewPwd(e){
this.newPwd = e;
},
getConfirmPwd(e){
this.confirmPwd = e;
},
submitForm(){
let that = this;
if(that.oldPwd == ''){
uni.showToast({
title:'请输入原密码',
icon:'none'
})
return false;
};
if(that.newPwd == ''){
uni.showToast({
title:'请输入新密码',
icon:'none'
})
return false;
};
if(that.confirmPwd == ''){
uni.showToast({
title:'请再次输入新密码',
icon:'none'
})
return false;
};
if(that.confirmPwd != that.newPwd){
uni.showToast({
title:'前后密码不一致',
icon:'none'
})
return false;
};
that.G.Post(that.api.user_changeLoginPwd,{
if (that.newPwd == "") {
uni.showToast({
title: "请输入新密码",
icon: "none",
});
return false;
}
if (that.confirmPwd == "") {
uni.showToast({
title: "请再次输入新密码",
icon: "none",
});
return false;
}
if (that.confirmPwd != that.newPwd) {
uni.showToast({
title: "前后密码不一致",
icon: "none",
});
return false;
}
that.G.Post(
that.api.user_changeLoginPwd,
{
tel: uni.getStorageSync("apply-tel"),
oldPassword: that.oldPwd,
password: that.newPwd
},()=>{
password: that.newPwd,
},
() => {
uni.showToast({
title:'修改成功',
icon:'success'
})
setTimeout(()=>{
that.G.Get(that.api.login_out,{},()=>{
title: "修改成功",
icon: "success",
});
setTimeout(() => {
that.G.Get(that.api.login_out, {}, () => {
that.G.clearLocalStorage();
let params = {
path:'',
level:"",
}
path: "",
level: "",
};
uni.reLaunch({
url: '/pages/login/index?' + that.G.objToStr(params)
url: "/pages/login/index?" + that.G.objToStr(params),
});
})
},1500)
})
},
goPage(){
uni.navigateTo({
url:'/root/person/pwdForget'
})
},
}
}
});
}, 1500);
}
);
},
goPage() {
uni.navigateTo({
url: "/root/person/pwdForget",
});
},
},
};
</script>
<style>
</style>
<style></style>

@ -53,7 +53,7 @@
},
{
icon: '',
label: '关于发单助手',
label: '关于报名助手',
result: '版本' + version,
path: '/root/person/about',
tip: 'about',

@ -25,7 +25,7 @@
</div>
<div class="g_h_24"></div>
<div class="g_pb_40" v-if="memberList.length > 0">
<g-button btnText="添加成员" class="" @clickBtn="addMember"></g-button>
<g-button icon="icon-tianjia g_fsi_16 g_mr_8" btnText="添加成员" class="" @clickBtn="addMember"></g-button>
</div>
</div>
</scroll-view>

@ -2,7 +2,7 @@
// margin: 0;
// padding: 0;
// }
$filter_bg_color: #e3ecfd;
$filter_bg_color: #00b66611;
$main_bg_color: #00b666;
$page_bg_color: #f5f5f5;
$main_color: #00b666;

@ -146,7 +146,7 @@ let data = {
// }
} else if (resData.status == 2002) {
uni.showToast({
title: resData.msg,
title:'已切换团队,需要重新登录',
icon: "none"
});
setTimeout(() => {

@ -708,15 +708,15 @@ let data = {
jobList.genderAge = "男女不限" + jobList.minAge + "-" + jobList.maxAge + "岁";
}
//年龄
// var ageStr = "";
// if (that.isNotEmptyCheck(jobList.minAge) && that.isNotEmptyCheck(jobList.maxAge)) {
// ageStr = jobList.minAge + "-" + jobList.maxAge + "岁";
// } else if (that.isNotEmptyCheck(jobList.minAge)) {
// ageStr = jobList.minAge + "岁以上";
// } else if (that.isNotEmptyCheck(jobList.maxAge)) {
// ageStr = jobList.maxAge + "岁以下";
// }
// jobList["age"] = ageStr;
var ageStr = "";
if (that.isNotEmptyCheck(jobList.minAge) && that.isNotEmptyCheck(jobList.maxAge)) {
ageStr = jobList.minAge + "-" + jobList.maxAge + "岁";
} else if (that.isNotEmptyCheck(jobList.minAge)) {
ageStr = jobList.minAge + "岁以上";
} else if (that.isNotEmptyCheck(jobList.maxAge)) {
ageStr = jobList.maxAge + "岁以下";
}
jobList["age"] = ageStr;
if (jobList.returnFeeType) {
if (jobList.returnFeeType === 0) {
jobList.servetype = `${jobList.returnFee || "--"}元/小时`;

Loading…
Cancel
Save