1
0

2 Ревизии a041e51f28 ... d70b7d184d

Автор SHA1 Съобщение Дата
  xll d70b7d184d Merge branch 'master' of http://git.fmode.cn:3000/bin/edu-textbook преди 3 месеца
  xll 4998894adc updata: преди 3 месеца

BIN
projects/textbook/public/file/“十四五”普通高等教育本科国家级规划教材申报书.docx


+ 7 - 1
projects/textbook/src/app/comp-manage/comp-manage.component.html

@@ -13,7 +13,7 @@
       [nzInlineCollapsed]="isCollapsed"
       nz-menu
       nzMode="inline"
-      style="width: 100%; background: #f9eaea"
+      style="width: 100%; background: #f9eaea;height: 100%;position: relative;"
     >
       @for (item of optionsMap[textbook.profile?.identity]; track item.id;let index = $index) { @if(item.child)
       {
@@ -36,6 +36,12 @@
         <span>{{ item.name }}</span>
       </li>
       } }
+
+      <li (click)="downloadFile('“十四五”普通高等教育本科国家级规划教材申报书.docx')" style="position: absolute;bottom: 150px; height: 100px; text-wrap: wrap;" nz-menu-item>
+        <span nz-icon nzType="file" nzTheme="outline"></span>
+        “十四五”普通高等教育本科
+        国家级规划教材申报书
+      </li>
     </ul>
     <app-comp-nav
       [viewCollapsed]="isCollapsed"

+ 23 - 1
projects/textbook/src/app/comp-manage/comp-manage.component.ts

@@ -5,6 +5,11 @@ import { RouterOutlet, Router } from '@angular/router';
 import { CommonCompModule } from '../../services/common.modules';
 import { MatIconRegistry, MatIconModule } from '@angular/material/icon';
 import { textbookServer } from '../../services/textbook';
+import { HttpClient } from '@angular/common/http';
+
+
+
+
 @Component({
   selector: 'app-comp-manage',
   standalone: true,
@@ -185,12 +190,15 @@ export class CompManageComponent implements OnInit {
     public tbookSer: textbookServer,
     public textbook:textbookServer,
     iconRegistry: MatIconRegistry, 
-    sanitizer: DomSanitizer
+    sanitizer: DomSanitizer,
+    private http: HttpClient,
+
   ) {
     iconRegistry.addSvgIconLiteral('menu', sanitizer.bypassSecurityTrustHtml(this.MENU_ICON));
    }
 
   ngOnInit() {
+    console.log(this.tbookSer.profile.identity) 
     if(localStorage.getItem('active')) return
     if(this.optionsMap[this.tbookSer.profile.identity][0]?.child){
       this.active = '1-1'
@@ -212,4 +220,18 @@ export class CompManageComponent implements OnInit {
       this.router.navigate([child.path]);
     }
   }
+
+  downloadFile(fileName: string) {
+    const fileUrl = `/file/${fileName}`;
+    this.http.get(fileUrl, { responseType: 'blob' }).subscribe((blob) => {
+      const url = window.URL.createObjectURL(blob);
+      const a = document.createElement('a');
+      a.href = url;
+      a.download = fileName;
+      document.body.appendChild(a);
+      a.click();
+      document.body.removeChild(a);
+      window.URL.revokeObjectURL(url);
+    })
+  }
 }

+ 2 - 2
projects/textbook/src/app/textbook/textbook.component.html

@@ -370,8 +370,8 @@
 
         <td nzEllipsis>
           {{
-            data?.get("type") == "单"
-              ? "单"
+            data?.get("type") == "单"
+              ? "单"
               : data?.get("typeNumber") || "-"
           }}
         </td>

+ 2 - 2
projects/textbook/src/app/textbook/textbook.component.ts

@@ -869,8 +869,8 @@ export class TextbookComponent implements OnInit {
 
       _body += '<td>';
       _body += `${
-        data[row]?.get('type') == '单'
-          ? '单'
+        data[row]?.get('type') == '单'
+          ? '单'
           : data[row]?.get('typeNumber') || '-'
       }`;
       _body += '</td>';

+ 7 - 7
projects/textbook/src/modules/nav-author/components/attachment/attachment.component.html

@@ -4,7 +4,7 @@
 
 
   <div class="author-content">
-    <div class="title">1.所有作者政治审查意见(必须上传 )</div>
+    <div class="title">1.所有作者政治审查意见(必须提供 )</div>
     <div class="text">
       <span style="color: red;">*</span>
       从本申报平台 <a (click)="downloadFile('教材编写人员政治审查表.docx')">下载格式要求</a> 后,对应作者姓名上传“作者政治审查表” PDF 格式,大小不超过 2M。作者单位党委对作者进行审查,对政治思想表现情况进行评价,确保作者的正确政治方向、价值取向,无违法违纪等记录。
@@ -125,10 +125,10 @@
   </div>
  
   <div class="author-content">
-    <div class="title">2.图书编校质量自查结果记录表(必须上传)</div>
+    <div class="title">2.图书编校质量自查结果记录表(必须提供)</div>
     <div class="text">
       教材出版单位对申报教材的编校质量自查后,按要求提供图书编校质量自查结果记录表,并加盖出版社公章。全册教材的不同分册以不同文件分别上传。<a
-        (click)="downloadFile('图书编校质量自查结果记录表.docx')">下载模板</a>
+        (click)="downloadFile('图书编校质量自查结果记录表.docx')">下载格式要求</a>
     </div>
     <nz-form-item class="row" style="margin-bottom: 16px">
       <nz-form-label class="label" [nzNoColon]="true" [nzSm]="10" [nzXs]="10" nzRequired>上传图书编校质量自查结果记录表</nz-form-label>
@@ -148,7 +148,7 @@
     </nz-form-item>
   </div>
   <div class="author-content">
-    <div class="title">3.专家审查意见表(必须上传)</div>
+    <div class="title">3.专家审查意见表(必须提供)</div>
     <div class="text">
       从本申报平台 <a (click)="downloadFile('专家审查意见表.docx')">下载格式要求</a> 后,由第一主编所在单位和出版机构邀请校内外相关学科专业领域专家,
       对教材进行思想性、学术性审查。专家不少于 3 名,其中半数以上为校外专家,
@@ -179,7 +179,7 @@
     </nz-form-item>
   </div>
   <div class="author-content">
-    <div class="title">4.教材使用情况证明材料(必须上传)</div>
+    <div class="title">4.教材使用情况证明材料(必须提供)</div>
     <div class="text">
       教材出版单位提供教材主要使用高校名单及使用情况证明材料,并加盖公章。
       <!-- <a (click)="downloadFile('专家审查意见表.docx')">下载模板</a> -->
@@ -202,7 +202,7 @@
     </nz-form-item>
   </div>
   <div class="author-content">
-    <div class="title">5.版权信息及CIP数据(必须上传)</div>
+    <div class="title">5.版权信息及CIP数据(必须提供)</div>
     <nz-form-item class="row" style="margin-bottom: 16px">
       <nz-form-label class="label" [nzNoColon]="true" [nzSm]="10" [nzXs]="10" nzRequired>版权页截图</nz-form-label>
       <nz-form-control class="val" nzErrorTip="请上传版权页截图" style="width: 100%">
@@ -265,7 +265,7 @@
     </div>
   </div>
   <div class="author-content">
-    <div class="title">6.其他材料(可选上传)</div>
+    <div class="title">6.其他材料(可选提供)</div>
     <div class="text">其他佐证材料。</div>
     @if (moreMaterial.length>0) {
     @for (url of moreMaterial; track $index) {

+ 1 - 1
projects/textbook/src/modules/nav-author/components/basic-in/basic-in.component.html

@@ -136,7 +136,7 @@
             style="display: flex; flex-direction: column"
             formControlName="type"
           >
-            <label (click)="checkSingle()" nz-radio nzValue="单册">单册</label>
+            <label (click)="checkSingle()" nz-radio nzValue="单本">单本</label>
             <div class="basic-row">
               <label (click)="checkAll()" nz-radio nzValue="全册">全册</label>
               <!-- @if (validateForm.value.type =='全册') {

+ 2 - 2
projects/textbook/src/modules/nav-author/components/basic-in/basic-in.component.ts

@@ -256,7 +256,7 @@ export class BasicInComponent implements OnInit {
   loading = false;
   async checkSingle() {
     this.loading = true;
-    this.validateForm.get('type')?.setValue('单');
+    this.validateForm.get('type')?.setValue('单');
     await this.getEduTextbookVolumeList();
     this.loading = false;
   }
@@ -510,7 +510,7 @@ export class BasicInComponent implements OnInit {
         this.eduTextbook?.get('approval') || '',
         [Validators.required],
       ],
-      type: [this.eduTextbook?.get('type') || '单', [Validators.required]],
+      type: [this.eduTextbook?.get('type') || '单', [Validators.required]],
       approvedImgUrl: [this.eduTextbook?.get('approvedImgUrl') || ''],
 
       // ISBN: [parseInt(this.eduTextbook?.get('ISBN') || '') || null, [Validators.required]],

+ 1 - 1
projects/textbook/src/modules/nav-author/components/create/basic/basic.component.html

@@ -105,7 +105,7 @@
   <nz-form-item style="margin-bottom: 16px">
     <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired>
       载体形式
-      <span style="padding: 0 5px;" nz-icon nzType="info-circle" nzTheme="outline"></span>
+      <!-- <span style="padding: 0 5px;" nz-icon nzType="info-circle" nzTheme="outline"></span> -->
     </nz-form-label>
     <nz-form-control nzErrorTip="请输入载体形式" [nzSm]="12" [nzXs]="12">
       <nz-input-group>

+ 1 - 1
projects/textbook/src/modules/nav-author/components/textbook-content/textbook-content.component.ts

@@ -115,7 +115,7 @@ export class TextbookContentComponent implements OnInit {
   typeNumber: any;
   /** 申报类型*/
   type: any;
-  /** 单时该册id*/
+  /** 单时该册id*/
   eduTextbookVolumeId: any;
 
   ngAfterViewInit(): void {