|
@@ -13,6 +13,21 @@
|
|
|
<span :class="['link', { active: !isEdit }]" @click="toggleEditMode(false)">位置调整</span>
|
|
|
</div>
|
|
|
<div class="operator">
|
|
|
+ <el-switch
|
|
|
+ v-show="!isEdit"
|
|
|
+ v-model="chinese"
|
|
|
+ active-value="zh-Hant"
|
|
|
+ inactive-value="zh-Hans"
|
|
|
+ active-color="#ff4949"
|
|
|
+ inactive-color="#165dff"
|
|
|
+ active-text="繁"
|
|
|
+ inactive-text="简"
|
|
|
+ />
|
|
|
+ <span v-if="!isEdit" class="link">
|
|
|
+ <el-select v-model="lang" placeholder="请选择语言" size="mini" class="lang-select">
|
|
|
+ <el-option v-for="item in langList" :key="item.code" :label="item.name" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
+ </span>
|
|
|
<span class="link" @click="showSetBackground">背景图</span>
|
|
|
<span class="link" @click="saveCoursewareContent('quit')">退出编辑</span>
|
|
|
<span class="link" @click="saveCoursewareContent">保存</span>
|
|
@@ -26,8 +41,12 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import Vue from 'vue';
|
|
|
+
|
|
|
import CreatePage from '@/views/book/courseware/create/index.vue';
|
|
|
import MenuPage from '@/views/personal_workbench/common/menu.vue';
|
|
|
+import * as OpenCC from 'opencc-js';
|
|
|
+import { langList } from '@/views/book/courseware/data/common';
|
|
|
|
|
|
import { GetBookCoursewareInfo, GetMyBookCoursewareTaskList } from '@/api/project';
|
|
|
|
|
@@ -37,6 +56,14 @@ export default {
|
|
|
CreatePage,
|
|
|
MenuPage,
|
|
|
},
|
|
|
+ // 将 lang、chinese 提供给子组件,并让这几个属性可响应式
|
|
|
+ provide() {
|
|
|
+ return {
|
|
|
+ getLang: () => this.lang,
|
|
|
+ getChinese: () => this.chinese,
|
|
|
+ convertText: this.convertText,
|
|
|
+ };
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
id: this.$route.params.courseware_id,
|
|
@@ -44,6 +71,10 @@ export default {
|
|
|
courseware_info: {},
|
|
|
courseware_list: [],
|
|
|
isEdit: true, // 是否编辑状态
|
|
|
+ opencc: OpenCC.Converter({ from: 'cn', to: 'tw' }),
|
|
|
+ langList: [{ code: 'zh', name: '中文' }, ...langList],
|
|
|
+ lang: 'zh',
|
|
|
+ chinese: 'zh-Hans',
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -98,6 +129,17 @@ export default {
|
|
|
this.courseware_list = courseware_list;
|
|
|
});
|
|
|
},
|
|
|
+ /**
|
|
|
+ * 文本转换
|
|
|
+ * @param {string} text - 要转换的文本
|
|
|
+ * @returns {string} - 转换后的文本
|
|
|
+ */
|
|
|
+ convertText(text) {
|
|
|
+ if (this.chinese === 'zh-Hant' && this.opencc) {
|
|
|
+ return this.opencc(text);
|
|
|
+ }
|
|
|
+ return text;
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
@@ -144,6 +186,24 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .operator {
|
|
|
+ .lang-select {
|
|
|
+ :deep .el-input {
|
|
|
+ width: 100px;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep .el-input__inner {
|
|
|
+ height: 24px;
|
|
|
+ line-height: 24px;
|
|
|
+ background-color: #fff;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep .el-input__icon {
|
|
|
+ line-height: 24px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|