{"__symbolic":"module","version":4,"metadata":{"EmopModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":26,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":34,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/switch","name":"NzSwitchModule","line":35,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/form","name":"NzFormModule","line":36,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/input","name":"NzInputModule","line":37,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/button","name":"NzButtonModule","line":38,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":39,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/date-picker","name":"NzDatePickerModule","line":40,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/select","name":"NzSelectModule","line":41,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/input-number","name":"NzInputNumberModule","line":42,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/auto-complete","name":"NzAutocompleteModule","line":43,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/radio","name":"NzRadioModule","line":44,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/menu","name":"NzMenuModule","line":45,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/icon","name":"NzIconModule","line":46,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tooltip","name":"NzToolTipModule","line":47,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/table","name":"NzTableModule","line":48,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/dropdown","name":"NzDropDownModule","line":49,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalModule","line":50,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationModule","line":51,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageModule","line":52,"character":4}],"providers":[{"__symbolic":"reference","name":"ɵe"}],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":24,"character":1},"arguments":[{"selector":"emop-form","template":"<form nz-form>\n  <div nz-row [nzGutter]=\"24\">\n    <ng-container *ngFor=\"let item of formData\">\n      <div nz-col [nzSpan]=\"24/col\" *ngIf=\"item.visible === undefined ?true:item.visible\">\n        <nz-form-item>\n          <nz-form-label [nzFor]=\"item.key\" [nzSpan]=\"6\" [nzRequired]=\"item.required\">{{item.alias}}</nz-form-label>\n          <nz-form-control [nzSpan]=\"14\"\n                           [nzErrorTip]=\"item.errorTips || item.alias+'为必填项'\"\n                           [nzHasFeedback]=\"hasFeedback\"\n                           [nzValidateStatus]=\"item.validateStatus\">\n            <!-- 字符 -->\n            <input *ngIf=\"item.type==='str'\"\n                   nz-input\n                   [ngModel]=\"item.value\"\n                   (ngModelChange)=\"onInput(item.key, $event)\"\n                   [name]=\"item.key\"\n                   [placeholder]=\"item.placeholder||''\"\n                   [disabled]=\"item.disabled\"\n                   [required]=\"item.required\">\n            <!-- 开关 -->\n            <nz-switch *ngIf=\"item.type==='bool'\"\n                       [ngModel]=\" item.value\"\n                       (ngModelChange)=\"onInput(item.key, $event)\"\n                       [name]=\"item.key\"\n                       [disabled]=\"item.disabled\">\n            </nz-switch>\n            <!-- 日期 -->\n            <nz-date-picker [required]=\"item.required\"\n                            *ngIf=\"item.type==='date'\"\n                            [ngModel]=\"item.value\"\n                            (ngModelChange)=\"onInput(item.key ,$event)\"\n                            [name]=\"item.key\"\n                            [disabled]=\"item.disabled\"\n                            [nzPlaceHolder]=\"item.placeholder||''\"\n                            style=\"width: 100%;\"></nz-date-picker>\n            <!-- 下拉lov -->\n            <ng-container *ngIf=\"item.type==='lov'\">\n              <!-- 可手写且非多选 -->\n              <ng-container *ngIf=\"item.tags && !item.multiple\">\n                <input [nzAutocomplete]=\"auto\"\n                       nz-input\n                       (ngModelChange)=\"onInput(item.key, $event)\"\n                       [ngModel]=\"item.value\"\n                       [name]=\"item.key\"\n                       [placeholder]=\"item.placeholder\"\n                       [disabled]=\"item.disabled\"\n                       [required]=\"item.required\">\n                <nz-autocomplete #auto>\n                  <nz-auto-option *ngFor=\"let option of item.options\" [nzValue]=\"option.key\">{{ option.key }}</nz-auto-option>\n                </nz-autocomplete>\n              </ng-container>\n              <ng-container *ngIf=\"!(item.tags && !item.multiple)\">\n                <nz-select [ngModel]=\"item.value\"\n                           (ngModelChange)=\"onInput(item.key,$event)\"\n                           [name]=\"item.key\"\n                           [nzMode]=\"item.tags?'tags':item.multiple?'multiple':'default'\"\n                           [disabled]=\"item.disabled\"\n                           [required]=\"item.required\">\n                  <nz-option [nzValue]=\"option.val\" [nzLabel]=\"option.key\" *ngFor=\"let option of item.options\"></nz-option>\n                </nz-select>\n              </ng-container>\n            </ng-container>\n            <!-- 数字 -->\n            <nz-input-number [ngModel]=\"item.value\"\n                             style=\"width: 100%;\"\n                             [nzMin]=\"item.min || 0\"\n                             [nzMax]=\"item.max\"\n                             [nzStep]=\"item.step || 1\"\n                             (ngModelChange)=\"onInput(item.key,$event)\"\n                             *ngIf=\"item.type==='num'\"\n                             [name]=\"item.key\"\n                             [disabled]=\"item.disabled\"\n                             [required]=\"item.required\">\n            </nz-input-number>\n            <!-- 单选框 -->\n            <nz-radio-group [ngModel]=\"item.value\"\n                            *ngIf=\"item.type==='radio'\"\n                            (ngModelChange)=\"onInput(item.key,$event)\"\n                            [name]=\"item.key\"\n                            [disabled]=\"item.disabled\"\n                            [required]=\"item.required\">\n              <label nz-radio\n                     [nzValue]=\"option.val\"\n                     *ngFor=\"let option of item.options\">\n                {{option.key}}\n              </label>\n            </nz-radio-group>\n          </nz-form-control>\n        </nz-form-item>\n      </div>\n    </ng-container>\n  </div>\n</form>","styles":[""]}]}],"members":{"formData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"col":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"hasFeedback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"onInput":[{"__symbolic":"method"}],"validateItem":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"emop-sidebar","template":"<div class=\"emop-sidebar\">\n  <!-- 左侧菜单栏 -->\n  <div class=\"emop-menu emop_column\" [ngClass]=\" {'isCollapsed': isCollapsed}\">\n    <img [src]='logoUrl' alt=\"\">\n    <div class=\"menu emop_column\">\n      <div>\n        <div class=\"item emop_center\"\n             *ngFor=\"let item of sidebarData\"\n             nz-tooltip\n             nzTooltipPlacement=\"right\"\n             (click)=\"navigate(item.homepage)\"\n             [nzTooltipTitle]=\"item.desc\">\n          <i class=\"iconfont\" [class]=\"item.icon\"></i>\n          <span>{{item.display}}</span>\n        </div>\n      </div>\n      <div class=\"collapsedControl\" (click)=\"isCollapsed=!isCollapsed\">\n        <i nz-icon nzType=\"menu-fold\" nzTheme=\"outline\"></i>\n      </div>\n    </div>\n  </div>\n  <!-- 右侧内容区域 -->\n  <div class=\"emop-content\">\n    <!-- 头部区域 -->\n    <div class=\"emop-header emop_between\">\n      <div class=\"left emop_center\">\n        <i class=\"iconfont\" [class]=\"icon\"></i>\n        <div class=\"header-title\">{{title}}</div>\n        <ng-content select=\"[headerLeft]\"></ng-content>\n      </div>\n      <div class=\"right emop_center\">\n        <ng-content select=\"[headerRight]\"></ng-content>\n        <div nz-dropdown [nzDropdownMenu]=\"menu\" class=\"userInfo emop_center\" nzTrigger=\"hover\">\n          <i nz-icon nzType=\"user\" nzTheme=\"outline\"></i>\n          {{userName}}\n        </div>\n        <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n          <ul nz-menu>\n            <li nz-menu-item *ngIf=\"dropDownData.includes('logout')\" (click)=\"logout()\" class=\"emop_center\">\n              <i nz-icon nzType=\"logout\" nzTheme=\"outline\"></i>退出\n            </li>\n            <li nz-menu-item *ngIf=\"dropDownData.includes('about')\" (click)=\"about()\" class=\"emop_center\">\n              <i nz-icon nzType=\"info-circle\" nzTheme=\"outline\"></i>关于\n            </li>\n            <li nz-submenu [nzTitle]=\"titleTpl\" *ngIf=\"dropDownData.includes('language')\" class=\"emop_center\">\n              <ng-template #titleTpl>\n                <i nz-icon nzType=\"global\" nzTheme=\"outline\"></i><span>语言</span>\n              </ng-template>\n              <ul>\n                <li nz-menu-item (click)=\"changeLanguage('zh')\">中文</li>\n                <li nz-menu-item (click)=\"changeLanguage('en')\">English</li>\n              </ul>\n            </li>\n          </ul>\n        </nz-dropdown-menu>\n      </div>\n    </div>\n    <!-- 主要内容 -->\n    <div class=\"emop-main\">\n      <ng-content></ng-content>\n    </div>\n  </div>\n</div>","styles":[".emop-sidebar{display:flex;width:100vw;height:100vh;background:#e8ecf2;overflow:hidden}.emop-sidebar .emop-menu{width:160px;height:100%;background-color:#12194f;padding:10px 0;transition:.3s}.emop-sidebar .emop-menu.isCollapsed{width:46px}.emop-sidebar .emop-menu.isCollapsed .item{display:flex;justify-content:center;padding-left:0!important}.emop-sidebar .emop-menu.isCollapsed .item i{margin-right:0!important}.emop-sidebar .emop-menu.isCollapsed .collapsedControl i{transform:rotate(180deg)}.emop-sidebar .emop-menu.isCollapsed img,.emop-sidebar .emop-menu.isCollapsed span{width:0;height:0;opacity:0}.emop-sidebar .emop-menu img{display:block;margin:0 auto;width:90px;height:40px;transition:.3s}.emop-sidebar .emop-menu .menu{justify-content:space-between;flex:1}.emop-sidebar .emop-menu .menu .item{height:40px;color:#9ba4bd;padding-left:25px;cursor:pointer;transition:.3s}.emop-sidebar .emop-menu .menu .item i{margin-right:12px}.emop-sidebar .emop-menu .menu .item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:.3s}.emop-sidebar .emop-menu .menu .item:hover{color:#fff;background-color:#1b2975}.emop-sidebar .emop-menu .menu .collapsedControl{display:flex;justify-content:center;align-items:center;height:40px;font-size:30px;color:#fff;cursor:pointer}.emop-sidebar .emop-menu .menu .collapsedControl i{transition:.3s}.emop-sidebar .emop-menu .menu .collapsedControl:hover{background-color:#1b2975}.emop-sidebar ::ng-deep app-header{z-index:999}.emop-sidebar .emop-content{display:flex;flex:1;flex-direction:column;overflow:hidden}.emop-sidebar .emop-content .emop-header{width:100%;height:43px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;align-items:center;padding-left:16px;background-color:#fff;font-size:14px;z-index:900}.emop-sidebar .emop-content .emop-header img{width:18px;height:18px}.emop-sidebar .emop-content .emop-header .left{height:43px}.emop-sidebar .emop-content .emop-header .left .header-title{margin:0 16px 0 8px;font-weight:400;color:#041c59}.emop-sidebar .emop-content .emop-header .right{height:43px}.emop-sidebar .emop-content .emop-header .right .userInfo{display:flex;justify-content:center;height:43px;line-height:43px;background-color:#d8d8d8;padding:0 20px;min-width:140px}.emop-sidebar .emop-content .emop-header .right .userInfo i{margin-right:4px}.emop-sidebar .emop-content .emop-main{height:calc(100vh - 43px);display:flex;overflow:auto}::ng-deep .ant-dropdown-menu-submenu-title{display:flex;align-items:center;width:100%}"]}]}],"members":{"isCollapsed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"userName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"logoUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"dropDownData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":23,"character":18},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":24,"character":28},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":24,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"getSideBarData":[{"__symbolic":"method"}],"navigate":[{"__symbolic":"method"}],"changeLanguage":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"about":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"emop-table","template":"<nz-table #basicTable [nzData]=\"tableInfo.data\"\n          [nzLoading]=\"tableInfo.loading\">\n  <thead>\n    <tr>\n      <th *ngIf=\"tableInfo.serial\">序号</th>\n      <th *ngFor=\"let header of tableInfo.header\">{{header.alias}}</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr *ngFor=\"let data of basicTable.data; let index = index;\">\n      <td *ngIf=\"tableInfo.serial\">{{index + 1}}</td>\n      <ng-container *ngFor=\"let header of tableInfo.header\">\n        <td *ngIf=\"!header.type\">{{data[header.name]}}</td>\n        <td *ngIf=\"header.type==='str'\">\n          <input nz-input placeholder=\"Basic usage\" [(ngModel)]=\"data[header.name]\" />\n        </td>\n        <td *ngIf=\"header.type==='bool'\">\n          <nz-switch [(ngModel)]=\"data[header.name]\"></nz-switch>\n        </td>\n      </ng-container>\n    </tr>\n  </tbody>\n</nz-table>","styles":[".ant-table-tbody>tr>td,::ng-deep .ant-table-thead>tr>th{text-align:center}"]}]}],"members":{"tableInfo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-emop-sidebar-about","template":"<div class=\"sidebarAbout\">\n  <div class=\"aboutSystem\">\n    <div class=\"title emop_text_title\">关于系统</div>\n    <div class=\"section emop_between\">\n      <div>版本号</div>\n      <div>2.0.0</div>\n    </div>\n    <div class=\"section emop_between\">\n      <div>技术支持</div>\n      <div>广州易行数字技术有限公司珠海分公司</div>\n    </div>\n    <div class=\"section emop_between\">\n      <div>©2022 Eingsoft 保留所有权利</div>\n      <div></div>\n    </div>\n  </div>\n\n  <div class=\"contact\">\n    <div class=\"title emop_text_title\">联系我们</div>\n    <div class=\"section emop_between\">\n      <div>广州易行数字技术有限公司珠海分公司</div>\n      <div>\n        <img [src]=\"eingsoft\" alt=\"\">\n      </div>\n    </div>\n    <div class=\"section emop_between\">\n      <div>邮箱</div>\n      <div>\n        <a [href]=\"'mailto:info@esingsoft.com'\">info@esingsoft.com</a>\n      </div>\n    </div>\n    <div class=\"section emop_between\">\n      <div>公众号</div>\n      <div>\n        <img [src]=\"QRcode\" alt=\"\">\n      </div>\n    </div>\n  </div>\n</div>","styles":[".sidebarAbout{padding:30px 80px}.sidebarAbout .aboutSystem,.sidebarAbout contact{margin-bottom:20px}.sidebarAbout .title{margin-bottom:20px;font-weight:700}.sidebarAbout .section{line-height:30px;align-items:start}img{width:100px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationService","line":9,"character":35},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":10,"character":30}]}],"message":[{"__symbolic":"method"}],"notice":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}}},"origins":{"EmopModule":"./src/app/components/emop.module","ɵa":"./src/app/components/emop-form/emop-form.component","ɵb":"./src/app/components/emop-sidebar/emop-sidebar.component","ɵc":"./src/app/components/emop-table/emop-table.component","ɵd":"./src/app/components/emop-sidebar/components/emop-sidebar-about/emop-sidebar-about.component","ɵe":"./src/app/services/global.service"},"importAs":"emop-components"}