组件替换

cyl/master-apply
jscyl13849007907 2 months ago
parent adc84294ce
commit 98bdd5b05e

@ -71,7 +71,7 @@
<view v-if="allowClick && false">
<view class="g_h_100"></view>
<g-panel-fixed>
<rh-fixed>
<slot>
<view class="g_flex_row_center">
<!-- #ifdef APP-PLUS -->
@ -89,7 +89,7 @@
<!-- #endif -->
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</view>
<!-- #ifdef MP-WEIXIN -->
<canvas type="2d" style="position: absolute; left: -2000px; width: 425px; height: 350px; background: #fff" id="canvasId" ref="canvasId"></canvas>

@ -1,65 +0,0 @@
<template>
<view
:style="{
'padding':pad + 'px',
'background-color':bg,
}"
:class="'g_radius_' + radius"
>
<image :src="url ? url : localBaseImg + 'default.svg'"
:class="'g_radius_' + radius"
:style="{
'width':(size / 2) + 'px',
'height':(size / 2) + 'px',
}"
@click="handleClick"
></image>
</view>
</template>
<script>
/*
* @params url 图片路径
* @params size 尺寸
* @params radius 圆度值
*/
export default{
data(){
return{
localBaseImg:this.G.store().localBaseImg,
}
},
props:{
url:{
type:String,
default(){
return '';
}
},
size:{
default(){
return 48;
}
},
radius:{
default(){
return 50;
}
},
pad:{
default:0
},
bg:{
default:'none'
}
},
methods:{
handleClick(){
this.$emit('clickItem')
}
}
}
</script>
<style>
</style>

@ -1,35 +0,0 @@
<template>
<view class="g-components-panel-fixed" :style="{ backgroundColor }" :class="[border ? 'g_border_e_t' : '']">
<slot></slot>
</view>
</template>
<script>
export default {
props: {
border: {
type: Boolean,
default: true,
},
backgroundColor: {
type: String,
default: "#fff",
},
},
};
</script>
<style>
.g-components-panel-fixed {
position: fixed;
width: 100%;
bottom: 0;
left: 0;
padding-top: 12px;
padding-bottom: calc(constant(safe-area-inset-bottom)); /*兼容 IOS<11.2*/
padding-bottom: calc(env(safe-area-inset-bottom)); /*兼容 IOS>11.2*/
min-height: 72px;
z-index: 999;
box-sizing: border-box;
}
</style>

