|
|
@@ -11,10 +11,18 @@
|
|
|
<!-- 选择题 -->
|
|
|
<div class="c_t45" v-if="workDetail && workDetail.type === '45' && props.showData">
|
|
|
<div class="c_t45_title">
|
|
|
- <div v-if="props.showData.choiceQuestionListData[props.showData.workIndex]">{{
|
|
|
+ <div class="c_title" v-if="props.showData.choiceQuestionListData[props.showData.workIndex]">
|
|
|
+ <span>{{
|
|
|
props.showData.choiceQuestionListData[props.showData.workIndex]
|
|
|
.teststitle
|
|
|
- }}</div>
|
|
|
+ }}</span>
|
|
|
+ <div class="switch_btn" v-if="props.isCreator && props.roleType == 1">
|
|
|
+ <div class="switch">
|
|
|
+ <Switch :value="canValue" @update:value="handleCanChange" />
|
|
|
+ <span>{{ lang.ssShowResult }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div class="c_t45_msg" v-if="props.roleType == 1">
|
|
|
<div>{{ lang.ssAnswerCount }} {{ props.showData.workArray.length }}<span
|
|
|
v-if="props.showData.unsubmittedStudents.length > 0">/{{ props.showData.workArray.length +
|
|
|
@@ -104,10 +112,18 @@
|
|
|
<!-- 投票 -->
|
|
|
<div class="c_t45" v-if="workDetail && workDetail.type === '78' && props.showData">
|
|
|
<div class="c_t45_title">
|
|
|
- <div v-if="props.showData.choiceQuestionListData[props.showData.workIndex]">{{
|
|
|
+ <div class="c_title" v-if="props.showData.choiceQuestionListData[props.showData.workIndex]">
|
|
|
+ <span>{{
|
|
|
props.showData.choiceQuestionListData[props.showData.workIndex]
|
|
|
.teststitle
|
|
|
- }}</div>
|
|
|
+ }}</span>
|
|
|
+ <div class="switch_btn" v-if="props.isCreator && props.roleType == 1">
|
|
|
+ <div class="switch">
|
|
|
+ <Switch :value="canValue" @update:value="handleCanChange" />
|
|
|
+ <span>{{ lang.ssShowResult }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div class="c_t45_msg" v-if="props.roleType == 1">
|
|
|
<div>{{ lang.ssAnswerCount }} {{ props.showData.workArray.length }}<span
|
|
|
v-if="props.showData.unsubmittedStudents.length > 0">/{{ props.showData.workArray.length +
|
|
|
@@ -197,7 +213,17 @@
|
|
|
|
|
|
<!-- 问答题 -->
|
|
|
<div class="c_t15" v-if="workDetail && workDetail.type === '15' && props.showData">
|
|
|
- <div class="c_t15_title">{{ workDetail.json.answerQ }}</div>
|
|
|
+ <div class="c_t15_title">
|
|
|
+ <div class="c_title">
|
|
|
+ <span>{{ workDetail.json.answerQ }}</span>
|
|
|
+ <div class="switch_btn" v-if="props.isCreator && props.roleType == 1">
|
|
|
+ <div class="switch">
|
|
|
+ <Switch :value="canValue" @update:value="handleCanChange" />
|
|
|
+ <span>{{ lang.ssShowResult }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<span class="c_t15_type">{{ lang.ssQATest }}</span>
|
|
|
<div class="c_t15_msg" v-if="props.roleType == 1">
|
|
|
<div>{{ lang.ssAnswerCount }} {{ props.showData.workArray.length }}<span
|
|
|
@@ -277,7 +303,17 @@
|
|
|
|
|
|
<!-- 拍照 -->
|
|
|
<div class="c_t15" v-if="workDetail && workDetail.type === '79' && props.showData">
|
|
|
- <div class="c_t15_title">{{ workDetail.json.answerQ }}</div>
|
|
|
+ <div class="c_t15_title">
|
|
|
+ <div class="c_title">
|
|
|
+ <span>{{ workDetail.json.answerQ }}</span>
|
|
|
+ <div class="switch_btn" v-if="props.isCreator && props.roleType == 1">
|
|
|
+ <div class="switch">
|
|
|
+ <Switch :value="canValue" @update:value="handleCanChange" />
|
|
|
+ <span>{{ lang.ssShowResult }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<span class="c_t15_type">{{ lang.ssPhoto }}</span>
|
|
|
<div class="c_t15_msg" v-if="props.roleType == 1">
|
|
|
<div>{{ lang.ssAnswerCount }} {{ props.showData.workArray.length }}<span
|
|
|
@@ -340,7 +376,17 @@
|
|
|
|
|
|
<!-- AI应用 -->
|
|
|
<div class="c_t72" v-if="props.showData && props.showData.toolType === 72">
|
|
|
- <div class="c_t72_title">{{ lang.ssAiApp }}</div>
|
|
|
+ <div class="c_t72_title">
|
|
|
+ <div class="c_title">
|
|
|
+ <span>{{ lang.ssAiApp }}</span>
|
|
|
+ <div class="switch_btn" v-if="props.isCreator && props.roleType == 1">
|
|
|
+ <div class="switch">
|
|
|
+ <Switch :value="canValue" @update:value="handleCanChange" />
|
|
|
+ <span>{{ lang.ssShowResult }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<span class="c_t72_type">{{ lang.ssAiApp }}</span>
|
|
|
<div class="c_t72_msg" v-if="props.roleType == 1">
|
|
|
<div>{{ lang.ssAnswerCount }} {{ props.showData.workArray.length }}<span
|
|
|
@@ -440,7 +486,17 @@
|
|
|
|
|
|
<!-- H5页面 -->
|
|
|
<div class="c_t73" v-if="props.showData && props.showData.toolType === 73">
|
|
|
- <div class="c_t73_title">{{ lang.ssPageImage }}</div>
|
|
|
+ <div class="c_t73_title">
|
|
|
+ <div class="c_title">
|
|
|
+ <span>{{ lang.ssPageImage }}</span>
|
|
|
+ <div class="switch_btn" v-if="props.isCreator && props.roleType == 1">
|
|
|
+ <div class="switch">
|
|
|
+ <Switch :value="canValue" @update:value="handleCanChange" />
|
|
|
+ <span>{{ lang.ssShowResult }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<span class="c_t73_type">{{ lang.ssHPage }}</span>
|
|
|
<div class="c_t73_msg" v-if="props.roleType == 1">
|
|
|
<div>{{ lang.ssAnswerCount }} {{ props.showData.workArray.length }}<span
|
|
|
@@ -491,6 +547,8 @@ import selectUserDialog from './selectUserDialog.vue'
|
|
|
import echartsDialog from './echartsDialog.vue'
|
|
|
import { chat_stream, chat_no_stream } from '@/tools/aiChat'
|
|
|
import axios from '@/services/config'
|
|
|
+import Switch from '@/components/Switch.vue'
|
|
|
+
|
|
|
const props = defineProps<{
|
|
|
visible: number[];
|
|
|
workIndex: number;
|
|
|
@@ -505,11 +563,14 @@ const props = defineProps<{
|
|
|
cid: string;
|
|
|
workUrl: string;
|
|
|
roleType: number;
|
|
|
+ resultArray: { [key: string]: any };
|
|
|
+ isCreator: boolean;
|
|
|
}>()
|
|
|
|
|
|
const emit = defineEmits<{
|
|
|
(e: 'update:visible', v: number[]): void;
|
|
|
(e: 'changeWorkIndex', v: number): void;
|
|
|
+ (e: 'setIsResultArray', v: boolean, key: string): void;
|
|
|
}>()
|
|
|
|
|
|
const visible = computed({
|
|
|
@@ -524,6 +585,18 @@ const workDetail = computed(() => {
|
|
|
return null
|
|
|
})
|
|
|
|
|
|
+const canValue = ref(props.resultArray?.can ?? false)
|
|
|
+
|
|
|
+watch(() => props.resultArray?.can, (newVal) => {
|
|
|
+ canValue.value = newVal
|
|
|
+})
|
|
|
+
|
|
|
+const handleCanChange = (value: boolean) => {
|
|
|
+ console.log(value)
|
|
|
+ console.log(props.resultArray)
|
|
|
+ emit('setIsResultArray', value, 'can')
|
|
|
+}
|
|
|
+
|
|
|
// 预览图片组件
|
|
|
const previewImageToolRef = ref<any>(null)
|
|
|
// 选择用户组件
|
|
|
@@ -3071,4 +3144,27 @@ onUnmounted(() => {
|
|
|
pointer-events: none !important;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+.c_title{
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ &>span {
|
|
|
+ flex: 1;
|
|
|
+ word-break: break-all;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.switch_btn{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: .5rem;
|
|
|
+
|
|
|
+ &>.switch{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: .5rem;
|
|
|
+ font-size: .8rem;
|
|
|
+ color: #141517;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|