|
|
@@ -26,13 +26,61 @@
|
|
|
<span>{{ project.category }}</span>
|
|
|
<span class="link">更改</span>
|
|
|
</div>
|
|
|
- <span class="label">作品标签</span>
|
|
|
+
|
|
|
+ <span class="label" style="line-height: 290px">教材封面</span>
|
|
|
<div class="project-item">
|
|
|
- <span>
|
|
|
- <span v-for="(label, index) in project.label_list" :key="index">
|
|
|
- {{ label }}{{ index < project.label_list.length - 1 ? ',' : '' }}
|
|
|
+ <div v-if="project.cover_image_file_url?.length > 0" class="cover-image">
|
|
|
+ <img :src="project.cover_image_file_url" alt="cover image" />
|
|
|
+ </div>
|
|
|
+ <div v-else></div>
|
|
|
+ <span class="link">更改</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="label label-list">
|
|
|
+ <span>语种</span>
|
|
|
+ <span>出版单位</span>
|
|
|
+ <span>作品标签</span>
|
|
|
+ <span>所属课题</span>
|
|
|
+ <span>主编</span>
|
|
|
+ <span>副主编</span>
|
|
|
+ </div>
|
|
|
+ <div class="project-item info-list">
|
|
|
+ <div class="info-item">
|
|
|
+ <span>{{ project.language }}</span>
|
|
|
+ <span class="link">更改</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="info-item">
|
|
|
+ <span>{{ project.publisher }}</span>
|
|
|
+ <span class="link">更改</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="info-item">
|
|
|
+ <span>
|
|
|
+ <span v-for="(label, index) in project.label_list" :key="index">
|
|
|
+ {{ label }}{{ index < project.label_list.length - 1 ? ',' : '' }}
|
|
|
+ </span>
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ <span class="link">更改</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="info-item">
|
|
|
+ <span>{{ project.topic }}</span>
|
|
|
+ <span class="link">更改</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="info-item">
|
|
|
+ <span>{{ project.editor }}</span>
|
|
|
+ <span class="link">更改</span>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <span>{{ project.associate_editor }}</span>
|
|
|
+ <span class="link">更改</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <span class="label">作品标签</span>
|
|
|
+ <div class="project-item">
|
|
|
<span class="link">更改</span>
|
|
|
</div>
|
|
|
<span class="label">语种</span>
|
|
|
@@ -45,11 +93,7 @@
|
|
|
<span>{{ project.topic }}</span>
|
|
|
<span class="link">更改</span>
|
|
|
</div>
|
|
|
- <span class="label">出版单位</span>
|
|
|
- <div class="project-item">
|
|
|
- <span>{{ project.publisher }}</span>
|
|
|
- <span class="link">更改</span>
|
|
|
- </div>
|
|
|
+
|
|
|
<span class="label" style="line-height: 16px">预计容量<br />(课数)</span>
|
|
|
<div class="project-item">
|
|
|
<span>{{ project.content_count_YG }}</span>
|
|
|
@@ -120,7 +164,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { GetProjectInfo, SetProjectMember } from '@/api/project';
|
|
|
+import { GetProjectInfo, SetProjectMember, SetProjectLeader } from '@/api/project';
|
|
|
import { GetUserList_ID } from '@/api/user';
|
|
|
|
|
|
import selectMembers from '@/views/create_project/selectProjectMembers.vue';
|
|
|
@@ -159,11 +203,15 @@ export default {
|
|
|
plan_publish_date: '', // 计划出版时间
|
|
|
reader: '', // 读者对象
|
|
|
leader_id_list: [], // 组长列表
|
|
|
+ leader_name_desc: '', // 组长名称描述
|
|
|
member_id_list: [], // 组员列表
|
|
|
+ member_name_desc: '', // 组员名称描述
|
|
|
creator_name: '', // 创建人名称
|
|
|
create_time: '', // 创建时间
|
|
|
- leader_name_desc: '', // 组长名称描述
|
|
|
- member_name_desc: '', // 组员名称描述
|
|
|
+ editor: '', // 主编
|
|
|
+ associate_editor: '', // 副主编
|
|
|
+ cover_image_file_id: null, // 封面图片ID
|
|
|
+ cover_image_file_url: '', // 封面图片URL
|
|
|
},
|
|
|
formRules: {
|
|
|
name: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
|
|
|
@@ -205,6 +253,7 @@ export default {
|
|
|
handleSelectedMembers(selectedUsers) {
|
|
|
if (this.type === 'leader') {
|
|
|
this.project.leader_id_list = selectedUsers.map((user) => user.id);
|
|
|
+ this.setProjectLeader();
|
|
|
} else if (this.type === 'member') {
|
|
|
this.project.member_id_list = selectedUsers.map((user) => user.id);
|
|
|
this.setProjectMember();
|
|
|
@@ -219,8 +268,10 @@ export default {
|
|
|
GetUserList_ID({ id_list }).then(({ user_list }) => {
|
|
|
if (type === 'leader') {
|
|
|
this.list.leader = user_list;
|
|
|
+ this.project.leader_name_desc = user_list.map((user) => user.user_name).join(',');
|
|
|
} else if (type === 'member') {
|
|
|
this.list.member = user_list;
|
|
|
+ this.project.member_name_desc = user_list.map((user) => user.user_name).join(',');
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
@@ -234,6 +285,16 @@ export default {
|
|
|
this.getProjectInfo();
|
|
|
});
|
|
|
},
|
|
|
+ // 设置项目组长
|
|
|
+ setProjectLeader() {
|
|
|
+ SetProjectLeader({
|
|
|
+ project_id: this.id,
|
|
|
+ user_id_list: this.project.leader_id_list,
|
|
|
+ }).then(() => {
|
|
|
+ this.$message.success('项目组长更新成功');
|
|
|
+ this.getProjectInfo();
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
@@ -271,6 +332,13 @@ export default {
|
|
|
.label {
|
|
|
text-align: right;
|
|
|
background-color: $fill-color;
|
|
|
+
|
|
|
+ &.label-list {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ row-gap: 18px;
|
|
|
+ padding: 12px 8px;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.project-item {
|
|
|
@@ -280,11 +348,48 @@ export default {
|
|
|
:first-child {
|
|
|
flex: 1;
|
|
|
}
|
|
|
+
|
|
|
+ &.info-list {
|
|
|
+ flex-direction: column;
|
|
|
+ padding: 3px 8px;
|
|
|
+
|
|
|
+ :first-child {
|
|
|
+ flex: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-item {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ height: 50px;
|
|
|
+ padding: 9px 0;
|
|
|
+
|
|
|
+ &:not(:last-child) {
|
|
|
+ border-bottom: $border;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .cover-image {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ width: 373px;
|
|
|
+ height: 289px;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ img {
|
|
|
+ display: block;
|
|
|
+ flex: none;
|
|
|
+ max-width: 373px;
|
|
|
+ max-height: 289px;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.table-fourcolumn {
|
|
|
- grid-template-rows: repeat(7, minmax(40px, auto));
|
|
|
+ grid-template-rows: 40px 298px repeat(5, minmax(40px, auto));
|
|
|
grid-template-columns: 120px 1fr 120px 1fr;
|
|
|
}
|
|
|
|