|
@@ -15,128 +15,106 @@
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<main class="project-info-manage">
|
|
<main class="project-info-manage">
|
|
- <el-form
|
|
|
|
- ref="projectForm"
|
|
|
|
- :inline="true"
|
|
|
|
- :model="project"
|
|
|
|
- :rules="formRules"
|
|
|
|
- label-width="120px"
|
|
|
|
- class="project-form"
|
|
|
|
- >
|
|
|
|
- <el-form-item label="项目名称" prop="name" class="link-item">
|
|
|
|
- <el-input v-model="project.name" placeholder="请输入项目名称" maxlength="20" disabled />
|
|
|
|
|
|
+ <div class="table-fourcolumn">
|
|
|
|
+ <span class="label">项目名称</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.name }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="项目分类" prop="category" class="link-item">
|
|
|
|
- <el-input v-model="project.category" maxlength="30" disabled />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">项目分类</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.category }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="作品标签" prop="label_list" class="label-input link-item">
|
|
|
|
- <div class="label-input-content">
|
|
|
|
- <div class="label-list">
|
|
|
|
- <el-tag
|
|
|
|
- v-for="(tag, index) in project.label_list"
|
|
|
|
- :key="index"
|
|
|
|
- closable
|
|
|
|
- @close="project.label_list.splice(index, 1)"
|
|
|
|
- >
|
|
|
|
- {{ tag }}
|
|
|
|
- </el-tag>
|
|
|
|
- </div>
|
|
|
|
- <el-input v-model="labelInput" placeholder="请输入标签" disabled @keyup.enter.native="labelChange" />
|
|
|
|
- <span class="link">更改</span>
|
|
|
|
- </div>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="语种" prop="language" class="link-item">
|
|
|
|
- <el-input v-model="project.language" type="text" placeholder="请输入语种" maxlength="20" disabled />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">作品标签</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>
|
|
|
|
+ <span v-for="(label, index) in project.label_list" :key="index">
|
|
|
|
+ {{ label }}{{ index < project.label_list.length - 1 ? ',' : '' }}
|
|
|
|
+ </span>
|
|
|
|
+ </span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="所属课题" prop="topic" class="link-item">
|
|
|
|
- <el-input v-model="project.topic" type="text" placeholder="请输入所属课题" disabled />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">语种</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.language }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="出版单位" prop="publisher" class="link-item">
|
|
|
|
- <el-input v-model="project.publisher" type="text" placeholder="请输入出版单位" maxlength="20" disabled />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">所属课题</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.topic }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="内容简介" prop="content_intro" class="link-item">
|
|
|
|
- <el-input
|
|
|
|
- v-model="project.content_intro"
|
|
|
|
- type="textarea"
|
|
|
|
- :autosize="{ minRows: 4 }"
|
|
|
|
- maxlength="1500"
|
|
|
|
- show-word-limit
|
|
|
|
- placeholder="请输入内容简介"
|
|
|
|
- disabled
|
|
|
|
- />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">出版单位</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.publisher }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="选题背景" prop="background" class="link-item">
|
|
|
|
- <el-input
|
|
|
|
- v-model="project.background"
|
|
|
|
- type="textarea"
|
|
|
|
- :autosize="{ minRows: 4 }"
|
|
|
|
- maxlength="1500"
|
|
|
|
- show-word-limit
|
|
|
|
- placeholder="请输入选题背景"
|
|
|
|
- disabled
|
|
|
|
- />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label" style="line-height: 16px">语句容量<br />(课数)</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.content_count_YG }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="作者简介" prop="author_intro" class="link-item">
|
|
|
|
- <el-input
|
|
|
|
- v-model="project.author_intro"
|
|
|
|
- type="textarea"
|
|
|
|
- :autosize="{ minRows: 4 }"
|
|
|
|
- maxlength="1500"
|
|
|
|
- show-word-limit
|
|
|
|
- placeholder="请输入作者简介"
|
|
|
|
- disabled
|
|
|
|
- />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">预计字数</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.word_count_YG }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item prop="content_count_YG" class="link-item label-tworow">
|
|
|
|
- <span slot="label">预计容量<br />(课数)</span>
|
|
|
|
- <el-input v-model="project.content_count_YG" type="number" disabled />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">计划出版时间</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.plan_publish_date }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="预计字数" prop="word_count_YG" class="link-item">
|
|
|
|
- <el-input v-model="project.word_count_YG" type="number" disabled />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">读者对象</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.reader }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="计划出版时间" prop="plan_publish_date" class="link-item">
|
|
|
|
- <el-date-picker v-model="project.plan_publish_date" type="date" placeholder="选择日期" disabled />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">项目组长</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.leader_name_desc }}</span>
|
|
|
|
+ <span class="link" @click="selectLeader">更改</span>
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">项目成员</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.member_name_desc }}</span>
|
|
|
|
+ <span class="link" @click="selectMembers">更改</span>
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">创建人</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.creator_name }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">创建时间</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.create_time }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div class="table-twocolumn">
|
|
|
|
+ <span class="label">内容简介</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.content_intro }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="读者对象" prop="reader" class="link-item">
|
|
|
|
- <el-input v-model="project.reader" type="text" placeholder="请输入读者对象" maxlength="20" disabled />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">选题背景</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.background }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item prop="leader_id_list" class="link-item label-tworow">
|
|
|
|
- <span slot="label">邀请其他<br />项目组长</span>
|
|
|
|
- <el-input v-model="leaderNames" type="text" disabled />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <span class="label">作者简介</span>
|
|
|
|
+ <div class="project-item">
|
|
|
|
+ <span>{{ project.author_intro }}</span>
|
|
<span class="link">更改</span>
|
|
<span class="link">更改</span>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="项目成员" prop="member_id_list" class="link-item">
|
|
|
|
- <el-input v-model="memberNames" type="text" disabled />
|
|
|
|
- <span class="link" @click="selectMembers">更改</span>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item class="label-tworow">
|
|
|
|
- <span slot="label">已同意邀请成为<br />项目组长成员</span>
|
|
|
|
- <el-input type="text" disabled />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="创建人">
|
|
|
|
- <el-input type="text" disabled />
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
-
|
|
|
|
- <selectMembers
|
|
|
|
- :visible.sync="visibleMembers"
|
|
|
|
- :title="selectMembersTitle"
|
|
|
|
- :selected-list="list[type]"
|
|
|
|
- @confirm="handleSelectedMembers"
|
|
|
|
- />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
</main>
|
|
</main>
|
|
|
|
+
|
|
|
|
+ <selectMembers
|
|
|
|
+ :visible.sync="visibleMembers"
|
|
|
|
+ :title="selectMembersTitle"
|
|
|
|
+ :selected-list="list[type]"
|
|
|
|
+ @confirm="handleSelectedMembers"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -161,8 +139,6 @@ export default {
|
|
selectMembersTitle: '',
|
|
selectMembersTitle: '',
|
|
visibleMembers: false,
|
|
visibleMembers: false,
|
|
type: '',
|
|
type: '',
|
|
- leaderNames: '', // 组长姓名
|
|
|
|
- memberNames: '', // 组员姓名
|
|
|
|
list: {
|
|
list: {
|
|
leader: [],
|
|
leader: [],
|
|
member: [],
|
|
member: [],
|
|
@@ -183,6 +159,10 @@ export default {
|
|
reader: '', // 读者对象
|
|
reader: '', // 读者对象
|
|
leader_id_list: [], // 组长列表
|
|
leader_id_list: [], // 组长列表
|
|
member_id_list: [], // 组员列表
|
|
member_id_list: [], // 组员列表
|
|
|
|
+ creator_name: '', // 创建人名称
|
|
|
|
+ create_time: '', // 创建时间
|
|
|
|
+ leader_name_desc: '', // 组长名称描述
|
|
|
|
+ member_name_desc: '', // 组员名称描述
|
|
},
|
|
},
|
|
formRules: {
|
|
formRules: {
|
|
name: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
|
|
name: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
|
|
@@ -239,10 +219,8 @@ export default {
|
|
getUserList_ID(id_list, type) {
|
|
getUserList_ID(id_list, type) {
|
|
GetUserList_ID({ id_list }).then(({ user_list }) => {
|
|
GetUserList_ID({ id_list }).then(({ user_list }) => {
|
|
if (type === 'leader') {
|
|
if (type === 'leader') {
|
|
- this.leaderNames = user_list.map((user) => user.real_name).join(', ');
|
|
|
|
this.list.leader = user_list;
|
|
this.list.leader = user_list;
|
|
} else if (type === 'member') {
|
|
} else if (type === 'member') {
|
|
- this.memberNames = user_list.map((user) => user.real_name).join(', ');
|
|
|
|
this.list.member = user_list;
|
|
this.list.member = user_list;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -276,74 +254,44 @@ export default {
|
|
}
|
|
}
|
|
|
|
|
|
&-manage {
|
|
&-manage {
|
|
|
|
+ row-gap: 0 !important;
|
|
max-width: 1148px;
|
|
max-width: 1148px;
|
|
margin: 0 auto !important;
|
|
margin: 0 auto !important;
|
|
|
|
|
|
- .project-form {
|
|
|
|
- .link-item {
|
|
|
|
- .el-input,
|
|
|
|
- .el-select {
|
|
|
|
- width: 380px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .el-textarea {
|
|
|
|
- width: 930px;
|
|
|
|
- }
|
|
|
|
|
|
+ .table-fourcolumn,
|
|
|
|
+ .table-twocolumn {
|
|
|
|
+ display: grid;
|
|
|
|
|
|
- .link {
|
|
|
|
- margin-left: 12px;
|
|
|
|
- }
|
|
|
|
|
|
+ .label,
|
|
|
|
+ .project-item {
|
|
|
|
+ padding: 4px 8px;
|
|
|
|
+ line-height: 32px;
|
|
|
|
+ border-bottom: $border;
|
|
}
|
|
}
|
|
|
|
|
|
- .label-tworow {
|
|
|
|
- :deep > label {
|
|
|
|
- display: inline-flex;
|
|
|
|
- justify-content: flex-end;
|
|
|
|
- width: 100%;
|
|
|
|
- line-height: 16px;
|
|
|
|
- }
|
|
|
|
|
|
+ .label {
|
|
|
|
+ text-align: right;
|
|
|
|
+ background-color: $fill-color;
|
|
}
|
|
}
|
|
|
|
|
|
- .el-input,
|
|
|
|
- .el-select {
|
|
|
|
- width: 420px;
|
|
|
|
|
|
+ .project-item {
|
|
|
|
+ display: flex;
|
|
|
|
+ column-gap: 8px;
|
|
|
|
|
|
- :deep .el-input__inner {
|
|
|
|
- background-color: #fff;
|
|
|
|
- border-color: #dcdcdc;
|
|
|
|
|
|
+ :first-child {
|
|
|
|
+ flex: 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
|
|
- .el-textarea {
|
|
|
|
- width: 970px;
|
|
|
|
-
|
|
|
|
- :deep .el-textarea__inner {
|
|
|
|
- background-color: #fff;
|
|
|
|
- border-color: #dcdcdc;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .label-input {
|
|
|
|
- max-width: 540px;
|
|
|
|
-
|
|
|
|
- :deep .label-input-content {
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- width: 420px;
|
|
|
|
-
|
|
|
|
- .label-list {
|
|
|
|
- display: flex;
|
|
|
|
- flex-wrap: wrap;
|
|
|
|
- gap: 4px;
|
|
|
|
- }
|
|
|
|
|
|
+ .table-fourcolumn {
|
|
|
|
+ grid-template-rows: repeat(7, minmax(40px, auto));
|
|
|
|
+ grid-template-columns: 120px 1fr 120px 1fr;
|
|
|
|
+ }
|
|
|
|
|
|
- .el-input {
|
|
|
|
- flex: 1;
|
|
|
|
- min-width: 90px;
|
|
|
|
- margin-left: 6px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ .table-twocolumn {
|
|
|
|
+ grid-template-rows: repeat(3, minmax(40px, auto));
|
|
|
|
+ grid-template-columns: 120px 1fr;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|