|
|
|
|
@ -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");
|
|
|
|
|
@ -800,7 +836,7 @@ const screenHeight = ref(0);
|
|
|
|
|
screenHeight.value = uni.getSystemInfoSync().windowHeight;
|
|
|
|
|
const chooseData = ref({});
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
ssff.value = uni.getWindowInfo().safeArea.top + 14;
|
|
|
|
|
ssff.value = uni.getWindowInfo().safeArea.top + 14;
|
|
|
|
|
if (uni.getStorageSync("im_sendParams")) {
|
|
|
|
|
chooseData.value = JSON.parse(uni.getStorageSync("im_sendParams")).jobDetail;
|
|
|
|
|
}
|
|
|
|
|
@ -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);
|
|
|
|
|
|