diff --git a/src/api/sparring.js b/src/api/sparring.js
index c5b546ee..0e6598bc 100644
--- a/src/api/sparring.js
+++ b/src/api/sparring.js
@@ -49,4 +49,36 @@ export const queryTraPartnerCharacterInfoById = (data) => {
method: 'post',
data
});
+};
+// 结束陪练 /trapractice/traPartnerChatReport/partnerChatReportTrigger?execId=
+export const partnerChatReportTrigger = (data) => {
+ return request({
+ url: base_url + '/traPartnerChatReport/partnerChatReportTrigger',
+ method: 'post',
+ data
+ });
+};
+// 问答提示/trapractice/traPartnerChat/partnerChatPrompt
+export const partnerChatPrompt = (data) => {
+ return request({
+ url: base_url + '/traPartnerChat/partnerChatPrompt',
+ method: 'post',
+ data
+ });
+};
+// 获取报告traPartnerChatReport/partnerChatReport
+export const partnerChatReport = (data) => {
+ return request({
+ url: base_url + '/traPartnerChatReport/partnerChatReport',
+ method: 'post',
+ data
+ });
+};
+// 反馈
+export const insertTraPartnerFeedback = (data) => {
+ return request({
+ url: base_url + '/traPartnerFeedback/insertTraPartnerFeedback',
+ method: 'post',
+ data
+ });
};
\ No newline at end of file
diff --git a/src/common/common.js b/src/common/common.js
index e6ed517b..e6ee8e52 100644
--- a/src/common/common.js
+++ b/src/common/common.js
@@ -1,6 +1,7 @@
import { get_base_url } from '@/api/request';
// #ifdef APP-PLUS
import showDialog from '@/common/dialogMessage'
+import common from '@/common/common'
// #endif
function msg(title, duration = 1000) {
uni.showToast({
diff --git a/src/pages/course/components/chartSeven.vue b/src/pages/course/components/chartSeven.vue
index fc3878e0..e937eb79 100644
--- a/src/pages/course/components/chartSeven.vue
+++ b/src/pages/course/components/chartSeven.vue
@@ -15,15 +15,15 @@
- 维度分析22:
+ 维度分析:
{{ score }}分
- 维度{{ item }}
- {{ item }}
+ {{ item.gradeDimensName || item.gradeDimens }}
+ {{ item.anlyGrade }}
@@ -31,7 +31,7 @@
export default{
props:{
dataList:{
- default:() => [10,20,30,40,50,60,78],
+ default:() => [],
type: Array
},
score:{
@@ -54,7 +54,7 @@
},
computed:{
dataValue(){
- return this.dataList//.map(t=>t.anlyGrade)
+ return this.dataList.map(t=>t.anlyGrade)
},
chartWidth(){
return this.size + 'rpx'
diff --git a/src/pages/course/components/chartSix.vue b/src/pages/course/components/chartSix.vue
index 871c6854..15860cf5 100644
--- a/src/pages/course/components/chartSix.vue
+++ b/src/pages/course/components/chartSix.vue
@@ -15,15 +15,15 @@
- 维度分析22:
+ 维度分析:
{{ score }}分
- 维度维{{ item }}
- {{ item }}
+ {{ item.gradeDimensName || item.gradeDimens }}
+ {{ item.anlyGrade }}
@@ -31,7 +31,7 @@
export default{
props:{
dataList:{
- default:() => [20,30,40,50,60,78],
+ default:() => [],
type: Array
},
score:{
@@ -54,7 +54,7 @@
},
computed:{
dataValue(){
- return this.dataList//.map(t=>t.anlyGrade)
+ return this.dataList.map(t=>t.anlyGrade)
},
chartWidth(){
return this.size + 'rpx'
diff --git a/src/pages/sparring/components/answer.vue b/src/pages/sparring/components/answer.vue
index 15e261fa..823c525c 100644
--- a/src/pages/sparring/components/answer.vue
+++ b/src/pages/sparring/components/answer.vue
@@ -1,5 +1,5 @@
-
+
@@ -8,7 +8,7 @@
-
+
@@ -35,7 +35,9 @@
onMounted,
computed,
ref,
+ unref,
watch,
+ toRefs
} from 'vue'
import { onUnload } from '@dcloudio/uni-app';
import MarkdownPreview from '@/components/markdown-preview/markdown-preview.vue'
@@ -47,10 +49,6 @@
default: () => ({}),
type: Object
},
- isLoading: {
- default: false,
- type: Boolean
- },
isAnswering: {
default: false,
type: Boolean
@@ -60,7 +58,7 @@
type: Boolean
}
})
-
+ const { isLast, dataInfo } = toRefs(props)
watch(
() => props.dataInfo,
() => {}, {
@@ -68,13 +66,6 @@
immediate: true
}
)
- watch(
- () => props.isLoading,
- () => {}, {
- deep: true,
- immediate: true
- }
- )
const isPlaying = ref(false)
const mdText = computed(() => {
@@ -110,6 +101,7 @@
const previewCrs = item => {
common.navigateTo('/pages/courseDetail/index?crsId=' + item.crsId)
}
+ const talkVoiceObj = ref(null)
const playVoice = (readType = 'pgth') => {
let _content = mdText.value;
if (!_content) {
@@ -136,6 +128,23 @@
}, 100);
};
+ const initVoice = () => {
+ talkVoiceObj.value = uni.createInnerAudioContext()
+ talkVoiceObj.value.onEnded(()=>{
+ emit('changePlay', '')
+ talkVoiceObj.value.src = ''
+ })
+ talkVoiceObj.value.onError(()=>{
+ talkVoiceObj.value.src = ''
+ })
+ if(unref(dataInfo).intrctWay === '02'){
+ itemVoice.value = unref(dataInfo).talkingVoice
+ talkVoiceObj.value.src = itemVoice.value
+ setTimeout(()=>{
+ setVoiceTime(0)
+ },100)
+ }
+ }
const pauseVoice = () => {
if (!talkVoiceObj.value) return
talkVoiceObj.value.pause()
diff --git a/src/pages/sparring/components/feedback.vue b/src/pages/sparring/components/feedback.vue
index 04838dc1..d0f509cc 100644
--- a/src/pages/sparring/components/feedback.vue
+++ b/src/pages/sparring/components/feedback.vue
@@ -37,8 +37,8 @@
nextTick
} from 'vue';
import {
- insertTraAskFeedback
- } from "@/api/dialog.js"
+ insertTraPartnerFeedback
+ } from "@/api/sparring.js"
import {
optionErrorIcon
} from '@/common/imgSvg'
@@ -47,10 +47,6 @@
const emit = defineEmits(['feedbackAnswer'])
const feedback_popup_bottom = ref('0px') // 反馈框下距离
const feedbackPopupRef = ref(null)
- // FM("01", "虚假信息"),
- // AE("02", "回答不准确"),
- // NH("03", "没有帮助"),
- // OTHER("04", "其他"),
const feedbackTypeList = reactive([{
value: "01",
label: "场景问题",
@@ -59,11 +55,13 @@
label: "功能问题",
}, {
value: "03",
- label: "没有帮助",
- }, {
- value: "04",
- label: "其他",
- }])
+ label: "陪练内容",
+ },
+ // {
+ // value: "04",
+ // label: "其他",
+ // },
+ ])
const feedbackInfo = ref({
type: [], // 反馈类型
text: '', // 反馈内容
@@ -86,14 +84,13 @@
common.msg('反馈内容不能为空!')
return
}
- // todo 待接口
+ // todo 待接口refineId=PARTNERINFO02506403215920251024093412000000348&fbkTyp=01&fbkContent=测试
const params = JSON.parse(JSON.stringify({
- askId: answerData.value.seqNo,
+ traId: answerData.value.traId,
fbkTyp: feedbackInfo.value.type.join(','),
- reqBatch: answerData.value.reqBatch,
fbkContent: feedbackInfo.value.text
}))
- insertTraAskFeedback(params).then(res=>{
+ insertTraPartnerFeedback(params).then(res=>{
common.msg('反馈提交成功!')
feedbackInfo.value = {
type: [], // 反馈类型
@@ -195,7 +192,7 @@
.feedback_item {
float: left;
- width: calc(50% - 20rpx);
+ width: calc(33.3% - 27rpx);
border: 2rpx solid #F0F0F0;
background-color: #F0F0F0;
border-radius: 16rpx;
@@ -206,8 +203,9 @@
color: #000000;
text-align: center;
margin-bottom: 20rpx;
- &:nth-child(2n){
- margin-left: 40rpx;
+ margin-right: 40rpx;
+ &:nth-child(3n){
+ margin-right: 0rpx;
}
}
}
diff --git a/src/pages/sparring/components/talking-item.vue b/src/pages/sparring/components/talking-item.vue
index b3161974..9c2d652d 100644
--- a/src/pages/sparring/components/talking-item.vue
+++ b/src/pages/sparring/components/talking-item.vue
@@ -1,9 +1,9 @@
-
+
-
+
{{ roleInfo?.chaName }}
@@ -13,19 +13,29 @@
+ :isAnswering="props.isAnswering" @handleEvents="handleEvents">
+
+ 回答提示
+
+
+
+ {{tipsContent}}
+
@@ -314,22 +334,42 @@
&-title {
font-size: 32rpx;
line-height: 64rpx;
+ font-weight: 600;
}
&-item {
padding: 23rpx 0;
.item-title {
- line-height: 40rpx;
- margin-bottom: 24rpx;
- font-weight: 500;
- .item-title-icon{
- width: 24rpx;
- height: 26rpx;
+ // line-height: 40rpx;
+ // margin-bottom: 24rpx;
+ // font-weight: 500;
+ // .item-title-icon{
+ // width: 24rpx;
+ // height: 26rpx;
+ // position: relative;
+ // top: 2rpx;
+ // left: 10rpx;
+ // }
+
+ line-height: 40rpx;
position: relative;
- top: 2rpx;
- left: 10rpx;
- }
+ padding: 0rpx 46rpx 0rpx 26rpx;
+ line-height: 42rpx;
+ font-size: 29rpx;
+ margin-bottom: 16rpx;
+
+ &::before {
+ content: '';
+ display: block;
+ background-color: #000;
+ width: 12rpx;
+ height: 12rpx;
+ border-radius: 50%;
+ position: absolute;
+ left: 0rpx;
+ top: 14rpx;
+ }
}
.item-cont {
@@ -354,6 +394,7 @@
line-height: 44rpx;
font-size: 32rpx;
margin-bottom: 24rpx;
+ font-weight: 600;
}
.static-score{
font-size: 66rpx;
diff --git a/src/pages/sparring/tip.vue b/src/pages/sparring/tip.vue
index db235ac4..ab45330d 100644
--- a/src/pages/sparring/tip.vue
+++ b/src/pages/sparring/tip.vue
@@ -8,14 +8,14 @@
- {{ '陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称陪练名称' }}
+ {{ detailInfo.traName }}
-
+
-
+
@@ -56,12 +56,22 @@
{{ detailInfo.sceneDesc }}
+
+
+
+
+
+
+ 结束陪练
+
-
+ :isLoading="!answerIsOver" :isDisabled="false" v-if="detailInfo.traInterTyp === '01'"/>
+
-
@@ -79,8 +89,10 @@
@@ -251,7 +538,10 @@
padding: 10rpx 24rpx 20rpx;
box-sizing: border-box;
overflow-y: auto;
-
+
+ &.talking-type1{
+ padding: 10rpx 24rpx 140rpx;
+ }
.body-content-role {
background-color: #fff;
border-radius: 16rpx;
@@ -414,8 +704,28 @@
text-align: center;
}
}
+ .talking-box{
+ padding-top: 24rpx;
+ }
+ }
+ .over-btn-box{
+ position: absolute;
+ bottom: 180rpx;
+ height: 140rpx;
+ padding: 0 23rpx;
+ width: 100%;
+ .over-btn{
+ float: right;
+ width: 194rpx;
+ height: 76rpx;
+ line-height: 72rpx;
+ border: 2rpx solid #06f;
+ border-radius: 15rpx;
+ text-align: center;
+ color:#06f;
+ margin-top: 34rpx;
+ }
}
-
.body-bottom {
height: 180rpx;
background-color: #fff;
diff --git a/src/static/images/sparring/ask-icon.png b/src/static/images/sparring/ask-icon.png
new file mode 100644
index 00000000..9d86269d
Binary files /dev/null and b/src/static/images/sparring/ask-icon.png differ