@ecip/auth
Version:
225 lines • 18.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ViewChild } from '@angular/core';
import { ModalHelper } from '@delon/theme';
import { SFComponent, } from '@delon/form';
import { STComponent } from "@delon/abc";
import { NzMessageService } from "ng-zorro-antd";
import { DataSourceService, RuleService } from "@ecip/service";
import { isNullOrUndefined } from "util";
export class AuthRuleComponent {
/**
* @param {?} modalHelper
* @param {?} messageService
* @param {?} ruleService
* @param {?} dataSourceService
*/
constructor(modalHelper, messageService, ruleService, dataSourceService) {
this.modalHelper = modalHelper;
this.messageService = messageService;
this.ruleService = ruleService;
this.dataSourceService = dataSourceService;
this.url = 'api/v1/sysrRule';
this.selectedIds = [];
this.params = {};
this.schema = {
properties: {
ruleName: {
type: 'string',
title: '规则名称',
},
srcDs: {
type: "string",
title: '源数据源',
ui: {
widget: 'select',
width: 260,
notFoundContent: '没有数据',
dropdownMatchSelectWidth: false,
asyncData: (/**
* @return {?}
*/
() => this.dataSourceService.getVoList())
}
},
},
};
this.columns = [
{
title: '编号',
type: 'checkbox',
index: 'id'
},
{
title: '规则名称',
index: 'ruleName',
},
{
title: '源数据源',
index: 'srcDsName',
},
{
title: '同步类型',
index: 'syncType',
format: (/**
* @param {?} item
* @return {?}
*/
(item) => {
switch (item.syncType) {
case 'user': return '同步用户';
case 'dept': return '同步组织';
case 'other': return `自定义(表名:${item.destTable})`;
}
})
},
{
title: 'Cron表达式',
index: 'cron',
format: (/**
* @param {?} item
* @return {?}
*/
(item) => isNullOrUndefined(item.cron) || item.cron == '' ? '(无)' : item.cron)
},
{
title: '操作',
buttons: [
{
text: '编辑',
icon: 'edit',
type: 'link',
click: (/**
* @param {?} record
* @return {?}
*/
(record) => {
return `/auth/rule/edit/${record.id}`;
}),
acl: { ability: ['rule:edit'] }
},
// {
// text: '编辑',
// icon: 'edit',
// type: 'static',
// component: AuthRuleEditComponent,
// click: (record, modal) =>{
// this.messageService.success("编辑成功");
// this.st.load(-1, this.params);
// }
// },
{
text: '删除',
icon: 'delete',
type: 'del',
click: (/**
* @param {?} record
* @param {?} modal
* @param {?} component
* @return {?}
*/
(record, modal, component) => {
this.ruleService.deleteById(record.id).subscribe((/**
* @return {?}
*/
() => {
this.messageService.success("删除成功");
component.load(-1, this.params);
}));
}),
acl: { ability: ['rule:remove'] }
}
],
}
];
}
//即时监控选中项的ID列表
/**
* @param {?} e
* @return {?}
*/
checkboxChange(e) {
this.selectedIds = [];
for (let item of e) {
this.selectedIds.push(item.id);
}
}
//因为[formData]和st的params似乎不能绑定,所以手写了一个绑定数据的方法
/**
* @return {?}
*/
formBind() {
this.params = this.sf.value;
}
/**
* @return {?}
*/
multiDelete() {
//未选定任何一条
if (this.selectedIds.length == 0) {
this.messageService.warning("未选择任何记录");
}
else {
this.ruleService.multiDelete(this.selectedIds).subscribe((/**
* @return {?}
*/
() => {
this.messageService.success("删除成功");
this.st.load(-1, this.params);
}));
}
}
}
AuthRuleComponent.decorators = [
{ type: Component, args: [{
selector: 'app-auth-ds',
template: "<page-header [action]=\"phPhAction\">\r\n <ng-template #phPhAction>\r\n <button acl [acl-ability]=\"'rule:add'\" nz-button nzType=\"primary\" routerLink=\"/auth/rule/edit\">\u65B0\u5EFA</button>\r\n <!--<button nz-button (click)=\"multiDelete()\">\u5220\u9664</button>-->\r\n </ng-template>\r\n</page-header>\r\n<nz-card>\r\n <sf #sf mode=\"search\" [schema]=\"schema\" (formSubmit)=\"formBind();st.load(1, params);\" (formReset)=\"formBind();st.reset(params)\"></sf>\r\n <st #st [data]=\"url\" [columns]=\"columns\" (change)=\"checkboxChange($event)\" [req]=\"{params: params}\" [page]=\"{front: false}\"></st>\r\n</nz-card>\r\n"
}] }
];
/** @nocollapse */
AuthRuleComponent.ctorParameters = () => [
{ type: ModalHelper },
{ type: NzMessageService },
{ type: RuleService },
{ type: DataSourceService }
];
AuthRuleComponent.propDecorators = {
st: [{ type: ViewChild, args: ['st',] }],
sf: [{ type: ViewChild, args: ['sf',] }]
};
if (false) {
/** @type {?} */
AuthRuleComponent.prototype.url;
/** @type {?} */
AuthRuleComponent.prototype.selectedIds;
/** @type {?} */
AuthRuleComponent.prototype.params;
/** @type {?} */
AuthRuleComponent.prototype.st;
/** @type {?} */
AuthRuleComponent.prototype.sf;
/** @type {?} */
AuthRuleComponent.prototype.schema;
/** @type {?} */
AuthRuleComponent.prototype.columns;
/**
* @type {?}
* @private
*/
AuthRuleComponent.prototype.modalHelper;
/**
* @type {?}
* @private
*/
AuthRuleComponent.prototype.messageService;
/** @type {?} */
AuthRuleComponent.prototype.ruleService;
/**
* @type {?}
* @private
*/
AuthRuleComponent.prototype.dataSourceService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZWNpcC9hdXRoLyIsInNvdXJjZXMiOlsic3JjL3J1bGUvcnVsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxXQUFXLEdBQVksTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFXLFdBQVcsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUU1RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFRdkMsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7OztJQXVHNUIsWUFBb0IsV0FBd0IsRUFDeEIsY0FBK0IsRUFDaEMsV0FBdUIsRUFDdEIsaUJBQW9DO1FBSHBDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN0QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBeEd4RCxRQUFHLEdBQUcsaUJBQWlCLENBQUM7UUFFeEIsZ0JBQVcsR0FBWSxFQUFFLENBQUM7UUFFMUIsV0FBTSxHQUFNLEVBQUcsQ0FBQztRQVNoQixXQUFNLEdBQWE7WUFDakIsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRTtvQkFDUixJQUFJLEVBQUUsUUFBUTtvQkFDZCxLQUFLLEVBQUUsTUFBTTtpQkFDZDtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsS0FBSyxFQUFFLE1BQU07b0JBQ2IsRUFBRSxF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QUM5Qiw4Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNb2RhbEhlbHBlcn0gZnJvbSAnQGRlbG9uL3RoZW1lJztcclxuaW1wb3J0IHtTRkNvbXBvbmVudCwgU0ZTY2hlbWEsfSBmcm9tICdAZGVsb24vZm9ybSc7XHJcbmltcG9ydCB7U1RDb2x1bW4sIFNUQ29tcG9uZW50fSBmcm9tIFwiQGRlbG9uL2FiY1wiO1xyXG5pbXBvcnQge056TWVzc2FnZVNlcnZpY2V9IGZyb20gXCJuZy16b3Jyby1hbnRkXCI7XHJcbmltcG9ydCB7RGF0YVNvdXJjZVNlcnZpY2UsIFJ1bGVTZXJ2aWNlfSBmcm9tIFwiQGVjaXAvc2VydmljZVwiXHJcbmltcG9ydCB7b2Z9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7aXNOdWxsT3JVbmRlZmluZWR9IGZyb20gXCJ1dGlsXCI7XHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWF1dGgtZHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWxlLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhSdWxlQ29tcG9uZW50IHtcclxuXHJcbiAgdXJsID0gJ2FwaS92MS9zeXNyUnVsZSc7XHJcblxyXG4gIHNlbGVjdGVkSWRzOnN0cmluZ1tdID0gW107XHJcblxyXG4gIHBhcmFtczphbnk9IHsgfTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc3QnKVxyXG4gIHN0OiBTVENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2YnKVxyXG4gIHNmOiBTRkNvbXBvbmVudDtcclxuXHJcblxyXG4gIHNjaGVtYTogU0ZTY2hlbWEgPSB7XHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgIHJ1bGVOYW1lOiB7XHJcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgdGl0bGU6ICfop4TliJnlkI3np7AnLFxyXG4gICAgICB9LFxyXG4gICAgICBzcmNEczoge1xyXG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXHJcbiAgICAgICAgdGl0bGU6ICfmupDmlbDmja7mupAnLFxyXG4gICAgICAgIHVpOiB7XHJcbiAgICAgICAgICB3aWRnZXQ6ICdzZWxlY3QnLFxyXG4gICAgICAgICAgd2lkdGg6IDI2MCxcclxuICAgICAgICAgIG5vdEZvdW5kQ29udGVudDogJ+ayoeacieaVsOaNricsXHJcbiAgICAgICAgICBkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGg6IGZhbHNlLFxyXG4gICAgICAgICAgYXN5bmNEYXRhOiAoKSA9PiB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlLmdldFZvTGlzdCgpXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICB9O1xyXG5cclxuICBjb2x1bW5zOiBTVENvbHVtbltdID0gW1xyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ+e8luWPtycsXHJcbiAgICAgIHR5cGU6J2NoZWNrYm94JyxcclxuICAgICAgaW5kZXg6J2lkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICfop4TliJnlkI3np7AnLFxyXG4gICAgICBpbmRleDogJ3J1bGVOYW1lJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAn5rqQ5pWw5o2u5rqQJyxcclxuICAgICAgaW5kZXg6ICdzcmNEc05hbWUnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICflkIzmraXnsbvlnosnLFxyXG4gICAgICBpbmRleDogJ3N5bmNUeXBlJyxcclxuICAgICAgZm9ybWF0OihpdGVtOmFueSk9PntcclxuICAgICAgICBzd2l0Y2goaXRlbS5zeW5jVHlwZSl7XHJcbiAgICAgICAgICBjYXNlICd1c2VyJzpyZXR1cm4gJ+WQjOatpeeUqOaItyc7XHJcbiAgICAgICAgICBjYXNlICdkZXB0JzpyZXR1cm4gJ+WQjOatpee7hOe7hyc7XHJcbiAgICAgICAgICBjYXNlICdvdGhlcic6cmV0dXJuIGDoh6rlrprkuYnvvIjooajlkI3vvJoke2l0ZW0uZGVzdFRhYmxlfe+8iWA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ0Nyb27ooajovr7lvI8nLFxyXG4gICAgICBpbmRleDogJ2Nyb24nLFxyXG4gICAgICBmb3JtYXQ6KGl0ZW06YW55KT0+IGlzTnVsbE9yVW5kZWZpbmVkKGl0ZW0uY3JvbikgfHwgaXRlbS5jcm9uPT0nJyA/ICco5pegKSc6IGl0ZW0uY3JvblxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICfmk43kvZwnLFxyXG4gICAgICBidXR0b25zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogJ+e8lui+kScsXHJcbiAgICAgICAgICBpY29uOiAnZWRpdCcsXHJcbiAgICAgICAgICB0eXBlOiAnbGluaycsXHJcbiAgICAgICAgICBjbGljazogKHJlY29yZCkgPT57XHJcbiAgICAgICAgICAgIHJldHVybiBgL2F1dGgvcnVsZS9lZGl0LyR7cmVjb3JkLmlkfWBcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBhY2w6IHsgYWJpbGl0eTogWydydWxlOmVkaXQnXSB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyB7XHJcbiAgICAgICAgLy8gICB0ZXh0OiAn57yW6L6RJyxcclxuICAgICAgICAvLyAgIGljb246ICdlZGl0JyxcclxuICAgICAgICAvLyAgIHR5cGU6ICdzdGF0aWMnLFxyXG4gICAgICAgIC8vICAgY29tcG9uZW50OiBBdXRoUnVsZUVkaXRDb21wb25lbnQsXHJcbiAgICAgICAgLy8gICBjbGljazogKHJlY29yZCwgbW9kYWwpID0+e1xyXG4gICAgICAgIC8vICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1Y2Nlc3MoXCLnvJbovpHmiJDlip9cIik7XHJcbiAgICAgICAgLy8gICAgIHRoaXMuc3QubG9hZCgtMSwgdGhpcy5wYXJhbXMpO1xyXG4gICAgICAgIC8vICAgfVxyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogJ+WIoOmZpCcsXHJcbiAgICAgICAgICBpY29uOiAnZGVsZXRlJyxcclxuICAgICAgICAgIHR5cGU6ICdkZWwnLFxyXG4gICAgICAgICAgY2xpY2s6IChyZWNvcmQsIG1vZGFsLCBjb21wb25lbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ydWxlU2VydmljZS5kZWxldGVCeUlkKHJlY29yZC5pZCkuc3Vic2NyaWJlKCgpPT57XHJcbiAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKFwi5Yig6Zmk5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgICAgIGNvbXBvbmVudC5sb2FkKC0xLCB0aGlzLnBhcmFtcyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGFjbDogeyBhYmlsaXR5OiBbJ3J1bGU6cmVtb3ZlJ10gfVxyXG4gICAgICAgIH1cclxuICAgICAgXSxcclxuICAgIH1cclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsSGVscGVyOiBNb2RhbEhlbHBlcixcclxuICAgICAgICAgICAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOk56TWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIHJ1bGVTZXJ2aWNlOlJ1bGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgZGF0YVNvdXJjZVNlcnZpY2U6IERhdGFTb3VyY2VTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuXHJcblxyXG4gIC8v5Y2z5pe255uR5o6n6YCJ5Lit6aG555qESUTliJfooahcclxuICBjaGVja2JveENoYW5nZShlOiBhbnlbXSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgZm9yKGxldCBpdGVtIG9mIGUpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goaXRlbS5pZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL+WboOS4ultmb3JtRGF0YV3lkoxzdOeahHBhcmFtc+S8vOS5juS4jeiDvee7keWumu+8jOaJgOS7peaJi+WGmeS6huS4gOS4que7keWumuaVsOaNrueahOaWueazlVxyXG4gIGZvcm1CaW5kKCkge1xyXG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLnNmLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgbXVsdGlEZWxldGUoKXtcclxuICAgIC8v5pyq6YCJ5a6a5Lu75L2V5LiA5p2hXHJcbiAgICBpZih0aGlzLnNlbGVjdGVkSWRzLmxlbmd0aD09MCl7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uud2FybmluZyhcIuacqumAieaLqeS7u+S9leiusOW9lVwiKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnJ1bGVTZXJ2aWNlLm11bHRpRGVsZXRlKHRoaXMuc2VsZWN0ZWRJZHMpLnN1YnNjcmliZSgoKT0+e1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcIuWIoOmZpOaIkOWKn1wiKTtcclxuICAgICAgICB0aGlzLnN0LmxvYWQoLTEsIHRoaXMucGFyYW1zKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=