Kaynağa Gözat

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

warrior 7 ay önce
ebeveyn
işleme
087216c8a5

+ 1 - 1
docker-front

@@ -1 +1 @@
-Subproject commit f2aa87dcdcbea31ac16b3a7e5a2aa858de9f5aff
+Subproject commit 358be7327229e41502eb135e681309929f34ed72

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

@@ -9,13 +9,15 @@
       <div class="title">教材电子版</div>
       <div class="text">
         教材出版单位配合按要求上传各地推荐的本单位出版的纸质教材最新印次的完整PDF电子版;数字教材上传全部教材内容电子版或填写能够查看全部教材内容的链接地址、账号;纸质教材附带数字资源的,上传纸质教材最新印次的完整PDF电子版,以及全部数字资源电子版或能够查看全部数字资源内容的链接地址、账号
-      </div> -->
-      <!-- <nz-checkbox-group
+      </div>
+
+      <nz-checkbox-group  //nz-checkbox-group注释
         style="margin: 10px 0"
         formControlName="textbookTypes"
         [(ngModel)]="checkOptionsOne"
-      ></nz-checkbox-group> -->
-      <!-- <label nz-checkbox [ngModelOptions]="{ standalone: true }" [ngModel]="true">纸质教材</label>
+      ></nz-checkbox-group>
+
+      <label nz-checkbox [ngModelOptions]="{ standalone: true }" [ngModel]="true">纸质教材</label>
       <label nz-checkbox [ngModelOptions]="{ standalone: true }" [ngModel]="true">电子教材 / 资源</label>
       <div nz-row>
         <div nz-col nzSpan="12">
@@ -78,6 +80,16 @@
         </div>
       </div>
     </div> -->
+
+
+
+
+
+
+
+
+
+
     <!-- <div class="author-content">
       <div class="title">所有作者政治审查意见</div>
       <div class="text">
@@ -181,6 +193,15 @@
         </tbody>
       </nz-table>
     </div> -->
+
+
+
+
+
+
+
+
+
     <div class="author-content">
       <div class="title">教材版权信息</div>
       
@@ -198,16 +219,8 @@
           nzErrorTip="请上传版权页截图"
           style="width: 100%"
         >
-          <nz-upload
-            formControlName="selfResults"
-            nzAction="https://www.mocky.io/v2/5cc8019d300000980a055e76"
-            [nzHeaders]="{ authorization: 'authorization-text' }"
-            (nzChange)="handleChange($event)"
-          >
-            <div style="color: #3e49b3">
-              <span nz-icon nzType="upload"></span>上传文件
-            </div>
-          </nz-upload>
+        <app-comp-upload [width]="320" (change)="upload($event, 'copyrightImgUrl')" title="上传截图"></app-comp-upload>
+
           <div class="text upText" style="margin: 10px 0">
             支持批量上传 PDF、JPG、JPEG、PNG 格式,单个文件大小不超过 2M
           </div>
@@ -227,7 +240,7 @@
           nzErrorTip="请上传中国版本图书馆 CIP 查询截图"
           style="width: 100%"
         >
-          <nz-upload
+          <!-- <nz-upload
             formControlName="selfResults"
             nzAction="https://www.mocky.io/v2/5cc8019d300000980a055e76"
             [nzHeaders]="{ authorization: 'authorization-text' }"
@@ -236,7 +249,9 @@
             <div style="color: #3e49b3">
               <span nz-icon nzType="upload"></span>上传文件
             </div>
-          </nz-upload>
+          </nz-upload> -->
+          <app-comp-upload [width]="320" (change)="upload($event, 'CIPImgUrl')" title="上传截图"></app-comp-upload>
+
           <div class="text upText" style="margin: 10px 0">
             支持批量上传 PDF 格式,单个文件大小不超过 2M。如 CIP 数据中无“教材”字样的,须再上传内容提要或前言或后记中可以证明本书为教材的相关内容截图
           </div>
@@ -360,7 +375,7 @@
       <div class="title">其他材料</div>
       <div class="text">其他佐证材料。</div>
 
-      <nz-upload
+      <!-- <nz-upload
         formControlName="moreMaterial"
         nzAction="https://www.mocky.io/v2/5cc8019d300000980a055e76"
         [nzHeaders]="{ authorization: 'authorization-text' }"
@@ -369,7 +384,9 @@
         <div style="color: #3e49b3">
           <span nz-icon nzType="upload"></span>上传文件
         </div>
-      </nz-upload>
+      </nz-upload> -->
+      <app-comp-upload [width]="320" (change)="upload($event, 'moreMaterial')" title="上传截图"></app-comp-upload>
+
       <div class="text upText" style="margin: 10px 0">
         支持批量上传 PDF、JPG、JPEG、PNG 格式,单个文件大小不超过 2M
       </div>
@@ -399,6 +416,8 @@
         </nz-form-control>
       </nz-form-item>
     </div> -->
+
+    
     <!-- <div class="author-content">
       <nz-form-label
         class="label"

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

@@ -11,6 +11,8 @@ import { NzUploadChangeParam } from 'ng-zorro-antd/upload';
 import { NzUploadModule } from 'ng-zorro-antd/upload';
 import { NzModalService } from 'ng-zorro-antd/modal';
 import Parse from 'parse';
+import { CompUploadComponent } from '../../../../app/comp-upload/comp-upload.component';
+
 import {
   FormControl,
   FormGroup,
@@ -38,6 +40,7 @@ import { textbookServer } from '../../../../services/textbook';
     NzCheckboxModule,
     NzTableModule,
     NzUploadModule,
+    CompUploadComponent,
   ],
   standalone: true,
   templateUrl: './attachment.component.html',
