|
|
@@ -13,6 +13,8 @@
|
|
|
</span>
|
|
|
</div>
|
|
|
<span class="link" @click="visibleAuditSteps = true">设置审核步骤</span>
|
|
|
+ <div class="member-list">{{ member_list.map((member) => member.name).join(';') }}</div>
|
|
|
+ <span class="link" @click="selectMembers">修改</span>
|
|
|
<div class="operator flex">
|
|
|
<span class="link" @click="openBookUnifiedTitle()">教材标题设置</span>
|
|
|
<span class="link" @click="openBookUnifiedAttrib()">教材样式设置</span>
|
|
|
@@ -171,6 +173,13 @@
|
|
|
<UpdateName :name="name.name" :visible.sync="name.visible" @submit="updateName" />
|
|
|
<BookUnifiedAttr :visible.sync="visibleAttr" :book-id="book_id" />
|
|
|
<BookUnifiedTitle :visible.sync="visibleTitle" :book-id="book_id" />
|
|
|
+ <SelectMembers
|
|
|
+ :visible.sync="visibleMembers"
|
|
|
+ title="选择项目成员"
|
|
|
+ :selected-list="memberInfoList"
|
|
|
+ type="member"
|
|
|
+ @confirm="handleSelectedMembers"
|
|
|
+ />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -184,8 +193,10 @@ import UpdateName from './components/UpdateName.vue';
|
|
|
import BookUnifiedAttr from './components/BookUnifiedAttr.vue';
|
|
|
import BookUnifiedTitle from './components/BookUnifiedTitle.vue';
|
|
|
import VueDraggable from 'vuedraggable';
|
|
|
+import SelectMembers from '@/views/create_project/selectProjectMembers.vue';
|
|
|
|
|
|
-import { GetProjectBaseInfo } from '@/api/project';
|
|
|
+import { GetProjectBaseInfo, SetProjectMember } from '@/api/project';
|
|
|
+import { GetUserList_ID } from '@/api/user';
|
|
|
import {
|
|
|
ChapterGetBookChapterStructExpandList,
|
|
|
ChapterAddChapterToBook,
|
|
|
@@ -213,6 +224,7 @@ export default {
|
|
|
BookUnifiedAttr,
|
|
|
BookUnifiedTitle,
|
|
|
VueDraggable,
|
|
|
+ SelectMembers,
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
@@ -251,6 +263,8 @@ export default {
|
|
|
targetId: '',
|
|
|
dragging: false,
|
|
|
},
|
|
|
+ memberInfoList: [], // 项目成员信息列表
|
|
|
+ visibleMembers: false,
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
@@ -272,6 +286,7 @@ export default {
|
|
|
this.member_list = member_list;
|
|
|
this.book_info_PBE = book_info_PBE;
|
|
|
this.audit_node_list = audit_node_list;
|
|
|
+ this.getUserList_ID();
|
|
|
});
|
|
|
},
|
|
|
/**
|
|
|
@@ -653,6 +668,32 @@ export default {
|
|
|
this.dragCtx.targetId = '';
|
|
|
});
|
|
|
},
|
|
|
+ /**
|
|
|
+ * 得到用户列表(指定ID)
|
|
|
+ */
|
|
|
+ getUserList_ID() {
|
|
|
+ const id_list = this.member_list.map((member) => member.id);
|
|
|
+ GetUserList_ID({ id_list }).then(({ user_list }) => {
|
|
|
+ this.memberInfoList = user_list;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ selectMembers() {
|
|
|
+ this.visibleMembers = true;
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 处理选择的成员
|
|
|
+ * @param {Array} selectedUsers - 选中的用户列表
|
|
|
+ */
|
|
|
+ handleSelectedMembers(selectedUsers) {
|
|
|
+ const user_id_list = selectedUsers.map((user) => user.id);
|
|
|
+ SetProjectMember({
|
|
|
+ project_id: this.book_id,
|
|
|
+ user_id_list,
|
|
|
+ }).then(() => {
|
|
|
+ this.$message.success('项目成员更新成功');
|
|
|
+ this.getProjectBaseInfo();
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|