UNPKG

@ecip/application

Version:
194 lines 16.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ViewChild } from '@angular/core'; import { _HttpClient, MenuService, ModalHelper } from '@delon/theme'; import { STComponent } from '@delon/abc'; import { NzMessageService } from 'ng-zorro-antd'; import { ApplicationAppsEditComponent } from "./edit/edit.component"; import { ApplicationAppsViewComponent } from "./view/view.component"; import { CacheService } from "@delon/cache"; import { DictService } from "@ecip/service"; import { Router } from "@angular/router"; export class ApplicationAppsComponent { /** * @param {?} http * @param {?} modal * @param {?} msgSrv * @param {?} cacheService * @param {?} dictService * @param {?} menuSrv * @param {?} router */ constructor(http, modal, msgSrv, cacheService, dictService, menuSrv, router) { this.http = http; this.modal = modal; this.msgSrv = msgSrv; this.cacheService = cacheService; this.dictService = dictService; this.menuSrv = menuSrv; this.router = router; this.url = `api/v1/sysrRegisterApp/list`; // navigationSubscription; this.searchSchema = { properties: { //搜索属性设置 appName: { type: 'string', title: '系统名称' } } }; this.columns = [ { title: '系统ID', index: 'appId' }, { title: '系统名称', index: 'appName' }, { title: '版本号', index: 'rsvn' }, { title: '系统类型', render: 'typeApp' }, { title: '认证方式', render: 'typeAuth' }, { title: '备注说明', index: 'remark' }, { title: '注册日期', type: 'date', index: 'createDate' }, { title: '安全性IP启用标记', index: 'flagIpText' }, { title: '登录日志启用标记', index: 'flagLLogText' }, { title: '操作日志启用标记', index: 'flagLogOptText' }, { title: '启用状态', index: 'statusText' }, { title: '操作', width: '100px', buttons: [ { text: '查看', type: 'static', component: ApplicationAppsViewComponent, click: 'reload', acl: { ability: ['apps:view'] } }, { text: '', children: [ { text: '编辑', type: 'static', component: ApplicationAppsEditComponent, click: 'reload', acl: { ability: ['apps:edit'] } }, { text: '删除', type: 'del', click: (/** * @param {?} item * @return {?} */ (item) => { //删除 this.http.delete(`api/v1/sysrRegisterApp/${item.appId}`).subscribe((/** * @param {?} res * @return {?} */ res => { this.msgSrv.success('删除成功'); this.st.reload(); })); }), acl: { ability: ['apps:remove'] } }, ], }, ] } ]; // this.navigationSubscription = this.router.events.subscribe((event: any) => { // if (event instanceof NavigationEnd) { // setTimeout(() => { // this.sf.reset(true); // }, 100); // } // }); } // _onReuseInit() { // this.navigationSubscription = this.router.events.subscribe((event: any) => { // if (event instanceof NavigationEnd) { // setTimeout(() => { // this.sf.reset(true); // }, 100); // } // }); // } // _onReuseDestroy() { // if (this.navigationSubscription) { // this.navigationSubscription.unsubscribe(); // } // } /** * @return {?} */ ngOnDestroy() { // if (this.navigationSubscription) { // this.navigationSubscription.unsubscribe(); // } } /** * @return {?} */ ngOnInit() { } // 新增 /** * @return {?} */ add() { this.modal .createStatic(ApplicationAppsEditComponent, {}) .subscribe((/** * @return {?} */ () => this.st.reload())); } } ApplicationAppsComponent.decorators = [ { type: Component, args: [{ selector: 'app-application-apps', template: "<page-header [action]=\"phPhAction\">\r\n <ng-template #phPhAction>\r\n <button acl [acl-ability]=\"'apps:add'\" (click)=\"add()\" nz-button nzType=\"primary\">\u65B0\u5EFA</button>\r\n </ng-template>\r\n</page-header>\r\n<nz-card>\r\n <sf mode=\"search\" [schema]=\"searchSchema\" (formSubmit)=\"st.reset($event)\" (formReset)=\"st.reset($event)\"></sf>\r\n <st #st [data]=\"url\" [columns]=\"columns\">\r\n <ng-template st-row=\"typeApp\" let-item let-index=\"index\">\r\n {{item.typeApp | dictLabel:'typeApp' | async}}\r\n <!--{{dictService.dictLabel('typeApp', item.typeApp) | async}}-->\r\n </ng-template>\r\n <ng-template st-row=\"typeAuth\" let-item let-index=\"index\">{{item.typeAuth | dictLabel:'authType' | async}}</ng-template>\r\n </st>\r\n</nz-card>\r\n" }] } ]; /** @nocollapse */ ApplicationAppsComponent.ctorParameters = () => [ { type: _HttpClient }, { type: ModalHelper }, { type: NzMessageService }, { type: CacheService }, { type: DictService }, { type: MenuService }, { type: Router } ]; ApplicationAppsComponent.propDecorators = { st: [{ type: ViewChild, args: ['st',] }] }; if (false) { /** @type {?} */ ApplicationAppsComponent.prototype.url; /** @type {?} */ ApplicationAppsComponent.prototype.searchSchema; /** @type {?} */ ApplicationAppsComponent.prototype.st; /** @type {?} */ ApplicationAppsComponent.prototype.columns; /** * @type {?} * @private */ ApplicationAppsComponent.prototype.http; /** * @type {?} * @private */ ApplicationAppsComponent.prototype.modal; /** * @type {?} * @private */ ApplicationAppsComponent.prototype.msgSrv; /** * @type {?} * @private */ ApplicationAppsComponent.prototype.cacheService; /** @type {?} */ ApplicationAppsComponent.prototype.dictService; /** * @type {?} * @private */ ApplicationAppsComponent.prototype.menuSrv; /** * @type {?} * @private */ ApplicationAppsComponent.prototype.router; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZWNpcC9hcHBsaWNhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy9hcHBzL2FwcHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ25FLE9BQU8sRUFBWSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQWdCLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBT3RELE1BQU0sT0FBTyx3QkFBd0I7Ozs7Ozs7Ozs7SUFvRG5DLFlBQW9CLElBQWlCLEVBQ2pCLEtBQWtCLEVBQ2xCLE1BQXdCLEVBQ3hCLFlBQTBCLEVBQzNCLFdBQXdCLEVBQ3ZCLE9BQW9CLEVBQ3BCLE1BQWM7UUFOZCxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQWE7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBeERsQyxRQUFHLEdBQUcsNkJBQTZCLENBQUM7O1FBR3BD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LEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUMsQ0FBQztJQUN2QyxDQUFDOzs7WUFyR0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLHN5QkFBb0M7YUFDckM7Ozs7WUFkTyxXQUFXO1lBQWUsV0FBVztZQUdwQyxnQkFBZ0I7WUFHakIsWUFBWTtZQUNaLFdBQVc7WUFQRSxXQUFXO1lBUVQsTUFBTTs7O2lCQXFCMUIsU0FBUyxTQUFDLElBQUk7Ozs7SUFaZix1Q0FBb0M7O0lBR3BDLGdEQVFFOztJQUNGLHNDQUFpQzs7SUFDakMsMkNBbUNFOzs7OztJQUVVLHdDQUF5Qjs7Ozs7SUFDekIseUNBQTBCOzs7OztJQUMxQiwwQ0FBZ0M7Ozs7O0lBQ2hDLGdEQUFrQzs7SUFDbEMsK0NBQStCOzs7OztJQUMvQiwyQ0FBNEI7Ozs7O0lBQzVCLDBDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7X0h0dHBDbGllbnQsIE1lbnVTZXJ2aWNlLCBNb2RhbEhlbHBlcn0gZnJvbSAnQGRlbG9uL3RoZW1lJztcclxuaW1wb3J0IHsgU1RDb2x1bW4sIFNUQ29tcG9uZW50IH0gZnJvbSAnQGRlbG9uL2FiYyc7XHJcbmltcG9ydCB7U0ZDb21wb25lbnQsIFNGU2NoZW1hfSBmcm9tICdAZGVsb24vZm9ybSc7XHJcbmltcG9ydCB7IE56TWVzc2FnZVNlcnZpY2V9IGZyb20gJ25nLXpvcnJvLWFudGQnO1xyXG5pbXBvcnQge0FwcGxpY2F0aW9uQXBwc0VkaXRDb21wb25lbnR9IGZyb20gXCIuL2VkaXQvZWRpdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtBcHBsaWNhdGlvbkFwcHNWaWV3Q29tcG9uZW50fSBmcm9tIFwiLi92aWV3L3ZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q2FjaGVTZXJ2aWNlfSBmcm9tIFwiQGRlbG9uL2NhY2hlXCI7XHJcbmltcG9ydCB7RGljdFNlcnZpY2V9IGZyb20gXCJAZWNpcC9zZXJ2aWNlXCI7XHJcbmltcG9ydCB7TmF2aWdhdGlvbkVuZCwgUm91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYXBwbGljYXRpb24tYXBwcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcHMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25BcHBzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3l7XHJcblxyXG4gIHVybCA9IGBhcGkvdjEvc3lzclJlZ2lzdGVyQXBwL2xpc3RgO1xyXG5cclxuICAvLyBuYXZpZ2F0aW9uU3Vic2NyaXB0aW9uO1xyXG4gIHNlYXJjaFNjaGVtYTogU0ZTY2hlbWEgPSB7XHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgIC8v5pCc57Si5bGe5oCn6K6+572uXHJcbiAgICAgIGFwcE5hbWU6IHtcclxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICB0aXRsZTogJ+ezu+e7n+WQjeensCdcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcbiAgQFZpZXdDaGlsZCgnc3QnKSBzdDogU1RDb21wb25lbnQ7XHJcbiAgY29sdW1uczogU1RDb2x1bW5bXSA9IFtcclxuICAgIHsgdGl0bGU6ICfns7vnu59JRCcsIGluZGV4OiAnYXBwSWQnIH0sXHJcbiAgICB7IHRpdGxlOiAn57O757uf5ZCN56ewJywgaW5kZXg6ICdhcHBOYW1lJyB9LFxyXG4gICAgeyB0aXRsZTogJ+eJiOacrOWPtycsIGluZGV4OiAncnN2bicgfSxcclxuICAgIHsgdGl0bGU6ICfns7vnu5/nsbvlnosnLCByZW5kZXI6ICd0eXBlQXBwJyB9LFxyXG4gICAgeyB0aXRsZTogJ+iupOivgeaWueW8jycsIHJlbmRlcjogJ3R5cGVBdXRoJyB9LFxyXG4gICAgeyB0aXRsZTogJ+Wkh+azqOivtOaYjicsIGluZGV4OiAncmVtYXJrJyB9LFxyXG4gICAgeyB0aXRsZTogJ+azqOWGjOaXpeacnycsIHR5cGU6ICdkYXRlJywgaW5kZXg6ICdjcmVhdGVEYXRlJyB9LFxyXG4gICAgeyB0aXRsZTogJ+WuieWFqOaAp0lQ5ZCv55So5qCH6K6wJywgaW5kZXg6ICdmbGFnSXBUZXh0JyB9LFxyXG4gICAgeyB0aXRsZTogJ+eZu+W9leaXpeW/l+WQr+eUqOagh+iusCcsIGluZGV4OiAnZmxhZ0xMb2dUZXh0JyB9LFxyXG4gICAgeyB0aXRsZTogJ+aTjeS9nOaXpeW/l+WQr+eUqOagh+iusCcsIGluZGV4OiAnZmxhZ0xvZ09wdFRleHQnIH0sXHJcbiAgICB7IHRpdGxlOiAn5ZCv55So54q25oCBJywgaW5kZXg6ICdzdGF0dXNUZXh0JyB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ+aTjeS9nCcsXHJcbiAgICAgIHdpZHRoOiAnMTAwcHgnLFxyXG4gICAgICBidXR0b25zOiBbXHJcbiAgICAgICAgeyB0ZXh0OiAn5p+l55yLJywgdHlwZTogJ3N0YXRpYycsIGNvbXBvbmVudDogQXBwbGljYXRpb25BcHBzVmlld0NvbXBvbmVudCwgY2xpY2s6ICdyZWxvYWQnLCBhY2w6IHsgYWJpbGl0eTogWydhcHBzOnZpZXcnXSB9fSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICAgIGNoaWxkcmVuOiBbXHJcblxyXG4gICAgICAgICAgICB7IHRleHQ6ICfnvJbovpEnLCB0eXBlOiAnc3RhdGljJywgY29tcG9uZW50OiBBcHBsaWNhdGlvbkFwcHNFZGl0Q29tcG9uZW50LCBjbGljazogJ3JlbG9hZCcsIGFjbDogeyBhYmlsaXR5OiBbJ2FwcHM6ZWRpdCddIH0gfSxcclxuICAgICAgICAgICAgeyB0ZXh0OiAn5Yig6ZmkJywgdHlwZTogJ2RlbCcsIGNsaWNrOiAoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvL+WIoOmZpFxyXG4gICAgICAgICAgICAgICAgdGhpcy5odHRwLmRlbGV0ZShgYXBpL3YxL3N5c3JSZWdpc3RlckFwcC8ke2l0ZW0uYXBwSWR9YCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubXNnU3J2LnN1Y2Nlc3MoJ+WIoOmZpOaIkOWKnycpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnN0LnJlbG9hZCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBhY2w6IHsgYWJpbGl0eTogWydhcHBzOnJlbW92ZSddIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXVxyXG4gICAgfVxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogX0h0dHBDbGllbnQsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBtb2RhbDogTW9kYWxIZWxwZXIsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBtc2dTcnY6IE56TWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGljdFNlcnZpY2U6IERpY3RTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgbWVudVNydjogTWVudVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgLy8gdGhpcy5uYXZpZ2F0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgLy8gICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAvLyAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAvLyAgICAgICB0aGlzLnNmLnJlc2V0KHRydWUpO1xyXG4gICAgLy8gICAgIH0sIDEwMCk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gX29uUmV1c2VJbml0KCkge1xyXG4gICAgLy8gdGhpcy5uYXZpZ2F0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgLy8gICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAvLyAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAvLyAgICAgICB0aGlzLnNmLnJlc2V0KHRydWUpO1xyXG4gICAgLy8gICAgIH0sIDEwMCk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gX29uUmV1c2VEZXN0cm95KCkge1xyXG4gIC8vICAgaWYgKHRoaXMubmF2aWdhdGlvblN1YnNjcmlwdGlvbikge1xyXG4gIC8vICAgICB0aGlzLm5hdmlnYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgLy8gaWYgKHRoaXMubmF2aWdhdGlvblN1YnNjcmlwdGlvbikge1xyXG4gICAgLy8gICB0aGlzLm5hdmlnYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgLy8g5paw5aKeXHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5tb2RhbFxyXG4gICAgICAuY3JlYXRlU3RhdGljKEFwcGxpY2F0aW9uQXBwc0VkaXRDb21wb25lbnQsIHt9KVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc3QucmVsb2FkKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=