UNPKG

@wjya/ngx-webapp-icpc.group.pms

Version:

angular webapp : icpc.group.pms

161 lines 12.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var data_source_helper_1 = require("../../service/data-source.helper"); var ngx_webapp_fx_1 = require("@wjya/ngx-webapp-fx"); var core_1 = require("@angular/core"); var forms_1 = require("@angular/forms"); var ngx_utils_1 = require("@wjya/ngx-utils"); var GroupInfoComponent = /** @class */ (function () { function GroupInfoComponent(fb, dataSourceHelper, userStorageService, dataDictService) { var _this = this; this.fb = fb; this.dataSourceHelper = dataSourceHelper; this.userStorageService = userStorageService; this.dataDictService = dataDictService; this.isEdit = false; this.data = {}; this.regionOptions = []; this.regionItems = []; this.province = { items: [] }; this.city = { items: [] }; this.county = { items: [] }; dataDictService.getItems('SYS_REGION').subscribe(function (res) { _this.regionOptions = res; _this.regionOptions = _this.toMultiLevel(_this.regionOptions); }); this.validateForm = this.fb.group({ id: [null], code: [null], province: [null], city: [null], county: [null], name: [null, [forms_1.Validators.required]], address: [null], fullName: [null], phone: [null], area: [null], contacts: [null], zipCode: [null] }); this.dataSource = dataSourceHelper.offices; this.communityGroupId = this.userStorageService.getCurrentOffice().id; this.loadAll(); } GroupInfoComponent.prototype.ngOnInit = function () { }; GroupInfoComponent.prototype.loadAll = function () { var _this = this; this.dataSource.findOne(this.communityGroupId).subscribe(function (res) { _this.data = res.body; var data = ngx_utils_1.ObjectUtils.cloneObject(_this.data, true); _this.validateForm.patchValue(data); if (data.area) { var path = _this.dataDictService.getDictItemMuiltiLevelPath('SYS_REGION', data.area); if (path.length === 3) { _this.province = path[0]; _this.city = path[1]; _this.county = path[2]; _this.area = path[0].text + ' / ' + path[1].text + ' / ' + path[2].text; } else if (path.length === 2) { _this.province = path[0]; _this.city = path[1]; _this.area = path[0].text + ' / ' + path[1].text; } else if (path.length === 1) { _this.province = path[0]; _this.area = path[0].text; } } }); }; GroupInfoComponent.prototype.getFormControl = function (name) { return this.validateForm.controls[name]; }; GroupInfoComponent.prototype.onSave = function () { var _this = this; if (!this.validateForm.valid) { return; } else { this.isEdit = !this.isEdit; if (this.validateForm.value.county) { this.validateForm.value.area = this.validateForm.value.county.value; } else if (!this.validateForm.value.county && this.validateForm.value.city) { this.validateForm.value.area = this.validateForm.value.city.value; } else if (!this.validateForm.value.county && !this.validateForm.value.city && this.validateForm.value.province) { this.validateForm.value.area = this.validateForm.value.province.value; } var entity = ngx_utils_1.ObjectUtils.patchFieldValue(this.validateForm.value, this.data); if (entity.province) { delete entity.province; } if (entity.city) { delete entity.city; } if (entity.county) { delete entity.county; } if (entity.branchRegion) { for (var i = 0; i < this.regionItems.length; i++) { if (entity.branchRegion === this.regionItems[i].id) { entity.branchRegion = this.regionItems[i]; } } } entity.officeType = 'COMMUNITY_GROUP'; this.dataSource.update(entity, { communityGroupId: this.communityGroupId }).subscribe(function (success) { _this.loadAll(); }); } }; GroupInfoComponent.prototype.toMultiLevel = function (dict) { for (var i = 0; i < dict.length; i++) { dict[i].items = null; } var multilevelDict = []; for (var i = 0; i < dict.length; i++) { var item = dict[i]; var parentId = item.parentId; var parent_1 = null; if (parentId) { for (var j = 0; j < dict.length; j++) { if (dict[j].id === parentId) { parent_1 = dict[j]; item.parent = parent_1; if (parent_1.items == null) { parent_1.items = []; } parent_1.items[parent_1.items.length] = item; break; } } } if (parent_1 == null) { multilevelDict[multilevelDict.length] = item; } } return multilevelDict; }; GroupInfoComponent.decorators = [ { type: core_1.Component, args: [{ selector: 'zx-group-info', template: "<zx-header-block [title]=\"'\u96C6\u56E2\u4FE1\u606F'\" [showBottomLine]=\"false\" [showBreadcrumb]=\"true\"><p>\u672C\u96C6\u56E2\u7684\u57FA\u672C\u4FE1\u606F\u3001\u7CFB\u7EDF\u7BA1\u7406\u5458\u3001\u94F6\u884C\u8D26\u6237\u8BBE\u7F6E\u7B49</p></zx-header-block><zx-content-block><nz-card nzNoHovering nzBordered=\"false\"><ng-template #title><h4>\u57FA\u672C\u4FE1\u606F</h4></ng-template><ng-template #extra><div *ngIf=\"!isEdit&&data\" class=\"extra\"><span><i class=\"anticon anticon-edit\"></i> <a (click)=\"isEdit = !isEdit\">\u4FEE\u6539</a></span></div><div *ngIf=\"isEdit\" class=\"extra\"><span><i class=\"anticon anticon-save\"></i> <a (click)=\"onSave()\">\u4FDD\u5B58</a> </span><span><i class=\"anticon anticon-reload\"></i> <a (click)=\"isEdit = !isEdit\">\u53D6\u6D88</a></span></div></ng-template><ng-template #body><div nz-row><form nz-form [formGroup]=\"validateForm\" class=\"ant-advanced-search-form\"><div nz-row><div nz-col [nzSpan]=\"8\"><div nz-form-item nz-row class=\"row\"><div nz-form-label nz-col [nzSpan]=\"4\"><label>\u96C6\u56E2\u7F16\u7801</label></div><div nz-form-control nz-col [nzSpan]=\"20\"><span>{{data.code}}</span></div></div></div><div nz-col [nzSpan]=\"16\"><div nz-form-item nz-row class=\"row\"><div nz-form-label nz-col [nzSpan]=\"2\"><label>\u6240\u5C5E\u57CE\u5E02</label></div><div nz-form-control nz-col [nzSpan]=\"22\" *ngIf=\"isEdit\"><div nz-col [nzSpan]=\"8\"><nz-select formControlName=\"province\" [nzPlaceHolder]=\"'\u7701'\" [(ngModel)]=\"province\" (nzOpenChange)=\"city = null\"><ng-container *ngIf=\"regionOptions\"><nz-option *ngFor=\"let option0 of regionOptions\" [nzLabel]=\"option0.text\" [nzValue]=\"option0\"></nz-option></ng-container></nz-select></div><div nz-col [nzSpan]=\"8\"><nz-select formControlName=\"city\" [nzPlaceHolder]=\"'\u5E02'\" [(ngModel)]=\"city\" (nzOpenChange)=\"county = null\"><ng-container *ngIf=\"province\"><nz-option *ngFor=\"let option1 of province.items\" [nzLabel]=\"option1.text\" [nzValue]=\"option1\"></nz-option></ng-container></nz-select></div><div nz-col [nzSpan]=\"8\"><nz-select formControlName=\"county\" [nzPlaceHolder]=\"'\u533A/\u53BF'\" [(ngModel)]=\"county\"><ng-container *ngIf=\"city\"><nz-option *ngFor=\"let option2 of city.items\" [nzLabel]=\"option2.text\" [nzValue]=\"option2\"></nz-option></ng-container></nz-select></div></div><div nz-form-control nz-col [nzSpan]=\"22\" *ngIf=\"!isEdit\"><span>{{area}}</span></div></div></div></div><div nz-row><div nz-col [nzSpan]=\"8\"><div nz-form-item nz-row class=\"row\"><div nz-form-label nz-col [nzSpan]=\"4\"><label nz-form-item-required>\u96C6\u56E2\u7B80\u79F0</label></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"isEdit\" nzHasFeedback><nz-input [nzSize]=\"'large'\" [nzPlaceHolder]=\"'\u8BF7\u8F93\u5165\u96C6\u56E2\u7B80\u79F0'\" formControlName=\"name\"></nz-input><div nz-form-explain *ngIf=\"getFormControl('name').dirty&&getFormControl('name').hasError('required')\">\u96C6\u56E2\u7B80\u79F0\u662F\u5FC5\u586B\u7684!</div></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"!isEdit\"><span>{{data.name}}</span></div></div></div><div nz-col [nzSpan]=\"8\"><div nz-form-item nz-row class=\"row\"><div nz-form-label nz-col [nzSpan]=\"4\"><label>\u603B\u90E8\u5730\u5740</label></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"isEdit\"><nz-input [nzSize]=\"'large'\" [nzPlaceHolder]=\"'\u8BF7\u8F93\u5165\u603B\u90E8\u5730\u5740'\" formControlName=\"address\"></nz-input></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"!isEdit\"><span>{{data.address}}</span></div></div></div><div nz-col [nzSpan]=\"8\"><div nz-form-item nz-row class=\"row\"><div nz-form-label nz-col [nzSpan]=\"4\"><label>\u90AE\u7F16</label></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"isEdit\"><nz-input [nzSize]=\"'large'\" [nzType]=\"'number'\" [nzPlaceHolder]=\"'\u8BF7\u8F93\u5165\u90AE\u7F16'\" formControlName=\"zipCode\"></nz-input></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"!isEdit\"><span>{{data.zipCode}}</span></div></div></div></div><div nz-row><div nz-col [nzSpan]=\"8\"><div nz-form-item nz-row class=\"row\"><div nz-form-label nz-col [nzSpan]=\"4\"><label nz-form-item-required>\u96C6\u56E2\u5168\u540D</label></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"isEdit\" nzHasFeedback><nz-input [nzSize]=\"'large'\" [nzPlaceHolder]=\"'\u8BF7\u8F93\u5165\u96C6\u56E2\u5168\u540D'\" formControlName=\"fullName\"></nz-input><div nz-form-explain *ngIf=\"getFormControl('fullName').dirty&&getFormControl('fullName').hasError('required')\">\u96C6\u56E2\u5168\u540D\u662F\u5FC5\u586B\u7684!</div></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"!isEdit\"><span>{{data.fullName}}</span></div></div></div><div nz-col [nzSpan]=\"8\"><div nz-form-item nz-row class=\"row\"><div nz-form-label nz-col [nzSpan]=\"4\"><label>\u8054\u7CFB\u4EBA</label></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"isEdit\"><nz-input [nzSize]=\"'large'\" [nzPlaceHolder]=\"'\u8BF7\u8F93\u5165\u8054\u7CFB\u4EBA'\" formControlName=\"contacts\"></nz-input></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"!isEdit\"><span>{{data.contacts}}</span></div></div></div><div nz-col [nzSpan]=\"8\"><div nz-form-item nz-row class=\"row\"><div nz-form-label nz-col [nzSpan]=\"4\"><label>\u8054\u7CFB\u7535\u8BDD</label></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"isEdit\"><nz-input [nzSize]=\"'large'\" [nzType]=\"'number'\" [nzPlaceHolder]=\"'\u8BF7\u8F93\u5165\u8054\u7CFB\u7535\u8BDD'\" formControlName=\"phone\"></nz-input></div><div nz-form-control nz-col [nzSpan]=\"20\" *ngIf=\"!isEdit\"><span>{{data.phone}}</span></div></div></div></div></form></div></ng-template></nz-card></zx-content-block><zx-group-info-logo></zx-group-info-logo><zx-group-info-admin [groupInfo]=\"data\" *ngIf=\"data\"></zx-group-info-admin>", styles: [ "\n :host .extra {\n color: #108ee9;\n }\n :host .extra > span:nth-child(2) {\n margin-left:16px;\n }\n :host .row > div:nth-child(1) {\n width:110px;\n display: inline-block;\n float: left;\n }\n :host .row > div:nth-child(2) {\n width:calc(100% - 110px);\n display: inline-block;\n }\n " ] },] }, ]; /** @nocollapse */ GroupInfoComponent.ctorParameters = function () { return [ { type: forms_1.FormBuilder, }, { type: data_source_helper_1.DataSourceHelper, }, { type: ngx_webapp_fx_1.UserStorageService, }, { type: ngx_webapp_fx_1.DataDictService, }, ]; }; return GroupInfoComponent; }()); exports.GroupInfoComponent = GroupInfoComponent; //# sourceMappingURL=group-info.component.js.map