@ -1,794 +0,0 @@
<template>
<div class="g-components-item">
<div class="m-set g_bg_f g_radius_8" :style="{ overflow: 'hidden' }">
<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',
}"
v-if="item"
>
<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,
}"
>
{{ 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.value" @input="(e) => handleCode(e, item, index)" />
</div>
<div
class="btn-text g_flex_c g_flex_none"
@click="handleSendMsg(item.tel, item.verifyTel)"
:style="{
'background-color': msgCode.countdown >= 0 && msgCode.countdown < 60 ? '#dddddd' : '#00b666',
}"
>
<button class="btn-con g_fs_14 g_c_9 g_flex_row_center" style="width: 100px">{{ 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" @input="(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" @input="(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" @input="(e) => handleIDcard(e, item, index)" @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="" v-if="item.tip == 'slot-choose&input-address'">
<view v-if="item.uneditable" class="g_br_6 g_text_r g_pt_8 g_pb_8">
{{ item.value || "-" }}
</view>
<view class="form-new-choose g_flex_rowRight_columnCenter" v-else>
<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>
</view>
</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-time :timeval="item.value" :from="item.from" @confirmChooseTime="handleMianshi" />
<!-- <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>
</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>
<div
v-if="
list.filter((item) => {
return item && item.tip == 'slot-caiwu';
}).length
"
@click="caiwuToggle = !caiwuToggle"
style="height: 45px"
class="g_flex_column_center tog"
>
<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>
</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">
<div class="g_fs_18 g_c_3 g_flex_row_center g_pt_16">选择政策</div>
<scroll-view scroll-y="true" style="height: 710rpx">
<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 ? '#6A81FF' : '#fff',
}"
></i>
</div>
</div>
</div>
</scroll-view>
<g-panel-fixed>
<slot>
<div class="g_flex_row_center">
<rh-button primaryColor="#00b666" btnText="确定" type="primary" @clickBtn="submitZhengce" />
</div>
</slot>
</g-panel-fixed>
</u-popup>
</div>
</template>
<script>
/* item
* 示例我的页面中的设置展示UI
*/
import { nationlist } from "../../utils/nation.js";
export default {
data() {
return {
cdnBaseImg: 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/dailibaoming/',
localBaseImg: 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/dailibaoming/APP/',
msgCode: {
//
code: "",
btnText: "获取验证码", // 6s
countdown: -1,
timer: null,
},
nationData: {
list: null,
index: 0,
},
sexList: [
{
name: "男",
tip: 1,
mr: 24,
},
{
name: "女",
tip: 2,
mr: 0,
},
],
caiwuToggle: false,
zhengceModal: {
isShow: false,
},
zhengceList: [],
chooseImg: { chooseImgShow: false, type: "" }, //
};
},
props: {
list: {
type: Array,
default: () => {
return [];
},
},
defaultOption: {
type: Array,
default: () => {
return [];
},
},
jobInfo: {
type: Number,
default: 0,
},
},
created() {
this.localBaseImg = 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/dailibaoming/APP/';
this.nationData.list = nationlist.map((item, index) => {
return item.name;
});
this.zhengceList = this.defaultOption;
},
watch: {
defaultOption(val) {
this.zhengceList = val;
},
},
onHide() {
if (this.msgCode.timer) {
clearInterval(this.msgCode.timer);
}
},
methods: {
//
handleCode(e, $item, $index) {
this.$emit("changeCode", e);
},
//
handleNewPwd(e, $item, $index) {
this.$emit("changeNewPwd", e);
},
handleChangeNewPwd(e, $item, $index) {
// this.$emit("changeNewPwd", e);
console.log(e);
},
//
handleConfirmPwd(e, $item, $index) {
this.$emit("changeConfirmPwd", e);
},
//
handleName(e, $item, $index) {
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) {
console.log("性别选择", e);
$item.value = e;
this.$emit("changeSex", e);
},
//
handleAge(e, $item, $index) {
this.$emit("changeAge", e);
},
//
handleNation(e, $item, $index) {
let that = this;
that.list.filter((item, index) => {
return index == $index;
})[0].value = that.nationData.list[e.detail.value];
that.list.filter((item, index) => {
return index == $index;
})[0].nationIndex = e.detail.value;
that.$emit("changeNation", {
e: e,
name: that.nationData.list[e.detail.value],
index: e.detail.value,
});
},
//
handleIDcard(e, $item, $index) {
console.log("123123132", e);
this.$emit("changeIDcard", e);
},
//
handleAddress(e, $item, $index) {
console.log("eeeeeeeee", e);
this.$emit("changeAddress", e);
},
//
handleMoreWord(e, $item, $index) {
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(_item) {
let that = this;
console.log(_item);
let obj = {};
if (_item.addressDetail) {
obj = {
latitude: _item.addressDetail.latitude,
longitude: _item.addressDetail.longitude,
};
}
// #ifdef MP-WEIXIN
uni.chooseLocation({
...obj,
success(e) {
console.log(e);
let res = {};
var reg = /.+?(省|市|自治区|自治州|县|区)/g; //
if (e.address) {
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) {
console.log("err", e);
},
});
// #endif
// #ifdef APP-PLUS
that.$emit("chooseAddress", {
district: "",
address: "",
addressName: "",
lat: "",
lng: "",
});
// #endif
},
//
handleSendMsg(tel, verifyTel) {
let that = this;
if (this.msgCode.countdown > 0 || !that.G.setReg(tel, "tel")) {
if (!that.G.setReg(tel, "tel")) {
uni.showToast({
icon: "none",
title: "请输入正确的手机号",
});
}
return;
}
if (verifyTel && verifyTel != tel) {
uni.showToast({
icon: "none",
title: "请输入对应的手机号",
});
return;
}
that.G.Get(
that.api.login_sendMsg,
{
tel: tel,
type: "assistant",
},
(res) => {
that.msgCode.countdown = 59;
that.msgCode.btnText = that.msgCode.countdown + "s";
clearInterval(that.msgCode.timer);
that.msgCode.timer = setInterval(() => {
if (that.msgCode.countdown > 0) {
that.msgCode.countdown--;
that.msgCode.btnText = that.msgCode.countdown + "s";
} else {
clearInterval(that.msgCode.timer);
that.msgCode.timer = null;
that.msgCode.btnText = "获取验证码";
}
}, 1000);
}
);
},
//
updateImg(sourceType) {
let that = this;
console.log("updateImg");
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");
}
},
//
uploadQRCode() {
let that = this;
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;
})
.forEach((item, index) => {
item.isSelected = true;
});
that.zhengceModal.isShow = true;
},
handleChooseZhengce($item, $index) {
let that = this;
that.zhengceList.forEach((item, index) => {
if (index == $index) {
if (item.isSelected) {
item.isSelected = false;
} else {
item.isSelected = true;
}
} else {
item.isSelected = false;
}
});
},
submitZhengce() {
let that = this;
let ids = [];
ids = that.zhengceList
.filter((item) => {
return item.isSelected;
})
.map((item) => {
return item.id;
});
if (ids.length == 0) {
uni.showToast({
title: "请选择一个政策",
icon: "none",
});
return false;
}
that.zhengceModal.isShow = false;
that.$emit("updateZhengce", {
onSiteUserIds: ids.join(","),
item: that.zhengceList.filter((item) => {
return item.isSelected;
})[0],
});
},
handleStartChangeAvatar(e) {
let that = this;
console.log(e);
that.G.uploadTmpImg(e.detail.avatarUrl, (res) => {
console.log("微信:", res.image);
that.$emit("updateImg", res.image);
});
},
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.image);
that.$emit("updateImg", res.image);
},
"default",
1,
$type
);
},
handleResult(e) {
this.$emit("clickResult", e);
},
handleMobile(e, $item, $index) {
this.$emit("changeMobile", e, $item);
},
handleMianshi(e, $item, $index) {
this.$emit("changeTime", e);
},
},
};
</script>
<style lang="scss">
.g-components-item {
.m-set {
width: calc(100% - 40rpx);
margin: 0 auto;
.item {
position: relative;
// border-bottom: 1rpx solid #eee;
&:after {
content: "";
position: absolute;
bottom: 0;
left: 10px;
border-bottom: 1rpx solid #eee;
height: 1rpx solid #eee;
width: calc(100% - 20px);
}
&:last-child {
border-bottom: none;
&:after {
content: none;
}
}
}
.labelRequire {
position: relative;
&::after {
position: absolute;
right: -8px;
top: 50%;
transform: translateY(-50%);
content: "*";
color: #ff4400;
}
}
.customRequire {
&::after {
// top: 4px;
}
}
}
.btn-text {
background-color: #00b666;
text-align: center;
border-radius: 126px;
.btn-con {
// border-left: 1rpx solid #eee;
// padding: 0 0 0 16px;
background-color: transparent;
border-radius: 0;
height: 40rpx;
line-height: 40rpx;
color: #fff;
}
}
}
.icon_up {
transform: rotate(90deg);
}
.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>

