Browse Source

Merge branch 'master' of http://git.fmode.cn:3000/bin/edu-textbook

warrior 7 months ago
parent
commit
3e73ea3c73

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

@@ -11,10 +11,10 @@
               版权页截图
             </a>
           }
-          <app-comp-upload [width]="320" (change)="upload($event, 'copyrightImgUrl')" title="上传截图"></app-comp-upload>
+          <app-comp-upload [width]="320" (change)="upload($event, 'copyrightImgUrl')" title="上传PDF"></app-comp-upload>
 
           <div class="text upText" style="margin: 10px 0">
-            支持批量上传 PDF、JPG、JPEG、PNG 格式单个文件大小不超过 2M
+            支持上传PDF,大小不超过 2M
           </div>
         </nz-form-control>
       </nz-form-item>
@@ -28,7 +28,7 @@
               CIP 查询截图
             </a>
           }
-          <app-comp-upload [width]="320" (change)="upload($event, 'CIPImgUrl')" title="上传截图"></app-comp-upload>
+          <app-comp-upload [width]="320" (change)="upload($event, 'CIPImgUrl')" title="上传PDF"></app-comp-upload>
 
           <div class="text upText" style="margin: 10px 0">
             支持批量上传 PDF 格式,单个文件大小不超过 2M。如 CIP 数据中无“教材”字样的,须再上传内容提要或前言或后记中可以证明本书为教材的相关内容截图
@@ -51,9 +51,9 @@
               自查结果记录表
             </a>
           }
-          <app-comp-upload [width]="320" (change)="upload($event, 'selfResults')" title="上传截图"></app-comp-upload>
+          <app-comp-upload [width]="320" (change)="upload($event, 'selfResults')" title="上传PDF"></app-comp-upload>
           <div class="text upText" style="margin: 10px 0">
-            支持批量上传 PDF、JPG、JPEG、PNG 格式单个文件大小不超过 2M
+            支持上传PDF,大小不超过 2M
           </div>
         </nz-form-control>
       </nz-form-item>
@@ -74,7 +74,7 @@
               专家审查意见表
             </a>
           }
-          <app-comp-upload [width]="320" (change)="upload($event, 'expertOpinion')" title="上传截图"></app-comp-upload>
+          <app-comp-upload [width]="320" (change)="upload($event, 'expertOpinion')" title="上传PDF"></app-comp-upload>
           <div class="text upText" style="margin: 10px 0">
             支持批量上传 PDF、JPG、JPEG、PNG 格式,单个大小不超过 2M
           </div>
@@ -84,7 +84,8 @@
     <div class="author-content">
       <div class="title">教材使用情况证明材料</div>
       <div class="text">
-        教材出版单位提供教材主要使用高校名单及使用情况证明材料,并加盖公章。<a (click)="downloadFile('专家审查意见表.docx')">下载模板</a>
+        教材出版单位提供教材主要使用高校名单及使用情况证明材料,并加盖公章。
+        <!-- <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>
@@ -95,9 +96,9 @@
               证明材料
             </a>
           }
-          <app-comp-upload [width]="320" (change)="upload($event, 'evidence')" title="上传截图"></app-comp-upload>
+          <app-comp-upload [width]="320" (change)="upload($event, 'evidence')" title="上传PDF"></app-comp-upload>
           <div class="text upText" style="margin: 10px 0">
-            支持批量上传 PDF、JPG、JPEG、PNG 格式单个文件大小不超过 2M
+            支持上传PDF,大小不超过 2M
           </div>
         </nz-form-control>
       </nz-form-item>
@@ -115,14 +116,14 @@
           </p>
         }
       }
-      <app-comp-upload [width]="320" [maxlenght]="99" (change)="upload($event, 'moreMaterial')" title="上传截图"></app-comp-upload>
+      <app-comp-upload [width]="320" [maxlenght]="99" (change)="upload($event, 'moreMaterial')" title="上传PDF"></app-comp-upload>
 
       <div class="text upText" style="margin: 10px 0">
-        支持批量上传 PDF、JPG、JPEG、PNG 格式单个文件大小不超过 2M
+        支持上传PDF,大小不超过 2M
       </div>
     </div>
 
-    <div class="author-content">
+    <!-- <div class="author-content">
       <div class="nav"><b>申报单位承诺意见</b></div>
       <div class="text">
         作者 /
@@ -138,13 +139,13 @@
               申报单位承诺意见
             </a>
           }
