@ecip/application
Version:
194 lines • 16.9 kB
JavaScript
/**
* @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=