group-management.component.html 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  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 || checkedGroup.type == 2"
  90. [nzChecked]="mapOfCheckedId[data.id]"
  91. (nzCheckedChange)="selectedUser(data)"
  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="groupType"
  155. >分组类型</nz-form-label
  156. >
  157. <nz-form-control nzErrorTip="请选择分组类型!">
  158. <nz-select
  159. [nzDropdownMatchSelectWidth]="false"
  160. formControlName="groupType"
  161. nzShowSearch
  162. nzAllowClear
  163. [nzDisabled]="isDisabledGroupType"
  164. nzPlaceHolder="请选择分组类型"
  165. >
  166. <nz-option nzLabel="统计分组" nzValue="1"></nz-option>
  167. <nz-option nzLabel="派单分组" nzValue="2"></nz-option>
  168. </nz-select>
  169. </nz-form-control>
  170. </nz-form-item>
  171. <nz-form-item>
  172. <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="groupLeader"
  173. >分组组长</nz-form-label
  174. >
  175. <nz-form-control nzErrorTip="请输入分组组长!">
  176. <nz-select
  177. [nzDropdownMatchSelectWidth]="false"
  178. class="formItem"
  179. nzServerSearch
  180. nzShowSearch
  181. [nzLoading]="editLoading"
  182. nzPlaceHolder="请选择分组组长"
  183. formControlName="groupLeader"
  184. (nzOnSearch)="changeInp($event)"
  185. (nzOpenChange)="changeSearch($event)"
  186. >
  187. <ng-container *ngFor="let data of userList">
  188. <nz-option
  189. *ngIf="!isLoading"
  190. nzLabel="{{ data.name }}"
  191. nzValue="{{ data.id }}"
  192. ></nz-option>
  193. </ng-container>
  194. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  195. <i nz-icon nzType="loading" class="loading-icon"></i>
  196. 搜索中...
  197. </nz-option>
  198. </nz-select>
  199. </nz-form-control>
  200. </nz-form-item>
  201. </form>
  202. </div>
  203. <div class="display_flex justify-content_flex-center">
  204. <button
  205. nzType="primary"
  206. [nzLoading]="btnLoading"
  207. nz-button
  208. (click)="submitForm()"
  209. >
  210. 确认
  211. </button>
  212. <button
  213. class="btn cancel"
  214. nz-button
  215. nzType="default"
  216. (click)="hideCoopModal()"
  217. >
  218. 取消
  219. </button>
  220. </div>
  221. </div>
  222. </div>
  223. <!-- 删除模态框 -->
  224. <app-dialog-delete
  225. [delModal]="delModal"
  226. (hideDelModalEvent)="hideDelModal()"
  227. [btnLoading]="btnLoading"
  228. (confirmDelEvent)="confirmDel()"
  229. content="您确认要删除此分组吗?"
  230. ></app-dialog-delete>
  231. </div>
  232. <!-- 操作成功/失败提示框 -->
  233. <app-prompt-modal
  234. *ngIf="promptModalShow"
  235. [content]="promptContent"
  236. [success]="ifSuccess"
  237. [show]="promptModalShow"
  238. [info]="promptInfo"
  239. >
  240. </app-prompt-modal>