|
|
@@ -2,7 +2,7 @@
|
|
|
<template>
|
|
|
<div class="courseware-detail">
|
|
|
<div class="page-header">
|
|
|
- <span class="header-back" @click="goBack">
|
|
|
+ <span v-if="normalizedType !== 'launch'" class="header-back" @click="goBack">
|
|
|
<SvgIcon icon-class="courseware-undo" size="16" />
|
|
|
</span>
|
|
|
</div>
|
|
|
@@ -18,7 +18,7 @@
|
|
|
<div class="detail-wrap">
|
|
|
<div class="book-top">
|
|
|
<span>{{ project.name || '-' }} </span>
|
|
|
- <span class="book-button" title="查看详细信息" @click="goInfo">
|
|
|
+ <span v-if="normalizedType === 'manage'" class="book-button" title="查看详细信息" @click="goInfo">
|
|
|
<SvgIcon icon-class="courseware-list" size="18" />
|
|
|
</span>
|
|
|
</div>
|
|
|
@@ -49,7 +49,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="book-intro">简介:{{ project.content_intro || '-' }}</div>
|
|
|
- <div v-if="normalizedType === 'manage'" class="operator-wrap">
|
|
|
+ <div v-if="['manage', 'launch'].includes(normalizedType)" class="operator-wrap">
|
|
|
<div class="preview-button" @click="managePreview">
|
|
|
<SvgIcon icon-class="courseware-eye" size="20" /><span>预览</span>
|
|
|
</div>
|
|
|
@@ -72,8 +72,9 @@
|
|
|
></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-if="operateButtons.length > 0 && normalizedType === 'manage'" class="apply-wrap">
|
|
|
- <div class="request-status">
|
|
|
+ <div v-if="normalizedType === 'manage'" class="apply-wrap">
|
|
|
+ <div v-if="project.status_name.length > 0" class="request-status">{{ project.status_name }}</div>
|
|
|
+ <div v-if="project.request_status_name.length > 0" class="request-status">
|
|
|
{{ project.request_status_name }}
|
|
|
</div>
|
|
|
<div style="flex: 1"></div>
|
|
|
@@ -186,7 +187,7 @@ import BookUnifiedAttr from '@/views/personal_workbench/project/components/BookU
|
|
|
|
|
|
import { GetProjectInfo, ProjectRequestOperate } from '@/api/project';
|
|
|
|
|
|
-const TYPE_LIST = ['edit', 'manage', 'audit'];
|
|
|
+const TYPE_LIST = ['edit', 'manage', 'audit', 'launch'];
|
|
|
// 进度步骤配置
|
|
|
const PROGRESS_STEP_CONFIG = [
|
|
|
{ key: 'create', label: '创建', finishKey: 'is_finish_create', dateKey: 'create_date' },
|
|
|
@@ -281,12 +282,12 @@ export default {
|
|
|
);
|
|
|
},
|
|
|
stepClass(idx) {
|
|
|
- if (this.currentStage > idx) return 'done';
|
|
|
+ if (this.progressSteps[idx - 1].finished) return 'done';
|
|
|
if (this.currentStage === idx) return 'active';
|
|
|
return 'pending';
|
|
|
},
|
|
|
stepIcon(idx) {
|
|
|
- if (this.currentStage > idx) return '✓';
|
|
|
+ if (this.progressSteps[idx - 1].finished) return '✓';
|
|
|
return String(idx);
|
|
|
},
|
|
|
/**
|
|
|
@@ -343,32 +344,58 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
goEdit() {
|
|
|
- this.$router.push({ path: `/personal_workbench/edit_task/preview`, query: { project_id: this.projectId } });
|
|
|
+ this.$router.push({
|
|
|
+ path: `/personal_workbench/edit_task/preview`,
|
|
|
+ query: { project_id: this.projectId, type: this.normalizedType },
|
|
|
+ });
|
|
|
},
|
|
|
goAudit() {
|
|
|
- this.$router.push({ path: `/personal_workbench/check_task/audit`, query: { project_id: this.projectId } });
|
|
|
+ this.$router.push({
|
|
|
+ path: `/personal_workbench/check_task/audit`,
|
|
|
+ query: { project_id: this.projectId, type: this.normalizedType },
|
|
|
+ });
|
|
|
},
|
|
|
goManage(type) {
|
|
|
if (type === 'editorial') {
|
|
|
- this.$router.push({ name: 'ProductionEditorial', params: { id: this.projectId } });
|
|
|
+ this.$router.push({
|
|
|
+ name: 'ProductionEditorial',
|
|
|
+ params: { id: this.projectId },
|
|
|
+ query: { type: this.normalizedType },
|
|
|
+ });
|
|
|
return;
|
|
|
}
|
|
|
if (type === 'resource') {
|
|
|
- this.$router.push({ name: 'ProjectResource', params: { id: this.projectId } });
|
|
|
+ this.$router.push({
|
|
|
+ name: 'ProjectResource',
|
|
|
+ params: { id: this.projectId },
|
|
|
+ query: { type: this.normalizedType },
|
|
|
+ });
|
|
|
return;
|
|
|
}
|
|
|
},
|
|
|
goMindMap() {
|
|
|
- this.$router.push({ path: `/project_manage/project/mind_map/${this.projectId}` });
|
|
|
+ this.$router.push({
|
|
|
+ path: `/project_manage/project/mind_map/${this.projectId}`,
|
|
|
+ query: { type: this.normalizedType },
|
|
|
+ });
|
|
|
},
|
|
|
goKnowledgeGraph() {
|
|
|
- this.$router.push({ path: `/project_manage/project/vis_network/${this.projectId}` });
|
|
|
+ this.$router.push({
|
|
|
+ path: `/project_manage/project/vis_network/${this.projectId}`,
|
|
|
+ query: { type: this.normalizedType },
|
|
|
+ });
|
|
|
},
|
|
|
goInfo() {
|
|
|
- this.$router.push({ path: `/personal_workbench/project_info/${this.projectId}`, query: { isManage: 'true' } });
|
|
|
+ this.$router.push({
|
|
|
+ path: `/personal_workbench/project_info/${this.projectId}`,
|
|
|
+ query: { isManage: 'true', type: this.normalizedType },
|
|
|
+ });
|
|
|
},
|
|
|
managePreview() {
|
|
|
- this.$router.push({ path: `/project_manage/project/preview/${this.projectId}` });
|
|
|
+ this.$router.push({
|
|
|
+ path: `/project_manage/project/preview/${this.projectId}`,
|
|
|
+ query: { type: this.normalizedType },
|
|
|
+ });
|
|
|
},
|
|
|
},
|
|
|
};
|
|
|
@@ -637,6 +664,7 @@ export default {
|
|
|
display: inline-block;
|
|
|
width: 6px;
|
|
|
height: 6px;
|
|
|
+ margin-right: 2px;
|
|
|
content: '';
|
|
|
background: #2563eb;
|
|
|
border-radius: 50%;
|