no message
parent
09ba059ec3
commit
da6850fa78
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -0,0 +1,205 @@
|
|||||||
|
<template>
|
||||||
|
<view class="g-components-chat-markdown g_fs_17">
|
||||||
|
<div class="g-tip-title g_flex_row_between"
|
||||||
|
style="background-color: #d6e9ff;
|
||||||
|
padding: 10px 10px 22px 10px;
|
||||||
|
border-top-left-radius: 8px;
|
||||||
|
border-top-right-radius: 8px;
|
||||||
|
position: relative;
|
||||||
|
bottom: -16px;
|
||||||
|
margin-top: -16px;
|
||||||
|
"
|
||||||
|
@click="handleMore"
|
||||||
|
>
|
||||||
|
<div class="g_flex_row_between g_w_all">
|
||||||
|
<div class="g_flex_1 g_ell_1" style="font-size: 18px;color: #576b95;font-weight: 600;">
|
||||||
|
智能匹配方案推荐
|
||||||
|
</div>
|
||||||
|
<div class="g_flex_none g_ml_12 g_flex_column_center">
|
||||||
|
<i class="iconfont icon-gengduo11" style="color: #666666;"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="g_mt_2" style="font-size: 14px;color: #888888;">
|
||||||
|
更多信息可点击卡片查看详情。
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-if="cusList && cusList.length > 0">
|
||||||
|
<div class="item" v-for="(item,index) in cusList" :key="index">
|
||||||
|
<view class="itema g_position_rela g_bg_f"
|
||||||
|
@click="handleCard(item, index)"
|
||||||
|
:class="isbor == 1 ? '' : 'bor8'"
|
||||||
|
>
|
||||||
|
<view class="g_pt_10 g_pb_10 g_border_e_b issa" style="width: calc(100% - 20px);margin: 0 auto;position: relative;">
|
||||||
|
<i class="iconfont icon-yitingzhao" v-if="item.recruitment == 2"
|
||||||
|
style="position: absolute; right: 30px; top: 50%; transform: translateY(-50%);color: #ff4d4f;font-size: 80px;z-index: 1;"
|
||||||
|
></i>
|
||||||
|
<!-- 基础信息 -->
|
||||||
|
<view class="m-top g_flex_row_between">
|
||||||
|
<view class="g_flex_1 g_flex_column_between">
|
||||||
|
<view class="g_flex_1 g_flex_row_between g_lh_1">
|
||||||
|
<view class="g_flex_none g_flex_row_start flex_center">
|
||||||
|
<img class="g_w_32 g_h_16 g_mr_4" v-if="item.picked == 1" src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/bocaigongyinglian/zhen.svg" alt="" />
|
||||||
|
<view class="g_ell_1 g_fs_18 g_fw_600" style="color: rgba(0, 0, 0, 0.85); max-width: 500rpx; line-height: 1.3">{{ item.jobName }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="g_fs_14 g_flex_row_end" style="color: rgba(0, 0, 0, 0.45)">
|
||||||
|
<view>{{ timeShowXXX(item.updateTime) }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="g_flex_none g_flex_row_between g_mt_2">
|
||||||
|
<view class="g_flex_none g_flex_row_start g_fs_14" style="color: rgba(0, 0, 0, 0.45)">
|
||||||
|
<view class="g_ell_1" style="max-width: 136px; margin-right: 2px"> {{ item.district }}{{ item.district ? "丨" : "" }} </view>
|
||||||
|
{{ item.gender + "丨" + item.age }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 标签 -->
|
||||||
|
<view class="m-bottom g_flex_row_between g_mt_2">
|
||||||
|
<view class="g_flex_1 g_flex_row_between flex_center">
|
||||||
|
<view class="g_flex_1 g_flex_row_between">
|
||||||
|
<view class="g_flex_row_start_none g_flex_1" style="max-width: 75%; flex-wrap: wrap; height: 22px; overflow: hidden"
|
||||||
|
v-if="item.jobSpecialLabelNames"
|
||||||
|
>
|
||||||
|
<view class="label_btn" v-for="(itm, inx) in item.jobSpecialLabelNames.split(',')" :key="inx">{{ itm }}</view>
|
||||||
|
<view class="label_btn" v-if="item.jobSpecialLabelNameArray && item.jobSpecialLabelNameArray.length == 0"> 暂无特色 </view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 费用 -->
|
||||||
|
<view class="g_mt_2">
|
||||||
|
<view class="g_flex_row_between flex_center g_fs_22 g_c_f40 g_fw_600">
|
||||||
|
<rich-text class="g_lh_1" :nodes="item.cus_price" v-if="item.cus_price != '月薪'"></rich-text>
|
||||||
|
<view v-else>{{ (item.minMonthlyPay / 100) + '-' + (item.maxMonthlyPay / 100) }}<span class="g_fs_14"> 元/月 </span> </view>
|
||||||
|
<view class="g_flex_row_start g_fs_12 g_pr_4 g_h_20 g_fw_400" style="background: linear-gradient(138deg, #fde0ad 22%, #fac474); border-radius: 2px; color: #754300; line-height: 20px">
|
||||||
|
<view class>
|
||||||
|
<image class="g_mr_4" style="width: 20px; height: 20px; display: block" src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/fee.svg" mode="aspecFill" lazy-load="false"></image>
|
||||||
|
</view>
|
||||||
|
<view class="g_fs_13" v-if="userinfo.agencyStatus == 1">{{ item.fuWuFei || "详询客服" }}</view>
|
||||||
|
<view class="biggerSize2 g_fs_13" v-else>{{ "仅代理可见" }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="g_border_e_t g_p_8 g_flex_row_between flex_center" v-if="userinfo.corpUserFlag && false">
|
||||||
|
<view class="g_c_6 g_fs_12 g_pr_4 g_radius_4 g_flex_row_start flex_center" style="background: #f1faff">
|
||||||
|
<img class="g_w_33 g_h_22 g_mr_4" src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/bocaigongyinglian/xmf.svg" alt="" />
|
||||||
|
{{ item.supplierName || "-" }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-else class="g_p_10 g_bg_f g_flex_c g_mt_12"
|
||||||
|
style="border-radius: 12px;padding: 24px 10px;"
|
||||||
|
:style="{
|
||||||
|
'border-radius': isbor == 1 ? '0' : '12px'
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
<u-empty
|
||||||
|
text="暂无更多职位"
|
||||||
|
:src="cdnBaseImg + 'noData.svg'"
|
||||||
|
>
|
||||||
|
</u-empty>
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
cdnBaseImg:this.G.store().cdnBaseImg,
|
||||||
|
userinfo: uni.getStorageSync("apply-userinfo"),
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
cusList: {
|
||||||
|
default: () => {
|
||||||
|
return [];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
isbor: {
|
||||||
|
default: () => {
|
||||||
|
return 0;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
onHide(){
|
||||||
|
uni.removeStorageSync('test_file')
|
||||||
|
},
|
||||||
|
onUnload() {
|
||||||
|
uni.removeStorageSync('test_file')
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleMore(){
|
||||||
|
this.$emit('exportMore')
|
||||||
|
},
|
||||||
|
handleCard($item) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/root/detail/work?id=" + $item.id,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
timeShowXXX(updateTime) {
|
||||||
|
const now = Date.now();
|
||||||
|
const diff = now - updateTime;
|
||||||
|
|
||||||
|
const seconds = Math.floor(diff / 1000);
|
||||||
|
const minutes = Math.floor(seconds / 60);
|
||||||
|
const hours = Math.floor(minutes / 60);
|
||||||
|
const days = Math.floor(hours / 24);
|
||||||
|
|
||||||
|
if (days < 2) {
|
||||||
|
if (hours > 0) {
|
||||||
|
return `${hours}小时前`;
|
||||||
|
} else if (minutes > 0) {
|
||||||
|
return `${minutes}分钟前`;
|
||||||
|
} else {
|
||||||
|
return `刚刚`;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return `${days}天前`;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.g-components-chat-markdown{
|
||||||
|
.label_btn {
|
||||||
|
display: inline-block;
|
||||||
|
height: 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #666;
|
||||||
|
background: #f1faff;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 0 4px 0px;
|
||||||
|
line-height: 20px;
|
||||||
|
margin-right: 6px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
position: relative;
|
||||||
|
top: 1px;
|
||||||
|
}
|
||||||
|
.item{
|
||||||
|
&:nth-child(1){
|
||||||
|
.itema{
|
||||||
|
border-top-left-radius: 8px;
|
||||||
|
border-top-right-radius: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:last-child{
|
||||||
|
.issa{
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
.bor8{
|
||||||
|
border-bottom-left-radius: 8px !important;
|
||||||
|
border-bottom-right-radius: 8px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -0,0 +1,64 @@
|
|||||||
|
<template>
|
||||||
|
<view class="g-components-chat-message g_fs_17 g_flex_row_start" >
|
||||||
|
<div class="g_flex_column_center">
|
||||||
|
{{displayedMessage}}
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
cusMessage: {
|
||||||
|
type: String,
|
||||||
|
default: () => {
|
||||||
|
return '';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
isRender:{
|
||||||
|
default: () => {
|
||||||
|
return 0;
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
isShow:0,
|
||||||
|
displayedMessage: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
cusMessage: {
|
||||||
|
handler(newVal) {
|
||||||
|
const hasDot = newVal.endsWith('。');
|
||||||
|
const messageWithoutDot = hasDot ? newVal.slice(0, -1) : newVal;
|
||||||
|
this.displayedMessage = messageWithoutDot;
|
||||||
|
if (this.isShow) {
|
||||||
|
this.displayedMessage = messageWithoutDot + '...';
|
||||||
|
} else {
|
||||||
|
this.displayedMessage = hasDot ? messageWithoutDot + '。' : messageWithoutDot;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
immediate: true
|
||||||
|
},
|
||||||
|
'isRender': {
|
||||||
|
handler(newVal) {
|
||||||
|
this.isShow = newVal;
|
||||||
|
const hasDot = this.cusMessage.endsWith('。');
|
||||||
|
const messageWithoutDot = hasDot ? this.cusMessage.slice(0, -1) : this.cusMessage;
|
||||||
|
this.displayedMessage = this.isShow ? messageWithoutDot + '...' : (hasDot ? messageWithoutDot + '。' : messageWithoutDot);
|
||||||
|
},
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created(){
|
||||||
|
this.isShow = this.isRender;
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
@ -0,0 +1,95 @@
|
|||||||
|
let ajaxUrl = "https://api.coze.cn/";
|
||||||
|
|
||||||
|
let requestTask;
|
||||||
|
let data = {
|
||||||
|
ajaxUrl: ajaxUrl,
|
||||||
|
startAbort ($bool = 0) {
|
||||||
|
if ($bool == 1) {
|
||||||
|
requestTask.abort();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
coziGet ($url = '', $parmas = {}, callback = () => { }, failback = () => { }) {
|
||||||
|
let that = this,
|
||||||
|
params = {};
|
||||||
|
let promise = new Promise((resolve, reject) => {
|
||||||
|
params = $parmas;
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
promise.then(() => {
|
||||||
|
that.postData($url, params, callback, failback, 'GET');
|
||||||
|
}).catch();
|
||||||
|
},
|
||||||
|
coziPost ($url = '', $parmas = {}, callback = () => { }, failback = () => { }) {
|
||||||
|
let that = this,
|
||||||
|
params = {};
|
||||||
|
let promise = new Promise((resolve, reject) => {
|
||||||
|
params = $parmas;
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
promise.then(() => {
|
||||||
|
that.postData($url, params, callback, failback, 'POST');
|
||||||
|
}).catch();
|
||||||
|
},
|
||||||
|
|
||||||
|
// 发送请求
|
||||||
|
postData ($url = '', $parmas = {}, callback = () => { }, failback = () => { }, $method) {
|
||||||
|
let that = this,
|
||||||
|
$header = {};
|
||||||
|
if ($parmas == '') {
|
||||||
|
$parmas = {};
|
||||||
|
}
|
||||||
|
if(uni.getStorageSync("cozi_token")){
|
||||||
|
$header['Authorization'] = 'Bearer ' + uni.getStorageSync("cozi_token");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查网络信息, 避免网络引起的错误码
|
||||||
|
uni.getNetworkType({
|
||||||
|
success: function (res) {
|
||||||
|
console.log(res);
|
||||||
|
if (res.networkType != 'none') {
|
||||||
|
requestTask = uni.request({
|
||||||
|
url: ajaxUrl + $url,
|
||||||
|
data: $parmas,
|
||||||
|
header: $header,
|
||||||
|
method: $method,
|
||||||
|
success: (res) => {
|
||||||
|
console.log('res before', res);
|
||||||
|
let resData = res.data;
|
||||||
|
console.log('res after', resData);
|
||||||
|
if($parmas.stream){
|
||||||
|
callback(resData);
|
||||||
|
}else{
|
||||||
|
if (resData.code == 0) {// 正常
|
||||||
|
callback(resData.data, resData.msg);
|
||||||
|
} else {// 其他异常
|
||||||
|
failback(resData.msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fail (error) {
|
||||||
|
console.log('请求失败', error);
|
||||||
|
if (error.errMsg == 'request:fail abort' || error.errMsg == 'request:fail timeout') {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
uni.showToast({
|
||||||
|
title: error.errMsg,
|
||||||
|
icon: "none"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
failback(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
uni.showToast({
|
||||||
|
title: '网络异常,请检查网络',
|
||||||
|
icon: "none"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
export default data;
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue