UNPKG

@kre-form/ant

Version:

219 lines 18.3 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, } from "@angular/core"; import * as _ from "lodash"; import { DataService } from "../../service/data.service"; export class KreFormEmployee { /** * @param {?} dataService */ constructor(dataService) { this.dataService = dataService; this.fieldConfig = {}; this.selectData = []; this.tag = true; //是否要多选 this.check = false; //是否有操作列0 没有操作列;1 多个操作按钮 2 选择 this.action = 0; //table 头部信息 this.header = [ { key: "id", name: "id", hiden: true }, { key: "code", name: "工号", width: 150 }, { key: "name", name: "姓名", width: 150 }, { key: "organization", name: "部门" }, ]; //table 行数据 this.body = []; this.buttonlist = []; this.checkid = []; this.query = { total: 0, pageIndex: 1, pageSize: 15, sortName: "", sortValue: "", keyWord: "", }; } /** * @return {?} */ get selectedNode() { return _.cloneDeep(this.selectData); } /** * @return {?} */ get selectType() { /** @type {?} */ let res = ""; if (this.fieldConfig != undefined && this.fieldConfig != null && this.fieldConfig.templateOptions != undefined && this.fieldConfig.templateOptions != null && this.fieldConfig.templateOptions.selectType != undefined) { res = this.fieldConfig.templateOptions.selectType; } return res; } /** * @return {?} */ getSelectData() { if (this.fieldConfig != null && this.fieldConfig.model != undefined && this.fieldConfig.model != null && this.fieldConfig.key != undefined && this.fieldConfig.key != null && this.fieldConfig.model[this.fieldConfig.key] != undefined && this.fieldConfig.model[this.fieldConfig.key] != null) { this.selectData = _.cloneDeep(this.fieldConfig.model[this.fieldConfig.key]); } if (this.selectData != null && this.selectData.length > 0) { this.checkid = this.selectData.map((/** * @param {?} item * @return {?} */ (item) => { return { id: item.value, name: item.label, }; })); } else { this.checkid = []; } } /** * @return {?} */ ngOnInit() { if (this.selectType == "multiple") { this.check = true; this.action = 0; } if (this.selectType == "single") { this.check = false; this.action = 2; this.header.push({ key: "action", name: "操作", hiden: true, action: true, }); } this.getEmployeeData(); } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { } /** * @return {?} */ getEmployeeData() { this.dataService .getSysCtrEmployee({ keyWord: this.query.keyWord, pageIndex: this.query.pageIndex, pageSize: this.query.pageSize, }) .subscribe((/** * @param {?} res * @return {?} */ (res) => { this.query.pageIndex = res.index; this.query.total = res.total; this.body = res.data; })); this.getSelectData(); } /** * @param {?} event * @return {?} */ pageIndexChange(event) { this.dataService .getSysCtrEmployee({ keyWord: this.query.keyWord, pageIndex: this.query.pageIndex, pageSize: this.query.pageSize, }) .subscribe((/** * @param {?} res * @return {?} */ (res) => { this.query.pageIndex = event.pageIndex; this.query.total = res.total; this.body = res.data; })); } /** * @param {?} list * @return {?} */ checkChange(list) { if (list != null && list.length > 0) { this.selectData = list.map((/** * @param {?} item * @return {?} */ (item) => { return { label: item.name, value: item.id, }; })); } else { this.selectData = []; } } } KreFormEmployee.decorators = [ { type: Component, args: [{ selector: "kreform-employee", template: "<kreform-private-table\n [tableIndex]=\"query.pageIndex\"\n [tableSize]=\"query.pageSize\"\n [tableTotal]=\"query.total\"\n [header]=\"header\"\n [body]=\"body\"\n [check]=\"check\"\n [action]=\"action\"\n [checkid]=\"checkid\" \n (checkChangeEvent)=\"checkChange($event)\"\n (pageIndexEvent)=\"pageIndexChange($event)\" >\n</kreform-private-table>", providers: [DataService], styles: [":host ::ng-deep{display:flex;width:100%;height:100%}:host ::ng-deep .content-left{display:flex;flex-direction:column;width:300px;padding:0 10px}:host ::ng-deep .content-left nz-select{width:100%}:host ::ng-deep .content-left .tree{flex:1;overflow-y:auto;display:in}:host ::ng-deep .content-right{flex:1}"] }] } ]; /** @nocollapse */ KreFormEmployee.ctorParameters = () => [ { type: DataService } ]; KreFormEmployee.propDecorators = { fieldConfig: [{ type: Input }] }; if (false) { /** @type {?} */ KreFormEmployee.prototype.fieldConfig; /** @type {?} */ KreFormEmployee.prototype.selectData; /** @type {?} */ KreFormEmployee.prototype.tag; /** @type {?} */ KreFormEmployee.prototype.check; /** @type {?} */ KreFormEmployee.prototype.action; /** @type {?} */ KreFormEmployee.prototype.header; /** @type {?} */ KreFormEmployee.prototype.body; /** @type {?} */ KreFormEmployee.prototype.buttonlist; /** @type {?} */ KreFormEmployee.prototype.checkid; /** @type {?} */ KreFormEmployee.prototype.query; /** @type {?} */ KreFormEmployee.prototype.dataService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL2FudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2VtcGxveWVlL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBUU4sTUFBTSxlQUFlLENBQUM7QUFldkIsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBZXpELE1BQU0sT0FBTyxlQUFlOzs7O0lBRzFCLFlBQW1CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRmxDLGdCQUFXLEdBQXVCLEVBQUUsQ0FBQztRQUk5QyxlQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUtoQyxRQUFHLEdBQVksSUFBSSxDQUFDOztRQUdwQixVQUFLLEdBQUcsS0FBSyxDQUFDOztRQUdkLFdBQU0sR0FBRyxDQUFDLENBQUM7O1FBR1gsV0FBTSxHQUFVO1lBQ2QsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUN0QyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ3ZDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDdkMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7U0FDcEMsQ0FBQzs7UUFHRixTQUFJLEdBQVUsRUFBRSxDQUFDO1FBRWpCLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFFdkIsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQUVwQixVQUFLLEdBQUc7WUFDTixLQUFLLEVBQUUsQ0FBQztZQUNS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LElBQVc7UUFDckIsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUc7Ozs7WUFBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNsQyxPQUFPO29CQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO2lCQUNmLENBQUM7WUFDSixDQUFDLEVBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7OztZQXRKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsd1dBQXFDO2dCQUVyQyxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUM7O2FBQ3pCOzs7O1lBZFEsV0FBVzs7OzBCQWdCakIsS0FBSzs7OztJQUFOLHNDQUE4Qzs7SUFJOUMscUNBQWdDOztJQUtoQyw4QkFBb0I7O0lBR3BCLGdDQUFjOztJQUdkLGlDQUFXOztJQUdYLGlDQUtFOztJQUdGLCtCQUFpQjs7SUFFakIscUNBQXVCOztJQUV2QixrQ0FBb0I7O0lBRXBCLGdDQU9FOztJQXJDVSxzQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIEZvcm1Hcm91cCxcbiAgRm9ybUJ1aWxkZXIsXG4gIFZhbGlkYXRvcnMsXG4gIEFic3RyYWN0Q29udHJvbCxcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBOelRyZWVDb21wb25lbnQgfSBmcm9tIFwibmctem9ycm8tYW50ZC90cmVlXCI7XG5pbXBvcnQgeyBOekZvcm1hdEVtaXRFdmVudCwgTnpUcmVlTm9kZU9wdGlvbnMgfSBmcm9tIFwibmctem9ycm8tYW50ZC9jb3JlXCI7XG5pbXBvcnQge1xuICBGaWVsZFdyYXBwZXIsXG4gIEtyZUZvcm1GaWVsZENvbmZpZyxcbiAgS3JlVGFibGVGaWVsZENvbmZpZyxcbn0gZnJvbSBcIkBrcmUtZm9ybS9jb3JlXCI7XG5cbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kYXRhLnNlcnZpY2VcIjtcblxuaW1wb3J0IHtcbiAgSVNlbGVjdGVkTm9kZSxcbiAgSU9yZ0RhdGEsXG4gIElUcmVlRGF0YSxcbiAgSUNoZWNrZWRUcmVlLFxufSBmcm9tIFwiLi4vLi4vdG9vbHMvdXRpbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwia3JlZm9ybS1lbXBsb3llZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQubGVzc1wiXSxcbiAgcHJvdmlkZXJzOiBbRGF0YVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBLcmVGb3JtRW1wbG95ZWUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBmaWVsZENvbmZpZzogS3JlRm9ybUZpZWxkQ29uZmlnID0ge307XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge31cblxuICBzZWxlY3REYXRhOiBJQ2hlY2tlZFRyZWVbXSA9IFtdO1xuICBnZXQgc2VsZWN0ZWROb2RlKCkge1xuICAgIHJldHVybiBfLmNsb25lRGVlcCh0aGlzLnNlbGVjdERhdGEpO1xuICB9XG5cbiAgdGFnOiBib29sZWFuID0gdHJ1ZTtcblxuICAvL+aYr+WQpuimgeWkmumAiVxuICBjaGVjayA9IGZhbHNlO1xuXG4gIC8v5piv5ZCm5pyJ5pON5L2c5YiXMCDmsqHmnInmk43kvZzliJfvvJsxIOWkmuS4quaTjeS9nOaMiemSriAyIOmAieaLqVxuICBhY3Rpb24gPSAwO1xuXG4gIC8vdGFibGUg5aS06YOo5L+h5oGvXG4gIGhlYWRlcjogYW55W10gPSBbXG4gICAgeyBrZXk6IFwiaWRcIiwgbmFtZTogXCJpZFwiLCBoaWRlbjogdHJ1ZSB9LFxuICAgIHsga2V5OiBcImNvZGVcIiwgbmFtZTogXCLlt6Xlj7dcIiwgd2lkdGg6IDE1MCB9LFxuICAgIHsga2V5OiBcIm5hbWVcIiwgbmFtZTogXCLlp5PlkI1cIiwgd2lkdGg6IDE1MCB9LFxuICAgIHsga2V5OiBcIm9yZ2FuaXphdGlvblwiLCBuYW1lOiBcIumDqOmXqFwiIH0sXG4gIF07XG5cbiAgLy90YWJsZSDooYzmlbDmja5cbiAgYm9keTogYW55W10gPSBbXTtcblxuICBidXR0b25saXN0OiBhbnlbXSA9IFtdO1xuXG4gIGNoZWNraWQ6IGFueVtdID0gW107XG5cbiAgcXVlcnkgPSB7XG4gICAgdG90YWw6IDAsXG4gICAgcGFnZUluZGV4OiAxLFxuICAgIHBhZ2VTaXplOiAxNSxcbiAgICBzb3J0TmFtZTogXCJcIixcbiAgICBzb3J0VmFsdWU6IFwiXCIsXG4gICAga2V5V29yZDogXCJcIixcbiAgfTtcblxuICBnZXQgc2VsZWN0VHlwZSgpIHtcbiAgICBsZXQgcmVzID0gXCJcIjtcbiAgICBpZiAoXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnICE9IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5maWVsZENvbmZpZyAhPSBudWxsICYmXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnLnRlbXBsYXRlT3B0aW9ucyAhPSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuZmllbGRDb25maWcudGVtcGxhdGVPcHRpb25zICE9IG51bGwgJiZcbiAgICAgIHRoaXMuZmllbGRDb25maWcudGVtcGxhdGVPcHRpb25zLnNlbGVjdFR5cGUgIT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICByZXMgPSB0aGlzLmZpZWxkQ29uZmlnLnRlbXBsYXRlT3B0aW9ucy5zZWxlY3RUeXBlO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgZ2V0U2VsZWN0RGF0YSgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnICE9IG51bGwgJiZcbiAgICAgIHRoaXMuZmllbGRDb25maWcubW9kZWwgIT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnLm1vZGVsICE9IG51bGwgJiZcbiAgICAgIHRoaXMuZmllbGRDb25maWcua2V5ICE9IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5maWVsZENvbmZpZy5rZXkgIT0gbnVsbCAmJlxuICAgICAgdGhpcy5maWVsZENvbmZpZy5tb2RlbFt0aGlzLmZpZWxkQ29uZmlnLmtleV0gIT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnLm1vZGVsW3RoaXMuZmllbGRDb25maWcua2V5XSAhPSBudWxsXG4gICAgKSB7XG4gICAgICB0aGlzLnNlbGVjdERhdGEgPSBfLmNsb25lRGVlcChcbiAgICAgICAgdGhpcy5maWVsZENvbmZpZy5tb2RlbFt0aGlzLmZpZWxkQ29uZmlnLmtleV1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0RGF0YSAhPSBudWxsICYmIHRoaXMuc2VsZWN0RGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNoZWNraWQgPSB0aGlzLnNlbGVjdERhdGEubWFwKChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgbmFtZTogaXRlbS5sYWJlbCxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNoZWNraWQgPSBbXTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RUeXBlID09IFwibXVsdGlwbGVcIikge1xuICAgICAgdGhpcy5jaGVjayA9IHRydWU7XG4gICAgICB0aGlzLmFjdGlvbiA9IDA7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdFR5cGUgPT0gXCJzaW5nbGVcIikge1xuICAgICAgdGhpcy5jaGVjayA9IGZhbHNlO1xuICAgICAgdGhpcy5hY3Rpb24gPSAyO1xuICAgICAgdGhpcy5oZWFkZXIucHVzaCh7XG4gICAgICAgIGtleTogXCJhY3Rpb25cIixcbiAgICAgICAgbmFtZTogXCLmk43kvZxcIixcbiAgICAgICAgaGlkZW46IHRydWUsXG4gICAgICAgIGFjdGlvbjogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmdldEVtcGxveWVlRGF0YSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge31cblxuICBnZXRFbXBsb3llZURhdGEoKSB7XG4gICAgdGhpcy5kYXRhU2VydmljZVxuICAgICAgLmdldFN5c0N0ckVtcGxveWVlKHtcbiAgICAgICAga2V5V29yZDogdGhpcy5xdWVyeS5rZXlXb3JkLFxuICAgICAgICBwYWdlSW5kZXg6IHRoaXMucXVlcnkucGFnZUluZGV4LFxuICAgICAgICBwYWdlU2l6ZTogdGhpcy5xdWVyeS5wYWdlU2l6ZSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnF1ZXJ5LnBhZ2VJbmRleCA9IHJlcy5pbmRleDtcbiAgICAgICAgdGhpcy5xdWVyeS50b3RhbCA9IHJlcy50b3RhbDtcbiAgICAgICAgdGhpcy5ib2R5ID0gcmVzLmRhdGE7XG4gICAgICB9KTtcblxuICAgIHRoaXMuZ2V0U2VsZWN0RGF0YSgpO1xuICB9XG5cbiAgcGFnZUluZGV4Q2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlXG4gICAgICAuZ2V0U3lzQ3RyRW1wbG95ZWUoe1xuICAgICAgICBrZXlXb3JkOiB0aGlzLnF1ZXJ5LmtleVdvcmQsXG4gICAgICAgIHBhZ2VJbmRleDogdGhpcy5xdWVyeS5wYWdlSW5kZXgsXG4gICAgICAgIHBhZ2VTaXplOiB0aGlzLnF1ZXJ5LnBhZ2VTaXplLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucXVlcnkucGFnZUluZGV4ID0gZXZlbnQucGFnZUluZGV4O1xuICAgICAgICB0aGlzLnF1ZXJ5LnRvdGFsID0gcmVzLnRvdGFsO1xuICAgICAgICB0aGlzLmJvZHkgPSByZXMuZGF0YTtcbiAgICAgIH0pO1xuICB9XG5cbiAgY2hlY2tDaGFuZ2UobGlzdDogYW55W10pIHtcbiAgICBpZiAobGlzdCAhPSBudWxsICYmIGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZWxlY3REYXRhID0gbGlzdC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsYWJlbDogaXRlbS5uYW1lLFxuICAgICAgICAgIHZhbHVlOiBpdGVtLmlkLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0RGF0YSA9IFtdO1xuICAgIH1cbiAgfVxufVxuIl19