|
@@ -868,7 +868,13 @@
|
|
|
<div class="form-row">
|
|
<div class="form-row">
|
|
|
<div class="form-item aiAssistant-item">
|
|
<div class="form-item aiAssistant-item">
|
|
|
<div class="aiAssistant_box">
|
|
<div class="aiAssistant_box">
|
|
|
- <label class="aiAssistant_box_title">{{ lang.ssAIAssistant }}</label>
|
|
|
|
|
|
|
+ <label class="aiAssistant_box_title">
|
|
|
|
|
+ {{ lang.ssAIAssistant }}
|
|
|
|
|
+ <el-tooltip :content="lang.ssAIAssistantTip" placement="top" effect="dark">
|
|
|
|
|
+ <!-- content to trigger tooltip here -->
|
|
|
|
|
+ <svg t="1785306438724" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6639" width="128" height="128"><path d="M512 993.882353C245.850353 993.882353 30.117647 778.149647 30.117647 512S245.850353 30.117647 512 30.117647s481.882353 215.732706 481.882353 481.882353-215.732706 481.882353-481.882353 481.882353z m0-60.235294c232.869647 0 421.647059-188.777412 421.647059-421.647059S744.869647 90.352941 512 90.352941 90.352941 279.130353 90.352941 512s188.777412 421.647059 421.647059 421.647059z" fill="#bfbfbf" p-id="6640"></path><path d="M459.956706 763.572706c-5.12-34.665412-1.204706-105.893647 0-120.530824l5.300706-165.49647c0.963765-15.36-7.981176-11.444706-14.125177-8.553412-29.816471 14.215529-64.602353 40.357647-64.602353 40.357647s21.172706-57.283765 41.592471-81.227294c15.088941-21.052235 47.465412-49.182118 71.258353-51.410824 28.039529 0.602353 42.405647 4.848941 40.05647 74.842353 0 0-4.698353 215.100235-0.662588 252.596706 4.096 11.956706 43.339294-15.209412 48.850824-19.516235 5.541647-4.306824 56.32-50.176 56.32-50.176S602.352941 759.868235 522.300235 787.787294c-28.521412 9.938824-58.066824 5.150118-62.373647-24.214588z" fill="#bfbfbf" opacity=".99" p-id="6641"></path><path d="M503.717647 285.364706m-52.495059 0a52.495059 52.495059 0 1 0 104.990118 0 52.495059 52.495059 0 1 0-104.990118 0Z" fill="#bfbfbf" p-id="6642"></path><path d="M0 0h1024v1024H0z" fill="#bfbfbf" fill-opacity="0" p-id="6643"></path></svg>
|
|
|
|
|
+ </el-tooltip>
|
|
|
|
|
+ </label>
|
|
|
<div class="ai-switch-wrapper">
|
|
<div class="ai-switch-wrapper">
|
|
|
<el-switch v-model="aiAssistant" active-color="#FF8C00" inactive-color="#DCDFE6"></el-switch>
|
|
<el-switch v-model="aiAssistant" active-color="#FF8C00" inactive-color="#DCDFE6"></el-switch>
|
|
|
</div>
|
|
</div>
|
|
@@ -1347,7 +1353,27 @@ export default {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
// 打开发布弹窗
|
|
// 打开发布弹窗
|
|
|
- openPublishDialog() {
|
|
|
|
|
|
|
+ async openPublishDialog() {
|
|
|
|
|
+ if (this.$refs.pptIframeRef.contentWindow.window.pptLoading !== 2) return this.$message.info(this.lang.ssPptLoad)
|
|
|
|
|
+ let _pptData = await this.getPPtJson();
|
|
|
|
|
+ const _pptData2 = JSON.parse(JSON.stringify(_pptData))
|
|
|
|
|
+ let toolsArrayCont = []
|
|
|
|
|
+ let istoolsArray = false
|
|
|
|
|
+ if (_pptData2.slides) {
|
|
|
|
|
+ toolsArrayCont = _pptData2.slides.some(slide => slide.toolsArray && slide.toolsArray.length > 0)
|
|
|
|
|
+ if (toolsArrayCont) {
|
|
|
|
|
+ // 有内容就弹出弹窗
|
|
|
|
|
+ istoolsArray = true
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if(istoolsArray){
|
|
|
|
|
+ const confirmed = await this.showToolsConfirmDialog();
|
|
|
|
|
+ if (!confirmed) {
|
|
|
|
|
+ this.uploadWorkLoading = false;
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
this.initCourseSettingsOptions();
|
|
this.initCourseSettingsOptions();
|
|
|
this.loadClassOptions();
|
|
this.loadClassOptions();
|
|
|
this.dialogVisiblePublish = true;
|
|
this.dialogVisiblePublish = true;
|
|
@@ -1387,16 +1413,16 @@ export default {
|
|
|
},
|
|
},
|
|
|
// 确认发布
|
|
// 确认发布
|
|
|
confirmPublish() {
|
|
confirmPublish() {
|
|
|
- if (!this.selectedSubject) {
|
|
|
|
|
- this.$message.error('请选择学科');
|
|
|
|
|
|
|
+ if (!this.selectedSubject.length) {
|
|
|
|
|
+ this.$message.error(this.lang.ssSelectSubject);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- if (!this.selectGrage) {
|
|
|
|
|
- this.$message.error('请选择年级');
|
|
|
|
|
|
|
+ if (!this.selectedGrade.length) {
|
|
|
|
|
+ this.$message.error(this.lang.ssSelectGrade);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- if (!this.checkboxList2) {
|
|
|
|
|
- this.$message.error('请选择班级');
|
|
|
|
|
|
|
+ if (!this.checkboxList2.length) {
|
|
|
|
|
+ this.$message.error(this.lang.ssSelectClass2);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1404,7 +1430,7 @@ export default {
|
|
|
// 模拟发布过程
|
|
// 模拟发布过程
|
|
|
console.log('发布课程:', {
|
|
console.log('发布课程:', {
|
|
|
subject: this.selectedSubject,
|
|
subject: this.selectedSubject,
|
|
|
- grade: this.selectGrage,
|
|
|
|
|
|
|
+ grade: this.selectedGrade,
|
|
|
class: this.checkboxList2,
|
|
class: this.checkboxList2,
|
|
|
visibility: this.isTeacherSee,
|
|
visibility: this.isTeacherSee,
|
|
|
aiAssistant: this.aiAssistant
|
|
aiAssistant: this.aiAssistant
|
|
@@ -1950,8 +1976,6 @@ export default {
|
|
|
}
|
|
}
|
|
|
const _pptData2 = JSON.parse(JSON.stringify(_pptData))
|
|
const _pptData2 = JSON.parse(JSON.stringify(_pptData))
|
|
|
const pptContent = []
|
|
const pptContent = []
|
|
|
- let toolsArrayCont = []
|
|
|
|
|
- let istoolsArray = false
|
|
|
|
|
if (_pptData2.slides) {
|
|
if (_pptData2.slides) {
|
|
|
_pptData2.slides.forEach((slide, index) => {
|
|
_pptData2.slides.forEach((slide, index) => {
|
|
|
let slideContent = ''
|
|
let slideContent = ''
|
|
@@ -1966,20 +1990,8 @@ export default {
|
|
|
}
|
|
}
|
|
|
pptContent.push(`第${index + 1}页: ${slideContent || '内容为空'}`)
|
|
pptContent.push(`第${index + 1}页: ${slideContent || '内容为空'}`)
|
|
|
})
|
|
})
|
|
|
- toolsArrayCont = _pptData2.slides.some(slide => slide.toolsArray && slide.toolsArray.length > 0)
|
|
|
|
|
- if (toolsArrayCont) {
|
|
|
|
|
- // 有内容就弹出弹窗
|
|
|
|
|
- istoolsArray = true
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(istoolsArray && type == 1){
|
|
|
|
|
- const confirmed = await this.showToolsConfirmDialog();
|
|
|
|
|
- if (!confirmed) {
|
|
|
|
|
- this.uploadWorkLoading = false;
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
const contentDescription = pptContent.join('\n')
|
|
const contentDescription = pptContent.join('\n')
|
|
|
// 用_pptData生成json文件,并生成File对象
|
|
// 用_pptData生成json文件,并生成File对象
|
|
|
const pptJsonStr = JSON.stringify(_pptData, null, 2);
|
|
const pptJsonStr = JSON.stringify(_pptData, null, 2);
|
|
@@ -2085,8 +2097,6 @@ export default {
|
|
|
}
|
|
}
|
|
|
const _pptData2 = JSON.parse(JSON.stringify(_pptData))
|
|
const _pptData2 = JSON.parse(JSON.stringify(_pptData))
|
|
|
const pptContent = []
|
|
const pptContent = []
|
|
|
- let toolsArrayCont = []
|
|
|
|
|
- let istoolsArray = false
|
|
|
|
|
if (_pptData2.slides) {
|
|
if (_pptData2.slides) {
|
|
|
_pptData2.slides.forEach((slide, index) => {
|
|
_pptData2.slides.forEach((slide, index) => {
|
|
|
let slideContent = ''
|
|
let slideContent = ''
|
|
@@ -2101,19 +2111,8 @@ export default {
|
|
|
}
|
|
}
|
|
|
pptContent.push(`第${index + 1}页: ${slideContent || '内容为空'}`)
|
|
pptContent.push(`第${index + 1}页: ${slideContent || '内容为空'}`)
|
|
|
})
|
|
})
|
|
|
- toolsArrayCont = _pptData2.slides.some(slide => slide.toolsArray && slide.toolsArray.length > 0)
|
|
|
|
|
- if (toolsArrayCont) {
|
|
|
|
|
- // 有内容就弹出弹窗
|
|
|
|
|
- istoolsArray = true
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- if(istoolsArray && type == 1){
|
|
|
|
|
- const confirmed = await this.showToolsConfirmDialog();
|
|
|
|
|
- if (!confirmed) {
|
|
|
|
|
- this.uploadWorkLoading = false;
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
const contentDescription = pptContent.join('\n')
|
|
const contentDescription = pptContent.join('\n')
|
|
|
// 用_pptData生成json文件,并生成File对象
|
|
// 用_pptData生成json文件,并生成File对象
|
|
|
const pptJsonStr = JSON.stringify(_pptData, null, 2);
|
|
const pptJsonStr = JSON.stringify(_pptData, null, 2);
|
|
@@ -3715,6 +3714,11 @@ export default {
|
|
|
// this.dialogVisibleBasicInfo = true
|
|
// this.dialogVisibleBasicInfo = true
|
|
|
this.openPublishDialog()
|
|
this.openPublishDialog()
|
|
|
}
|
|
}
|
|
|
|
|
+ window.publishCourse2 = () => {
|
|
|
|
|
+ this.initCourseSettingsOptions();
|
|
|
|
|
+ this.loadClassOptions();
|
|
|
|
|
+ this.dialogVisiblePublish = true;
|
|
|
|
|
+ }
|
|
|
window.openCourseSettings = () => this.openCourseSettings();
|
|
window.openCourseSettings = () => this.openCourseSettings();
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
@@ -5664,7 +5668,17 @@ export default {
|
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-.aiAssistant_box_title{}
|
|
|
|
|
|
|
+.aiAssistant_box_title{
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.aiAssistant_box_title svg{
|
|
|
|
|
+ margin-left: 8px;
|
|
|
|
|
+ width: 16px;
|
|
|
|
|
+ height: 16px;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
.ai-switch-wrapper{}
|
|
.ai-switch-wrapper{}
|
|
|
</style>
|
|
</style>
|