@ -3,7 +3,7 @@
<view class="m-info g_flex_row_between g_p_16 g_bg_f g_m_10 g_radius_8" hover-class="thover" style="margin-top: 0" @click="handleClick">
<view class="g_flex_1 g_flex_row_start">
<view class="g_flex_none g_flex_column_center">
<g-panel-image :radius="radius" :size="info.imgSize ? info.imgSize : 112" :url="info.avatar" />
<rh-image :radius="radius" :size="info.imgSize ? info.imgSize : 112" :url="info.avatar" />
</view>
<view class="g_flex_1 g_ml_11 g_flex_column_between">
<view class="">
@ -43,7 +43,7 @@
<i class="iconfont icon-gengduo11 g_c_c"></i>
</view>
<view class="g_flex_none g_flex_column_center" v-if="isShowMore == 1 && rightType == 'image' && rightImage">
<g-panel-image :radius="radius" size="56" :url="rightImage" />
<rh-image :radius="radius" size="56" :url="rightImage" />
</view>
<view class="g_flex_none g_flex_column_center" v-if="isShowMore == 1 && rightType == 'button'">
<view class="g_flex_c g_radius_14 g_pt_4 g_pb_4 g_pr_8 g_pl_10" style="border: 1px solid #00b666" @click="goForm">