-          <app-comp-upload [width]="320" (change)="upload($event, 'unitMaterial')" title="上传截图"></app-comp-upload>
+          <app-comp-upload [width]="320" (change)="upload($event, 'unitMaterial')" title="上传PDF"></app-comp-upload>
           <div class="text upText" style="margin: 10px 0">
-            支持批量上传 PDF、JPG、JPEG、PNG 格式单个文件大小不超过 2M
+            支持上传PDF,大小不超过 2M
           </div>
         </nz-form-control>
       </nz-form-item>
-    </div>
+    </div> -->
   <!-- </form> -->
 </div>
 <div class="footer">

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

@@ -143,10 +143,10 @@ export class AttachmentComponent implements OnInit {
         isNull = true
       }
     }
-    if (this.unitMaterial.url == '' || !this.unitMaterial.url) {
-      msgList.push('申报单位承诺意见')
-      isNull = true
-    }
+    // if (this.unitMaterial.url == '' || !this.unitMaterial.url) {
+    //   msgList.push('申报单位承诺意见')
+    //   isNull = true
+    // }
     if (isNull) {
       // this.msg.create('error', `请上传完整 ${msgList.join()}`)
     }
@@ -206,7 +206,7 @@ export class AttachmentComponent implements OnInit {
       expertOpinion: this.expertOpinion,
       evidence: this.evidence,
       moreMaterial: this.moreMaterial,
-      unitMaterial: this.unitMaterial,
+      // unitMaterial: this.unitMaterial,
     }
     await this.saveEduTextbook(params, true);
     if (event == 'pre') {//上一步
@@ -257,8 +257,8 @@ export class AttachmentComponent implements OnInit {
     });
     params.selfResults &&
       this.eduTextbook?.set('selfResults', params.selfResults);
-    params.unitMaterial &&
-      this.eduTextbook?.set('unitMaterial', params.unitMaterial);
+    // params.unitMaterial &&
+    //   this.eduTextbook?.set('unitMaterial', params.unitMaterial);
     params.expertOpinion &&
       this.eduTextbook?.set('expertOpinion', params.expertOpinion);
     params.evidence && this.eduTextbook?.set('evidence', params.evidence);

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

@@ -183,7 +183,7 @@
       <nz-form-control nzErrorTip="请输入出版时间" [nzSm]="12" [nzXs]="12">
         <nz-input-group>
           <div class="basic-row">
-            <nz-date-picker nzMode="month" style="flex: 1" formControlName="editionDate"></nz-date-picker>
+            <nz-date-picker nzMode="month" style="flex: 1" formControlName="editionDate" [nzDisabledDate]="disabledEditionDate"></nz-date-picker>
             <nz-input-group style="width: 100px; margin-left: 20px" [nzSuffix]="suffixTemplateInfo">
               <input type="number" formControlName="editionNumber" nz-input placeholder="输入版次" />
             </nz-input-group>
@@ -221,7 +221,16 @@
     <nz-form-item style="margin-bottom: 16px">
       <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired>初版以来是否列为重点项目</nz-form-label>
       <nz-form-control nzErrorTip="" [nzSm]="12" [nzXs]="12">
-        <nz-input-group>
+        <nz-checkbox-wrapper>
+            @for (item of importantProjectList; track item.value) {
+              <label style="margin: 0;padding: 0;" [ngModelOptions]="{standalone: true}" nz-checkbox [nzValue]="item.value" [(ngModel)]="item.checked">{{item.value}}</label>
+              <br>
+            }
+        </nz-checkbox-wrapper>
+        @if (importantProjectList[4].checked) {
+          <input type="text" formControlName="importantProjectOther" placeholder="请输入入选项目名称" nz-input />
+          }
+        <!-- <nz-input-group>
           <nz-radio-group style="display: flex; flex-direction: column" formControlName="importantProject">
             @for (item of importantProjectList; track item.value) {
             <label (click)="onChangeRadio()" nz-radio [nzValue]="item.value">{{item.title}}</label>
@@ -231,7 +240,7 @@
             }
             <label nz-radio nzValue="否">否</label>
           </nz-radio-group>
-        </nz-input-group>
+        </nz-input-group> -->
       </nz-form-control>
     </nz-form-item>
     <!-- <nz-form-item style="margin-bottom: 16px">

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

