Browse Source

教材技术文档

warrior 4 months ago
parent
commit
5ee7f7501c
1 changed files with 199 additions and 3 deletions
  1. 199 3
      docs/README.md

+ 199 - 3
docs/README.md

@@ -82,7 +82,8 @@ graph TB
   - initLoginModal 初始化登录模块
 - app-login 登录页
   - new ParseAuthing实例化authing登录服务,通过login成功后回调调用AuthServr服务类,profileVerify处理登录成功后函数
-  ```let parseAuthing = new ParseAuthing({
+  ```
+  let parseAuthing = new ParseAuthing({
       // 监听事件:登陆成功后,返回用户信息
       login:(user,authClient)=>{
         console.log(user)
@@ -95,9 +96,204 @@ graph TB
         }
       }
     });
-    parseAuthing.initLoginModal();```
+    parseAuthing.initLoginModal();
+  ```
 ##### 作者/教师/主编
 - 路由模块:`NavAuthorRoutingModule`
+- 组件(教材创建)
+  - app-basic 【填写基本信息】
+    - 必填参数
+      - @eduTextbook 教材
+    - 主要函数方法
+      - `getEduTextbookVolumeList`:获取分册表
+      - `upload`:上传附件回调
+      - `saveEduTextbook`:保存教材信息
+        - 保存接口中判断是否填写完成
+        - 判断各分册填写及获取分册id代码
+        - 部分主要代码
+          ```
+          let eduTextbookVolumes = await this.saveEduTextbookVolume(this.eduTextbookId);
+          console.log(eduTextbookVolumes?.isVrifly);
+          console.log(eduTextbookVolumes.list);
+          this.eduTextbook?.set('childrens', eduTextbookVolumes.list);
+          this.eduTextbook?.set('typeNumber', eduTextbookVolumes.list.length);
+          isComplete = isComplete && eduTextbookVolumes?.isVrifly;
+          //如果填写未完整,仅保存,状态修改待完善101
+          if (this.eduTextbook.get('status') == '102' && !isComplete) {
+            this.eduTextbook?.set('status', '101');
+            this.eduTextbook.set('complete', false);
+          } else if (!this.eduTextbook.get('status')) {
+            this.eduTextbook?.set('status', '101');
+          }
+          if(isComplete){
+            this.eduTextbook.set('complete', true)
+          }
+      - `saveEduTextbookVolume`:上传分册数据
+    - 子组件调用
+      - 上传获批截图  
+        ```
+        <app-comp-upload
+          [type]="'pdf'"
+          (change)="upload($event, 'approvedImgUrl')"
+          title="上传教材获批截图"
+        ></app-comp-upload>
+      - 分册信息
+        ```
+        <app-one #children
+          [eduTextbookId]="eduTextbookId"
+          [eduTextbookVolumeId]="panel?.id"
+        ></app-one>
+  - app-textbook-pertain【填写教材适用情况】
+    - 必填参数
+      - @eduTextbook 教材
+    - 主要函数方法
+      - `saveEduTextbook`:保存教材信息
+      - `saveEduTextbookVolume`:上传分册数据
+    - 子组件调用
+      - 分册信息
+      ```
+      <app-author
+        #children
+        [eduTextbook]="eduTextbook?.id"
+        [eduTextbookVolume]="panel"
+      ></app-author>
+  - app-textbook-content【填写教材内容】
+    - 必填参数
+      - @eduTextbook 教材
+    - 主要函数方法
+      - `saveEduTextbook`:保存教材信息
+      - `saveEduTextbookVolume`:上传分册数据
+    - 子组件调用
+      - 分册信息
+      ```
+      <app-three
+        #children
+        [eduTextbook]="eduTextbook?.id"
+        [eduTextbookVolume]="panel"
+      ></app-three>
+      ```
+  - app-faith【填写教材内容】
+    - 必填参数
+      - @eduTextbook 教材
+    - 主要函数方法
+      - `saveEduTextbook`:保存教材信息
+      - `saveEduTextbookVolume`:上传分册数据     
+      - `verify`:校验填写字段是否匹配
+  - app-attachment【上传附件材料】
+    - 必填参数
+      - @eduTextbook 教材
+    - 主要函数方法
+      - `saveEduTextbook`:保存教材信息
+      - `saveEduTextbookVolume`:上传分册数据
+      - `examineNull`:检查本页必填是否存在空项
+      - `isIgnoreFiledNull`:判断教材所有字段是否必填
+      - `upload`:上传附件回调
+    - 子组件调用
+      - app-comp-upload 附件上传组件
+      - 分册信息
+        ```
+        <app-author-file
+          #children
+          [eduTextbook]="eduTextbook?.id"
+          [eduTextbookVolume]="panel"
+        ></app-author-file>
+        ```
 - 个人空间:app-space
   - 调用组件:app-textbook
