main.component.html 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <nz-layout class="app-layout display_flex flex_auto ant-layout-has-sider">
  2. <overlay-scrollbars #osComponentRef1 class="menu-sidebar">
  3. <div class="sidebar-logo display_flex align-items_center justify-content_flex-center">
  4. <div class="display_flex align-items_center justify-content_flex-center logoTitle">
  5. <div class="title ellipsis-multiline" nz-tooltip nzTooltipTitle="{{tool.logoTitle}}">{{tool.logoTitle}}</div>
  6. </div>
  7. </div>
  8. <!-- 导航重写,兼容chrome39 -->
  9. <ul id="ds-menu">
  10. <li class="mainMenuOne" (click)="totoMenu('首页')" [ngClass]="{mainMenuSelected:indexFlag}">
  11. <i nz-icon nzType="home"></i>
  12. <span nzTooltipPlacement="right" nz-tooltip nzTooltipTitle="首页">首页</span>
  13. </li>
  14. <li *ngFor="let data of menus" class="mainMenuWrap">
  15. <div class="mainMenuOne" (click)="clickMenuOne(data)" [ngClass]="{mainMenuSelected:data.flagBg}">
  16. <i class="icon_transport" [ngClass]="data.icon" *ngIf="isTransportIcon(data.icon)"></i>
  17. <i nz-icon [nzType]="data.icon" *ngIf="!isTransportIcon(data.icon)"></i>
  18. <span nzTooltipPlacement="right" nz-tooltip nzTooltipTitle="{{data.title}}">{{data.title}}</span>
  19. <span class="icon_transport transport-xialajiantou" [ngStyle]="{transform:data.flag?'rotate(180deg)':'rotate(0deg)',color:data.flag?'#fff':'#999'}"></span>
  20. </div>
  21. <ul>
  22. <li *ngFor="let item of data.childrens" class="mainMenu" (click)="totoMenu(item.title,item,data)" [ngStyle]="{height:data.flag?'44px':0}" [ngClass]="{menuTwoSelected:item.flag}">
  23. <span nzTooltipPlacement="right" nz-tooltip nzTooltipTitle="{{item.title}}">{{item.title}}</span>
  24. </li>
  25. </ul>
  26. </li>
  27. </ul>
  28. </overlay-scrollbars>
  29. <nz-layout style="background:#fff;display: flex;flex-direction: column;position: relative;">
  30. <nz-header>
  31. <div class="app-header display_flex justify-content_space-between align-items_center">
  32. <div class="left">
  33. <i class="icon_transport transport-tiaodu-fill green" *ngIf='deskRole' (click)="toFuwutai()" nz-tooltip nzTooltipTitle="调度台"></i>
  34. <i class="icon_transport transport-hushizhihanghuligongzuo green" *ngIf="nurseRole" (click)="toHuShi()" nz-tooltip nzTooltipTitle="护士端"></i>
  35. <i class="icon_transport transport-peizhi1 green" *ngIf="incidentConfigRole || otherConfigRole || pageConfigRole || nurseConfigRole" (click)="toConfigurationCenter()" nz-tooltip nzTooltipTitle="配置中心"></i>
  36. <i class="icon_transport transport-shangban green" *ngIf='PCCommutesToWork && userInfo.user && !userInfo.user.online' (click)="GoWork()" nz-tooltip nzTooltipTitle="我要上班"></i>
  37. <i class="icon_transport transport-shangban green" *ngIf='PCCommutesToWork && userInfo.user && userInfo.user.online' (click)="GoWork()" nz-tooltip nzTooltipTitle="我要下班"></i>
  38. <div class="dropdown" *ngIf="pharmacyRole || largeScreenRole || largeScreenRole2 || specimenViewRole || specimenViewRole2 || specimenRoomView || pathology || disinfectionSupplyRole || sampling">
  39. <i class="icon_transport transport-gengduoda-copy" (mouseenter)="showDropdown1 = true" (mouseleave)="showDropdown1 = false"></i>
  40. <div class="dropdown-content ct" [hidden]="!showDropdown1" (mouseenter)="showDropdown1 = true" (mouseleave)="showDropdown1 = false">
  41. <div class="dropdownItem" *ngIf="pharmacyRole" (click)="toPharmacy()">药房端</div>
  42. <div class="dropdownItem" *ngIf="pharmacyRole" (click)="toPharmacy2()">药房端2</div>
  43. <div class="dropdownItem" *ngIf="largeScreenRole" (click)="toBigScreen('largeScreen')">大屏端</div>
  44. <div class="dropdownItem" *ngIf="largeScreenRole2" (click)="toBigScreen('largeScreen2')">大屏端2</div>
  45. <div class="dropdownItem" *ngIf="specimenViewRole" (click)="toBigScreen('specimenView')">业务视图</div>
  46. <div class="dropdownItem" *ngIf="specimenViewRole2" (click)="toSpecimenView2()">标本视图</div>
  47. <div class="dropdownItem" *ngIf="specimenRoomView" (click)="toSpecimenRoomView()">标本间端</div>
  48. <div class="dropdownItem" *ngIf="pathology" (click)="toPathology()">病理科端</div>
  49. <div class="dropdownItem" *ngIf="sampling" (click)="toSampling()">门诊病理采样端</div>
  50. <div class="dropdownItem" *ngIf="communicationBook" (click)="toCommunicationBook()">病理交接本</div>
  51. <div class="dropdownItem" *ngIf="disinfectionSupplyRole" (click)="toDisinfectionSupply()">全局业务查看</div>
  52. <div class="dropdownItem" *ngIf="realtimeBroadcastRole" (click)="toRealtimeBroadcast()">故障实时播报</div>
  53. </div>
  54. </div>
  55. </div>
  56. <div class="right">
  57. <div class="userInfo dropdown">
  58. <div class="user" (mouseenter)="showDropdown = true" (mouseleave)="showDropdown = false">
  59. <img src="../../assets/images/icon_keshi.png" alt="">
  60. <span><ng-container *ngIf="currentHospital.hosName">{{currentHospital.hosName}}-</ng-container>{{(userInfo&&userInfo.user)?userInfo.user.name:''}}</span>
  61. <i class="icon_transport transport-xiala1 ml8"></i>
  62. </div>
  63. <div class="dropdown-content r8" [hidden]="!showDropdown" (mouseenter)="showDropdown = true" (mouseleave)="showDropdown = false">
  64. <div class="dropdownItem" (click)="selectHospital()">选择院区</div>
  65. <div class="dropdownItem" (click)="showUpPwd()">修改密码</div>
  66. <div class="dropdownItem" (click)="logOut()">退出</div>
  67. </div>
  68. </div>
  69. </div>
  70. </div>
  71. </nz-header>
  72. <nz-content style="position: relative;">
  73. <div class="inner-content">
  74. <router-outlet></router-outlet>
  75. </div>
  76. </nz-content>
  77. </nz-layout>
  78. </nz-layout>
  79. <!-- 上下班模态框 -->
  80. <app-dialog-delete [delModal]="workModal" (hideDelModalEvent)="hideWorkModal()" [btnLoading]="loading3"
  81. (confirmDelEvent)="confirmWork()" [content]="types"></app-dialog-delete>
  82. <!-- 消息弹框模板 -->
  83. <ng-template #msgTemplate1 let-msg="data">
  84. <div class="msgTemBox ant-notification-notice-content">
  85. <div class="borderLeft"></div>
  86. <div class="ant-notification-notice-with-icon">
  87. <span class="ant-notification-notice-icon">
  88. <i class="icon icon_transport transport-shouye9"></i>
  89. </span>
  90. <div class="ant-notification-notice-message">{{msg.type==1?'通知':'消息'}}</div>
  91. <div class="ant-notification-notice-description">{{msg.content}}</div>
  92. </div>
  93. </div>
  94. </ng-template>
  95. <!-- 修改密码 -->
  96. <nz-modal [(nzVisible)]="isPwdVisible" nzTitle="修改密码" (nzOnCancel)="pwdHandleCancel()" (nzOnOk)="pwdHandleOk()" [nzOkLoading]="pwdIsOkLoading" (nzAfterOpen)="pwdAfterOpen()">
  97. <div>
  98. <label>
  99. 原始密码:
  100. <nz-input-group [nzSuffix]="suffixTemplate">
  101. <input minlength="9" [type]="passwordVisible ? 'text' : 'password'" nz-input placeholder="原始密码" [(ngModel)]="upModalData.pwdOld" />
  102. </nz-input-group>
  103. <ng-template #suffixTemplate>
  104. <i nz-icon [nzType]="passwordVisible ? 'eye-invisible' : 'eye'" (click)="passwordVisible = !passwordVisible"></i>
  105. </ng-template>
  106. </label>
  107. <label>新密码:
  108. <div style="display: flex;">
  109. <nz-input-group [nzSuffix]="suffixTemplate">
  110. <input minlength="9" [type]="passwordVisible ? 'text' : 'password'" nz-input placeholder="新密码" [(ngModel)]="upModalData.newPwd" (ngModelChange)="blurNewPwd()" />
  111. </nz-input-group>
  112. <ng-template #suffixTemplate>
  113. <i nz-icon [nzType]="passwordVisible ? 'eye-invisible' : 'eye'" (click)="passwordVisible = !passwordVisible"></i>
  114. </ng-template>
  115. <div class="red" style="display: flex;justify-content: center;align-items: center;padding-left: 5px;" *ngIf="enoughRegFlag">弱</div>
  116. <div style="display: flex;justify-content: center;align-items: center;padding-left: 5px;" *ngIf="mediumRegFlag">中</div>
  117. <div class="green" style="display: flex;justify-content: center;align-items: center;padding-left: 5px;" *ngIf="strongRegFlag">强</div>
  118. </div>
  119. </label>
  120. <div class="red">强密码需包含大小写字母、数字、特殊字符,长度至少9个字符</div>
  121. <label>确认新密码:
  122. <nz-input-group [nzSuffix]="suffixTemplate">
  123. <input minlength="9" [type]="passwordVisible ? 'text' : 'password'" nz-input placeholder="确认新密码" [(ngModel)]="upModalData.newPwd2" />
  124. </nz-input-group>
  125. <ng-template #suffixTemplate>
  126. <i nz-icon [nzType]="passwordVisible ? 'eye-invisible' : 'eye'" (click)="passwordVisible = !passwordVisible"></i>
  127. </ng-template>
  128. </label>
  129. </div>
  130. </nz-modal>
  131. <!-- 大屏或视图选择院区模态框 -->
  132. <app-select-hospital (hosFlagHand)="hosFlagHand($event)" (submitFormHand)="submitFormHand($event)" [hosFlag]="hosFlag"></app-select-hospital>
  133. <!-- 切换院区 -->
  134. <app-select-hospital (hosFlagHand)="hosFlagHand1($event)" (submitFormHand)="submitFormHand1($event)" [hosFlag]="hosFlag1"></app-select-hospital>
  135. <!-- 模态框 -->
  136. <div class="save display_flex justify-content_flex-center align-items_center" *ngIf="delModal">
  137. <div class="modalBody">
  138. <div class="title">提示<i class="icon_transport transport-guanbi" (click)="hideDelModal()"></i></div>
  139. <div class="content">
  140. <div class="icon"><i class="icon_transport transport-wenhao"></i></div>
  141. <div class="defeat">{{tipsMsg1}}</div>
  142. </div>
  143. <div class="display_flex justify-content_flex-center">
  144. <button nz-button nzType="primary" (click)="confirmDel()">确认</button>
  145. <button class="btn cancel " nz-button nzType="default" (click)="hideDelModal()">关闭</button>
  146. </div>
  147. </div>
  148. </div>
  149. <!-- 菜单选择 -->
  150. <app-select-menu (cancelMenuModal)="cancelMenuModal($event)" [iShowMenuModal]="iShowMenuModal"></app-select-menu>
  151. <!-- 遮罩 -->
  152. <app-mask *ngIf="maskFlag"></app-mask>