master
wangxia 6 months ago
parent 2ebb51cbcd
commit 81848ab974

@ -1,7 +1,7 @@
<script lang="ts">
import RootStore from "@xkit-yx/im-store-v2";
import V2NIM, { V2NIMConst } from "nim-web-sdk-ng/dist/v2/NIM_UNIAPP_SDK";
import { getMsgContentTipByType,setTabUnread } from "./pages/NEUIKit/utils/msg";
import { getMsgContentTipByType, setTabUnread } from "./pages/NEUIKit/utils/msg";
import { STORAGE_KEY } from "./pages/NEUIKit/utils/constants";
import { isWxApp } from "./pages/NEUIKit/utils";
import { V2NIMMessage, V2NIMMessagePushConfig, V2NIMConversation } from "nim-web-sdk-ng/dist/v2/NIM_UNIAPP_SDK/V2NIMMessageService";
@ -41,6 +41,8 @@ export default {
onShow: function (options) {
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');
// id
uni.removeStorageSync("scene");
@ -101,9 +103,11 @@ export default {
//
if (uni.$UIKitNIM && uni.$UIKitNIM.V2NIMLoginService) {
uni.$UIKitNIM.V2NIMLoginService.ping().then(() => {
uni.$UIKitNIM.V2NIMLoginService.ping()
.then(() => {
// console.log("");
}).catch(err => {
})
.catch((err) => {
// console.error("", err);
this.reconnectIM();
});
@ -233,9 +237,9 @@ export default {
};
// IM
uni.setStorageSync('im-appkey', resData.appkey);
uni.setStorageSync('im-accid', resData.accid);
uni.setStorageSync('im-token', resData.token);
uni.setStorageSync("im-appkey", resData.appkey);
uni.setStorageSync("im-accid", resData.accid);
uni.setStorageSync("im-token", resData.token);
const imOptions = {
appkey: resData.appkey,
@ -409,7 +413,7 @@ export default {
that.playAudio();
}
});
setTabUnread()
setTabUnread();
},
playAudio() {

@ -68,12 +68,12 @@ export default {
}
//
uni.$on("newMessage", function (data) {
console.log("newMessage 接收", data);
// console.log("newMessage ", data);
that.setBadge(data);
});
//
uni.$on("userAuthChange", function (data) {
console.log("newMessage 接收", data);
// console.log("newMessage ", data);
that.corpUserFlag = uni.getStorageSync("apply-userinfo").corpUserFlag;
// this.checkUserAuth();
});
@ -148,7 +148,7 @@ export default {
},
setBadge(data) {
let that = this;
console.log("datadatadatadatadatadata", data);
// console.log("datadatadatadatadatadata", data);
for (var k in that.tabbarInfo) {
if (that.tabbarInfo[k].pagePath == "/pages/message/index") {
if (data) {
@ -165,7 +165,7 @@ export default {
}
that.tabbarInfo[k].count = that.messageCount + that.noticeCount;
console.log("that.tabbarInfo[k].count", that.tabbarInfo[k].count);
// console.log("that.tabbarInfo[k].count", that.tabbarInfo[k].count);
// that.tabbarInfo[k].type = data.type;
}
// else if (that.tabbarInfo[k].pagePath == "/pages/workBench/index") {

@ -21,6 +21,7 @@ import {
import { deepClone } from '../utils'
const appellation = ref('-')
const appType = ref(uni.getStorageSync("requestComeFrom"));
const { pid,account, teamId, ignoreAlias, nickFromMsg } = withDefaults(
defineProps<{
@ -53,7 +54,7 @@ const uninstallAppellationWatch = autorun(() => {
}
}
getUserInfo().then(res => {
if(res.serverExtension){
if(res.serverExtension && appType.value == 'isToB'){
subtitle.value = '@' + JSON.parse(res.serverExtension).fullName;
}else{
subtitle.value = '';

@ -147,20 +147,17 @@ const lastMsgContent = computed(() => {
if (sendingState === V2NIMConst.V2NIMMessageSendingState.V2NIM_MESSAGE_SENDING_STATE_FAILED) {
return t("conversationSendFailText");
}
console.log("lastMsglastMsglastMsg", lastMsg);
let _str = "[多媒体]";
if (!lastMsg.text && lastMsg.attachment && lastMsg.attachment.raw) {
console.log("lastMsglastMsglastMsg123", lastMsg);
if(!lastMsg.text && lastMsg.attachment && lastMsg.attachment.raw && lastMsg.attachment.ext == '.mp4' && lastMsg.attachment.url){
if (!lastMsg.text && lastMsg.attachment && lastMsg.attachment.raw && lastMsg.attachment.ext == ".mp4" && lastMsg.attachment.url) {
_str = "[视频]";
}
else if (JSON.parse(lastMsg.attachment.raw).type == 100002){
} else if (JSON.parse(lastMsg.attachment.raw).type == 100002) {
_str = "[工单] " + JSON.parse(lastMsg.attachment.raw).userName;
}
else {
} else if (JSON.parse(lastMsg.attachment.raw).type == 100000) {
_str = "[职位] " + JSON.parse(lastMsg.attachment.raw).title;
} else {
_str = "[新消息] ";
}
}
if (!lastMsg.text && lastMsg.attachment && lastMsg.attachment.ext == ".mp3") {

@ -25,6 +25,7 @@
</template>
<script lang="ts" setup>
import { computed,getCurrentInstance } from "vue";
import { onUnmounted, ref, defineExpose, watch } from "../../../utils/transformVue";
import { autorun } from "mobx";
import { onHide } from "@dcloudio/uni-app";
@ -38,7 +39,8 @@ import { customNavigateTo } from "../../../utils/customNavigate";
import { deepClone } from "../../../utils";
import { V2NIMConversation } from "nim-web-sdk-ng/dist/v2/NIM_UNIAPP_SDK/V2NIMConversationService";
const corpUserFlag = ref(uni.getStorageSync("apply-userinfo").corpUserFlag);
const G = getCurrentInstance().appContext.app.config.globalProperties.G;
const appType = ref(uni.getStorageSync("requestComeFrom"));
const conversationList = ref<V2NIMConversation[]>([]);
defineExpose({
conversationList,
@ -73,7 +75,8 @@ const handleSessionItemClick = async (conversation: V2NIMConversation) => {
await uni.$UIKitStore.uiStore.selectConversation(conversation.conversationId);
const itemUserInfo = await uni.$UIKitStore.userStore.getUserActive(conversation.conversationId.split('|')[2])
let _title = '';
if(itemUserInfo.serverExtension){
console.log('appType.valueappType.valueappType.value',appType.value);
if(itemUserInfo.serverExtension && appType.value == 'isToB'){
_title = itemUserInfo.name + '@' + JSON.parse(itemUserInfo.serverExtension).fullName;
}else{
_title = itemUserInfo.name;
@ -156,7 +159,6 @@ onHide(() => {
});
const conversationListWatch = autorun(() => {
console.log("uni.$UIKitStore?.uiStore?.conversations", uni.$UIKitStore?.uiStore?.conversations);
const conversations = deepClone(uni.$UIKitStore?.uiStore?.conversations) || [];
// renderKey
@ -184,7 +186,6 @@ const conversationListWatch = autorun(() => {
loading.value = false;
}, 2000);
console.log("conversationListWatch", conversationList.value);
setTabUnread();
});
// const conversationListWatch = autorun(() => {

@ -56,7 +56,6 @@ export const getMsgContentTipByType = (msg: {
}
export const setTabUnread = (val): void => {
console.log('setTabUnread', val);
const routes = getCurrentPages()
const curRoute = routes[routes.length - 1].route
const tabPaths = [
@ -67,16 +66,14 @@ export const setTabUnread = (val): void => {
'pages/person/index',
'root/person/changeTeam'
]
console.log('11111111111111111111111111111111111111111111');
if (curRoute && !tabPaths.includes(curRoute)) {
// 不是首页和聊天页不需要设置tabbar的badge
return
}
console.log('22222222222222222222222222222222222222222222');
const store = uni.$UIKitStore
const unread = store?.conversationStore.totalUnreadCount || 0
console.log('store?.conversationStore.totalUnreadCount', store?.conversationStore.totalUnreadCount);
// console.log('store?.conversationStore.totalUnreadCount', store?.conversationStore.totalUnreadCount);
uni.$emit('newMessage', { count: store?.conversationStore.totalUnreadCount, type: 'message' })
uni.setStorageSync("chat_info", { count: store?.conversationStore.totalUnreadCount, type: 'message' });
// if (unread === 0) {

@ -18,7 +18,7 @@
<!-- <view class=""> -->
<view>
<view :class="[from ? 'sticky' : '']" v-if="isLogin">
<div class="g_text_c g_h_24 g_pt_12 g_pb_12 g_bg_f" style="z-index: 100" v-if="from == 'chat'"></div>
<div class="g_text_c g_h_24 g_pt_16 g_pb_4 g_bg_f" style="z-index: 100" v-if="from == 'chat'"></div>
<view style="background-color: #fff" class="">
<view class="m-select">
<view style="height: 52px" class="g_flex_column_center g_pt_8">

@ -0,0 +1,133 @@
<template>
<div class="">
<div class="">
<div class="g_p_10 g_pt_8 g_bg_ed sticky">
<div class="g_text_c g_h_24 g_pt_6 g_pb_12">快捷回复</div>
<u-search height="80" v-model="keys" @change="searchReply('change')" @clear="searchReply('search')" @search="searchReply('search')" class="" placeholder="搜索常用回复" bg-color="#fff" :show-action="false" placeholder-class="g_c_c" search-icon-color="#999999" :maxlength="20"></u-search>
<div class="g_pt_8">
<u-tabs bg-color="transparent" from="index" gutter="20" :showBar="true" bar-width="60" bar-height="6" :list="tabInfo.list" :is-scroll="true" v-model="tabInfo.active" active-color="#00b666" @change="handleUpdateTab" font-size="34" duration="0.05" height="72"></u-tabs>
</div>
</div>
</div>
<div class="g_pl_16 g_pr_10">
<div class="" v-if="tabInfo.list[tabInfo.active].classify == 1">
<div class="g_mt_6" v-for="item in chosenList">
<div class="g_c_main leftLine g_fw_600">
{{ item.classifyName }}
</div>
<template v-for="innerItem in item.recordList" :key="innerItem.recordSort">
<div class="g_flex_row_start g_pl_10 g_pt_6" @click="sendQuickReply(innerItem)">
<div class="g_c_main">
{{ innerItem.ask + "" }}
</div>
<div class="g_text_u">
{{ innerItem.answer }}
</div>
</div>
</template>
</div>
</div>
<div class="" v-if="tabInfo.list[tabInfo.active].classify == 2">
<template v-for="item in chosenList" :key="item.id">
<div class="g_flex_row_start g_pt_6" @click="sendQuickReply(item)">
<div class="g_c_main">
{{ item.ask + "" }}
</div>
<div class="g_text_u">
{{ item.answer }}
</div>
</div>
</template>
</div>
<div class="" style="margin-top: 120px" v-if="chosenList.length == 0">
<g-empty text="暂无回复" />
</div>
</div>
</div>
</template>
<script>
import api from "../utils/api.js";
export default {
//
name: "",
//
components: {},
//
props: {},
//
data() {
return {
keys: "",
chosenList: [],
tabInfo: {
list: [
{
name: "常用回复",
classify: 1,
},
{
name: "自定义回复",
classify: 2,
},
],
active: 0,
},
};
},
//
computed: {},
//
watch: {},
created() {
this.getChosenList();
},
mounted() {},
//
methods: {
sendQuickReply(_item) {
let that = this;
that.$emit("sendQuickReply", _item);
},
handleUpdateTab(e) {
let that = this;
that.chosenList = [];
that.tabInfo.active = e;
that.getChosenList();
},
searchReply(e) {
let that = this;
if ((e == "change" && that.keys == "") || e == "search") {
that.getChosenList();
}
},
getChosenList() {
let that = this;
let url = "get_getChosenList";
if (that.tabInfo.list[that.tabInfo.active].classify == 2) {
url = "get_getSelfList";
}
that.G.Get(api[url], { keys: that.keys }, (res) => {
console.log("resresresres", res);
that.chosenList = res;
});
},
},
};
</script>
<style scoped lang="less">
.leftLine {
position: relative;
&::before {
content: "";
position: absolute;
left: -6px;
top: 50%;
width: 3px;
height: 80%;
background-color: #00b666;
transform: translateY(-50%);
}
}
</style>

@ -33,19 +33,27 @@
<u-popup v-model="jobListShow" mode="bottom" z-index="999999" border-radius="12" :closeable="true" :mask-close-able="true" :mask="true" @close="jobListShow = false">
<scroll-view :scroll-y="true" @scrolltolower="reachBottom" class="g_bg_ed" style="height: 95vh">
<div class="">
<!-- 发送工单 -->
<div class="" v-if="popType == 'apply'">
<gListApply from="chat" :upAgencyId="beCollectedAgencyId" @sendApply="sendApply"></gListApply>
</div>
<!-- 发送职位 -->
<div class="" v-if="popType == 'job'">
<div class="m-search g_p_10 g_pt_8 g_position_rela g_flex_1 g_bg_ed sticky">
<div class="g_p_10 g_pt_8 g_bg_ed sticky">
<div class="g_text_c g_h_24 g_pt_6 g_pb_12">发送职位</div>
<u-search height="80" v-model="keyword" @input="checkLength" @clear="searchJob" @search="searchJob" class="" placeholder="搜索职位名称" bg-color="#fff" :show-action="false" placeholder-class="g_c_c" search-icon-color="#999999" :maxlength="20"></u-search>
<div class="g_pt_8" v-if="popType == 'job'">
<div class="g_pt_8">
<u-tabs bg-color="transparent" from="index" gutter="20" :showBar="false" :list="tabInfo.list" :is-scroll="true" v-model="tabInfo.active" active-color="#00b666" @change="handleUpdateTab" font-size="34" duration="0.05" height="48"></u-tabs>
</div>
</div>
<g-list-job from="chat" @uploadList="getList" @sendJob="sendJob" bg="#ededed" class="" :query="query" :list="query.list" :loading="loading" :speed="speed" :isShowLoginBtn="false" emptyText="嘿,这里还没有数据呢" />
</div>
<!-- 快捷回复 -->
<div class="" v-if="popType == 'reply'">
<quickReply @sendQuickReply="sendQuickReply" ></quickReply>
<!-- <gListApply from="chat" :upAgencyId="beCollectedAgencyId" @sendApply="sendApply"></gListApply> -->
</div>
</div>
</scroll-view>
</u-popup>
@ -54,6 +62,7 @@
<script lang="ts" setup>
import gListJob from "../../../../components/list/job";
import quickReply from "../../components/quickReply.vue";
import gListApply from "../../../../pages/workBench/index.vue";
import { onShow } from "@dcloudio/uni-app";
import { events } from "../../utils/constants";
@ -77,13 +86,7 @@ const G = getCurrentInstance().appContext.app.config.globalProperties.G;
const F = getCurrentInstance().appContext.app.config.globalProperties.F;
import api from "../../utils/api.js";
console.log("apiapiapi", api);
const appType = computed(() => {
let val = "isToC";
if (G.globalConstantData.requestComeFrom && (G.globalConstantData.requestComeFrom == "assistant_miniapp" || G.globalConstantData.requestComeFrom == "supply_chain_miniapp")) {
val = "isToB";
}
return val; //
});
const appType = ref(uni.getStorageSync("requestComeFrom"));
const popType = ref(""); //
export interface YxReplyMsg {
messageClientId: string;
@ -740,6 +743,19 @@ const sendApply = (_item) => {
},
});
};
const sendQuickReply = (e) =>{
console.log(e);
const textMsg = uni.$UIKitNIM.V2NIMMessageCreator.createTextMessage(e.answer);
uni.$UIKitStore.msgStore.sendMessageActive({
msg: textMsg,
conversationId,
sendBefore: () => {
jobListShow.value = false;
uni.$emit(events.ON_SCROLL_BOTTOM);
// scrollBottom();
},
});
}
const reachBottom = () => {
if (query.value.isFinish == -1 || query.value.isFinish == query.value.size) {
query.value.page++;

@ -48,11 +48,15 @@
<Icon @tap="handleSetting" type="icon-shezhi" :size="20" />
</div>
</div> -->
<div class="g_flex_c">
<div class="g_flex_row_between flex_center">
<div @tap="handleAudioVisible" v-if="!isWeb && false" class="msg-input-button g_p_5" style="padding-right: 7px; padding-left: 10px">
<Icon v-if="audioPanelVisible" :size="28" type="audio-btn-selected" key="audio-btn-selected" />
<Icon v-else :size="28" type="icon-audio" key="icon-audio" />
</div>
<div class="g_ml_6">
<div class="g_w_64 g_h_40 g_radius_6 g_bg_main g_c_f g_fs_14 g_text_c g_position_rela" style="line-height: 40px;top:-3px" @click="sendQuickReply"></div>
<!-- <g-button btnText="常用语" fontSize="14" mode="square" type="primary" size="mini" @clickBtn="sendApply(item)" /> -->
</div>
<!-- v-if="inputVisible" -->
<div class="msg-input g_flex_1">
<!-- 当从表情面板切换到文字输入时直接唤起键盘会导致input框滚动消失故此处需要用EmojiInput兼容下保证先隐藏表情面板再弹出键盘 -->
@ -148,6 +152,15 @@
</div>
<div class="icon-text">{{ "发送工单" }}</div>
</div>
<!-- #ifdef MP-WEIXIN -->
<div class="send-more-panel-item-wrapper">
<div class="send-more-panel-item" @tap="(event) => handleSendPosition()">
<div class="iconfont icon-fasong1 g_c_6 g_fs_24"></div>
</div>
<div class="icon-text">{{ "发送位置" }}</div>
</div>
<!-- #endif -->
<!-- <div class="send-more-panel-item-wrapper">
<div class="send-more-panel-item" @tap="(event) => handleSetting()">
<Icon type="icon-shezhi" :size="30"></Icon>
@ -196,7 +209,7 @@
import Face from "./face.vue";
import VoicePanel from "./voice-panel.vue";
import Icon from "../../../components/Icon.vue";
import { ref, getCurrentInstance, computed, onUnmounted, onMounted, defineProps, withDefaults, defineEmits, watch} from "vue";
import { ref, getCurrentInstance, computed, onUnmounted, onMounted, defineProps, withDefaults, defineEmits, watch } from "vue";
// import { ref, getCurrentInstance, computed, onUnmounted, onMounted, defineProps, withDefaults, defineEmits, watch } from "../../../utils/transformVue";
import { ALLOW_AT, events, REPLY_MSG_TYPE_MAP } from "../../../utils/constants";
import { emojiMap } from "../../../utils/emoji";
@ -220,13 +233,7 @@ import { V2NIMConst } from "nim-web-sdk-ng/dist/v2/NIM_UNIAPP_SDK";
export type MentionedMember = { accountId: string; appellation: string };
const corpUserFlag = ref(uni.getStorageSync("apply-userinfo").corpUserFlag);
const G = getCurrentInstance().appContext.app.config.globalProperties.G;
const appType = computed(() => {
let val = "isToC";
if (G.globalConstantData.requestComeFrom && (G.globalConstantData.requestComeFrom == "assistant_miniapp" || G.globalConstantData.requestComeFrom == "supply_chain_miniapp")) {
val = "isToB";
}
return val; //
});
const appType = ref(uni.getStorageSync("requestComeFrom"));
const props = withDefaults(
defineProps<{
conversationType: V2NIMConst.V2NIMConversationType;
@ -567,6 +574,35 @@ const handleSendapply = () => {
console.log("props.jobListShow", props.jobListShow);
emits("jobListShow", { isShow: true, type: "apply" });
};
const handleSendPosition = () => {
uni.chooseLocation({
success(e) {
const customMsg = uni.$UIKitNIM.V2NIMMessageCreator.createCustomMessage(
"",
JSON.stringify({
type: 100003,
address: e.address || "-",
latitude: e.latitude || "-",
longitude: e.longitude || "-",
name: e.name || "-",
})
);
console.log("customMsg", customMsg);
uni.$UIKitStore.msgStore.sendMessageActive({
msg: customMsg,
conversationId,
sendBefore: () => {
uni.$emit(events.ON_SCROLL_BOTTOM);
// scrollBottom();
},
});
console.log(e);
},
fail(e) {
console.log("err", e);
},
});
};
const sendPointJob = () => {
emits("exportPointJob");
@ -927,7 +963,7 @@ onMounted(() => {
emojiVisible.value = false;
extVisible.value = false;
uni.$emit(events.KeyboardEvent, 0);
uni.$emit("msgKeyHeight", '100%'); //
uni.$emit("msgKeyHeight", "100%"); //
}
});
}
@ -1010,7 +1046,9 @@ const onAtMembersExtHandler = () => {
// @ts-ignore
return ext;
};
const sendQuickReply = () => {
emits("jobListShow", { isShow: true, type: "reply" });
};
onUnmounted(() => {
uni.$off(events.REPLY_MSG);
uni.$off(events.ON_REEDIT_MSG);

@ -337,25 +337,40 @@
style="background-color: #ffffff;border-radius: 8px;padding: 12px;width: calc(100% - 24px);position: relative;left: 50%;transform: translateX(-50%);"
@tap="goApplyDetail(JSON.parse(props.msg.attachment.raw))">
<div class="g_text_c g_fw_600 g_fs_16 g_mb_12">工单信息</div>
<div class="g_flex_row_center g_mb_8">
<div class="g_flex_row_center g_fs_14 g_mb_8">
<div class="g_w_120 g_text_r">姓名</div>
<div class="g_flex_1 g_fw_600">{{ JSON.parse(props.msg.attachment.raw).userName }}</div>
<div class="g_flex_1 ">{{ JSON.parse(props.msg.attachment.raw).userName }}</div>
</div>
<div class="g_flex_row_center g_mb_8">
<div class="g_flex_row_center g_fs_14 g_mb_8">
<div class="g_w_120 g_text_r">身份证号</div>
<div class="g_flex_1 g_fw_600">{{ JSON.parse(props.msg.attachment.raw).idCard }}</div>
<div class="g_flex_1 ">{{ JSON.parse(props.msg.attachment.raw).idCard }}</div>
</div>
<div class="g_flex_row_center g_mb_8">
<div class="g_flex_row_center g_fs_14 g_mb_8">
<div class="g_w_120 g_text_r">企业岗位</div>
<div class="g_flex_1 g_fw_600">{{ JSON.parse(props.msg.attachment.raw).storeJobName }}</div>
<div class="g_flex_1 ">{{ JSON.parse(props.msg.attachment.raw).storeJobName }}</div>
</div>
<div class="g_flex_row_center g_mb_8">
<div class="g_flex_row_center g_fs_14 g_mb_8">
<div class="g_w_120 g_text_r">面试时间</div>
<div class="g_flex_1 g_fw_600">{{ JSON.parse(props.msg.attachment.raw).interviewTime }}</div>
<div class="g_flex_1 ">{{ JSON.parse(props.msg.attachment.raw).interviewTime }}</div>
</div>
<div class="g_flex_row_center g_mb_8">
<div class="g_flex_row_center g_fs_14 g_mb_8">
<div class="g_w_120 g_text_r">电话</div>
<div class="g_flex_1 g_fw_600">{{ JSON.parse(props.msg.attachment.raw).tel }}</div>
<div class="g_flex_1 ">{{ JSON.parse(props.msg.attachment.raw).tel }}</div>
</div>
</div>
</div>
<!-- 100003代表位置卡片 -->
<div class="msg-common" :style="{ flexDirection: !props.msg.isSelf ? 'row' : 'row-reverse' }"
v-else-if="props.msg.messageType == 100 && props.msg.attachment && JSON.parse(props.msg.attachment.raw).type == 100003">
<div class="job-card" style="background-color: #ffffff;border-radius: 8px;padding: 12px;width: calc(100% - 24px);position: relative;left: 50%;transform: translateX(-50%);" @tap="goMap(JSON.parse(props.msg.attachment.raw))">
<div class="g_flex_row_start flex_center g_mb_8">
<div class="iconfont icon-dizhi1 g_c_main g_mr_4"></div>
<div class=" g_fs_18 g_c_3 g_fw_600">
{{ JSON.parse(props.msg.attachment.raw).name }}
</div>
</div>
<div class="g_flex_row_start g_fs_14 g_c_6 ">
{{ JSON.parse(props.msg.attachment.raw).address }}
</div>
</div>
</div>
@ -455,13 +470,7 @@
import Icon from '../../../components/Icon.vue'
import Appellation from '../../../components/Appellation.vue'
const G = getCurrentInstance().appContext.app.config.globalProperties.G;
const appType = computed(() => {
let val = "isToC";
if (G.globalConstantData.requestComeFrom && (G.globalConstantData.requestComeFrom == "assistant_miniapp" || G.globalConstantData.requestComeFrom == "supply_chain_miniapp")) {
val = "isToB";
}
return val; //
});
const appType = ref(uni.getStorageSync("requestComeFrom"));
console.log('message-item',jsa)
const props = withDefaults(
defineProps<{
@ -567,7 +576,7 @@
}
}
getUserInfo().then(res => {
if(res.serverExtension){
if(res.serverExtension && appType.value == 'isToB'){
subtitle.value = '@' + JSON.parse(res.serverExtension).fullName;
}else{
subtitle.value = '';
@ -603,6 +612,20 @@
url: `/root/detail/apply?id=${_item.applyId}&type=${_item.active}&relationId=${_item.relationId}`,
});
}
const goMap = (_item)=>{
console.log(_item);
let params = {};
_item.latitude && (params.latitude = _item.latitude)
_item.longitude && (params.longitude = _item.longitude)
if(uni && uni.chooseLocation){
uni.chooseLocation({
...params,
success(e) {
}
});
}
}
</script>
<style scoped lang="scss">

@ -3,6 +3,8 @@ let jobInfo = {
yi_job_list: '/yishoudan/custom/job/listApp', // 一才职位列表(招工宝发送商家职位用)
job_list: "/assistant/custom/job/v2/list",// 职位列表()
get_AgencyIdByAccId: "/wyyx/systemuser/getAgencyIdByAccid",// 通过accid获取代理id
get_getChosenList: "/common/salesmen/ask/answer/getChosenList",// 快捷回复查询
get_getSelfList: "/common/salesmen/ask/answer/getSelfList",// 自定义回复查询
}
export default jobInfo;

@ -10,7 +10,7 @@
<view class="g_flex_row_start">
<view v-for="item in dateList.list" :key="item.value" class="g_mr_20" :class="dateList.active == item.value ? 'g_c_main' : ''" @click="changeDate(item)">{{ item.name }}</view>
</view>
<view class="g_text_underline g_bg_f g_radius_8 g_p_8" :class="dateList.active == -1 && dateList.popActive == -1 ? 'g_c_main' : ''" @click="customDateShow = true">自定义</view>
<view class="g_text_u g_bg_f g_radius_8 g_p_8" :class="dateList.active == -1 && dateList.popActive == -1 ? 'g_c_main' : ''" @click="customDateShow = true">自定义</view>
</view>
<view class="g_bg_f g_ml_10 g_mr_10 g_radius_8" v-if="dataList.length > 0">
<view class="tableTitle g_fs_16">

@ -428,7 +428,7 @@ scroll-view::-webkit-scrollbar {
text-align: justify;
text-align-last: justify;
}
&_underline {
&_u {
text-decoration: underline;
}
}

Loading…
Cancel
Save