소스 검색

修改问题

dusenyao 2 달 전
부모
커밋
1143fa5b71

+ 1 - 1
src/api/book.js

@@ -21,7 +21,7 @@ export function ChapterGetBookChapterStruct(data) {
  * @param {string} data.book_id - 教材ID
  * @param {number} data.node_deep_mode - 节点深度模式
  * @param {'true'|'false'} data.is_contain_producer - 是否包含制作人信息
- * @param {'true'|'false'} data.is_contain_auditor - 是否包含审人信息
+ * @param {'true'|'false'} data.is_contain_auditor - 是否包含审人信息
  */
 export function ChapterGetBookChapterStructExpandList(data) {
   return http.post(

+ 1 - 1
src/api/list.js

@@ -31,7 +31,7 @@ export function queryOrgUserList(data) {
   return http.post(`${process.env.VUE_APP_EepServer}?MethodName=page_query-PageQueryMyOrgUserList_OrgManager`, data);
 }
 
-// 分页查询我的项目列表(审人)
+// 分页查询我的项目列表(审人)
 export function PageQueryMyProjectList_Auditor(data) {
   return http.post(`${process.env.VUE_APP_EepServer}?MethodName=page_query-PageQueryMyProjectList_Auditor`, data);
 }

+ 1 - 1
src/layouts/default/index.vue

@@ -2,7 +2,7 @@
   <div class="app">
     <LayoutHeader />
     <LayoutBreadcrumb :is-show-breadcrumb.sync="isShowBreadcrumb" />
-    <div class="app-container" :style="{ height: `calc(100vh - 64px ${isShowBreadcrumb ? '- 56px' : ''})` }">
+    <div class="app-container" :style="{ height: `calc(100vh - 54px ${isShowBreadcrumb ? '- 56px' : ''})` }">
       <router-view />
     </div>
   </div>

+ 1 - 1
src/router/modules/project.js

@@ -47,7 +47,7 @@ const personalWorkPage = {
       },
       component: () => import('@/views/personal_workbench/check_task/index.vue'),
     },
-    // 我的审校任务 -> 审
+    // 我的审校任务 -> 审
     {
       path: '/personal_workbench/check_task/audit/:id',
       name: 'PersonalWorkbenchCheckAudit',

+ 45 - 1
src/styles/mixin.scss

@@ -112,12 +112,56 @@
     z-index: 9;
     display: flex;
     align-items: center;
-    height: 46px;
+    height: 40px;
     padding: 6px 4px;
     margin-bottom: 5px;
     background-color: #fff;
     border-top: $border;
     border-bottom: $border;
+
+    > .menu-container {
+      display: flex;
+      justify-content: space-between;
+      width: 360px;
+      padding: 4px 8px;
+      border-right: $border;
+    }
+
+    > .courseware {
+      display: flex;
+      flex-grow: 1;
+      column-gap: 16px;
+      align-items: center;
+      justify-content: space-between;
+      height: 40px;
+
+      .name-path {
+        flex: 1;
+        height: 40px;
+        padding: 4px 8px;
+        font-size: 14px;
+        line-height: 32px;
+        border-right: $border;
+      }
+
+      .operator {
+        display: flex;
+        column-gap: 8px;
+        align-items: center;
+
+        .link {
+          + .link {
+            margin-left: 0;
+
+            &::before {
+              margin-right: 8px;
+              color: #999;
+              content: '|';
+            }
+          }
+        }
+      }
+    }
   }
 
   > main {

+ 1 - 1
src/views/book/courseware/create/components/CreateCanvas.vue

@@ -943,7 +943,7 @@ export default {
   flex-direction: column;
   row-gap: 6px;
   width: $courseware-width;
-  min-height: calc(100% - 56px);
+  min-height: calc(100% - 6px);
   padding: 24px;
   margin: 0 auto;
   background-color: #fff;

+ 3 - 3
src/views/book/courseware/create/index.vue

@@ -17,10 +17,10 @@
     </div>
 
     <div class="create-middle">
-      <div class="create-operation">
+      <!-- <div class="create-operation">
         <el-button @click="showSetBackground"><SvgIcon icon-class="background-img" />背景图</el-button>
-        <!-- <el-button><SvgIcon icon-class="template" />模板</el-button> -->
-      </div>
+        <el-button><SvgIcon icon-class="template" />模板</el-button>
+      </div> -->
 
       <CreateCanvas
         ref="createCanvas"

+ 24 - 26
src/views/personal_workbench/check_task/audit/index.vue

@@ -3,10 +3,8 @@
     <MenuPage cur-key="check_task" />
 
     <div class="audit__header">
-      <div class="menu">
+      <div class="menu-container">
         <MenuPopover :id="id" :node-list="node_list" :book-name="courseware_info.book_name" @selectNode="selectNode" />
-
-        <span class="link" @click="goBackBookList">返回教材列表</span>
       </div>
       <div class="courseware">
         <span class="name-path">{{ courseware_info.name_path }}</span>
@@ -18,10 +16,25 @@
           <span
             v-if="isTrue(courseware_info.is_can_finish_audit)"
             class="link"
-            @click="finishCoursewareCurFlowNodeAudit"
+            @click="finishCoursewareCurFlowNodeAudit('false')"
           >
             审校完成
           </span>
+          <span
+            v-if="isTrue(courseware_info.is_can_audit_pass)"
+            class="link"
+            @click="finishCoursewareCurFlowNodeAudit('true')"
+          >
+            审核通过
+          </span>
+          <span
+            v-if="isTrue(courseware_info.is_can_audit_reject)"
+            class="link"
+            @click="finishCoursewareCurFlowNodeAudit('false')"
+          >
+            审核驳回
+          </span>
+          <span class="link" @click="goBackBookList">返回教材列表</span>
         </div>
       </div>
     </div>
@@ -107,6 +120,8 @@ export default {
       courseware_info: {
         is_can_add_audit_remark: 'false',
         is_can_finish_audit: 'false',
+        is_can_audit_pass: 'false',
+        is_can_audit_reject: 'false',
         cur_audit_flow_node_type: 0,
       },
       background: {
@@ -184,12 +199,13 @@ export default {
       this.select_node = nodeId;
     },
     /**
-     * 提交课件到审核流程
+     * 提交课件到审校流程
+     * @param {'true'|'false'} is_pass - 是否通过审校
      */
-    finishCoursewareCurFlowNodeAudit() {
+    finishCoursewareCurFlowNodeAudit(is_pass) {
       FinishCoursewareCurFlowNodeAudit({
         id: this.id,
-        is_pass: this.courseware_info.cur_audit_flow_node_type === 2 ? 'true' : 'false',
+        is_pass,
       }).then(() => {
         this.$message.success('操作成功');
         this.getBookCoursewareInfo(this.id);
@@ -199,7 +215,7 @@ export default {
       this.$router.push({ path: `/personal_workbench/check_task` });
     },
 
-    // 点击添加审意见
+    // 点击添加审意见
     addRemark() {
       this.remark_content = '';
       this.visible = true;
@@ -275,25 +291,7 @@ export default {
   overflow: hidden;
 
   &__header {
-    .menu {
-      display: flex;
-      justify-content: space-between;
-      width: 360px;
-      padding: 4px 8px;
-      border-right: $border;
-    }
-
     .courseware {
-      display: flex;
-      flex-grow: 1;
-      align-items: center;
-      padding: 4px 8px;
-
-      .name-path {
-        width: 400px;
-        font-size: 14px;
-      }
-
       .flow-nodename {
         flex: 1;
       }

+ 28 - 18
src/views/personal_workbench/check_task/index.vue

@@ -28,12 +28,14 @@
           <span class="cell">我的审校节点</span>
           <span class="cell">状态</span>
         </div>
-        <div v-for="chapter in courseware_list" :key="chapter.id" class="chapter-item">
-          <span class="path" @click="navigateToChapter(chapter.id)">{{ chapter.name_path }}</span>
-          <span class="audit-node-desc nowrap-ellipsis" :title="chapter.my_audit_node_desc">
-            {{ chapter.my_audit_node_desc }}
-          </span>
-          <span class="status">{{ chapter.status_name }}</span>
+        <div class="chapter-list">
+          <div v-for="chapter in courseware_list" :key="chapter.id" class="chapter-item">
+            <span class="path" @click="navigateToChapter(chapter.id)">{{ chapter.name_path }}</span>
+            <span class="audit-node-desc nowrap-ellipsis" :title="chapter.my_audit_node_desc">
+              {{ chapter.my_audit_node_desc }}
+            </span>
+            <span class="status">{{ chapter.status_name }}</span>
+          </div>
         </div>
       </div>
     </div>
@@ -159,11 +161,14 @@ export default {
       .textbook-list {
         display: flex;
         flex-direction: column;
+        height: calc(100vh - 184px);
+        overflow: auto;
 
         .textbook-item {
           display: flex;
           align-items: center;
           height: 40px;
+          min-height: 40px;
           padding: 0 12px;
           font-size: 14px;
           color: $font-light-color;
@@ -210,13 +215,13 @@ export default {
         }
 
         :nth-child(2) {
-          width: 120px;
+          width: 320px;
           text-align: center;
           border-right: $border;
         }
 
         :last-child {
-          width: 80px;
+          width: 140px;
           text-align: center;
         }
       }
@@ -236,18 +241,23 @@ export default {
         }
       }
 
-      .chapter-item {
-        display: flex;
-        align-items: center;
-        font-size: 14px;
-        border-bottom: $border;
+      .chapter-list {
+        height: calc(100vh - 165px);
+        overflow: auto;
 
-        .path {
-          color: $main-color;
-          cursor: pointer;
-        }
+        .chapter-item {
+          display: flex;
+          align-items: center;
+          font-size: 14px;
+          border-bottom: $border;
 
-        @include cell;
+          .path {
+            color: $main-color;
+            cursor: pointer;
+          }
+
+          @include cell;
+        }
       }
     }
   }

+ 17 - 19
src/views/personal_workbench/edit_task/edit/index.vue

@@ -3,9 +3,8 @@
     <MenuPage cur-key="edit_task" />
 
     <div class="edit-task__header">
-      <div class="menu">
+      <div class="menu-container">
         <span class="name">{{ courseware_info.book_name }}</span>
-        <span class="link" @click="goBackBookList">返回教材列表</span>
       </div>
       <div class="courseware">
         <span class="name-path">{{ courseware_info.name_path }}</span>
@@ -14,8 +13,10 @@
           <span :class="['link', { active: !isEdit }]" @click="toggleEditMode(false)">位置调整</span>
         </div>
         <div class="operator">
+          <span class="link" @click="showSetBackground">背景图</span>
           <span class="link" @click="saveCoursewareContent('quit')">退出编辑</span>
           <span class="link" @click="saveCoursewareContent">保存</span>
+          <span class="link" @click="goBackBookList">返回教材列表</span>
         </div>
       </div>
     </div>
@@ -72,6 +73,9 @@ export default {
     goBackBookList() {
       this.$router.push({ path: '/personal_workbench/edit_task', query: { book_id: this.courseware_info.book_id } });
     },
+    showSetBackground() {
+      this.$refs.create.showSetBackground();
+    },
     toggleEditMode(isEdit) {
       if (this.isEdit !== isEdit) {
         this.saveCoursewareContent('edit');
@@ -114,12 +118,6 @@ export default {
     border-bottom: $border;
 
     .menu {
-      display: flex;
-      justify-content: space-between;
-      width: 360px;
-      padding: 4px 8px;
-      border-right: $border;
-
       .name {
         max-width: 260px;
         font-size: 16px;
@@ -128,22 +126,22 @@ export default {
     }
 
     .courseware {
-      display: flex;
-      flex-grow: 1;
-      align-items: center;
-      justify-content: space-between;
-      padding: 4px 8px;
-
       .name-path {
         font-size: 14px;
       }
 
-      .link {
-        padding: 4px;
-        border-radius: 4px;
+      .switch {
+        padding: 4px 16px 4px 0;
+        margin-right: 300px;
+        border-right: $border;
+
+        .link {
+          padding: 4px;
+          border-radius: 4px;
 
-        &.active {
-          background-color: $main-active-color;
+          &.active {
+            background-color: $main-active-color;
+          }
         }
       }
     }

+ 24 - 16
src/views/personal_workbench/edit_task/index.vue

@@ -27,9 +27,11 @@
           <span class="cell">教材内容</span>
           <span class="cell">状态</span>
         </div>
-        <div v-for="chapter in courseware_list" :key="chapter.id" class="chapter-item">
-          <span class="path" @click="navigateToChapter(chapter.id)">{{ chapter.name_path }}</span>
-          <span class="status">{{ chapter.status_name }}</span>
+        <div class="chapter-list">
+          <div v-for="chapter in courseware_list" :key="chapter.id" class="chapter-item">
+            <span class="path" @click="navigateToChapter(chapter.id)">{{ chapter.name_path }}</span>
+            <span class="status">{{ chapter.status_name }}</span>
+          </div>
         </div>
       </div>
     </div>
@@ -104,8 +106,6 @@ export default {
   .edit-main {
     display: flex;
     flex: 1;
-    width: 100%;
-    height: 100%;
     border-top: $border;
 
     .textbook-container {
@@ -150,11 +150,14 @@ export default {
       .textbook-list {
         display: flex;
         flex-direction: column;
+        height: calc(100vh - 184px);
+        overflow: auto;
 
         .textbook-item {
           display: flex;
           align-items: center;
           height: 40px;
+          min-height: 40px;
           padding: 0 12px;
           font-size: 14px;
           color: $font-light-color;
@@ -196,7 +199,7 @@ export default {
       }
 
       :last-child {
-        width: 80px;
+        width: 140px;
         text-align: center;
       }
     }
@@ -221,18 +224,23 @@ export default {
         }
       }
 
-      .chapter-item {
-        display: flex;
-        align-items: center;
-        font-size: 14px;
-        border-bottom: $border;
+      .chapter-list {
+        height: calc(100vh - 165px);
+        overflow: auto;
 
-        .path {
-          color: $main-color;
-          cursor: pointer;
-        }
+        .chapter-item {
+          display: flex;
+          align-items: center;
+          font-size: 14px;
+          border-bottom: $border;
 
-        @include cell;
+          .path {
+            color: $main-color;
+            cursor: pointer;
+          }
+
+          @include cell;
+        }
       }
     }
   }

+ 6 - 29
src/views/personal_workbench/edit_task/preview/index.vue

@@ -3,18 +3,17 @@
     <MenuPage cur-key="edit_task" />
 
     <div class="task-preview__header">
-      <div class="menu">
+      <div class="menu-container">
         <MenuPopover :id="id" :node-list="node_list" :book-name="courseware_info.book_name" @selectNode="selectNode" />
-
-        <span class="link" @click="goBackBookList">返回教材列表</span>
       </div>
       <div class="courseware">
         <span class="name-path">{{ courseware_info.name_path }}</span>
         <div class="operator">
           <span v-if="isTrue(courseware_info.is_can_start_edit)" class="link" @click="editTask">开始编辑</span>
           <span v-if="isTrue(courseware_info.is_can_submit_audit)" class="link" @click="submitCoursewareToAuditFlow">
-            提交审
+            提交审
           </span>
+          <span class="link" @click="goBackBookList">返回教材列表</span>
         </div>
       </div>
     </div>
@@ -87,11 +86,11 @@ export default {
       });
     },
     /**
-     * 提交课件到审流程
+     * 提交课件到审流程
      */
     submitCoursewareToAuditFlow() {
       SubmitBookCoursewareToAuditFlow({ id: this.id }).then(() => {
-        this.$message.success('课件已提交审');
+        this.$message.success('课件已提交审');
         this.getBookCoursewareInfo(this.id);
       });
     },
@@ -164,32 +163,10 @@ export default {
 .task-preview {
   @include page-content(true);
 
-  &__header {
-    .menu {
-      display: flex;
-      justify-content: space-between;
-      width: 360px;
-      padding: 4px 8px;
-      border-right: $border;
-    }
-
-    .courseware {
-      display: flex;
-      flex-grow: 1;
-      align-items: center;
-      justify-content: space-between;
-      padding: 4px 8px;
-
-      .name-path {
-        font-size: 14px;
-      }
-    }
-  }
-
   main.preview-main {
     flex: 1;
     width: 1100px;
-    margin: 0 auto;
+    margin: 0 auto 10px;
     background-color: #fff;
     border: 3px solid #f44444;
     border-radius: 16px;

+ 14 - 12
src/views/personal_workbench/project/ProductionEditorialManage.vue

@@ -4,18 +4,20 @@
 
     <div class="production-editorial__header">
       <span class="name">{{ project_info.name }}</span>
-      <span class="link" @click="$router.push({ path: `/personal_workbench/project` })">返回项目列表</span>
-      <div class="audit-step">
-        <span>审核步骤:</span>
-        <span v-for="(node, index) in audit_node_list" :key="index" class="audit-node">
-          {{ node }}
-          <span v-if="index !== audit_node_list.length - 1">→</span>
-        </span>
-      </div>
-      <span class="link" @click="visibleAuditSteps = true">设置审校步骤</span>
-      <div class="operator flex">
-        <span class="link" @click="addChapterDialog">添加章节节点</span>
-        <span class="link" @click="addCoursewareDialog">添加教材内容节点</span>
+      <div class="courseware">
+        <div class="audit-step">
+          <span>审校步骤:</span>
+          <span v-for="(node, index) in audit_node_list" :key="index" class="audit-node">
+            {{ node }}
+            <span v-if="index !== audit_node_list.length - 1">→</span>
+          </span>
+        </div>
+        <span class="link" @click="visibleAuditSteps = true">设置审校步骤</span>
+        <div class="operator flex">
+          <span class="link" @click="addChapterDialog">添加章节节点</span>
+          <span class="link" @click="addCoursewareDialog">添加教材内容节点</span>
+          <span class="link" @click="$router.push({ path: `/personal_workbench/project` })">返回项目列表</span>
+        </div>
       </div>
     </div>
 

+ 9 - 2
src/views/personal_workbench/project/ProjectInfoManage.vue

@@ -3,8 +3,15 @@
     <MenuPage cur-key="project" />
 
     <div class="project-info__header">
-      <span class="name">{{ project.name }}</span>
-      <span class="link" @click="$router.push({ path: `/personal_workbench/project` })">返回项目列表</span>
+      <div class="menu-container">
+        <span class="name">{{ project.name }}</span>
+      </div>
+      <div class="courseware">
+        <span class="name-path"></span>
+        <div class="operator">
+          <span class="link" @click="$router.push({ path: `/personal_workbench/project` })">返回项目列表</span>
+        </div>
+      </div>
     </div>
 
     <main class="project-info-manage">

+ 3 - 3
src/views/personal_workbench/project/components/SetAuditSteps.vue

@@ -66,7 +66,7 @@ export default {
       });
     },
     /**
-     * @description 添加审节点
+     * @description 添加审节点
      * @param {string} name - 节点名称
      */
     addAuditNode(name) {
@@ -75,7 +75,7 @@ export default {
       });
     },
     /**
-     * @description 删除审节点
+     * @description 删除审节点
      * @param {string} nodeId - 节点ID
      */
     deleteAuditNode(nodeId) {
@@ -84,7 +84,7 @@ export default {
       });
     },
     addAuditStep() {
-      this.$prompt('', '添加审节点', {
+      this.$prompt('', '添加审节点', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
       })

+ 2 - 2
src/views/personal_workbench/project/components/SetAuditor.vue

@@ -117,7 +117,7 @@ export default {
     /**
      * @description 设置审校人
      * @param {object} param0 - 参数对象
-     * @param {string} param0.flow_node_id - 审节点ID
+     * @param {string} param0.flow_node_id - 审节点ID
      * @param {Array<string>} param0.user_id_list - 用户ID列表
      */
     setAuditor({ flow_node_id, user_id_list }) {
@@ -129,7 +129,7 @@ export default {
     /**
      * @description 设置主审校人
      * @param {object} param0 - 参数对象
-     * @param {string} param0.flow_node_id - 审节点ID
+     * @param {string} param0.flow_node_id - 审节点ID
      * @param {string} param0.user_id - 用户ID
      */
     setMainAuditor({ flow_node_id, user_id }) {