123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <template>
- <div class="edit-task">
- <MenuPage cur-key="edit_task" />
- <div class="edit-task__header">
- <div class="menu">
- <span></span>
- <span class="link" @click="goBackBookList">返回教材列表</span>
- </div>
- <div class="courseware">
- <span class="name-path">{{ courseware_info.name_path }}</span>
- <div class="switch">
- <span :class="['link', { active: isEdit }]" @click="toggleEditMode(true)">内容编辑</span>
- <span :class="['link', { active: !isEdit }]" @click="toggleEditMode(false)">位置调整</span>
- </div>
- <div class="operator">
- <span class="link" @click="saveCoursewareContent('quit')">退出编辑</span>
- <span class="link" @click="saveCoursewareContent">保存</span>
- </div>
- </div>
- </div>
- <CreatePage ref="create" class="edit-task__content" @goBackPreview="goBackPreview" />
- </div>
- </template>
- <script>
- import { GetBookCoursewareInfo, GetMyBookCoursewareTaskList } from '@/api/project';
- import CreatePage from '@/views/book/courseware/create/index.vue';
- import MenuPage from '@/views/personal_workbench/menu.vue';
- export default {
- name: 'EditTaskPage',
- components: {
- CreatePage,
- MenuPage,
- },
- data() {
- return {
- id: this.$route.params.courseware_id,
- project_id: this.$route.query.project_id,
- courseware_info: {},
- courseware_list: [],
- isEdit: true, // 是否编辑状态
- };
- },
- created() {
- this.getBookCoursewareInfo();
- this.getMyBookCoursewareTaskList();
- },
- mounted() {
- this.$nextTick(() => {
- this.$watch(
- () => this.$refs.create.isEdit,
- (newVal) => {
- this.isEdit = newVal;
- },
- { immediate: true },
- );
- });
- },
- methods: {
- /**
- * 得到教材课件信息
- */
- getBookCoursewareInfo() {
- GetBookCoursewareInfo({ id: this.id }).then(({ courseware_info }) => {
- this.courseware_info = courseware_info;
- });
- },
- goBackBookList() {
- this.$router.push({ path: '/personal_workbench/edit_task', query: { book_id: this.courseware_info.book_id } });
- },
- toggleEditMode(isEdit) {
- if (this.isEdit !== isEdit) {
- this.saveCoursewareContent('edit');
- }
- },
- saveCoursewareContent(type = '') {
- this.$refs.create.saveCoursewareContent(type);
- },
- goBackPreview() {
- this.$router.push({ path: `/personal_workbench/edit_task/preview/${this.id}` });
- },
- /**
- * 得到我的教材课件任务列表
- */
- getMyBookCoursewareTaskList() {
- GetMyBookCoursewareTaskList({ project_id: this.project_id }).then(({ courseware_list }) => {
- this.courseware_list = courseware_list;
- });
- },
- },
- };
- </script>
- <style lang="scss" scoped>
- @use '@/styles/mixin.scss' as *;
- .edit-task {
- height: calc(100% - 52px);
- min-height: calc(100% - 52px) !important;
- @include page-content(true);
- &__header {
- display: flex;
- align-items: center;
- border-top: $border;
- border-bottom: $border;
- .menu {
- display: flex;
- justify-content: space-between;
- width: 360px;
- padding: 4px 8px;
- border-right: $border;
- }
- .courseware {
- display: flex;
- flex-grow: 1;
- align-items: center;
- justify-content: space-between;
- padding: 4px 8px;
- .name-path {
- font-size: 14px;
- }
- .link {
- padding: 4px;
- border-radius: 4px;
- &.active {
- background-color: $main-active-color;
- }
- }
- }
- }
- &__content {
- flex: 1;
- flex-direction: row !important;
- }
- }
- </style>
|