@@ -19,6 +19,8 @@ import {
 import { CompUploadComponent } from '../../../../app/comp-upload/comp-upload.component';
 import { NzInputModule } from 'ng-zorro-antd/input';
 import * as major from '../../../../services/majors4.map'
+import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
+
 @Component({
   selector: 'app-basic',
   imports: [
@@ -29,7 +31,8 @@ import * as major from '../../../../services/majors4.map'
     NzUploadModule,
     NzInputModule,
     NzTagModule,
-    CompUploadComponent
+    CompUploadComponent,
+    NzCheckboxModule
   ],
   standalone: true,
   templateUrl: './basic-in.component.html',
@@ -71,7 +74,10 @@ export class BasicInComponent implements OnInit {
     
     console.log(result)
   }
-
+  /**出版时间及版次不可选择时间 */
+  disabledEditionDate=(current:Date):boolean=>{
+    return current< new Date(2022,11,1)
+  }
   validateForm: FormGroup<{
     title: FormControl<string>; //申报教材名称
     ISBN: FormControl<string>; //国际标准书号
@@ -97,7 +103,7 @@ export class BasicInComponent implements OnInit {
 
     printSum: FormControl<number>; //初版以来合计印数
 
-    importantProject: FormControl<string>; //初版以来是否列为重点项目
+    // importantProject: FormControl<string>; //初版以来是否列为重点项目
     importantProjectOther: FormControl<string>; //其他省部级及以上项目
     approvedImgUrl:FormControl<string>//重点立项教材获批截图
   
@@ -123,7 +129,7 @@ export class BasicInComponent implements OnInit {
     printDate: [new Date(), [Validators.required]],
     printNumber: [0, [Validators.required]],
     printSum: [0, [Validators.required]],
-    importantProject: ['', [Validators.required]],
+    // importantProject: ['', [Validators.required]],
     importantProjectOther: [''],
     approvedImgUrl:[''],
     // copyrightImgUrl: [''],
@@ -151,30 +157,66 @@ export class BasicInComponent implements OnInit {
       code: 'Z003',
     },
   ];
+  /**可选的重点项目 */
   importantProjectList: Array<any> = [
     {
-      title: '首届全国教材建设奖全国优秀教材(高等教育类)',
+      label: '首届全国教材建设奖全国优秀教材(高等教育类)',
       value: '首届全国教材建设奖全国优秀教材(高等教育类)',
+      checked:false
     },
     {
-      title: '“十二五”普通高等教育本科国家级规划教材',
+      label: '“十二五”普通高等教育本科国家级规划教材',
       value: '“十二五”普通高等教育本科国家级规划教材',
+      checked:false
     },
     {
-      title: '“十二五”以来省级优秀教材',
+      label: '“十二五”以来省级优秀教材',
       value: '“十二五”以来省级优秀教材',
+      checked:false
     },
     {
-      title: '“十二五”以来省级规划教材',
+      label: '“十二五”以来省级规划教材',
       value: '“十二五”以来省级规划教材',
+      checked:false
     },
- 
-    
     {
-      title: '其他省部级及以上项目',
+      label: '其他省部级及以上项目',
       value: '其他省部级及以上项目',
+      checked:false
     },
   ];
+  /**选中的重点项目 */
+  importantProject:Array<any>=[]
+  /**多选框改变 */
+  changeImportantProject(){
+    let checkedList = this.importantProjectList.filter(item=>item.checked)||[]
+    this.importantProject = checkedList.map(item=>item.value)
+    console.log(this.importantProject)
+  }
+  // importantProjectList: Array<any> = [
+  //   {
+  //     title: '首届全国教材建设奖全国优秀教材(高等教育类)',
+  //     value: '首届全国教材建设奖全国优秀教材(高等教育类)',
+  //   },
+  //   {
+  //     title: '“十二五”普通高等教育本科国家级规划教材',
+  //     value: '“十二五”普通高等教育本科国家级规划教材',
+  //   },
+  //   {
+  //     title: '“十二五”以来省级优秀教材',
+  //     value: '“十二五”以来省级优秀教材',
+  //   },
+  //   {
+  //     title: '“十二五”以来省级规划教材',
+  //     value: '“十二五”以来省级规划教材',
+  //   },
+ 
+    
+  //   {
+  //     title: '其他省部级及以上项目',
+  //     value: '其他省部级及以上项目',
+  //   },
+  // ];
   // get importantProjectState(){
   //   return this.importantProjectList.some((item:any)=> item.value == this.validateForm.value.importantProject)
   // }
@@ -191,6 +233,15 @@ export class BasicInComponent implements OnInit {
     if(this.eduTextbook?.get('editionUnit')){
       this.isShowChooseEU=false
     }
+    this.importantProject = this.eduTextbook.get('importantProject')||[]
+    if(this.importantProject?.length>0){
+      for(let i in this.importantProjectList){
+        if(this.importantProject.indexOf(this.importantProjectList[i].value)!=-1){
+          this.importantProjectList[i].checked=true
+        }
+      }
+    }
+ 
     this.approvedImgList[0].url = this.eduTextbook.get('approvedImgUrl')
     console.log(this.approvedImgList)
     console.log(this.eduTextbook);
@@ -215,7 +266,7 @@ export class BasicInComponent implements OnInit {
       printDate: [this.eduTextbook?.get('printDate') || new Date(), [Validators.required]],
       printNumber: [this.eduTextbook?.get('printNumber') || 0, [Validators.required]],
       printSum: [this.eduTextbook?.get('printSum') || 0, [Validators.required]],
-      importantProject: [this.eduTextbook?.get('importantProject') || '', [Validators.required]],
+      // importantProject: [this.eduTextbook?.get('importantProject') || '', [Validators.required]],
       importantProjectOther: [this.eduTextbook?.get('importantProjectOther') || ''],
       approvedImgUrl: [this.eduTextbook?.get('approvedImgUrl') || '', [Validators.required]],
       // copyrightImgUrl: [this.eduTextbook?.get('copyrightImgUrl') || '', [Validators.required]],
@@ -225,7 +276,8 @@ export class BasicInComponent implements OnInit {
   }
   //校验其他省部级及以上项目是否需填
   onChangeRadio(){
-    if (this.validateForm.value.importantProject != '其他省部级及以上项目') {
+    // if (this.validateForm.value.importantProject != '其他省部级及以上项目') {
+    if (!this.importantProjectList[4].checked) {
       this.validateForm.controls.importantProjectOther.clearValidators();
       this.validateForm.controls.importantProjectOther.markAsPristine();
     } else {
@@ -299,6 +351,7 @@ export class BasicInComponent implements OnInit {
   }
 
   async saveEduTextbook(params: any, isComplete:boolean){
+    this.changeImportantProject()
     console.log(params);
     if(!this.eduTextbook){
       let obj = Parse.Object.extend('EduTextbook');
@@ -336,7 +389,8 @@ export class BasicInComponent implements OnInit {
     this.eduTextbook?.set('printDate', params.printDate);
     this.eduTextbook?.set('printNumber', params.printNumber);
     this.eduTextbook?.set('printSum', params.printSum);
-    this.eduTextbook?.set('importantProject', params.importantProject);
+    // this.eduTextbook?.set('importantProject', params.importantProject);
+    this.eduTextbook?.set('importantProject', this.importantProject);
     this.eduTextbook?.set('importantProjectOther', params.importantProjectOther);
     // this.eduTextbook?.set('copyrightImgUrl', params.copyrightImgUrl);
     // this.eduTextbook?.set('CIPImgUrl', params.CIPImgUrl);

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

@@ -96,14 +96,14 @@
             <th nzWidth="300px">手机号码</th>
             <th nzWidth="160px">电子邮箱</th>
             <th nzWidth="160px">分工</th>
-            <th nzWidth="120px" nzRight>
+            <!-- <th nzWidth="120px" nzRight>
               作者诚信承诺签名
               <span style="color: red;">*</span>
             </th>
             <th nzWidth="120px" nzRight>
               作者政治审查表
               <span style="color: red;">*</span>
-            </th>
+            </th> -->
             <th nzWidth="100px" nzRight>操作</th>
           </tr>
         </thead>
@@ -170,7 +170,7 @@
                 }
               </nz-select>
             </td>
-            <td nzRight>
+            <!-- <td nzRight>
               @if (data.signature) {
                 <a style="color: #3e49b3;" (click)="openFile(data.signature)">签名文件</a>
               }
@@ -181,7 +181,7 @@
               <a style="color: #3e49b3;" (click)="openFile(data.examine)">政治审查表 </a>
               }
               <app-comp-upload (change)="upload($event, 'examine',index)"></app-comp-upload>
-            </td>
+            </td> -->
             <td nzRight>
               <a (click)="onPush('authorList', index)"><span nz-icon style="font-size: 20px; margin-right: 10px"
                   nzType="plus-circle" nzTheme="outline"></span></a>
@@ -257,11 +257,11 @@
   </form>
   
 </div>
-<div style="width: 100%;display: flex;justify-content: space-between;padding: 30px 0 0;">
-  <a (click)="downloadFile()">
+<div style="width: 100%;display: flex;justify-content: flex-end;padding: 30px 0 0;">
+  <!-- <a (click)="downloadFile()">
     <span nz-icon nzType="download" nzTheme="outline"></span>
     下载本页所有附件模板
-  </a>
+  </a> -->
   <div class="footer">
     <div>
       <button nz-button nzType="default" style="margin-right: 20px" (click)="submitForm('save')">