repository-manage.component.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <div class="list-template">
  2. <div class="list-template__content">
  3. <div class="list-template__top" nz-row>
  4. <div nz-col nzLg='18' class="list-template__searchBox">
  5. <div class="list-template__searchItem" *ngIf="coopBtns.strideLook">
  6. <span class="label">维修科室</span>:
  7. <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzShowSearch
  8. nzAllowClear nzPlaceHolder="请选择维修科室" [(ngModel)]="maintainDepartment">
  9. <ng-container *ngFor="let option of maintainDept">
  10. <nz-option [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
  11. </ng-container>
  12. </nz-select>
  13. </div>
  14. <div class="list-template__searchItem">
  15. <span class="label">标题:</span>
  16. <input nz-input class="formItem" [(ngModel)]="title" placeholder="请输入标题" nzSize="default" />
  17. </div>
  18. <div class="list-template__searchItem">
  19. <span class="label">编号:</span>
  20. <input nz-input class="formItem" [(ngModel)]="solutionNumber" placeholder="请输入编号" nzSize="default" />
  21. </div>
  22. <div class="list-template__searchItem">
  23. <span class="label">创建人</span>:
  24. <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch
  25. (nzOnSearch)="changeUser($event)" nzAllowClear nzPlaceHolder="请选择创建人" [(ngModel)]="createUserId">
  26. <ng-container *ngFor="let option of createUserList">
  27. <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
  28. </ng-container>
  29. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  30. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  31. </nz-option>
  32. </nz-select>
  33. </div>
  34. </div>
  35. <div nz-col nzLg="6" class="list-template__btns">
  36. <button class="btn default" (click)='search()'>搜索</button>
  37. <button class="btn default ml8" (click)='reset()'>重置</button>
  38. <button *ngIf="coopBtns.add" class="btn default ml8" (click)='addForm()'>新增</button>
  39. </div>
  40. </div>
  41. <div class="list-template__bottom">
  42. <nz-table class="list-template__nzTable" [nzData]="listOfData" nzSize="middle" [nzShowPagination]="false"
  43. [nzLoading]="loading1">
  44. <thead>
  45. <tr class="thead">
  46. <th nzWidth="5%">序号</th>
  47. <th nzWidth="10%">知识库编号</th>
  48. <th nzWidth="25%">标题</th>
  49. <th nzWidth="15%">版本号 | 分类</th>
  50. <th nzWidth="15%">创建人 | 日期</th>
  51. <th nzWidth="10%">状态</th>
  52. <th nzWidth="20%">操作</th>
  53. </tr>
  54. </thead>
  55. <tbody>
  56. <tr *ngFor="let data of listOfData let index=index;" (click)="selectedListData(data.id)">
  57. <td>{{index+(pageIndex-1) * pageSize + 1}}</td>
  58. <td>{{ data.solutionNumber }}</td>
  59. <td>{{ data.title }}</td>
  60. <td>
  61. <div>V{{ data.versionNumber }}</div>
  62. <div>{{ data.type ? data.type.name : '-' }}</div>
  63. </td>
  64. <td>
  65. <div>{{ data.createUser.name }}</div>
  66. <div>{{ data.createTime|date:'yyyy-MM-dd HH:mm' }}</div>
  67. </td>
  68. <td>{{ data.status ? data.status.name : '-' }}</td>
  69. <td>
  70. <div class="coop">
  71. <span *ngIf="coopBtns.edit && (data.status.name=='暂存' || data.status.name=='待整改')" (click)="edit($event,data)">编辑</span>
  72. <span *ngIf="coopBtns.look" (click)="look($event,data)">查看</span>
  73. <span *ngIf="coopBtns.upgrade && data.status.name=='已发布'" (click)="upgrade($event,data)">升级</span>
  74. <span *ngIf="coopBtns.audit && data.status.name=='待审核'" (click)="audit($event,data)">审核</span>
  75. <span *ngIf="coopBtns.pause && data.status.name=='已发布'" (click)="pause($event,data)">停用</span>
  76. <span *ngIf="coopBtns.renew && data.status.name=='已停用'" (click)="renew($event,data)">恢复</span>
  77. <span *ngIf="coopBtns.del" (click)="showDelModal($event,data.id)">删除</span>
  78. </div>
  79. </td>
  80. </tr>
  81. </tbody>
  82. </nz-table>
  83. <div class="list-template__pagination">
  84. <nz-pagination [(nzPageIndex)]="pageIndex" [(nzTotal)]="listLength" nzShowSizeChanger [(nzPageSize)]="pageSize"
  85. (nzPageIndexChange)="getList()" (nzPageSizeChange)="getList()">
  86. </nz-pagination>
  87. </div>
  88. </div>
  89. </div>
  90. <!-- 新增/编辑模态框 -->
  91. <div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="modal">
  92. <div class="modalBody">
  93. <div class="title">{{optType=='audit'?'审核':'查看'}}</div>
  94. <!-- <overlay-scrollbars #osComponentRef1 class="content"> -->
  95. <div class="view-box">
  96. <div class="view-item left-box">
  97. <div class="item-left-list"
  98. [ngClass]="{'activeClass': index == vIndex}"
  99. *ngFor="let item of detailData let index=index;" (click)="versionsClick(item, index)">V{{item.versionNumber}}</div>
  100. </div>
  101. <div class="view-item center-box" *ngIf="lookData&&lookData.title">
  102. <div class="title">{{lookData.title}}</div>
  103. <div class="title-sign">
  104. <div class="width-180">知识分类:{{lookData.type.name}}</div>
  105. <div>报修可见:{{lookData.repairVisible=='1'?'是':'否'}}</div>
  106. <div>版本号:V{{lookData.versionNumber || ''}}</div>
  107. </div>
  108. <div class="title-sign">
  109. <div class="width-180" *ngIf="lookData.type.name=='故障现象'">关联故障:{{lookData.incidentCategory?lookData.incidentCategory.mutiCategory: ''}}</div>
  110. <div class="width-180" *ngIf="lookData.type.name=='日常巡检'">关联巡检:{{lookData.inspectionForm?lookData.inspectionForm.name: ''}}</div>
  111. <div>关联产品:{{lookData.assetProduct?lookData.assetProduct.name:''}}</div>
  112. </div>
  113. <div class="content-class" *ngIf="richText" [innerHTML]="richText"></div>
  114. <div class="file-box" *ngIf="fileData.length>0">
  115. <div>附件列表:</div>
  116. <div>
  117. <div class="file-class" *ngFor="let item of fileData" (click)="fileClick(item)">
  118. {{item.name}}
  119. <span nz-icon nzType="download" nzTheme="outline" class="download-icon"></span>
  120. </div>
  121. </div>
  122. </div>
  123. </div>
  124. <div class="view-item right-box" *ngIf="solutionLogs">
  125. <nz-steps [nzCurrent]="stepLength" nzDirection="vertical" nzSize="small">
  126. <ng-container *ngFor="let item of solutionLogs; let index = index">
  127. <nz-step
  128. [nzDescription]="tpl"
  129. >
  130. </nz-step>
  131. <ng-template #tpl>
  132. <div *ngIf="index==solutionLogs.length-1" class="step-size">
  133. <div>
  134. <span style="color: #49B856;">{{item.operationStatus.name}}</span>
  135. &nbsp;&nbsp;&nbsp;
  136. <span style="color:#333;">{{item.operationUser.name}}</span>
  137. </div>
  138. <div style="color:#333;">{{ item.time }}</div>
  139. <div class="back-class" nz-tooltip [nzTooltipTitle]="item.rejectedReason" *ngIf="item.operationStatus.name=='审核驳回'">(驳回原因)</div>
  140. </div>
  141. <div *ngIf="index!=solutionLogs.length-1" class="step-size">
  142. <div>
  143. <span>{{item.operationStatus.name}}</span>
  144. &nbsp;&nbsp;&nbsp;
  145. <span>{{item.operationUser.name}}</span>
  146. </div>
  147. <div>{{ item.time }}</div>
  148. <div class="back-class" nz-tooltip [nzTooltipTitle]="item.rejectedReason" *ngIf="item.operationStatus.name=='审核驳回'">(驳回原因)</div>
  149. </div>
  150. </ng-template>
  151. </ng-container>
  152. </nz-steps>
  153. </div>
  154. </div>
  155. <!-- </overlay-scrollbars> -->
  156. <div class="display_flex justify-content_flex-center">
  157. <button class="btn" *ngIf="optType=='audit' && vIndex==0" nz-button nzType="primary" (click)="submitForm(1)" [nzLoading]="btnLoading1">通过</button>
  158. <button class="btn" *ngIf="optType=='audit' && vIndex==0" nz-button nzType="primary" (click)="submitForm(2)" [nzLoading]="btnLoading2">驳回</button>
  159. <button class="btn cancel" *ngIf="optType=='audit'" nz-button nzType="default" (click)="hideModal()">取消</button>
  160. <button class="btn" *ngIf="optType=='look'" nz-button nzType="primary" (click)="hideModal()">知道了</button>
  161. </div>
  162. <div class="mask-style" *ngIf="isSpinning">
  163. <nz-spin nzSimple class="spin-style"></nz-spin>
  164. </div>
  165. </div>
  166. </div>
  167. <!-- 删除模态框 -->
  168. <app-dialog-delete [delModal]="delModal" (hideDelModalEvent)="hideDelModal()" [btnLoading]="btnLoading"
  169. (confirmDelEvent)="confirmDel()" content="您确认要删除此知识库吗?"></app-dialog-delete>
  170. <!-- 停用模态框 -->
  171. <app-dialog-delete [delModal]="pauseModal" (hideDelModalEvent)="hideDelModal2()" [btnLoading]="btnLoading"
  172. (confirmDelEvent)="confirmDel2()" content="您确认要停用此知识库吗?"></app-dialog-delete>
  173. <!-- 恢复模态框 -->
  174. <app-dialog-delete [delModal]="renewModal" (hideDelModalEvent)="hideDelModal3()" [btnLoading]="btnLoading"
  175. (confirmDelEvent)="confirmDel3()" content="您确认要恢复此知识库吗?"></app-dialog-delete>
  176. <!-- 审核通过模态框 -->
  177. <app-dialog-delete [delModal]="auditModal" (hideDelModalEvent)="hideDelModal4()" [btnLoading]="btnLoading"
  178. (confirmDelEvent)="confirmDel4()" content="您确认通过此知识库的审核吗?"></app-dialog-delete>
  179. <!-- 审核驳回模态框 -->
  180. <nz-modal [(nzVisible)]="rejectModal" nzTitle="您确认驳回此知识库吗?" (nzOnCancel)="rejectCancel()" (nzOnOk)="rejectOk()">
  181. <textarea
  182. nz-input
  183. [(ngModel)]="rejectData"
  184. placeholder="请输入整改意见"
  185. [nzAutosize]="{ minRows: 2, maxRows: 6 }"
  186. ></textarea>
  187. </nz-modal>
  188. <!-- 编辑模态框 -->
  189. <app-dialog-delete [delModal]="editModal" (hideDelModalEvent)="hideDelModal1()" [btnLoading]="saveLoading"
  190. (confirmDelEvent)="confirmDel1()" [content]="'保存后会重置您的发药科室的药品信息,您确认吗?'"></app-dialog-delete>
  191. </div>
  192. <!-- 操作成功/失败提示框 -->
  193. <app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
  194. [info]="promptInfo" (closeModel)="closeModel()"></app-prompt-modal>