@ -11,15 +11,12 @@ import apiInfo from './api/index.js';
import gLoading from './components/loading.vue';
import gListJob from './components/list/job.vue';
import gListApply from './components/list/apply.vue';
import gPanelImage from './components/panel/defaultImage.vue';
import gPanelFormItem from './components/panel/formItem.vue';
import gPanelFormSlot from './components/panel/formSlot.vue';
import gPanelCardNum from './components/panel/numCard.vue';
import gPanelCardInfo from './components/panel/infoCard.vue';
import gPanelHr from './components/panel/hr.vue';
import gPanelDetailItem from './components/panel/detailItem.vue';
import gPanelTime from './components/panel/time.vue';
import gPanelFixed from './components/panel/fixed.vue';
import gFilter from './pages/home/child/filter.vue';
import { createSSRApp } from 'vue'
export function createApp () {
@ -30,15 +27,12 @@ export function createApp () {
app.component('g-loading', gLoading);
app.component('g-list-job', gListJob);
app.component('g-list-apply', gListApply);
app.component('g-panel-image', gPanelImage);
app.component('g-panel-form-item', gPanelFormItem);
app.component('g-panel-form-slot', gPanelFormSlot);
app.component('g-panel-card-num', gPanelCardNum);
app.component('g-panel-card-info', gPanelCardInfo);
app.component('g-panel-hr', gPanelHr);
app.component('g-panel-detail-item', gPanelDetailItem);
app.component('g-panel-time', gPanelTime);
app.component('g-panel-fixed', gPanelFixed);
app.component('g-filter', gFilter);
app.config.globalProperties.api = apiInfo;

@ -106,11 +106,11 @@
</scroll-view>
<div hover-class="none" class="iconfont icon-huidaodingbu g_bg_f g_c_main g_w_48 g_h_48 g_radius_50 g_text_c" style="position: fixed; right: 20px; bottom: 20px; z-index: 0; box-shadow: 0px 0px 12px 4px rgba(0, 0, 0, 0.1); line-height: 48px; font-size: 24px" hover-stop-propagation="false" @click="backToTop" v-if="showToTop">
<!-- <g-panel-image :url="cdnBaseImg + 'quick_application0610.svg'" size="96" /> -->
<!-- <rh-image :url="cdnBaseImg + 'quick_application0610.svg'" size="96" /> -->
</div>
<!-- <div hover-class="none" style="position: fixed; right: 20px; bottom: 120px; z-index: 0" hover-stop-propagation="false" @click="toRecord" v-if="isLogin && userInfo.agencyId">
<g-panel-image :url="cdnBaseImg + 'quick_application0610.svg'" size="96" />
<rh-image :url="cdnBaseImg + 'quick_application0610.svg'" size="96" />
</div> -->
<g-filter :show.sync="whichOneShow" @hideDrawer="(e) => (whichOneShow = e)" ref="filterChild" top="43px" :getFilterDataNew="getFilterData" @filterObj="receiveFromChild"></g-filter>
@ -124,7 +124,7 @@
<div v-for="(item, index) in attentionList" :class="item.checked ? 'g_bg_e7' : 'g_bg_f_5'" class="g_h_140 g_mb_12 g_mr_12 g_radius_6 g_position_rela" style="width: calc(33% - 12px)" :key="index" @click="checkChange(item)">
<u-checkbox shape="circle" class="g_position_abso g_w_18" style="right: 8px; top: 8px" active-color="#00B666" v-model="item.checked"></u-checkbox>
<div class="logo g_mt_32 g_mb_12">
<g-panel-image class :url="item.logo" size="96" />
<rh-image class :url="item.logo" size="96" />
</div>
<div class="g_fs_14">{{ item.agencyName }}</div>
</div>

@ -49,7 +49,7 @@
<view v-if="speed > 0 || inviteNum > 0">
<view v-if="inviteNum > 0" class="item g_flex_row_between flex_center g_pl_16 g_pr_16 g_pb_12 g_pt_12 g_bg_f g_border_e_b" @click="goInviteList">
<view class="g_flex_row_start flex_center">
<g-panel-image size="96" radius="6" />
<rh-image size="96" radius="6" />
<view class="g_ml_16">
<view class="g_ell_1 g_fs_18 g_c_0 g_flex_none" style="max-width: 460rpx">关注邀请</view>
<view class="g_mt_4 g_text_c">{{ inviteNum }}个发单号向你发出邀请</view>
@ -62,7 +62,7 @@
<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_6 ' : ''" :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://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/dailibaoming/qiyelogo0610.svg'" size="96" radius="50" />
<rh-image :url="item.logo || 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/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 class="g_flex_c" style="position: absolute; overflow: hidden; width: 20px; height: 10px; right: -2px; top: 0px">

@ -6,7 +6,7 @@
<view class="g_w_71">
<view class="u-skeleton-fillet g_w_71 g_h_71" v-if="loading"></view>
<view class="g_position_abso g_p_4 g_radius_13 g_bg_f" v-else style="top: -20px">
<g-panel-image :radius="13" :size="134" :url="userInfo.avatar" />
<rh-image :radius="13" :size="134" :url="userInfo.avatar" />
</view>
</view>
<view class="g_flex_1 g_ml_11">

@ -28,8 +28,8 @@
hover-class="thover"
>
<view class="g_flex_none g_mr_11 m-avatar" style="position: relative;">
<g-panel-image :url="itm.logo" size='96' radius="6" v-if="itm.logo" />
<g-panel-image size='96' radius="6" v-if="!itm.logo" />
<rh-image :url="itm.logo" size='96' radius="6" v-if="itm.logo" />
<rh-image size='96' radius="6" v-if="!itm.logo" />
<view class="g_flex_c"
v-if="itm.supplierAccount == 1"

@ -35,8 +35,8 @@
</u-sticky>
<view class="g_flex_row_start g_pt_12 g_pl_16 g_pr_16 g_bg_f" v-for="(itm, inx) in item.children" :key="inx" @click="goPage(itm, item)" hover-class="thover" :style="{ 'border-bottom': inx == item.children.length - 1 ? '1rpx solid #eee' : '1rpx solid #eee' }">
<view class="g_flex_none g_mr_11 m-avatar" style="position: relative">
<g-panel-image :url="itm.logo" size="96" radius="6" v-if="itm.logo" />
<g-panel-image size="96" radius="6" v-if="!itm.logo" />
<rh-image :url="itm.logo" size="96" radius="6" v-if="itm.logo" />
<rh-image size="96" radius="6" v-if="!itm.logo" />
<view class="g_flex_c" v-if="itm.supplierAccount == 1" style="position: absolute; overflow: hidden; width: 20px; height: 10px; right: -2px; top: 0">
<image :src="cdnBaseImg + 'fadanhao.svg'" mode="widthFix" style="width: 16px; height: 13px"></image>
@ -82,8 +82,8 @@
<view class="item g_flex_row_between g_pl_16 g_pr_16 g_pb_6 g_pt_6 g_bg_f" hover-class="thover" 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 #eee' : '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" />
<rh-image :url="item.logo" size="96" radius="6" v-if="item.logo" />
<rh-image size="96" radius="6" v-if="!item.logo" />
<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">

@ -54,8 +54,8 @@
<view class="item g_flex_row_between g_pl_16 g_pr_16 g_pb_6 g_pt_6 g_bg_f" hover-class="thover" 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" />
<rh-image :url="item.logo" size="96" radius="6" v-if="item.logo" />
<rh-image size="96" radius="6" v-if="!item.logo" />
<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">

@ -71,7 +71,7 @@
<view v-if="allowClick">
<view class="g_h_100"></view>
<g-panel-fixed>
<rh-fixed>
<slot>
<view class="g_flex_row_center">
<!-- #ifdef APP-PLUS -->
@ -89,7 +89,7 @@
<!-- #endif -->
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</view>
<!-- #ifdef MP-WEIXIN -->
<canvas type="2d" style="position: absolute; left: -2000px; width: 425px; height: 350px; background: #fff" id="canvasId" ref="canvasId"></canvas>

@ -71,7 +71,7 @@
<view v-if="allowClick && false">
<view class="g_h_100"></view>
<g-panel-fixed>
<rh-fixed>
<slot>
<view class="g_flex_row_center">
<!-- #ifdef APP-PLUS -->
@ -89,7 +89,7 @@
<!-- #endif -->
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</view>
<!-- #ifdef MP-WEIXIN -->
<canvas type="2d" style="position: absolute; left: -2000px; width: 425px; height: 350px; background: #fff" id="canvasId" ref="canvasId"></canvas>

@ -39,7 +39,7 @@
<view v-if="speed > 0 || inviteNum > 0">
<view v-if="inviteNum > 0" class="item g_flex_row_between flex_center g_pl_16 g_pr_16 g_pb_12 g_pt_12 g_bg_f g_border_e_b" @click="goInviteList">
<view class="g_flex_row_start flex_center">
<g-panel-image size="96" radius="6" />
<rh-image size="96" radius="6" />
<view class="g_ml_16">
<view class="g_ell_1 g_fs_18 g_c_0 g_flex_none" style="max-width: 460rpx">关注邀请</view>
<view class="g_mt_4 g_text_c">{{ inviteNum }}个发单号向你发出邀请</view>
@ -52,7 +52,7 @@
<view class="item g_flex_row_between g_pl_16 g_pr_16 g_pb_6 g_pt_6 g_bg_f" hover-class="thover" 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://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/dailibaoming/qiyelogo0610.svg'" size="96" radius="50" />
<rh-image :url="item.logo || 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/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 class="g_flex_c" style="position: absolute; overflow: hidden; width: 20px; height: 10px; right: -2px; top: 0px">

@ -90,10 +90,10 @@
</view>
<view class="g_flex_row_start g_pb_6">
<div v-if="orderDetail.idCardImageUrl" style="margin-right: 8px">
<g-panel-image :url="orderDetail.idCardImageUrl" radius="8" size="152" @clickItem="handleClickIDcard(orderDetail.idCardImageUrl)" />
<rh-image :url="orderDetail.idCardImageUrl" radius="8" size="152" @clickItem="handleClickIDcard(orderDetail.idCardImageUrl)" />
</div>
<div class="g_flex_row_start" v-if="orderDetail.userApplyOrderFiles && orderDetail.userApplyOrderFiles.length > 0">
<g-panel-image v-for="(item, index) in orderDetail.userApplyOrderFiles" :key="index" :url="item.url" radius="8" size="152" @clickItem="handleClickIDcard(item.url)" style="margin-right: 8px"> </g-panel-image>
<rh-image v-for="(item, index) in orderDetail.userApplyOrderFiles" :key="index" :url="item.url" radius="8" size="152" @clickItem="handleClickIDcard(item.url)" style="margin-right: 8px"> </rh-image>
</div>
</view>
</view>
@ -323,13 +323,13 @@
</view>
</view>
</scroll-view>
<g-panel-fixed>
<rh-fixed>
<slot>
<view class="g_flex_row_center">
<rh-button primaryColor='#00b666' btnText="确定" type="primary" @clickBtn="submitRes" />
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</u-popup>
<u-popup v-model="zhengceModal.isShow" mode="bottom" border-radius="16" height="980" :mask-close-able="true">
@ -350,17 +350,17 @@
</view>
</view>
</scroll-view>
<g-panel-fixed>
<rh-fixed>
<slot>
<view class="g_flex_row_center">
<rh-button primaryColor='#00b666' btnText="确定" type="primary" @clickBtn="submitZhengce" />
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</u-popup>
<view class="g_h_104" style="background-color: #ededed"></view>
<!-- <g-panel-fixed style="box-shadow: 0 -4px 12px #ededed">
<!-- <rh-fixed style="box-shadow: 0 -4px 12px #ededed">
<slot>
<view class="g_pl_20 g_pr_20 g_flex_row_center flex_center flex_nw" style="width: 100%">
<view class="g_flex_1 g_flex_column_center">
@ -370,8 +370,8 @@
</view>
</view>
</slot>
</g-panel-fixed> -->
<g-panel-fixed style="box-shadow: 0 -4px 12px #ededed" v-if="(orderDetail.downAgencyId && orderDetail.downAgencyId != agencyId) || (orderDetail.upAgencyId && orderDetail.upAgencyId != agencyId)">
</rh-fixed> -->
<rh-fixed style="box-shadow: 0 -4px 12px #ededed" v-if="(orderDetail.downAgencyId && orderDetail.downAgencyId != agencyId) || (orderDetail.upAgencyId && orderDetail.upAgencyId != agencyId)">
<slot>
<view class="g_ml_20 g_mr_20 g_flex_row_between flex_center flex_nw">
<view class="g_flex_1 g_mr_12">
@ -386,7 +386,7 @@
</view>
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
<!-- <u-popup v-model="shareModal.isShow" mode="bottom" border-radius="16" height="600px" :mask-close-able="true">
<mainPanel :showBg="true" :rid="rid" :oid="oid" :active="1" :name="orderDetail.userName" :job="orderDetail.storeJobName" :recommendList="recommendList[0]" />
</u-popup> -->

@ -2,7 +2,7 @@
<view class="p-root-detail-fellow g_w_all g_h_all g_bg_f_5 g_kuaishou">
<view>
<view class="g_h_10"></view>
<g-panel-form-slot
<rh-form-slot
:list="[
{
icon: '',
@ -105,9 +105,9 @@
</view>
</view>
</template>
</g-panel-form-slot>
</rh-form-slot>
<view class="g_h_10"></view>
<g-panel-form-slot
<rh-form-slot
:list="[
{
icon: '',
@ -123,7 +123,7 @@
},
]"
@changeMobile="handleClickMobile"
></g-panel-form-slot>
></rh-form-slot>
<view class="g_flex_column_between g_flex_1 g_pb_24">
<view class="g_fs_12 g_c_9 g_flex_row_center g_mb_32" style="align-items: center; margin-top: 16px">
<radio-group class="dib">
@ -135,14 +135,14 @@
<navigator url="/root/person/agreePrive" class="g_c_sub">隐私政策</navigator>
</view>
</view>
<g-panel-fixed>
<rh-fixed>
<slot>
<view class="g_pl_12 g_pr_12">
<!-- <rh-button primaryColor='#00b666' btnText="取消" class="g_mr_16" size="small" type="default" @clickBtn="goReturn"></rh-button> -->
<rh-button primaryColor='#00b666' btnText="确定" class @clickBtn="handleSubmit" size="auto" type="primary"></rh-button>
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</view>
</view>
</template>

@ -80,7 +80,7 @@
<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" />
<rh-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>
@ -267,7 +267,7 @@
</div>
<!-- 底部固定操作栏 -->
<div class="g_h_104"></div>
<g-panel-fixed>
<rh-fixed>
<slot>
<div class="g_pl_20 g_pr_20 g_flex_row_center flex_center flex_nw" style="width: 100%">
<!-- #ifdef MP-WEIXIN -->
@ -296,7 +296,7 @@
</div>
</div>
</slot>
</g-panel-fixed>
</rh-fixed>
</div>
<!-- 报名弹窗 -->

@ -280,7 +280,7 @@
<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" />
<rh-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>
@ -478,7 +478,7 @@
</div>
<!-- 底部固定操作栏 -->
<div class="g_h_104"></div>
<g-panel-fixed>
<rh-fixed>
<slot>
<div class="g_pl_20 g_pr_20 g_flex_row_center flex_center flex_nw" style="width: 100%">
<!-- #ifdef MP-WEIXIN -->
@ -520,7 +520,7 @@
</div>
</div>
</slot>
</g-panel-fixed>
</rh-fixed>
</div>
<!-- 报名弹窗 -->

@ -26,7 +26,7 @@
<u-input v-model="applyInfo.globalText" type="textarea" :border="false" :auto-height="true" :maxlength="1000" :height="height" :clearable="false" />
</view>
<view class="g_h_100 g_flex_none g_bg_f_5"></view>
<g-panel-fixed>
<rh-fixed>
<view class="g_flex_row_between">
<view class="g_flex_c" style="width: 50%">
<rh-button primaryColor='#00b666' btnText="取消" type="default" size="small" @clickBtn="goBack"></rh-button>
@ -35,7 +35,7 @@
<rh-button primaryColor='#00b666' btnText="保存" type="primary" size="small" @clickBtn="goReturn"></rh-button>
</view>
</view>
</g-panel-fixed>
</rh-fixed>
</view>
<view class="g_bg_f g_h_all g_flex_column_between g_bg_f_5" v-if="type == 'form'">
<view class="g_h_10 g_flex_none g_bg_f_5"></view>
@ -62,12 +62,12 @@
</view>
</view>
<view class="g_h_100 g_flex_none g_bg_f_5"></view>
<g-panel-fixed>
<rh-fixed>
<view class="g_flex_row_center">
<rh-button primaryColor='#00b666' btnText="取消" type="default" size="small" @clickBtn="goBack"></rh-button>
<rh-button primaryColor='#00b666' btnText="保存" type="primary" size="small" @clickBtn="goReturn" class="g_ml_16"></rh-button>
</view>
</g-panel-fixed>
</rh-fixed>
</view>
</view>
</template>

@ -6,14 +6,14 @@
<view class="g_text_c g_fs_16 g_fw_600" style="background-color: #ffffff;padding-bottom: 32px;">长按图片转发给微信好友</view>
<view v-if="allowClick">
<view class="g_h_100" style="background-color: #ffffff;"></view>
<g-panel-fixed>
<rh-fixed>
<slot>
<view class="g_flex_row_center">
<rh-button primaryColor='#00b666' btnText="保存图片" size="small" type="default" @clickBtn="saveWXImageToAlbum"></rh-button>
<rh-button primaryColor='#00b666' btnText="直接转发" class="g_ml_16" size="small" openType="share" type="primary"></rh-button>
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</view>
<canvas type="2d" style="position: absolute; left: -2000px; width: 425px; height: 350px; " id="canvasId" ref="canvasId"></canvas>
</view>

@ -8,7 +8,7 @@
请输入尾号为<span class="g_c_f40">{{ agencyInfo.newTel }}</span
>的手机号以获取验证码
</div>
<g-panel-form-slot
<rh-form-slot
:list="[
{
icon: '',
@ -40,7 +40,7 @@
@changeMobile="(val) => (info.tel = val)"
@changeCode="(val) => (info.code = val)"
>
</g-panel-form-slot>
</rh-form-slot>
<div class="" style="margin-top: 48px">
<quickLogin @successLogin="successLogin" v-if="!isLogin">
<rh-button primaryColor='#00b666' btnText="绑定代理" type="primary" class></rh-button>

@ -26,7 +26,7 @@
<view class="g_flex_row_start">
<view class="g_w_71">
<view class="g_position_abso g_p_4 g_radius_50 g_bg_f" style="top: -20px">
<g-panel-image :radius="50" :size="128" :url="info.logo || 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/ibocai/storeDefault.jpg'" />
<rh-image :radius="50" :size="128" :url="info.logo || 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/ibocai/storeDefault.jpg'" />
</view>
</view>
<view class="g_flex_1 g_ml_11">

@ -34,7 +34,7 @@
<view class="g_flex_row_start">
<view class="g_w_71">
<view class="g_position_abso g_p_4 g_radius_50 g_bg_f" style="top: -20px">
<g-panel-image :radius="50" :size="128" :url="info.logo || 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/ibocai/storeDefault.jpg'" />
<rh-image :radius="50" :size="128" :url="info.logo || 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/ibocai/storeDefault.jpg'" />
</view>
</view>
<view class="g_flex_1 g_ml_11">

@ -1,7 +1,7 @@
<template>
<view class="p-root-home-success g_kuaishou">
<view class="g_flex_row_center g_pt_159">
<g-panel-image :url="cdnBaseImg + 'applia_success.svg'" size="220" />
<rh-image :url="cdnBaseImg + 'applia_success.svg'" size="220" />
</view>
<view class="g_pt_23 g_pb_12 g_fs_19 g_c_3 g_fw_600 g_flex_row_center"> 已报名成功 </view>
<view class="g_pt_12 g_pb_106 g_fs_14 g_flex_row_center" style="color: #8f8f8f"> 您已成功报名该岗位请等待发单号审核 </view>

@ -3,7 +3,7 @@
<view style="padding-bottom: 200rpx">
<AiApply class @outputInfo="getTownsManInfo" />
<view class="g_h_10"></view>
<g-panel-form-slot
<rh-form-slot
:list="[
{
icon: '',
@ -19,9 +19,9 @@
},
]"
@changeMobile="handleClickMobile"
></g-panel-form-slot>
></rh-form-slot>
<view class="g_h_10"></view>
<g-panel-form-slot
<rh-form-slot
:list="[
{
icon: '',
@ -105,9 +105,9 @@
@changeAddress="handleClickAddress"
@updateFile="updateFile"
@updateIDInfo="handlerIDInfo"
></g-panel-form-slot>
></rh-form-slot>
<view class="g_h_10"></view>
<g-panel-form-slot
<rh-form-slot
:list="[
{
icon: '',
@ -129,15 +129,15 @@
</view>
</view>
</template>
</g-panel-form-slot>
<g-panel-fixed>
</rh-form-slot>
<rh-fixed>
<slot>
<view class="g_flex_row_center">
<rh-button primaryColor='#00b666' btnText="取消" class="g_mr_16" size="small" type="default" @clickBtn="goReturn"></rh-button>
<rh-button primaryColor='#00b666' btnText="确定" class @clickBtn="handleSubmit" size="small" type="primary"></rh-button>
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</view>
</view>
</template>

@ -212,13 +212,13 @@
</view>
</view>
<view class="g_h_100"></view>
<g-panel-fixed>
<rh-fixed>
<slot>
<view @click.stop="onSubmit">
<rh-button primaryColor='#00b666' type="primary" :btnText="jobId ? '确定' : '发布职位'"></rh-button>
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</form>
<u-popup v-model="isOnsiteShow" mode="bottom" border-radius="16" height="1000" :mask-close-able="true">
<view class="g_fs_18 g_c_3 g_flex_row_center g_pt_16"> 选择驻场 </view>
@ -261,13 +261,13 @@
</view>
</view>
</scroll-view>
<g-panel-fixed>
<rh-fixed>
<slot>
<view class="g_flex_row_center">
<rh-button primaryColor='#00b666' btnText="确定" type="primary" @clickBtn="submitZhengce" />
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</u-popup>
<div class="m-emask" v-if="ailoading">

@ -44,10 +44,10 @@
</view>
</view>
<view class="g_pb_17 g_flex_row_start">
<g-panel-image :url="item.idCardImageUrl" v-if="item.idCardImageUrl" radius="4" size="112" @clickItem="handleClickIDcard" />
<rh-image :url="item.idCardImageUrl" v-if="item.idCardImageUrl" radius="4" size="112" @clickItem="handleClickIDcard" />
<view v-if="item.imgs" class="g_flex_row_start">
<view v-for="i in item.imgs" class="g_ml_10">
<g-panel-image :url="i" radius="4" size="112" @clickItem="handleClickIDcard" />
<rh-image :url="i" radius="4" size="112" @clickItem="handleClickIDcard" />
</view>
</view>
</view>
@ -63,7 +63,7 @@
<view>
<view class="card-tip g_pt_24 g_pb_8 g_pl_20 g_c_6">职位信息</view>
<view class="fs_top text-wrap">
<g-panel-form-slot :list="jobData" @clickResult="changePage" @changeTime="getInviteTime" @changeAddress="changeAddress" @chooseAddress="chooseAddress"> </g-panel-form-slot>
<rh-form-slot :list="jobData" @clickResult="changePage" @changeTime="getInviteTime" @changeAddress="changeAddress" @chooseAddress="chooseAddress"> </rh-form-slot>
</view>
</view>
<view>
@ -86,14 +86,14 @@
</u-checkbox-group>
</view>
<view class="g_h_84"></view>
<g-panel-fixed>
<rh-fixed>
<slot>
<view class="g_flex_row_between g_pl_16 g_pr_16" style="z-index: 99">
<view class="g_fs_16 g_c_6 g_flex_c g_pl_8 g_pr_8 g_radius_6 g_ml_16" hover-class="thover" @click="goReturn"></view>
<rh-button primaryColor='#00b666' btnText="立即报名" type="primary" :loading="btnLoading" @clickBtn="submitForm" />
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</view>
</view>
</view>

@ -32,12 +32,12 @@
</block>
</view>
<g-panel-fixed>
<rh-fixed>
<view class="g_flex_row_center">
<rh-button primaryColor='#00b666' btnText="重置" size="small" @clickBtn="back"></rh-button>
<rh-button primaryColor='#00b666' btnText="确定" type="primary" class="g_ml_20" size="small" @clickBtn="setCity"></rh-button>
</view>
</g-panel-fixed>
</rh-fixed>
</view>
</template>
<script>

@ -1,7 +1,7 @@
<template>
<div class="team-manage-container g_bg_page">
<div class="g_h_10"></div>
<g-panel-form-slot
<rh-form-slot
:list="[
{
icon: '',
@ -30,7 +30,7 @@
]"
@changeName="changeName"
@changeMobile="changeMobile"
></g-panel-form-slot>
></rh-form-slot>
<div class="g_text_c g_mt_90">
<rh-button primaryColor='#00b666' btnText="确定" type="primary" class="" @clickBtn="subMemberInfo"></rh-button>
<div class="g_c_sub g_mt_16" v-if="memberInfo.id" @click="delMember"></div>

@ -10,7 +10,7 @@
<view class="g_w_all g_h_40 g_position_abso" style="left: 0; top: 0px; z-index: 9999" @click.stop="goSearch"></view>
</view>
<view class="g_flex_column_center flex_center g_ml_8 g_w_40 g_h_40 g_radius_20 g_bg_f_5" hover-class="thover" @click="goPage('/root/home/jobForm')">
<g-panel-image :url="cdnBaseImg + 'add_job.svg'" size="80" />
<rh-image :url="cdnBaseImg + 'add_job.svg'" size="80" />
</view>
</view>
<u-sticky>

@ -13,7 +13,7 @@
<!-- #endif -->
</view>
</view>
<!-- <g-panel-form-slot
<!-- <rh-form-slot
:list="[
{
icon: '',
@ -28,8 +28,8 @@
v-if="info.fieldName != 'address'"
>
<slot> </slot>
</g-panel-form-slot> -->
<g-panel-form-slot
</rh-form-slot> -->
<rh-form-slot
v-else
:list="[
{
@ -50,7 +50,7 @@
},
]"
@chooseAddress="chooseAddress"
></g-panel-form-slot>
></rh-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">
<rh-button primaryColor='#00b666' btnText="提交" type="primary" @clickBtn="submitForm" />

@ -29,14 +29,14 @@
/>
</view> -->
</scroll-view>
<g-panel-fixed backgroundColor="#ededed" :border="false">
<rh-fixed backgroundColor="#ededed" :border="false">
<slot>
<view class="g_ml_10 g_mr_10 g_position_rela">
<div class="g_w_8 g_h_8 g_radius_50 g_bg_f0a g_position_abso" style="right: 50px; top: 0px" v-if="readed && readed > 0"></div>
<div class="g_text_c g_c_sub g_fs_14" @click="goMarge"></div>
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</template>
<script>

@ -3,7 +3,7 @@
<view class="g_h_10"></view>
<view v-if="info.title == '设置用户名'">
<g-panel-form-slot
<rh-form-slot
:list="[
{
icon: '',
@ -39,7 +39,7 @@
/>
<!-- #endif -->
</slot>
</g-panel-form-slot>
</rh-form-slot>
<view class="g_flex_row_end" hover-class="none" hover-stop-propagation="false"
style="padding: 10px 22px;"
>
@ -57,7 +57,7 @@
</view>
</view>
<view v-if="info.type == 'order'">
<g-panel-form-slot
<rh-form-slot
:list="[
{
icon: '',
@ -73,7 +73,7 @@
<slot>
<u-input type="text" :clearable="false" :password-icon="false" :placeholder="info.place" input-align="right" class="g_text_r g_w_all" placeholder-style="color:#999999;font-size:32rpx;line-height:1" v-model="info.value" />
</slot>
</g-panel-form-slot>
</rh-form-slot>
<view class="g_mt_90 g_flex_row_center">
<rh-button primaryColor='#00b666' btnText="提交" type="primary" @clickBtn="submitOrderForm" />
</view>

@ -171,7 +171,7 @@
<view class="g_fs_14 g_mb_12" style="padding: 0 12px;">
<text class="g_fw_600">[申请合并]</text>属于高敏感权限基于账户安全考虑请验证创建人手机号:{{createData.telEncrypt}}
</view>
<g-panel-form-slot
<rh-form-slot
:list="[
{
icon: '',
@ -188,7 +188,7 @@
]"
@changeCode="getCode"
>
</g-panel-form-slot>
</rh-form-slot>
</view>
<view class="g_flex_row_center g_p_16" style="padding-bottom: 0;">
<view class="g_flex_row_center" style="width: 50%;">

@ -69,7 +69,7 @@
<view v-if="allowClick">
<view class="g_h_100"></view>
<g-panel-fixed>
<rh-fixed>
<slot>
<view class="g_flex_row_center">
<!-- #ifdef APP-PLUS -->
@ -87,7 +87,7 @@
<!-- #endif -->
</view>
</slot>
</g-panel-fixed>
</rh-fixed>
</view>
<!-- #ifdef MP-WEIXIN -->
<canvas type="2d" style="position: absolute; left: -2000px; width: 425px; height: 350px; background: #fff" id="canvasId" ref="canvasId"></canvas>

@ -25,7 +25,7 @@
pColumn: 12,
require: false,
}, -->
<g-panel-form-slot
<rh-form-slot
class="g_mb_10"
:list="[
{
@ -89,7 +89,7 @@
@chooseAddress="chooseAddress"
@clickResult="toDesp"
>
</g-panel-form-slot>
</rh-form-slot>
<!-- <view class="g_mt_90">
<rh-button primaryColor='#00b666' type="primary" @clickBtn="commitApply" btnText="修改"></rh-button>
</view> -->

@ -11,7 +11,7 @@
4.已申请且审核成功此时接口会提示账户状态发生变化会重新登录
-->
<view v-if="applyStatus == 1">
<g-panel-form-slot
<rh-form-slot
class="g_mb_10"
:list="[
{
@ -93,7 +93,7 @@
@chooseAddress="chooseAddress"
@clickResult="toDesp"
>
</g-panel-form-slot>
</rh-form-slot>
<view class="g_mt_24 g_pl_10 g_pr_10 g_flex_row_around">
<view class="g_flex_1 g_mr_20 g_fs_16" @click="uploadImg('yyzz')">
<view class="g_pl_10 g_fw_600">营业执照</view>

@ -1,7 +1,7 @@
<template>
<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
<rh-form-slot
:list="[
{
icon: '',
@ -26,10 +26,10 @@
]"
@changeCode="getCode"
>
</g-panel-form-slot>
</rh-form-slot>
</view>
<view class="">
<g-panel-form-slot
<rh-form-slot
:list="[
{
icon: '',
@ -57,7 +57,7 @@
@changeNewPwd="getNewPwd"
@changeConfirmPwd="getConfirmPwd"
>
</g-panel-form-slot>
</rh-form-slot>
</view>
<view class="g_pt_90 g_flex_row_center">
<rh-button primaryColor='#00b666' btnText="修改密码" type="primary" @clickBtn="submitForm" />

@ -1,7 +1,7 @@
<template>
<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='[
<rh-form-slot :list='[
{
icon:"",
label:"手机号",
@ -24,10 +24,10 @@
]'
@changeCode="getCode"
>
</g-panel-form-slot>
</rh-form-slot>
</view>
<view class="">
<g-panel-form-slot :list='[
<rh-form-slot :list='[
{
icon:"",
label:"新密码",
@ -54,7 +54,7 @@
@changeNewPwd="getNewPwd"
@changeConfirmPwd="getConfirmPwd"
>
</g-panel-form-slot>
</rh-form-slot>
</view>
<view class="g_pt_90 g_flex_row_center">
<rh-button primaryColor='#00b666' btnText='修改密码' type='primary' @clickBtn='submitForm' />

@ -1,7 +1,7 @@
<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
<rh-form-slot
:list="[
{
icon: '',
@ -23,11 +23,11 @@
<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>
</rh-form-slot>
</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
<rh-form-slot
:list="[
{
icon: '',
@ -55,7 +55,7 @@
@changeNewPwd="getNewPwd"
@changeConfirmPwd="getConfirmPwd"
>
</g-panel-form-slot>
</rh-form-slot>
</view>
<view class="g_pt_90 g_flex_row_center">
<rh-button primaryColor='#00b666' btnText="修改密码" type="primary" @clickBtn="submitForm" />

@ -50,7 +50,7 @@
</div>
<div class="g_h_40"></div>
</div>
<g-panel-fixed v-if="false">
<rh-fixed v-if="false">
<div class="g_flex_row_center">
<div class="g_w_200 g_mr_20">
<rh-button primaryColor='#00b666' btnText="手动添加" size="auto" @clickBtn="goPage('/root/person/addOrUpdataMember')"></rh-button>
@ -59,7 +59,7 @@
<rh-button primaryColor='#00b666' btnText="微信邀请" size="auto" type="primary" class @clickBtn="goPage('/root/person/memberApplyQRCode')"></rh-button>
</div> -->
</div>
</g-panel-fixed>
</rh-fixed>
<!-- <div class="g_h_24"></div> -->
<!-- <div class="sticky g_bg_f g_flex_row_center g_pt_8" style="padding-bottom: calc(constant(safe-area-inset-bottom) + 16px); padding-bottom: calc(env(safe-area-inset-bottom) + 16px); box-shadow: 0px -4px 10px rgba(0, 0, 0, 0.06)">
<rh-button primaryColor='#00b666' icon="icon-tianjia g_fsi_16 g_mr_8" btnText="添加成员" class="" @clickBtn="addMember"></rh-button>

@ -238,13 +238,13 @@
</div>
</div>
</scroll-view>
<g-panel-fixed>
<rh-fixed>
<slot>
<div class="g_flex_row_center">
<rh-button primaryColor="#00b666" btnText="确定" type="primary" @clickBtn="submitZhengce" />
</div>
</slot>
</g-panel-fixed>
</rh-fixed>
</u-popup>
</div>
</template>

Loading…
Cancel
Save