pathology.component.html 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601
  1. <div class="pharmacy">
  2. <!-- 头部 start -->
  3. <div class="pharmacy-header">
  4. <div class="pharmacy-logo">
  5. <h2 class="pharmacy-name__title">
  6. <span>病理科</span>
  7. </h2>
  8. </div>
  9. <div class="pharmacy-name">
  10. <div class="mar-ri-30" *ngIf="toDayData">
  11. 今日接收:
  12. 申请单 <span class="weight">{{toDayData.pathologyFormNum || 0}}</span> &nbsp;
  13. 标本 <span class="weight">{{toDayData.specimenNum || 0}}</span>&nbsp;
  14. 速冻 <span class="weight">{{toDayData.rapidityNum || 0}}</span>&nbsp;
  15. 送出申请单 <span class="weight">{{toDayData.sendOut || 0}}</span>&nbsp;
  16. </div>
  17. <div class="pharmacy-name__total">
  18. <nz-input-group nzSize="large">
  19. <input type="text" id="Binput" (ngModelChange)="specimenCodeChange($event)" [(ngModel)]="barCode" nz-input placeholder="可扫描物理标本条码及包码" />
  20. </nz-input-group>
  21. </div>
  22. <div class="error-class">{{errorcODEMsg}}</div>
  23. </div>
  24. <div class="nurseCode" (click)="showNurseCode()">
  25. <i class="nurseCodeIcon icon_transport transport-erweima"></i
  26. >二维码
  27. </div>
  28. <div class="userInfo">
  29. <div class="wel">欢迎您:</div>
  30. <div class="user">
  31. <img src="../../assets/images/icon_keshi.png" alt="" />
  32. <span *ngIf="deptDisplay">{{
  33. deptDisplay == 2 ? loginUser.dept.deptalias : loginUser.dept.dept
  34. }}</span>
  35. </div>
  36. <div class="userInfo-wrap">
  37. <div class="logOut" (click)="changeKsNow()">切换科室</div>
  38. <div class="logOut" (click)="logOut()">退出</div>
  39. </div>
  40. </div>
  41. </div>
  42. <div class="tabs">
  43. <div class="tabs-item">
  44. <div class="tabs-item-item" [ngClass]="{'activeClass': activeIndex == 0}" (click)="tabClick(0)">交接本</div>
  45. <div class="tabs-item-item" [ngClass]="{'activeClass': activeIndex == 1}" (click)="tabClick(1)">实时术中快速<span class="red" *ngIf="toDayData">({{toDayData.unReceiveRapidityNum?toDayData.unReceiveRapidityNum:0}})</span></div>
  46. <div class="tabs-item-item" [ngClass]="{'activeClass': activeIndex == 2}" (click)="tabClick(2)">打包配送</div>
  47. </div>
  48. <div class="tabs-btn">
  49. <button class="btn default" nz-button nzType="primary" nzSize="small" (click)='connect()'>接收</button>
  50. <button class="btn default" nz-button nzType="primary" nzSize="small" (click)='packaging()'>打包</button>
  51. </div>
  52. </div>
  53. <!-- 头部 end -->
  54. <div class="pharmacy-main">
  55. <div *ngIf="activeIndex==0" class="list-template pharmacy-main__list pharmacy-main__print">
  56. <div class="list-template__content">
  57. <div class="list-template__top" nz-row>
  58. <div nz-col nzLg='18' class="list-template__searchBox">
  59. <div class="list-template__searchItem">
  60. <span class="label">接收时间:</span>
  61. <nz-range-picker [(ngModel)]="acceptTime" nzFormat="yyyy-MM-dd HH:mm:ss"
  62. (ngModelChange)="changeDate($event)"></nz-range-picker>
  63. </div>
  64. <div class="list-template__searchItem">
  65. <span class="label">配送人:</span>
  66. <nz-select class="formItem" (nzOnSearch)="changeUserInp($event)"
  67. [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch nzAllowClear nzPlaceHolder="请选择配送人"
  68. [(ngModel)]="deliveryUser">
  69. <ng-container *ngFor="let option of userData">
  70. <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
  71. </ng-container>
  72. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  73. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  74. </nz-option>
  75. </nz-select>
  76. </div>
  77. <div class="list-template__searchItem">
  78. <span class="label">术中快速:</span>
  79. <nz-radio-group [(ngModel)]="pathologyFormType">
  80. <label nz-radio nzValue="1">是</label>
  81. <label nz-radio nzValue="0">否</label>
  82. </nz-radio-group>
  83. </div>
  84. </div>
  85. <div nz-col nzLg="6" class="list-template__btns">
  86. <button class="btn default" (click)='search()'>搜索</button>
  87. <button class="btn default ml8" (click)='reset()'>重置</button>
  88. </div>
  89. </div>
  90. <div class="list-template__bottom">
  91. <nz-table class="list-template__nzTable" [nzData]="listOneData" nzSize="middle" [nzShowPagination]="false"
  92. [nzLoading]="loading1">
  93. <thead>
  94. <tr class="thead">
  95. <th>申请单号</th>
  96. <th>患者姓名</th>
  97. <th>住院号</th>
  98. <th>部位</th>
  99. <th>标本数</th>
  100. <th>申请科室</th>
  101. <th>配送人</th>
  102. <th>接收人</th>
  103. <th>接收时间</th>
  104. <th>操作</th>
  105. </tr>
  106. </thead>
  107. <tbody>
  108. <tr *ngFor="let data of listOneData">
  109. <td><span *ngIf="data.pathologyFormType==1" style="color: red;">速</span>{{ data.applyCode || '-' }}</td>
  110. <td>{{ data.patientDTO?data.patientDTO.patientName : '-' }}</td>
  111. <td>{{ data.patientDTO.patientCode}}</td>
  112. <td>{{ data.takePart}}</td>
  113. <td>{{ data.specimenNum}}</td>
  114. <td>{{ data.patientDTO?data.patientDTO.department.dept : '-'}}</td>
  115. <td>{{ data.deliveryUserDTO?data.deliveryUserDTO.name : '-' }}</td>
  116. <td>{{ data.receiveUserDTO?data.receiveUserDTO.name : '-' }}</td>
  117. <td>{{ data.receiveTime|date:'yyyy-MM-dd HH:mm:ss' }}</td>
  118. <td>
  119. <div class="coop">
  120. <span (click)="oneLook($event,data)">查看</span>
  121. </div>
  122. </td>
  123. </tr>
  124. </tbody>
  125. </nz-table>
  126. <div class="list-template__pagination">
  127. <nz-pagination [(nzPageIndex)]="pageOneIndex" [(nzTotal)]="listOneLength" nzShowSizeChanger [(nzPageSize)]="pageSize"
  128. (nzPageIndexChange)="getConnectList()" (nzPageSizeChange)="getConnectList()">
  129. </nz-pagination>
  130. </div>
  131. </div>
  132. </div>
  133. </div>
  134. <div class="pharmacy-main__list pharmacy-main__waitDelivery">
  135. <div *ngIf="activeIndex==1" class="list-template pharmacy-main__list pharmacy-main__print">
  136. <div class="list-template__content">
  137. <div class="list-template__bottom">
  138. <nz-table class="list-template__nzTable" [nzData]="listTwoData" nzSize="middle" [nzShowPagination]="false"
  139. [nzLoading]="loading2">
  140. <thead>
  141. <tr class="thead">
  142. <th>申请单号</th>
  143. <th>患者姓名</th>
  144. <th>住院号</th>
  145. <th>部位</th>
  146. <th>标本数</th>
  147. <th>申请科室</th>
  148. <th>配送人</th>
  149. <th>状态</th>
  150. <th>操作</th>
  151. </tr>
  152. </thead>
  153. <tbody>
  154. <tr *ngFor="let data of listTwoData">
  155. <td><span *ngIf="data.pathologyFormType==1" style="color: red;">速</span>{{ data.applyCode || '-' }}</td>
  156. <td>{{ data.patientDTO?data.patientDTO.patientName : '-' }}</td>
  157. <td>{{ data.patientDTO.patientCode}}</td>
  158. <td>{{ data.takePart}}</td>
  159. <td>{{ data.specimenNum}}</td>
  160. <td>{{ data.patientDTO?data.patientDTO.department.dept : '-'}}</td>
  161. <td>{{ data.deliveryUserDTO?data.deliveryUserDTO.name : '-' }}</td>
  162. <td>{{ data.status?data.status.name:'-' }}</td>
  163. <td>
  164. <div class="coop">
  165. <span (click)="oneLook($event,data)">查看</span>
  166. </div>
  167. </td>
  168. </tr>
  169. </tbody>
  170. </nz-table>
  171. <div class="list-template__pagination">
  172. <nz-pagination [(nzPageIndex)]="pageTwoIndex" [(nzTotal)]="listTwoLength" nzShowSizeChanger [(nzPageSize)]="pageSize"
  173. (nzPageIndexChange)="getSpeedinessList()" (nzPageSizeChange)="getSpeedinessList()">
  174. </nz-pagination>
  175. </div>
  176. </div>
  177. </div>
  178. </div>
  179. </div>
  180. <div class="pharmacy-main__list pharmacy-main__delivery">
  181. <div *ngIf="activeIndex==2" class="list-template pharmacy-main__list pharmacy-main__print">
  182. <div class="list-template__content">
  183. <div class="list-template__bottom">
  184. <nz-table class="list-template__nzTable" [nzData]="listThreeData" nzSize="middle" [nzShowPagination]="false"
  185. [nzLoading]="loading3">
  186. <thead>
  187. <tr class="thead">
  188. <th>包号</th>
  189. <th>打包人 | 打包时间</th>
  190. <th>申请单数</th>
  191. <th>标本数</th>
  192. <th>配送人 | 配送时间</th>
  193. <th>接收人 | 接收时间</th>
  194. <th>状态</th>
  195. <th>操作</th>
  196. </tr>
  197. </thead>
  198. <tbody>
  199. <tr *ngFor="let data of listThreeData">
  200. <td>{{ data.packCode || '-' }}</td>
  201. <td>
  202. <div>{{data.packUserDTO.name }}</div>
  203. <div>{{data.packTime|date:'yyyy-MM-dd HH:mm' }}</div>
  204. </td>
  205. <td>{{ data.pathologyFormNum }}</td>
  206. <td>{{ data.specimenNum }}</td>
  207. <td>
  208. <div>{{data.deliveryUserDTO?data.deliveryUserDTO.name:'-' }}</div>
  209. <div>{{data.deliveryTime|date:'yyyy-MM-dd HH:mm' || '-' }}</div>
  210. </td>
  211. <td>
  212. <div>{{data.receiveUserDTO?data.receiveUserDTO.name:'-' }}</div>
  213. <div>{{data.receiveTime|date:'yyyy-MM-dd HH:mm' || '-' }}</div>
  214. </td>
  215. <td>{{ data.status.name }}</td>
  216. <td>
  217. <div class="coop">
  218. <span (click)="threeLook($event,data)">查看标本</span>
  219. <span (click)="reprint($event,data)">补打</span>
  220. <span *ngIf="data.status.value==1" (click)="distribution($event,data)">配送</span>
  221. </div>
  222. </td>
  223. </tr>
  224. </tbody>
  225. </nz-table>
  226. <div class="list-template__pagination">
  227. <nz-pagination [(nzPageIndex)]="pageThreeIndex" [(nzTotal)]="listThreeLength" nzShowSizeChanger [(nzPageSize)]="pageSize"
  228. (nzPageIndexChange)="getPackList()" (nzPageSizeChange)="getPackList()">
  229. </nz-pagination>
  230. </div>
  231. </div>
  232. </div>
  233. </div>
  234. </div>
  235. </div>
  236. <!-- 主体部分 end -->
  237. <!-- <router-outlet></router-outlet> -->
  238. </div>
  239. <!-- 科室二维码模态框 -->
  240. <!-- 在模态框所在的 div 添加属性 [appDrag] -->
  241. <div appDrag class="modal" *ngIf="isShowNurseCode">
  242. <div class="header drag-title">
  243. <h2>签到二维码</h2>
  244. <i
  245. class="icon-close icon_transport transport-guanbi1"
  246. (click)="closeNurseCode()"
  247. ></i>
  248. </div>
  249. <div class="dialog-center">
  250. <div class="dialog-code">
  251. <img [src]="nurseCodeImg" alt="" />
  252. </div>
  253. </div>
  254. <div class="dialog-operate">
  255. <strong class="dialog-refresh" (click)="showNurseCode()">刷新</strong>
  256. <span>{{ refreshQRCodeTime }}s</span>
  257. </div>
  258. </div>
  259. <!-- 科室切换提示框 -->
  260. <app-hs-prompt-modal
  261. [changeShow]="changeShow"
  262. [closeTime]="closeTime"
  263. [closeTimeFlag]="closeTimeFlag"
  264. [show]="hsPromptModalShow"
  265. (closeModelHs)="closeModelHs($event)"
  266. (clearModelHs)="clearModelHs($event)"
  267. deptType="pathology"
  268. >
  269. <!-- 返回系统按钮 -->
  270. <!-- 右侧悬浮框 -->
  271. <div id="fixedMenu" class="fixed" *ngIf="mainRole">
  272. <div class="right">
  273. <div class="fixedMenu hujiaozhongxin">
  274. <div class="menuItems">
  275. <div class="item">快捷菜单</div>
  276. </div>
  277. </div>
  278. <div class="fixedMenu">
  279. <div class="menuItems">
  280. <div
  281. class="others"
  282. [ngStyle]="{
  283. height: showLastItems
  284. ? mainRole
  285. ? 35 * 2 + 'px'
  286. : 35 * 1 + 'px'
  287. : 0
  288. }"
  289. >
  290. <div
  291. [ngClass]="{ item: true, checked: fixedTab == 'back' }"
  292. *ngIf="mainRole"
  293. (click)="checkFixedTab('toSystem')"
  294. >
  295. 返回系统
  296. </div>
  297. </div>
  298. </div>
  299. <div class="arrow" *ngIf="!showLastItems" (click)="fixedMenuXiala()">
  300. <i class="icon_transport transport-xiala2-01"></i>
  301. </div>
  302. <div class="arrow" *ngIf="showLastItems" (click)="fixedMenuShangla()">
  303. <i class="icon_transport transport-shangla-"></i>
  304. </div>
  305. </div>
  306. </div>
  307. <div
  308. *ngIf="showLastItems && fixedTab != ''"
  309. (click)="fixedMenuShangla()"
  310. class="fixedMark"
  311. ></div>
  312. </div>
  313. </app-hs-prompt-modal>
  314. <!-- 查看详情 -->
  315. <div class="pathology-box display_flex align-items_center justify-content_flex-center" *ngIf="detailMoadl">
  316. <div class="pathology-content">
  317. <div class="title">查看详情
  318. <i class="icon_transport transport-guanbi" (click)="closeDetailMoadl()"></i></div>
  319. <div class="content border">
  320. <div class="content-item boder-right">
  321. <div class="form-title-box">
  322. <div class="form-title"><span class="font-weight-500">是否术中快速:</span>{{detailsData.pathologyFormType==1?'是':'否'}}</div>
  323. <div class="form-title"><span class="font-weight-500">申请单编号:</span>{{detailsData.applyCode}}</div>
  324. <div class="form-title"><span class="font-weight-500">状态:</span>{{detailsData.status.name}}</div>
  325. <div class="form-title"><span class="font-weight-500">科室名称:</span>{{detailsData.patientDTO.department.dept}}</div>
  326. </div>
  327. <div class="form-title-box">
  328. <div class="form-title"><span class="font-weight-500">住院号:</span>{{detailsData.patientDTO.patientCode}}</div>
  329. <div class="form-title"><span class="font-weight-500">患者信息:</span>{{detailsData.patientDTO.patientName}} ({{detailsData.patientDTO.bedNum}}床)</div>
  330. <div class="form-title"><span class="font-weight-500">年龄:</span>{{detailsData.patientDTO.age||'-'}}岁</div>
  331. </div>
  332. <div class="form-title-box">
  333. <div class="form-title"><span class="font-weight-500">检验项目:</span>{{project||'无'}}</div>
  334. </div>
  335. <div class="form-list">
  336. <div class="form-title font-weight-500">诊断:</div>
  337. <div class="indent">
  338. {{detailsData.diagnose||'无'}}
  339. </div>
  340. </div>
  341. <div class="form-list">
  342. <div class="form-title font-weight-500">病历摘要:</div>
  343. <div class="indent">{{detailsData.medicalRecords||'无'}}</div>
  344. </div>
  345. <div class="form-list">
  346. <div class="form-title font-weight-500">手术方案:</div>
  347. <div class="indent">{{detailsData.surgicalPlan||'无'}}</div>
  348. </div>
  349. <div class="form-title-box">
  350. <div class="form-title"><span class="font-weight-500">标本类型:</span>{{detailsData.specimenType.name||'无'}}</div>
  351. <div class="form-title"><span class="font-weight-500">标本数量:</span>{{detailsData.specimenNum||'无'}}</div>
  352. <div class="form-title"><span class="font-weight-500">部位:</span>{{detailsData.takePart||'无'}}</div>
  353. </div>
  354. <div class="form-title-box">
  355. <div class="form-title"><span class="font-weight-500">送检医生:</span>{{detailsData.surgeryDoctorDTO?detailsData.surgeryDoctorDTO.name : '-'}}</div>
  356. <div class="form-title"><span class="font-weight-500">离体时间:</span>{{detailsData.inVitroTime?(detailsData.inVitroTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</div>
  357. <div class="form-title"><span class="font-weight-500">固定时间:</span>{{detailsData.fixationTime?(detailsData.fixationTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</div>
  358. </div>
  359. <div class="form-list">
  360. <div class="form-title font-weight-500">标本:</div>
  361. <div class="form-title specimen-list">
  362. <div *ngFor="let item of specimenList" class="specimen-item-class form-title cursors" (click)="specimenView(item)">
  363. <span *ngIf="item.partSource && item.partSource.value!=1">{{item.partSource?item.partSource.name:''}}</span>{{item.specimenName}}({{item.specimenCode}})
  364. </div>
  365. </div>
  366. </div>
  367. </div>
  368. <div class="content-item-right">
  369. <div class="step-title">病理闭环</div>
  370. <nz-steps [nzCurrent]="stepLength" nzDirection="vertical" nzSize="small">
  371. <ng-container *ngFor="let item of pathologyLogs; let index = index">
  372. <nz-step
  373. [nzDescription]="tpl"
  374. >
  375. </nz-step>
  376. <ng-template #tpl>
  377. <div *ngIf="index==pathologyLogs.length-1" class="step-size">
  378. <div style="color: #49B856;">{{item.operationType.name}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
  379. <div style="color:#333;">{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
  380. </div>
  381. <div *ngIf="index!=pathologyLogs.length-1" class="step-size">
  382. <div>{{item.operationType.name}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
  383. <div>{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
  384. </div>
  385. </ng-template>
  386. </ng-container>
  387. </nz-steps>
  388. </div>
  389. </div>
  390. <div class="display_flex justify-content_flex-center bottom-btn">
  391. <button class="btn btn-right" nz-button nzType="primary" (click)="closeDetailMoadl()">知道了</button>
  392. </div>
  393. </div>
  394. </div>
  395. <!-- 操作成功/失败提示框 -->
  396. <app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
  397. [info]="promptInfo" (closeModel)="closeModel()"></app-prompt-modal>
  398. <div class="mask-style" *ngIf="isSpinning">
  399. <nz-spin nzSimple class="spin-style"></nz-spin>
  400. </div>
  401. <!-- 查看标本 -->
  402. <div class="look">
  403. <div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="specimenViewDialog">
  404. <div class="modalBody modalBody-ga">
  405. <div class="title">查看标本<i class="icon_transport transport-guanbi" (click)="closeSpecimenModal()"></i>
  406. </div>
  407. <overlay-scrollbars #osComponentRef1 class="content">
  408. <div class="list-template__bottom">
  409. <nz-table class="list-template__nzTable" [nzData]="viewData" nzSize="middle" [nzShowPagination]="false"
  410. [nzLoading]="loading1">
  411. <thead>
  412. <tr class="thead">
  413. <th>标本名称</th>
  414. <th>系统</th>
  415. <th>部位</th>
  416. <th>编码</th>
  417. <th>备注</th>
  418. <th>离体时间</th>
  419. <th>离体操作人</th>
  420. <th>固定时间</th>
  421. <th>固定操作人</th>
  422. </tr>
  423. </thead>
  424. <tbody>
  425. <tr *ngFor="let data of viewData">
  426. <td>{{ data.specimenName }}</td>
  427. <td>{{ data.system ? data.system.name : '-' }}</td>
  428. <td>{{ data.organ ? data.organ.name : '-' }}</td>
  429. <td>{{ data.specimenCode }}</td>
  430. <td>{{ data.remark ? data.remark : '无' }}</td>
  431. <td>{{ data.inVitroTime ? (data.inVitroTime|date:'yyyy-MM-dd HH:mm:ss') : '-' }}</td>
  432. <td>{{ data.inVitroOperator ? data.inVitroOperator.name : '-' }}</td>
  433. <td>{{ data.fixationTime ? (data.fixationTime|date:'yyyy-MM-dd HH:mm:ss') : '-' }}</td>
  434. <td>{{ data.fixationOperator ? data.fixationOperator.name : '-' }}</td>
  435. </tr>
  436. </tbody>
  437. </nz-table>
  438. </div>
  439. </overlay-scrollbars>
  440. <div class="display_flex justify-content_flex-center">
  441. <button class="btn" nz-button nzType="primary" (click)="closeSpecimenModal()">知道了</button>
  442. </div>
  443. </div>
  444. </div>
  445. </div>
  446. <!-- 补打 -->
  447. <app-dialog-delete [delModal]="printModal" (hideDelModalEvent)="hidePrintModal()" [btnLoading]="parintLoading"
  448. (confirmDelEvent)="confirmPrintDel()" [content]="'您确认要重新打印条码吗?'"></app-dialog-delete>
  449. <!-- 配送 -->
  450. <div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="distributionModal">
  451. <div class="modalBody">
  452. <div class="title">配送信息填写<i class="icon_transport transport-guanbi" (click)="hideDistributionModal()"></i>
  453. </div>
  454. <div class="content">
  455. <div class="title-class">包内含申请单{{rowData.pathologyFormNum}}张、标本{{rowData.specimenNum}}支,请填写配送人员工号。</div>
  456. <form nz-form [formGroup]="validateForm" class="addForm" (ngSubmit)="submitDistributionForm()">
  457. <nz-form-item>
  458. <nz-form-label nzRequired nzFor="jobNumber">配送人工号</nz-form-label>
  459. <nz-form-control nzErrorTip="请输入配送人工号!">
  460. <input nz-input (ngModelChange)="numberChange($event)" formControlName="jobNumber" placeholder="请输入配送人工号" nzSize="default" />
  461. </nz-form-control>
  462. </nz-form-item>
  463. <nz-form-item class="form-name">
  464. <nz-form-label style="margin-left: 12px;">配送人姓名</nz-form-label>
  465. <!-- <nz-form-control nzErrorTip="请输入配送人工号!"> -->
  466. <div class="job-class">{{distributionName}}</div>
  467. <!-- </nz-form-control> -->
  468. </nz-form-item>
  469. <nz-form-item>
  470. <nz-form-label nzRequired nzFor="gurop">接收院区</nz-form-label>
  471. <nz-form-control nzErrorTip="请选择接收院区!">
  472. <nz-input-group>
  473. <nz-select class="formItem" (ngModelChange)="changeHospDate($event)" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzPlaceHolder="请选择接收院区" formControlName="gurop">
  474. <ng-container *ngFor="let option of hospital">
  475. <nz-option [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
  476. </ng-container>
  477. </nz-select>
  478. </nz-input-group>
  479. </nz-form-control>
  480. </nz-form-item>
  481. <nz-form-item>
  482. <nz-form-label nzRequired nzFor="department">接收科室</nz-form-label>
  483. <nz-form-control nzErrorTip="请选择接收科室!">
  484. <nz-input-group>
  485. <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzPlaceHolder="请选择接收科室" formControlName="department">
  486. <ng-container *ngFor="let option of department">
  487. <nz-option *ngIf="!isDeptLoading" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
  488. </ng-container>
  489. <nz-option *ngIf="isDeptLoading" nzDisabled nzCustomContent>
  490. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  491. </nz-option>
  492. </nz-select>
  493. </nz-input-group>
  494. </nz-form-control>
  495. </nz-form-item>
  496. </form>
  497. </div>
  498. <div class="display_flex justify-content_flex-center">
  499. <button class="btn" nz-button nzType="primary" (click)="submitDistributionForm()" [nzLoading]="btnLoading">确定配送</button>
  500. <button class="btn cancel" nz-button nzType="default" (click)="hideDistributionModal()">取消</button>
  501. </div>
  502. </div>
  503. </div>
  504. <!-- 配送接收 -->
  505. <div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="receptionModal">
  506. <div class="modalBody">
  507. <div class="title">配送接收<i class="icon_transport transport-guanbi" (click)="hideReceptionModal()"></i>
  508. </div>
  509. <div class="content">
  510. <div class="title-class">
  511. 包内含申请单12张、标本100,请确认接收。
  512. </div>
  513. <form nz-form [formGroup]="validateConnectForm" class="addForm" (ngSubmit)="submitReceptionForm()">
  514. <nz-form-item>
  515. <nz-form-label nzRequired nzFor="receptionNumber">接收人工号</nz-form-label>
  516. <nz-form-control nzErrorTip="请输入接收人工号!">
  517. <input nz-input (ngModelChange)="receptionChange($event)" formControlName="receptionNumber" placeholder="请输入接收人工号" nzSize="default" />
  518. </nz-form-control>
  519. </nz-form-item>
  520. <nz-form-item class="form-name">
  521. <nz-form-label style="margin-left: 12px;">接收人姓名</nz-form-label>
  522. <!-- <nz-form-control nzErrorTip="请输入接收人工号!"> -->
  523. <div class="job-class">{{receptionName}}</div>
  524. <!-- </nz-form-control> -->
  525. </nz-form-item>
  526. <nz-form-item>
  527. <nz-form-label nzRequired nzFor="dispatchingNumber">配送人工号</nz-form-label>
  528. <nz-form-control nzErrorTip="请输入配送人工号!">
  529. <input nz-input (ngModelChange)="dispatchingChange($event)" formControlName="dispatchingNumber" placeholder="请输入配送人工号" nzSize="default" />
  530. </nz-form-control>
  531. </nz-form-item>
  532. <nz-form-item class="form-name">
  533. <nz-form-label style="margin-left: 12px;">配送人姓名</nz-form-label>
  534. <!-- <nz-form-control nzErrorTip="请输入配送人工号!"> -->
  535. <div class="job-class">{{dispatchingName}}</div>
  536. <!-- </nz-form-control> -->
  537. </nz-form-item>
  538. </form>
  539. </div>
  540. <div class="display_flex justify-content_flex-center">
  541. <button class="btn" nz-button nzType="primary" (click)="submitReceptionForm()" [nzLoading]="btnConnectLoading">确定接收</button>
  542. <button class="btn cancel" nz-button nzType="default" (click)="hideReceptionModal()">取消</button>
  543. </div>
  544. </div>
  545. </div>
  546. <!-- 打包并打印 -->
  547. <div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="packModal">
  548. <div class="modalBody">
  549. <div class="title">打包并打印<i class="icon_transport transport-guanbi" (click)="hidePackModal()"></i>
  550. </div>
  551. <div class="content-modal">
  552. 本次共扫描单据50张、标本40,是否打包并打印?
  553. </div>
  554. <div class="display_flex justify-content_flex-center">
  555. <button class="btn" nz-button nzType="primary" (click)="submitPackForm()" [nzLoading]="btnPackLoading">打包并打印</button>
  556. <button class="btn cancel" nz-button nzType="default" (click)="hidePackModal()">取消</button>
  557. </div>
  558. </div>
  559. </div>
  560. <!-- 打印 -->
  561. <div id="report" style="display: none;" *ngIf="printData">
  562. <div class="monad">
  563. <div style="font-size: 10px;padding: 2px;">
  564. <!-- <div> -->
  565. <div style="display: flex;align-items: center;justify-content: center;">
  566. <img style="width: 100%;height: 60px;" [src]="printData.qrCode" alt="">
  567. </div>
  568. <div style="padding: 1px;">
  569. <div style="display: flex;flex-wrap: nowrap;margin-bottom:3px;">包码:{{printData.packCode}}</div>
  570. <div style="display: flex;">打包时间:{{printData.packTime|date:'yyyy-MM-dd HH:mm:ss'}}</div>
  571. <!-- <div style="display: flex;">打包人:{{printData.packUserDTO?printData.packUserDTO.name:'-'}}</div> -->
  572. <!-- <div style="display: flex;margin-bottom:6px;">申请单数:{{printData.pathologyFormNum}}</div> -->
  573. <!-- <div style="display: flex;margin-bottom:6px;">标本数:{{printData.specimenNum}}</div> -->
  574. </div>
  575. <!-- </div> -->
  576. <!-- <div style="display: flex;">打包时间:{{printData.packTime|date:'yyyy-MM-dd HH:mm:ss'}}</div> -->
  577. </div>
  578. </div>
  579. </div>