Răsfoiți Sursa

新增修改上传作者承诺及单位意见

warrior 7 luni în urmă
părinte
comite
4aee18de93

+ 1 - 1
projects/textbook/src/modules/nav-author/apply/apply.component.html

@@ -12,7 +12,7 @@
       <nz-step nzTitle="填写基本信息" nzDescription=""></nz-step>
       <nz-step nzTitle="填写教材适用情况" nzDescription=""></nz-step>
       <nz-step nzTitle="填写教材内容" nzDescription=""></nz-step>
-      <nz-step nzTitle="填写承诺内容" nzDescription=""></nz-step>
+      <nz-step nzTitle="上传作者承诺及单位意见" nzDescription=""></nz-step>
       <nz-step nzTitle="上传附件材料" nzDescription=""></nz-step>
     </nz-steps>
   </div>

+ 1 - 1
projects/textbook/src/modules/nav-author/apply/apply.component.scss

@@ -6,7 +6,7 @@
   background-color: white;
   font-family: PingFang SC;
   .steps{
-    max-width: 1000px;
+    max-width: 1200px;
     margin: 10px 0;
   }
   .back{

+ 68 - 18
projects/textbook/src/modules/nav-author/components/faith/faith.component.html

@@ -1,7 +1,4 @@
 <div class="entry">
-
-
-
   <!-- <div class="author-content">
       <div class="nav"><b>申报单位承诺意见</b></div>
       <div class="text">
@@ -26,15 +23,58 @@
       </nz-form-item>
     </div> -->
 
+  <div class="author-content">
+    <div class="nav"><b>教材作者诚信承诺</b></div>
+    <p>
+      请输入承诺内容:<span style="color:#3e49b3">本人自愿参加此次申报,已认真填写并检查以上材料,保证内容真实。</span>请在提交教材前导出申报书及附件获取所有作者诚信承诺签名,返回此页上传已签名的诚信承诺页。教材出现的所有作者均需签字(可用电子签名),如有作者已去世,请标注XXX已去世,不需要签名。
+    </p>
+    <input
+      [(ngModel)]="value"
+      [nzStatus]="authStatus ? '' : 'warning'"
+      nz-input
+      placeholder="请输入承诺内容(注意标点符号)"
+    />
 
-    <div class="author-content">
-      <div class="nav"><b>教材作者诚信承诺</b></div>
-      <p>输入诚信承诺:本人自愿参加此次申报,已认真填写并检查以上材料,保证内容真实。</p>
-      <input [(ngModel)]="value" (ngModelChange)="changeAccept()" nz-input placeholder="请输入承诺内容" />
-
+    <div class="val" style="width: 100%">
+      <div class="text">
+        <span style="color: red">*</span>
+        上传签名页
+      </div>
+      <app-comp-upload
+        [type]="'pdf'"
+        [width]="320"
+        (change)="upload($event, 'authorSignPDF')"
+        title="上传文件"
+        [size]="1024"
+        [files]="authorSignPDF?.url ? [authorSignPDF] : []"
+      ></app-comp-upload>
+      <div class="text upText">支持上传PDF,大小不超过 1M</div>
     </div>
 
-
+    <div class="nav" style="margin-top: 50px;"><b>申报单位承诺意见</b></div>
+    <p>
+      作者 /
+      主编所在高校主管领导或出版单位主管领导在申报单位承诺意见表格亲笔签字 /
+      盖签名章并加盖高校 / 出版单位公章后上传此项。需要使用学校校章 /出版社社章
+      ,不可用二级单位章 /
+      总编室章。请在提交教材前导出申报书及附件获取申报单位承诺意见,返回此页上传已签名并盖章的申报单位承诺意见页。
+    </p>
+    <div class="val" style="width: 100%;">
+      <div class="text">
+        <span style="color: red">*</span>
+        申报单位承诺意见材料
+      </div>
+      <app-comp-upload
+        [type]="'pdf'"
+        [width]="320"
+        (change)="upload($event, 'unitMaterial')"
+        title="上传文件"
+        [files]="unitMaterial?.url ? [unitMaterial] : []"
+        [size]="1024"
+      ></app-comp-upload>
+      <div class="text upText">支持上传PDF,大小不超过 1M</div>
+    </div>
+  </div>
 
   <!-- <form nz-form [formGroup]="validateForm" nzLayout="vertical">
     <div class="author-content">
@@ -64,19 +104,29 @@
   </form> -->
 </div>
 
-
-
-
-
-
 <div class="footer">
-  <button nz-button nzType="default" style="margin-right: 20px" (click)="submitForm('save')">
+  <button
+    nz-button
+    nzType="default"
+    style="margin-right: 20px"
+    (click)="submitForm('save')"
+  >
     保存本页
   </button>
-  <button nz-button nzType="default" style="margin-right: 20px" (click)="submitForm('pre')">
+  <button
+    nz-button
+    nzType="default"
+    style="margin-right: 20px"
+    (click)="submitForm('pre')"
+  >
     上一页
   </button>
-  <button nz-button nzType="primary" style="background: #3e49b3; border: 1px #3e49b3" (click)="submitForm('next')">
+  <button
+    nz-button
+    nzType="primary"
+    style="background: #3e49b3; border: 1px #3e49b3"
+    (click)="submitForm('next')"
+  >
     下一页
   </button>
-</div>
+</div>

+ 1 - 0
projects/textbook/src/modules/nav-author/components/faith/faith.component.scss

@@ -39,6 +39,7 @@
         font-weight: 400;
         line-height: 22px;
         text-align: left;
+        margin: 10px 0;
       }
     }
     .tips{

+ 63 - 50
projects/textbook/src/modules/nav-author/components/faith/faith.component.ts

@@ -52,11 +52,24 @@ export class FaithComponent implements OnInit {
   @Output() state: EventEmitter<any> = new EventEmitter<any>();
   @Output() save: EventEmitter<any> = new EventEmitter<any>();
 
+  value: string = '';
+
+  /**上传签名页 */
+  authorSignPDF: any = {
+    name: '',
+    url: '',
+  };
+
   /**申报单位承诺意见 */
   unitMaterial: any = {
     name: '',
     url: '',
   };
+
+  get authStatus():boolean{
+    return this.value == '本人自愿参加此次申报,已认真填写并检查以上材料,保证内容真实。'
+  }
+
   constructor(
     public tbookSer: textbookServer,
     private msg: NzMessageService,
@@ -69,28 +82,19 @@ export class FaithComponent implements OnInit {
   ngOnInit() {
     if (this.eduTextbook.id) {
       this.value = this.eduTextbook.get('accept') || '';
-
-      // this.validateForm = this.fb.group({
-      //   // unitMaterial: [this.eduTextbook.get('unitMaterial')?.text||'' , [Validators.maxLength(200)]],
-      //   accept: [this.eduTextbook.get('accept') || '', [Validators.required]],
-      // });
+      this.authorSignPDF = this.eduTextbook.get('authorSignPDF') || {
+        name: '',
+        url: '',
+      };
+      this.unitMaterial = this.eduTextbook.get('unitMaterial') || {
+        name: '',
+        url: '',
+      };
     }
   }
-  value: string = '';
 
   async submitForm(event?: string): Promise<void> {
-    if (
-      this.value !=
-      '本人自愿参加此次申报,已认真填写并检查以上材料,保证内容真实。'
-    ) {
-      this.msg.error('诚信承诺输入错误,请正确输入(注意标点符号)');
-      // return
-    }
-    // let params: any = this.validateForm.value;
-    // console.log(params)
-    let params = { accept: this.value };
-    await this.saveEduTextbook(params);
-
+    await this.saveEduTextbook();
     if (event == 'pre') {
       //上一步
       this.state.emit({ type: 'pre' });
@@ -109,11 +113,14 @@ export class FaithComponent implements OnInit {
     }
   }
 
-  async saveEduTextbook(params: any) {
+  async saveEduTextbook() {
     if (!this.eduTextbook) {
       this.msg.error('请先创建教材');
       return;
     }
+
+    let isComplete = this.verify()
+
     this.eduTextbook?.set('user', Parse.User.current()?.toPointer());
     this.eduTextbook?.set('company', {
       __type: 'Pointer',
@@ -122,33 +129,47 @@ export class FaithComponent implements OnInit {
     });
     // params.unitMaterial &&
     //   this.eduTextbook?.set('unitMaterial',{text:params.unitMaterial} );
-    params.accept && this.eduTextbook?.set('accept', params.accept);
+    this.value && this.eduTextbook?.set('accept', this.value);
+    this.authorSignPDF && this.eduTextbook?.set('authorSignPDF', this.authorSignPDF);
+    this.unitMaterial && this.eduTextbook?.set('unitMaterial', this.unitMaterial);
+
     if (
-      this.eduTextbook.get('status') == '102' &&
-      this.value !=
-        '本人自愿参加此次申报,已认真填写并检查以上材料,保证内容真实。'
+      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)
+    }else{
+      this.msg.warning('保存成功,但存在未填写完成项');
+    }
+    await this.eduTextbook?.save();
+    return;
+  }
+  verify():boolean{
     if (
-      this.value ==
+      this.value !=
       '本人自愿参加此次申报,已认真填写并检查以上材料,保证内容真实。'
     ) {
-      this.eduTextbook.set('complete', true);
+      this.msg.error('诚信承诺输入错误,请正确输入(注意标点符号)');
+      return false
+    }
+    if(!this.authorSignPDF?.url || !this.unitMaterial?.url){
+      return false
+    }
+    return true
+  }
+  upload(e: any, type: string) {
+    console.log(e);
+    let file = e[e?.length - 1 || 0];
+    if (type == 'unitMaterial' || type == 'authorSignPDF') {
+      this[type].url = file?.url;
+      this[type].name = file?.name;
     }
-    await this.eduTextbook?.save();
-    return;
   }
-  // upload(e: any, type: string, index?: any) {
-  //   let file = e[(e?.length - 1) || 0];
-  //   if(type=='unitMaterial'){
-  //     this[type].url = file?.url
-  //     this[type].name = file?.name
-  //   }
-  // }
 
   // /**获取文件名 */
   // getFileName(url: string) {
@@ -175,22 +196,14 @@ export class FaithComponent implements OnInit {
   // }
   // openFile(url: string) {
   //   console.log(url);
-  //   window.open(url)
+  //   window.open(url);
   // }
 
-  // validateForm: FormGroup<{
-  //   // unitMaterial: FormControl<string | null>;
-  //   accept: FormControl<string | null>;
-  // }> = this.formBuilder.group({
-  //   // unitMaterial: ['', [Validators.maxLength(200)]],
-  //   accept: ['', [Validators.maxLength(100)]]
-
-  // });
-  changeAccept() {
-    console.log(this.value);
-    let str = '本人自愿参加此次申报,已认真填写并检查以上材料,保证内容真实。';
-    if (str.indexOf(this.value) == -1) {
-      this.msg.create('warning', '请正确输入内容');
-    }
-  }
+  // changeAccept() {
+  //   console.log(this.value);
+  //   let str = '本人自愿参加此次申报,已认真填写并检查以上材料,保证内容真实。';
+  //   if (str.indexOf(this.value) == -1) {
+  //     this.msg.create('warning', '请正确输入内容');
+  //   }
+  // }
 }