2 次代码提交 d5d34673ea ... 940b76bdba

作者 SHA1 备注 提交日期
  dusenyao 940b76bdba Merge branch 'master' of http://gcls-git.helxsoft.cn/GCLS/eep_page 3 周之前
  dusenyao b92b5ccae0 项目信息 3 周之前

+ 115 - 167
src/views/personal_workbench/project/ProjectInfoManage.vue

@@ -15,128 +15,106 @@
     </div>
 
     <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>
-        </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>
-        </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>
-        </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>
-        </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>
-        </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>
-        </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>
-        </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>
-        </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>
-        </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>
-        </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>
-        </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>
-        </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>
-        </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>
+
+    <selectMembers
+      :visible.sync="visibleMembers"
+      :title="selectMembersTitle"
+      :selected-list="list[type]"
+      @confirm="handleSelectedMembers"
+    />
   </div>
 </template>
 
@@ -161,8 +139,6 @@ export default {
       selectMembersTitle: '',
       visibleMembers: false,
       type: '',
-      leaderNames: '', // 组长姓名
-      memberNames: '', // 组员姓名
       list: {
         leader: [],
         member: [],
@@ -183,6 +159,10 @@ export default {
         reader: '', // 读者对象
         leader_id_list: [], // 组长列表
         member_id_list: [], // 组员列表
+        creator_name: '', // 创建人名称
+        create_time: '', // 创建时间
+        leader_name_desc: '', // 组长名称描述
+        member_name_desc: '', // 组员名称描述
       },
       formRules: {
         name: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
@@ -239,10 +219,8 @@ export default {
     getUserList_ID(id_list, type) {
       GetUserList_ID({ id_list }).then(({ user_list }) => {
         if (type === 'leader') {
-          this.leaderNames = user_list.map((user) => user.real_name).join(', ');
           this.list.leader = user_list;
         } else if (type === 'member') {
-          this.memberNames = user_list.map((user) => user.real_name).join(', ');
           this.list.member = user_list;
         }
       });
@@ -276,74 +254,44 @@ export default {
   }
 
   &-manage {
+    row-gap: 0 !important;
     max-width: 1148px;
     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;
     }
   }
 }

+ 3 - 1
src/views/project_manage/org/book/index.vue

@@ -19,7 +19,7 @@
         <el-table-column label="已申请下架" width="100" align="center" header-align="center">
           <template slot-scope="{ row }">
             <span style="color: #f53f3f">
-              {{ row.is_request_xiajia ? '√' : '' }}
+              {{ isTrue(row.is_request_xiajia) ? '√' : '' }}
             </span>
           </template>
         </el-table-column>
@@ -42,6 +42,7 @@ import ProjectMenu from '@/views/project_manage/common/ProjectMenu.vue';
 import PaginationPage from '@/components/PaginationPage.vue';
 
 import { PageQueryYSJBookList_OrgManager } from '@/api/list';
+import { isTrue } from '@/utils/common';
 
 export default {
   name: 'OrgBookPage',
@@ -54,6 +55,7 @@ export default {
       list: [],
       total: 0,
       cur_page_begin_index: 0,
+      isTrue,
     };
   },
   methods: {

+ 0 - 1
src/views/project_manage/org/final/components/ConfirmBookInfo.vue

@@ -81,7 +81,6 @@ export default {
 .book-details {
   display: grid;
   grid-template-columns: 200px 1fr;
-  border: $border;
 
   .label,
   .book-info {

+ 1 - 1
src/views/project_manage/project/components/RequestBook.vue

@@ -8,7 +8,7 @@
   >
     <el-form ref="form" label-width="200px" :model="book_info">
       <el-form-item label="名称">
-        <el-input v-model="book_info.name" disabled />
+        <el-input v-model="book_info.name" />
       </el-form-item>
       <el-form-item label="版本">
         <el-input v-model="book_info.version" />