Compare commits

...

8 Commits

@ -19,6 +19,7 @@ let userInfo = {// 用户信息模块
user_getTeamList: "/yishoudan/agency/group/user/listByUser",// 获取登录人团队列表 user_getTeamList: "/yishoudan/agency/group/user/listByUser",// 获取登录人团队列表
user_toggleTeam: "/yishoudan/agency/group/user/changeGroup",// 切换团队 user_toggleTeam: "/yishoudan/agency/group/user/changeGroup",// 切换团队
get_supplier_info: "/agency/getCompanyAuth",// 获取认证信息 get_supplier_info: "/agency/getCompanyAuth",// 获取认证信息
get_AgencyIdByAccId: "/wyyx/systemuser/getAgencyIdByAccid",// 获取认证信息
/** /**
* 团队成员相关 * 团队成员相关

@ -20,7 +20,7 @@
</view> </view>
<view v-if="speed > 0" class="link"> <view v-if="speed > 0" class="link">
<block class="" v-for="(item, index) in jobArray" :key="index"> <block class="" v-for="(item, index) in jobArray" :key="index">
<view class="item g_position_rela g_mb_10 g_ml_12 g_mr_12 g_bg_f g_radius_8 g_border_e_b" :class="from == 'share' || from == 'chat' ? 'g_pl_32' : ''"> <view class="item g_position_rela g_mb_10 g_ml_12 g_mr_12 g_bg_f g_radius_8 g_border_e_b" :class="from == 'share' ? 'g_pl_32' : ''">
<view class="g_p_10 g_position_rela" style="" @click="handleCard(item, index)"> <view class="g_p_10 g_position_rela" style="" @click="handleCard(item, index)">
<i class="iconfont icon-yitingzhao" v-if="item.recruitment == 2 && from != 'mine'" style="position: absolute; left: 50%; top: 58%; transform: translate(-50%, -50%); color: #ff4d4f; font-size: 80px; z-index: 1"></i> <i class="iconfont icon-yitingzhao" v-if="item.recruitment == 2 && from != 'mine'" style="position: absolute; left: 50%; top: 58%; transform: translate(-50%, -50%); color: #ff4d4f; font-size: 80px; z-index: 1"></i>
<view class="m-top g_flex_row_between"> <view class="m-top g_flex_row_between">
@ -110,29 +110,32 @@
<i class="iconfont icon-gengduo2 icon g_c_b1" style="font-size: 32rpx"></i> <i class="iconfont icon-gengduo2 icon g_c_b1" style="font-size: 32rpx"></i>
</view> </view>
</view> </view>
<view class="g_flex_row_between flex_center g_border_e_t g_p_8" style="line-height: 23px" v-if="from != 'shareList'"> <view class="g_border_e_t g_p_8" style="line-height: 23px" v-if="from != 'shareList'">
<view class="g_c_6 g_fs_12 g_pr_4 g_radius_4 g_flex_row_start flex_center" style="background: #f1faff" @click="toApplyInfo(item)"> <view class="g_flex_row_between flex_center" v-if="from != 'chat'">
<!-- <div class="g_w_36 g_mr_4 g_fs_12 g_pl_4 g_pr_4" style="background-color: #e3f5ff">发单号</div> --> <view class="g_c_6 g_fs_12 g_pr_4 g_radius_4 g_flex_row_start flex_center" style="background: #f1faff" @click="toApplyInfo(item)">
<img class="g_w_36 g_h_20 g_mr_4" src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/bocaigongyinglian/icon-fadanhao.svg" alt="" /> <!-- <div class="g_w_36 g_mr_4 g_fs_12 g_pl_4 g_pr_4" style="background-color: #e3f5ff">发单号</div> -->
<view> <img class="g_w_36 g_h_20 g_mr_4" src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/bocaigongyinglian/icon-fadanhao.svg" alt="" />
{{ item.fullName || item.agencyName || "-" }} <view>
{{ item.fullName || item.agencyName || "-" }}
</view>
</view> </view>
</view> <view class="g_c_6 g_fs_12 g_pr_4 g_radius_4 g_flex_row_start flex_center" style="background: #f1faff" v-if="userinfo.agencyId == item.agencyId">
<view class="g_c_6 g_fs_12 g_pr_4 g_radius_4 g_flex_row_start flex_center" style="background: #f1faff" v-if="userinfo.agencyId == item.agencyId"> <img class="g_w_36 g_h_20 g_mr_4" src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/bocaigongyinglian/xmf.svg" alt="" />
<img class="g_w_36 g_h_20 g_mr_4" src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/bocaigongyinglian/xmf.svg" alt="" /> <!-- <div class="g_mr_4 g_fs_12 g_pl_4 g_pr_4" style="">项目方:</div> -->
<!-- <div class="g_mr_4 g_fs_12 g_pl_4 g_pr_4" style="">项目方:</div> --> <view>
<view> {{ item.upFullName || item.upAgencyName || item.upProviderName || "-" }}
{{ item.upFullName || item.upAgencyName || item.upProviderName || "-" }} </view>
</view> </view>
</view> </view>
<view class="g_flex_row_end flex_center" v-if="from == 'chat'">
<g-button btnText="发送" fontSize="14" type="primary" size="mini" @clickBtn="sendJob(item)" />
<!-- <view class="checkBox g_c_main g_fs_14" hover-class="none" @click.stop="sendJob(item)"> 发送 </view> -->
</view>
</view> </view>
</view> </view>
<view class="checkBox" hover-class="none" v-if="from == 'share'" @click.stop="checkJob(item)"> <view class="checkBox" hover-class="none" v-if="from == 'share'" @click.stop="checkJob(item)">
<checkbox class="biggerSize" style="transform: scale(0.8, 0.8)" color="g_c_main" :checked="item.checked" :value="item.checked"></checkbox> <checkbox class="biggerSize" style="transform: scale(0.8, 0.8)" color="g_c_main" :checked="item.checked" :value="item.checked"></checkbox>
</view> </view>
<view class="checkBox g_c_main g_fs_14" hover-class="none" v-if="from == 'chat'" @click.stop="sendJob(item)">
发送
</view>
</view> </view>
</block> </block>
<view class="g_mt_32 g_pb_32 g_c_9 g_pl_12 g_text_c" v-if="isShowLoginBtn && jobArray.length > 0" hover-class="none"> <view class="g_mt_32 g_pb_32 g_c_9 g_pl_12 g_text_c" v-if="isShowLoginBtn && jobArray.length > 0" hover-class="none">
@ -421,10 +424,9 @@ export default {
checkJob(_item) { checkJob(_item) {
this.$emit("checkJob", _item); this.$emit("checkJob", _item);
}, },
sendJob(_item){ sendJob(_item) {
this.$emit("sendJob", _item); this.$emit("sendJob", _item);
},
},
submitApply(e) { submitApply(e) {
let that = this; let that = this;
let params = { let params = {

@ -129,6 +129,8 @@ onShow(() => {
trackInit("ConversationUIKit"); trackInit("ConversationUIKit");
// //
uni.$UIKitStore?.uiStore.selectConversation(""); uni.$UIKitStore?.uiStore.selectConversation("");
const conversationId = uni.$UIKitStore.uiStore.selectedConversation;
console.log("conversationId", conversationId);
// (im, , ) // (im, , )
uni.$UIKitStore.conversationStore.getConversationListActive(0, 100).then((res) => { uni.$UIKitStore.conversationStore.getConversationListActive(0, 100).then((res) => {
console.log("reresresresress", res); console.log("reresresresress", res);

@ -30,7 +30,6 @@
<!-- </div> --> <!-- </div> -->
<u-popup v-model="jobListShow" mode="bottom" z-index="999999" border-radius="12" :closeable="false" :mask-close-able="true" :mask="true" @close="jobListShow = false"> <u-popup v-model="jobListShow" mode="bottom" z-index="999999" border-radius="12" :closeable="false" :mask-close-able="true" :mask="true" @close="jobListShow = false">
<div class="" @click="sendMsg">123123</div>
<scroll-view :scroll-y="true" @scrolltolower="reachBottom" class="g_bg_ed" style="height: 90vh"> <scroll-view :scroll-y="true" @scrolltolower="reachBottom" class="g_bg_ed" style="height: 90vh">
<div class=""> <div class="">
<div class="m-search g_p_10 g_pt_8 g_position_rela g_flex_1 g_bg_ed sticky" style id="searchInputBox"> <div class="m-search g_p_10 g_pt_8 g_position_rela g_flex_1 g_bg_ed sticky" style id="searchInputBox">

@ -63,13 +63,20 @@
</div> </div>
</div> </div>
<!--键盘高度{{keyHeight}} 输入框距离底部距离{{writeStyle}}屏幕高度{{screenHeight}}顶部聊天区域高度{{msgKeyHeight}}--> <!-- {{ssff}}键盘高度{{keyHeight}} 输入框距离底部距离{{writeStyle}}屏幕高度{{screenHeight}}顶部聊天区域高度{{msgKeyHeight}} -->
<input v-show="!showEmojiInput" :focus="isFocus" class="msg-input-input g_flex_1" :maxlength="-1" :placeholder="isTeamMute ? t('teamMutePlaceholder') : t('chatInputPlaceHolder')" v-model="inputText" type="text" :disabled="isTeamMute" :confirm-hold="true" cursor-spacing="20" :adjust-position="pushUp" confirm-type="send" @keyboardheightchange="keyboardheightchange" @confirm="handleSendTextMsg" @blur="handleInputBlur" @input="handleInput" id="msg-input" /> <input v-show="!showEmojiInput" :focus="isFocus" class="msg-input-input g_flex_1" :maxlength="-1" :placeholder="isTeamMute ? t('teamMutePlaceholder') : t('chatInputPlaceHolder')" v-model="inputText" type="text" :disabled="isTeamMute" :confirm-hold="true" cursor-spacing="20" :adjust-position="pushUp" confirm-type="send" @keyboardheightchange="keyboardheightchange" @focus="handleInputFocus" @confirm="handleSendTextMsg" @blur="handleInputBlur" @input="handleInput" id="msg-input" />
</div> </div>
<div class="msg-input-button" @tap="(event) => handleSendJob()">
<div class="msg-input-button" v-if="false"> <div class="iconfont icon-5gongdanguanli g_c_6 g_fs_24"></div>
<Icon @tap="handleEmojiVisible" class="g_p_6" style="padding-right: 5px" :size="28" type="icon-biaoqing" />
</div> </div>
<!-- <div class="send-more-panel-item-wrapper">
<div class="send-more-panel-item" @tap="(event) => handleSendJob()">
<div class="iconfont icon-5gongdanguanli g_c_6 g_fs_24 g_fw_600"></div>
</div>
</div> -->
<!-- <div class="msg-input-button" v-if="false">
<Icon @tap="handleEmojiVisible" class="g_p_6" style="padding-right: 5px" :size="28" type="icon-biaoqing" />
</div> -->
<div class="msg-input-button" v-if="true"> <div class="msg-input-button" v-if="true">
<Icon @tap="handleSendMoreVisible" class="g_p_6" style="padding-left: 5px; padding-right: 8px" type="send-more" :size="28" /> <Icon @tap="handleSendMoreVisible" class="g_p_6" style="padding-left: 5px; padding-right: 8px" type="send-more" :size="28" />
</div> </div>
@ -98,13 +105,13 @@
<div class="icon-text">{{ t("shootText") }}</div> <div class="icon-text">{{ t("shootText") }}</div>
</div> </div>
<div class="send-more-panel-item-wrapper"> <!-- <div class="send-more-panel-item-wrapper">
<div class="send-more-panel-item" @tap="(event) => handleSendVideoMsg('album', event)"> <div class="send-more-panel-item" @tap="(event) => handleSendVideoMsg('album', event)">
<Icon type="icon-shipin2" :size="30"></Icon> <Icon type="icon-shipin2" :size="30"></Icon>
</div> </div>
<div class="icon-text">{{ t("albumText") }}</div> <div class="icon-text">{{ t("albumText") }}</div>
</div> </div> -->
<div class="send-more-panel-item-wrapper" v-if="isApp && props.conversationType !== V2NIMConst.V2NIMConversationType.V2NIM_CONVERSATION_TYPE_TEAM"> <!-- <div class="send-more-panel-item-wrapper" v-if="isApp && props.conversationType !== V2NIMConst.V2NIMConversationType.V2NIM_CONVERSATION_TYPE_TEAM">
<div class="send-more-panel-item" @tap="handleCall(1)"> <div class="send-more-panel-item" @tap="handleCall(1)">
<Icon type="icon-audio-call" :size="30"></Icon> <Icon type="icon-audio-call" :size="30"></Icon>
</div> </div>
@ -115,7 +122,7 @@
<Icon type="icon-video-call" :size="30"></Icon> <Icon type="icon-video-call" :size="30"></Icon>
</div> </div>
<div class="icon-text">{{ t("videoCallText") }}</div> <div class="icon-text">{{ t("videoCallText") }}</div>
</div> </div> -->
<div v-if="isWeb" class="send-more-panel-item-wrapper" @tap="handleSendFileMsg"> <div v-if="isWeb" class="send-more-panel-item-wrapper" @tap="handleSendFileMsg">
<div class="send-more-panel-item"> <div class="send-more-panel-item">
<Icon type="icon-file" :size="30"></Icon> <Icon type="icon-file" :size="30"></Icon>
@ -361,72 +368,80 @@ const pushUp = ref(false);
const keyHeight = ref(350); const keyHeight = ref(350);
const msgKeyHeight = ref("100%"); const msgKeyHeight = ref("100%");
const ssff = ref(uni.getWindowInfo().safeArea.top);
const handleInputFocus = (e) => {
emojiVisible.value = false;
extVisible.value = false;
audioPanelVisible.value = false;
sendMoreVisible.value = false;
const systemInfo = uni.getSystemInfoSync();
const availableHeight = systemInfo.windowHeight - e.detail.height - ssff.value;
setTimeout(()=>{
console.log("获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点");
uni.$emit("msgKeyHeight", availableHeight); //
writeStyle.value = `bottom: calc(${e.detail.height}px - env(safe-area-inset-bottom))`;
uni.$emit(events.ON_SCROLL_BOTTOM);
},80)
// if (e.detail.height === 0) {
// writeStyle.value = "bottom: 0";
// uni.$emit("msgKeyHeight", "100%"); //
// } else {
// //
// emojiVisible.value = false;
// extVisible.value = false;
// audioPanelVisible.value = false;
// sendMoreVisible.value = false;
// const systemInfo = uni.getSystemInfoSync();
// 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))`;
// // let safeBottom = 0;
// }
}
// message-input.vuekeyboardheightchange // message-input.vuekeyboardheightchange
// message-input.vuekeyboardheightchange // message-input.vuekeyboardheightchange
const keyboardheightchange = (e) => { const keyboardheightchange = (e) => {
keyHeight.value = e.detail.height; keyHeight.value = e.detail.height;
uni.$emit(events.KeyboardEvent, e.detail.height); uni.$emit(events.KeyboardEvent, e.detail.height);
uni.$emit('KeyboardHeight', e.detail.height); uni.$emit("KeyboardHeight", e.detail.height);
if (e.detail.height === 0) { if (e.detail.height === 0) {
writeStyle.value = "bottom: 0"; writeStyle.value = "bottom: 0";
uni.$emit('msgKeyHeight', '100%'); // uni.$emit("msgKeyHeight", "100%"); //
} else { } else {
// //
emojiVisible.value = false; console.log("触发输入框触发输入框触发输入框触发输入框触发输入框触发输入框触发输入框触发输入框");
extVisible.value = false; emojiVisible.value = false;
audioPanelVisible.value = false; extVisible.value = false;
sendMoreVisible.value = false; audioPanelVisible.value = false;
sendMoreVisible.value = false;
// APP const systemInfo = uni.getSystemInfoSync();
const systemInfo = uni.getSystemInfoSync(); const availableHeight = systemInfo.windowHeight - e.detail.height - ssff.value;
const safeBottom = systemInfo.safeAreaInsets?.bottom || 0; uni.$emit("msgKeyHeight", availableHeight); //
// = - - writeStyle.value = `bottom: calc(${e.detail.height}px - env(safe-area-inset-bottom))`;
}
// setTimeout(()=>{
// #ifdef MP-WEIXIN uni.$emit(events.ON_SCROLL_BOTTOM);
if (systemInfo.platform === 'ios') { },80)
const availableHeight = systemInfo.windowHeight - e.detail.height - safeBottom - 64;
uni.$emit('msgKeyHeight', availableHeight); //
}else{
const availableHeight = systemInfo.windowHeight - e.detail.height - safeBottom - 94;
uni.$emit('msgKeyHeight', availableHeight); //
}
writeStyle.value = `bottom: calc(${e.detail.height}px - env(safe-area-inset-bottom))`;
// #endif
// #ifdef APP-PLUS
//
let availableHeight, bottomValue;
if (systemInfo.platform === 'ios') {
//
availableHeight = systemInfo.windowHeight - e.detail.height - safeBottom;
bottomValue = e.detail.height - safeBottom - 34;
} else {
//
availableHeight = systemInfo.windowHeight - e.detail.height - safeBottom - 34;
bottomValue = e.detail.height - safeBottom;
}
uni.$emit('msgKeyHeight', availableHeight); //
writeStyle.value = `bottom: ${bottomValue}px`;
// #endif
}
};
const handleInputBlur = () => {
isFocus.value = false;
uni.$emit("msgKeyHeight", "100%");
}; };
// const handleInputBlur = () => {
// isFocus.value = false;
// uni.$emit("msgKeyHeight", "100%");
// };
// //
const scrollBottom = () => { const scrollBottom = () => {
if (isAndroidApp || isWxApp || isIosApp) { if (isAndroidApp || isWxApp || isIosApp) {
setTimeout(() => { setTimeout(() => {
uni.$emit(events.ON_SCROLL_BOTTOM); uni.$emit(events.ON_SCROLL_BOTTOM);
}, 300); }, 80);
} else { } else {
uni.$emit(events.ON_SCROLL_BOTTOM); uni.$emit(events.ON_SCROLL_BOTTOM);
} }
@ -553,15 +568,15 @@ const handleEmojiVisible = () => {
uni.$emit(events.KeyboardEvent, 0); uni.$emit(events.KeyboardEvent, 0);
} }
uni.$emit(events.ON_SCROLL_BOTTOM); uni.$emit(events.ON_SCROLL_BOTTOM);
}, 100); }, 80);
}; };
watch(sendMoreVisible, (val) => { // watch(sendMoreVisible, (val) => {
if (val) { // if (val) {
uni.$emit("msgKeyHeight", uni.getSystemInfoSync().windowHeight - 320); // // uni.$emit("msgKeyHeight", uni.getSystemInfoSync().windowHeight - 270); //
} else { // } else {
uni.$emit("msgKeyHeight", "100%"); // // uni.$emit("msgKeyHeight", "100%"); //
} // }
}); // });
// "+" // "+"
const handleSendMoreVisible = () => { const handleSendMoreVisible = () => {
if (isTeamMute.value) return; if (isTeamMute.value) return;
@ -569,12 +584,17 @@ const handleSendMoreVisible = () => {
emojiVisible.value = false; emojiVisible.value = false;
sendMoreVisible.value = !sendMoreVisible.value; sendMoreVisible.value = !sendMoreVisible.value;
if (sendMoreVisible.value) {
uni.$emit(events.KeyboardEvent, 230); setTimeout(()=>{
} else { if (sendMoreVisible.value) {
uni.$emit(events.KeyboardEvent, 0); uni.$emit(events.KeyboardEvent, 230);
} uni.$emit("msgKeyHeight", uni.getSystemInfoSync().windowHeight - 360); //
uni.$emit(events.ON_SCROLL_BOTTOM); } else {
uni.$emit(events.KeyboardEvent, 0);
uni.$emit("msgKeyHeight", '100%'); //
}
uni.$emit(events.ON_SCROLL_BOTTOM);
},80)
// }, 300) // }, 300)
}; };

@ -141,7 +141,7 @@
const screenHeight2 = ref('') const screenHeight2 = ref('')
const isWeapp = ref(true) const isWeapp = ref(true)
const ssff = ref(uni.getWindowInfo().safeArea.top);
onMounted(() => { onMounted(() => {
@ -151,7 +151,7 @@
screenHeight1.value = res; screenHeight1.value = res;
// 100% // 100%
if (typeof res === 'number') { if (typeof res === 'number') {
msgKeyHeight.value = `${res * 2}rpx`; msgKeyHeight.value = `${res - ssff.value}px`;
} else { } else {
msgKeyHeight.value = res; // '100%' msgKeyHeight.value = res; // '100%'
} }

@ -569,6 +569,7 @@ export default {
let that = this; let that = this;
console.log("$type", $type); console.log("$type", $type);
this.G.isLogin(); this.G.isLogin();
that.loading = true;
let params = { let params = {
pageNum: that.query.page, pageNum: that.query.page,
pageSize: that.query.size, pageSize: that.query.size,
@ -583,11 +584,7 @@ export default {
if (this.G.isLogin()) { if (this.G.isLogin()) {
that.G.Post(that.api.job_list, params, (res) => { that.G.Post(that.api.job_list, params, (res) => {
console.log("resresresresresres", res); console.log("resresresresresres", res);
if (res.recordCount == 0) { that.loading = false;
that.loading = false;
} else {
that.loading = true;
}
that.speed = res.recordCount; that.speed = res.recordCount;
that.setJobList(res.recordList, $type); that.setJobList(res.recordList, $type);
console.log("query.list", that.query.list); console.log("query.list", that.query.list);

@ -1,8 +1,8 @@
@font-face { @font-face {
font-family: "iconfont"; /* Project id 4374774 */ font-family: "iconfont"; /* Project id 4374774 */
src: url('//at.alicdn.com/t/c/font_4374774_zuuyrxlecbi.woff2?t=1755592111683') format('woff2'), src: url('//at.alicdn.com/t/c/font_4374774_ki7e1dxn9va.woff2?t=1756454097212') format('woff2'),
url('//at.alicdn.com/t/c/font_4374774_zuuyrxlecbi.woff?t=1755592111683') format('woff'), url('//at.alicdn.com/t/c/font_4374774_ki7e1dxn9va.woff?t=1756454097212') format('woff'),
url('//at.alicdn.com/t/c/font_4374774_zuuyrxlecbi.ttf?t=1755592111683') format('truetype'); url('//at.alicdn.com/t/c/font_4374774_ki7e1dxn9va.ttf?t=1756454097212') format('truetype');
} }
.iconfont { .iconfont {
@ -13,6 +13,10 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-5gongdanguanli:before {
content: "\e6b8";
}
.icon-fadanhao-32:before { .icon-fadanhao-32:before {
content: "\e67d"; content: "\e67d";
} }

Loading…
Cancel
Save