-  - 主要函数:`getEduProcess` 获取教师所属单位的流程
+  - 主要函数:`getEduProcess` 获取教师所属单位的流程
+- 创建教材:app-apply
+  - 组件调用
+    - app-basic
+    - app-textbook-pertain
+    - app-textbook-content
+    - app-faith
+    - app-attachment
+  - 应用代码
+  ```
+   @switch (state) { @case (0) {
+    <app-basic
+      [eduTextbook]="textBook"
+      (state)="changeState($event)"
+      (save)="save()"
+    ></app-basic>
+    } @case (1) {
+    <app-textbook-pertain
+      [eduTextbook]="textBook"
+      (state)="changeState($event)"
+      (save)="save()"
+      (maxWidth)="(submitComp.style.width)"
+    ></app-textbook-pertain>
+    } @case (2) {
+    <app-textbook-content
+      [eduTextbook]="textBook"
+      (state)="changeState($event)"
+      (save)="save()"
+      (maxWidth)="(submitComp.style.width)"
+    ></app-textbook-content>
+    }@case (3) {
+      <app-faith
+        [eduTextbook]="textBook"
+        (state)="changeState($event)"
+        (save)="save()"
+        (maxWidth)="(submitComp.style.width)"
+      ></app-faith>
+      } 
+    @case (4) {
+    <app-attachment
+      [eduTextbook]="textBook"
+      (state)="changeState($event)"
+      (save)="save()"
+      (maxWidth)="(submitComp.style.width)"
+    ></app-attachment>
+    } }
+  ```
+  - 回收站:app-recycle
+    - 调用组件:app-textbook
+    ```
+    <app-textbook
+    [filterObj]="filterObj"
+      [uid]="user?.id"
+      path="/nav-author/manage/details"
+      [discard]="true"
+    ></app-textbook>
+    ```
+##### 国家级管理员管理平台
+- 路由模块:`NavAdminRoutingModule`
+- 组件
+  - app-collect-textbook 【教材文件收集列表】
+    - 必填参数
+      - @eduProcess 流程id
+    - 主要函数方法
+      - `getTextbook`:获取教材
+      - `onEmitMsg`:短信提醒,提交状态置为100
+      - `onReject`:退回教材给出版社
+  - app-profile 【工作联系人】
+    - 必填参数
+      - depart:单位,用于查询本单位下注册联系人身份用户列表
+    - 主要函数方法
+      - `getProfile`:获取用户角色列表
+- 全部教材:app-page-textbook
+  - 调用组件
+    - app-textbook
+    - app-collect-textbook:
+    - app-collect-textbook
+- 申报流程:app-process-list
+  - 功能说明
+    - 进入页面通过`getDepart`方法获取所有一级节点部门
+    - 点击左侧流程调用`getDepart`获取对应一级节点下全部流程,右侧显示流程table
+    - table操作栏可对流程进行操作,可操作按钮通过statusMap状态判断
+    - 可通过`toUrl('/nav-admin/manage/process/create')`跳转创建流程页
+  - 主要参数说明
+    - `activeDepart`:当前编辑部门
+    - `eduProcessList`:流程列表
+    - `formatStatus`:格式化流程状态
+    - `formatFileStatus`:教材上传状态
+  - 主要函数方法
+    - `getDepart`:获取部门单位节点
+    - `getEduProcess`:获取部门列表
+    - `formatNode`:格式化链
+    - `statusSelected`:操作流程,开始、暂停、结束、删除
+    - `onStatusChange`:暂停流程
+    - `openEditCollect`:保存收集文件设置
+    - `sendNoticeMSG`:短信通知
+- 流程详情:app-page-process