فهرست منبع

update 管理员端

warrior 9 ماه پیش
والد
کامیت
3e83758ce1
1فایلهای تغییر یافته به همراه45 افزوده شده و 28 حذف شده
  1. 45 28
      projects/textbook/src/app/textbook/textbook.component.ts

+ 45 - 28
projects/textbook/src/app/textbook/textbook.component.ts

@@ -62,9 +62,9 @@ export class TextbookComponent implements OnInit {
       star: false, //加入推荐
       remove: false, //移除推荐
       submit: false, //提交
-      export:false,
+      export: false,
       verify: false, //提交推荐权限
-      restore:false, //恢复教材
+      restore: false, //恢复教材
     },
   };
   listOfColumns: any = {
@@ -78,7 +78,7 @@ export class TextbookComponent implements OnInit {
       onChange: (data: any) => {
         console.log(data);
         this.filters.lang.value = data;
-        this.onFilter()
+        this.onFilter();
       },
     },
     majorPoniter: {
@@ -86,7 +86,7 @@ export class TextbookComponent implements OnInit {
       onChange: (data: any) => {
         console.log(data);
         this.filters.majorPoniter.value = data;
-        this.onFilter()
+        this.onFilter();
       },
     },
     editionUnit: {
@@ -94,23 +94,24 @@ export class TextbookComponent implements OnInit {
       onChange: (data: any) => {
         console.log(data);
         this.filters.editionUnit.value = data;
-        this.onFilter()
+        this.onFilter();
       },
     },
     approval: {
       listOfFilter: [
         {
-          value: '基础学科“101计划”核心教材',
-          text: '基础学科“101计划”核心教材',
+          value: '经中央有关部门审定的教材',
+          text: '经中央有关部门审定的教材',
         },
-        { value: '战略性新兴领域教材', text: '战略性新兴领域教材' },
-        { value: '“四新”重点建设教材', text: '“四新”重点建设教材' },
+        { value: '首届全国教材建设奖优秀教材(高等教育类)教材', text: '首届全国教材建设奖优秀教材(高等教育类)教材' },
+        { value: '“101计划”核心教材', text: '“101计划”核心教材' },
+        { value: '“四新”重点建设教材(含战略性新兴领域教材)', text: '“四新”重点建设教材(含战略性新兴领域教材)' },
         { value: '否', text: '否' },
       ],
       onChange: (data: any) => {
         console.log(data);
         this.filters.approval.value = data;
-        this.onFilter()
+        this.onFilter();
       },
     },
     carrierShape: {
@@ -122,7 +123,7 @@ export class TextbookComponent implements OnInit {
       onChange: (data: any) => {
         console.log(data);
         this.filters.carrierShape.value = data;
-        this.onFilter()
+        this.onFilter();
       },
     },
     department: {
@@ -130,7 +131,7 @@ export class TextbookComponent implements OnInit {
       onChange: (data: any) => {
         console.log(data);
         this.filters.department.value = data;
-        this.onFilter()
+        this.onFilter();
       },
     },
   };
@@ -272,10 +273,10 @@ export class TextbookComponent implements OnInit {
     return arr;
   }
   //筛选
-  onFilter(){
-    this.textbookList = []
-    this.pageIndex = 1
-    this.getTextbook(this.searchValue)
+  onFilter() {
+    this.textbookList = [];
+    this.pageIndex = 1;
+    this.getTextbook(this.searchValue);
   }
   onSearch(e: string) {
     console.log(e);
@@ -386,9 +387,9 @@ export class TextbookComponent implements OnInit {
   }
   //加入/移除推荐
   updateStatus(data?: Parse.Object, recommend?: boolean) {
-    if(this.eduProcess?.get('status') != '200'){
-      this.message.warning('当前流程状态非遴选中,不可此操作')
-      return
+    if (this.eduProcess?.get('status') != '200') {
+      this.message.warning('当前流程状态非遴选中,不可此操作');
+      return;
     }
     this.modal.confirm({
       nzTitle: `${recommend ? '加入' : '移除'}推荐`,
@@ -420,7 +421,7 @@ export class TextbookComponent implements OnInit {
       nzCancelText: '取消',
       nzOnCancel: () => console.log('Cancel'),
     });
-    if(this.filterObj?.btns?.verify){
+    if (this.filterObj?.btns?.verify) {
       history.go();
     }
   }
@@ -467,15 +468,16 @@ export class TextbookComponent implements OnInit {
           }
           await data.save();
         } else {
-          let count = 0;
+          let count = 0,
+            failCount = 0;
           let selectedList = this.textbookList.filter((item: any) =>
             this.setOfCheckedId.has(item?.id)
           );
           let deletePromiseList = selectedList.map((item: any) => {
             return new Promise((resolve) => {
               if (
-                data?.get('status') == '102' ||
-                data?.get('status') == '300'
+                item?.get('status') == '102' ||
+                item?.get('status') == '300'
               ) {
                 count++;
                 let t =
@@ -498,13 +500,26 @@ export class TextbookComponent implements OnInit {
                 }
                 item.save().then(() => resolve(true));
               } else {
+                failCount++;
                 resolve(true);
               }
             });
           });
           try {
             await Promise.all(deletePromiseList);
-            this.message.success('成功提交' + count + '条教材');
+            failCount > 0
+              ? this.message.success(
+                  '已提交' +
+                    count +
+                    '条教材,' +
+                    failCount +
+                    '条教材提交失败,请检查必填信息是否完整'
+                )
+              : this.message.success('已提交' +
+              count +
+              '条教材,' +
+              failCount +
+              '条教材提交失败');
             this.onAllChecked(false);
           } catch (err) {}
         }
@@ -527,7 +542,7 @@ export class TextbookComponent implements OnInit {
           data.set('discard', null);
           data.set('code', null);
           await data.save();
-        } else { 
+        } else {
           let selectedList = this.textbookList.filter((item: any) =>
             this.setOfCheckedId.has(item?.id)
           );
@@ -556,14 +571,16 @@ export class TextbookComponent implements OnInit {
     query.lessThanOrEqualTo('startDate', new Date());
     query.greaterThan('deadline', new Date());
     query.notEqualTo('isDeleted', true);
-    query.containedIn('status', ['200','300']);
+    query.containedIn('status', ['200', '300']);
     query.select('objectId');
     let res = await query.first();
     return res?.id;
   }
   //导出
-  async exportProcess(data?:Parse.Object){
-    let processId = await this.getEduProcess(this.tbookSer.profile.user?.department?.objectId);
+  async exportProcess(data?: Parse.Object) {
+    let processId = await this.getEduProcess(
+      this.tbookSer.profile.user?.department?.objectId
+    );
     Parse.Cloud.run('tbookExportReport', { processId: processId }).then(
       (data) => {
         console.log(data);