Merge branch 'develop' of http://25.13.9.101:9000/K17_AITS/tra-app into develop

This commit is contained in:
田岩
2025-12-09 20:43:10 +08:00
9 changed files with 74 additions and 26 deletions
+2 -2
View File
@@ -2,10 +2,10 @@
ENV = 'development.yh'
# 'development.yh'
VITE_APP_BASE_H5_API_Url = 'http://25.18.122.65:7001'
# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.65:7001'
# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.91:9786'
# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.78:9786'
VITE_APP_BASE_H5_API_Url = 'http://25.18.122.78:9786'
# VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002'
# VITE_APP_BASE_H5_API_Url_TRAEXAM = 'http://25.64.32.154:9604'
# VITE_APP_BASE_H5_API_Url_TRAPRACTICE = 'http://25.64.32.156:9603'
+1
View File
@@ -62,6 +62,7 @@ export const partnerChatReportTrigger = (data) => {
export const partnerChatPrompt = (data) => {
return request({
url: base_url + '/traPartnerChat/partnerChatPrompt',
timeout: 60000,
method: 'post',
data
});
+19
View File
@@ -16,6 +16,8 @@
:current="currentTab" class="font_pf my_tabs"
:inactive-style="{ color: '#333333', fontSize: '28rpx', fontWeight: '500' }"
:activeStyle="{ color: '#333333', fontSize: '28rpx', fontWeight: '600' }"></uv-tabs>
<view class="tab-btn" v-show="!overLoading" @click="showToast"></view>
<!-- v-if="!overLoading" -->
</view>
<!-- <view class="calendar-box" @click="openCalendar">统计周期</view>
<uv-calendar ref="calendarRef" mode="range" @confirm="calendarConfirm" minDate="2025-01-01" :maxDate="maxDate" monthNum="100" :allowSameDay="true"></uv-calendar> -->
@@ -229,6 +231,12 @@
const loading2 = ref(false)
const loading3 = ref(false)
const loading4 = ref(false)
const overLoading = computed(()=>{
return !loading.value && !loading1.value && !loading2.value && !loading3.value && !loading4.value
})
const showToast = () => {
common.msg('学习分析生成中,请稍后再试!')
}
const getInfoNow = async (params) => {
loading.value = true
loading2.value = true
@@ -440,6 +448,17 @@
.tabs-box {
width: 600rpx;
height: 88rpx;
position: relative;
.tab-btn{
position: absolute;
width: 600rpx;
height: 88rpx;
top: 0;
left: 0;
z-index: 23;
// background-color: #ccc;
}
}
.analytics-items {
+8 -3
View File
@@ -5,13 +5,13 @@
</view>
</view>
<view class="answer-content" v-else>
<view :class="['talking-gif', !voiceLoading&&(props.activeVoiceId === dataInfo.id) ? 'is-play' : '']">
<view v-if="showVoice" :class="['talking-gif', !voiceLoading&&(props.activeVoiceId === dataInfo.id) ? 'is-play' : '']">
<CommonLoading color="#06f" v-show="voiceLoading" />
</view>
<view class="talking-cont">
<MarkdownPreview :mdString="mdText" />
</view>
<view class="btns-cont" v-if="!dataInfo.isLoading">
<view class="btns-cont" v-if="!dataInfo.isLoading && showVoice">
<!-- <view class="replay-btn" @click="reAnswer" v-if="!props.dataInfo.isHistory">
<image class="icon" src="@/static/images/dialog/answer-restart1.png" style="width: 100%; height: 100%"></image>
</view>
@@ -83,13 +83,18 @@
default: true,
type: Boolean
},
showVoice: {
default: true,
type: Boolean
},
})
const {
isLast,
dataInfo,
roleInfo,
activeVoiceId,
isStudy
isStudy,
showVoice
} = toRefs(props)
const isPlaying = ref(false)
const voiceIsPlaying = ref(false)
@@ -1,9 +1,9 @@
<template>
<view class="talking-info" v-if="dataInfo.intrctWay === '02'">
<view :class="['talking-gif', !voiceLoading&&(props.activeVoiceId === dataInfo.id) ? 'is-play' : '']">
<view v-if="showVoice" :class="['talking-gif', !voiceLoading&&(props.activeVoiceId === dataInfo.id) ? 'is-play' : '']">
<CommonLoading color="#f60" v-show="voiceLoading"/>
</view>
<view class="right-time">{{voiceTime}}</view>
<view v-if="showVoice" class="right-time">{{voiceTime}}</view>
<view class="talking-cont">
<rich-text :class="['talking-text translate-text loading']" v-show="!translateLoading" :nodes="`<span>${showContent}</span>`">
</rich-text>
@@ -11,7 +11,7 @@
<CommonLoading color="#f60"/>
</view>
</view>
<view class="btns-cont">
<view class="btns-cont" v-if="showVoice">
<view class="play-btn">
<image class="icon"
v-show="!(!voiceLoading&&(props.activeVoiceId === dataInfo.id))"
@@ -64,8 +64,12 @@ import { onUnload } from '@dcloudio/uni-app';
default:'',
type: String
},
showVoice: {
default: true,
type: Boolean
}
})
const { activeVoiceId, dataInfo } = toRefs(props)
const { activeVoiceId, dataInfo, showVoice } = toRefs(props)
const emit = defineEmits(['changePlay'])
// 声音播放初始化
const talkVoiceObj = ref(null)
@@ -11,9 +11,9 @@
</view>
</view>
<questionVue v-if="talkingType === 'question'" @changePlay="changePlay" :dataInfo="talkingInfo" :isLast="isLast" :roleInfo="roleInfo"
:activeVoiceId="activeVoiceId"></questionVue>
:activeVoiceId="activeVoiceId" :showVoice="showVoice"></questionVue>
<answerVue v-else-if="talkingType === 'answer'" @changePlay="changePlay" :dataInfo="talkingInfo" :isLast="isLast" :roleInfo="roleInfo"
:isAnswering="props.isAnswering" @handleEvents="handleEvents" :activeVoiceId="activeVoiceId" :isStudy="false">
:isAnswering="props.isAnswering" @handleEvents="handleEvents" :activeVoiceId="activeVoiceId" :isStudy="false" :showVoice="showVoice">
</answerVue>
<view v-else></view>
</view>
@@ -63,6 +63,10 @@
default: false,
type: Boolean
},
showVoice: {
default: true,
type: Boolean
}
})
watch(() => props.activeVoiceId, () => {}, {
deep: true,
@@ -75,7 +79,8 @@
const {
talkingType,
talkingInfo,
roleInfo
roleInfo,
showVoice
} = toRefs(props)
const loadingTips = ref(false)
+2 -1
View File
@@ -394,7 +394,8 @@
font-size: 28rpx;
line-height: 52rpx;
color: #333;
white-space: pre-line;
&-file {
color: #06f;
}
+4 -2
View File
@@ -41,12 +41,12 @@
<view class="loading-box" v-if="isLoading"></view>
<TalkingPreviewItem class="talk-item" v-for="item in showTalkList" :talkingType="item.type"
:talkingInfo="item" :roleInfo="roleInfo" :traId="traId" :execId="execId" :isAnswering="false"
:activeVoiceId="activeVoiceTalkingItemId" @handleEvents="talkItemEvents"></TalkingPreviewItem>
:activeVoiceId="activeVoiceTalkingItemId" @handleEvents="talkItemEvents" :showVoice="isTalking"></TalkingPreviewItem>
</view>
<view :class="['body-top-collepse-cont', showAllTalk?'show-all':'']">
<TalkingPreviewItem class="talk-item" v-for="item in hideTalkList" :talkingType="item.type"
:talkingInfo="item" :roleInfo="roleInfo" :traId="traId" :execId="execId" :isAnswering="false"
:activeVoiceId="activeVoiceTalkingItemId" @handleEvents="talkItemEvents"></TalkingPreviewItem>
:activeVoiceId="activeVoiceTalkingItemId" @handleEvents="talkItemEvents" :showVoice="isTalking"></TalkingPreviewItem>
</view>
</view>
<view class="body-bottom">
@@ -210,6 +210,7 @@
const negativeList = ref([]) //
const positiveList = ref([]) //
const isLoading = ref(false)
const isTalking = ref(true)
const getData = () => {
isLoading.value = true
partnerChatReport({
@@ -228,6 +229,7 @@
positiveList.value = res.body.positiveList || []
negativeList.value = res.body.negativeList || []
hitBanWords.value = res.body.traPartnerExecuteHisVo?.hitBanWords || ''
isTalking.value = res.body.traPartnerExecuteHisVo?.traInterTyp === '01'
let _evalDimens = res.body.traPartnerSettlement || []
evalDimens.value = _evalDimens.map((t, index) => {
return {
+22 -11
View File
@@ -323,17 +323,28 @@
}
showModelComfirm.value = true;
reconcatNum.value += 1;
// common
// .show('', '', false, '', '')
// .then((res) => {
// overNow(() => {
// reconcatNum.value += 1;
// common.redirectTo(`/pages/index/dialog`);
// });
// })
// .finally(() => {
// showModelComfirm.value = false;
// });
common
.show('提示信息', '网络环境不稳定,请重试!', false, '', '确认')
.then((res) => {
overNow(() => {
reconcatNum.value += 1;
// common.redirectTo(`/pages/index/dialog`);
socketStore?.closeSocket();
common.navigateTo(
'/pages/sparring/result?isOver=1&traId=' +
traId.value +
'&execId=' +
execId.value +
'&type=' +
talkingType.value +
'&isPreview=' +
(isPreview.value ? '1' : '')
);
});
})
.finally(() => {
showModelComfirm.value = false;
});
});
unref(SocketObj).on('message', (res) => {
const { rtnCode, body, commond } = JSON.parse(res.data);