zsk 6 months ago
commit 8b43beb0dc

@ -42,7 +42,7 @@ export default {
let that = this;
console.log("show 项目init", options, decodeURIComponent(options.query.scene));
let requestComeFrom = this.G.globalConstantData.requestComeFrom;
uni.setStorageSync("requestComeFrom", (requestComeFrom && (requestComeFrom == "assistant_miniapp" || requestComeFrom == "supply_chain_miniapp")) ? 'isToB' : 'isToC');
uni.setStorageSync("requestComeFrom", requestComeFrom && (requestComeFrom == "assistant_miniapp" || requestComeFrom == "supply_chain_miniapp") ? "isToB" : "isToC");
// id
uni.removeStorageSync("scene");
@ -96,6 +96,36 @@ export default {
// console.log("app.vue IM");
that.checkAndReconnectIM();
}
const updateManager = uni.getUpdateManager();
updateManager.onCheckForUpdate(function (res) {
console.log("检测是否有新版本:", res.hasUpdate);
});
updateManager.onUpdateReady(function (res) {
uni.showModal({
title: "更新提示",
content: "新版本已经准备好,需重启应用",
showCancel: false,
success(res) {
if (res.confirm) {
console.log("新版本已经准备好,需重启应用");
updateManager.applyUpdate();
}
},
});
});
updateManager.onUpdateFailed(function (res) {
uni.showModal({
title: "更新提示",
content: "新版本下载异常,需重启应用",
showCancel: false,
success(res) {
if (res.confirm) {
console.log("新版本下载异常,需重启应用");
updateManager.applyUpdate();
}
},
});
});
},
onHide: function () {
//

@ -98,22 +98,31 @@ export default {
text: "首页",
iconSize: 48,
},
{
iconPath: "icon-fadanhao-31 g_c_9",
selectedIconPath: "icon-fadanhao-31 g_c_main",
pagePath: "/pages/home/order",
text: "发单号",
iconSize: 48,
},
// {
// iconPath: "icon-fadanhao-31 g_c_9",
// selectedIconPath: "icon-fadanhao-31 g_c_main",
// pagePath: "/pages/home/order",
// text: "",
// iconSize: 48,
// },
{
iconPath: "icon-message g_c_9",
selectedIconPath: "icon-message g_c_main",
pagePath: "/pages/message/index",
text: "消息",
iconSize: 78,
iconSize: 48,
iconType: "custom",
count: 0,
},
// u-icon
{
iconPath: "icon-kuaisubaoming g_c_main",
selectedIconPath: "icon-kuaisubaoming g_c_main",
pagePath: "/pages/addJob/index",
iconSize: 78,
iconType: "custom",
iconPadding: "2px",
},
{
iconPath: "icon-order_active g_c_9",
selectedIconPath: "icon-order_active g_c_main",
@ -141,6 +150,12 @@ export default {
let that = this;
console.log(index);
this.isShow = false;
if (index === 2) {
uni.navigateTo({
url: "/root/home/quickApplication",
});
return false;
}
return true;
},
uploadPage() {

@ -124,7 +124,7 @@
</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)" />
<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'">
@ -385,6 +385,7 @@ export default {
},
//
handleIDcard(e, $item, $index) {
console.log('123123132',e);
this.$emit("changeIDcard", e);
},
//

@ -206,7 +206,7 @@ export function createApp () {
}, $sourceType);
},
/*
*/
*/
uploadImgByAlbum (callback = () => { }, type = 'default', $num = 1, $sourceType = ['album']) {
var that = this;
G.uploadImage($num, (imgRes) => {

@ -107,9 +107,9 @@
<!-- <g-panel-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">
<!-- <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" />
</div>
</div> -->
<g-filter :show.sync="whichOneShow" @hideDrawer="(e) => (whichOneShow = e)" ref="filterChild" top="43px" :getFilterDataNew="getFilterData" @filterObj="receiveFromChild"></g-filter>
@ -171,11 +171,11 @@ export default {
uni.$on("updateJobList", () => {
that.updateJobInfo();
});
if (uni.getStorageSync("SHOW_INVITE_ALL")) {
if (uni.getStorageSync("SHOW_INVITE_ALL") == 1 && uni.getStorageSync("SHOW_INVITE") == 1) {
that.getInviteList();
}
}
// if (uni.getStorageSync("SHOW_INVITE_ALL")) {
// if (uni.getStorageSync("SHOW_INVITE_ALL") == 1 && uni.getStorageSync("SHOW_INVITE") == 1) {
// that.getInviteList();
// }
// }
console.log('uni.getStorageSync("apply-supplierAccount")', uni.getStorageSync("apply-supplierAccount"));
that.updateJobInfo();
}
@ -196,6 +196,7 @@ export default {
uni.setStorageSync("TABBAR_HEIGHT", res.height);
})
.exec();
},
data() {
return {
@ -259,7 +260,7 @@ export default {
size: 50,
list: [],
isFinish: -1,
sortTag: 2,
sortTag: 0,
},
keyword: "",
tabInfo: {
@ -419,12 +420,14 @@ export default {
.select("#tttop")
.boundingClientRect((data) => {
console.log("data", data);
if (data.top <= 0) {
that.toTop = true;
that.showToTop = true;
} else {
that.toTop = false;
that.showToTop = false;
if(data){
if (data.top <= 0) {
that.toTop = true;
that.showToTop = true;
} else {
that.toTop = false;
that.showToTop = false;
}
}
// domTopInfo.value[id] = data.top;
// scrollTop.value = data.top - 200;
@ -443,9 +446,7 @@ export default {
reachBottom() {
let that = this;
console.log("onReachBottom", that.query.isFinish);
this.G.isLogin();
if (this.G.isLogin()) {
console.log("that.query.size", that.query.size);
if(uni.getStorageSync("apply-token")){
if (that.query.isFinish == -1 || that.query.isFinish == that.query.size) {
that.query.page++;
that.getList("concat");
@ -778,7 +779,7 @@ export default {
let that = this;
that.attentionConfig.num++;
this.getInviteList();
// this.getInviteList();
},
/**

@ -54,7 +54,7 @@
</view>
<view class="g_mt_10">
<!-- v-if="userInfo.admin" -->
<!-- <view class="g_mt_10 g_position_rela" v-if="userInfo.agencyId">
<view class="g_mt_10 g_position_rela" v-if="userInfo.agencyId">
<div class="g_w_8 g_h_8 g_radius_50 g_bg_f0a g_position_abso" style="right: 18px; top: 10px" v-if="!readed"></div>
<g-panel-form-item
:list="[
@ -69,7 +69,7 @@
]"
@clickItem="goPage('/root/bind/order?active=0')"
/>
</view> -->
</view>
<view class="g_mt_10" v-if="userInfo.agencyId">
<g-panel-card-num :list="billDataList" titleNav="/root/person/applyIndex" :border="true" :speed="1" :marginBottom="16" cusType="num" :height="26" :num="5" cusTitle="报名工单(我报的)" @clickItem="goOrder" />
<!-- <g-panel-card-num :list="todayDataList"

@ -201,10 +201,7 @@ export default {
that.isLogin = uni.getStorageSync("apply-token") ? true : false;
console.log("that.isLogin", that.isLogin);
that.loginInfo = uni.getStorageSync("apply-userinfo");
if (uni.getStorageSync("applyType") || uni.getStorageSync("applyType") === 0) {
that.menuActive = uni.getStorageSync("applyType");
uni.removeStorageSync("applyType");
}
this.getList();
if (!that.isLogin) {
that.loading = false;
@ -220,6 +217,10 @@ export default {
onShow() {
let that = this;
if (that.isLogin) {
if (uni.getStorageSync("applyType") || uni.getStorageSync("applyType") === 0) {
that.menuActive = uni.getStorageSync("applyType");
uni.removeStorageSync("applyType");
}
this.getList();
}
this.getGZHInfo();

@ -468,15 +468,15 @@ const keyboardheightchange = (e) => {
// uni.$emit("msgKeyHeight", availableHeight); //
// writeStyle.value = `bottom: calc(${e.detail.height}px - env(safe-area-inset-bottom))`;
if (systemInfo.platform === 'ios') {
if (systemInfo.platform === "ios") {
const availableHeight = systemInfo.windowHeight - e.detail.height - ssff.value + 34;
uni.$emit("msgKeyHeight", availableHeight); //
writeStyle.value = `bottom: calc(${e.detail.height}px - env(safe-area-inset-bottom))`;
}else{
const availableHeight = systemInfo.windowHeight - e.detail.height - ssff.value;
uni.$emit("msgKeyHeight", availableHeight); //
writeStyle.value = `bottom: calc(${e.detail.height}px - env(safe-area-inset-bottom))`;
}
} else {
const availableHeight = systemInfo.windowHeight - e.detail.height - ssff.value;
uni.$emit("msgKeyHeight", availableHeight); //
writeStyle.value = `bottom: calc(${e.detail.height}px - env(safe-area-inset-bottom))`;
}
}
setTimeout(() => {
uni.$emit(events.ON_SCROLL_BOTTOM);
@ -846,24 +846,24 @@ screenHeight.value = uni.getSystemInfoSync().windowHeight;
const chooseData = ref({});
onMounted(() => {
try {
const windowInfo = uni.getWindowInfo();
console.log("windowInfo", windowInfo);
let safeTop = windowInfo?.safeArea?.top || 0;
// safeArea.top 0使
if (safeTop === 0) {
const systemInfo = uni.getSystemInfoSync();
// iOS
if (systemInfo.platform === 'ios') {
safeTop = systemInfo.statusBarHeight || 44; // iOS 44
} else {
safeTop = systemInfo.statusBarHeight || 30;
}
}
ssff.value = safeTop + 14;
} catch (error) {
ssff.value = 48; //
}
const windowInfo = uni.getWindowInfo();
console.log("windowInfo", windowInfo);
let safeTop = windowInfo?.safeArea?.top || 0;
// safeArea.top 0使
if (safeTop === 0) {
const systemInfo = uni.getSystemInfoSync();
// iOS
if (systemInfo.platform === "ios") {
safeTop = systemInfo.statusBarHeight || 44; // iOS 44
} else {
safeTop = systemInfo.statusBarHeight || 30;
}
}
ssff.value = safeTop + 14;
} catch (error) {
ssff.value = 48; //
}
if (uni.getStorageSync("im_sendParams")) {
chooseData.value = JSON.parse(uni.getStorageSync("im_sendParams")).jobDetail;
}

@ -1,5 +1,5 @@
<template>
<view class="p-root-other-more g_w_all g_h_all g_bg_f_5 g_pl_10 g_pr_10 g_kuaishou">
<view class="p-root-other-more g_w_all g_h_all g_bg_f_5 g_pl_10 g_pr_10 g_kuaishou" style="box-sizing:border-box">
<view class="g_h_10 g_w_pull"></view>
<view class="g_bg_f g_pl_16 g_pr_16 g_radius_8 g_mb_24">
<view class="g_flex_row_between g_h_56" v-if="type == 1 || type == 3" :class="type == 3 ? 'g_border_e_b' : ''">

@ -74,10 +74,10 @@
</view>
<view class="g_fs_14 g_c_9 g_mt_4">
<view class="g_flex_row_start">
<view class="g_flex_row_start">
<!-- <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>在招</view>
<view class="g_mr_8">{{ item.recruitmentJobNum ? item.recruitmentJobNum : "0" }}</view>

@ -2078,12 +2078,17 @@
},
animate($type = "heavy") {
uni.vibrateShort({
type: $type,
fail(err){
console.log('震动失败:',err)
}
});
const systemInfo = uni.getSystemInfoSync();
if(systemInfo.platform === 'ios'){
}else{
uni.vibrateShort({
type: $type,
fail(err) {
console.log("震动失败:", err);
},
});
}
},
clearMsg() {
this.sendMsg = "";

@ -4,12 +4,12 @@
<u-modal v-model="submitConfirm" width="90%" negativeTop="150" confirmText="发布职位" :showTitle="false" :confirmStyle="{ color: '#576b95', 'font-weight': 600 }" :cancelStyle="{ color: '#000', 'font-weight': 600 }" :showConfirmButton="false">
<div class="g_fs_17 g_text_c">
<div class style="padding: 42px 24px 36px">
<div class="g_text_c g_fw_600 g_c_0">创建团队/企业</div>
<div class="g_text_l g_c_6 g_mb_8 g_mt_24 g_pl_12">团队名称/企业简称</div>
<div class="g_text_c g_fw_600 g_c_0">创建公司账号</div>
<div class="g_text_l g_c_6 g_mb_8 g_mt_24 g_pl_12">您的公司简称</div>
<div class="g_fs_14 g_pl_12 g_bg_f2 g_border_d g_radius_4 g_flex_row_start flex_center">
<u-input v-model="agencyInfo.fullName" :customStyle="{ color: disabled ? '#999' : '#333', fontSize: '17px' }" :disabled="disabled" height="96" placeholder="如:上海发财劳务"></u-input>
</div>
<div class="g_text_l g_c_9 g_mt_8 g_fs_14 g_pl_12">创建团队后可关注发单号浏览职位及工单报名</div>
<div class="g_text_l g_c_9 g_mt_8 g_fs_14 g_pl_12">报名助手需以公司身份使用创建公司后可关注发单号浏览职位及工单报名</div>
</div>
<div class="g_flex_row_center flex_center g_fw_600 g_border_e_t">
<div class="g_flex_1 g_h_50 g_text_c g_c_0 g_border_e_r" hover-class="thover" @click="submitConfirm = false" style="line-height: 50px">取消</div>
@ -255,7 +255,9 @@ export default {
//
applyFlowWidthoutAgencyConfirm() {
let that = this;
this.confirmWithoutAgency = true;
// this.confirmWithoutAgency = true;
this.submitConfirm = true;
return;
that.G.handleConfirm({
cancelText: "创建团队",

@ -374,7 +374,7 @@ export default {
},
handleClickIDcard(e) {
this.info.idCard = e;
if (this.info.idCard.length == 15 || this.info.idCard.length == 18) {
if (this.info.idCard && (this.info.idCard.length == 15 || this.info.idCard.length == 18)) {
let info = this.G.getInfoByIDcard(this.info.idCard);
this.info.age = info.age;
this.info.sex = info.sex ? (info.sex == "男" ? 1 : 2) : "";

@ -510,7 +510,7 @@
<div class="g_fs_12 g_c_6" style="margin-top: 8px">客服</div>
</button> -->
</div>
<div class="g_flex_1 g_flex_row_center">
<div class="g_flex_1 g_flex_row_center" v-if="userinfo && userinfo.agencyId">
<div class="g_flex_none g_flex_column_center g_mr_12">
<g-button btnText="联系客服" class="g_w_100" size="small_auto" @clickBtn="goIm"></g-button>
</div>
@ -611,6 +611,7 @@ export default {
onReady() {
this.G.setNavStyle();
},
onShareAppMessage() {
// return this.G.shareFun("/root/detail/job?id=" + this.jobDetail.id,
// "", this.jobDetail.jobName + " " + this.jobDetail.priceStr + " " + " ");
@ -643,6 +644,18 @@ export default {
this.currentTime = dateUtil.formatDateYMD(new Date().toLocaleDateString()) + " 06:00";
this.dateTimeArray = obj.dateTimeArray;
this.dateTime = obj.dateTime;
// uni.showShareMenu({
// withShareTicket: true,
// menus: ["shareAppMessage", "shareTimeline"],
// });
// //
// onShare1Timeline() {
// return {
// title: "",
// imageUrl: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/pugongying/goxj2-qpwbo.png",
// query: { info: `{info:'test'}` },
// };
// },
},
data() {
return {
@ -1381,7 +1394,7 @@ export default {
if (that.goImLoading) {
return false;
}
that.goImLoading = true;
that.F.wyyxGet(that.api.job_get_cus + "?jobId=" + that.jobDetail.id, {}, (cusData) => {
that.F.wyyxPost(
@ -1404,7 +1417,8 @@ export default {
});
that.jobDetail.info = newList.join("丨");
that.F.wyyxPost(
that.api.wyyx_sendCard, {
that.api.wyyx_sendCard,
{
conversationType: 1,
// senderUserId: uni.getStorageSync("apply-uid"), // id id
// receiverUserId: cusData, // id
@ -1414,8 +1428,7 @@ export default {
jobDetail: {
title: that.jobDetail.jobName,
info: that.jobDetail.info,
label: that.jobDetail.jobRequestLabelNames.length > 0 ? that
.jobDetail.jobRequestLabelNames : "",
label: that.jobDetail.jobRequestLabelNames.length > 0 ? that.jobDetail.jobRequestLabelNames : "",
salaryClassifyValue: that.jobDetail.priceStr,
serviceFee: that.jobDetail.fuWuFei,
monthPay: that.jobDetail.monthPay,

@ -10,7 +10,7 @@
'background-image': info.supplierAccountCoverUrl ? `url(${info.supplierAccountCoverUrl})` : 'url(https://matripe-cms.oss-cn-beijing.aliyuncs.com/dailibaoming/v3/mbg.jpg)',
'background-size': '100% 100%',
width: 'calc(100vw + ' + backgroundScale + 'px)',
height: 'calc(' + (100 / 1.2).toFixed(2) + 'vw + ' + moveDistance + 'px)',
height: 'calc(' + (100 / 1.4).toFixed(2) + 'vw + ' + moveDistance + 'px)',
'transform-origin': '50% 0%',
transform: `scale(${1 + backgroundScale * 0.008})`,
}"
@ -18,7 +18,7 @@
</view>
</view>
<u-navbar backIconColor="#333" :borderBottom="false" :immersive="true" :customBack="goHome" :background="{ background: navColor }" :backIconName="fromShare ? 'home' : 'arrow-left'"></u-navbar>
<scroll-view :refresher-enabled="true" class="scroll-container" scroll-y style="height: 100vh" refresher-default-style="none" @touchstart="onTouchStart" @touchmove="onTouchMove" :refresher-threshold="0" :refresher-triggered="isTrigger" @refresherrefresh="refreshJobList" @touchend="onTouchEnd" @scroll="checkScroll" @scrolltolower="reachBottom">
<scroll-view :refresher-enabled="true" class="scroll-container" scroll-y style="height: 100vh" refresher-default-style="none" @touchstart="onTouchStart" @touchmove="onTouchMove" @touchend="onTouchEnd" :refresher-threshold="0" @refresherrefresh="refreshJobList" @scroll="scroll" @scrolltolower="reachBottom">
<view
class="u-navbar-fixed"
:style="{
@ -112,8 +112,11 @@
</template>
</div>
</view>
<div class="g_bg_f =" v-if="info.recordStatus == 1 || info.recordStatus == 2">
<div class="g_bg_f sticky" :style="{ top: stickyHeight + 'px' }" v-if="info.recordStatus == 1 || info.recordStatus == 2">
<u-tabs bg-color="transparent" from="index" gutter="20" :list="tabInfo.list" :is-scroll="true" v-model="tabInfo.active" active-color="#000" bar-width="64" bar-height="6" @change="handleUpdateTab" font-size="32" duration="0.05" height="56"></u-tabs>
<div class="m-search g_p_10 g_pt_8 bg_shawdoc g_flex_1" style="top: 0">
<u-search v-model="keyword" class="g_flex_1" placeholder="搜索职位名称" bg-color="#ededed" :show-action="false" placeholder-class="g_c_c" :input-style="{ fontSize: '16px' }" height="80" search-icon-color="#999999" :maxlength="20" @input="checkLength" @clear="searchJob" @search="searchJob"></u-search>
</div>
</div>
<!-- 基本信息 -->
@ -150,6 +153,12 @@ export default {
onReady() {
this.G.setNavStyle();
},
mounted() {
let systemInfo = uni.getSystemInfoSync();
let height = systemInfo.platform == "ios" ? 44 : 48;
this.stickyHeight = systemInfo.statusBarHeight + height;
},
// onShareAppMessage(){
// return this.G.shareFun();
// },
@ -157,6 +166,7 @@ export default {
return {
numSlot: [],
showPage: false,
stickyHeight: 0, // sticky
fromShare: false,
btnLoading: false,
background: {
@ -247,11 +257,11 @@ export default {
};
},
onPageScroll(e) {
if (e.scrollTop > 120) {
this.navColor = `rgb(255,255,255,${e.scrollTop / 200})`;
} else {
this.navColor = `rgb(255,255,255,0)`;
}
// if (e.scrollTop > 120) {
// this.navColor = `rgb(255,255,255,${e.scrollTop / 200})`;
// } else {
// this.navColor = `rgb(255,255,255,0)`;
// }
},
onLoad(options) {
let that = this;
@ -336,11 +346,18 @@ export default {
}
},
methods: {
scroll(e) {
if (e.detail.scrollTop > 120) {
this.navColor = `rgb(255,255,255,${e.detail.scrollTop / 200})`;
} else {
this.navColor = `rgb(255,255,255,0)`;
}
},
//
onTouchStart(e) {
if(this.isTouching){
return false
}
if (this.isTouching) {
return false;
}
this.isTouching = true;
this.mtScroll = 0;
this.backgroundScale = 0;
@ -433,6 +450,11 @@ export default {
});
}
},
searchJob() {
this.query.list = [];
this.query.page = 1;
this.getDefault();
},
/**
* 获取登录人的团队信息
*/
@ -599,6 +621,7 @@ export default {
pageNum: that.query.page,
pageSize: that.query.size,
agencyId: that.info.id,
keys: that.keyword,
};
console.log("that.tabInfo.active", that.tabInfo.active);
if (that.tabInfo.active == 1) {
@ -694,7 +717,7 @@ export default {
console.log("resresresresresres++++++++++++++", that.agencyInfo);
console.log("resresresresresres++++++++++++++", that.isSelf);
that.info = res;
that.speed = res.jobList.length;
// that.speed = res.jobList.length;
that.showPage = true;
@ -702,10 +725,10 @@ export default {
that.isSelf = true;
}
that.numSlot = [
{
name: "总职位",
num: that.info.jobNum,
},
// {
// name: "",
// num: that.info.jobNum,
// },
{
name: "在招",
num: that.info.recruitmentJobNum,
@ -772,8 +795,9 @@ export default {
let that = this;
this.G.isLogin();
if (this.G.isLogin()) {
if (that.userInfo.agencyId) {
if (that.userInfo.agencyId && that.userInfo.fullName) {
// that.submitConfirm = true;
// that.$refs.applyFlow.applyFlowWidthoutAgencyConfirm();
that.$refs.applyFlow.applyFlowConfirm();
} else {
that.$refs.applyFlow.applyFlowWidthoutAgencyConfirm();
@ -785,6 +809,7 @@ export default {
let that = this;
console.log("eeeeeee", e);
that.tabInfo.active = e;
that.speed = -1;
that.query.list = [];
that.query.page = 1;
that.getDefault();
@ -839,4 +864,10 @@ export default {
.scroll-area {
height: 100vh;
}
.sticky {
position: sticky;
// top: 95px;
left: 0;
z-index: 100;
}
</style>

@ -1,261 +1,262 @@
<template>
<div class="g_p_10 g_position_rela">
<div class="g_bg_f g_p_10 g_radius_8">
<u-line-progress class="g_position_abso" v-if="ailoading" style="position: fixed; width: 100%; top: -2px; left: 0px; z-index: 99999" active-color="#3578f6" :percent="defaultPercent" :round="false" height="8" :show-percent="false" inactiveColor="#f5f5f5"></u-line-progress>
<gao-ChatSSEClient ref="sseTest" @onOpen="openCore" @onError="errorCore" @onMessage="messageCore" @onFinish="finishCore" />
<div class="g_pb_8" v-if="currentImg" @click="currentImg = ''">
<img :src="currentImg" class="g_w_48 g_h_48 g_radius_8" alt />
</div>
<textarea class data-type="desp" v-model="aitext" placeholder="粘贴工友信息, 用AI识别 " placeholder-style="color:#999" :maxlength="-1" :style="{ width: '100%', 'min-height': true ? '104px' : '104px' }"></textarea>
<div class>
<view class="g_flex_row_end flex_center">
<view class="iconfont icon-jia1 g_c_9 g_mr_8 g_fs_20 g_position_rela biggerSize" @click="chooseImgShow = true"></view>
<view class="g_mr_8 g_w_72 g_fw_600">
<g-button size="small_auto" type="none" height="24" :fontSize="12" @clickBtn="getClipboard" :btnText="(aitext ? '清空' : '粘贴') + '内容'"></g-button>
</view>
<view class="g_w_72 g_fw_600">
<g-button size="small_auto" gradual="linear-gradient(-130deg, #5c6cf7, #9963f9)" icon="icon-aitubiao" type="gradual" height="24" :fontSize="12" btnText="AI识别" @clickBtn="getCoze"></g-button>
</view>
</view>
</div>
</div>
<u-popup v-model="chooseImgShow" mode="bottom" z-index="999999" border-radius="12" :closeable="false" :mask-close-able="true" @close="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="chooseImgShow = false">取消</div>
</div>
</u-popup>
</div>
<div class="g_p_10 g_position_rela">
<div class="g_bg_f g_p_10 g_radius_8">
<u-line-progress class="g_position_abso" v-if="ailoading" style="position: fixed; width: 100%; top: -2px; left: 0px; z-index: 99999" active-color="#3578f6" :percent="defaultPercent" :round="false" height="8" :show-percent="false" inactiveColor="#f5f5f5"></u-line-progress>
<gao-ChatSSEClient ref="sseTest" @onOpen="openCore" @onError="errorCore" @onMessage="messageCore" @onFinish="finishCore" />
<div class="g_pb_8" v-if="currentImg" @click="currentImg = ''">
<img :src="currentImg" class="g_w_48 g_h_48 g_radius_8" alt />
</div>
<textarea class data-type="desp" v-model="aitext" placeholder="粘贴工友信息, 用AI识别 " placeholder-style="color:#999" :maxlength="-1" :style="{ width: '100%', 'min-height': true ? '104px' : '104px' }"></textarea>
<div class>
<view class="g_flex_row_end flex_center">
<view class="iconfont icon-jia1 g_c_9 g_mr_8 g_fs_20 g_position_rela biggerSize" @click="chooseImgShow = true"></view>
<view class="g_mr_8 g_w_72 g_fw_600">
<g-button size="small_auto" type="none" height="24" :fontSize="12" @clickBtn="getClipboard" :btnText="(aitext ? '清空' : '粘贴') + '内容'"></g-button>
</view>
<view class="g_w_72 g_fw_600">
<g-button size="small_auto" gradual="linear-gradient(-130deg, #5c6cf7, #9963f9)" icon="icon-aitubiao" type="gradual" height="24" :fontSize="12" btnText="AI识别" @clickBtn="getCoze"></g-button>
</view>
</view>
</div>
</div>
<u-popup v-model="chooseImgShow" mode="bottom" z-index="999999" border-radius="12" :closeable="false" :mask-close-able="true" @close="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="chooseImgShow = false">取消</div>
</div>
</u-popup>
</div>
</template>
<script>
export default {
data() {
return {
aitext: '',
timer: null,
timer1: null,
defaultPercent: 0,
ailoading: false,
aiConfig: {
token: '',
id: '',
},
chooseImgShow: false,
currentImg: '',
}
},
created() {
this.getAiToken()
},
data() {
return {
aitext: "",
timer: null,
timer1: null,
defaultPercent: 0,
ailoading: false,
aiConfig: {
token: "",
id: "",
},
chooseImgShow: false,
currentImg: "",
};
},
created() {
this.getAiToken();
},
methods: {
openCore(respons) {
console.log('open sse', respons)
},
errorCore(err) {
console.log('error sse', err)
},
messageCore(msg) {
let that = this
console.log('message sse', msg)
if (msg.event == 'Done') {
clearInterval(that.timer)
that.ailoading = false
} else if (msg.event == 'Message') {
let info = JSON.parse(msg.data)
if (info.node_type == 'End') {
this.setInfo(info)
}
}
},
getAiToken() {
let that = this
that.G.Get('/yishoudan/common/structure/getConfig', {}, (res) => {
console.log('res', res)
that.aiConfig = {
token: res.token,
id: res.workflowId,
}
})
},
uploadPhoto($sourceType) {
let that = this
console.log('$sourceType', $sourceType)
uni.chooseImage({
count: 1, //9
sizeType: ['original'], //
sourceType: [$sourceType], //album camera 使
success: function (res) {
console.log('选取文件数据:', res)
that.uploadCozeFile(res.tempFilePaths[0])
},
})
},
uploadCozeFile(tempFilePath) {
let that = this
that.chooseImgShow = false
that.currentImg = tempFilePath
uni.uploadFile({
url: 'https://api.coze.cn/v1/files/upload',
method: 'POST',
filePath: tempFilePath,
name: 'file',
header: {
Authorization: 'Bearer ' + that.aiConfig.token,
'Content-Type': 'multipart/form-data',
},
formData: {},
success: function (res) {
console.log('文件', res)
let data = JSON.parse(res.data)
that.appCoze(data.data.id)
},
fail: function (err) {
console.log(err)
},
})
},
uploadPhotoByChat() {
let that = this
uni.chooseMessageFile({
count: 1,
type: 'image',
success(res) {
console.log('resresresresresres', res)
if (res.errMsg == 'chooseMessageFile:ok') {
console.log('res', res)
that.uploadCozeFile(res.tempFiles[0].path)
}
},
})
},
getClipboard() {
let that = this
if (this.aitext) {
this.aitext = ''
} else {
uni.getClipboardData({
success(res) {
console.log(res)
if(res.data){
that.aitext = res.data
}else{
uni.showToast({
title: '请先复制内容',
icon: 'none',
})
}
},
fail() {
uni.showToast({
title: '读取剪切板失败',
icon: 'none',
})
},
})
}
},
setInfo(parsed) {
let that = this
const finalData = JSON.parse(parsed.content)
if (finalData) {
console.log('解析后的用户信息:', finalData)
let info = {
idCard: finalData.idcard,
address: finalData.address,
name: finalData.username,
nation: finalData.nation,
userName: finalData.username,
sex: finalData.sex ? (finalData.sex == '男' ? 1 : 2) : '',
age: finalData.age,
tel: finalData.tel,
}
// uni.$emit('getTownsman', { info })
that.$emit('outputInfo', info)
//
that.ailoading = false
} else {
that.ailoading = false
}
clearInterval(that.timer)
},
getCoze() {
let that = this
if (!that.aitext) {
uni.showToast({
title: '请粘贴内容',
icon: 'none',
})
return false
}
methods: {
openCore(respons) {
console.log("open sse", respons);
},
errorCore(err) {
console.log("error sse", err);
},
messageCore(msg) {
let that = this;
console.log("message sse", msg);
if (msg.event == "Done") {
clearInterval(that.timer);
that.ailoading = false;
} else if (msg.event == "Message") {
let info = JSON.parse(msg.data);
if (info.node_type == "End") {
this.setInfo(info);
}
}
},
getAiToken() {
let that = this;
that.G.Get("/yishoudan/common/structure/getConfig", {}, (res) => {
console.log("res", res);
that.aiConfig = {
token: res.token,
id: res.workflowId,
};
});
},
uploadPhoto($sourceType) {
let that = this;
console.log("$sourceType", $sourceType);
uni.chooseImage({
count: 1, //9
sizeType: ["original"], //
sourceType: [$sourceType], //album camera 使
success: function (res) {
console.log("选取文件数据:", res);
that.uploadCozeFile(res.tempFilePaths[0]);
},
});
},
uploadCozeFile(tempFilePath) {
let that = this;
that.chooseImgShow = false;
that.currentImg = tempFilePath;
uni.uploadFile({
url: "https://api.coze.cn/v1/files/upload",
method: "POST",
filePath: tempFilePath,
name: "file",
header: {
Authorization: "Bearer " + that.aiConfig.token,
"Content-Type": "multipart/form-data",
},
formData: {},
success: function (res) {
console.log("文件", res);
let data = JSON.parse(res.data);
that.appCoze(data.data.id);
},
fail: function (err) {
console.log(err);
},
});
},
uploadPhotoByChat() {
let that = this;
uni.chooseMessageFile({
count: 1,
type: "image",
success(res) {
console.log("resresresresresres", res);
if (res.errMsg == "chooseMessageFile:ok") {
console.log("res", res);
that.uploadCozeFile(res.tempFiles[0].path);
}
},
});
},
getClipboard() {
let that = this;
if (this.aitext) {
this.aitext = "";
} else {
uni.getClipboardData({
success(res) {
console.log(res);
if (res.data) {
that.aitext = res.data;
} else {
uni.showToast({
title: "请先复制内容",
icon: "none",
});
}
},
fail() {
uni.showToast({
title: "读取剪切板失败",
icon: "none",
});
},
});
}
},
setInfo(parsed) {
let that = this;
const finalData = JSON.parse(parsed.content);
if (finalData) {
console.log("解析后的用户信息:", finalData);
let info = {
idCard: finalData.idcard,
address: finalData.address,
name: finalData.username,
nation: finalData.nation,
userName: finalData.username,
sex: finalData.sex ? (finalData.sex == "男" ? 1 : 2) : "",
age: finalData.age,
tel: finalData.tel,
};
// uni.$emit('getTownsman', { info })
that.$emit("outputInfo", info);
//
that.ailoading = false;
} else {
that.ailoading = false;
}
clearInterval(that.timer);
},
getCoze() {
let that = this;
if (!that.aitext) {
uni.showToast({
title: "请粘贴内容",
icon: "none",
});
return false;
}
this.appCoze()
},
appCoze(_id) {
let that = this
let parameters = {}
//
that.ailoading = true
that.defaultPercent = 3
this.appCoze();
},
appCoze(_id) {
let that = this;
let parameters = {};
//
that.ailoading = true;
that.defaultPercent = 3;
that.timer = setInterval(() => {
that.defaultPercent = that.defaultPercent < 15 ? (that.defaultPercent = 15) : that.defaultPercent + 3
// console.log('12313123123123123')
if (that.defaultPercent >= 99) {
clearInterval(that.timer)
}
}, 150)
that.timer1 = setTimeout(() => {
console.log('5687678678678678678')
that.ailoading = false
clearInterval(that.timer)
// setLoading()
}, 30000)
if (_id) {
parameters = {
img: {
file_id: _id,
},
}
} else {
parameters = {
txt: that.aitext,
}
}
this.$refs.sseTest.startChat({
/**
* 将它换成你的地址
* 注意
* 如果使用 sse-server.js 要在手机端使用的话请确保你的手机和电脑处在一个局域网下并且是正常的ip地址
*/
url: 'https://api.coze.cn/v1/workflow/stream_run',
//
headers: {
// that.aiConfig.token
Authorization: 'Bearer ' + that.aiConfig.token,
'Content-Type': 'application/json',
},
// post
method: 'post',
body: {
parameters,
// workflow_id: that.aiConfig.id,
workflow_id: '7520814905613664310',
// workflow_id: '7492238568816656410',
},
})
},
},
}
that.timer = setInterval(() => {
that.defaultPercent = that.defaultPercent < 15 ? (that.defaultPercent = 15) : that.defaultPercent + 3;
// console.log('12313123123123123')
if (that.defaultPercent >= 99) {
clearInterval(that.timer);
}
}, 150);
that.timer1 = setTimeout(() => {
console.log("5687678678678678678");
that.ailoading = false;
clearInterval(that.timer);
// setLoading()
}, 30000);
if (_id) {
parameters = {
img: {
file_id: _id,
},
};
} else {
parameters = {
txt: that.aitext,
};
}
this.$refs.sseTest.startChat({
/**
* 将它换成你的地址
* 注意
* 如果使用 sse-server.js 要在手机端使用的话请确保你的手机和电脑处在一个局域网下并且是正常的ip地址
*/
url: "https://api.coze.cn/v1/workflow/stream_run",
//
headers: {
// that.aiConfig.token
Authorization: "Bearer " + that.aiConfig.token,
"Content-Type": "application/json",
},
// post
method: "post",
body: {
parameters,
// workflow_id: that.aiConfig.id,
workflow_id: "7520814905613664310",
// workflow_id: '7492238568816656410',
},
});
},
ressetAitext() {
this.aitext = "";
},
},
};
</script>
<style>
</style>
<style></style>

@ -1,9 +1,10 @@
<template>
<view class="p-root-detail-fellow g_w_all g_bg_page g_kuaishou">
<view style="padding-bottom: 200rpx;">
<AiApply class @outputInfo="getTownsManInfo" />
<view class="g_h_10"></view>
<g-panel-form-slot :list="[
<view class="p-root-detail-fellow g_w_all g_bg_page g_kuaishou">
<view style="padding-bottom: 200rpx">
<AiApply class @outputInfo="getTownsManInfo" />
<view class="g_h_10"></view>
<g-panel-form-slot
:list="[
{
icon: '',
label: '工友电话',
@ -16,10 +17,12 @@
pColumn: 8,
require: false,
},
]" @changeMobile="handleClickMobile"></g-panel-form-slot>
<view class="g_h_10"></view>
<g-panel-form-slot
:list="[
]"
@changeMobile="handleClickMobile"
></g-panel-form-slot>
<view class="g_h_10"></view>
<g-panel-form-slot
:list="[
{
icon: '',
label: '姓名',
@ -94,17 +97,18 @@
pColumn: 8,
},
]"
@changeName="handleClickName"
@changeSex="handleClickSex"
@changeAge="handleClickAge"
@changeNation="handleClickNation"
@changeIDcard="handleClickIDcard"
@changeAddress="handleClickAddress"
@updateFile="updateFile"
@updateIDInfo="handlerIDInfo"
></g-panel-form-slot>
<view class="g_h_10"></view>
<g-panel-form-slot :list="[
@changeName="handleClickName"
@changeSex="handleClickSex"
@changeAge="handleClickAge"
@changeNation="handleClickNation"
@changeIDcard="handleClickIDcard"
@changeAddress="handleClickAddress"
@updateFile="updateFile"
@updateIDInfo="handlerIDInfo"
></g-panel-form-slot>
<view class="g_h_10"></view>
<g-panel-form-slot
:list="[
{
icon: '',
label: '上传附件',
@ -114,273 +118,282 @@
tip: 'slot-update-file',
pColumn: 16,
},
]" @updateFile="updateFile">
<template v-slot:after>
<view class="g_flex_row_start g_p_10" v-if="imgList.length > 0">
<view v-for="(item, index) in imgList" class="g_position_rela" :class="index <= 2 ? 'g_mr_18' : ''" :key="index">
<i class="iconfont icon-guanbi img-close" @click="delImg(index)"></i>
<image :src="item" class="g_w_56 g_h_56 g_radius_8" />
</view>
</view>
</template>
</g-panel-form-slot>
<g-panel-fixed>
<slot>
<view class="g_flex_row_center">
<g-button btnText="取消" class="g_mr_16" size="small" type="default" @clickBtn="goReturn"></g-button>
<g-button btnText="确定" class @clickBtn="handleSubmit" size="small" type="primary"></g-button>
</view>
</slot>
</g-panel-fixed>
</view>
</view>
]"
@updateFile="updateFile"
>
<template v-slot:after>
<view class="g_flex_row_start g_p_10" v-if="imgList.length > 0">
<view v-for="(item, index) in imgList" class="g_position_rela" :class="index <= 2 ? 'g_mr_18' : ''" :key="index">
<i class="iconfont icon-guanbi img-close" @click="delImg(index)"></i>
<image :src="item" class="g_w_56 g_h_56 g_radius_8" />
</view>
</view>
</template>
</g-panel-form-slot>
<g-panel-fixed>
<slot>
<view class="g_flex_row_center">
<g-button btnText="取消" class="g_mr_16" size="small" type="default" @clickBtn="goReturn"></g-button>
<g-button btnText="确定" class @clickBtn="handleSubmit" size="small" type="primary"></g-button>
</view>
</slot>
</g-panel-fixed>
</view>
</view>
</template>
<script>
import AiApply from './components/AiApply.vue'
import { nationlist } from '../../utils/nation.js'
import AiApply from "./components/AiApply.vue";
import { nationlist } from "../../utils/nation.js";
export default {
components: {
AiApply,
},
onReady() {
this.G.setNavStyle()
},
onShareAppMessage() {
return this.G.shareFun()
},
data() {
return {
cdnBaseImg: this.G.store().cdnBaseImg,
info: {
nation: '汉族',
},
nation: nationlist.map((item, index) => {
return item.name
}),
nationIndex: 0,
imgList: [],
}
},
onLoad(options) {
let that = this
console.log('快速报名:', options)
if (options) {
if (options.sex) {
options.sex = Number(options.sex)
} else {
options.sex = 1
}
if (options.nation) {
options.nation = options.nation.indexOf('族') > -1 ? options.nation : options.nation + '族'
} else {
options.nation = '汉族'
}
this.info = options
//
that.nation.forEach((item, index) => {
if (item == that.info.nation) {
that.nationIndex = index
}
})
if (this.info.imgs) {
this.imgList = this.info.imgs.split(',')
}
}
console.log('获取工友信息:', options)
},
onShow() {
let that = this
// that.nation.forEach((item, index) => {
// if (item == that.info.nation) {
// console.log(that.info.nation);
// console.log(index);
// that.nationIndex = index;
// }
// });
// that.speed = 0;
// setTimeout(() => {
// }, 300);
},
created() {
let that = this
},
methods: {
getTownsManInfo(info) {
let that = this
console.log('info', info)
that.info = {
...info,
index: that.info.index,
nation: info.nation + '族',
}
},
handleClickName(e) {
this.info.name = this.info.userName = e
},
handleClickSex(e) {
this.info.sex = e
},
handleClickAge(e) {
this.info.age = e
},
handleClickMobile(e) {
this.info.tel = e
},
handleClickNation(e) {
let that = this
console.log(e.name)
this.info.nation = e.name
that.nation.forEach((item, index) => {
if (item == e.name) {
// console.log(that.info.nation)
// console.log(index)
that.nationIndex = index
}
})
},
/**
* 获取上传的身份信息
*/
handlerIDInfo(res) {
console.log('res', res)
let that = this
that.info.name = res.info.name
that.info.sex = res.info.sex ? (res.info.sex == '男' ? 1 : 2) : ''
that.info.age = res.info.age
that.info.nation = res.info.nationality + '族'
that.info.idCard = res.info.num
that.info.idCardImageUrl = res.image
that.info.userName = res.info.name
that.info.address = res.info.address
that.nation.forEach((item, index) => {
console.log('item1', item)
console.log('that.info.nation + "族"', that.info.nation + '族')
if (item == that.info.nation) {
console.log('item2', item)
components: {
AiApply,
},
onReady() {
this.G.setNavStyle();
},
onShareAppMessage() {
return this.G.shareFun();
},
data() {
return {
cdnBaseImg: this.G.store().cdnBaseImg,
info: {
nation: "汉族",
},
nation: nationlist.map((item, index) => {
return item.name;
}),
nationIndex: 0,
imgList: [],
};
},
watch: {
"info.idCard"() {
console.log("this.info.idCard", this.info.idCard);
if (this.info.idCard && (this.info.idCard.length == 15 || this.info.idCard.length == 18)) {
let info = this.G.getInfoByIDcard(this.info.idCard);
console.log("info info info ", info);
this.info.age = info.age;
this.info.sex = info.sex ? (info.sex == "男" ? 1 : 2) : "";
}
},
},
onLoad(options) {
let that = this;
console.log("快速报名:", options);
if (options) {
if (options.sex) {
options.sex = Number(options.sex);
} else {
options.sex = 1;
}
if (options.nation) {
options.nation = options.nation.indexOf("族") > -1 ? options.nation : options.nation + "族";
} else {
options.nation = "汉族";
}
this.info = options;
//
that.nation.forEach((item, index) => {
if (item == that.info.nation) {
that.nationIndex = index;
}
});
if (this.info.imgs) {
this.imgList = this.info.imgs.split(",");
}
}
console.log("获取工友信息:", options);
},
onShow() {
let that = this;
// that.nation.forEach((item, index) => {
// if (item == that.info.nation) {
// console.log(that.info.nation);
// console.log(index);
// that.nationIndex = index;
// }
// });
// that.speed = 0;
// setTimeout(() => {
// }, 300);
},
created() {
let that = this;
},
methods: {
getTownsManInfo(info) {
let that = this;
console.log("info", info);
that.info = {
...info,
index: that.info.index,
nation: info.nation + "族",
};
},
handleClickName(e) {
this.info.name = this.info.userName = e;
},
handleClickSex(e) {
this.info.sex = e;
},
handleClickAge(e) {
this.info.age = e;
},
handleClickMobile(e) {
this.info.tel = e;
},
handleClickNation(e) {
let that = this;
console.log(e.name);
this.info.nation = e.name;
that.nation.forEach((item, index) => {
if (item == e.name) {
// console.log(that.info.nation)
// console.log(index)
that.nationIndex = index;
}
});
},
/**
* 获取上传的身份信息
*/
handlerIDInfo(res) {
console.log("res", res);
let that = this;
that.info.name = res.info.name;
that.info.sex = res.info.sex ? (res.info.sex == "男" ? 1 : 2) : "";
that.info.age = res.info.age;
that.info.nation = res.info.nationality + "族";
that.info.idCard = res.info.num;
that.info.idCardImageUrl = res.image;
that.info.userName = res.info.name;
that.info.address = res.info.address;
that.nation.forEach((item, index) => {
console.log("item1", item);
console.log('that.info.nation + "族"', that.info.nation + "族");
if (item == that.info.nation) {
console.log("item2", item);
that.nationIndex = index
}
})
console.log('that.info', that.info)
console.log('that.nationIndex', that.nationIndex)
that.$forceUpdate()
},
//
delImg(ind) {
this.imgList.splice(
this.imgList.findIndex((item, index) => index == ind),
1
)
},
//
updateFile(e) {
let that = this
if (that.imgList.length < 4) {
that.imgList.push(e)
uni.hideLoading()
} else {
uni.showToast({
title: '最多只能上传4张',
icon: 'none',
})
}
},
handleClickIDcard(e) {
this.info.idCard = e
if (this.info.idCard.length == 15 || this.info.idCard.length == 18) {
let info = this.G.getInfoByIDcard(this.info.idCard)
this.info.age = info.age
this.info.sex = info.sex ? (info.sex == '男' ? 1 : 2) : ''
this.$forceUpdate()
}
// console.log(this.G.getInfoByIDcard(this.info.idCard));
},
handleClickAddress(e) {
this.info.address = e
},
goReturn() {
uni.navigateBack()
},
handleSubmit() {
let that = this
console.log('that.info.imgs', that.info.imgs)
console.log('that.imgList', that.imgList)
that.nationIndex = index;
}
});
console.log("that.info", that.info);
console.log("that.nationIndex", that.nationIndex);
that.$forceUpdate();
},
//
delImg(ind) {
this.imgList.splice(
this.imgList.findIndex((item, index) => index == ind),
1
);
},
//
updateFile(e) {
let that = this;
if (that.imgList.length < 4) {
that.imgList.push(e);
uni.hideLoading();
} else {
uni.showToast({
title: "最多只能上传4张",
icon: "none",
});
}
},
handleClickIDcard(e) {
this.info.idCard = e;
console.log("eeeeee", this.info.idCard);
if (!that.info.name) {
uni.showToast({
icon: 'none',
title: '请输入姓名',
})
return false
}
if (!that.info.tel && !that.info.idCard) {
uni.showToast({
icon: 'none',
title: '请至少输入手机号或者身份证号',
})
return false
}
if (that.info.tel && !that.G.setReg(that.info.tel, 'tel')) {
uni.showToast({
icon: 'none',
title: '请输入正确的手机号',
})
return false
}
if (that.info.idCard && !that.G.isValidIdCard(that.info.idCard)) {
uni.showToast({
icon: 'none',
title: '请输入正确的身份证号',
})
return false
}
// console.log(this.G.getInfoByIDcard(this.info.idCard));
},
handleClickAddress(e) {
this.info.address = e;
},
goReturn() {
uni.navigateBack();
},
handleSubmit() {
let that = this;
console.log("that.info.imgs", that.info.imgs);
console.log("that.imgList", that.imgList);
console.log(that.info)
if (that.imgList.length > 0) {
that.info.imgs = that.imgList
}
console.log('that.info.imgs', that.info.imgs)
uni.$emit('getTownsman', { info: that.info })
uni.navigateBack()
},
handleClickInfo() {
let that = this
that.G.uploadImg((res) => {
console.log('res', res)
that.info.name = res.info.name || ''
that.info.sex = res.info.sex ? (res.info.sex == '男' ? 1 : 2) : ''
that.info.age = res.info.age || ''
that.info.nation = res.info.nationality || ''
that.info.idCard = res.info.num || ''
that.info.idCardImageUrl = res.image || ''
that.info.userName = res.info.name || ''
that.info.address = res.info.address || ''
that.nation.forEach((item, index) => {
if (item == that.info.nation) {
that.nationIndex = index
}
})
that.$forceUpdate()
}, 'idcard')
},
},
}
if (!that.info.name) {
uni.showToast({
icon: "none",
title: "请输入姓名",
});
return false;
}
if (!that.info.tel && !that.info.idCard) {
uni.showToast({
icon: "none",
title: "请至少输入手机号或者身份证号",
});
return false;
}
if (that.info.tel && !that.G.setReg(that.info.tel, "tel")) {
uni.showToast({
icon: "none",
title: "请输入正确的手机号",
});
return false;
}
if (that.info.idCard && !that.G.isValidIdCard(that.info.idCard)) {
uni.showToast({
icon: "none",
title: "请输入正确的身份证号",
});
return false;
}
console.log(that.info);
if (that.imgList.length > 0) {
that.info.imgs = that.imgList;
}
console.log("that.info.imgs", that.info.imgs);
uni.$emit("getTownsman", { info: that.info });
uni.navigateBack();
},
handleClickInfo() {
let that = this;
that.G.uploadImg((res) => {
console.log("res", res);
that.info.name = res.info.name || "";
that.info.sex = res.info.sex ? (res.info.sex == "男" ? 1 : 2) : "";
that.info.age = res.info.age || "";
that.info.nation = res.info.nationality || "";
that.info.idCard = res.info.num || "";
that.info.idCardImageUrl = res.image || "";
that.info.userName = res.info.name || "";
that.info.address = res.info.address || "";
that.nation.forEach((item, index) => {
if (item == that.info.nation) {
that.nationIndex = index;
}
});
that.$forceUpdate();
}, "idcard");
},
},
};
</script>
<style>
.img-close {
position: absolute;
width: 18px;
height: 18px;
right: -6px;
top: -6px;
z-index: 99;
background-color: #666;
color: #fff;
font-size: 8px;
text-align: center;
line-height: 18px;
border-radius: 50%;
position: absolute;
width: 18px;
height: 18px;
right: -6px;
top: -6px;
z-index: 99;
background-color: #666;
color: #fff;
font-size: 8px;
text-align: center;
line-height: 18px;
border-radius: 50%;
}
</style>

@ -1,6 +1,6 @@
<template>
<view class="p-root-home-quick g_w_all g_bg_f_5 g_kuaishou">
<AiApply class="" @outputInfo="getTownsManInfo" />
<AiApply class="" @outputInfo="getTownsManInfo" ref="AiApplyRef" />
<view class="">
<view class="card-tip g_pt_12 g_pb_8 g_pl_20 g_c_6">工友信息</view>
@ -109,8 +109,14 @@ export default {
onReady() {
this.G.setNavStyle();
let that = this;
uni.$on("getTownsman", function (data) {
uni.$on("getTownsman", (data) => {
console.log("getTownsman", data);
//
if (data.info.idCard && (data.info.idCard.length == 15 || data.info.idCard.length == 18)) {
let infoByIDcard = this.G.getInfoByIDcard(data.info.idCard);
data.info.age = infoByIDcard.age;
}
if (that.persenInfo.length == 0) {
that.persenInfo[0] = {
...data.info,
@ -459,11 +465,7 @@ export default {
handleClickMobile() {},
submitForm() {
let that = this;
uni.navigateTo({
url: "/root/home/applicationSuccess?jobId=" + that.updateInfo.jobId,
});
return
if (!that.agreeRadio) {
uni.showToast({
icon: "none",
@ -543,6 +545,7 @@ export default {
});
// that.persenInfo = [];
that.btnLoading = false;
that.$refs.AiApplyRef.ressetAitext();
// that.$forceUpdate();
setTimeout(() => {
@ -585,6 +588,7 @@ export default {
});
// that.persenInfo = [];
that.$refs.AiApplyRef.ressetAitext();
// that.$forceUpdate();
setTimeout(() => {
uni.navigateTo({

@ -110,13 +110,13 @@ export default {
applyAdd() {
let that = this;
if (!this.agencyInfo.fullName) {
uni.showToast({
title: "请输入企业简称",
icon: "none",
});
return;
}
// if (!this.agencyInfo.fullName) {
// uni.showToast({
// title: "",
// icon: "none",
// });
// return;
// }
if (this.ing) {
return;
}

@ -9,18 +9,18 @@
<div class="g_mt_8 g_fs_14 g_c_main" style="text-decoration: underline" @click="goHome('/pages/home/index')"></div>
</div>
<div class="r_box g_text_c g_h_56 g_mt_10 g_flex_row_between flex_center g_fs_16 g_pl_10 g_pr_10">
<div class="g_fw_600">我的团队</div>
<div class="g_fw_600">我的公司</div>
<div class="g_c_9">{{ agencyInfo.fullName || agencyInfo.userName }}{{ agencyNum > 0 ? `${agencyNum}人)` : "" }}</div>
</div>
<div class="r_box g_pl_10 g_pr_10 g_mt_10 g_pb_40">
<div class="g_text_c g_fs_18 g_fw_600 g_pt_12 g_pb_12" style="border-bottom: 1rpx dotted #eee">添加团队成员</div>
<div class="g_text_c g_fs_18 g_fw_600 g_pt_12 g_pb_12" style="border-bottom: 1rpx dotted #eee">添加公司成员</div>
<div class="g_pt_12 g_c_3 g_fs_14">
<p class="g_mb_10 g_fw_600">为什么要添加成员到团队?</p>
<p class="g_mb_10 g_fw_600">为什么要添加成员到公司?</p>
<div class="g_pl_20 g_c_6">
<p>1.发单号是以团队为单位进行发单和关注的</p>
<p>1.发单号是以公司为单位进行发单和关注的</p>
<p>2.创建人关注发单号后内部成员均可报名</p>
<p>3.团队成员无需再次关注共享报名权限</p>
<p>4.系统自动完成团队内部数据汇总与统计</p>
<p>3.公司成员无需再次关注共享报名权限</p>
<p>4.系统自动完成公司内部数据汇总与统计</p>
</div>
</div>
<div class="g_mt_40 g_flex_row_center">
@ -51,7 +51,7 @@ export default {
},
onLoad(options) {
console.log(options);
this.getNum();
// this.getNum();
},
created() {},

@ -15,7 +15,7 @@
@clickItem="handleClickItem"
/>
</view>
<view class="g_pl_10 g_pr_10 g_pb_16" v-if="isCreator">
<!-- <view class="g_pl_10 g_pr_10 g_pb_16" v-if="isCreator">
<view class="g_bg_f g_pl_20 g_pr_20 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>
@ -25,7 +25,7 @@
</view>
</view>
<view class="g_fs_14 g_mt_8 g_pl_20 g_c_9"> 关闭后首页收到的发单号邀请不再主动弹出 </view>
</view>
</view> -->
<g-panel-form-item
:list="[
{

@ -528,6 +528,9 @@ $max-font-size: 28;
font-size: 12px;
zoom: 0.95;
}
.g_fs_36 {
font-size: 36px;
}
//
$min-size: 0;
$max-size: 200;

@ -1,8 +1,8 @@
@font-face {
font-family: "iconfont"; /* Project id 4374774 */
src: url('//at.alicdn.com/t/c/font_4374774_y7g55uwl0s.woff2?t=1756693701292') format('woff2'),
url('//at.alicdn.com/t/c/font_4374774_y7g55uwl0s.woff?t=1756693701292') format('woff'),
url('//at.alicdn.com/t/c/font_4374774_y7g55uwl0s.ttf?t=1756693701292') format('truetype');
src: url('//at.alicdn.com/t/c/font_4374774_2935rh1xxue.woff2?t=1763019619317') format('woff2'),
url('//at.alicdn.com/t/c/font_4374774_2935rh1xxue.woff?t=1763019619317') format('woff'),
url('//at.alicdn.com/t/c/font_4374774_2935rh1xxue.ttf?t=1763019619317') format('truetype');
}
.iconfont {
@ -13,6 +13,62 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-kuaisubaoming:before {
content: "\e67f";
}
.icon-filedone:before {
content: "\e7b4";
}
.icon-file-exception:before {
content: "\e7b5";
}
.icon-filesync:before {
content: "\e7b6";
}
.icon-filesearch:before {
content: "\e7b9";
}
.icon-fileprotect:before {
content: "\e7bb";
}
.icon-file-text:before {
content: "\e7bc";
}
.icon-audit:before {
content: "\e7bf";
}
.icon-antdesign:before {
content: "\e879";
}
.icon-shujudaping:before {
content: "\e616";
}
.icon-shujudaping1:before {
content: "\e644";
}
.icon-shujutongji:before {
content: "\e62f";
}
.icon-chengyuanjituanduiguanli:before {
content: "\e6c5";
}
.icon-wokanguodemingpian:before {
content: "\e6d2";
}
.icon-detail:before {
content: "\e793";
}

@ -66,6 +66,7 @@ export default {
imgradius: {
default: "0",
},
// ()
imgType: {
default: "",
},
@ -291,9 +292,9 @@ export default {
@import "../../iconfont.css";
@font-face {
font-family: "iconfont"; /* Project id 4374774 */
src: url('//at.alicdn.com/t/c/font_4374774_pm01bomgppe.woff2?t=1755661995542') format('woff2'),
url('//at.alicdn.com/t/c/font_4374774_pm01bomgppe.woff?t=1755661995542') format('woff'),
url('//at.alicdn.com/t/c/font_4374774_pm01bomgppe.ttf?t=1755661995542') format('truetype');
src: url('//at.alicdn.com/t/c/font_4374774_2935rh1xxue.woff2?t=1763019619317') format('woff2'),
url('//at.alicdn.com/t/c/font_4374774_2935rh1xxue.woff?t=1763019619317') format('woff'),
url('//at.alicdn.com/t/c/font_4374774_2935rh1xxue.ttf?t=1763019619317') format('truetype');
}
.iconfont {
@ -303,25 +304,9 @@ export default {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
//
.icon-home:before {
content: "\e7e1";
}
//
.icon-order_active:before {
content: "\e617";
}
//
.icon-message:before {
content: "\e78a";
}
//
.icon-user:before {
content: "\e7ae";
}
//
.icon-fadanhao-32:before {
content: "\e67d";
.icon-kuaisubaoming:before {
font-size: 36px;
content: "\e67f";
}
.u-icon {
display: inline-flex;

@ -6,7 +6,7 @@
position: 'absolute',
left: left + 'px',
top: top + 'px',
zIndex: 9998,
zIndex: 99,
overflow: 'hidden'
}"
@touchmove.stop.prevent>

@ -1197,10 +1197,16 @@ let data = {
getInfoByIDcard (idCard) {
let info = {}
let birthday
if (idCard.length !== 15 && idCard.length !== 18) {
return {
sex: '',
age: '',
}
}
// 获取性别
if (idCard.length === 15) {
info.sex = ['女', '男'][idCard.substr(14, 1) % 2]
birthday = Y + [idCard.substr(6, 2), idCard.substr(8, 2), idCard.substr(10, 2)].join('-')
birthday = [idCard.substr(6, 2), idCard.substr(8, 2), idCard.substr(10, 2)].join('-')
} else if (idCard.length === 18) {
info.sex = ['女', '男'][idCard.substr(16, 1) % 2]
birthday = [idCard.substr(6, 4), idCard.substr(10, 2), idCard.substr(12, 2)].join('-')

Loading…
Cancel
Save