@@ -63,26 +66,28 @@ export class AttachmentComponent implements OnInit {
   };
 
   validateForm: FormGroup<{
-    textbookTypes: FormControl<Array<string> | any>; //教材电子版
-    textbookFiles: FormControl<Array<string> | any>; //上传教材文件
-    links: FormControl<string>; //教材数字内容链接地址、账号
+    // textbookTypes: FormControl<Array<string> | any>; //教材电子版
+    // textbookFiles: FormControl<Array<string> | any>; //上传教材文件
+    // links: FormControl<string>; //教材数字内容链接地址、账号
     selfResults: FormControl<object | any>; //图书编校质量自查结果记录表
     expertOpinion: FormControl<object | any>; //专家审核意见表
     evidence: FormControl<object | any>; //教材使用情况证明材料
     moreMaterial: FormControl<Array<any> | any>; //其他材料
     unitMaterial: FormControl<object | any>; //申报单位承诺意见材料
-    accept: FormControl<string>; //填写诚信承诺
+    // accept: FormControl<string>; //填写诚信承诺
+    copyrightImgUrl: FormControl<string>; //版权页截图
+    CIPImgUrl: FormControl<string>; //中国版本图书馆CIP查询截图
   }> = this.fb.group({
-    textbookTypes: [''],
-    textbookFiles: [
-      [
-        {
-          url: 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf',
-        },
-      ],
-      [Validators.required]
-    ],
-    links: ['', [Validators.required]],
+    // textbookTypes: [''],
+    // textbookFiles: [
+    //   [
+    //     {
+    //       url: 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf',
+    //     },
+    //   ],
+    //   [Validators.required]
+    // ],
+    // links: ['', [Validators.required]],
     selfResults: [
       {
         name: '自查表.pdf',
@@ -97,11 +102,7 @@ export class AttachmentComponent implements OnInit {
       },
       [Validators.required]
     ],
-    evidence: [
-      {
-        name: '材料.pdf',
-        url: 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf',
-      },
+    evidence: ['',
       [Validators.required]
     ],
     moreMaterial: [
@@ -123,67 +124,69 @@ export class AttachmentComponent implements OnInit {
       },
       [Validators.required]
     ],
-    accept: ['', [Validators.required, this.confirmationValidator]],
+    // accept: ['', [Validators.required, this.confirmationValidator]],
+    copyrightImgUrl: [''],
+    CIPImgUrl: [''],
   });
   checkOptionsOne = [
     { label: '纸质教材', value: '纸质教材', checked: true },
     { label: '电子教材 / 资源', value: '电子教材 / 资源', checked: true },
   ];
-  //所有作者政治审查意见
-  opinions: Array<opinionType> = [
-    {
-      name: '', //作者
-      unit: '', //单位
-      birth: '', //出生年月
-      nationality: '', //国籍
-      reviewFile: {
-        name: '自查表.pdf',
-        url: 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf',
-      }, //作者政治审查表/作者签名
-    },
-  ];
-  //所有作者签名
-  authorSign: Array<opinionType> = [
-    {
-      name: '', //作者
-      unit: '', //单位
-      birth: '', //出生年月
-      nationality: '', //国籍
-      reviewFile: {
-        name: '审查表.pdf',
-        url: 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf',
-      }, //作者政治审查表/作者签名
-    },
-  ];
+  // //所有作者政治审查意见
+  // opinions: Array<opinionType> = [
+  //   {
+  //     name: '', //作者
+  //     unit: '', //单位
+  //     birth: '', //出生年月
+  //     nationality: '', //国籍
+  //     reviewFile: {
+  //       name: '自查表.pdf',
+  //       url: 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf',
+  //     }, //作者政治审查表/作者签名
+  //   },
+  // ];
+  // //所有作者签名
+  // authorSign: Array<opinionType> = [
+  //   {
+  //     name: '', //作者
+  //     unit: '', //单位
+  //     birth: '', //出生年月
+  //     nationality: '', //国籍
+  //     reviewFile: {
+  //       name: '审查表.pdf',
+  //       url: 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf',
+  //     }, //作者政治审查表/作者签名
+  //   },
+  // ];
   constructor(
     public tbookSer: textbookServer,
     private fb: NonNullableFormBuilder,
     private msg: NzMessageService,
     private modal: NzModalService
-  ) {}
-  ngOnInit() {
+  ) { }
+  ngOnInit() { 
     if (this.eduTextbook.id) {
       this.validateForm = this.fb.group({
-        textbookTypes: [
-          this.eduTextbook.get('textbookTypes'),
-        ],
-        textbookFiles: [
-          this.eduTextbook.get('textbookFiles') ||
-            this.validateForm.value.textbookFiles,
-          [Validators.required]
-        ],
-        links: [
-          this.eduTextbook.get('links')?.join('\n') || '',
-          [Validators.required]
-        ],
+        // textbookTypes: [
+        //   this.eduTextbook.get('textbookTypes'),
+        // ],
+        // textbookFiles: [
+        //   this.eduTextbook.get('textbookFiles') ||
+        //   this.validateForm.value.textbookFiles,
+        //   [Validators.required]
+        // ],
+        // links: [
+        //   this.eduTextbook.get('links')?.join('\n') || '',
+        //   [Validators.required]
+        // ],
         selfResults: [
           this.eduTextbook.get('selfResults') ||
-            this.validateForm.value.selfResults,
+          this.validateForm.value.selfResults,
           [Validators.required]
         ],
         expertOpinion: [
           this.eduTextbook.get('expertOpinion') ||
-            this.validateForm.value.expertOpinion,
+          this.validateForm.value.expertOpinion,
           [Validators.required]
         ],
         evidence: [
@@ -193,16 +196,24 @@ export class AttachmentComponent implements OnInit {
         moreMaterial: [''],
         unitMaterial: [
           this.eduTextbook.get('unitMaterial') ||
-            this.validateForm.value.unitMaterial,
+          this.validateForm.value.unitMaterial,
           [Validators.required]
         ],
-        accept: [
-          this.eduTextbook.get('accept') || '',
-          [Validators.required, this.confirmationValidator]
+        // accept: [
+        //   this.eduTextbook.get('accept') || '',
+        //   [Validators.required, this.confirmationValidator]
+        // ],
+        copyrightImgUrl: [
+          this.eduTextbook.get('copyrightImgUrl') || '',
+          [Validators.required]
+        ],
+        CIPImgUrl: [
+          this.eduTextbook.get('CIPImgUrl') || '',
+          [Validators.required]
         ],
       });
-      this.opinions = this.eduTextbook.get('opinions') || this.opinions
-      this.authorSign = this.eduTextbook.get('authorSign') || this.authorSign
+      // this.opinions = this.eduTextbook.get('opinions') || this.opinions
+      // this.authorSign = this.eduTextbook.get('authorSign') || this.authorSign
     }
   }
   async submitForm(event?: string): Promise<void> {
@@ -211,36 +222,63 @@ export class AttachmentComponent implements OnInit {
       return;
     }
     console.log(this.validateForm.value);
-    let opinionsVrifly = !this.opinions.some((item) =>
-      Object.values(item).some((val) => val == '' || val == undefined)
-    );
-    let authorSignVrifly = !this.authorSign.some((item) =>
-      Object.values(item).some((val) => val == '' || val == undefined)
-    );
+    // let opinionsVrifly = !this.opinions.some((item) =>
+    //   Object.values(item).some((val) => val == '' || val == undefined)
+    // );
+    // let authorSignVrifly = !this.authorSign.some((item) =>
+    //   Object.values(item).some((val) => val == '' || val == undefined)
+    // );
     let params: any = this.validateForm.value;
+    console.log(this.validateForm)
     if (this.validateForm.valid) {
       console.log(this.validateForm.value);
       if (event == 'complete') {
-        if (!opinionsVrifly) {
-          this.msg.warning('所有作者政治审查意见填写不完整');
-          return;
-        }
-        if (!authorSignVrifly) {
-          this.msg.warning('上传所有作者签名填写不完整');
-          return;
-        }
+        // if (!opinionsVrifly) {
+        //   this.msg.warning('所有作者政治审查意见填写不完整');
+        //   return;
+        // }
+        // if (!authorSignVrifly) {
+        //   this.msg.warning('上传所有作者签名填写不完整');
+        //   return;
+        // }
         await this.saveEduTextbook(params, true);
         let textBookJson = this.eduTextbook.toJSON()
-        let ignoreFiled = ['typeNumber','importantProjectOther','createdAt','updatedAt'] //非必填字段
+        let ignoreFiled = [
+          'typeNumber',
+          'editionNumber', 
+          'importantProjectOther', 
+          'textbookFiles',
+          'createdAt', 
+          'updatedAt',
+          'copyright',
+          'authorSign',
+          'CIP',
+          'isDeleted',
+          'opinions',
+          'printNumber',
+          'printSum',
+          'render',
+          'importantProject',
+          'importantProjectOther',
+          'complete',
+          'links',
+          'recommend',
+          'printSun',
+          'discard',
+          'edition',
+          'eduProcess',
+          'authors',
+          'editor',
+        ] //非必填字段
         console.log(textBookJson);
-        let isVrifly = Object.keys(textBookJson).some((item:string)=>{
-          if(!ignoreFiled.includes(item) && (textBookJson[item] === '' || textBookJson[item] === undefined || textBookJson[item] === null)){
-            console.warn('字段未填写:'+item);
+        let isVrifly = Object.keys(textBookJson).some((item: string) => {
+          if (!ignoreFiled.includes(item) && (textBookJson[item] === '' || textBookJson[item] === undefined || textBookJson[item] === null)) {
+            console.warn('字段未填写:' + item);
             return true
           }
           return
         })
-        if(isVrifly){
+        if (isVrifly) {
           this.msg.warning('存在未填项')
           return
         }
@@ -252,7 +290,8 @@ export class AttachmentComponent implements OnInit {
       }
     } else {
       if (event == 'save') {
-        await this.saveEduTextbook(params, this.validateForm.valid && opinionsVrifly && authorSignVrifly);
+        // await this.saveEduTextbook(params, this.validateForm.valid && opinionsVrifly && authorSignVrifly);
+        await this.saveEduTextbook(params, this.validateForm.valid);
         this.modal.success({
           nzTitle: '保存成功',
           nzContent: '<p>已保存并且至空间</p>',
@@ -260,16 +299,62 @@ export class AttachmentComponent implements OnInit {
         });
         return;
       }
-      Object.values(this.validateForm.controls).forEach((control) => {
-        if (control.invalid) {
-          control.markAsDirty();
-          control.updateValueAndValidity({ onlySelf: true });
+
+
+
+
+
+
+
+      console.log(this.validateForm.value);
+      if (event == 'complete') {
+        await this.saveEduTextbook(params, true);
+        let textBookJson = this.eduTextbook.toJSON()
+        let ignoreFiled = ['typeNumber', 'importantProjectOther', 'createdAt', 'updatedAt'] //非必填字段
+        console.log(textBookJson);
+        let isVrifly = Object.keys(textBookJson).some((item: string) => {
+          if (!ignoreFiled.includes(item) && (textBookJson[item] === '' || textBookJson[item] === undefined || textBookJson[item] === null)) {
+            console.warn('字段未填写:' + item);
+            return true
+          }
+          return
+        })
+        if (isVrifly) {
+          this.msg.warning('存在未填项')
+          return
         }
-      });
-      this.msg.warning('请填写完整信息');
+        this.state.emit({ type: 'complete', textBook: this.eduTextbook });
+        this.eduTextbook.set('complete', true)
+        this.eduTextbook.set('status', '102')
+        await this.eduTextbook.save()
+        this.msg.success('已填写完成')
+      }
+
+
+
+
+
+      
+
+
+
+
+      // Object.values(this.validateForm.controls).forEach((control) => {
+      //   if (control.invalid) {
+      //     control.markAsDirty();
+      //     control.updateValueAndValidity({ onlySelf: true });
+      //   }
+      // });
+      // this.msg.warning('请填写完整信息');
+
+
+
+
+      
     }
     if (event == 'save') {
-      await this.saveEduTextbook(params, this.validateForm.valid && opinionsVrifly && authorSignVrifly);
+      // await this.saveEduTextbook(params, this.validateForm.valid && opinionsVrifly && authorSignVrifly);
+      await this.saveEduTextbook(params, this.validateForm.valid);
       this.modal.success({
         nzTitle: '您已填写完成',
         nzContent: '<p>已保存并且至空间</p>',
@@ -277,66 +362,66 @@ export class AttachmentComponent implements OnInit {
       });
     }
   }
-  changeCode() {}
-  getCode(e: any) {}
-  //添加作者信息
-  onPush(type: string, idx: number) {
-    switch (type) {
-      case 'opinions':
-        this.opinions.splice(idx + 1, 0, {
-          name: '', //作者
-          unit: '', //单位
-          birth: '', //出生年月
-          nationality: '', //国籍
-          reviewFile: '', //作者政治审查表/作者签名
-        });
-        break;
-      case 'authorSign':
-        this.authorSign.splice(idx + 1, 0, {
-          name: '', //作者
-          unit: '', //单位
-          birth: '', //出生年月
-          nationality: '', //国籍
-          reviewFile: '', //作者政治审查表/作者签名
-        });
-        break;
-    }
-  }
-  //删除作者信息
-  onDel(type: string, idx: number) {
-    switch (type) {
-      case 'opinions':
-        if (this.opinions.length <= 1) {
-          this.opinions = [
-            {
-              name: '', //作者
-              unit: '', //单位
-              birth: '', //出生年月
-              nationality: '', //国籍
-              reviewFile: '', //作者政治审查表/作者签名
-            },
-          ];
-          return;
-        }
-        this.opinions.splice(idx, 1);
-        break;
-      case 'authorSign':
-        if (this.authorSign.length <= 1) {
-          this.authorSign = [
-            {
-              name: '', //作者
-              unit: '', //单位
-              birth: '', //出生年月
-              nationality: '', //国籍
-              reviewFile: '', //作者政治审查表/作者签名
-            },
-          ];
-          return;
-        }
-        this.authorSign.splice(idx, 1);
-        break;
-    }
-  }
+  changeCode() { }
+  getCode(e: any) { }
+  // //添加作者信息
+  // onPush(type: string, idx: number) {
+  //   switch (type) {
+  //     case 'opinions':
+  //       this.opinions.splice(idx + 1, 0, {
+  //         name: '', //作者
+  //         unit: '', //单位
+  //         birth: '', //出生年月
+  //         nationality: '', //国籍
+  //         reviewFile: '', //作者政治审查表/作者签名
+  //       });
+  //       break;
+  //     case 'authorSign':
+  //       this.authorSign.splice(idx + 1, 0, {
+  //         name: '', //作者
+  //         unit: '', //单位
+  //         birth: '', //出生年月
+  //         nationality: '', //国籍
+  //         reviewFile: '', //作者政治审查表/作者签名
+  //       });
+  //       break;
+  //   }
+  // }
+  // //删除作者信息
+  // onDel(type: string, idx: number) {
+  //   switch (type) {
+  //     case 'opinions':
+  //       if (this.opinions.length <= 1) {
+  //         this.opinions = [
+  //           {
+  //             name: '', //作者
+  //             unit: '', //单位
+  //             birth: '', //出生年月
+  //             nationality: '', //国籍
+  //             reviewFile: '', //作者政治审查表/作者签名
+  //           },
+  //         ];
+  //         return;
+  //       }
+  //       this.opinions.splice(idx, 1);
+  //       break;
+  //     case 'authorSign':
+  //       if (this.authorSign.length <= 1) {
+  //         this.authorSign = [
+  //           {
+  //             name: '', //作者
+  //             unit: '', //单位
+  //             birth: '', //出生年月
+  //             nationality: '', //国籍
+  //             reviewFile: '', //作者政治审查表/作者签名
+  //           },
+  //         ];
+  //         return;
+  //       }
+  //       this.authorSign.splice(idx, 1);
+  //       break;
+  //   }
+  // }
   handleChange(info: NzUploadChangeParam): void {
     if (info.file.status !== 'uploading') {
       console.log(info.file, info.fileList);
@@ -366,12 +451,12 @@ export class AttachmentComponent implements OnInit {
       className: 'Company',
       objectId: this.tbookSer.company,
     });
-    params.textbookTypes &&
-      this.eduTextbook?.set('textbookTypes', params.textbookTypes);
-    params.textbookFiles &&
-      this.eduTextbook?.set('textbookFiles', params.textbookFiles);
-    let links = params.links.split(/[(\r\n)\r\n]+/);
-    links && this.eduTextbook?.set('links', links);
+    // params.textbookTypes &&
+    //   this.eduTextbook?.set('textbookTypes', params.textbookTypes);
+    // params.textbookFiles &&
+    //   this.eduTextbook?.set('textbookFiles', params.textbookFiles);
+    // let links = params.links.split(/[(\r\n)\r\n]+/);
+    // links && this.eduTextbook?.set('links', links);
     params.selfResults &&
       this.eduTextbook?.set('selfResults', params.selfResults);
     params.unitMaterial &&
@@ -381,10 +466,27 @@ export class AttachmentComponent implements OnInit {
     params.evidence && this.eduTextbook?.set('evidence', params.evidence);
     params.moreMaterial &&
       this.eduTextbook?.set('moreMaterial', params.moreMaterial);
-    params.accept && this.eduTextbook?.set('accept', params.accept);
-    this.opinions && this.eduTextbook?.set('opinions', this.opinions);
-    this.authorSign && this.eduTextbook?.set('authorSign', this.authorSign);
+    // params.accept && this.eduTextbook?.set('accept', params.accept);
+    this.eduTextbook?.set('copyrightImgUrl', params.copyrightImgUrl);
+    this.eduTextbook?.set('CIPImgUrl', params.CIPImgUrl);
+    // this.opinions && this.eduTextbook?.set('opinions', this.opinions);
+    // this.authorSign && this.eduTextbook?.set('authorSign', this.authorSign);
     await this.eduTextbook?.save();
     return;
   }
+  upload(e: any, type: string) {
+    console.log(e);
+    let file = e[0];
+    if (type == 'copyrightImgUrl' || type == 'CIPImgUrl') {
+      this.validateForm.value[type] = file
+    }else if(type == 'moreMaterial'){
+        this.validateForm.value[type]=e
+
+      // if(this.validateForm.value[type]){
+      //   this.validateForm.value[type].push(file)
+      // }else{
+      //   this.validateForm.value[type]=[file]
+      // }
+    }
+  }
 }

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

@@ -67,7 +67,7 @@
         <nz-input-group>
           <nz-select [nzOptionOverflowSize]="nzOptionOverflowSize" nzShowSearch nzAllowClear nzPlaceHolder="输入所属本科专业类代码(四位)搜索所属学科" formControlName="majorPoniter">
             @for(major of selectList; track major.code;let index = $index){
-            <nz-option nzCustomContent [nzValue]="major.name" [nzLabel]="major.name">
+            <nz-option nzCustomContent [nzValue]="major.name" [nzLabel]="major.code">
               <div>{{ major.name }}</div>
               <div style="font-size: 12px;color: gray;">{{ major.code }}</div>
             </nz-option>
@@ -89,7 +89,7 @@
       </nz-form-control>
     </nz-form-item>
     <nz-form-item style="margin-bottom: 16px">
-      <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired>其他主编姓名</nz-form-label>
+      <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8">其他主编姓名</nz-form-label>
       <nz-form-control nzErrorTip="请输入其他主编姓名,使用「;」隔开" [nzSm]="12" [nzXs]="12">
         <nz-input-group>
           <textarea type="text" nz-input formControlName="authors" placeholder="请输入其他主编姓名,使用「;」隔开"></textarea>
@@ -97,7 +97,7 @@
       </nz-form-control>
     </nz-form-item>
     <nz-form-item style="margin-bottom: 16px">
-      <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired>其他编者姓名</nz-form-label>
+      <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8">其他编者姓名</nz-form-label>
       <nz-form-control nzErrorTip="请输入其他编者姓名,使用「;」隔开" [nzSm]="12" [nzXs]="12">
         <nz-input-group>
           <textarea type="text" nz-input formControlName="editor" placeholder="请输入其他编者姓名,使用「;」隔开"></textarea>
@@ -205,8 +205,8 @@
     </nz-form-item>
 
     <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-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired>初版以来合计印</nz-form-label>
+      <nz-form-control nzErrorTip="请输入初版以来合计印" [nzSm]="12" [nzXs]="12">
         <nz-input-group>
           <nz-input-group [nzSuffix]="suffixTemplateInfo02">
             <input type="number" formControlName="printSum" nz-input placeholder="输入合计印数" />
@@ -226,12 +226,12 @@
             @if (validateForm.value.importantProject == '其他省部级及以上项目') {
             <input type="text" formControlName="importantProjectOther" placeholder="请输入入选项目名称" nz-input />
             }
-            <label nz-radio nzValue="">否</label>
+            <label nz-radio nzValue="">否</label>
           </nz-radio-group>
         </nz-input-group>
       </nz-form-control>
     </nz-form-item>
-    <nz-form-item style="margin-bottom: 16px">
+    <!-- <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>
@@ -253,7 +253,7 @@
           </div>
         </nz-input-group>
       </nz-form-control>
-    </nz-form-item>
+    </nz-form-item> -->
   </form>
 </div>
 <div class="footer">

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

@@ -19,6 +19,7 @@ import {
 } from '@angular/forms';
 import { CompUploadComponent } from '../../../../app/comp-upload/comp-upload.component';
 import { NzInputModule } from 'ng-zorro-antd/input';
+import * as major from '../major'
 @Component({
   selector: 'app-basic',
   imports: [
@@ -90,13 +91,12 @@ export class BasicInComponent implements OnInit {
     printDate: FormControl<Date>; //最新印次时间
     printNumber: FormControl<number>; //最新印次
 
-    printSum: FormControl<number>; //初版以来合计印
+    printSum: FormControl<number>; //初版以来合计印
 
     importantProject: FormControl<string>; //初版以来是否列为重点项目
     importantProjectOther: FormControl<string>; //其他省部级及以上项目
     approvedImgUrl:FormControl<string>//重点立项教材获批截图
-    copyrightImgUrl: FormControl<string>; //版权页截图
-    CIPImgUrl: FormControl<string>; //中国版本图书馆CIP查询截图
+  
 
     // remember: FormControl<boolean>;
   }> = this.fb.group({
@@ -122,31 +122,14 @@ export class BasicInComponent implements OnInit {
     importantProject: ['', [Validators.required]],
     importantProjectOther: [''],
     approvedImgUrl:[''],
-    copyrightImgUrl: [''],
-    CIPImgUrl: [''],
+    // copyrightImgUrl: [''],
+    // CIPImgUrl: [''],
     // remember: [true],
   });
   /** 所属学科专业类显示数量*/
   nzOptionOverflowSize=5
   //教材应用对象及所诉学科专业类
-  selectList: Array<any> = [
-    {
-      name: '机械与工程',
-      code: 'M001',
-    },
-    {
-      name: '软件工程',
-      code: 'M002',
-    },
-    {        
-      name: '生物工程学',
-      code: 'M003',
-    },
-    {
-      name: '工商管理',
-      code: 'M004',
-    },
-  ];
+  selectList=major.major
   //语言选择
   selectLang: Array<any> = languages.options;
   //载体形式
@@ -160,7 +143,7 @@ export class BasicInComponent implements OnInit {
       code: 'Z002',
     },
     {
-      name: '其他教材',
+      name: '纸质教材附带电子资源',
       code: 'Z003',
     },
   ];
@@ -205,8 +188,8 @@ export class BasicInComponent implements OnInit {
   
       majorPoniter: [this.eduTextbook?.get('majorPoniter') || '', [Validators.required]],
       lang: [this.eduTextbook?.get('lang') || '', [Validators.required]],
-      authors: [this.eduTextbook?.get('authors') || '', [Validators.required]],
-      editor: [this.eduTextbook?.get('editor') || '', [Validators.required]],
+      authors: [this.eduTextbook?.get('authors') || '', ],
+      editor: [this.eduTextbook?.get('editor') || '',],
       approval: [this.eduTextbook?.get('approval') || '', [Validators.required]],
       editionUnit: [this.eduTextbook?.get('editionUnit') || '', [Validators.required]],
       editionFirst: [this.eduTextbook?.get('editionFirst') || new Date(), [Validators.required]],
@@ -219,8 +202,8 @@ export class BasicInComponent implements OnInit {
       importantProject: [this.eduTextbook?.get('importantProject') || '', [Validators.required]],
       importantProjectOther: [this.eduTextbook?.get('importantProjectOther') || ''],
       approvedImgUrl: [this.eduTextbook?.get('approvedImgUrl') || 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf', [Validators.required]],
-      copyrightImgUrl: [this.eduTextbook?.get('copyrightImgUrl') || 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf', [Validators.required]],
-      CIPImgUrl: [this.eduTextbook?.get('CIPImgUrl') || 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf', [Validators.required]],
+      // copyrightImgUrl: [this.eduTextbook?.get('copyrightImgUrl') || 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf', [Validators.required]],
+      // CIPImgUrl: [this.eduTextbook?.get('CIPImgUrl') || 'https://www.jyvtc.edu.cn/yssj/resource/cms/2022/01/2022010610314324023.pdf', [Validators.required]],
     });
     this.onChangeRadio()
   }
@@ -260,7 +243,8 @@ export class BasicInComponent implements OnInit {
   upload(e: any, type:string) {
     console.log(e);
     let file = e[0];
-    if(type == 'copyrightImgUrl' || type == 'CIPImgUrl' ||type=='approvedImgUrl'){
+    // if(type == 'copyrightImgUrl' || type == 'CIPImgUrl' ||type=='approvedImgUrl'){
+    if(type=='approvedImgUrl'){
       this.validateForm.value[type] = file
     }
   }
@@ -375,14 +359,14 @@ export class BasicInComponent implements OnInit {
     this.eduTextbook?.set('printSum', params.printSum);
     this.eduTextbook?.set('importantProject', params.importantProject);
     this.eduTextbook?.set('importantProjectOther', params.importantProjectOther);
-    this.eduTextbook?.set('copyrightImgUrl', params.copyrightImgUrl);
+    // this.eduTextbook?.set('copyrightImgUrl', params.copyrightImgUrl);
+    // this.eduTextbook?.set('CIPImgUrl', params.CIPImgUrl);
     this.eduTextbook?.set('approvedImgUrl',params.approvedImgUrl)
-    this.eduTextbook?.set('CIPImgUrl', params.CIPImgUrl);
     if(this.tbookSer.profile?.user?.department.objectId){
       this.eduTextbook?.set('department', {
         __type: 'Pointer',
         className: 'Department',
-        objectId: this.tbookSer.profile.user.department.objectId,
+        objectId: this.tbookSer?.profile?.user?.department?.objectId,
       });
     }
     await this.eduTextbook?.save();

+ 825 - 0
projects/textbook/src/modules/nav-author/components/major.ts

@@ -0,0 +1,825 @@
+ export {};
+ export const major = [
+
+    // category code name degreeCate age year 
+
+{category:'哲学类',code:'010101',name:'哲学',degreeCate:'哲学',age:'四年',year:''},
+{category:'哲学类',code:'010102',name:'逻辑学',degreeCate:'哲学',age:'四年',year:''},
+{category:'哲学类',code:'010103K',name:'宗教学',degreeCate:'哲学',age:'四年',year:''},
+{category:'哲学类',code:'010104T',name:'伦理学',degreeCate:'哲学',age:'四年',year:''},
+{category:'经济学类',code:'020101',name:'经济学',degreeCate:'经济学',age:'四年',year:''},
+{category:'经济学类',code:'020102',name:'经济统计学',degreeCate:'经济学',age:'四年',year:''},
+{category:'经济学类',code:'020103T',name:'国民经济管理',degreeCate:'经济学',age:'四年',year:''},
+{category:'经济学类',code:'020104T',name:'资源与环境经济学',degreeCate:'经济学',age:'四年',year:''},
+{category:'经济学类',code:'020105T',name:'商务经济学',degreeCate:'经济学',age:'四年',year:''},
+{category:'经济学类',code:'020106T',name:'能源经济',degreeCate:'经济学',age:'四年',year:''},
+{category:'经济学类',code:'020107T',name:'劳动经济学',degreeCate:'经济学',age:'四年',year:'2016'},
+{category:'经济学类',code:'020108T',name:'经济工程',degreeCate:'经济学',age:'四年',year:'2017'},
+{category:'经济学类',code:'020109T',name:'数字经济',degreeCate:'经济学',age:'四年',year:'2018'},
+{category:'财政学类',code:'020201K',name:'财政学',degreeCate:'经济学',age:'四年',year:''},
+{category:'财政学类',code:'020202',name:'税收学',degreeCate:'经济学',age:'四年',year:''},
+{category:'财政学类',code:'020203TK',name:'国际税收',degreeCate:'经济学',age:'四年',year:'2021'},
+{category:'金融学类',code:'020301K',name:'金融学',degreeCate:'经济学',age:'四年',year:''},
+{category:'金融学类',code:'020302',name:'金融工程',degreeCate:'经济学',age:'四年',year:''},
+{category:'金融学类',code:'020303',name:'保险学',degreeCate:'经济学',age:'四年',year:''},
+{category:'金融学类',code:'020304',name:'投资学',degreeCate:'经济学',age:'四年',year:''},
+{category:'金融学类',code:'020305T',name:'金融数学',degreeCate:'经济学',age:'四年',year:''},
+{category:'金融学类',code:'020306T',name:'信用管理',degreeCate:'管理学,经济学',age:'四年',year:''},
+{category:'金融学类',code:'020307T',name:'经济与金融',degreeCate:'经济学',age:'四年',year:''},
+{category:'金融学类',code:'020308T',name:'精算学',degreeCate:'理学,经济学',age:'四年',year:'2015'},
+{category:'金融学类',code:'020309T',name:'互联网金融',degreeCate:'经济学',age:'四年',year:'2016'},
+{category:'金融学类',code:'020310T',name:'金融科技',degreeCate:'经济学',age:'四年',year:'2017'},
+{category:'金融学类',code:'020311TK',name:'金融审计',degreeCate:'经济学',age:'四年',year:'2022'},
+{category:'经济与贸易类',code:'020401',name:'国际经济与贸易',degreeCate:'经济学',age:'四年',year:''},
+{category:'经济与贸易类',code:'020402',name:'贸易经济',degreeCate:'经济学',age:'四年',year:''},
+{category:'经济与贸易类',code:'020403T',name:'国际经济发展合作',degreeCate:'经济学',age:'四年',year:'2021'},
+{category:'法学类',code:'030101K',name:'法学',degreeCate:'法学',age:'四年',year:''},
+{category:'法学类',code:'030102T',name:'知识产权',degreeCate:'法学',age:'四年',year:''},
+{category:'法学类',code:'030103T',name:'监狱学',degreeCate:'法学',age:'四年',year:''},
+{category:'法学类',code:'030104T',name:'信用风险管理与法律防控',degreeCate:'法学',age:'四年',year:'2017'},
+{category:'法学类',code:'030105T',name:'国际经贸规则',degreeCate:'法学',age:'四年',year:'2017'},
+{category:'法学类',code:'030106TK',name:'司法警察学',degreeCate:'法学',age:'四年',year:'2018'},
+{category:'法学类',code:'030107TK',name:'社区矫正',degreeCate:'法学',age:'四年',year:'2018'},
+{category:'法学类',code:'030108TK',name:'纪检监察',degreeCate:'法学',age:'四年',year:'2021'},
+{category:'法学类',code:'030109TK',name:'国际法',degreeCate:'法学',age:'四年',year:'2022'},
+{category:'法学类',code:'030110TK',name:'司法鉴定学',degreeCate:'法学',age:'四年',year:'2022'},
+{category:'法学类',code:'030111TK',name:'国家安全学',degreeCate:'法学',age:'四年',year:'2023'},
+{category:'法学类',code:'030112TK',name:'海外利益安全',degreeCate:'法学',age:'四年',year:'2023'},
+{category:'政治学类',code:'030201',name:'政治学与行政学',degreeCate:'法学',age:'四年',year:''},
+{category:'政治学类',code:'030202',name:'国际政治',degreeCate:'法学',age:'四年',year:''},
+{category:'政治学类',code:'030203',name:'外交学',degreeCate:'法学',age:'四年',year:''},
+{category:'政治学类',code:'030204T',name:'国际事务与国际关系',degreeCate:'法学',age:'四年',year:''},
+{category:'政治学类',code:'030205T',name:'政治学、经济学与哲学',degreeCate:'法学',age:'四年',year:''},
+{category:'政治学类',code:'030206TK',name:'国际组织与全球治理',degreeCate:'法学',age:'四年',year:'2018'},
+{category:'社会学类',code:'030301',name:'社会学',degreeCate:'法学',age:'四年',year:''},
+{category:'社会学类',code:'030302',name:'社会工作',degreeCate:'法学',age:'四年',year:''},
+{category:'社会学类',code:'030303T',name:'人类学',degreeCate:'法学',age:'四年',year:''},
+{category:'社会学类',code:'030304T',name:'女性学',degreeCate:'法学',age:'四年',year:''},
+{category:'社会学类',code:'030305T',name:'家政学',degreeCate:'法学',age:'四年',year:''},
+{category:'社会学类',code:'030306T',name:'老年学',degreeCate:'法学',age:'四年',year:'2019'},
+{category:'社会学类',code:'030307T',name:'社会政策',degreeCate:'法学',age:'四年',year:'2020'},
+{category:'民族学类',code:'030401',name:'民族学',degreeCate:'法学',age:'四年',year:''},
+{category:'马克思主义理论类',code:'030501',name:'科学社会主义',degreeCate:'法学',age:'四年',year:''},
+{category:'马克思主义理论类',code:'030502',name:'中国共产党历史',degreeCate:'法学',age:'四年',year:''},
+{category:'马克思主义理论类',code:'030503',name:'思想政治教育',degreeCate:'法学',age:'四年',year:''},
+{category:'马克思主义理论类',code:'030504T',name:'马克思主义理论',degreeCate:'法学',age:'四年',year:'2017'},
+{category:'马克思主义理论类',code:'030505TK',name:'工会学',degreeCate:'法学',age:'四年',year:'2022'},
+{category:'公安学类',code:'030601K',name:'治安学',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030602K',name:'侦查学',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030603K',name:'边防管理',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030604TK',name:'禁毒学',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030605TK',name:'警犬技术',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030606TK',name:'经济犯罪侦查',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030607TK',name:'边防指挥',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030608TK',name:'消防指挥',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030609TK',name:'警卫学',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030610TK',name:'公安情报学',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030611TK',name:'犯罪学',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030612TK',name:'公安管理学',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030613TK',name:'涉外警务',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030614TK',name:'国内安全保卫',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030615TK',name:'警务指挥与战术',degreeCate:'法学',age:'四年',year:''},
+{category:'公安学类',code:'030616TK',name:'技术侦查学',degreeCate:'法学',age:'四年',year:'2016'},
+{category:'公安学类',code:'030617TK',name:'海警执法',degreeCate:'法学',age:'四年',year:'2016'},
+{category:'公安学类',code:'030618TK',name:'公安政治工作',degreeCate:'法学',age:'四年',year:'2018'},
+{category:'公安学类',code:'030619TK',name:'移民管理',degreeCate:'法学',age:'四年',year:'2018'},
+{category:'公安学类',code:'030620TK',name:'出入境管理',degreeCate:'法学',age:'四年',year:'2018'},
+{category:'公安学类',code:'030621TK',name:'反恐警务',degreeCate:'法学',age:'四年',year:'2020'},
+{category:'公安学类',code:'030622TK',name:'消防政治工作',degreeCate:'法学',age:'四年',year:'2020'},
+{category:'公安学类',code:'030623TK',name:'铁路警务',degreeCate:'法学',age:'四年',year:'2021'},
+{category:'教育学类',code:'040101',name:'教育学',degreeCate:'教育学',age:'四年',year:''},
+{category:'教育学类',code:'040102',name:'科学教育',degreeCate:'教育学',age:'四年',year:''},
+{category:'教育学类',code:'040103',name:'人文教育',degreeCate:'教育学',age:'四年',year:''},
+{category:'教育学类',code:'040104',name:'教育技术学',degreeCate:'工学,理学,教育学',age:'四年',year:''},
+{category:'教育学类',code:'040105',name:'艺术教育',degreeCate:'艺术学,教育学',age:'四年',year:''},
+{category:'教育学类',code:'040106',name:'学前教育',degreeCate:'教育学',age:'四年',year:''},
+{category:'教育学类',code:'040107',name:'小学教育',degreeCate:'教育学',age:'四年',year:''},
+{category:'教育学类',code:'040108',name:'特殊教育',degreeCate:'教育学',age:'四年',year:''},
+{category:'教育学类',code:'040109T',name:'华文教育',degreeCate:'教育学',age:'四年',year:''},
+{category:'教育学类',code:'040110TK',name:'教育康复学',degreeCate:'教育学',age:'四年',year:'2012'},
+{category:'教育学类',code:'040111T',name:'卫生教育',degreeCate:'教育学',age:'四年',year:'2016'},
+{category:'教育学类',code:'040112T',name:'认知科学与技术',degreeCate:'教育学',age:'四年',year:'2018'},
+{category:'教育学类',code:'040113T',name:'融合教育',degreeCate:'教育学',age:'四年',year:'2020'},
+{category:'教育学类',code:'040114TK',name:'劳动教育',degreeCate:'教育学',age:'四年',year:'2021'},
+{category:'教育学类',code:'040115T',name:'家庭教育',degreeCate:'教育学',age:'四年',year:'2022'},
+{category:'教育学类',code:'040116TK',name:'孤独症儿童教育',degreeCate:'教育学',age:'四年',year:'2022'},
+{category:'体育学类',code:'040201',name:'体育教育',degreeCate:'教育学',age:'四年',year:''},
+{category:'体育学类',code:'040202K',name:'运动训练',degreeCate:'教育学',age:'四年',year:''},
+{category:'体育学类',code:'040203',name:'社会体育指导与管理',degreeCate:'教育学',age:'四年',year:''},
+{category:'体育学类',code:'040204K',name:'武术与民族传统体育',degreeCate:'教育学',age:'四年',year:''},
+{category:'体育学类',code:'040205',name:'运动人体科学',degreeCate:'教育学',age:'四年',year:''},
+{category:'体育学类',code:'040206T',name:'运动康复',degreeCate:'理学,教育学',age:'四年',year:''},
+{category:'体育学类',code:'040207T',name:'休闲体育',degreeCate:'教育学',age:'四年',year:''},
+{category:'体育学类',code:'040208T',name:'体能训练',degreeCate:'教育学',age:'四年',year:'2017'},
+{category:'体育学类',code:'040209T',name:'冰雪运动',degreeCate:'教育学',age:'四年',year:'2017'},
+{category:'体育学类',code:'040210TK',name:'电子竞技运动与管理',degreeCate:'教育学',age:'四年',year:'2018'},
+{category:'体育学类',code:'040211TK',name:'智能体育工程',degreeCate:'工学,教育学',age:'四年',year:'2018'},
+{category:'体育学类',code:'040212TK',name:'体育旅游',degreeCate:'教育学',age:'四年',year:'2018'},
+{category:'体育学类',code:'040213T',name:'运动能力开发',degreeCate:'教育学,理学',age:'四年',year:'2019'},
+{category:'体育学类',code:'040214TK',name:'足球运动',degreeCate:'教育学',age:'四年',year:'2023'},
+{category:'体育学类',code:'040215TK',name:'马术运动与管理',degreeCate:'教育学',age:'四年',year:'2023'},
+{category:'体育学类',code:'040216T',name:'体育康养',degreeCate:'教育学',age:'四年',year:'2023'},
+{category:'中国语言文学类',code:'050101',name:'汉语言文学',degreeCate:'文学',age:'四年',year:''},
+{category:'中国语言文学类',code:'050102',name:'汉语言',degreeCate:'文学',age:'四年',year:''},
+{category:'中国语言文学类',code:'050103',name:'汉语国际教育',degreeCate:'文学',age:'四年',year:''},
+{category:'中国语言文学类',code:'050104',name:'中国少数民族语言文学',degreeCate:'文学',age:'四年',year:''},
+{category:'中国语言文学类',code:'050105',name:'古典文献学',degreeCate:'文学',age:'四年',year:''},
+{category:'中国语言文学类',code:'050106T',name:'应用语言学',degreeCate:'文学',age:'四年',year:''},
+{category:'中国语言文学类',code:'050107T',name:'秘书学',degreeCate:'文学',age:'四年',year:''},
+{category:'中国语言文学类',code:'050108T',name:'中国语言与文化',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'中国语言文学类',code:'050109T',name:'手语翻译',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'中国语言文学类',code:'050110T',name:'数字人文',degreeCate:'文学',age:'四年',year:'2022'},
+{category:'中国语言文学类',code:'050111T',name:'中国古典学',degreeCate:'文学',age:'四年',year:'2023'},
+{category:'中国语言文学类',code:'050112T',name:'汉学与中国学',degreeCate:'文学',age:'四年',year:'2023'},
+{category:'中国语言文学类',code:'050113T',name:'应用中文',degreeCate:'文学',age:'四年',year:'2023'},
+{category:'外国语言文学类',code:'050201',name:'英语',degreeCate:'文学',age:'四年,五年',year:''},
+{category:'外国语言文学类',code:'050202',name:'俄语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050203',name:'德语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050204',name:'法语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050205',name:'西班牙语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050206',name:'阿拉伯语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050207',name:'日语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050208',name:'波斯语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050209',name:'朝鲜语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050210',name:'菲律宾语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050211',name:'梵语巴利语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050212',name:'印度尼西亚语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050213',name:'印地语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050214',name:'柬埔寨语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050215',name:'老挝语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050216',name:'缅甸语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050217',name:'马来语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050218',name:'蒙古语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050219',name:'僧伽罗语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050220',name:'泰语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050221',name:'乌尔都语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050222',name:'希伯来语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050223',name:'越南语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050224',name:'豪萨语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050225',name:'斯瓦希里语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050226',name:'阿尔巴尼亚语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050227',name:'保加利亚语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050228',name:'波兰语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050229',name:'捷克语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050230',name:'斯洛伐克语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050231',name:'罗马尼亚语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050232',name:'葡萄牙语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050233',name:'瑞典语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050234',name:'塞尔维亚语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050235',name:'土耳其语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050236',name:'希腊语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050237',name:'匈牙利语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050238',name:'意大利语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050239',name:'泰米尔语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050240',name:'普什图语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050241',name:'世界语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050242',name:'孟加拉语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050243',name:'尼泊尔语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050244',name:'克罗地亚语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050245',name:'荷兰语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050246',name:'芬兰语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050247',name:'乌克兰语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050248',name:'挪威语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050249',name:'丹麦语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050250',name:'冰岛语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050251',name:'爱尔兰语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050252',name:'拉脱维亚语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050253',name:'立陶宛语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050254',name:'斯洛文尼亚语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050255',name:'爱沙尼亚语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050256',name:'马耳他语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050257',name:'哈萨克语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050258',name:'乌兹别克语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050259',name:'祖鲁语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050260',name:'拉丁语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050261',name:'翻译',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050262',name:'商务英语',degreeCate:'文学',age:'四年',year:''},
+{category:'外国语言文学类',code:'050263T',name:'阿姆哈拉语',degreeCate:'文学',age:'四年',year:'2012'},
+{category:'外国语言文学类',code:'050264T',name:'吉尔吉斯语',degreeCate:'文学',age:'四年',year:'2012'},
+{category:'外国语言文学类',code:'050265T',name:'索马里语',degreeCate:'文学',age:'四年',year:'2013'},
+{category:'外国语言文学类',code:'050266T',name:'土库曼语',degreeCate:'文学',age:'四年',year:'2014'},
+{category:'外国语言文学类',code:'050267T',name:'加泰罗尼亚语',degreeCate:'文学',age:'四年',year:'2014'},
+{category:'外国语言文学类',code:'050268T',name:'约鲁巴语',degreeCate:'文学',age:'四年',year:'2014'},
+{category:'外国语言文学类',code:'050269T',name:'亚美尼亚语',degreeCate:'文学',age:'四年',year:'2015'},
+{category:'外国语言文学类',code:'050270T',name:'马达加斯加语',degreeCate:'文学',age:'四年',year:'2015'},
+{category:'外国语言文学类',code:'050271T',name:'格鲁吉亚语',degreeCate:'文学',age:'四年',year:'2015'},
+{category:'外国语言文学类',code:'050272T',name:'阿塞拜疆语',degreeCate:'文学',age:'四年',year:'2015'},
+{category:'外国语言文学类',code:'050273T',name:'阿非利卡语',degreeCate:'文学',age:'四年',year:'2015'},
+{category:'外国语言文学类',code:'050274T',name:'马其顿语',degreeCate:'文学',age:'四年',year:'2015'},
+{category:'外国语言文学类',code:'050275T',name:'塔吉克语',degreeCate:'文学',age:'四年',year:'2015'},
+{category:'外国语言文学类',code:'050276T',name:'茨瓦纳语',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'外国语言文学类',code:'050277T',name:'恩德贝莱语',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'外国语言文学类',code:'050278T',name:'科摩罗语',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'外国语言文学类',code:'050279T',name:'克里奥尔语',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'外国语言文学类',code:'050280T',name:'绍纳语',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'外国语言文学类',code:'050281T',name:'提格雷尼亚语',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'外国语言文学类',code:'050282T',name:'白俄罗斯语',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'外国语言文学类',code:'050283T',name:'毛利语',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'外国语言文学类',code:'050284T',name:'汤加语',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'外国语言文学类',code:'050285T',name:'萨摩亚语',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'外国语言文学类',code:'050286T',name:'库尔德语',degreeCate:'文学',age:'四年',year:'2016'},
+{category:'外国语言文学类',code:'050287T',name:'比斯拉马语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050288T',name:'达里语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050289T',name:'德顿语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050290T',name:'迪维希语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050291T',name:'斐济语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050292T',name:'库克群岛毛利语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050293T',name:'隆迪语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050294T',name:'卢森堡语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050295T',name:'卢旺达语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050296T',name:'纽埃语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050297T',name:'皮金语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050298T',name:'切瓦语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050299T',name:'塞苏陀语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'050200T',name:'桑戈语',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'外国语言文学类',code:'0502100T',name:'语言学',degreeCate:'文学',age:'四年',year:'2018'},
+{category:'外国语言文学类',code:'0502101T',name:'塔玛齐格特语',degreeCate:'文学',age:'四年',year:'2018'},
+{category:'外国语言文学类',code:'0502102T',name:'爪哇语',degreeCate:'文学',age:'四年',year:'2018'},
+{category:'外国语言文学类',code:'0502103T',name:'旁遮普语',degreeCate:'文学',age:'四年',year:'2018'},
+{category:'新闻传播学类',code:'050301',name:'新闻学',degreeCate:'文学',age:'四年',year:''},
+{category:'新闻传播学类',code:'050302',name:'广播电视学',degreeCate:'文学',age:'四年',year:''},
+{category:'新闻传播学类',code:'050303',name:'广告学',degreeCate:'文学',age:'四年',year:''},
+{category:'新闻传播学类',code:'050304',name:'传播学',degreeCate:'文学',age:'四年',year:''},
+{category:'新闻传播学类',code:'050305',name:'编辑出版学',degreeCate:'文学',age:'四年',year:''},
+{category:'新闻传播学类',code:'050306T',name:'网络与新媒体',degreeCate:'文学',age:'四年',year:''},
+{category:'新闻传播学类',code:'050307T',name:'数字出版',degreeCate:'文学',age:'四年',year:''},
+{category:'新闻传播学类',code:'050308T',name:'时尚传播',degreeCate:'文学',age:'四年',year:'2017'},
+{category:'新闻传播学类',code:'050309T',name:'国际新闻与传播',degreeCate:'文学',age:'四年',year:'2018'},
+{category:'新闻传播学类',code:'050310T',name:'会展',degreeCate:'管理学,文学',age:'四年',year:'2019'},
+{category:'历史学类',code:'060101',name:'历史学',degreeCate:'历史学',age:'四年',year:''},
+{category:'历史学类',code:'060102',name:'世界史',degreeCate:'历史学',age:'四年',year:''},
+{category:'历史学类',code:'060103',name:'考古学',degreeCate:'历史学',age:'四年',year:''},
+{category:'历史学类',code:'060104',name:'文物与博物馆学',degreeCate:'历史学',age:'四年',year:''},
+{category:'历史学类',code:'060105T',name:'文物保护技术',degreeCate:'历史学',age:'四年',year:''},
+{category:'历史学类',code:'060106T',name:'外国语言与外国历史',degreeCate:'文学,历史学',age:'四年',year:''},
+{category:'历史学类',code:'060107T',name:'文化遗产',degreeCate:'历史学',age:'四年',year:'2015'},
+{category:'历史学类',code:'060108T',name:'古文字学',degreeCate:'历史学',age:'四年',year:'2020'},
+{category:'历史学类',code:'060109T',name:'科学史',degreeCate:'历史学',age:'四年',year:'2021'},
+{category:'数学类',code:'070101',name:'数学与应用数学',degreeCate:'理学',age:'四年',year:''},
+{category:'数学类',code:'070102',name:'信息与计算科学',degreeCate:'理学',age:'四年',year:''},
+{category:'数学类',code:'070103T',name:'数理基础科学',degreeCate:'理学',age:'四年',year:''},
+{category:'数学类',code:'070104T',name:'数据计算及应用',degreeCate:'理学',age:'四年',year:'2018'},
+{category:'物理学类',code:'070201',name:'物理学',degreeCate:'理学',age:'四年',year:''},
+{category:'物理学类',code:'070202',name:'应用物理学',degreeCate:'理学',age:'四年',year:''},
+{category:'物理学类',code:'070203',name:'核物理',degreeCate:'理学',age:'四年',year:''},
+{category:'物理学类',code:'070204T',name:'声学',degreeCate:'理学',age:'四年',year:''},
+{category:'物理学类',code:'070205T',name:'系统科学与工程',degreeCate:'理学',age:'四年',year:'2017'},
+{category:'物理学类',code:'070206T',name:'量子信息科学',degreeCate:'理学',age:'四年',year:'2020'},
+{category:'化学类',code:'070301',name:'化学',degreeCate:'理学',age:'四年',year:''},
+{category:'化学类',code:'070302',name:'应用化学',degreeCate:'工学,理学',age:'四年',year:''},
+{category:'化学类',code:'070303T',name:'化学生物学',degreeCate:'理学',age:'四年',year:''},
+{category:'化学类',code:'070304T',name:'分子科学与工程',degreeCate:'理学',age:'四年',year:''},
+{category:'化学类',code:'070305T',name:'能源化学',degreeCate:'理学',age:'四年',year:'2015'},
+{category:'化学类',code:'070306T',name:'化学测量学与技术',degreeCate:'理学',age:'四年',year:'2020'},
+{category:'化学类',code:'070307T',name:'资源化学',degreeCate:'理学',age:'四年',year:'2022'},
+{category:'天文学类',code:'070401',name:'天文学',degreeCate:'理学',age:'四年',year:''},
+{category:'地理科学类',code:'070501',name:'地理科学',degreeCate:'理学',age:'四年',year:''},
+{category:'地理科学类',code:'070502',name:'自然地理与资源环境',degreeCate:'管理学,理学',age:'四年',year:''},
+{category:'地理科学类',code:'070503',name:'人文地理与城乡规划',degreeCate:'管理学,理学',age:'四年',year:''},
+{category:'地理科学类',code:'070504',name:'地理信息科学',degreeCate:'理学',age:'四年',year:''},
+{category:'大气科学类',code:'070601',name:'大气科学',degreeCate:'理学',age:'四年',year:''},
+{category:'大气科学类',code:'070602',name:'应用气象学',degreeCate:'理学',age:'四年',year:''},
+{category:'大气科学类',code:'070603T',name:'气象技术与工程',degreeCate:'理学,工学',age:'四年',year:'2020'},
+{category:'大气科学类',code:'070604T',name:'地球系统科学',degreeCate:'理学',age:'四年',year:'2022'},
+{category:'海洋科学类',code:'070701',name:'海洋科学',degreeCate:'理学',age:'四年',year:''},
+{category:'海洋科学类',code:'070702',name:'海洋技术',degreeCate:'工学,理学',age:'四年',year:''},
+{category:'海洋科学类',code:'070703T',name:'海洋资源与环境',degreeCate:'理学',age:'四年',year:''},
+{category:'海洋科学类',code:'070704T',name:'军事海洋学',degreeCate:'理学',age:'四年',year:''},
+{category:'地球物理学类',code:'070801',name:'地球物理学',degreeCate:'理学',age:'四年',year:''},
+{category:'地球物理学类',code:'070802',name:'空间科学与技术',degreeCate:'工学,理学',age:'四年',year:''},
+{category:'地球物理学类',code:'070803T',name:'防灾减灾科学与工程',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'地球物理学类',code:'070804TK',name:'行星科学',degreeCate:'理学',age:'四年',year:'2021'},
+{category:'地质学类',code:'070901',name:'地质学',degreeCate:'理学',age:'四年',year:''},
+{category:'地质学类',code:'070902',name:'地球化学',degreeCate:'理学',age:'四年',year:''},
+{category:'地质学类',code:'070903T',name:'地球信息科学与技术',degreeCate:'工学,理学',age:'四年',year:''},
+{category:'地质学类',code:'070904T',name:'古生物学',degreeCate:'理学',age:'四年',year:''},
+{category:'生物科学类',code:'071001',name:'生物科学',degreeCate:'理学',age:'四年',year:''},
+{category:'生物科学类',code:'071002',name:'生物技术',degreeCate:'工学,理学',age:'四年',year:''},
+{category:'生物科学类',code:'071003',name:'生物信息学',degreeCate:'工学,理学',age:'四年',year:''},
+{category:'生物科学类',code:'071004',name:'生态学',degreeCate:'理学',age:'四年',year:''},
+{category:'生物科学类',code:'071005T',name:'整合科学',degreeCate:'理学',age:'四年',year:'2016'},
+{category:'生物科学类',code:'071006T',name:'神经科学',degreeCate:'理学',age:'四年',year:'2016'},
+{category:'心理学类',code:'071101',name:'心理学',degreeCate:'教育学,理学',age:'四年',year:''},
+{category:'心理学类',code:'071102',name:'应用心理学',degreeCate:'教育学,理学',age:'四年',year:''},
+{category:'统计学类',code:'071201',name:'统计学',degreeCate:'理学',age:'四年',year:''},
+{category:'统计学类',code:'071202',name:'应用统计学',degreeCate:'理学',age:'四年',year:''},
+{category:'统计学类',code:'071203T',name:'数据科学',degreeCate:'理学',age:'四年',year:'2022'},
+{category:'统计学类',code:'071204T',name:'生物统计学',degreeCate:'理学',age:'四年',year:'2022'},
+{category:'力学类',code:'080101',name:'理论与应用力学',degreeCate:'理学,工学',age:'四年',year:''},
+{category:'力学类',code:'080102',name:'工程力学',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080201',name:'机械工程',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080202',name:'机械设计制造及其自动化',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080203',name:'材料成型及控制工程',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080204',name:'机械电子工程',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080205',name:'工业设计',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080206',name:'过程装备与控制工程',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080207',name:'车辆工程',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080208',name:'汽车服务工程',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080209T',name:'机械工艺技术',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080210T',name:'微机电系统工程',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080211T',name:'机电技术教育',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080212T',name:'汽车维修工程教育',degreeCate:'工学',age:'四年',year:''},
+{category:'机械类',code:'080213T',name:'智能制造工程',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'机械类',code:'080214T',name:'智能车辆工程',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'机械类',code:'080215T',name:'仿生科学与工程',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'机械类',code:'080216T',name:'新能源汽车工程',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'机械类',code:'080217T',name:'增材制造工程',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'机械类',code:'080218T',name:'智能交互设计',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'机械类',code:'080219T',name:'应急装备技术与工程',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'机械类',code:'080220T',name:'农林智能装备工程',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'仪器类',code:'080301',name:'测控技术与仪器',degreeCate:'工学',age:'四年',year:''},
+{category:'仪器类',code:'080302T',name:'精密仪器',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'仪器类',code:'080303T',name:'智能感知工程',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'材料类',code:'080401',name:'材料科学与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'材料类',code:'080402',name:'材料物理',degreeCate:'理学,工学',age:'四年',year:''},
+{category:'材料类',code:'080403',name:'材料化学',degreeCate:'理学,工学',age:'四年',year:''},
+{category:'材料类',code:'080404',name:'冶金工程',degreeCate:'工学',age:'四年',year:''},
+{category:'材料类',code:'080405',name:'金属材料工程',degreeCate:'工学',age:'四年',year:''},
+{category:'材料类',code:'080406',name:'无机非金属材料工程',degreeCate:'工学',age:'四年',year:''},
+{category:'材料类',code:'080407',name:'高分子材料与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'材料类',code:'080408',name:'复合材料与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'材料类',code:'080409T',name:'粉体材料科学与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'材料类',code:'080410T',name:'宝石及材料工艺学',degreeCate:'工学',age:'四年',year:''},
+{category:'材料类',code:'080411T',name:'焊接技术与工程',degreeCate:'工学',age:'五年,四年',year:''},
+{category:'材料类',code:'080412T',name:'功能材料',degreeCate:'工学',age:'四年',year:''},
+{category:'材料类',code:'080413T',name:'纳米材料与技术',degreeCate:'工学',age:'四年',year:''},
+{category:'材料类',code:'080414T',name:'新能源材料与器件',degreeCate:'工学',age:'四年',year:''},
+{category:'材料类',code:'080415T',name:'材料设计科学与工程',degreeCate:'工学',age:'四年',year:'2015'},
+{category:'材料类',code:'080416T',name:'复合材料成型工程',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'材料类',code:'080417T',name:'智能材料与结构',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'材料类',code:'080418T',name:'光电信息材料与器件',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'材料类',code:'080419T',name:'生物材料',degreeCate:'工学',age:'四年',year:'2022'},
+{category:'材料类',code:'080420T',name:'材料智能技术',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'材料类',code:'080421T',name:'电子信息材料',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'材料类',code:'080422T',name:'软物质科学与工程',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'材料类',code:'080423T',name:'稀土材料科学与工程',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'能源动力类',code:'080501',name:'能源与动力工程',degreeCate:'工学',age:'四年',year:''},
+{category:'能源动力类',code:'080502T',name:'能源与环境系统工程',degreeCate:'工学',age:'四年',year:''},
+{category:'能源动力类',code:'080503T',name:'新能源科学与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'能源动力类',code:'080504T',name:'储能科学与工程',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'能源动力类',code:'080505T',name:'能源服务工程',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'能源动力类',code:'080506TK',name:'氢能科学与工程',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'能源动力类',code:'080507TK',name:'可持续能源',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'电气类',code:'080601',name:'电气工程及其自动化',degreeCate:'工学',age:'四年',year:''},
+{category:'电气类',code:'080602T',name:'智能电网信息工程',degreeCate:'工学',age:'四年',year:''},
+{category:'电气类',code:'080603T',name:'光源与照明',degreeCate:'工学',age:'四年',year:''},
+{category:'电气类',code:'080604T',name:'电气工程与智能控制',degreeCate:'工学',age:'四年',year:''},
+{category:'电气类',code:'080605T',name:'电机电器智能化',degreeCate:'工学',age:'四年',year:'2016'},
+{category:'电气类',code:'080606T',name:'电缆工程',degreeCate:'工学',age:'四年',year:'2016'},
+{category:'电气类',code:'080607T',name:'能源互联网工程',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'电气类',code:'080608TK',name:'智慧能源工程',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'电气类',code:'080609T',name:'电动载运工程',degreeCate:'工学',age:'四年',year:'2022'},
+{category:'电气类',code:'080610TK',name:'大功率半导体科学与工程',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'电子信息类',code:'080701',name:'电子信息工程',degreeCate:'理学,工学',age:'四年',year:''},
+{category:'电子信息类',code:'080702',name:'电子科学与技术',degreeCate:'理学,工学',age:'四年',year:''},
+{category:'电子信息类',code:'080703',name:'通信工程',degreeCate:'工学',age:'四年',year:''},
+{category:'电子信息类',code:'080704',name:'微电子科学与工程',degreeCate:'理学,工学',age:'四年',year:''},
+{category:'电子信息类',code:'080705',name:'光电信息科学与工程',degreeCate:'理学,工学',age:'四年',year:''},
+{category:'电子信息类',code:'080706',name:'信息工程',degreeCate:'工学',age:'四年',year:''},
+{category:'电子信息类',code:'080707T',name:'广播电视工程',degreeCate:'工学',age:'四年',year:''},
+{category:'电子信息类',code:'080708T',name:'水声工程',degreeCate:'工学',age:'四年',year:''},
+{category:'电子信息类',code:'080709T',name:'电子封装技术',degreeCate:'工学',age:'四年',year:''},
+{category:'电子信息类',code:'080710T',name:'集成电路设计与集成系统',degreeCate:'工学',age:'四年',year:''},
+{category:'电子信息类',code:'080711T',name:'医学信息工程',degreeCate:'工学',age:'四年',year:''},
+{category:'电子信息类',code:'080712T',name:'电磁场与无线技术',degreeCate:'工学',age:'四年',year:''},
+{category:'电子信息类',code:'080713T',name:'电波传播与天线',degreeCate:'工学',age:'四年',year:''},
+{category:'电子信息类',code:'080714T',name:'电子信息科学与技术',degreeCate:'理学,工学',age:'四年',year:''},
+{category:'电子信息类',code:'080715T',name:'电信工程及管理',degreeCate:'工学',age:'四年',year:''},
+{category:'电子信息类',code:'080716T',name:'应用电子技术教育',degreeCate:'工学',age:'四年',year:''},
+{category:'电子信息类',code:'080717T',name:'人工智能',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'电子信息类',code:'080718T',name:'海洋信息工程',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'电子信息类',code:'080719T',name:'柔性电子学',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'电子信息类',code:'080720T',name:'智能测控工程',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'电子信息类',code:'080721T',name:'智能视觉工程',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'自动化类',code:'080801',name:'自动化',degreeCate:'工学',age:'四年',year:''},
+{category:'自动化类',code:'080802T',name:'轨道交通信号与控制',degreeCate:'工学',age:'四年',year:''},
+{category:'自动化类',code:'080803T',name:'机器人工程',degreeCate:'工学',age:'四年',year:'2015'},
+{category:'自动化类',code:'080804T',name:'邮政工程',degreeCate:'工学',age:'四年',year:'2016'},
+{category:'自动化类',code:'080805T',name:'核电技术与控制工程',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'自动化类',code:'080806T',name:'智能装备与系统',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'自动化类',code:'080807T',name:'工业智能',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'自动化类',code:'080808T',name:'智能工程与创意设计',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'计算机类',code:'080901',name:'计算机科学与技术',degreeCate:'理学,工学',age:'四年',year:''},
+{category:'计算机类',code:'080902',name:'软件工程',degreeCate:'工学',age:'四年',year:''},
+{category:'计算机类',code:'080903',name:'网络工程',degreeCate:'工学',age:'四年',year:''},
+{category:'计算机类',code:'080904K',name:'信息安全',degreeCate:'管理学,理学,工学',age:'四年',year:''},
+{category:'计算机类',code:'080905',name:'物联网工程',degreeCate:'工学',age:'四年',year:''},
+{category:'计算机类',code:'080906',name:'数字媒体技术',degreeCate:'工学',age:'四年',year:''},
+{category:'计算机类',code:'080907T',name:'智能科学与技术',degreeCate:'理学,工学',age:'四年',year:''},
+{category:'计算机类',code:'080908T',name:'空间信息与数字技术',degreeCate:'工学',age:'四年',year:''},
+{category:'计算机类',code:'080909T',name:'电子与计算机工程',degreeCate:'工学',age:'四年',year:''},
+{category:'计算机类',code:'080910T',name:'数据科学与大数据技术',degreeCate:'理学,工学',age:'四年',year:'2015'},
+{category:'计算机类',code:'080911TK',name:'网络空间安全',degreeCate:'工学',age:'四年',year:'2015'},
+{category:'计算机类',code:'080912T',name:'新媒体技术',degreeCate:'工学',age:'四年',year:'2016'},
+{category:'计算机类',code:'080913T',name:'电影制作',degreeCate:'工学',age:'四年',year:'2016'},
+{category:'计算机类',code:'080914TK',name:'保密技术',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'计算机类',code:'080915T',name:'服务科学与工程',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'计算机类',code:'080916T',name:'虚拟现实技术',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'计算机类',code:'080917T',name:'区块链工程',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'计算机类',code:'080918TK',name:'密码科学与技术',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'土木类',code:'081001',name:'土木工程',degreeCate:'工学',age:'四年',year:''},
+{category:'土木类',code:'081002',name:'建筑环境与能源应用工程',degreeCate:'工学',age:'四年',year:''},
+{category:'土木类',code:'081003',name:'给排水科学与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'土木类',code:'081004',name:'建筑电气与智能化',degreeCate:'工学',age:'四年',year:''},
+{category:'土木类',code:'081005T',name:'城市地下空间工程',degreeCate:'工学',age:'四年',year:''},
+{category:'土木类',code:'081006T',name:'道路桥梁与渡河工程',degreeCate:'工学',age:'四年',year:''},
+{category:'土木类',code:'081007T',name:'铁道工程',degreeCate:'工学',age:'四年',year:'2014'},
+{category:'土木类',code:'081008T',name:'智能建造',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'土木类',code:'081009T',name:'土木、水利与海洋工程',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'土木类',code:'081010T',name:'土木、水利与交通工程',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'土木类',code:'081011T',name:'城市水系统工程',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'土木类',code:'081012T',name:'智能建造与智慧交通',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'土木类',code:'081013T',name:'工程软件',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'水利类',code:'081101',name:'水利水电工程',degreeCate:'工学',age:'四年',year:''},
+{category:'水利类',code:'081102',name:'水文与水资源工程',degreeCate:'工学',age:'四年',year:''},
+{category:'水利类',code:'081103',name:'港口航道与海岸工程',degreeCate:'工学',age:'四年',year:''},
+{category:'水利类',code:'081104T',name:'水务工程',degreeCate:'工学',age:'四年',year:''},
+{category:'水利类',code:'081105T',name:'水利科学与工程',degreeCate:'工学',age:'四年',year:'2015'},
+{category:'水利类',code:'081106T',name:'智慧水利',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'测绘类',code:'081201',name:'测绘工程',degreeCate:'工学',age:'四年',year:''},
+{category:'测绘类',code:'081202',name:'遥感科学与技术',degreeCate:'工学',age:'四年',year:''},
+{category:'测绘类',code:'081203T',name:'导航工程',degreeCate:'工学',age:'四年',year:''},
+{category:'测绘类',code:'081204T',name:'地理国情监测',degreeCate:'工学',age:'四年',year:''},
+{category:'测绘类',code:'081205T',name:'地理空间信息工程',degreeCate:'工学',age:'四年',year:'2015'},
+{category:'化工与制药类',code:'081301',name:'化学工程与工艺',degreeCate:'工学',age:'四年',year:''},
+{category:'化工与制药类',code:'081302',name:'制药工程',degreeCate:'工学',age:'四年',year:''},
+{category:'化工与制药类',code:'081303T',name:'资源循环科学与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'化工与制药类',code:'081304T',name:'能源化学工程',degreeCate:'工学',age:'四年',year:''},
+{category:'化工与制药类',code:'081305T',name:'化学工程与工业生物工程',degreeCate:'工学',age:'四年',year:''},
+{category:'化工与制药类',code:'081306T',name:'化工安全工程',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'化工与制药类',code:'081307T',name:'涂料工程',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'化工与制药类',code:'081308T',name:'精细化工',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'地质类',code:'081401',name:'地质工程',degreeCate:'工学',age:'四年',year:''},
+{category:'地质类',code:'081402',name:'勘查技术与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'地质类',code:'081403K',name:'资源勘查工程',degreeCate:'工学',age:'四年',year:'2024年起调整为国控'},
+{category:'地质类',code:'081404T',name:'地下水科学与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'地质类',code:'081405T',name:'旅游地学与规划工程',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'地质类',code:'081406T',name:'智能地球探测',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'地质类',code:'081407T',name:'资源环境大数据工程',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'矿业类',code:'081501',name:'采矿工程',degreeCate:'工学',age:'四年',year:''},
+{category:'矿业类',code:'081502',name:'石油工程',degreeCate:'工学',age:'四年',year:''},
+{category:'矿业类',code:'081503',name:'矿物加工工程',degreeCate:'工学',age:'四年',year:''},
+{category:'矿业类',code:'081504',name:'油气储运工程',degreeCate:'工学',age:'四年',year:''},
+{category:'矿业类',code:'081505T',name:'矿物资源工程',degreeCate:'工学',age:'四年',year:''},
+{category:'矿业类',code:'081506T',name:'海洋油气工程',degreeCate:'工学',age:'四年',year:''},
+{category:'矿业类',code:'081507T',name:'智能采矿工程',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'矿业类',code:'081508TK',name:'碳储科学与工程',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'纺织类',code:'081601',name:'纺织工程',degreeCate:'工学',age:'四年',year:''},
+{category:'纺织类',code:'081602',name:'服装设计与工程',degreeCate:'艺术学,工学',age:'四年',year:''},
+{category:'纺织类',code:'081603T',name:'非织造材料与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'纺织类',code:'081604T',name:'服装设计与工艺教育',degreeCate:'工学',age:'四年',year:''},
+{category:'纺织类',code:'081605T',name:'丝绸设计与工程',degreeCate:'工学',age:'四年',year:'2016'},
+{category:'轻工类',code:'081701',name:'轻化工程',degreeCate:'工学',age:'四年',year:''},
+{category:'轻工类',code:'081702',name:'包装工程',degreeCate:'工学',age:'四年',year:''},
+{category:'轻工类',code:'081703',name:'印刷工程',degreeCate:'工学',age:'四年',year:''},
+{category:'轻工类',code:'081704T',name:'香料香精技术与工程',degreeCate:'工学',age:'四年',year:'2016'},
+{category:'轻工类',code:'081705T',name:'化妆品技术与工程',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'轻工类',code:'081706TK',name:'生物质能源与材料',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'交通运输类',code:'081801',name:'交通运输',degreeCate:'工学',age:'四年',year:''},
+{category:'交通运输类',code:'081802',name:'交通工程',degreeCate:'工学',age:'四年',year:''},
+{category:'交通运输类',code:'081803K',name:'航海技术',degreeCate:'工学',age:'四年',year:''},
+{category:'交通运输类',code:'081804K',name:'轮机工程',degreeCate:'工学',age:'四年',year:''},
+{category:'交通运输类',code:'081805K',name:'飞行技术',degreeCate:'工学',age:'四年',year:''},
+{category:'交通运输类',code:'081806T',name:'交通设备与控制工程',degreeCate:'工学',age:'四年',year:''},
+{category:'交通运输类',code:'081807T',name:'救助与打捞工程',degreeCate:'工学',age:'四年',year:''},
+{category:'交通运输类',code:'081808TK',name:'船舶电子电气工程',degreeCate:'工学',age:'四年',year:''},
+{category:'交通运输类',code:'081809T',name:'轨道交通电气与控制',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'交通运输类',code:'081810T',name:'邮轮工程与管理',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'交通运输类',code:'081811T',name:'智慧交通',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'交通运输类',code:'081812T',name:'智能运输工程',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'海洋工程类',code:'081901',name:'船舶与海洋工程',degreeCate:'工学',age:'四年',year:''},
+{category:'海洋工程类',code:'081902T',name:'海洋工程与技术',degreeCate:'工学',age:'四年',year:''},
+{category:'海洋工程类',code:'081903T',name:'海洋资源开发技术',degreeCate:'工学',age:'四年',year:''},
+{category:'海洋工程类',code:'081904T',name:'海洋机器人',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'海洋工程类',code:'081905T',name:'智慧海洋技术',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'海洋工程类',code:'081906T',name:'智能海洋装备',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'航空航天类',code:'082001',name:'航空航天工程',degreeCate:'工学',age:'四年',year:''},
+{category:'航空航天类',code:'082002',name:'飞行器设计与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'航空航天类',code:'082003',name:'飞行器制造工程',degreeCate:'工学',age:'四年',year:''},
+{category:'航空航天类',code:'082004',name:'飞行器动力工程',degreeCate:'工学',age:'四年',year:''},
+{category:'航空航天类',code:'082005',name:'飞行器环境与生命保障工程',degreeCate:'工学',age:'四年',year:''},
+{category:'航空航天类',code:'082006T',name:'飞行器质量与可靠性',degreeCate:'工学',age:'四年',year:''},
+{category:'航空航天类',code:'082007T',name:'飞行器适航技术',degreeCate:'工学',age:'四年',year:''},
+{category:'航空航天类',code:'082008T',name:'飞行器控制与信息工程',degreeCate:'工学',age:'四年',year:'2015'},
+{category:'航空航天类',code:'082009T',name:'无人驾驶航空器系统工程',degreeCate:'工学',age:'四年',year:'2016'},
+{category:'航空航天类',code:'082010T',name:'智能飞行器技术',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'航空航天类',code:'082011T',name:'空天智能电推进技术',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'航空航天类',code:'082012T',name:'飞行器运维工程',degreeCate:'工学',age:'四年',year:'2022'},
+{category:'兵器类',code:'082101',name:'武器系统与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'兵器类',code:'082102',name:'武器发射工程',degreeCate:'工学',age:'四年',year:''},
+{category:'兵器类',code:'082103',name:'探测制导与控制技术',degreeCate:'工学',age:'四年',year:''},
+{category:'兵器类',code:'082104',name:'弹药工程与爆炸技术',degreeCate:'工学',age:'四年',year:''},
+{category:'兵器类',code:'082105',name:'特种能源技术与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'兵器类',code:'082106',name:'装甲车辆工程',degreeCate:'工学',age:'四年',year:''},
+{category:'兵器类',code:'082107',name:'信息对抗技术',degreeCate:'工学',age:'四年',year:''},
+{category:'兵器类',code:'082108T',name:'智能无人系统技术',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'核工程类',code:'082201',name:'核工程与核技术',degreeCate:'工学',age:'四年',year:''},
+{category:'核工程类',code:'082202',name:'辐射防护与核安全',degreeCate:'工学',age:'四年',year:''},
+{category:'核工程类',code:'082203',name:'工程物理',degreeCate:'工学',age:'四年',year:''},
+{category:'核工程类',code:'082204',name:'核化工与核燃料工程',degreeCate:'工学',age:'四年',year:''},
+{category:'农业工程类',code:'082301',name:'农业工程',degreeCate:'工学',age:'四年',year:''},
+{category:'农业工程类',code:'082302',name:'农业机械化及其自动化',degreeCate:'工学',age:'四年',year:''},
+{category:'农业工程类',code:'082303',name:'农业电气化',degreeCate:'工学',age:'四年',year:''},
+{category:'农业工程类',code:'082304',name:'农业建筑环境与能源工程',degreeCate:'工学',age:'四年',year:''},
+{category:'农业工程类',code:'082305',name:'农业水利工程',degreeCate:'工学',age:'四年',year:''},
+{category:'农业工程类',code:'082306T',name:'土地整治工程',degreeCate:'工学',age:'四年',year:'2016'},
+{category:'农业工程类',code:'082307T',name:'农业智能装备工程',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'林业工程类',code:'082401',name:'森林工程',degreeCate:'工学',age:'四年',year:''},
+{category:'林业工程类',code:'082402',name:'木材科学与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'林业工程类',code:'082403',name:'林产化工',degreeCate:'工学',age:'四年',year:''},
+{category:'林业工程类',code:'082404T',name:'家具设计与工程',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'林业工程类',code:'082405T',name:'木结构建筑与材料',degreeCate:'工学',age:'四年',year:'2021'},
+{category:'环境科学与工程类',code:'082501',name:'环境科学与工程',degreeCate:'工学',age:'四年',year:''},
+{category:'环境科学与工程类',code:'082502',name:'环境工程',degreeCate:'工学',age:'四年',year:''},
+{category:'环境科学与工程类',code:'082503',name:'环境科学',degreeCate:'理学,工学',age:'五年,四年',year:''},
+{category:'环境科学与工程类',code:'082504',name:'环境生态工程',degreeCate:'工学',age:'四年',year:''},
+{category:'环境科学与工程类',code:'082505T',name:'环保设备工程',degreeCate:'工学',age:'四年',year:''},
+{category:'环境科学与工程类',code:'082506T',name:'资源环境科学',degreeCate:'理学,工学',age:'四年',year:''},
+{category:'环境科学与工程类',code:'082507T',name:'水质科学与技术',degreeCate:'工学',age:'四年',year:''},
+{category:'生物医学工程类',code:'082601',name:'生物医学工程',degreeCate:'理学,工学',age:'五年,四年',year:''},
+{category:'生物医学工程类',code:'082602T',name:'假肢矫形工程',degreeCate:'工学',age:'四年',year:''},
+{category:'生物医学工程类',code:'082603T',name:'临床工程技术',degreeCate:'工学',age:'四年',year:'2016'},
+{category:'生物医学工程类',code:'082604T',name:'康复工程',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'生物医学工程类',code:'082605T',name:'健康科学与技术',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'食品科学与工程类',code:'082701',name:'食品科学与工程',degreeCate:'农学,工学',age:'四年',year:''},
+{category:'食品科学与工程类',code:'082702',name:'食品质量与安全',degreeCate:'工学',age:'四年',year:''},
+{category:'食品科学与工程类',code:'082703',name:'粮食工程',degreeCate:'工学',age:'四年',year:''},
+{category:'食品科学与工程类',code:'082704',name:'乳品工程',degreeCate:'工学',age:'四年',year:''},
+{category:'食品科学与工程类',code:'082705',name:'酿酒工程',degreeCate:'工学',age:'四年',year:''},
+{category:'食品科学与工程类',code:'082706T',name:'葡萄与葡萄酒工程',degreeCate:'工学',age:'四年',year:''},
+{category:'食品科学与工程类',code:'082707T',name:'食品营养与检验教育',degreeCate:'工学',age:'四年',year:''},
+{category:'食品科学与工程类',code:'082708T',name:'烹饪与营养教育',degreeCate:'工学',age:'四年',year:''},
+{category:'食品科学与工程类',code:'082709T',name:'食品安全与检测',degreeCate:'工学',age:'四年',year:'2016'},
+{category:'食品科学与工程类',code:'082710T',name:'食品营养与健康',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'食品科学与工程类',code:'082711T',name:'食用菌科学与工程',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'食品科学与工程类',code:'082712T',name:'白酒酿造工程',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'食品科学与工程类',code:'082713T',name:'咖啡科学与工程',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'建筑类',code:'082801',name:'建筑学',degreeCate:'工学',age:'五年,四年',year:''},
+{category:'建筑类',code:'082802',name:'城乡规划',degreeCate:'工学',age:'五年,四年',year:''},
+{category:'建筑类',code:'082803',name:'风景园林',degreeCate:'艺术学,工学',age:'五年,四年',year:''},
+{category:'建筑类',code:'082804T',name:'历史建筑保护工程',degreeCate:'工学',age:'五年,四年',year:''},
+{category:'建筑类',code:'082805T',name:'人居环境科学与技术',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'建筑类',code:'082806T',name:'城市设计',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'建筑类',code:'082807T',name:'智慧建筑与建造',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'安全科学与工程类',code:'082901',name:'安全工程',degreeCate:'工学',age:'四年',year:''},
+{category:'安全科学与工程类',code:'082902T',name:'应急技术与管理',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'安全科学与工程类',code:'082903T',name:'职业卫生工程',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'安全科学与工程类',code:'082904T',name:'安全生产监管',degreeCate:'工学',age:'四年',year:'2022'},
+{category:'生物工程类',code:'083001',name:'生物工程',degreeCate:'工学',age:'四年',year:''},
+{category:'生物工程类',code:'083002T',name:'生物制药',degreeCate:'工学',age:'四年',year:''},
+{category:'生物工程类',code:'083003T',name:'合成生物学',degreeCate:'工学',age:'四年',year:'2019'},
+{category:'公安技术类',code:'083101K',name:'刑事科学技术',degreeCate:'工学',age:'四年',year:''},
+{category:'公安技术类',code:'083102K',name:'消防工程',degreeCate:'工学',age:'四年',year:''},
+{category:'公安技术类',code:'083103TK',name:'交通管理工程',degreeCate:'工学',age:'四年',year:''},
+{category:'公安技术类',code:'083104TK',name:'安全防范工程',degreeCate:'工学',age:'四年',year:''},
+{category:'公安技术类',code:'083105TK',name:'公安视听技术',degreeCate:'工学',age:'四年',year:''},
+{category:'公安技术类',code:'083106TK',name:'抢险救援指挥与技术',degreeCate:'工学',age:'四年',year:''},
+{category:'公安技术类',code:'083107TK',name:'火灾勘查',degreeCate:'工学',age:'四年',year:''},
+{category:'公安技术类',code:'083108TK',name:'网络安全与执法',degreeCate:'工学',age:'四年',year:''},
+{category:'公安技术类',code:'083109TK',name:'核生化消防',degreeCate:'工学',age:'四年',year:''},
+{category:'公安技术类',code:'083110TK',name:'海警舰艇指挥与技术',degreeCate:'工学',age:'四年',year:'2015'},
+{category:'公安技术类',code:'083111TK',name:'数据警务技术',degreeCate:'工学',age:'四年',year:'2018'},
+{category:'公安技术类',code:'083112TK',name:'食品药品环境犯罪侦查技术',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'交叉工程类',code:'083201TK',name:'未来机器人',degreeCate:'工学',age:'四年',year:'2022'},
+{category:'交叉工程类',code:'083202TK',name:'交叉工程',degreeCate:'工学',age:'四年',year:'2023'},
+{category:'植物生产类',code:'090101',name:'农学',degreeCate:'农学',age:'四年',year:''},
+{category:'植物生产类',code:'090102',name:'园艺',degreeCate:'农学',age:'四年',year:''},
+{category:'植物生产类',code:'090103',name:'植物保护',degreeCate:'农学',age:'四年',year:''},
+{category:'植物生产类',code:'090104',name:'植物科学与技术',degreeCate:'农学',age:'四年',year:''},
+{category:'植物生产类',code:'090105',name:'种子科学与工程',degreeCate:'农学',age:'四年',year:''},
+{category:'植物生产类',code:'090106',name:'设施农业科学与工程',degreeCate:'工学,农学',age:'四年',year:''},
+{category:'植物生产类',code:'090107T',name:'茶学',degreeCate:'农学',age:'四年',year:''},
+{category:'植物生产类',code:'090108T',name:'烟草',degreeCate:'农学',age:'四年',year:''},
+{category:'植物生产类',code:'090109T',name:'应用生物科学',degreeCate:'理学,农学',age:'四年',year:''},
+{category:'植物生产类',code:'090110T',name:'农艺教育',degreeCate:'农学',age:'四年',year:''},
+{category:'植物生产类',code:'090111T',name:'园艺教育',degreeCate:'农学',age:'四年',year:''},
+{category:'植物生产类',code:'090112T',name:'智慧农业',degreeCate:'农学',age:'四年',year:'2019'},
+{category:'植物生产类',code:'090113T',name:'菌物科学与工程',degreeCate:'农学',age:'四年',year:'2019'},
+{category:'植物生产类',code:'090114T',name:'农药化肥',degreeCate:'农学',age:'四年',year:'2019'},
+{category:'植物生产类',code:'090115T',name:'生物农药科学与工程',degreeCate:'农学',age:'四年',year:'2020'},
+{category:'植物生产类',code:'090116TK',name:'生物育种科学',degreeCate:'理学',age:'四年',year:'2021'},
+{category:'植物生产类',code:'090117TK',name:'生物育种技术',degreeCate:'农学',age:'四年',year:'2023'},
+{category:'自然保护与环境生态类',code:'090201',name:'农业资源与环境',degreeCate:'农学',age:'四年',year:''},
+{category:'自然保护与环境生态类',code:'090202',name:'野生动物与自然保护区管理',degreeCate:'农学',age:'四年',year:''},
+{category:'自然保护与环境生态类',code:'090203',name:'水土保持与荒漠化防治',degreeCate:'农学',age:'四年',year:''},
+{category:'自然保护与环境生态类',code:'090204T',name:'生物质科学与工程',degreeCate:'农学',age:'四年',year:'2019'},
+{category:'自然保护与环境生态类',code:'090205T',name:'土地科学与技术',degreeCate:'农学',age:'四年',year:'2020'},
+{category:'自然保护与环境生态类',code:'090206T',name:'湿地保护与恢复',degreeCate:'农学',age:'四年',year:'2021'},
+{category:'自然保护与环境生态类',code:'090207TK',name:'国家公园建设与管理',degreeCate:'农学,管理学',age:'四年',year:'2022'},
+{category:'自然保护与环境生态类',code:'090208TK',name:'生态修复学',degreeCate:'农学',age:'四年',year:'2023'},
+{category:'动物生产类',code:'090301',name:'动物科学',degreeCate:'农学',age:'四年',year:''},
+{category:'动物生产类',code:'090302T',name:'蚕学',degreeCate:'农学',age:'四年',year:''},
+{category:'动物生产类',code:'090303T',name:'蜂学',degreeCate:'农学',age:'四年',year:''},
+{category:'动物生产类',code:'090304T',name:'经济动物学',degreeCate:'农学',age:'四年',year:'2018'},
+{category:'动物生产类',code:'090305T',name:'马业科学',degreeCate:'农学',age:'四年',year:'2018'},
+{category:'动物生产类',code:'090306T',name:'饲料工程',degreeCate:'农学,工学',age:'四年',year:'2020'},
+{category:'动物生产类',code:'090307T',name:'智慧牧业科学与工程',degreeCate:'农学',age:'四年',year:'2020'},
+{category:'动物医学类',code:'090401',name:'动物医学',degreeCate:'农学',age:'五年,四年',year:''},
+{category:'动物医学类',code:'090402',name:'动物药学',degreeCate:'农学',age:'五年,四年',year:''},
+{category:'动物医学类',code:'090403T',name:'动植物检疫',degreeCate:'理学,农学',age:'四年',year:''},
+{category:'动物医学类',code:'090404T',name:'实验动物学',degreeCate:'农学',age:'四年',year:'2017'},
+{category:'动物医学类',code:'090405T',name:'中兽医学',degreeCate:'农学',age:'五年,四年',year:'2018'},
+{category:'动物医学类',code:'090406TK',name:'兽医公共卫生',degreeCate:'农学',age:'五年,四年',year:'2020'},
+{category:'林学类',code:'090501',name:'林学',degreeCate:'农学',age:'四年',year:''},
+{category:'林学类',code:'090502',name:'园林',degreeCate:'农学',age:'四年',year:''},
+{category:'林学类',code:'090503',name:'森林保护',degreeCate:'农学',age:'四年',year:''},
+{category:'林学类',code:'090504T',name:'经济林',degreeCate:'农学',age:'四年',year:'2018'},
+{category:'林学类',code:'090505T',name:'智慧林业',degreeCate:'农学',age:'四年',year:'2021'},
+{category:'水产类',code:'090601',name:'水产养殖学',degreeCate:'农学',age:'四年',year:''},
+{category:'水产类',code:'090602',name:'海洋渔业科学与技术',degreeCate:'农学',age:'四年',year:''},
+{category:'水产类',code:'090603T',name:'水族科学与技术',degreeCate:'农学',age:'四年',year:''},
+{category:'水产类',code:'090604TK',name:'水生动物医学',degreeCate:'农学',age:'四年',year:'2012'},
+{category:'草学类',code:'090701',name:'草业科学',degreeCate:'农学',age:'四年',year:''},
+{category:'草学类',code:'090702T',name:'草坪科学与工程',degreeCate:'农学',age:'四年',year:'2019'},
+{category:'基础医学类',code:'100101K',name:'基础医学',degreeCate:'医学',age:'五年',year:''},
+{category:'基础医学类',code:'100102TK',name:'生物医学',degreeCate:'理学',age:'四年',year:'2012'},
+{category:'基础医学类',code:'100103T',name:'生物医学科学',degreeCate:'理学',age:'四年',year:'2015'},
+{category:'临床医学类',code:'100201K',name:'临床医学',degreeCate:'医学',age:'五年',year:''},
+{category:'临床医学类',code:'100202TK',name:'麻醉学',degreeCate:'医学',age:'五年',year:''},
+{category:'临床医学类',code:'100203TK',name:'医学影像学',degreeCate:'医学',age:'五年',year:''},
+{category:'临床医学类',code:'100204TK',name:'眼视光医学',degreeCate:'医学',age:'五年',year:''},
+{category:'临床医学类',code:'100205TK',name:'精神医学',degreeCate:'医学',age:'五年',year:''},
+{category:'临床医学类',code:'100206TK',name:'放射医学',degreeCate:'医学',age:'五年',year:''},
+{category:'临床医学类',code:'100207TK',name:'儿科学',degreeCate:'医学',age:'五年',year:'2015'},
+{category:'口腔医学类',code:'100301K',name:'口腔医学',degreeCate:'医学',age:'五年',year:''},
+{category:'公共卫生与预防医学类',code:'100401K',name:'预防医学',degreeCate:'医学',age:'五年',year:''},
+{category:'公共卫生与预防医学类',code:'100402',name:'食品卫生与营养学',degreeCate:'理学',age:'四年',year:''},
+{category:'公共卫生与预防医学类',code:'100403TK',name:'妇幼保健医学',degreeCate:'医学',age:'五年',year:''},
+{category:'公共卫生与预防医学类',code:'100404TK',name:'卫生监督',degreeCate:'医学',age:'五年',year:''},
+{category:'公共卫生与预防医学类',code:'100405TK',name:'全球健康学',degreeCate:'理学',age:'四年',year:''},
+{category:'公共卫生与预防医学类',code:'100406T',name:'运动与公共健康',degreeCate:'理学',age:'四年',year:'2020'},
+{category:'中医学类',code:'100501K',name:'中医学',degreeCate:'医学',age:'五年',year:''},
+{category:'中医学类',code:'100502K',name:'针灸推拿学',degreeCate:'医学',age:'五年',year:''},
+{category:'中医学类',code:'100503K',name:'藏医学',degreeCate:'医学',age:'五年',year:''},
+{category:'中医学类',code:'100504K',name:'蒙医学',degreeCate:'医学',age:'五年',year:''},
+{category:'中医学类',code:'100505K',name:'维医学',degreeCate:'医学',age:'五年',year:''},
+{category:'中医学类',code:'100506K',name:'壮医学',degreeCate:'医学',age:'五年',year:''},
+{category:'中医学类',code:'100507K',name:'哈医学',degreeCate:'医学',age:'五年',year:''},
+{category:'中医学类',code:'100508TK',name:'傣医学',degreeCate:'医学',age:'五年',year:'2012'},
+{category:'中医学类',code:'100509TK',name:'回医学',degreeCate:'医学',age:'五年',year:'2015'},
+{category:'中医学类',code:'100510TK',name:'中医康复学',degreeCate:'医学',age:'五年',year:'2016'},
+{category:'中医学类',code:'100511TK',name:'中医养生学',degreeCate:'医学',age:'五年',year:'2016'},
+{category:'中医学类',code:'100512TK',name:'中医儿科学',degreeCate:'医学',age:'五年',year:'2016'},
+{category:'中医学类',code:'100513TK',name:'中医骨伤科学',degreeCate:'医学',age:'五年',year:'2018'},
+{category:'中西医结合类',code:'100601K',name:'中西医临床医学',degreeCate:'医学',age:'五年',year:''},
+{category:'药学类',code:'100701',name:'药学',degreeCate:'理学',age:'四年',year:''},
+{category:'药学类',code:'100702',name:'药物制剂',degreeCate:'理学',age:'四年',year:''},
+{category:'药学类',code:'100703TK',name:'临床药学',degreeCate:'理学',age:'五年,四年',year:''},
+{category:'药学类',code:'100704T',name:'药事管理',degreeCate:'理学',age:'四年',year:''},
+{category:'药学类',code:'100705T',name:'药物分析',degreeCate:'理学',age:'四年',year:''},
+{category:'药学类',code:'100706T',name:'药物化学',degreeCate:'理学',age:'四年',year:''},
+{category:'药学类',code:'100707T',name:'海洋药学',degreeCate:'理学',age:'四年',year:''},
+{category:'药学类',code:'100708T',name:'化妆品科学与技术',degreeCate:'理学',age:'四年',year:'2018'},
+{category:'中药学类',code:'100801',name:'中药学',degreeCate:'理学',age:'四年',year:''},
+{category:'中药学类',code:'100802',name:'中药资源与开发',degreeCate:'理学',age:'四年',year:''},
+{category:'中药学类',code:'100803T',name:'藏药学',degreeCate:'理学',age:'五年,四年',year:''},
+{category:'中药学类',code:'100804T',name:'蒙药学',degreeCate:'理学',age:'四年',year:''},
+{category:'中药学类',code:'100805T',name:'中药制药',degreeCate:'工学,理学',age:'四年',year:''},
+{category:'中药学类',code:'100806T',name:'中草药栽培与鉴定',degreeCate:'理学',age:'四年',year:''},
+{category:'法医学类',code:'100901K',name:'法医学',degreeCate:'医学',age:'五年',year:''},
+{category:'医学技术类',code:'101001',name:'医学检验技术',degreeCate:'理学',age:'四年',year:''},
+{category:'医学技术类',code:'101002',name:'医学实验技术',degreeCate:'理学',age:'四年',year:''},
+{category:'医学技术类',code:'101003',name:'医学影像技术',degreeCate:'理学',age:'四年',year:''},
+{category:'医学技术类',code:'101004',name:'眼视光学',degreeCate:'理学',age:'四年',year:''},
+{category:'医学技术类',code:'101005',name:'康复治疗学',degreeCate:'理学',age:'四年',year:''},
+{category:'医学技术类',code:'101006',name:'口腔医学技术',degreeCate:'理学',age:'四年',year:''},
+{category:'医学技术类',code:'101007',name:'卫生检验与检疫',degreeCate:'理学',age:'四年',year:''},
+{category:'医学技术类',code:'101008T',name:'听力与言语康复学',degreeCate:'理学',age:'五年,四年',year:''},
+{category:'医学技术类',code:'101009T',name:'康复物理治疗',degreeCate:'理学',age:'四年',year:'2016'},
+{category:'医学技术类',code:'101010T',name:'康复作业治疗',degreeCate:'理学',age:'四年',year:'2016'},
+{category:'医学技术类',code:'101011T',name:'智能医学工程',degreeCate:'工学',age:'四年',year:'2017'},
+{category:'医学技术类',code:'101012T',name:'生物医药数据科学',degreeCate:'理学',age:'四年',year:'2020'},
+{category:'医学技术类',code:'101013T',name:'智能影像工程',degreeCate:'工学',age:'四年',year:'2020'},
+{category:'医学技术类',code:'101014TK',name:'医工学',degreeCate:'工学',age:'四年',year:'2022'},
+{category:'护理学类',code:'101101K',name:'护理学',degreeCate:'理学',age:'四年',year:'2024年起调整为国控'},
+{category:'护理学类',code:'101102TK',name:'助产学',degreeCate:'理学',age:'四年',year:'2016年增设,2024年起调整为国控'},
+{category:'管理科学与工程类',code:'120101',name:'管理科学',degreeCate:'理学,管理学',age:'五年,四年',year:''},
+{category:'管理科学与工程类',code:'120102',name:'信息管理与信息系统',degreeCate:'工学,管理学',age:'四年',year:''},
+{category:'管理科学与工程类',code:'120103',name:'工程管理',degreeCate:'工学,管理学',age:'四年',year:''},
+{category:'管理科学与工程类',code:'120104',name:'房地产开发与管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'管理科学与工程类',code:'120105',name:'工程造价',degreeCate:'工学,管理学',age:'四年',year:''},
+{category:'管理科学与工程类',code:'120106TK',name:'保密管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'管理科学与工程类',code:'120107T',name:'邮政管理',degreeCate:'管理学',age:'四年',year:'2016'},
+{category:'管理科学与工程类',code:'120108T',name:'大数据管理与应用',degreeCate:'管理学',age:'四年',year:'2017'},
+{category:'管理科学与工程类',code:'120109T',name:'工程审计',degreeCate:'管理学',age:'四年',year:'2017'},
+{category:'管理科学与工程类',code:'120110T',name:'计算金融',degreeCate:'管理学',age:'四年',year:'2018'},
+{category:'管理科学与工程类',code:'120111T',name:'应急管理',degreeCate:'管理学',age:'四年',year:'2019'},
+{category:'工商管理类',code:'120201K',name:'工商管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120202',name:'市场营销',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120203K',name:'会计学',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120204',name:'财务管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120205',name:'国际商务',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120206',name:'人力资源管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120207',name:'审计学',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120208',name:'资产评估',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120209',name:'物业管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120210',name:'文化产业管理',degreeCate:'艺术学,管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120211T',name:'劳动关系',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120212T',name:'体育经济与管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120213T',name:'财务会计教育',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120214T',name:'市场营销教育',degreeCate:'管理学',age:'四年',year:''},
+{category:'工商管理类',code:'120215T',name:'零售业管理',degreeCate:'管理学',age:'四年',year:'2016'},
+{category:'工商管理类',code:'120216T',name:'创业管理',degreeCate:'管理学',age:'四年',year:'2020'},
+{category:'工商管理类',code:'120217TK',name:'海关稽查',degreeCate:'管理学',age:'四年',year:'2021'},
+{category:'工商管理类',code:'120218T',name:'内部审计',degreeCate:'管理学',age:'四年',year:'2023'},
+{category:'农业经济管理类',code:'120301',name:'农林经济管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'农业经济管理类',code:'120302',name:'农村区域发展',degreeCate:'农学,管理学',age:'四年',year:''},
+{category:'农业经济管理类',code:'120303TK',name:'乡村治理',degreeCate:'管理学',age:'四年',year:'2022'},
+{category:'公共管理类',code:'120401',name:'公共事业管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'公共管理类',code:'120402',name:'行政管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'公共管理类',code:'120403',name:'劳动与社会保障',degreeCate:'管理学',age:'四年',year:''},
+{category:'公共管理类',code:'120404',name:'土地资源管理',degreeCate:'工学,管理学',age:'四年',year:''},
+{category:'公共管理类',code:'120405',name:'城市管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'公共管理类',code:'120406TK',name:'海关管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'公共管理类',code:'120407T',name:'交通管理',degreeCate:'工学,管理学',age:'四年',year:''},
+{category:'公共管理类',code:'120408T',name:'海事管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'公共管理类',code:'120409T',name:'公共关系学',degreeCate:'管理学',age:'四年',year:''},
+{category:'公共管理类',code:'120410T',name:'健康服务与管理',degreeCate:'管理学',age:'四年',year:'2015'},
+{category:'公共管理类',code:'120411TK',name:'海警后勤管理',degreeCate:'管理学',age:'四年',year:'2016'},
+{category:'公共管理类',code:'120412T',name:'医疗产品管理',degreeCate:'管理学',age:'四年',year:'2017'},
+{category:'公共管理类',code:'120413T',name:'医疗保险',degreeCate:'管理学',age:'四年',year:'2019'},
+{category:'公共管理类',code:'120414T',name:'养老服务管理',degreeCate:'管理学',age:'四年',year:'2019'},
+{category:'公共管理类',code:'120415TK',name:'海关检验检疫安全',degreeCate:'管理学',age:'四年',year:'2020'},
+{category:'公共管理类',code:'120416TK',name:'海外安全管理',degreeCate:'管理学',age:'四年',year:'2020'},
+{category:'公共管理类',code:'120417T',name:'自然资源登记与管理',degreeCate:'管理学',age:'四年',year:'2020'},
+{category:'公共管理类',code:'120418T',name:'慈善管理',degreeCate:'管理学',age:'四年',year:'2021'},
+{category:'公共管理类',code:'120419TK',name:'航空安防管理',degreeCate:'管理学',age:'四年',year:'2022'},
+{category:'公共管理类',code:'120420TK',name:'无障碍管理',degreeCate:'管理学',age:'四年',year:'2022'},
+{category:'图书情报与档案管理类',code:'120501',name:'图书馆学',degreeCate:'管理学',age:'四年',year:''},
+{category:'图书情报与档案管理类',code:'120502',name:'档案学',degreeCate:'管理学',age:'四年',year:''},
+{category:'图书情报与档案管理类',code:'120503',name:'信息资源管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'物流管理与工程类',code:'120601',name:'物流管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'物流管理与工程类',code:'120602',name:'物流工程',degreeCate:'工学,管理学',age:'四年',year:''},
+{category:'物流管理与工程类',code:'120603T',name:'采购管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'物流管理与工程类',code:'120604T',name:'供应链管理',degreeCate:'管理学',age:'四年',year:'2017'},
+{category:'工业工程类',code:'120701',name:'工业工程',degreeCate:'工学,管理学',age:'四年',year:''},
+{category:'工业工程类',code:'120702T',name:'标准化工程',degreeCate:'管理学',age:'四年',year:''},
+{category:'工业工程类',code:'120703T',name:'质量管理工程',degreeCate:'管理学',age:'四年',year:''},
+{category:'电子商务类',code:'120801',name:'电子商务',degreeCate:'工学,经济学,管理学',age:'四年',year:''},
+{category:'电子商务类',code:'120802T',name:'电子商务及法律',degreeCate:'管理学',age:'四年',year:''},
+{category:'电子商务类',code:'120803T',name:'跨境电子商务',degreeCate:'管理学',age:'四年',year:'2019'},
+{category:'旅游管理类',code:'120901K',name:'旅游管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'旅游管理类',code:'120902',name:'酒店管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'旅游管理类',code:'120903',name:'会展经济与管理',degreeCate:'管理学',age:'四年',year:''},
+{category:'旅游管理类',code:'120904T',name:'旅游管理与服务教育',degreeCate:'管理学',age:'四年',year:''},
+{category:'艺术学理论类',code:'130101',name:'艺术史论',degreeCate:'艺术学',age:'四年',year:''},
+{category:'艺术学理论类',code:'130102T',name:'艺术管理',degreeCate:'艺术学',age:'四年',year:'2016'},
+{category:'艺术学理论类',code:'130103T',name:'非物质文化遗产保护',degreeCate:'艺术学',age:'四年',year:'2020'},
+{category:'音乐与舞蹈学类',code:'130201',name:'音乐表演',degreeCate:'艺术学',age:'四年',year:''},
+{category:'音乐与舞蹈学类',code:'130202',name:'音乐学',degreeCate:'艺术学',age:'四年,五年',year:''},
+{category:'音乐与舞蹈学类',code:'130203',name:'作曲与作曲技术理论',degreeCate:'艺术学',age:'四年,五年',year:''},
+{category:'音乐与舞蹈学类',code:'130204',name:'舞蹈表演',degreeCate:'艺术学',age:'四年',year:''},
+{category:'音乐与舞蹈学类',code:'130205',name:'舞蹈学',degreeCate:'艺术学',age:'四年',year:''},
+{category:'音乐与舞蹈学类',code:'130206',name:'舞蹈编导',degreeCate:'艺术学',age:'四年',year:''},
+{category:'音乐与舞蹈学类',code:'130207T',name:'舞蹈教育',degreeCate:'艺术学',age:'四年',year:'2017'},
+{category:'音乐与舞蹈学类',code:'130208TK',name:'航空服务艺术与管理',degreeCate:'艺术学',age:'四年',year:'2018'},
+{category:'音乐与舞蹈学类',code:'130209T',name:'流行音乐',degreeCate:'艺术学',age:'四年',year:'2018'},
+{category:'音乐与舞蹈学类',code:'130210T',name:'音乐治疗',degreeCate:'艺术学',age:'四年',year:'2018'},
+{category:'音乐与舞蹈学类',code:'130211T',name:'流行舞蹈',degreeCate:'艺术学',age:'四年',year:'2018'},
+{category:'音乐与舞蹈学类',code:'130212T',name:'音乐教育',degreeCate:'艺术学',age:'四年',year:'2020'},
+{category:'音乐与舞蹈学类',code:'130213TK',name:'冰雪舞蹈表演',degreeCate:'艺术学',age:'四年',year:'2023'},
+{category:'戏剧与影视学类',code:'130301',name:'表演',degreeCate:'艺术学',age:'四年',year:''},
+{category:'戏剧与影视学类',code:'130302',name:'戏剧学',degreeCate:'艺术学',age:'四年',year:''},
+{category:'戏剧与影视学类',code:'130303',name:'电影学',degreeCate:'艺术学',age:'四年',year:''},
+{category:'戏剧与影视学类',code:'130304',name:'戏剧影视文学',degreeCate:'艺术学',age:'四年',year:''},
+{category:'戏剧与影视学类',code:'130305',name:'广播电视编导',degreeCate:'艺术学',age:'四年',year:''},
+{category:'戏剧与影视学类',code:'130306',name:'戏剧影视导演',degreeCate:'艺术学',age:'四年',year:''},
+{category:'戏剧与影视学类',code:'130307',name:'戏剧影视美术设计',degreeCate:'艺术学',age:'四年',year:''},
+{category:'戏剧与影视学类',code:'130308',name:'录音艺术',degreeCate:'艺术学',age:'四年',year:''},
+{category:'戏剧与影视学类',code:'130309',name:'播音与主持艺术',degreeCate:'艺术学',age:'四年',year:''},
+{category:'戏剧与影视学类',code:'130310',name:'动画',degreeCate:'艺术学',age:'四年',year:''},
+{category:'戏剧与影视学类',code:'130311T',name:'影视摄影与制作',degreeCate:'艺术学',age:'四年',year:''},
+{category:'戏剧与影视学类',code:'130312T',name:'影视技术',degreeCate:'艺术学',age:'四年',year:'2017'},
+{category:'戏剧与影视学类',code:'130313T',name:'戏剧教育',degreeCate:'艺术学',age:'四年',year:'2018'},
+{category:'戏剧与影视学类',code:'130314TK',name:'曲艺',degreeCate:'艺术学',age:'四年',year:'2021'},
+{category:'戏剧与影视学类',code:'130315TK',name:'音乐剧',degreeCate:'艺术学',age:'四年',year:'2021'},
+{category:'美术学类',code:'130401',name:'美术学',degreeCate:'艺术学',age:'四年',year:''},
+{category:'美术学类',code:'130402',name:'绘画',degreeCate:'艺术学',age:'四年',year:''},
+{category:'美术学类',code:'130403',name:'雕塑',degreeCate:'艺术学',age:'五年,四年',year:''},
+{category:'美术学类',code:'130404',name:'摄影',degreeCate:'艺术学',age:'四年',year:''},
+{category:'美术学类',code:'130405T',name:'书法学',degreeCate:'艺术学',age:'四年',year:''},
+{category:'美术学类',code:'130406T',name:'中国画',degreeCate:'艺术学',age:'四年',year:''},
+{category:'美术学类',code:'130407TK',name:'实验艺术',degreeCate:'艺术学',age:'四年',year:'2013'},
+{category:'美术学类',code:'130408TK',name:'跨媒体艺术',degreeCate:'艺术学',age:'四年',year:'2015'},
+{category:'美术学类',code:'130409T',name:'文物保护与修复',degreeCate:'艺术学',age:'四年',year:'2016'},
+{category:'美术学类',code:'130410T',name:'漫画',degreeCate:'艺术学',age:'四年',year:'2016'},
+{category:'美术学类',code:'130411T',name:'纤维艺术',degreeCate:'艺术学',age:'四年',year:'2020'},
+{category:'美术学类',code:'130412TK',name:'科技艺术',degreeCate:'艺术学',age:'四年',year:'2021'},
+{category:'美术学类',code:'130413TK',name:'美术教育',degreeCate:'艺术学',age:'四年',year:'2021'},
+{category:'设计学类',code:'130501',name:'艺术设计学',degreeCate:'艺术学',age:'四年',year:''},
+{category:'设计学类',code:'130502',name:'视觉传达设计',degreeCate:'艺术学',age:'四年',year:''},
+{category:'设计学类',code:'130503',name:'环境设计',degreeCate:'艺术学',age:'四年',year:''},
+{category:'设计学类',code:'130504',name:'产品设计',degreeCate:'艺术学',age:'四年',year:''},
+{category:'设计学类',code:'130505',name:'服装与服饰设计',degreeCate:'艺术学',age:'四年',year:''},
+{category:'设计学类',code:'130506',name:'公共艺术',degreeCate:'艺术学',age:'四年',year:''},
+{category:'设计学类',code:'130507',name:'工艺美术',degreeCate:'艺术学',age:'四年',year:''},
+{category:'设计学类',code:'130508',name:'数字媒体艺术',degreeCate:'艺术学',age:'四年',year:''},
+{category:'设计学类',code:'130509T',name:'艺术与科技',degreeCate:'艺术学',age:'五年,四年',year:''},
+{category:'设计学类',code:'130510TK',name:'陶瓷艺术设计',degreeCate:'艺术学',age:'四年',year:'2012'},
+{category:'设计学类',code:'130511T',name:'新媒体艺术',degreeCate:'艺术学',age:'四年',year:'2016'},
+{category:'设计学类',code:'130512T',name:'包装设计',degreeCate:'艺术学',age:'四年',year:'2016'},
+{category:'设计学类',code:'130513TK',name:'珠宝首饰设计与工艺',degreeCate:'艺术学',age:'四年',year:'2021'},
+
+]
+
+ 

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

@@ -7,10 +7,14 @@
             <nz-form-label class="label" [nzNoColon]="true" [nzSm]="16" [nzXs]="16"
               nzRequired>适用专业代码(六位)及名称</nz-form-label>
             <nz-form-control class="val" nzErrorTip="适用专业代码(六位)及名称" style="width: 100%">
+              
               <nz-select style="width: 80%" nzShowSearch nzAllowClear nzPlaceHolder="填写 6 位专业代码选择"
                 formControlName="major" (ngModelChange)="changeCode()" (nzOnSearch)="getCode($event)">
                 @for(major of selectList; track major.code;let index = $index){
-                <nz-option nzCustomContent [nzValue]="major.code" [nzLabel]="major.name">{{ major.name }}</nz-option>
+                <nz-option nzCustomContent [nzValue]="major.name" [nzLabel]="major.code">
+                  <div>{{ major.name }}</div>
+                  <div style="font-size: 12px;color: gray;">{{ major.code }}</div>
+                </nz-option>
                 }
               </nz-select>
             </nz-form-control>
@@ -32,12 +36,41 @@
               <input type="text" formControlName="lessons" nz-input placeholder="填写适用课程名称,多门课程名称使用“;”分隔" />
             </nz-form-control>
           </nz-form-item>
+
           <nz-form-item class="row" style="margin-bottom: 16px">
             <nz-form-label class="label" [nzNoColon]="true" [nzSm]="6" [nzXs]="6" nzRequired>适用课程性质</nz-form-label>
-            <nz-form-control class="val" nzErrorTip="请填写适用课程性质" style="width: 100%">
-              <nz-checkbox-group [(ngModel)]="checkOptionsOne" formControlName="characteristic"></nz-checkbox-group>
+            
+            <nz-checkbox-wrapper style="width: 100%;" (nzOnChange)="log($event)">
+              <div nz-row>
+                <label nz-checkbox nzValue="A">A</label>
+                <label nz-checkbox nzValue="B">B</label>
+                <label nz-checkbox nzValue="C">C</label>
+                <label nz-checkbox nzValue="D">D</label>
+                <label nz-checkbox nzValue="E">E</label>
+              </div>
+            </nz-checkbox-wrapper>
+
+
+            <nz-form-control class="val" nzErrorTip="请选择适用课程性质" style="width: 100%">
+              <nz-checkbox-group [(ngModel)]="checkOptionsOne"></nz-checkbox-group>
+
+              <nz-radio-group [(ngModel)]="checkTwo">
+                @for (checkOption of checkOptionsTwo; track $index) {
+                  <label nz-radio [nzValue]="checkOption.value">{{checkOption.label}}</label>
+                }
+              </nz-radio-group>
             </nz-form-control>
           </nz-form-item>
+          <button (click)="a()">hhhhhhhhhhhhhhhhh</button>
+
+          <!-- <nz-form-item class="row" style="margin-bottom: 16px">
+            <nz-form-label class="label" [nzNoColon]="true" [nzSm]="6" [nzXs]="6" nzRequired>适用课程性质</nz-form-label>
+
+            <nz-form-control class="val" nzErrorTip="请选择适用课程性质" style="width: 100%">
+              <nz-checkbox-group [(ngModel)]="checkOptionsOne" formControlName="characteristic"></nz-checkbox-group>
+              <nz-checkbox-group [(ngModel)]="checkOptionsOne" formControlName="characteristic"></nz-checkbox-group>
+            </nz-form-control>
+          </nz-form-item> -->
         </div>
       </div>
     </div>
@@ -100,9 +133,14 @@
               <input nz-input placeholder="请输入作者职称" [ngModelOptions]="{ standalone: true }" [(ngModel)]="data.title"
                 nzStatus="" />
             </td>
+          
+
+            
+
+
             <td>
               <nz-input-group nzCompact>
-                <nz-select style="width: 90px;" [ngModel]="'+86'">
+                <nz-select style="width: 90px;" [ngModelOptions]="{ standalone: true }" [ngModel]="'+86'">
                   <nz-option [nzLabel]="'+0000'" [nzValue]="'+0000'"></nz-option>
                   <nz-option [nzLabel]="'+86'" [nzValue]="'+86'"></nz-option>
                 </nz-select>
@@ -110,6 +148,12 @@
                 [(ngModel)]="data.mobile" nzStatus="" style="width: 160px;"/>
               </nz-input-group>
             </td>
+
+
+
+
+
+
             <td>
               <input nz-input placeholder="请输入作者邮箱" [ngModelOptions]="{ standalone: true }" [(ngModel)]="data.email"
                 nzStatus="" />
@@ -125,14 +169,14 @@
               </nz-select>
             </td>
             <td nzRight>
-              未上传
+              <!-- {{data.signature? getFileName(data.signature):'未上传'}} -->
               <app-comp-upload [width]="320" (change)="upload($event, 'signature',index)"
-                title="上传"></app-comp-upload>
+                [title]="getFileName(data.signature)"></app-comp-upload>
             </td>
             <td nzRight>
-              未上传
+              <!-- {{data.examine?getFileName(data.examine):'未上传'}} -->
               <app-comp-upload [width]="320" (change)="upload($event, 'examine',index)"
-                title="上传"></app-comp-upload>
+                [title]="getFileName(data.examine)"></app-comp-upload>
             </td>
             <td nzRight>
               <a (click)="onPush('authorList', index)"><span nz-icon style="font-size: 20px; margin-right: 10px"
@@ -145,7 +189,7 @@
         </tbody>
       </nz-table>
       <p>输入诚信承诺:本人自愿参加此次申报,已认真填写并检查以上材料,保证内容真实。</p>
-      <input nz-input placeholder="请输入承诺内容" [ngModelOptions]="{ standalone: true }" [(ngModel)]="promise" />
+      <input  formControlName="accept" nz-input placeholder="请输入承诺内容" />
     </div>
     <div class="author-content">
       <div class="nav">第一主编(作者)情况</div>

+ 85 - 48
projects/textbook/src/modules/nav-author/components/textbook-pertain/textbook-pertain.component.ts

@@ -13,10 +13,14 @@ import {
   FormControl,
   FormGroup,
   NonNullableFormBuilder,
+  ValidatorFn,
+  AbstractControl,
   Validators,
 } from '@angular/forms';
 import { textbookServer } from '../../../../services/textbook';
 import { CompUploadComponent } from '../../../../app/comp-upload/comp-upload.component';
+import * as major from '../major'
+
 interface author {
   name: string;
   unit: string;
@@ -27,8 +31,8 @@ interface author {
   mobile: string;
   email: string;
   work: string;
-  signature:string;
-  examine:string;
+  signature: string;
+  examine: string;
 }
 interface achievementType {
   name: string;
@@ -57,6 +61,18 @@ export class TextbookPertainComponent implements OnInit {
   @Input('maxWidth') maxWidth: number = 0;
   @Output() state: EventEmitter<any> = new EventEmitter<any>();
   @Output() save: EventEmitter<any> = new EventEmitter<any>();
+  //填写诚信承诺是否正确
+  confirmationValidator: ValidatorFn = (
+    control: AbstractControl
+  ): { [s: string]: boolean } => {
+    if (
+      control.value !=
+      '本人自愿参加此次申报,已认真填写并检查以上材料,保证内容真实'
+    ) {
+      return { required: true };
+    }
+    return {};
+  };
   validateForm: FormGroup<{
     major: FormControl<string>; //适用专业代码及名称
     period: FormControl<number | any>; //课程学时
@@ -65,6 +81,8 @@ export class TextbookPertainComponent implements OnInit {
     // authorList: FormControl<Array<any> | any>; //作者信息
     authorDetails: FormControl<string>; //第一主编(作者)相关教学经历
     // achievement: FormControl<Array<any> | any>; //相关科学研究项目、成果或论文专著(限5项)
+    accept: FormControl<string>; //填写诚信承诺
+
   }> = this.fb.group({
     major: ['', [Validators.required]],
     period: ['', [Validators.required]],
@@ -73,41 +91,48 @@ export class TextbookPertainComponent implements OnInit {
     // authorList: ['', [Validators.required]],
     authorDetails: ['', [Validators.required]],
     // achievement: ['', [Validators.required]],
+    accept: ['', [Validators.required, this.confirmationValidator]],
   });
+
+
+
   //适用专业代码及名称
-  selectList: Array<any> = [
-    {
-      name: '机械与工程',
-      code: 'M001',
-    },
-    {
-      name: '软件工程',
-      code: 'M002',
-    },
-    {
-      name: '生物工程学',
-      code: 'M003',
-    },
-  ];
+  selectList = major.major
+
   //适用课程性质
+
   checkOptionsOne = [
     { label: '必修课', value: '必修课' },
     { label: '选修课', value: '选修课' },
+  ];
+  checkOptionsTwo = [
     { label: '通识课', value: '通识课' },
     { label: '公共基础课', value: '公共基础课' },
     { label: '专业课', value: '专业课' },
+  ];
+  checkOptionsThree = [
     { label: '思想作者理论课', value: '思想作者理论课' },
     { label: '实验课', value: '实验课' },
   ];
-  // checkOptionsTwo = [
-  //   { label: '通识课', value: '通识课' },
-  //   { label: '公共基础课', value: '公共基础课' },
-  //   { label: '专业课', value: '专业课' },
-  // ];
-  // checkOptionsThree = [
-  //   { label: '思想作者理论课', value: '思想作者理论课' },
-  //   { label: '实验课', value: '实验课' },
-  // ];
+  checkOne: any = null
+  checkTwo: any = null
+  checkThree: any = null
+  log(value: string[]): void {
+    console.log(value);
+  }
+  a() {
+    console.log(
+      this.checkOptionsOne,
+      this.checkOptionsTwo,
+      this.checkOptionsThree
+    )
+    console.log(
+      this.checkOne,
+      this.checkTwo,
+      this.checkThree
+    )
+  }
+
   //作者信息
   authorList: Array<author> = [
     {
@@ -120,8 +145,8 @@ export class TextbookPertainComponent implements OnInit {
       mobile: '',
       email: '',
       work: '',
-      signature:'',
-      examine:'',
+      signature: '',
+      examine: '',
     },
   ];
   //相关科学研究项目、成果或论文专著(限5项)
@@ -134,13 +159,13 @@ export class TextbookPertainComponent implements OnInit {
   ];
   workOptions = ['主编', '作者', '副主编', '写者'];
   /**诚信承诺 */
-  promise:string=''
+  accept: string = ''
   constructor(
     public tbookSer: textbookServer,
     private fb: NonNullableFormBuilder,
     private modal: NzModalService,
     private msg: NzMessageService
-  ) {}
+  ) { }
 
   ngOnInit() {
     console.log(this.eduTextbook);
@@ -164,6 +189,10 @@ export class TextbookPertainComponent implements OnInit {
           this.eduTextbook.get('authorDetails') || '',
           [Validators.required],
         ],
+        accept: [
+          this.eduTextbook.get('accept') || '',
+          [Validators.required, this.confirmationValidator]
+        ],
       });
       this.authorList = this.eduTextbook.get('authorList') || this.authorList
       console.log(this.authorList)
@@ -171,26 +200,22 @@ export class TextbookPertainComponent implements OnInit {
     }
   }
   async submitForm(event?: string): Promise<void> {
-    // if(this.promise!='本人自愿参加此次申报,已认真填写并检查以上材料,保证内容真实。'){
-    //   this.msg.warning('请输入承诺内容')
-    //   return
-    // }
     if (event == 'pre') {
       this.state.emit({ type: 'pre' });
       return
     }
     console.log(this.validateForm.value);
-    let authorListVrifly = !this.authorList.some(item=>Object.values(item).some(val=> val == '' || val == undefined))
-    let achievementOptionsVrifly = !this.achievementOptions.some(item=>Object.values(item).some(val=> val == '' || val == undefined))
+    let authorListVrifly = !this.authorList.some(item => Object.values(item).some(val => val == '' || val == undefined))
+    let achievementOptionsVrifly = !this.achievementOptions.some(item => Object.values(item).some(val => val == '' || val == undefined))
     console.log(authorListVrifly, achievementOptionsVrifly);
 
     if (this.validateForm.valid) {
       let params: any = this.validateForm.value;
       if (event == 'next') {
-        if(!authorListVrifly){
+        if (!authorListVrifly) {
           this.msg.warning('作者信息填写不完整')
           return
-        }else if(!achievementOptionsVrifly){
+        } else if (!achievementOptionsVrifly) {
           this.msg.warning('相关科学研究项目、成果或论文专著填写不完整')
           return
         }
@@ -216,8 +241,8 @@ export class TextbookPertainComponent implements OnInit {
         //   this.msg.warning('相关科学研究项目、成果或论文专著填写不完整')
         //   return
         // }
-      let params: any = this.validateForm.value;
-      await this.saveEduTextbook(params, true);
+        let params: any = this.validateForm.value;
+        await this.saveEduTextbook(params, true);
         this.state.emit({ type: 'next', textBook: this.eduTextbook });
       }
       // Object.values(this.validateForm.controls).forEach((control) => {
@@ -238,12 +263,12 @@ export class TextbookPertainComponent implements OnInit {
       });
     }
   }
-  changeCode() {}
-  getCode(e: any) {}
-  upload(e: any, type:string,index:number) {
+  changeCode() { }
+  getCode(e: any) { }
+  upload(e: any, type: string, index: number) {
     console.log(e);
     let file = e[0];
-    if(type == 'signature' || type == 'examine' ){
+    if (type == 'signature' || type == 'examine') {
       this.authorList[index][type] = file
     }
   }
@@ -251,7 +276,7 @@ export class TextbookPertainComponent implements OnInit {
   onPush(type: string, idx: number) {
     switch (type) {
       case 'authorList':
-        if(this.authorList?.length>=6){
+        if (this.authorList?.length >= 6) {
           this.msg.warning('最多添加6条');
           break;
         }
@@ -265,8 +290,8 @@ export class TextbookPertainComponent implements OnInit {
           mobile: '',
           email: '',
           work: '',
-          signature:'',
-          examine:'',
+          signature: '',
+          examine: '',
         });
         break;
       case 'achievementOptions':
@@ -298,8 +323,8 @@ export class TextbookPertainComponent implements OnInit {
               mobile: '',
               email: '',
               work: '',
-              signature:'',
-              examine:'',
+              signature: '',
+              examine: '',
             },
           ];
           return;
@@ -352,7 +377,19 @@ export class TextbookPertainComponent implements OnInit {
     params.authorDetails && this.eduTextbook?.set('authorDetails', params.authorDetails);
     this.eduTextbook?.set('authorList', this.authorList);
     this.eduTextbook?.set('achievementOptions', this.achievementOptions);
+    params.accept && this.eduTextbook?.set('accept', params.accept);
     await this.eduTextbook?.save();
     return;
   }
+  // http://hep-textbook.oss-cn-beijing.aliyuncs.com/66988340e4964b67e5c0d7b4/2024-7-19/1721355300725-%E5%A4%9A%E8%82%89.jpg
+
+  /**获取文件名 */
+  getFileName(url: string) {
+    if (!url) return ''
+    let str = url?.split('/')[5]
+    let index = str?.indexOf('-')
+    let result = decodeURIComponent(str?.substring(index + 1))
+
+    return result || '未知文件名'
+  }
 }

+ 820 - 0
projects/textbook/src/services/majors.map.ts

@@ -0,0 +1,820 @@
+export const majors = {
+    options:[
+        {"cate":"哲学类"	,"code":"010101","name":	"哲学","degree":	"哲学"},
+        {"cate":"哲学类"	,"code":"010102","name":	"逻辑学","degree":	"哲学"},
+        {"cate":"哲学类"	,"code":"010103K","name":	"宗教学","degree":	"哲学"},
+        {"cate":"哲学类"	,"code":"010104T","name":	"伦理学","degree":	"哲学"},
+        {"cate":"经济学类"	,"code":"020101","name":	"经济学","degree":	"经济学"},
+        {"cate":"经济学类"	,"code":"020102","name":	"经济统计学","degree":	"经济学"},
+        {"cate":"经济学类"	,"code":"020103T","name":	"国民经济管理","degree":	"经济学"},
+        {"cate":"经济学类"	,"code":"020104T","name":	"资源与环境经济学","degree":	"经济学"},
+        {"cate":"经济学类"	,"code":"020105T","name":	"商务经济学","degree":	"经济学"},
+        {"cate":"经济学类"	,"code":"020106T","name":	"能源经济","degree":	"经济学"},
+        {"cate":"经济学类"	,"code":"020107T","name":	"劳动经济学","degree":	"经济学"},
+        {"cate":"经济学类"	,"code":"020108T","name":	"经济工程","degree":	"经济学"},
+        {"cate":"经济学类"	,"code":"020109T","name":	"数字经济","degree":	"经济学"},
+        {"cate":"财政学类"	,"code":"020201K","name":	"财政学","degree":	"经济学"},
+        {"cate":"财政学类"	,"code":"020202","name":	"税收学","degree":	"经济学"},
+        {"cate":"财政学类"	,"code":"020203TK","name":	"国际税收","degree":	"经济学"},
+        {"cate":"金融学类"	,"code":"020301K","name":	"金融学","degree":	"经济学"},
+        {"cate":"金融学类"	,"code":"020302","name":	"金融工程","degree":	"经济学"},
+        {"cate":"金融学类"	,"code":"020303","name":	"保险学","degree":	"经济学"},
+        {"cate":"金融学类"	,"code":"020304","name":	"投资学","degree":	"经济学"},
+        {"cate":"金融学类"	,"code":"020305T","name":	"金融数学","degree":	"经济学"},
+        {"cate":"金融学类"	,"code":"020306T","name":	"信用管理","degree":	"管理学"},
+        {"cate":"金融学类"	,"code":"020307T","name":	"经济与金融","degree":	"经济学"},
+        {"cate":"金融学类"	,"code":"020308T","name":	"精算学","degree":	"理学"},
+        {"cate":"金融学类"	,"code":"020309T","name":	"互联网金融","degree":	"经济学"},
+        {"cate":"金融学类"	,"code":"020310T","name":	"金融科技","degree":	"经济学"},
+        {"cate":"金融学类"	,"code":"020311TK","name":	"金融审计","degree":	"经济学"},
+        {"cate":"经济与贸易类"	,"code":"020401","name":	"国际经济与贸易","degree":	"经济学"},
+        {"cate":"经济与贸易类"	,"code":"020402","name":	"贸易经济","degree":	"经济学"},
+        {"cate":"经济与贸易类"	,"code":"020403T","name":	"国际经济发展合作","degree":	"经济学"},
+        {"cate":"法学类"	,"code":"030101K","name":	"法学","degree":	"法学"},
+        {"cate":"法学类"	,"code":"030102T","name":	"知识产权","degree":	"法学"},
+        {"cate":"法学类"	,"code":"030103T","name":	"监狱学","degree":	"法学"},
+        {"cate":"法学类"	,"code":"030104T","name":	"信用风险管理与法律防控","degree":	"法学"},
+        {"cate":"法学类"	,"code":"030105T","name":	"国际经贸规则","degree":	"法学"},
+        {"cate":"法学类"	,"code":"030106TK","name":	"司法警察学","degree":	"法学"},
+        {"cate":"法学类"	,"code":"030107TK","name":	"社区矫正","degree":	"法学"},
+        {"cate":"法学类"	,"code":"030108TK","name":	"纪检监察","degree":	"法学"},
+        {"cate":"法学类"	,"code":"030109TK","name":	"国际法","degree":	"法学"},
+        {"cate":"法学类"	,"code":"030110TK","name":	"司法鉴定学","degree":	"法学"},
+        {"cate":"法学类"	,"code":"030111TK","name":	"国家安全学","degree":	"法学"},
+        {"cate":"法学类"	,"code":"030112TK","name":	"海外利益安全","degree":	"法学"},
+        {"cate":"政治学类"	,"code":"030201","name":	"政治学与行政学","degree":	"法学"},
+        {"cate":"政治学类"	,"code":"030202","name":	"国际政治","degree":	"法学"},
+        {"cate":"政治学类"	,"code":"030203","name":	"外交学","degree":	"法学"},
+        {"cate":"政治学类"	,"code":"030204T","name":	"国际事务与国际关系","degree":	"法学"},
+        {"cate":"政治学类"	,"code":"030205T","name":	"政治学、经济学与哲学","degree":	"法学"},
+        {"cate":"政治学类"	,"code":"030206TK","name":	"国际组织与全球治理","degree":	"法学"},
+        {"cate":"社会学类"	,"code":"030301","name":	"社会学","degree":	"法学"},
+        {"cate":"社会学类"	,"code":"030302","name":	"社会工作","degree":	"法学"},
+        {"cate":"社会学类"	,"code":"030303T","name":	"人类学","degree":	"法学"},
+        {"cate":"社会学类"	,"code":"030304T","name":	"女性学","degree":	"法学"},
+        {"cate":"社会学类"	,"code":"030305T","name":	"家政学","degree":	"法学"},
+        {"cate":"社会学类"	,"code":"030306T","name":	"老年学","degree":	"法学"},
+        {"cate":"社会学类"	,"code":"030307T","name":	"社会政策","degree":	"法学"},
+        {"cate":"民族学类"	,"code":"030401","name":	"民族学","degree":	"法学"},
+        {"cate":"马克思主义理论类"	,"code":"030501","name":	"科学社会主义","degree":	"法学"},
+        {"cate":"马克思主义理论类"	,"code":"030502","name":	"中国共产党历史","degree":	"法学"},
+        {"cate":"马克思主义理论类"	,"code":"030503","name":	"思想政治教育","degree":	"法学"},
+        {"cate":"马克思主义理论类"	,"code":"030504T","name":	"马克思主义理论","degree":	"法学"},
+        {"cate":"马克思主义理论类"	,"code":"030505TK","name":	"工会学","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030601K","name":	"治安学","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030602K","name":	"侦查学","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030603K","name":	"边防管理","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030604TK","name":	"禁毒学","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030605TK","name":	"警犬技术","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030606TK","name":	"经济犯罪侦查","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030607TK","name":	"边防指挥","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030608TK","name":	"消防指挥","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030609TK","name":	"警卫学","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030610TK","name":	"公安情报学","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030611TK","name":	"犯罪学","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030612TK","name":	"公安管理学","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030613TK","name":	"涉外警务","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030614TK","name":	"国内安全保卫","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030615TK","name":	"警务指挥与战术","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030616TK","name":	"技术侦查学","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030617TK","name":	"海警执法","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030618TK","name":	"公安政治工作","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030619TK","name":	"移民管理","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030620TK","name":	"出入境管理","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030621TK","name":	"反恐警务","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030622TK","name":	"消防政治工作","degree":	"法学"},
+        {"cate":"公安学类"	,"code":"030623TK","name":	"铁路警务","degree":	"法学"},
+        {"cate":"教育学类"	,"code":"040101","name":	"教育学","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040102","name":	"科学教育","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040103","name":	"人文教育","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040104","name":	"教育技术学","degree":	"工学"},
+        {"cate":"教育学类"	,"code":"040105","name":	"艺术教育","degree":	"艺术学"},
+        {"cate":"教育学类"	,"code":"040106","name":	"学前教育","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040107","name":	"小学教育","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040108","name":	"特殊教育","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040109T","name":	"华文教育","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040110TK","name":	"教育康复学","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040111T","name":	"卫生教育","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040112T","name":	"认知科学与技术","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040113T","name":	"融合教育","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040114TK","name":	"劳动教育","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040115T","name":	"家庭教育","degree":	"教育学"},
+        {"cate":"教育学类"	,"code":"040116TK","name":	"孤独症儿童教育","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040201","name":	"体育教育","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040202K","name":	"运动训练","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040203","name":	"社会体育指导与管理","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040204K","name":	"武术与民族传统体育","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040205","name":	"运动人体科学","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040206T","name":	"运动康复","degree":	"理学"},
+        {"cate":"体育学类"	,"code":"040207T","name":	"休闲体育","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040208T","name":	"体能训练","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040209T","name":	"冰雪运动","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040210TK","name":	"电子竞技运动与管理","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040211TK","name":	"智能体育工程","degree":	"工学"},
+        {"cate":"体育学类"	,"code":"040212TK","name":	"体育旅游","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040213T","name":	"运动能力开发","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040214TK","name":	"足球运动","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040215TK","name":	"马术运动与管理","degree":	"教育学"},
+        {"cate":"体育学类"	,"code":"040216T","name":	"体育康养","degree":	"教育学"},
+        {"cate":"中国语言文学类"	,"code":"050101","name":	"汉语言文学","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050102","name":	"汉语言","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050103","name":	"汉语国际教育","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050104","name":	"中国少数民族语言文学","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050105","name":	"古典文献学","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050106T","name":	"应用语言学","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050107T","name":	"秘书学","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050108T","name":	"中国语言与文化","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050109T","name":	"手语翻译","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050110T","name":	"数字人文","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050111T","name":	"中国古典学","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050112T","name":	"汉学与中国学","degree":	"文学"},
+        {"cate":"中国语言文学类"	,"code":"050113T","name":	"应用中文","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050201","name":	"英语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050202","name":	"俄语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050203","name":	"德语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050204","name":	"法语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050205","name":	"西班牙语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050206","name":	"阿拉伯语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050207","name":	"日语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050208","name":	"波斯语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050209","name":	"朝鲜语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050210","name":	"菲律宾语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050211","name":	"梵语巴利语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050212","name":	"印度尼西亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050213","name":	"印地语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050214","name":	"柬埔寨语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050215","name":	"老挝语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050216","name":	"缅甸语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050217","name":	"马来语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050218","name":	"蒙古语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050219","name":	"僧伽罗语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050220","name":	"泰语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050221","name":	"乌尔都语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050222","name":	"希伯来语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050223","name":	"越南语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050224","name":	"豪萨语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050225","name":	"斯瓦希里语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050226","name":	"阿尔巴尼亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050227","name":	"保加利亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050228","name":	"波兰语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050229","name":	"捷克语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050230","name":	"斯洛伐克语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050231","name":	"罗马尼亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050232","name":	"葡萄牙语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050233","name":	"瑞典语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050234","name":	"塞尔维亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050235","name":	"土耳其语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050236","name":	"希腊语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050237","name":	"匈牙利语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050238","name":	"意大利语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050239","name":	"泰米尔语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050240","name":	"普什图语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050241","name":	"世界语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050242","name":	"孟加拉语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050243","name":	"尼泊尔语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050244","name":	"克罗地亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050245","name":	"荷兰语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050246","name":	"芬兰语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050247","name":	"乌克兰语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050248","name":	"挪威语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050249","name":	"丹麦语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050250","name":	"冰岛语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050251","name":	"爱尔兰语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050252","name":	"拉脱维亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050253","name":	"立陶宛语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050254","name":	"斯洛文尼亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050255","name":	"爱沙尼亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050256","name":	"马耳他语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050257","name":	"哈萨克语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050258","name":	"乌兹别克语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050259","name":	"祖鲁语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050260","name":	"拉丁语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050261","name":	"翻译","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050262","name":	"商务英语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050263T","name":	"阿姆哈拉语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050264T","name":	"吉尔吉斯语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050265T","name":	"索马里语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050266T","name":	"土库曼语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050267T","name":	"加泰罗尼亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050268T","name":	"约鲁巴语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050269T","name":	"亚美尼亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050270T","name":	"马达加斯加语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050271T","name":	"格鲁吉亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050272T","name":	"阿塞拜疆语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050273T","name":	"阿非利卡语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050274T","name":	"马其顿语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050275T","name":	"塔吉克语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050276T","name":	"茨瓦纳语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050277T","name":	"恩德贝莱语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050278T","name":	"科摩罗语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050279T","name":	"克里奥尔语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050280T","name":	"绍纳语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050281T","name":	"提格雷尼亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050282T","name":	"白俄罗斯语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050283T","name":	"毛利语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050284T","name":	"汤加语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050285T","name":	"萨摩亚语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050286T","name":	"库尔德语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050287T","name":	"比斯拉马语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050288T","name":	"达里语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050289T","name":	"德顿语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050290T","name":	"迪维希语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050291T","name":	"斐济语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050292T","name":	"库克群岛毛利语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050293T","name":	"隆迪语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050294T","name":	"卢森堡语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050295T","name":	"卢旺达语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050296T","name":	"纽埃语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050297T","name":	"皮金语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050298T","name":	"切瓦语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050299T","name":	"塞苏陀语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"050200T","name":	"桑戈语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"0502100T","name":	"语言学","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"0502101T","name":	"塔玛齐格特语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"0502102T","name":	"爪哇语","degree":	"文学"},
+        {"cate":"外国语言文学类"	,"code":"0502103T","name":	"旁遮普语","degree":	"文学"},
+        {"cate":"新闻传播学类"	,"code":"050301","name":	"新闻学","degree":	"文学"},
+        {"cate":"新闻传播学类"	,"code":"050302","name":	"广播电视学","degree":	"文学"},
+        {"cate":"新闻传播学类"	,"code":"050303","name":	"广告学","degree":	"文学"},
+        {"cate":"新闻传播学类"	,"code":"050304","name":	"传播学","degree":	"文学"},
+        {"cate":"新闻传播学类"	,"code":"050305","name":	"编辑出版学","degree":	"文学"},
+        {"cate":"新闻传播学类"	,"code":"050306T","name":	"网络与新媒体","degree":	"文学"},
+        {"cate":"新闻传播学类"	,"code":"050307T","name":	"数字出版","degree":	"文学"},
+        {"cate":"新闻传播学类"	,"code":"050308T","name":	"时尚传播","degree":	"文学"},
+        {"cate":"新闻传播学类"	,"code":"050309T","name":	"国际新闻与传播","degree":	"文学"},
+        {"cate":"新闻传播学类"	,"code":"050310T","name":	"会展","degree":	"管理学"},
+        {"cate":"历史学类"	,"code":"060101","name":	"历史学","degree":	"历史学"},
+        {"cate":"历史学类"	,"code":"060102","name":	"世界史","degree":	"历史学"},
+        {"cate":"历史学类"	,"code":"060103","name":	"考古学","degree":	"历史学"},
+        {"cate":"历史学类"	,"code":"060104","name":	"文物与博物馆学","degree":	"历史学"},
+        {"cate":"历史学类"	,"code":"060105T","name":	"文物保护技术","degree":	"历史学"},
+        {"cate":"历史学类"	,"code":"060106T","name":	"外国语言与外国历史","degree":	"文学"},
+        {"cate":"历史学类"	,"code":"060107T","name":	"文化遗产","degree":	"历史学"},
+        {"cate":"历史学类"	,"code":"060108T","name":	"古文字学","degree":	"历史学"},
+        {"cate":"历史学类"	,"code":"060109T","name":	"科学史","degree":	"历史学"},
+        {"cate":"数学类"	,"code":"070101","name":	"数学与应用数学","degree":	"理学"},
+        {"cate":"数学类"	,"code":"070102","name":	"信息与计算科学","degree":	"理学"},
+        {"cate":"数学类"	,"code":"070103T","name":	"数理基础科学","degree":	"理学"},
+        {"cate":"数学类"	,"code":"070104T","name":	"数据计算及应用","degree":	"理学"},
+        {"cate":"物理学类"	,"code":"070201","name":	"物理学","degree":	"理学"},
+        {"cate":"物理学类"	,"code":"070202","name":	"应用物理学","degree":	"理学"},
+        {"cate":"物理学类"	,"code":"070203","name":	"核物理","degree":	"理学"},
+        {"cate":"物理学类"	,"code":"070204T","name":	"声学","degree":	"理学"},
+        {"cate":"物理学类"	,"code":"070205T","name":	"系统科学与工程","degree":	"理学"},
+        {"cate":"物理学类"	,"code":"070206T","name":	"量子信息科学","degree":	"理学"},
+        {"cate":"化学类"	,"code":"070301","name":	"化学","degree":	"理学"},
+        {"cate":"化学类"	,"code":"070302","name":	"应用化学","degree":	"工学"},
+        {"cate":"化学类"	,"code":"070303T","name":	"化学生物学","degree":	"理学"},
+        {"cate":"化学类"	,"code":"070304T","name":	"分子科学与工程","degree":	"理学"},
+        {"cate":"化学类"	,"code":"070305T","name":	"能源化学","degree":	"理学"},
+        {"cate":"化学类"	,"code":"070306T","name":	"化学测量学与技术","degree":	"理学"},
+        {"cate":"化学类"	,"code":"070307T","name":	"资源化学","degree":	"理学"},
+        {"cate":"天文学类"	,"code":"070401","name":	"天文学","degree":	"理学"},
+        {"cate":"地理科学类"	,"code":"070501","name":	"地理科学","degree":	"理学"},
+        {"cate":"地理科学类"	,"code":"070502","name":	"自然地理与资源环境","degree":	"管理学"},
+        {"cate":"地理科学类"	,"code":"070503","name":	"人文地理与城乡规划","degree":	"管理学"},
+        {"cate":"地理科学类"	,"code":"070504","name":	"地理信息科学","degree":	"理学"},
+        {"cate":"大气科学类"	,"code":"070601","name":	"大气科学","degree":	"理学"},
+        {"cate":"大气科学类"	,"code":"070602","name":	"应用气象学","degree":	"理学"},
+        {"cate":"大气科学类"	,"code":"070603T","name":	"气象技术与工程","degree":	"理学"},
+        {"cate":"大气科学类"	,"code":"070604T","name":	"地球系统科学","degree":	"理学"},
+        {"cate":"海洋科学类"	,"code":"070701","name":	"海洋科学","degree":	"理学"},
+        {"cate":"海洋科学类"	,"code":"070702","name":	"海洋技术","degree":	"工学"},
+        {"cate":"海洋科学类"	,"code":"070703T","name":	"海洋资源与环境","degree":	"理学"},
+        {"cate":"海洋科学类"	,"code":"070704T","name":	"军事海洋学","degree":	"理学"},
+        {"cate":"地球物理学类"	,"code":"070801","name":	"地球物理学","degree":	"理学"},
+        {"cate":"地球物理学类"	,"code":"070802","name":	"空间科学与技术","degree":	"工学"},
+        {"cate":"地球物理学类"	,"code":"070803T","name":	"防灾减灾科学与工程","degree":	"工学"},
+        {"cate":"地球物理学类"	,"code":"070804TK","name":	"行星科学","degree":	"理学"},
+        {"cate":"地质学类"	,"code":"070901","name":	"地质学","degree":	"理学"},
+        {"cate":"地质学类"	,"code":"070902","name":	"地球化学","degree":	"理学"},
+        {"cate":"地质学类"	,"code":"070903T","name":	"地球信息科学与技术","degree":	"工学"},
+        {"cate":"地质学类"	,"code":"070904T","name":	"古生物学","degree":	"理学"},
+        {"cate":"生物科学类"	,"code":"071001","name":	"生物科学","degree":	"理学"},
+        {"cate":"生物科学类"	,"code":"071002","name":	"生物技术","degree":	"工学"},
+        {"cate":"生物科学类"	,"code":"071003","name":	"生物信息学","degree":	"工学"},
+        {"cate":"生物科学类"	,"code":"071004","name":	"生态学","degree":	"理学"},
+        {"cate":"生物科学类"	,"code":"071005T","name":	"整合科学","degree":	"理学"},
+        {"cate":"生物科学类"	,"code":"071006T","name":	"神经科学","degree":	"理学"},
+        {"cate":"心理学类"	,"code":"071101","name":	"心理学","degree":	"教育学"},
+        {"cate":"心理学类"	,"code":"071102","name":	"应用心理学","degree":	"教育学"},
+        {"cate":"统计学类"	,"code":"071201","name":	"统计学","degree":	"理学"},
+        {"cate":"统计学类"	,"code":"071202","name":	"应用统计学","degree":	"理学"},
+        {"cate":"统计学类"	,"code":"071203T","name":	"数据科学","degree":	"理学"},
+        {"cate":"统计学类"	,"code":"071204T","name":	"生物统计学","degree":	"理学"},
+        {"cate":"力学类"	,"code":"080101","name":	"理论与应用力学","degree":	"理学"},
+        {"cate":"力学类"	,"code":"080102","name":	"工程力学","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080201","name":	"机械工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080202","name":	"机械设计制造及其自动化","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080203","name":	"材料成型及控制工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080204","name":	"机械电子工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080205","name":	"工业设计","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080206","name":	"过程装备与控制工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080207","name":	"车辆工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080208","name":	"汽车服务工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080209T","name":	"机械工艺技术","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080210T","name":	"微机电系统工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080211T","name":	"机电技术教育","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080212T","name":	"汽车维修工程教育","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080213T","name":	"智能制造工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080214T","name":	"智能车辆工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080215T","name":	"仿生科学与工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080216T","name":	"新能源汽车工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080217T","name":	"增材制造工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080218T","name":	"智能交互设计","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080219T","name":	"应急装备技术与工程","degree":	"工学"},
+        {"cate":"机械类"	,"code":"080220T","name":	"农林智能装备工程","degree":	"工学"},
+        {"cate":"仪器类"	,"code":"080301","name":	"测控技术与仪器","degree":	"工学"},
+        {"cate":"仪器类"	,"code":"080302T","name":	"精密仪器","degree":	"工学"},
+        {"cate":"仪器类"	,"code":"080303T","name":	"智能感知工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080401","name":	"材料科学与工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080402","name":	"材料物理","degree":	"理学"},
+        {"cate":"材料类"	,"code":"080403","name":	"材料化学","degree":	"理学"},
+        {"cate":"材料类"	,"code":"080404","name":	"冶金工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080405","name":	"金属材料工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080406","name":	"无机非金属材料工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080407","name":	"高分子材料与工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080408","name":	"复合材料与工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080409T","name":	"粉体材料科学与工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080410T","name":	"宝石及材料工艺学","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080411T","name":	"焊接技术与工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080412T","name":	"功能材料","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080413T","name":	"纳米材料与技术","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080414T","name":	"新能源材料与器件","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080415T","name":	"材料设计科学与工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080416T","name":	"复合材料成型工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080417T","name":	"智能材料与结构","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080418T","name":	"光电信息材料与器件","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080419T","name":	"生物材料","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080420T","name":	"材料智能技术","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080421T","name":	"电子信息材料","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080422T","name":	"软物质科学与工程","degree":	"工学"},
+        {"cate":"材料类"	,"code":"080423T","name":	"稀土材料科学与工程","degree":	"工学"},
+        {"cate":"能源动力类"	,"code":"080501","name":	"能源与动力工程","degree":	"工学"},
+        {"cate":"能源动力类"	,"code":"080502T","name":	"能源与环境系统工程","degree":	"工学"},
+        {"cate":"能源动力类"	,"code":"080503T","name":	"新能源科学与工程","degree":	"工学"},
+        {"cate":"能源动力类"	,"code":"080504T","name":	"储能科学与工程","degree":	"工学"},
+        {"cate":"能源动力类"	,"code":"080505T","name":	"能源服务工程","degree":	"工学"},
+        {"cate":"能源动力类"	,"code":"080506TK","name":	"氢能科学与工程","degree":	"工学"},
+        {"cate":"能源动力类"	,"code":"080507TK","name":	"可持续能源","degree":	"工学"},
+        {"cate":"电气类"	,"code":"080601","name":	"电气工程及其自动化","degree":	"工学"},
+        {"cate":"电气类"	,"code":"080602T","name":	"智能电网信息工程","degree":	"工学"},
+        {"cate":"电气类"	,"code":"080603T","name":	"光源与照明","degree":	"工学"},
+        {"cate":"电气类"	,"code":"080604T","name":	"电气工程与智能控制","degree":	"工学"},
+        {"cate":"电气类"	,"code":"080605T","name":	"电机电器智能化","degree":	"工学"},
+        {"cate":"电气类"	,"code":"080606T","name":	"电缆工程","degree":	"工学"},
+        {"cate":"电气类"	,"code":"080607T","name":	"能源互联网工程","degree":	"工学"},
+        {"cate":"电气类"	,"code":"080608TK","name":	"智慧能源工程","degree":	"工学"},
+        {"cate":"电气类"	,"code":"080609T","name":	"电动载运工程","degree":	"工学"},
+        {"cate":"电气类"	,"code":"080610TK","name":	"大功率半导体科学与工程","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080701","name":	"电子信息工程","degree":	"理学"},
+        {"cate":"电子信息类"	,"code":"080702","name":	"电子科学与技术","degree":	"理学"},
+        {"cate":"电子信息类"	,"code":"080703","name":	"通信工程","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080704","name":	"微电子科学与工程","degree":	"理学"},
+        {"cate":"电子信息类"	,"code":"080705","name":	"光电信息科学与工程","degree":	"理学"},
+        {"cate":"电子信息类"	,"code":"080706","name":	"信息工程","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080707T","name":	"广播电视工程","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080708T","name":	"水声工程","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080709T","name":	"电子封装技术","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080710T","name":	"集成电路设计与集成系统","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080711T","name":	"医学信息工程","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080712T","name":	"电磁场与无线技术","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080713T","name":	"电波传播与天线","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080714T","name":	"电子信息科学与技术","degree":	"理学"},
+        {"cate":"电子信息类"	,"code":"080715T","name":	"电信工程及管理","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080716T","name":	"应用电子技术教育","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080717T","name":	"人工智能","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080718T","name":	"海洋信息工程","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080719T","name":	"柔性电子学","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080720T","name":	"智能测控工程","degree":	"工学"},
+        {"cate":"电子信息类"	,"code":"080721T","name":	"智能视觉工程","degree":	"工学"},
+        {"cate":"自动化类"	,"code":"080801","name":	"自动化","degree":	"工学"},
+        {"cate":"自动化类"	,"code":"080802T","name":	"轨道交通信号与控制","degree":	"工学"},
+        {"cate":"自动化类"	,"code":"080803T","name":	"机器人工程","degree":	"工学"},
+        {"cate":"自动化类"	,"code":"080804T","name":	"邮政工程","degree":	"工学"},
+        {"cate":"自动化类"	,"code":"080805T","name":	"核电技术与控制工程","degree":	"工学"},
+        {"cate":"自动化类"	,"code":"080806T","name":	"智能装备与系统","degree":	"工学"},
+        {"cate":"自动化类"	,"code":"080807T","name":	"工业智能","degree":	"工学"},
+        {"cate":"自动化类"	,"code":"080808T","name":	"智能工程与创意设计","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080901","name":	"计算机科学与技术","degree":	"理学"},
+        {"cate":"计算机类"	,"code":"080902","name":	"软件工程","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080903","name":	"网络工程","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080904K","name":	"信息安全","degree":	"管理学"},
+        {"cate":"计算机类"	,"code":"080905","name":	"物联网工程","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080906","name":	"数字媒体技术","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080907T","name":	"智能科学与技术","degree":	"理学"},
+        {"cate":"计算机类"	,"code":"080908T","name":	"空间信息与数字技术","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080909T","name":	"电子与计算机工程","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080910T","name":	"数据科学与大数据技术","degree":	"理学"},
+        {"cate":"计算机类"	,"code":"080911TK","name":	"网络空间安全","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080912T","name":	"新媒体技术","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080913T","name":	"电影制作","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080914TK","name":	"保密技术","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080915T","name":	"服务科学与工程","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080916T","name":	"虚拟现实技术","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080917T","name":	"区块链工程","degree":	"工学"},
+        {"cate":"计算机类"	,"code":"080918TK","name":	"密码科学与技术","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081001","name":	"土木工程","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081002","name":	"建筑环境与能源应用工程","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081003","name":	"给排水科学与工程","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081004","name":	"建筑电气与智能化","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081005T","name":	"城市地下空间工程","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081006T","name":	"道路桥梁与渡河工程","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081007T","name":	"铁道工程","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081008T","name":	"智能建造","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081009T","name":	"土木、水利与海洋工程","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081010T","name":	"土木、水利与交通工程","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081011T","name":	"城市水系统工程","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081012T","name":	"智能建造与智慧交通","degree":	"工学"},
+        {"cate":"土木类"	,"code":"081013T","name":	"工程软件","degree":	"工学"},
+        {"cate":"水利类"	,"code":"081101","name":	"水利水电工程","degree":	"工学"},
+        {"cate":"水利类"	,"code":"081102","name":	"水文与水资源工程","degree":	"工学"},
+        {"cate":"水利类"	,"code":"081103","name":	"港口航道与海岸工程","degree":	"工学"},
+        {"cate":"水利类"	,"code":"081104T","name":	"水务工程","degree":	"工学"},
+        {"cate":"水利类"	,"code":"081105T","name":	"水利科学与工程","degree":	"工学"},
+        {"cate":"水利类"	,"code":"081106T","name":	"智慧水利","degree":	"工学"},
+        {"cate":"测绘类"	,"code":"081201","name":	"测绘工程","degree":	"工学"},
+        {"cate":"测绘类"	,"code":"081202","name":	"遥感科学与技术","degree":	"工学"},
+        {"cate":"测绘类"	,"code":"081203T","name":	"导航工程","degree":	"工学"},
+        {"cate":"测绘类"	,"code":"081204T","name":	"地理国情监测","degree":	"工学"},
+        {"cate":"测绘类"	,"code":"081205T","name":	"地理空间信息工程","degree":	"工学"},
+        {"cate":"化工与制药类"	,"code":"081301","name":	"化学工程与工艺","degree":	"工学"},
+        {"cate":"化工与制药类"	,"code":"081302","name":	"制药工程","degree":	"工学"},
+        {"cate":"化工与制药类"	,"code":"081303T","name":	"资源循环科学与工程","degree":	"工学"},
+        {"cate":"化工与制药类"	,"code":"081304T","name":	"能源化学工程","degree":	"工学"},
+        {"cate":"化工与制药类"	,"code":"081305T","name":	"化学工程与工业生物工程","degree":	"工学"},
+        {"cate":"化工与制药类"	,"code":"081306T","name":	"化工安全工程","degree":	"工学"},
+        {"cate":"化工与制药类"	,"code":"081307T","name":	"涂料工程","degree":	"工学"},
+        {"cate":"化工与制药类"	,"code":"081308T","name":	"精细化工","degree":	"工学"},
+        {"cate":"地质类"	,"code":"081401","name":	"地质工程","degree":	"工学"},
+        {"cate":"地质类"	,"code":"081402","name":	"勘查技术与工程","degree":	"工学"},
+        {"cate":"地质类"	,"code":"081403K","name":	"资源勘查工程","degree":	"工学"},
+        {"cate":"地质类"	,"code":"081404T","name":	"地下水科学与工程","degree":	"工学"},
+        {"cate":"地质类"	,"code":"081405T","name":	"旅游地学与规划工程","degree":	"工学"},
+        {"cate":"地质类"	,"code":"081406T","name":	"智能地球探测","degree":	"工学"},
+        {"cate":"地质类"	,"code":"081407T","name":	"资源环境大数据工程","degree":	"工学"},
+        {"cate":"矿业类"	,"code":"081501","name":	"采矿工程","degree":	"工学"},
+        {"cate":"矿业类"	,"code":"081502","name":	"石油工程","degree":	"工学"},
+        {"cate":"矿业类"	,"code":"081503","name":	"矿物加工工程","degree":	"工学"},
+        {"cate":"矿业类"	,"code":"081504","name":	"油气储运工程","degree":	"工学"},
+        {"cate":"矿业类"	,"code":"081505T","name":	"矿物资源工程","degree":	"工学"},
+        {"cate":"矿业类"	,"code":"081506T","name":	"海洋油气工程","degree":	"工学"},
+        {"cate":"矿业类"	,"code":"081507T","name":	"智能采矿工程","degree":	"工学"},
+        {"cate":"矿业类"	,"code":"081508TK","name":	"碳储科学与工程","degree":	"工学"},
+        {"cate":"纺织类"	,"code":"081601","name":	"纺织工程","degree":	"工学"},
+        {"cate":"纺织类"	,"code":"081602","name":	"服装设计与工程","degree":	"艺术学"},
+        {"cate":"纺织类"	,"code":"081603T","name":	"非织造材料与工程","degree":	"工学"},
+        {"cate":"纺织类"	,"code":"081604T","name":	"服装设计与工艺教育","degree":	"工学"},
+        {"cate":"纺织类"	,"code":"081605T","name":	"丝绸设计与工程","degree":	"工学"},
+        {"cate":"轻工类"	,"code":"081701","name":	"轻化工程","degree":	"工学"},
+        {"cate":"轻工类"	,"code":"081702","name":	"包装工程","degree":	"工学"},
+        {"cate":"轻工类"	,"code":"081703","name":	"印刷工程","degree":	"工学"},
+        {"cate":"轻工类"	,"code":"081704T","name":	"香料香精技术与工程","degree":	"工学"},
+        {"cate":"轻工类"	,"code":"081705T","name":	"化妆品技术与工程","degree":	"工学"},
+        {"cate":"轻工类"	,"code":"081706TK","name":	"生物质能源与材料","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081801","name":	"交通运输","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081802","name":	"交通工程","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081803K","name":	"航海技术","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081804K","name":	"轮机工程","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081805K","name":	"飞行技术","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081806T","name":	"交通设备与控制工程","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081807T","name":	"救助与打捞工程","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081808TK","name":	"船舶电子电气工程","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081809T","name":	"轨道交通电气与控制","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081810T","name":	"邮轮工程与管理","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081811T","name":	"智慧交通","degree":	"工学"},
+        {"cate":"交通运输类"	,"code":"081812T","name":	"智能运输工程","degree":	"工学"},
+        {"cate":"海洋工程类"	,"code":"081901","name":	"船舶与海洋工程","degree":	"工学"},
+        {"cate":"海洋工程类"	,"code":"081902T","name":	"海洋工程与技术","degree":	"工学"},
+        {"cate":"海洋工程类"	,"code":"081903T","name":	"海洋资源开发技术","degree":	"工学"},
+        {"cate":"海洋工程类"	,"code":"081904T","name":	"海洋机器人","degree":	"工学"},
+        {"cate":"海洋工程类"	,"code":"081905T","name":	"智慧海洋技术","degree":	"工学"},
+        {"cate":"海洋工程类"	,"code":"081906T","name":	"智能海洋装备","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082001","name":	"航空航天工程","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082002","name":	"飞行器设计与工程","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082003","name":	"飞行器制造工程","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082004","name":	"飞行器动力工程","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082005","name":	"飞行器环境与生命保障工程","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082006T","name":	"飞行器质量与可靠性","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082007T","name":	"飞行器适航技术","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082008T","name":	"飞行器控制与信息工程","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082009T","name":	"无人驾驶航空器系统工程","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082010T","name":	"智能飞行器技术","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082011T","name":	"空天智能电推进技术","degree":	"工学"},
+        {"cate":"航空航天类"	,"code":"082012T","name":	"飞行器运维工程","degree":	"工学"},
+        {"cate":"兵器类"	,"code":"082101","name":	"武器系统与工程","degree":	"工学"},
+        {"cate":"兵器类"	,"code":"082102","name":	"武器发射工程","degree":	"工学"},
+        {"cate":"兵器类"	,"code":"082103","name":	"探测制导与控制技术","degree":	"工学"},
+        {"cate":"兵器类"	,"code":"082104","name":	"弹药工程与爆炸技术","degree":	"工学"},
+        {"cate":"兵器类"	,"code":"082105","name":	"特种能源技术与工程","degree":	"工学"},
+        {"cate":"兵器类"	,"code":"082106","name":	"装甲车辆工程","degree":	"工学"},
+        {"cate":"兵器类"	,"code":"082107","name":	"信息对抗技术","degree":	"工学"},
+        {"cate":"兵器类"	,"code":"082108T","name":	"智能无人系统技术","degree":	"工学"},
+        {"cate":"核工程类"	,"code":"082201","name":	"核工程与核技术","degree":	"工学"},
+        {"cate":"核工程类"	,"code":"082202","name":	"辐射防护与核安全","degree":	"工学"},
+        {"cate":"核工程类"	,"code":"082203","name":	"工程物理","degree":	"工学"},
+        {"cate":"核工程类"	,"code":"082204","name":	"核化工与核燃料工程","degree":	"工学"},
+        {"cate":"农业工程类"	,"code":"082301","name":	"农业工程","degree":	"工学"},
+        {"cate":"农业工程类"	,"code":"082302","name":	"农业机械化及其自动化","degree":	"工学"},
+        {"cate":"农业工程类"	,"code":"082303","name":	"农业电气化","degree":	"工学"},
+        {"cate":"农业工程类"	,"code":"082304","name":	"农业建筑环境与能源工程","degree":	"工学"},
+        {"cate":"农业工程类"	,"code":"082305","name":	"农业水利工程","degree":	"工学"},
+        {"cate":"农业工程类"	,"code":"082306T","name":	"土地整治工程","degree":	"工学"},
+        {"cate":"农业工程类"	,"code":"082307T","name":	"农业智能装备工程","degree":	"工学"},
+        {"cate":"林业工程类"	,"code":"082401","name":	"森林工程","degree":	"工学"},
+        {"cate":"林业工程类"	,"code":"082402","name":	"木材科学与工程","degree":	"工学"},
+        {"cate":"林业工程类"	,"code":"082403","name":	"林产化工","degree":	"工学"},
+        {"cate":"林业工程类"	,"code":"082404T","name":	"家具设计与工程","degree":	"工学"},
+        {"cate":"林业工程类"	,"code":"082405T","name":	"木结构建筑与材料","degree":	"工学"},
+        {"cate":"环境科学与工程类"	,"code":"082501","name":	"环境科学与工程","degree":	"工学"},
+        {"cate":"环境科学与工程类"	,"code":"082502","name":	"环境工程","degree":	"工学"},
+        {"cate":"环境科学与工程类"	,"code":"082503","name":	"环境科学","degree":	"理学"},
+        {"cate":"环境科学与工程类"	,"code":"082504","name":	"环境生态工程","degree":	"工学"},
+        {"cate":"环境科学与工程类"	,"code":"082505T","name":	"环保设备工程","degree":	"工学"},
+        {"cate":"环境科学与工程类"	,"code":"082506T","name":	"资源环境科学","degree":	"理学"},
+        {"cate":"环境科学与工程类"	,"code":"082507T","name":	"水质科学与技术","degree":	"工学"},
+        {"cate":"生物医学工程类"	,"code":"082601","name":	"生物医学工程","degree":	"理学"},
+        {"cate":"生物医学工程类"	,"code":"082602T","name":	"假肢矫形工程","degree":	"工学"},
+        {"cate":"生物医学工程类"	,"code":"082603T","name":	"临床工程技术","degree":	"工学"},
+        {"cate":"生物医学工程类"	,"code":"082604T","name":	"康复工程","degree":	"工学"},
+        {"cate":"生物医学工程类"	,"code":"082605T","name":	"健康科学与技术","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082701","name":	"食品科学与工程","degree":	"农学"},
+        {"cate":"食品科学与工程类"	,"code":"082702","name":	"食品质量与安全","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082703","name":	"粮食工程","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082704","name":	"乳品工程","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082705","name":	"酿酒工程","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082706T","name":	"葡萄与葡萄酒工程","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082707T","name":	"食品营养与检验教育","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082708T","name":	"烹饪与营养教育","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082709T","name":	"食品安全与检测","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082710T","name":	"食品营养与健康","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082711T","name":	"食用菌科学与工程","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082712T","name":	"白酒酿造工程","degree":	"工学"},
+        {"cate":"食品科学与工程类"	,"code":"082713T","name":	"咖啡科学与工程","degree":	"工学"},
+        {"cate":"建筑类"	,"code":"082801","name":	"建筑学","degree":	"工学"},
+        {"cate":"建筑类"	,"code":"082802","name":	"城乡规划","degree":	"工学"},
+        {"cate":"建筑类"	,"code":"082803","name":	"风景园林","degree":	"艺术学"},
+        {"cate":"建筑类"	,"code":"082804T","name":	"历史建筑保护工程","degree":	"工学"},
+        {"cate":"建筑类"	,"code":"082805T","name":	"人居环境科学与技术","degree":	"工学"},
+        {"cate":"建筑类"	,"code":"082806T","name":	"城市设计","degree":	"工学"},
+        {"cate":"建筑类"	,"code":"082807T","name":	"智慧建筑与建造","degree":	"工学"},
+        {"cate":"安全科学与工程类"	,"code":"082901","name":	"安全工程","degree":	"工学"},
+        {"cate":"安全科学与工程类"	,"code":"082902T","name":	"应急技术与管理","degree":	"工学"},
+        {"cate":"安全科学与工程类"	,"code":"082903T","name":	"职业卫生工程","degree":	"工学"},
+        {"cate":"安全科学与工程类"	,"code":"082904T","name":	"安全生产监管","degree":	"工学"},
+        {"cate":"生物工程类"	,"code":"083001","name":	"生物工程","degree":	"工学"},
+        {"cate":"生物工程类"	,"code":"083002T","name":	"生物制药","degree":	"工学"},
+        {"cate":"生物工程类"	,"code":"083003T","name":	"合成生物学","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083101K","name":	"刑事科学技术","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083102K","name":	"消防工程","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083103TK","name":	"交通管理工程","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083104TK","name":	"安全防范工程","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083105TK","name":	"公安视听技术","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083106TK","name":	"抢险救援指挥与技术","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083107TK","name":	"火灾勘查","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083108TK","name":	"网络安全与执法","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083109TK","name":	"核生化消防","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083110TK","name":	"海警舰艇指挥与技术","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083111TK","name":	"数据警务技术","degree":	"工学"},
+        {"cate":"公安技术类"	,"code":"083112TK","name":	"食品药品环境犯罪侦查技术","degree":	"工学"},
+        {"cate":"交叉工程类"	,"code":"083201TK","name":	"未来机器人","degree":	"工学"},
+        {"cate":"交叉工程类"	,"code":"083202TK","name":	"交叉工程","degree":	"工学"},
+        {"cate":"植物生产类"	,"code":"090101","name":	"农学","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090102","name":	"园艺","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090103","name":	"植物保护","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090104","name":	"植物科学与技术","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090105","name":	"种子科学与工程","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090106","name":	"设施农业科学与工程","degree":	"工学"},
+        {"cate":"植物生产类"	,"code":"090107T","name":	"茶学","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090108T","name":	"烟草","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090109T","name":	"应用生物科学","degree":	"理学"},
+        {"cate":"植物生产类"	,"code":"090110T","name":	"农艺教育","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090111T","name":	"园艺教育","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090112T","name":	"智慧农业","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090113T","name":	"菌物科学与工程","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090114T","name":	"农药化肥","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090115T","name":	"生物农药科学与工程","degree":	"农学"},
+        {"cate":"植物生产类"	,"code":"090116TK","name":	"生物育种科学","degree":	"理学"},
+        {"cate":"植物生产类"	,"code":"090117TK","name":	"生物育种技术","degree":	"农学"},
+        {"cate":"自然保护与环境生态类"	,"code":"090201","name":	"农业资源与环境","degree":	"农学"},
+        {"cate":"自然保护与环境生态类"	,"code":"090202","name":	"野生动物与自然保护区管理","degree":	"农学"},
+        {"cate":"自然保护与环境生态类"	,"code":"090203","name":	"水土保持与荒漠化防治","degree":	"农学"},
+        {"cate":"自然保护与环境生态类"	,"code":"090204T","name":	"生物质科学与工程","degree":	"农学"},
+        {"cate":"自然保护与环境生态类"	,"code":"090205T","name":	"土地科学与技术","degree":	"农学"},
+        {"cate":"自然保护与环境生态类"	,"code":"090206T","name":	"湿地保护与恢复","degree":	"农学"},
+        {"cate":"自然保护与环境生态类"	,"code":"090207TK","name":	"国家公园建设与管理","degree":	"农学"},
+        {"cate":"自然保护与环境生态类"	,"code":"090208TK","name":	"生态修复学","degree":	"农学"},
+        {"cate":"动物生产类"	,"code":"090301","name":	"动物科学","degree":	"农学"},
+        {"cate":"动物生产类"	,"code":"090302T","name":	"蚕学","degree":	"农学"},
+        {"cate":"动物生产类"	,"code":"090303T","name":	"蜂学","degree":	"农学"},
+        {"cate":"动物生产类"	,"code":"090304T","name":	"经济动物学","degree":	"农学"},
+        {"cate":"动物生产类"	,"code":"090305T","name":	"马业科学","degree":	"农学"},
+        {"cate":"动物生产类"	,"code":"090306T","name":	"饲料工程","degree":	"农学"},
+        {"cate":"动物生产类"	,"code":"090307T","name":	"智慧牧业科学与工程","degree":	"农学"},
+        {"cate":"动物医学类"	,"code":"090401","name":	"动物医学","degree":	"农学"},
+        {"cate":"动物医学类"	,"code":"090402","name":	"动物药学","degree":	"农学"},
+        {"cate":"动物医学类"	,"code":"090403T","name":	"动植物检疫","degree":	"理学"},
+        {"cate":"动物医学类"	,"code":"090404T","name":	"实验动物学","degree":	"农学"},
+        {"cate":"动物医学类"	,"code":"090405T","name":	"中兽医学","degree":	"农学"},
+        {"cate":"动物医学类"	,"code":"090406TK","name":	"兽医公共卫生","degree":	"农学"},
+        {"cate":"林学类"	,"code":"090501","name":	"林学","degree":	"农学"},
+        {"cate":"林学类"	,"code":"090502","name":	"园林","degree":	"农学"},
+        {"cate":"林学类"	,"code":"090503","name":	"森林保护","degree":	"农学"},
+        {"cate":"林学类"	,"code":"090504T","name":	"经济林","degree":	"农学"},
+        {"cate":"林学类"	,"code":"090505T","name":	"智慧林业","degree":	"农学"},
+        {"cate":"水产类"	,"code":"090601","name":	"水产养殖学","degree":	"农学"},
+        {"cate":"水产类"	,"code":"090602","name":	"海洋渔业科学与技术","degree":	"农学"},
+        {"cate":"水产类"	,"code":"090603T","name":	"水族科学与技术","degree":	"农学"},
+        {"cate":"水产类"	,"code":"090604TK","name":	"水生动物医学","degree":	"农学"},
+        {"cate":"草学类"	,"code":"090701","name":	"草业科学","degree":	"农学"},
+        {"cate":"草学类"	,"code":"090702T","name":	"草坪科学与工程","degree":	"农学"},
+        {"cate":"基础医学类"	,"code":"100101K","name":	"基础医学","degree":	"医学"},
+        {"cate":"基础医学类"	,"code":"100102TK","name":	"生物医学","degree":	"理学"},
+        {"cate":"基础医学类"	,"code":"100103T","name":	"生物医学科学","degree":	"理学"},
+        {"cate":"临床医学类"	,"code":"100201K","name":	"临床医学","degree":	"医学"},
+        {"cate":"临床医学类"	,"code":"100202TK","name":	"麻醉学","degree":	"医学"},
+        {"cate":"临床医学类"	,"code":"100203TK","name":	"医学影像学","degree":	"医学"},
+        {"cate":"临床医学类"	,"code":"100204TK","name":	"眼视光医学","degree":	"医学"},
+        {"cate":"临床医学类"	,"code":"100205TK","name":	"精神医学","degree":	"医学"},
+        {"cate":"临床医学类"	,"code":"100206TK","name":	"放射医学","degree":	"医学"},
+        {"cate":"临床医学类"	,"code":"100207TK","name":	"儿科学","degree":	"医学"},
+        {"cate":"口腔医学类"	,"code":"100301K","name":	"口腔医学","degree":	"医学"},
+        {"cate":"公共卫生与预防医学类"	,"code":"100401K","name":	"预防医学","degree":	"医学"},
+        {"cate":"公共卫生与预防医学类"	,"code":"100402","name":	"食品卫生与营养学","degree":	"理学"},
+        {"cate":"公共卫生与预防医学类"	,"code":"100403TK","name":	"妇幼保健医学","degree":	"医学"},
+        {"cate":"公共卫生与预防医学类"	,"code":"100404TK","name":	"卫生监督","degree":	"医学"},
+        {"cate":"公共卫生与预防医学类"	,"code":"100405TK","name":	"全球健康学","degree":	"理学"},
+        {"cate":"公共卫生与预防医学类"	,"code":"100406T","name":	"运动与公共健康","degree":	"理学"},
+        {"cate":"中医学类"	,"code":"100501K","name":	"中医学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100502K","name":	"针灸推拿学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100503K","name":	"藏医学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100504K","name":	"蒙医学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100505K","name":	"维医学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100506K","name":	"壮医学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100507K","name":	"哈医学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100508TK","name":	"傣医学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100509TK","name":	"回医学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100510TK","name":	"中医康复学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100511TK","name":	"中医养生学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100512TK","name":	"中医儿科学","degree":	"医学"},
+        {"cate":"中医学类"	,"code":"100513TK","name":	"中医骨伤科学","degree":	"医学"},
+        {"cate":"中西医结合类"	,"code":"100601K","name":	"中西医临床医学","degree":	"医学"},
+        {"cate":"药学类"	,"code":"100701","name":	"药学","degree":	"理学"},
+        {"cate":"药学类"	,"code":"100702","name":	"药物制剂","degree":	"理学"},
+        {"cate":"药学类"	,"code":"100703TK","name":	"临床药学","degree":	"理学"},
+        {"cate":"药学类"	,"code":"100704T","name":	"药事管理","degree":	"理学"},
+        {"cate":"药学类"	,"code":"100705T","name":	"药物分析","degree":	"理学"},
+        {"cate":"药学类"	,"code":"100706T","name":	"药物化学","degree":	"理学"},
+        {"cate":"药学类"	,"code":"100707T","name":	"海洋药学","degree":	"理学"},
+        {"cate":"药学类"	,"code":"100708T","name":	"化妆品科学与技术","degree":	"理学"},
+        {"cate":"中药学类"	,"code":"100801","name":	"中药学","degree":	"理学"},
+        {"cate":"中药学类"	,"code":"100802","name":	"中药资源与开发","degree":	"理学"},
+        {"cate":"中药学类"	,"code":"100803T","name":	"藏药学","degree":	"理学"},
+        {"cate":"中药学类"	,"code":"100804T","name":	"蒙药学","degree":	"理学"},
+        {"cate":"中药学类"	,"code":"100805T","name":	"中药制药","degree":	"工学"},
+        {"cate":"中药学类"	,"code":"100806T","name":	"中草药栽培与鉴定","degree":	"理学"},
+        {"cate":"法医学类"	,"code":"100901K","name":	"法医学","degree":	"医学"},
+        {"cate":"医学技术类"	,"code":"101001","name":	"医学检验技术","degree":	"理学"},
+        {"cate":"医学技术类"	,"code":"101002","name":	"医学实验技术","degree":	"理学"},
+        {"cate":"医学技术类"	,"code":"101003","name":	"医学影像技术","degree":	"理学"},
+        {"cate":"医学技术类"	,"code":"101004","name":	"眼视光学","degree":	"理学"},
+        {"cate":"医学技术类"	,"code":"101005","name":	"康复治疗学","degree":	"理学"},
+        {"cate":"医学技术类"	,"code":"101006","name":	"口腔医学技术","degree":	"理学"},
+        {"cate":"医学技术类"	,"code":"101007","name":	"卫生检验与检疫","degree":	"理学"},
+        {"cate":"医学技术类"	,"code":"101008T","name":	"听力与言语康复学","degree":	"理学"},
+        {"cate":"医学技术类"	,"code":"101009T","name":	"康复物理治疗","degree":	"理学"},
+        {"cate":"医学技术类"	,"code":"101010T","name":	"康复作业治疗","degree":	"理学"},
+        {"cate":"医学技术类"	,"code":"101011T","name":	"智能医学工程","degree":	"工学"},
+        {"cate":"医学技术类"	,"code":"101012T","name":	"生物医药数据科学","degree":	"理学"},
+        {"cate":"医学技术类"	,"code":"101013T","name":	"智能影像工程","degree":	"工学"},
+        {"cate":"医学技术类"	,"code":"101014TK","name":	"医工学","degree":	"工学"},
+        {"cate":"护理学类"	,"code":"101101K","name":	"护理学","degree":	"理学"},
+        {"cate":"护理学类"	,"code":"101102TK","name":	"助产学","degree":	"理学"},
+        {"cate":"管理科学与工程类"	,"code":"120101","name":	"管理科学","degree":	"理学"},
+        {"cate":"管理科学与工程类"	,"code":"120102","name":	"信息管理与信息系统","degree":	"工学"},
+        {"cate":"管理科学与工程类"	,"code":"120103","name":	"工程管理","degree":	"工学"},
+        {"cate":"管理科学与工程类"	,"code":"120104","name":	"房地产开发与管理","degree":	"管理学"},
+        {"cate":"管理科学与工程类"	,"code":"120105","name":	"工程造价","degree":	"工学"},
+        {"cate":"管理科学与工程类"	,"code":"120106TK","name":	"保密管理","degree":	"管理学"},
+        {"cate":"管理科学与工程类"	,"code":"120107T","name":	"邮政管理","degree":	"管理学"},
+        {"cate":"管理科学与工程类"	,"code":"120108T","name":	"大数据管理与应用","degree":	"管理学"},
+        {"cate":"管理科学与工程类"	,"code":"120109T","name":	"工程审计","degree":	"管理学"},
+        {"cate":"管理科学与工程类"	,"code":"120110T","name":	"计算金融","degree":	"管理学"},
+        {"cate":"管理科学与工程类"	,"code":"120111T","name":	"应急管理","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120201K","name":	"工商管理","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120202","name":	"市场营销","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120203K","name":	"会计学","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120204","name":	"财务管理","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120205","name":	"国际商务","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120206","name":	"人力资源管理","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120207","name":	"审计学","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120208","name":	"资产评估","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120209","name":	"物业管理","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120210","name":	"文化产业管理","degree":	"艺术学"},
+        {"cate":"工商管理类"	,"code":"120211T","name":	"劳动关系","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120212T","name":	"体育经济与管理","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120213T","name":	"财务会计教育","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120214T","name":	"市场营销教育","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120215T","name":	"零售业管理","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120216T","name":	"创业管理","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120217TK","name":	"海关稽查","degree":	"管理学"},
+        {"cate":"工商管理类"	,"code":"120218T","name":	"内部审计","degree":	"管理学"},
+        {"cate":"农业经济管理类"	,"code":"120301","name":	"农林经济管理","degree":	"管理学"},
+        {"cate":"农业经济管理类"	,"code":"120302","name":	"农村区域发展","degree":	"农学"},
+        {"cate":"农业经济管理类"	,"code":"120303TK","name":	"乡村治理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120401","name":	"公共事业管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120402","name":	"行政管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120403","name":	"劳动与社会保障","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120404","name":	"土地资源管理","degree":	"工学"},
+        {"cate":"公共管理类"	,"code":"120405","name":	"城市管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120406TK","name":	"海关管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120407T","name":	"交通管理","degree":	"工学"},
+        {"cate":"公共管理类"	,"code":"120408T","name":	"海事管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120409T","name":	"公共关系学","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120410T","name":	"健康服务与管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120411TK","name":	"海警后勤管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120412T","name":	"医疗产品管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120413T","name":	"医疗保险","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120414T","name":	"养老服务管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120415TK","name":	"海关检验检疫安全","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120416TK","name":	"海外安全管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120417T","name":	"自然资源登记与管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120418T","name":	"慈善管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120419TK","name":	"航空安防管理","degree":	"管理学"},
+        {"cate":"公共管理类"	,"code":"120420TK","name":	"无障碍管理","degree":	"管理学"},
+        {"cate":"图书情报与档案管理类"	,"code":"120501","name":	"图书馆学","degree":	"管理学"},
+        {"cate":"图书情报与档案管理类"	,"code":"120502","name":	"档案学","degree":	"管理学"},
+        {"cate":"图书情报与档案管理类"	,"code":"120503","name":	"信息资源管理","degree":	"管理学"},
+        {"cate":"物流管理与工程类"	,"code":"120601","name":	"物流管理","degree":	"管理学"},
+        {"cate":"物流管理与工程类"	,"code":"120602","name":	"物流工程","degree":	"工学"},
+        {"cate":"物流管理与工程类"	,"code":"120603T","name":	"采购管理","degree":	"管理学"},
+        {"cate":"物流管理与工程类"	,"code":"120604T","name":	"供应链管理","degree":	"管理学"},
+        {"cate":"工业工程类"	,"code":"120701","name":	"工业工程","degree":	"工学"},
+        {"cate":"工业工程类"	,"code":"120702T","name":	"标准化工程","degree":	"管理学"},
+        {"cate":"工业工程类"	,"code":"120703T","name":	"质量管理工程","degree":	"管理学"},
+        {"cate":"电子商务类"	,"code":"120801","name":	"电子商务","degree":	"工学"},
+        {"cate":"电子商务类"	,"code":"120802T","name":	"电子商务及法律","degree":	"管理学"},
+        {"cate":"电子商务类"	,"code":"120803T","name":	"跨境电子商务","degree":	"管理学"},
+        {"cate":"旅游管理类"	,"code":"120901K","name":	"旅游管理","degree":	"管理学"},
+        {"cate":"旅游管理类"	,"code":"120902","name":	"酒店管理","degree":	"管理学"},
+        {"cate":"旅游管理类"	,"code":"120903","name":	"会展经济与管理","degree":	"管理学"},
+        {"cate":"旅游管理类"	,"code":"120904T","name":	"旅游管理与服务教育","degree":	"管理学"},
+        {"cate":"艺术学理论类"	,"code":"130101","name":	"艺术史论","degree":	"艺术学"},
+        {"cate":"艺术学理论类"	,"code":"130102T","name":	"艺术管理","degree":	"艺术学"},
+        {"cate":"艺术学理论类"	,"code":"130103T","name":	"非物质文化遗产保护","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130201","name":	"音乐表演","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130202","name":	"音乐学","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130203","name":	"作曲与作曲技术理论","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130204","name":	"舞蹈表演","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130205","name":	"舞蹈学","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130206","name":	"舞蹈编导","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130207T","name":	"舞蹈教育","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130208TK","name":	"航空服务艺术与管理","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130209T","name":	"流行音乐","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130210T","name":	"音乐治疗","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130211T","name":	"流行舞蹈","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130212T","name":	"音乐教育","degree":	"艺术学"},
+        {"cate":"音乐与舞蹈学类"	,"code":"130213TK","name":	"冰雪舞蹈表演","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130301","name":	"表演","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130302","name":	"戏剧学","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130303","name":	"电影学","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130304","name":	"戏剧影视文学","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130305","name":	"广播电视编导","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130306","name":	"戏剧影视导演","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130307","name":	"戏剧影视美术设计","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130308","name":	"录音艺术","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130309","name":	"播音与主持艺术","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130310","name":	"动画","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130311T","name":	"影视摄影与制作","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130312T","name":	"影视技术","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130313T","name":	"戏剧教育","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130314TK","name":	"曲艺","degree":	"艺术学"},
+        {"cate":"戏剧与影视学类"	,"code":"130315TK","name":	"音乐剧","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130401","name":	"美术学","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130402","name":	"绘画","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130403","name":	"雕塑","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130404","name":	"摄影","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130405T","name":	"书法学","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130406T","name":	"中国画","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130407TK","name":	"实验艺术","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130408TK","name":	"跨媒体艺术","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130409T","name":	"文物保护与修复","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130410T","name":	"漫画","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130411T","name":	"纤维艺术","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130412TK","name":	"科技艺术","degree":	"艺术学"},
+        {"cate":"美术学类"	,"code":"130413TK","name":	"美术教育","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130501","name":	"艺术设计学","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130502","name":	"视觉传达设计","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130503","name":	"环境设计","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130504","name":	"产品设计","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130505","name":	"服装与服饰设计","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130506","name":	"公共艺术","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130507","name":	"工艺美术","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130508","name":	"数字媒体艺术","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130509T","name":	"艺术与科技","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130510TK","name":	"陶瓷艺术设计","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130511T","name":	"新媒体艺术","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130512T","name":	"包装设计","degree":	"艺术学"},
+        {"cate":"设计学类"	,"code":"130513TK","name":	"珠宝首饰设计与工艺","degree":	"艺术学"}
+    ]
+}

+ 3 - 1
server/.gitignore

@@ -3,4 +3,6 @@ logs/
 database/
 bin/
 dist/
-temp*
+temp*
+!template/
+~$*

+ 16 - 1
server/cloud/authing/func-authing-org-sync.js

@@ -43,8 +43,12 @@ async function syncOrganizationsFromAuthing(){
             // console.log(departList)
             console.log(departList?.length)
             // return
-            let insertRes = await InsertAllDepartment(departList)
+            let insertRes = await InsertAllDepartment(departList);
             console.log(insertRes)
+            // 将所有不存在的部门,设置为isDeleted删除状态
+            try{
+                let deleteRes = await UpdateAllDeleteDepartment(departList);
+            }catch(err){}
             return {code:200,count:departList?.length,message:`成功导入${departList?.length}条`}
         }
         
@@ -57,6 +61,17 @@ async function syncOrganizationsFromAuthing(){
 }
 module.exports.syncOrganizationsFromAuthing = syncOrganizationsFromAuthing
 
+
+async function UpdateAllDeleteDepartment(departList){
+    let existsIdList = departList.map(depart=>depart?.departmentId)
+    existsIdList = existsIdList.filter(item=>item)
+    let sql = `
+    UPDATE "Department" SET "isDeleted" = true
+    WHERE "objectId" <> ALL ($1);
+    `
+    let result = await pgClient().any(sql,[existsIdList]);
+    return result
+}
 async function InsertAllDepartment(departList){
     // {
         //     departmentId: '66868df17adf199d1c77875d',

+ 2 - 1
server/cloud/authing/index.js

@@ -1,3 +1,4 @@
 export * from "./func-authing-session-sync"
 export * from "./func-authing-org-sync"
-export * from "./trigger-user-save"
+export * from "./trigger-user-save"
+export * from "./trigger-department"

+ 77 - 0
server/cloud/authing/trigger-department.js

@@ -0,0 +1,77 @@
+// https://docs.authing.cn/v3/reference/sdk/node/management/%E7%AE%A1%E7%90%86%E7%BB%84%E7%BB%87%E6%9C%BA%E6%9E%84/update-department.html
+const { ManagementClient,Models } = require('authing-node-sdk')
+const managementClient  = new ManagementClient({
+    accessKeyId: '6699e5bc4767805be9cd1ddc', // 用户池级别AKSK
+    accessKeySecret: "c92f71bda13ac9e2e903410148733514",
+    host: 'https://textbook.u2-dev.hep.com.cn', // 应用的认证地址
+})
+
+/**
+ * @example
+ curl -X POST -H "Content-Type: application/json" -H "X-Parse-Application-Id: edu-textbook" -d '{
+  "name": "测试部门",
+  "organizationCode": 1000000
+}' http://127.0.0.1:61337/parse/classes/Department
+ */
+export function defineDepartmentTrigger(){
+    Parse.Cloud.beforeSave("Department", async (request) => {
+        await syncDepartmentInfo(request,request.object)
+    });
+
+    Parse.Cloud.beforeDelete("Department", async (request) => {
+        let organizationCode = request?.object?.get("organizationCode")
+        if(organizationCode) organizationCode = String(organizationCode)
+        const result = await managementClient.deleteDepartment({
+            // 替换组织 Code 和部门 ID
+            organizationCode: organizationCode,
+            departmentId: request?.object?.id
+        });
+    });
+}
+
+
+async function syncDepartmentInfo(request,depart){
+    let authDepartment = {}
+    if(depart?.id) authDepartment.departmentId = depart?.id
+    if(depart?.get("status")) authDepartment.status = depart?.get("status")
+    if(depart?.get("code")) authDepartment.code = depart?.get("code")
+    if(depart?.get("name")) authDepartment.name = depart?.get("name")
+    if(depart?.get("organizationCode")) authDepartment.organizationCode = String(depart?.get("organizationCode"))
+    if(depart?.get("discription")) authDepartment.discription = depart?.get("discription")
+    let parentDepartmentId = depart?.get("parent")?.id || depart?.get("parent")?.objectId || "root"
+    if(parentDepartmentId) authDepartment.parentDepartmentId = parentDepartmentId
+
+    let result
+    if(depart?.id){ // 修改
+
+    // INSERT INTO "Department" ("objectId", "organizationCode", "name", "description","branch","parent","code","createdAt","updatedAt","status","type","hasChildren")
+
+        // let objectId = depart?.departmentId
+        // if(!depart?.hasChildren){ // 最后一级,类型为单位
+        //     depart.type = "单位"
+        // }
+        // let parentId = depart?.parent?.departmentId // 指针是正常的
+        // let branchName = depart?.branch?.name // 分值为当前单位最上级分支(表示应用下,分支最高级名称)
+
+        // rowData.push([
+        //     // 1-5
+        //     objectId, depart?.organizationCode, depart?.name, depart?.description, branchName,
+        //     // 6-10
+        //     parentId, depart?.code, depart?.createdAt || new Date(), depart?.updatedAt || new Date(), depart?.status,
+        //     // 11
+        //     depart?.type,depart?.hasChildren
+        // ])
+
+        // authDepartment.departmentIdType = Models.UpdateDepartmentReqDto.departmentIdType.DEPARTMENT_ID
+        result = await managementClient.updateDepartment(authDepartment);
+        
+    }else{ // 新建
+        // authDepartment.openDepartmentId = depart?.id
+        // console.log(authDepartment)
+        result = await managementClient.createDepartment(authDepartment);
+        if(result?.statusCode==200){
+            request.object.id = result?.data?.departmentId
+        }
+    }
+    // console.log(result)
+}

+ 72 - 0
server/cloud/tbook/func-tbook-export.js

@@ -0,0 +1,72 @@
+const { replaceDocx, docsToPdf } = require("../../lib/docs");
+const Parse = global.Parse;
+
+const path = require("path")
+const TemplateDocxPath = path.join(__dirname,"template/模板-推荐申报表.docx")
+/**
+ * 导出流程教材申报文件
+ */
+async function exportProcessReportDocs(processId) {
+    let query = new Parse.Query("EduTextbook")
+    query.equalTo("eduProcess",processId);
+    let textbookList = await query.find();
+    for (let index = 0; index < textbookList.length; index++) {
+        let textbook = textbookList[index];
+        renderReportDocsByTextbook(textbook)
+    }
+    console.log(textbookList);
+}
+
+module.exports.exportProcessReportDocs = exportProcessReportDocs
+
+async function renderReportDocsByTextbook(textbook){
+    let json = textbook.toJSON();
+
+    // 圆圈选中未选 ○ 未选 ● 选中
+    let circleCheck = ["○","●"];
+    let squareCheck = [``,`☑`];
+    // 方块选中未选 ○ 未选 ● 选中
+    let bookData = {
+        title:padString(json?.title,21),
+        ISBN:padString(json?.ISBN,21),
+        one:squareCheck[(json?.type=="单本"||json?.type=="单册")?1:0], // 单本/单册 ○ 未选 ● 选中
+        full:squareCheck[json?.type=="全册"?1:0], // 全册
+    }
+    console.log(bookData)
+    let bookid = json.code || json?.objectId;
+    let tempFileName = path.join(`${bookid}${json.title}.docx`)
+    replaceDocx(TemplateDocxPath,tempFileName,bookData,{onDocxComplete:(filePath)=>{
+        // 需要API支持
+        // docsToPdf(filePath)
+    }})
+}
+
+
+function padString(str,width) {
+    width = width || 21 // 目标宽度为21个单位
+    spaceChar = "&#160;" // 占位符
+    // 计算字符串的宽度
+    let strWidth = 0;
+    for (let char of str) {
+        // 判断字符是否为中文
+        if (char.match(/[\u4e00-\u9fa5]/)) {
+            strWidth += 4; // 中文字符占4个单位
+        } else {
+            strWidth += 1; // 英文字符占1个单位
+        }
+    }
+
+    const totalPadding = width - strWidth;
+    // 如果已经达到或超过目标宽度,直接返回原字符串
+    if (totalPadding <= 0) {
+        return str;
+    }
+    // 计算左右两侧的空格数
+    const leftPadding = Math.floor(totalPadding / 2) * 3;
+    const rightPadding = Math.ceil(totalPadding / 2) * 3;
+    // 生成填充空格的字符串
+    const leftSpaces = spaceChar.repeat(leftPadding);
+    const rightSpaces = spaceChar.repeat(rightPadding);
+    // 返回补充后的字符串
+    return leftSpaces + str + rightSpaces;
+}

BIN
server/cloud/tbook/template/模板-推荐申报表.docx


+ 8 - 0
server/cloud/tbook/test/test-export.js

@@ -0,0 +1,8 @@
+const Parse = require("parse/node");
+Parse.initialize("edu-textbook");
+Parse.serverURL = "http://8.140.98.43/parse";
+global.Parse = Parse;
+
+const { exportProcessReportDocs } = require("../func-tbook-export");
+
+exportProcessReportDocs("Wz34loxdbO")

Dosya farkı çok büyük olduğundan ihmal edildi
+ 40 - 0
server/lib/docs/index.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 691 - 13
server/package-lock.json


+ 3 - 0
server/package.json

@@ -31,9 +31,12 @@
     "ali-oss": "^6.20.0",
     "authing-js-sdk": "^4.23.51",
     "authing-node-sdk": "^3.1.0",
+    "chromiumly": "^3.6.0",
+    "compressing": "^1.10.1",
     "node-schedule": "^2.1.1",
     "parse-dashboard": "^5.4.0",
     "parse-server": "^7.0.0",
+    "rimraf": "^6.0.1",
     "shelljs": "^0.8.5",
     "yargs": "17.7.2"
   },

+ 2 - 1
server/server.js

@@ -44,7 +44,7 @@ global.config["LOCAL"] = argv.local || process.env["LOCAL"] || appConfig["LOCAL"
 
 import  {textbookRouter} from "./api/textbook/routes";
 import { defineAliOssSTS } from "./cloud/aliyun"
-import { defineAuthingLogin, defineUserAfterDelete, defineUserBeforeSave } from "./cloud/authing"
+import { defineAuthingLogin, defineDepartmentTrigger, defineUserAfterDelete, defineUserBeforeSave } from "./cloud/authing"
 import { defineAuthingDepartSync } from "./cloud/authing"
 import { defineUserAfterSave } from "./cloud/authing"
 import { defineTbookISBN } from "./cloud/tbook"
@@ -185,6 +185,7 @@ async function initParseAndDatabase(){
       defineUserAfterSave();
       defineUserBeforeSave();
       defineUserAfterDelete();
+      defineDepartmentTrigger();
       defineTbookISBN();
     });
  

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor