diff --git a/src/booklist-angular/src/app/AppMenus.ts b/src/booklist-angular/src/app/AppMenus.ts index 68f305ecef6354a9515ce7852d5e481445b9ff33..df41722b84d083f9741eabe95742ffcd5436fdb9 100644 --- a/src/booklist-angular/src/app/AppMenus.ts +++ b/src/booklist-angular/src/app/AppMenus.ts @@ -19,13 +19,14 @@ export class AppMenus { ), new MenuItem('Users', 'Pages.Users', 'anticon anticon-user', '/app/users'), new MenuItem('About', '', 'anticon anticon-info-circle-o', '/app/about'), - new MenuItem('CloudBookList', '', 'anticon anticon-info-circle-o', '', [ // 租户 // 角色 // 用户 // 关于我们 // 云书单 + new MenuItem('CloudBookList', '', 'anticon anticon-info-circle-o', '', [ + // 租户 // 角色 // 用户 // 关于我们 // 云书单 // 书籍 new MenuItem( 'Books', - 'Pages.BookManager', + 'Pages.Book', 'anticon anticon-book', - '/app/cloud-book-list/books', + '/app/cloud-book-list/book', ), // 书单列表 new MenuItem( diff --git a/src/booklist-angular/src/app/cloud-book-list/books/Readme.md b/src/booklist-angular/src/app/cloud-book-list/books/Readme.md new file mode 100644 index 0000000000000000000000000000000000000000..638a66ab74d7f9e604fdbd96d9707eef4fd7fb53 --- /dev/null +++ b/src/booklist-angular/src/app/cloud-book-list/books/Readme.md @@ -0,0 +1,75 @@ + + +# 前端配置 +# service-proxy.module 配置 + +1. 首先在前端项目的根目录中的打开 `nswag-> refresh.bat` 批处理文件更新 service-proxies.ts 文件内容 + +2. 再到文件夹路径为`\src\shared\service-proxies\service-proxy.module.ts` 文件中添加以下代码: + +``` +@NgModule({ + providers: [ + //以下内容复制进去 + ApiServiceProxies.BookServiceProxy, + // + ], + }) + +``` + +# 菜单配置, 添加到菜单位置 +到`AppMenus.ts`文件中添加菜单路径 + +> 复制以下最新代码段内容 + +``` +{text:'Book',i18n:'Book',acl:'Pages.Book',icon:'anticon anticon-dashboard',link:'/app/admin/book'} +``` + + +> 如果您使用的是`yoyo-ng-module`的话,请复制以下代码段内容: +``` +new MenuItem('Book', 'Pages.Book', 'anticon anticon-dashboard', '/app/admin/book') +``` + +> '/app/admin/book') 中的 admin 可以自行更改到你的特定模块下, + +# 路由配置, 添加到使用位置路由的代码段 + + +添加以下代码到自己的模块路由中:如`src\app\admin\admin-routing.module.ts` + + +#### 不带权限 +``` +{ path: 'book', component:BookComponent }, +``` + +#### 带权限验证 + +``` +{ path: 'book', component:BookComponent,data: { permission: 'Pages.Book' } }, + +``` + +以上二选一 + + + + + +# 在本组件的 Module 中,添加以下代码到使用的 @NgModule 中的代码 +### ================ 在 declarations 项中: + +``` +BookComponent, +CreateOrEditBookComponent, + +``` + +### ================ 在 entryComponents 项中: + +``` +CreateOrEditBookComponent, +``` \ No newline at end of file diff --git a/src/booklist-angular/src/app/cloud-book-list/books/books.component.html b/src/booklist-angular/src/app/cloud-book-list/books/book.component.html similarity index 50% rename from src/booklist-angular/src/app/cloud-book-list/books/books.component.html rename to src/booklist-angular/src/app/cloud-book-list/books/book.component.html index 03d9dbb4988f8e582d8cf88b6137468fafe01b08..d1e64682890cd5850abea4f1f0b984d19b3364ce 100644 --- a/src/booklist-angular/src/app/cloud-book-list/books/books.component.html +++ b/src/booklist-angular/src/app/cloud-book-list/books/book.component.html @@ -1,21 +1,22 @@ - + + + -
- + - + - - + + + + + - - - @@ -25,36 +26,45 @@
- - - -
- -
- - - - - {{ l('ClearEmpty') }} - - {{ l('Refresh') }} - - - + @@ -69,40 +79,30 @@ - {{ - l( - 'GridFooterDisplayText', - pageNumber, - totalPages, - total, - range[0], - range[1] - ) - }} + {{l('GridFooterDisplayText',pageNumber,totalPages,total,range[0],range[1])}} - - - {{ l('ImgUrl') }} - + (nzCheckedChange)="checkAll($event)"> - {{ l('Name') }} + {{l('Name')}} - {{ l('Author') }} + {{l('Author')}} - {{ l('Intro') }} + {{l('Intro')}} - {{ l('PriceUrl') }} + {{l('PriceUrl')}} + + + {{l('ImgUrl')}} - {{ l('Actions') }} + {{l('Actions')}} @@ -111,35 +111,46 @@ - - 封面图片 + - {{ item.name }} + + {{item.name}} + - {{ item.author }} + + {{item.author}} + - - {{ item.intro }} + + + {{item.intro}} + - {{ item.priceUrl }} + + {{item.priceUrl}} + + + + + - {{ l('Edit') }} + {{l('Edit')}} @@ -149,24 +160,39 @@ [nzCancelText]="l('Cancel')"> - {{ l('Delete') }} + {{l('Delete')}} - + - - {{ l('More') }} + {{l('More')}} + + + diff --git a/src/booklist-angular/src/app/cloud-book-list/books/books.component.less b/src/booklist-angular/src/app/cloud-book-list/books/book.component.less similarity index 100% rename from src/booklist-angular/src/app/cloud-book-list/books/books.component.less rename to src/booklist-angular/src/app/cloud-book-list/books/book.component.less diff --git a/src/booklist-angular/src/app/cloud-book-list/books/books.component.ts b/src/booklist-angular/src/app/cloud-book-list/books/book.component.ts similarity index 63% rename from src/booklist-angular/src/app/cloud-book-list/books/books.component.ts rename to src/booklist-angular/src/app/cloud-book-list/books/book.component.ts index 1e5482415e802c275708e2b3ac8c8fc46365de26..68095a01d2d9f96997c5567df3da824734f6b06d 100644 --- a/src/booklist-angular/src/app/cloud-book-list/books/books.component.ts +++ b/src/booklist-angular/src/app/cloud-book-list/books/book.component.ts @@ -1,34 +1,35 @@ -import { PagedRequestDto } from '@shared/component-base/paged-listing-component-base'; -import { BookServiceProxy } from './../../../shared/service-proxies/service-proxies'; -import { Component, OnInit, Injector } from '@angular/core'; -import { appModuleAnimation } from '@shared/animations/routerTransition'; -import { PagedListingComponentBase } from '@shared/component-base'; -import { BookListDto } from '@shared/service-proxies/service-proxies'; -import { finalize } from 'rxjs/operators'; +import { Component, Injector, OnInit } from '@angular/core'; import * as _ from 'lodash'; +import { appModuleAnimation } from '@shared/animations/routerTransition'; +import { + PagedListingComponentBase, + PagedRequestDto, +} from '@shared/component-base/paged-listing-component-base'; +import { + BookServiceProxy, + PagedResultDtoOfBookListDto, + BookListDto, +} from '@shared/service-proxies/service-proxies'; import { CreateOrEditBookComponent } from './create-or-edit-book/create-or-edit-book.component'; +import { AppConsts } from '@shared/AppConsts'; +// import { FileDownloadService } from '@shared/utils/file-download.service'; @Component({ - // selector: 'app-books', - templateUrl: './books.component.html', - styles: ['./books.component.less'], + templateUrl: './book.component.html', + styleUrls: ['./book.component.less'], animations: [appModuleAnimation()], }) -export class BooksComponent extends PagedListingComponentBase +export class BookComponent extends PagedListingComponentBase implements OnInit { constructor(injector: Injector, private _bookService: BookServiceProxy) { super(injector); } - // ngOnInit() { - // this.refresh(); - // } - /** - * 默认获取后端分页数据列表信息 - * @param request 请求数据的dto,比如分页 - * @param pageNumber 当前的页码 - * @param finishedCallback 完成请求后的回调信息 + * 获取后端数据列表信息 + * @param request 请求的数据的dto 请求必需参数 skipCount: number; maxResultCount: number; + * @param pageNumber 当前页码 + * @param finishedCallback 完成后回调函数 */ protected fetchDataList( request: PagedRequestDto, @@ -36,17 +37,15 @@ export class BooksComponent extends PagedListingComponentBase finishedCallback: Function, ): void { this._bookService - .getPageBookAsync( + .getPaged( this.filterText, request.sorting, - request.skipCount, request.maxResultCount, + request.skipCount, ) - .pipe( - finalize(() => { - finishedCallback(); - }), - ) + .finally(() => { + finishedCallback(); + }) .subscribe(result => { this.dataList = result.items; this.showPaging(result); @@ -72,7 +71,7 @@ export class BooksComponent extends PagedListingComponentBase * @param entity 角色的实体信息 */ delete(entity: BookListDto): void { - this._bookService.deleteBook(entity.id).subscribe(() => { + this._bookService.delete(entity.id).subscribe(() => { /** * 刷新表格数据并跳转到第一页(`pageNumber = 1`) */ @@ -96,7 +95,7 @@ export class BooksComponent extends PagedListingComponentBase res => { if (res) { const ids = _.map(this.selectedDataItems, 'id'); - this._bookService.batchDeleteBook(ids).subscribe(() => { + this._bookService.batchDelete(ids).subscribe(() => { this.refreshGoFirstPage(); this.notify.success(this.l('SuccessfullyDeleted')); }); @@ -114,10 +113,4 @@ export class BooksComponent extends PagedListingComponentBase // this._fileDownloadService.downloadTempFile(result); // }); } - - // showImg(url: string) { - // this.modalHelper - // .open(ImgShowComponent, { imgUrl: url }, 'md') - // .subscribe(() => {}); - // } } diff --git a/src/booklist-angular/src/app/cloud-book-list/books/create-or-edit-book/create-or-edit-book.component.html b/src/booklist-angular/src/app/cloud-book-list/books/create-or-edit-book/create-or-edit-book.component.html index 520958b2f83c733bc97a22ee9ed26025be9e4c29..6585f1a83323b402a9b61b742ec648f39c71516a 100644 --- a/src/booklist-angular/src/app/cloud-book-list/books/create-or-edit-book/create-or-edit-book.component.html +++ b/src/booklist-angular/src/app/cloud-book-list/books/create-or-edit-book/create-or-edit-book.component.html @@ -1,101 +1,94 @@ + +
- -