configuration-category.component.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. <div class="hospitalConfig">
  2. <nz-radio-group [(ngModel)]="hospitalConfig" (ngModelChange)="changeHospitalConfig($event)">
  3. <label nz-radio [nzValue]="item.id" *ngFor="let item of hospitalConfigList">{{ item.name }}</label>
  4. </nz-radio-group>
  5. </div>
  6. <div class="content">
  7. <div class="contentInner">
  8. <div class="address">
  9. <div class="contentHead">一级故障现象<div><button nz-button nzType="primary" nzSize="small" (click)="editCategory(1, activeCategory1)" class="mr8" *ngIf="activeCategory1.id && hospitalConfig === 2">编辑</button><button nz-button nzType="primary" nzSize="small" (click)="addCategoryModal(1)">新增</button></div></div>
  10. <overlay-scrollbars #osComponentRef1 class="contentBody">
  11. <nz-spin nzSimple [nzSpinning]="categoryLoading1" class="mt8 text_align_center"></nz-spin>
  12. <div [hidden]="categoryLoading1" class="contentItem" [title]="item.category" [ngClass]="{ active: item.id === activeCategory1.id }" (click)="clickCategory(item, 1)" *ngFor="let item of categoryList1">{{ item.category }}</div>
  13. </overlay-scrollbars>
  14. </div>
  15. <div class="address">
  16. <div class="contentHead">二级故障现象<div><button nz-button nzType="primary" nzSize="small" *ngIf="activeCategory2.id && hospitalConfig === 2" (click)="editCategory(2, activeCategory2)" class="mr8">编辑</button><button nz-button nzType="primary" nzSize="small" *ngIf="activeCategory1.id" (click)="addCategoryModal(2)">新增</button></div></div>
  17. <overlay-scrollbars #osComponentRef2 class="contentBody">
  18. <nz-spin nzSimple [nzSpinning]="categoryLoading2" class="mt8 text_align_center"></nz-spin>
  19. <div [hidden]="categoryLoading2" class="contentItem" [title]="item.category" [ngClass]="{ active: item.id === activeCategory2.id }" (click)="clickCategory(item, 2)" *ngFor="let item of categoryList2">{{ item.category }}</div>
  20. </overlay-scrollbars>
  21. </div>
  22. <div class="address">
  23. <div class="contentHead">三级故障现象<div><button nz-button nzType="primary" nzSize="small" *ngIf="activeCategory3.id && hospitalConfig === 2" (click)="editCategory(3, activeCategory3)" class="mr8">编辑</button><button nz-button nzType="primary" nzSize="small" *ngIf="activeCategory2.id" (click)="addCategoryModal(3)">新增</button></div></div>
  24. <overlay-scrollbars #osComponentRef3 class="contentBody">
  25. <nz-spin nzSimple [nzSpinning]="categoryLoading3" class="mt8 text_align_center"></nz-spin>
  26. <div [hidden]="categoryLoading3" class="contentItem" [title]="item.category" [ngClass]="{ active: item.id === activeCategory3.id }" (click)="clickCategory(item, 3)" *ngFor="let item of categoryList3">{{ item.category }}</div>
  27. </overlay-scrollbars>
  28. </div>
  29. <div class="addressAssign">
  30. <div class="contentHead">
  31. <div class="title" title="{{activeCategory1.category}}{{activeCategory2.category ? ' - ' + activeCategory2.category : ''}}{{activeCategory3.category ? ' - ' + activeCategory3.category : ''}}">{{activeCategory1.category}}{{activeCategory2.category ? ' - ' + activeCategory2.category : ''}}{{activeCategory3.category ? ' - ' + activeCategory3.category : ''}}</div>
  32. <div class="btns" *ngIf="activeCategory1.id || activeCategory2.id || activeCategory3.id">
  33. <button nz-button nzType="primary" nzSize="small" (click)="showDelModal(data, hospitalConfig === 1 ? '您确认向下复制您的配置信息吗?' : '您确认向下复制您的配置吗?将会移除各科室的配置,使用当前配置进行覆盖。','向下复制','copy')" *ngIf="currentChildrenCategoryList">向下复制</button>
  34. <button nz-button nzType="primary" nzSize="small" class="ml8" *ngIf="hospitalConfig === 2" (click)="addConfigModal()">新增</button>
  35. </div>
  36. </div>
  37. <div class="contentBody" id="categoryTable">
  38. <div class="list-template">
  39. <div class="list-template__content">
  40. <div class="list-template__bottom">
  41. <nz-table class="list-template__nzTable" [nzData]="categoryConfigList" nzSize="middle" [nzShowPagination]="false"
  42. [nzLoading]="loading1" [nzScroll]="{ y: tableCategoryHeight + 'px' }">
  43. <thead>
  44. <tr class="thead">
  45. <th nzWidth="16%">院区</th>
  46. <th nzWidth="16%">责任部门</th>
  47. <th nzWidth="16%">优先级</th>
  48. <th nzWidth="16%">积分</th>
  49. <th nzWidth="16%">维修人|组</th>
  50. <th nzWidth="20%">操作</th>
  51. </tr>
  52. </thead>
  53. <tbody>
  54. <tr *ngFor="let data of categoryConfigList;let i = index">
  55. <td>{{data.hospitalDTO?.hosName}}</td>
  56. <td>{{data.dutyDTO?.hosName}}</td>
  57. <td>{{data.priorityDTO?.name}}</td>
  58. <td>{{data.score?.value}}</td>
  59. <td>{{data.userGroup === 1 ? data.userDTO?.name : (data.userGroup === 2 ? data.groupDTO?.groupName : '')}}</td>
  60. <td>
  61. <div class="coop">
  62. <span (click)="showDelModal(data,'您确认要删除吗?','删除','delConfig')">删除</span>
  63. <span (click)="editConfig(data)">编辑</span>
  64. </div>
  65. </td>
  66. </tr>
  67. </tbody>
  68. </nz-table>
  69. </div>
  70. </div>
  71. </div>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. <!-- 新增/编辑关联模态框 -->
  77. <div class="save display_flex justify-content_flex-center align-items_center add" *ngIf="modalConfig">
  78. <div class="modalBody">
  79. <div class="title">{{modelName}}<i class="icon_transport transport-guanbi" (click)="hideConfigModal()"></i></div>
  80. <div class="content">
  81. <form nz-form [formGroup]="validateConfigForm" class="addForm">
  82. <nz-form-item>
  83. <nz-form-label [nzSpan]="5" nzRequired nzFor="hosId">院区</nz-form-label>
  84. <nz-form-control [nzSpan]="19" nzErrorTip="请选择院区!">
  85. <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="hosId" nzShowSearch
  86. nzPlaceHolder="请选择院区" nzServerSearch (ngModelChange)="changeHospital($event)" [nzDisabled]="!add">
  87. <ng-container *ngFor="let data of hospitalList">
  88. <nz-option *ngIf="!isLoading" [nzLabel]="data.hosName" [nzValue]="data.id"></nz-option>
  89. </ng-container>
  90. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  91. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  92. </nz-option>
  93. </nz-select>
  94. </nz-form-control>
  95. </nz-form-item>
  96. <nz-form-item>
  97. <nz-form-label [nzSpan]="5" nzRequired nzFor="dutyId">责任部门</nz-form-label>
  98. <nz-form-control [nzSpan]="19" nzErrorTip="请选择责任部门!">
  99. <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="dutyId" nzShowSearch
  100. nzPlaceHolder="请选择责任部门" nzServerSearch (ngModelChange)="changeDuty($event)" [nzDisabled]="!add">
  101. <ng-container *ngFor="let data of dutyList">
  102. <nz-option *ngIf="!isLoading" [nzLabel]="data.hosName" [nzValue]="data.id"></nz-option>
  103. </ng-container>
  104. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  105. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  106. </nz-option>
  107. </nz-select>
  108. </nz-form-control>
  109. </nz-form-item>
  110. <nz-form-item>
  111. <nz-form-label [nzSpan]="5" nzRequired nzFor="priority">优先级</nz-form-label>
  112. <nz-form-control [nzSpan]="19" nzErrorTip="请选择优先级!">
  113. <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="priority" nzShowSearch
  114. nzPlaceHolder="请选择优先级" nzServerSearch>
  115. <ng-container *ngFor="let option of priority_c_List">
  116. <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
  117. </ng-container>
  118. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  119. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  120. </nz-option>
  121. </nz-select>
  122. </nz-form-control>
  123. </nz-form-item>
  124. <nz-form-item>
  125. <nz-form-label [nzSpan]="5" nzRequired nzFor="score">积分</nz-form-label>
  126. <nz-form-control [nzSpan]="19" nzErrorTip="请选择积分!">
  127. <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="score" nzShowSearch
  128. nzPlaceHolder="请选择积分" nzServerSearch>
  129. <ng-container *ngFor="let data of scoreList">
  130. <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id"></nz-option>
  131. </ng-container>
  132. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  133. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  134. </nz-option>
  135. </nz-select>
  136. </nz-form-control>
  137. </nz-form-item>
  138. <nz-form-item>
  139. <nz-form-label [nzSpan]="5" nzRequired nzFor="userGroup">分配方式</nz-form-label>
  140. <nz-form-control [nzSpan]="19" nzErrorTip="请选择分配方式!">
  141. <nz-radio-group formControlName="userGroup" (ngModelChange)="changeUserGroup($event)">
  142. <label nz-radio [nzValue]="1">人</label>
  143. <label nz-radio [nzValue]="2">组</label>
  144. </nz-radio-group>
  145. </nz-form-control>
  146. </nz-form-item>
  147. <nz-form-item>
  148. <nz-form-label [nzSpan]="5" nzRequired nzFor="groupId">维修组</nz-form-label>
  149. <nz-form-control [nzSpan]="19" nzErrorTip="请选择维修组!">
  150. <nz-select (nzOnSearch)="changeInp('group', $event)" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch nzAllowClear formControlName="groupId" nzPlaceHolder="请选择维修组" (ngModelChange)="changeGroup($event)">
  151. <ng-container *ngFor="let option of groupList">
  152. <nz-option *ngIf="!isLoading" [nzLabel]="option.groupName" [nzValue]="option.id"></nz-option>
  153. </ng-container>
  154. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  155. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  156. </nz-option>
  157. </nz-select>
  158. </nz-form-control>
  159. </nz-form-item>
  160. <nz-form-item *ngIf="validateConfigForm.value.userGroup === 1">
  161. <nz-form-label [nzSpan]="5" nzRequired nzFor="userId">维修人</nz-form-label>
  162. <nz-form-control [nzSpan]="19" nzErrorTip="请选择维修人!">
  163. <nz-select (nzOnSearch)="changeInp('user', $event)" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch nzAllowClear formControlName="userId" nzPlaceHolder="请选择维修人">
  164. <ng-container *ngFor="let option of userList">
  165. <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
  166. </ng-container>
  167. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  168. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  169. </nz-option>
  170. </nz-select>
  171. </nz-form-control>
  172. </nz-form-item>
  173. </form>
  174. </div>
  175. <div class=" display_flex justify-content_flex-center">
  176. <button nzType="primary" nz-button (click)="submitConfigForm()" [nzLoading]="btnLoading">确认</button>
  177. <button class="btn cancel" nz-button nzType="default" (click)="hideConfigModal()">取消</button>
  178. </div>
  179. </div>
  180. </div>
  181. <!-- 新增/编辑故障现象模态框 -->
  182. <div class="save display_flex justify-content_flex-center align-items_center add" *ngIf="modalCategory">
  183. <div class="modalBody">
  184. <div class="title">{{modelName}}<i class="icon_transport transport-guanbi" (click)="hideCategoryModal()"></i></div>
  185. <div class="content">
  186. <div class="tips" *ngIf="coopType === 1 && add">您将添加一级故障现象,请输入故障现象</div>
  187. <div class="tips" *ngIf="coopType === 2 && add">您将在“<span class="red">{{activeCategory1.category}}</span>”下新增故障现象,请输入故障现象</div>
  188. <div class="tips" *ngIf="coopType === 3 && add">您将在“<span class="red">{{activeCategory1.category}}{{activeCategory2.category ? ' - ' + activeCategory2.category : ''}}</span>”下新增故障现象,请输入故障现象</div>
  189. <form nz-form [formGroup]="validateCategoryForm" class="addForm">
  190. <nz-form-item *ngIf="!add && (coopType === 2 || coopType === 3)">
  191. <nz-form-label nzFor="category1" nzRequired [nzSpan]="6">一级故障现象</nz-form-label>
  192. <nz-form-control [nzSpan]="24" nzErrorTip="请选择一级故障现象!">
  193. <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzPlaceHolder="请选择一级故障现象" formControlName="category1" (ngModelChange)="changeOneCategory($event)">
  194. <ng-container *ngFor="let option of categoryListP1">
  195. <nz-option *ngIf="!isLoading" [nzLabel]="option.category" [nzValue]="option.id"></nz-option>
  196. </ng-container>
  197. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  198. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  199. </nz-option>
  200. </nz-select>
  201. </nz-form-control>
  202. </nz-form-item>
  203. <nz-form-item *ngIf="!add && coopType === 3">
  204. <nz-form-label nzFor="category2" nzRequired [nzSpan]="6">二级故障现象</nz-form-label>
  205. <nz-form-control [nzSpan]="24" nzErrorTip="请选择二级故障现象!">
  206. <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzPlaceHolder="请选择二级故障现象" formControlName="category2">
  207. <ng-container *ngFor="let option of categoryListP2">
  208. <nz-option *ngIf="!isLoading" [nzLabel]="option.category" [nzValue]="option.id"></nz-option>
  209. </ng-container>
  210. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  211. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  212. </nz-option>
  213. </nz-select>
  214. </nz-form-control>
  215. </nz-form-item>
  216. <nz-form-item>
  217. <nz-form-label nzFor="category" nzRequired [nzSpan]="6" *ngIf="!add">故障现象名称</nz-form-label>
  218. <nz-form-control [nzSpan]="24" nzErrorTip="请输入故障现象名称!">
  219. <nz-input-group>
  220. <textarea formControlName="name" nz-input placeholder="请输入故障现象名称" [nzAutosize]="{minRows: 3}"></textarea>
  221. </nz-input-group>
  222. </nz-form-control>
  223. </nz-form-item>
  224. </form>
  225. </div>
  226. <div class=" display_flex justify-content_flex-center">
  227. <button nzType="primary" nz-button (click)="submitCategoryForm()" [nzLoading]="btnLoading">确认</button>
  228. <button class="btn cancel" nz-button nzType="default" (click)="hideCategoryModal()">取消</button>
  229. </div>
  230. </div>
  231. </div>
  232. <!-- 操作成功/失败提示框 -->
  233. <app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
  234. [info]="promptInfo">
  235. </app-prompt-modal>
  236. <!-- 删除模态框 -->
  237. <app-dialog-delete [delModal]="delModal" (hideDelModalEvent)="hideDelModal()" [btnLoading]="btnLoading"
  238. (confirmDelEvent)="confirmDel()" [content]="tipsMsg1"></app-dialog-delete>