咨询助手优化
This commit is contained in:
parent
dace2bb2da
commit
68c6db7422
@ -1,4 +1,4 @@
|
|||||||
<template><view class="page"><template v-if="customers.length"><view class="title">请选择本次咨询档案</view><view v-for="item in customers" :key="item._id" class="customer" @click="open(item)"><view>{{item.name || '未命名'}}</view><view class="sub">{{ item.age ? item.age + '岁' : '' }}</view></view></template><view v-else-if="loaded" class="empty">正在进入AI咨询...</view></view></template>
|
<template><view class="page"><template v-if="customers.length"><view class="title">请选择本次咨询档案</view><view v-for="item in customers" :key="item._id" class="customer" @click="open(item)"><view>{{item.name || '未命名'}}</view><view class="sub">{{ item.age ? item.age + '岁' : '' }}</view></view></template><view v-else-if="loaded" class="empty">正在前往建档...</view></view></template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { onLoad } from '@dcloudio/uni-app';
|
import { onLoad } from '@dcloudio/uni-app';
|
||||||
@ -6,7 +6,9 @@ import api from '@/utils/api';
|
|||||||
import useAccountStore from '@/store/account';
|
import useAccountStore from '@/store/account';
|
||||||
import { storeToRefs } from 'pinia';
|
import { storeToRefs } from 'pinia';
|
||||||
const { openid } = storeToRefs(useAccountStore()); const corpId=ref(''),teamId=ref(''),assistantId=ref(''),qrid=ref(''),customers=ref([]),loaded=ref(false);
|
const { openid } = storeToRefs(useAccountStore()); const corpId=ref(''),teamId=ref(''),assistantId=ref(''),qrid=ref(''),customers=ref([]),loaded=ref(false);
|
||||||
async function load(){const miniAppId=openid.value||uni.getStorageSync('openid');const res=await api('getMiniAppCustomers',{corpId:corpId.value,miniAppId},false);customers.value=res?.success?(res.data||[]):[];loaded.value=true;if(!customers.value.length)await open();}
|
function getEntryUrl(){return `/pages/ai-consult/entry?corpId=${corpId.value}&teamId=${teamId.value}&assistantId=${assistantId.value}&qrid=${qrid.value}`;}
|
||||||
|
function toCreateArchive(){uni.redirectTo({url:`/pages/archive/edit-archive?corpId=${corpId.value}&teamId=${teamId.value}&redirectUrl=${encodeURIComponent(getEntryUrl())}`});}
|
||||||
|
async function load(){const miniAppId=openid.value||uni.getStorageSync('openid');const res=await api('getMiniAppCustomers',{corpId:corpId.value,miniAppId},false);loaded.value=true;if(!res?.success)return uni.showToast({title:res?.message||'查询档案失败',icon:'none'});customers.value=res.data||[];if(!customers.value.length)toCreateArchive();}
|
||||||
async function open(customer){const res=await api('openAiConsultSession',{corpId:corpId.value,teamId:teamId.value,assistantId:assistantId.value,qrid:qrid.value,customerId:customer?._id||'',miniAppId:openid.value||uni.getStorageSync('openid')});if(!res?.success)return uni.showToast({title:res?.message||'创建失败',icon:'none'});uni.redirectTo({url:`/pages/ai-consult/chat?corpId=${corpId.value}&sessionId=${res.data.session._id}`});}
|
async function open(customer){const res=await api('openAiConsultSession',{corpId:corpId.value,teamId:teamId.value,assistantId:assistantId.value,qrid:qrid.value,customerId:customer?._id||'',miniAppId:openid.value||uni.getStorageSync('openid')});if(!res?.success)return uni.showToast({title:res?.message||'创建失败',icon:'none'});uni.redirectTo({url:`/pages/ai-consult/chat?corpId=${corpId.value}&sessionId=${res.data.session._id}`});}
|
||||||
onLoad(opts=>{corpId.value=opts.corpId||'';teamId.value=opts.teamId||'';assistantId.value=opts.assistantId||'';qrid.value=opts.qrid||'';load();});
|
onLoad(opts=>{corpId.value=opts.corpId||'';teamId.value=opts.teamId||'';assistantId.value=opts.assistantId||'';qrid.value=opts.qrid||'';load();});
|
||||||
</script><style scoped>.page{min-height:100vh;background:#f7f8fa;padding:28rpx}.title{font-size:34rpx;font-weight:600;margin-bottom:20rpx}.customer{background:#fff;border-radius:16rpx;padding:24rpx;margin-bottom:18rpx;font-size:30rpx}.sub,.empty{font-size:25rpx;color:#888;margin-top:8rpx}.empty{text-align:center;padding-top:100rpx}</style>
|
</script><style scoped>.page{min-height:100vh;background:#f7f8fa;padding:28rpx}.title{font-size:34rpx;font-weight:600;margin-bottom:20rpx}.customer{background:#fff;border-radius:16rpx;padding:24rpx;margin-bottom:18rpx;font-size:30rpx}.sub,.empty{font-size:25rpx;color:#888;margin-top:8rpx}.empty{text-align:center;padding-top:100rpx}</style>
|
||||||
|
|||||||
@ -59,6 +59,7 @@ const visible = ref(false);
|
|||||||
const referenceCustomer = ref(null)
|
const referenceCustomer = ref(null)
|
||||||
const healthTypes = ref([]);
|
const healthTypes = ref([]);
|
||||||
const enableHis = ref(false);
|
const enableHis = ref(false);
|
||||||
|
const redirectUrl = ref('');
|
||||||
|
|
||||||
const formData = computed(() => {
|
const formData = computed(() => {
|
||||||
return { ...customer.value, ...form.value, mobile: account.value?.mobile }
|
return { ...customer.value, ...form.value, mobile: account.value?.mobile }
|
||||||
@ -166,6 +167,10 @@ async function addArchive() {
|
|||||||
set('home-invite-team-info', { teamId: teamId.value })
|
set('home-invite-team-info', { teamId: teamId.value })
|
||||||
if (res && res.success) {
|
if (res && res.success) {
|
||||||
uni.$emit('reloadTeamCustomers')
|
uni.$emit('reloadTeamCustomers')
|
||||||
|
if (redirectUrl.value) {
|
||||||
|
uni.redirectTo({ url: redirectUrl.value });
|
||||||
|
return;
|
||||||
|
}
|
||||||
// getTeam(corpId.value, teamId.value, res.data.id);
|
// getTeam(corpId.value, teamId.value, res.data.id);
|
||||||
if (healthTypes.value.length) {
|
if (healthTypes.value.length) {
|
||||||
const nextType = healthTypes.value[0];
|
const nextType = healthTypes.value[0];
|
||||||
@ -307,6 +312,7 @@ onLoad(options => {
|
|||||||
customerId.value = options.id || '';
|
customerId.value = options.id || '';
|
||||||
corpUserId.value = options.corpUserId || '';
|
corpUserId.value = options.corpUserId || '';
|
||||||
referenceCustomerId.value = options.referenceCustomerId || '';
|
referenceCustomerId.value = options.referenceCustomerId || '';
|
||||||
|
redirectUrl.value = options.redirectUrl || '';
|
||||||
if (referenceCustomerId.value) {
|
if (referenceCustomerId.value) {
|
||||||
getReferenceCustomer();
|
getReferenceCustomer();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user