group-management.component.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. <div class="groupManagement">
  2. <div class="groupInfo">
  3. <div class="title">分组信息</div>
  4. <div class="operate">
  5. <div *ngIf="coopBtns.add" class="add item" (click)="showCoopModal('add')">
  6. 新增
  7. </div>
  8. <div
  9. *ngIf="coopBtns.edit"
  10. class="edit item"
  11. (click)="showCoopModal('edit')"
  12. >
  13. 编辑
  14. </div>
  15. <div *ngIf="coopBtns.del" class="del item" (click)="showDelModal()">
  16. 删除
  17. </div>
  18. </div>
  19. <div class="groups" [ngStyle]="{ display: !loading1 ? 'block' : 'none' }">
  20. <overlay-scrollbars #osComponentRef1 [ngStyle]="{ height: '100%' }">
  21. <div
  22. [ngClass]="{ item: true, checked: data.id == checkedGroup.id }"
  23. *ngFor="let data of groupList"
  24. (click)="checkGroup(data)"
  25. [title]="data.scheduleClass.name + ' ' + data.groupName"
  26. >
  27. {{ data.scheduleClass.name }} {{ data.groupName }}
  28. </div>
  29. </overlay-scrollbars>
  30. </div>
  31. <div class="groups" *ngIf="loading1">
  32. <div
  33. class="loadingFull display_flex justify-content_flex-center align-items_center"
  34. >
  35. <div class="loadingFullInner">
  36. <img src="../../../assets/images/loading.gif" alt="" />
  37. <div>加载中...</div>
  38. </div>
  39. </div>
  40. </div>
  41. </div>
  42. <div class="userInfo">
  43. <div
  44. class="top display_flex justify-content_space-between align-items_center"
  45. >
  46. <div class="display_flex align-items_center">
  47. <span>用户信息:</span>
  48. <input
  49. nz-input
  50. placeholder="请输入用户信息"
  51. [(ngModel)]="searchName"
  52. nzSize="default"
  53. (ngModelChange)="searchInp($event)"
  54. />
  55. </div>
  56. <div class="display_flex align-items_center">
  57. <span>已选择 {{ usersArr.length }} 人</span>
  58. <button
  59. class="btn default"
  60. *ngIf="coopBtns.edit && groupList.length"
  61. nzType="primary"
  62. nz-button
  63. [nzLoading]="saveLoading"
  64. (click)="save()"
  65. >
  66. 保存
  67. </button>
  68. </div>
  69. </div>
  70. <div class="table" *ngIf="!loading1">
  71. <nz-table
  72. class="groupManagementTable"
  73. #rowSelectionTable
  74. [nzPageSize]="9999"
  75. [nzData]="allUserList"
  76. [nzShowPagination]="false"
  77. #fixedTable
  78. [nzScroll]="{ y: tableHeight + 'px' }"
  79. [nzLoading]="loading2"
  80. >
  81. <tbody>
  82. <tr
  83. *ngFor="let data of rowSelectionTable.data"
  84. (click)="selectedUser(data)"
  85. >
  86. <td
  87. style="text-align: left; cursor: pointer"
  88. nzShowCheckbox
  89. [(nzDisabled)]="!coopBtns.edit"
  90. [(nzChecked)]="mapOfCheckedId[data.id]"
  91. (nzCheckedChange)="refreshStatus()"
  92. ></td>
  93. <td>{{ data.dept.dept }} {{ data.name }}</td>
  94. </tr>
  95. </tbody>
  96. </nz-table>
  97. </div>
  98. </div>
  99. <!-- 新增/编辑模态框 -->
  100. <div
  101. class="save display_flex justify-content_flex-center align-items_center add"
  102. *ngIf="coopModal"
  103. >
  104. <div class="modalBody">
  105. <div class="title">
  106. {{ add ? "新增" : "编辑" }}分组信息<i
  107. class="icon_transport transport-guanbi"
  108. (click)="hideCoopModal()"
  109. ></i>
  110. </div>
  111. <div class="content">
  112. <form
  113. nz-form
  114. [formGroup]="validateForm"
  115. class="addForm"
  116. (ngSubmit)="submitForm()"
  117. >
  118. <nz-form-item>
  119. <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="classes"
  120. >所属班次</nz-form-label
  121. >
  122. <nz-form-control nzErrorTip="请选择所属班次!">
  123. <nz-select
  124. [nzDropdownMatchSelectWidth]="false"
  125. formControlName="classes"
  126. nzShowSearch
  127. nzAllowClear
  128. nzPlaceHolder="请选择所属班次"
  129. >
  130. <nz-option
  131. nzLabel="{{ data.name }}"
  132. nzValue="{{ data.id }}"
  133. *ngFor="let data of scheduleList"
  134. ></nz-option>
  135. </nz-select>
  136. </nz-form-control>
  137. </nz-form-item>
  138. <nz-form-item>
  139. <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="groupName"
  140. >分组名称</nz-form-label
  141. >
  142. <nz-form-control nzErrorTip="请输入分组名称!">
  143. <nz-input-group>
  144. <input
  145. type="groupName"
  146. nz-input
  147. formControlName="groupName"
  148. placeholder="请输入分组名称"
  149. />
  150. </nz-input-group>
  151. </nz-form-control>
  152. </nz-form-item>
  153. <nz-form-item>
  154. <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="groupLeader"
  155. >分组组长</nz-form-label
  156. >
  157. <nz-form-control nzErrorTip="请输入分组组长!">
  158. <nz-select
  159. [nzDropdownMatchSelectWidth]="false"
  160. class="formItem"
  161. nzServerSearch
  162. nzShowSearch
  163. nzAllowClear
  164. nzPlaceHolder="请选择分组组长"
  165. formControlName="groupLeader"
  166. (nzOnSearch)="changeInp($event)"
  167. (nzOpenChange)="changeSearch($event)"
  168. >
  169. <ng-container *ngFor="let data of userList">
  170. <nz-option
  171. *ngIf="!isLoading"
  172. nzLabel="{{ data.name }}"
  173. nzValue="{{ data.id }}"
  174. ></nz-option>
  175. </ng-container>
  176. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  177. <i nz-icon nzType="loading" class="loading-icon"></i>
  178. 搜索中...
  179. </nz-option>
  180. </nz-select>
  181. </nz-form-control>
  182. </nz-form-item>
  183. </form>
  184. </div>
  185. <div class="display_flex justify-content_flex-center">
  186. <button
  187. nzType="primary"
  188. [nzLoading]="btnLoading"
  189. nz-button
  190. (click)="submitForm()"
  191. >
  192. 确认
  193. </button>
  194. <button
  195. class="btn cancel"
  196. nz-button
  197. nzType="default"
  198. (click)="hideCoopModal()"
  199. >
  200. 取消
  201. </button>
  202. </div>
  203. </div>
  204. </div>
  205. <!-- 删除模态框 -->
  206. <app-dialog-delete
  207. [delModal]="delModal"
  208. (hideDelModalEvent)="hideDelModal()"
  209. [btnLoading]="btnLoading"
  210. (confirmDelEvent)="confirmDel()"
  211. content="您确认要删除此分组吗?"
  212. ></app-dialog-delete>
  213. </div>
  214. <!-- 操作成功/失败提示框 -->
  215. <app-prompt-modal
  216. *ngIf="promptModalShow"
  217. [content]="promptContent"
  218. [success]="ifSuccess"
  219. [show]="promptModalShow"
  220. [info]="promptInfo"
  221. >
  222. </app-prompt-modal>