specimen-room-view.component.html 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  1. <div class="pharmacy">
  2. <!-- 头部 start -->
  3. <div class="pharmacy-header">
  4. <div class="pharmacy-logo">
  5. <!-- <img
  6. [src]="tool.logoUrl"
  7. class="pharmacy-logo__img"
  8. [alt]="tool.logoTitle"
  9. />
  10. <h1 class="pharmacy-logo__name">{{tool.logoTitle}}</h1> -->
  11. <h2 class="pharmacy-name__title">
  12. <span>标本间</span>
  13. <!-- <span class="currentDate">{{ time | date: "yyyy年MM月dd日" }}</span> -->
  14. </h2>
  15. </div>
  16. <div class="pharmacy-name">
  17. <div class="pharmacy-name__total">
  18. <div class="pharmacy-title">标本条码:</div>
  19. <nz-input-group nzSize="large">
  20. <input type="text" id="Binput" (ngModelChange)="specimenCodeChange($event)" [(ngModel)]="barCode" nz-input placeholder="请输入条码" />
  21. </nz-input-group>
  22. <!-- <ng-template #suffixButton>
  23. <button nz-button nzType="primary" nzSize="large" nzSearch (click)="searchSpecimen()">搜索</button>
  24. </ng-template> -->
  25. </div>
  26. <div>
  27. <div class="error-class">{{searchMsg}}</div>
  28. </div>
  29. </div>
  30. <div class="userInfo">
  31. <div class="wel">欢迎您:</div>
  32. <div class="user">
  33. <img src="../../assets/images/icon_keshi.png" alt="" />
  34. <span *ngIf="deptDisplay">{{
  35. deptDisplay == 2 ? loginUser.dept.deptalias : loginUser.dept.dept
  36. }}</span>
  37. </div>
  38. <div class="userInfo-wrap">
  39. <div class="logOut" (click)="setSpecimen()">切换科室</div>
  40. <div class="logOut" (click)="logOut()">退出</div>
  41. </div>
  42. </div>
  43. </div>
  44. <!-- 头部 end -->
  45. <!-- 主体部分 start -->
  46. <div class="pharmacy-main">
  47. <!-- 手术间标本start -->
  48. <div class="pharmacy-main__list pharmacy-main__print">
  49. <!-- 标题 start -->
  50. <div class="pharmacy-main__title">
  51. <strong>手术间标本</strong>
  52. <span *ngIf="printPharmacyList.length>0">共 {{printPharmacyList.length}} 条</span>
  53. <span class="autoUpdate">{{ logTime }}秒</span>
  54. </div>
  55. <!-- 标题 end -->
  56. <!-- 搜索框 start -->
  57. <div class="pharmacy-main__search">
  58. <div class="pharmacy-main__searchInput">
  59. <input
  60. nz-input
  61. placeholder="请输入关键字"
  62. [(ngModel)]="printPharmacySearchKey"
  63. />
  64. <div class="pharmacy-main__searchText" (click)="searchKeyHandle('surgeryDept')">
  65. <i nz-icon nzType="search"></i>
  66. <span>搜索</span>
  67. </div>
  68. </div>
  69. </div>
  70. <!-- 搜索框 end -->
  71. <!-- 列表 start -->
  72. <overlay-scrollbars #osComponentRef1 class="pharmacy-main__selectionWrap">
  73. <div *ngIf="!loading1" style="height: 100%">
  74. <div
  75. class="pharmacy-main__selection noPointer"
  76. *ngFor="let item of printPharmacyList"
  77. (click)="viewDetail(item,1)"
  78. >
  79. <div class="pharmacy-main__selectionInfo">
  80. <div class="pharmacy-main__selectionItem">
  81. <span title="住院号" class="weight">
  82. <span class="sign-red" *ngIf="item.intraoperativeRapidity==1">速冻</span>
  83. {{item.applyCode || '无'}}
  84. </span>
  85. <span title="姓名" class="weight text-right">{{item.patientDTO.patientName || '无'}}</span>
  86. </div>
  87. <div class="pharmacy-main__selectionItem">
  88. <span class="text-left" [title]="item.takePart">部位:{{item.takePart || '无'}}</span>
  89. <span class="text-right" title="标本数">标本数:{{item.specimenNum || '无'}}</span>
  90. </div>
  91. <div class="pharmacy-main__selectionItem">
  92. <span title="手术间">手术间:{{item.surgeryDeptDTO.dept || '无'}}</span>
  93. <span class="text-right" title="离体时间">离体时间:{{item.inVitroTime?(item.inVitroTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</span>
  94. </div>
  95. </div>
  96. </div>
  97. <div
  98. class="pharmacy-main__selection pharmacy-main__selection--noData"
  99. *ngIf="printPharmacyList.length === 0"
  100. >
  101. <img src="./../../assets/images/image_kongbaiye.png" alt="" />
  102. </div>
  103. <!-- <div
  104. (click)="loadMore(1)"
  105. class="pharmacy-main__selection pharmacy-main__selection--more"
  106. *ngIf="printPharmacyFlag"
  107. >
  108. <div class="pharmacy-main__selectionInfo">
  109. <i
  110. nz-icon
  111. nzType="loading"
  112. nzTheme="outline"
  113. class="pharmacy-main__selection--icon"
  114. *ngIf="printPharmacyLoad"
  115. ></i
  116. >查看更多
  117. </div>
  118. </div> -->
  119. </div>
  120. <div
  121. *ngIf="loading1"
  122. style="height: calc(100vh - 212px); min-height: 556px"
  123. >
  124. <div
  125. class="loadingFull display_flex justify-content_flex-center align-items_center"
  126. >
  127. <div class="loadingFullInner">
  128. <img src="../../../assets/images/loading.gif" alt="" />
  129. <div>加载中...</div>
  130. </div>
  131. </div>
  132. </div>
  133. </overlay-scrollbars>
  134. <!-- 列表 end -->
  135. </div>
  136. <!-- 标本间标本 start -->
  137. <div class="pharmacy-main__list pharmacy-main__waitDelivery">
  138. <!-- 标题 start -->
  139. <div class="pharmacy-main__title">
  140. <strong>标本间标本</strong>
  141. <span *ngIf="waitPharmacyList.length>0">共 {{waitPharmacyList.length}} 条</span>
  142. <span class="autoUpdate">{{ logTime }}秒</span>
  143. </div>
  144. <!-- 标题 end -->
  145. <!-- 搜索框 start -->
  146. <div class="pharmacy-main__search">
  147. <div class="pharmacy-main__searchInput">
  148. <input
  149. nz-input
  150. placeholder="请输入关键字"
  151. [(ngModel)]="waitPharmacySearchKey"
  152. />
  153. <div class="pharmacy-main__searchText" (click)="searchKeyHandle('specimenDept')">
  154. <i nz-icon nzType="search"></i>
  155. <span>搜索</span>
  156. </div>
  157. </div>
  158. </div>
  159. <!-- 搜索框 end -->
  160. <!-- 列表 start -->
  161. <overlay-scrollbars #osComponentRef2 class="pharmacy-main__selectionWrap">
  162. <div *ngIf="!loading2" style="height: 100%">
  163. <div
  164. class="pharmacy-main__selection"
  165. *ngFor="let item of waitPharmacyList; let i = index"
  166. (click)="viewDetail(item,2)"
  167. >
  168. <div class="pharmacy-main__selectionInfo">
  169. <div class="pharmacy-main__selectionItem">
  170. <span title="住院号" class="weight">
  171. <span class="sign-red" *ngIf="item.intraoperativeRapidity==1">速冻</span>
  172. {{item.applyCode || '无'}}
  173. </span>
  174. <span title="姓名" class="weight text-right">{{item.patientDTO.patientName || '无'}}</span>
  175. </div>
  176. <div class="pharmacy-main__selectionItem">
  177. <span class="text-left" [title]="item.takePart">部位:{{item.takePart || '无'}}</span>
  178. <span class="text-right" title="标本数">标本数:{{item.specimenNum || '无'}}</span>
  179. </div>
  180. <div class="pharmacy-main__selectionItem">
  181. <span title="离体时间">离体时间:{{item.inVitroTime?(item.inVitroTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</span>
  182. <span class="text-right" title="固定时间">固定时间:{{item.fixationTime?(item.fixationTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</span>
  183. </div>
  184. </div>
  185. </div>
  186. <div
  187. class="pharmacy-main__selection pharmacy-main__selection--noData"
  188. *ngIf="waitPharmacyList.length === 0"
  189. >
  190. <img src="./../../assets/images/image_kongbaiye.png" alt="" />
  191. </div>
  192. <!-- <div
  193. (click)="loadMore(2)"
  194. class="pharmacy-main__selection pharmacy-main__selection--more"
  195. *ngIf="waitPharmacyFlag"
  196. >
  197. <div class="pharmacy-main__selectionInfo">
  198. <i
  199. nz-icon
  200. nzType="loading"
  201. nzTheme="outline"
  202. class="pharmacy-main__selection--icon"
  203. *ngIf="waitPharmacyLoad"
  204. ></i
  205. >查看更多
  206. </div>
  207. </div> -->
  208. </div>
  209. <div
  210. *ngIf="loading2"
  211. style="height: calc(100vh - 212px); min-height: 556px"
  212. >
  213. <div
  214. class="loadingFull display_flex justify-content_flex-center align-items_center"
  215. >
  216. <div class="loadingFullInner">
  217. <img src="../../../assets/images/loading.gif" alt="" />
  218. <div>加载中...</div>
  219. </div>
  220. </div>
  221. </div>
  222. </overlay-scrollbars>
  223. <!-- 列表 end -->
  224. </div>
  225. <!-- 今日离科标本 start -->
  226. <div class="pharmacy-main__list pharmacy-main__delivery">
  227. <!-- 标题 start -->
  228. <div class="pharmacy-main__title">
  229. <strong>今日离科标本</strong>
  230. <span *ngIf="pharmacyList.length>0">共 {{pharmacyList.length}} 条</span>
  231. <span class="autoUpdate">{{ logTime }}秒</span>
  232. </div>
  233. <!-- 标题 end -->
  234. <!-- 搜索框 start -->
  235. <div class="pharmacy-main__search">
  236. <div class="pharmacy-main__searchInput">
  237. <input
  238. nz-input
  239. placeholder="请输入关键字"
  240. [(ngModel)]="pharmacySearchKey"
  241. />
  242. <div class="pharmacy-main__searchText" (click)="searchKeyHandle('leavedDept')">
  243. <i nz-icon nzType="search"></i>
  244. <span>搜索</span>
  245. </div>
  246. </div>
  247. </div>
  248. <!-- 搜索框 end -->
  249. <!-- 列表 start -->
  250. <overlay-scrollbars #osComponentRef3 class="pharmacy-main__selectionWrap">
  251. <div *ngIf="!loading3" style="height: 100%">
  252. <div
  253. class="pharmacy-main__selection"
  254. *ngFor="let item of pharmacyList; let i = index"
  255. (click)="viewDetail(item,3)"
  256. >
  257. <div class="pharmacy-main__selectionInfo">
  258. <div class="pharmacy-main__selectionItem">
  259. <span title="住院号" class="weight">
  260. <span class="sign-red" *ngIf="item.intraoperativeRapidity==1">速冻</span>
  261. {{item.applyCode || '无'}}
  262. </span>
  263. <span title="姓名" class="weight text-right">{{item.patientDTO.patientName || '无'}}</span>
  264. </div>
  265. <div class="pharmacy-main__selectionItem">
  266. <span class="text-left" [title]="item.takePart">部位:{{item.takePart || '无'}}</span>
  267. <span class="text-right" title="标本数">标本数:{{item.specimenNum || '无'}}</span>
  268. </div>
  269. <div class="pharmacy-main__selectionItem">
  270. <span title="离体时间">离体时间:{{item.inVitroTime?(item.inVitroTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</span>
  271. <span class="text-right" title="固定时间">固定时间:{{item.fixationTime?(item.fixationTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</span>
  272. </div>
  273. <div class="pharmacy-main__selectionItem">
  274. <span title="配送人">配送人:{{item.deliveryUserDTO?item.deliveryUserDTO.name:'无'}}</span>
  275. <span class="text-right" title="离科时间">离科时间:{{item.leaveDeptTime?(item.leaveDeptTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</span>
  276. </div>
  277. </div>
  278. </div>
  279. <div
  280. class="pharmacy-main__selection pharmacy-main__selection--noData"
  281. *ngIf="pharmacyList.length === 0"
  282. >
  283. <img src="./../../assets/images/image_kongbaiye.png" alt="" />
  284. </div>
  285. <!-- <div
  286. (click)="loadMore(3)"
  287. class="pharmacy-main__selection pharmacy-main__selection--more"
  288. *ngIf="pharmacyFlag"
  289. >
  290. <div class="pharmacy-main__selectionInfo">
  291. <i
  292. nz-icon
  293. nzType="loading"
  294. nzTheme="outline"
  295. class="pharmacy-main__selection--icon"
  296. *ngIf="pharmacyLoad"
  297. ></i
  298. >查看更多
  299. </div>
  300. </div> -->
  301. </div>
  302. <div
  303. *ngIf="loading3"
  304. style="height: calc(100vh - 212px); min-height: 556px"
  305. >
  306. <div
  307. class="loadingFull display_flex justify-content_flex-center align-items_center"
  308. >
  309. <div class="loadingFullInner">
  310. <img src="../../../assets/images/loading.gif" alt="" />
  311. <div>加载中...</div>
  312. </div>
  313. </div>
  314. </div>
  315. </overlay-scrollbars>
  316. <!-- 列表 end -->
  317. </div>
  318. </div>
  319. <!-- 主体部分 end -->
  320. <router-outlet></router-outlet>
  321. </div>
  322. <!-- 科室切换提示框 -->
  323. <app-hs-prompt-modal
  324. [changeShow]="changeShow"
  325. [closeTime]="closeTime"
  326. [closeTimeFlag]="closeTimeFlag"
  327. [show]="hsPromptModalShow"
  328. (closeModelHs)="closeModelHs($event)"
  329. (clearModelHs)="clearModelHs($event)"
  330. deptType="nurse"
  331. >
  332. <!-- 返回系统按钮 -->
  333. <!-- 右侧悬浮框 -->
  334. <div id="fixedMenu" class="fixed" *ngIf="mainRole">
  335. <div class="right">
  336. <div class="fixedMenu hujiaozhongxin">
  337. <div class="menuItems">
  338. <div class="item">快捷菜单</div>
  339. </div>
  340. </div>
  341. <div class="fixedMenu">
  342. <div class="menuItems">
  343. <div
  344. class="others"
  345. [ngStyle]="{
  346. height: showLastItems
  347. ? mainRole
  348. ? 35 * 2 + 'px'
  349. : 35 * 1 + 'px'
  350. : 0
  351. }"
  352. >
  353. <div
  354. [ngClass]="{ item: true, checked: fixedTab == 'back' }"
  355. *ngIf="mainRole"
  356. (click)="checkFixedTab('toSystem')"
  357. >
  358. 返回系统
  359. </div>
  360. </div>
  361. </div>
  362. <div class="arrow" *ngIf="!showLastItems" (click)="fixedMenuXiala()">
  363. <i class="icon_transport transport-xiala2-01"></i>
  364. </div>
  365. <div class="arrow" *ngIf="showLastItems" (click)="fixedMenuShangla()">
  366. <i class="icon_transport transport-shangla-"></i>
  367. </div>
  368. </div>
  369. </div>
  370. <div
  371. *ngIf="showLastItems && fixedTab != ''"
  372. (click)="fixedMenuShangla()"
  373. class="fixedMark"
  374. ></div>
  375. </div>
  376. </app-hs-prompt-modal>
  377. <!-- 标本历史记录查看 -->
  378. <!-- <app-history-prompt-modal
  379. *ngIf="logPromptModalShow"
  380. [show]="logPromptModalShow"
  381. [scode]="scode"
  382. (closeModelHs)="closeModelLog($event)"
  383. ></app-history-prompt-modal> -->
  384. <!-- 标本列表查看 -->
  385. <!-- <app-spe-prompt-modal
  386. *ngIf="spePromptModalShow"
  387. [show]="spePromptModalShow"
  388. [checkDeptId]="checkDeptId"
  389. [pharmacySearchKey]="pharmacySearchKey"
  390. [printDate]="printDate"
  391. (closeModelHs)="closeModelSpe($event)"
  392. ></app-spe-prompt-modal> -->
  393. <!-- 工单列表查看 -->
  394. <!-- <app-order-prompt-modal
  395. *ngIf="orderPromptModalShow"
  396. [show]="orderPromptModalShow"
  397. [workId]="workId"
  398. (closeModelHs)="closeModelOrder($event)"
  399. ></app-order-prompt-modal> -->
  400. <!-- 关联标本/手术室 -->
  401. <div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="relevanceModal">
  402. <div class="modalBody">
  403. <div class="title">关联科室</div>
  404. <overlay-scrollbars #osComponentRef1 class="content">
  405. <form nz-form [formGroup]="validateForm" class="addForm" (ngSubmit)="submitForm()">
  406. <nz-form-item>
  407. <nz-form-label nzRequired nzFor="specimen" [nzSm]="5" [nzXs]="24">关联标本间</nz-form-label>
  408. <nz-form-control nzErrorTip="请选择标本间!" [nzSm]="19" [nzXs]="24">
  409. <nz-input-group>
  410. <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzPlaceHolder="请选择标本间" formControlName="specimen">
  411. <ng-container *ngFor="let option of specimenData">
  412. <nz-option [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
  413. </ng-container>
  414. </nz-select>
  415. </nz-input-group>
  416. </nz-form-control>
  417. </nz-form-item>
  418. <nz-form-item>
  419. <nz-form-label nzRequired nzFor="operation" [nzSm]="5" [nzXs]="24">关联手术间</nz-form-label>
  420. <nz-form-control nzErrorTip="请选择手术间!" [nzSm]="19" [nzXs]="24">
  421. <nz-input-group>
  422. <nz-select class="formItem" nzMode="multiple" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzPlaceHolder="请选择请选择手术间" formControlName="operation">
  423. <ng-container *ngFor="let option of operationData">
  424. <nz-option [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
  425. </ng-container>
  426. </nz-select>
  427. </nz-input-group>
  428. </nz-form-control>
  429. </nz-form-item>
  430. <nz-form-item>
  431. <nz-form-label nzRequired nzFor="generate">标本是否直接生成配送单</nz-form-label>
  432. <nz-form-control nzErrorTip="请选择!">
  433. <nz-radio-group formControlName="generate">
  434. <label nz-radio [nzValue]="1">是</label>
  435. <label nz-radio [nzValue]="0">否</label>
  436. </nz-radio-group>
  437. </nz-form-control>
  438. </nz-form-item>
  439. </form>
  440. </overlay-scrollbars>
  441. <div class="display_flex justify-content_flex-center">
  442. <button class="btn" nz-button nzType="primary" (click)="submitForm()" [nzLoading]="btnLoading">确定</button>
  443. </div>
  444. </div>
  445. </div>
  446. <!-- 标本接收 -->
  447. <div class="pathology-box display_flex align-items_center justify-content_flex-center" *ngIf="fixationModal">
  448. <div class="pathology-content">
  449. <div class="title">标本接收固定
  450. <i class="icon_transport transport-guanbi" (click)="hideSpecimenModal()"></i></div>
  451. <div class="content">
  452. <div class="content-item boder-right">
  453. <div class="form-title-box">
  454. <div class="form-title"><span class="font-weight-500">是否术中快速:</span>{{codeData.intraoperativeRapidity==1?'是':'否'}}</div>
  455. </div>
  456. <div class="form-title-box">
  457. <div class="form-title"><span class="font-weight-500">申请单编号:</span>{{codeData.applyCode}}</div>
  458. <div class="form-title"><span class="font-weight-500">状态:</span>{{codeData.status.name}}</div>
  459. </div>
  460. <div class="form-title-box">
  461. <div class="form-title"><span class="font-weight-500">科室名称:</span>{{codeData.patientDTO.department.dept}}</div>
  462. <div class="form-title"><span class="font-weight-500">住院号:</span>{{codeData.patientDTO.patientCode}}</div>
  463. </div>
  464. <div class="form-title-box">
  465. <div class="form-title"><span class="font-weight-500">患者信息:</span>{{codeData.patientDTO.patientName}} ({{codeData.patientDTO.bedNum}}床)</div>
  466. <div class="form-title"><span class="font-weight-500">年龄:</span>{{codeData.patientDTO.age||'-'}}岁</div>
  467. </div>
  468. <div class="form-title-box">
  469. <div class="form-title"><span class="font-weight-500">检验项目:</span>{{project||'无'}}</div>
  470. </div>
  471. <div class="form-list">
  472. <div class="form-title font-weight-500">诊断:</div>
  473. <div class="indent">
  474. {{codeData.diagnose||'无'}}
  475. </div>
  476. </div>
  477. <div class="form-list">
  478. <div class="form-title font-weight-500">病历摘要:</div>
  479. <div class="indent">{{codeData.medicalRecords||'无'}}</div>
  480. </div>
  481. <div class="form-list">
  482. <div class="form-title font-weight-500">手术方案:</div>
  483. <div class="indent">{{codeData.surgicalPlan||'无'}}</div>
  484. </div>
  485. <!-- <div class="form-list">
  486. <div class="form-title font-weight-500">术中所见:</div>
  487. <div class="indent">{{codeData.intraoperativeFindings||'无'}}</div>
  488. </div> -->
  489. <div class="form-title-box">
  490. <div class="form-title"><span class="font-weight-500">标本类型:</span>{{codeData.specimenType?codeData.specimenType.name:'无'}}</div>
  491. <div class="form-title"><span class="font-weight-500">标本数量:</span>{{codeData.specimenNum?codeData.specimenNum:'无'}}</div>
  492. </div>
  493. <div class="form-title-box">
  494. <div class="form-title"><span class="font-weight-500">部位:</span>{{codeData.takePart||'无'}}</div>
  495. <div class="form-title"><span class="font-weight-500">取标本位置:</span>{{codeData.surgeryDeptDTO?codeData.surgeryDeptDTO.dept:''}}</div>
  496. <div class="form-title"><span class="font-weight-500">取材医生:</span>{{codeData.surgeryDoctorDTO?codeData.surgeryDoctorDTO.name : '-'}}</div>
  497. </div>
  498. <!-- <div class="form-list">
  499. <div class="form-title font-weight-500">标本:</div>
  500. <div>标本1</div>
  501. <div>标本2</div>
  502. </div> -->
  503. </div>
  504. <div class="content-item">
  505. <div class="center">提示:申请单含<span class="red">{{codeData.specimenNum}}</span>只标本,已扫<span class="red">{{codeData.pathologySpecimenDTOList.length}}</span>只<span *ngIf="codeData.pathologySpecimenDTOList.length < codeData.specimenNum">,请继续扫描标本。</span></div>
  506. <div class="disp-fl">
  507. <div class="width-120">标本条码:</div>
  508. <input nz-input id="specimen" [(ngModel)]="specimenCode" (ngModelChange)="codeChange($event)"/>
  509. </div>
  510. <div class="error-fix">{{fixationError}}</div>
  511. <div class="list-template">
  512. <div class="list-template__content">
  513. <div class="list-template__bottom" style="padding: 0 !important;">
  514. <nz-table class="list-template__nzTable" [nzData]="codeData.pathologySpecimenDTOList" nzSize="middle" [nzShowPagination]="false"
  515. [nzLoading]="tableLoading">
  516. <thead>
  517. <tr class="thead">
  518. <th nzWidth="10%">序号</th>
  519. <th>条码号</th>
  520. <th>标本名称</th>
  521. </tr>
  522. </thead>
  523. <tbody>
  524. <tr *ngFor="let data of codeData.pathologySpecimenDTOList let index = index">
  525. <td>{{index+1}}</td>
  526. <td>{{ data.specimenCode}}</td>
  527. <td>
  528. {{data.partSource?data.partSource.name:''}}{{data.organ?data.organ.name:''}}{{data.specimenName}}
  529. </td>
  530. </tr>
  531. </tbody>
  532. </nz-table>
  533. </div>
  534. </div>
  535. </div>
  536. </div>
  537. </div>
  538. <div class="display_flex justify-content_flex-center bottom-btn">
  539. <button class="btn btn-right" [disabled]="codeData.specimenNum != codeData.pathologySpecimenDTOList.length" nz-button nzType="primary" (click)="submitFixationForm()" [nzLoading]="btnLoading">确定</button>
  540. <button class="btn cancel" nz-button nzType="default" (click)="hideSpecimenModal()">取消</button>
  541. </div>
  542. </div>
  543. </div>
  544. <!-- 操作成功/失败提示框 -->
  545. <app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
  546. [info]="promptInfo" (closeModel)="closeModel()"></app-prompt-modal>
  547. <!-- 标本固定信息 -->
  548. <div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="verificationMoadl">
  549. <div class="modalBody no-width">
  550. <div class="title">标本固定信息<i class="icon_transport transport-guanbi" (click)="hideVerificationModal()"></i>
  551. </div>
  552. <div class="content">
  553. <form nz-form [formGroup]="validateVerificationForm" class="addForm" (ngSubmit)="submitVerificationForm()">
  554. <nz-form-item>
  555. <nz-form-label nzRequired [nzSpan]="6" nzFor="fixationTime">固定时间</nz-form-label>
  556. <nz-form-control [nzSpan]="18" nzErrorTip="请选择固定时间!">
  557. <nz-input-group>
  558. <nz-date-picker formControlName="fixationTime"
  559. [nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
  560. (ngModelChange)="formChangeDate($event)"></nz-date-picker>
  561. </nz-input-group>
  562. </nz-form-control>
  563. </nz-form-item>
  564. <nz-form-item>
  565. <nz-form-label nzRequired [nzSpan]="6" nzFor="jobNumber">工号</nz-form-label>
  566. <nz-form-control [nzSpan]="18" nzErrorTip="请输入工号!">
  567. <input nz-input (ngModelChange)="numberChange($event)" formControlName="jobNumber" placeholder="请输入工号" nzSize="default" />
  568. </nz-form-control>
  569. </nz-form-item>
  570. <nz-form-item>
  571. <nz-form-label nzRequired [nzSpan]="6" nzFor="name">姓名</nz-form-label>
  572. <nz-form-control [nzSpan]="18" nzErrorTip="请输入姓名!">
  573. <input nz-input disabled formControlName="name" placeholder="请输入姓名" nzSize="default" />
  574. </nz-form-control>
  575. </nz-form-item>
  576. <nz-form-item>
  577. <nz-form-label nzRequired [nzSpan]="8" nzFor="fixative">固体液类型</nz-form-label>
  578. <nz-form-control [nzSpan]="16" nzErrorTip="请选择固体液类型!">
  579. <nz-input-group>
  580. <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzPlaceHolder="请选择固体液类型" formControlName="fixative">
  581. <ng-container *ngFor="let option of fixativeData">
  582. <nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
  583. </ng-container>
  584. </nz-select>
  585. </nz-input-group>
  586. </nz-form-control>
  587. </nz-form-item>
  588. </form>
  589. </div>
  590. <div class="display_flex justify-content_flex-center bottom-btn">
  591. <button class="btn btn-right" nz-button nzType="primary" (click)="submitVerificationForm()" [nzLoading]="btnInfoLoading">确定</button>
  592. <button class="btn cancel" nz-button nzType="default" (click)="hideVerificationModal()">取消</button>
  593. </div>
  594. </div>
  595. </div>
  596. <!-- 标本查看详情-->
  597. <div class="pathology-box display_flex align-items_center justify-content_flex-center" *ngIf="detailMoadl">
  598. <div class="pathology-content">
  599. <div class="title">查看详情
  600. <i class="icon_transport transport-guanbi" (click)="closeDetailMoadl()"></i></div>
  601. <div class="content">
  602. <div class="content-item boder-right">
  603. <div class="form-title-box">
  604. <div class="form-title"><span class="font-weight-500">是否术中快速:</span>{{detailsData.intraoperativeRapidity==1?'是':'否'}}</div>
  605. <div class="form-title"><span class="font-weight-500">申请单编号:</span>{{detailsData.applyCode}}</div>
  606. <div class="form-title"><span class="font-weight-500">状态:</span>{{detailsData.status.name}}</div>
  607. <div class="form-title"><span class="font-weight-500">科室名称:</span>{{detailsData.patientDTO.department.dept}}</div>
  608. </div>
  609. <div class="form-title-box">
  610. <div class="form-title"><span class="font-weight-500">住院号:</span>{{detailsData.patientDTO.patientCode}}</div>
  611. <div class="form-title"><span class="font-weight-500">患者信息:</span>{{detailsData.patientDTO.patientName}} ({{detailsData.patientDTO.bedNum}}床)</div>
  612. <div class="form-title"><span class="font-weight-500">年龄:</span>{{detailsData.patientDTO.age||'-'}}岁</div>
  613. </div>
  614. <div class="form-title-box">
  615. <div class="form-title"><span class="font-weight-500">检验项目:</span>{{project||'无'}}</div>
  616. </div>
  617. <div class="form-list">
  618. <div class="form-title font-weight-500">诊断:</div>
  619. <div class="indent">
  620. {{detailsData.diagnose||'无'}}
  621. </div>
  622. </div>
  623. <div class="form-list">
  624. <div class="form-title font-weight-500">病历摘要:</div>
  625. <div class="indent">{{detailsData.medicalRecords||'无'}}</div>
  626. </div>
  627. <div class="form-list">
  628. <div class="form-title font-weight-500">手术方案:</div>
  629. <div class="indent">{{detailsData.surgicalPlan||'无'}}</div>
  630. </div>
  631. <!-- <div class="form-list">
  632. <div class="form-title font-weight-500">术中所见:</div>
  633. <div class="indent">{{detailsData.intraoperativeFindings||'无'}}</div>
  634. </div> -->
  635. <div class="form-title-box">
  636. <div class="form-title"><span class="font-weight-500">标本类型:</span>{{detailsData.specimenType.name||'无'}}</div>
  637. <div class="form-title"><span class="font-weight-500">标本数量:</span>{{detailsData.specimenNum||'无'}}</div>
  638. <div class="form-title"><span class="font-weight-500">部位:</span>{{detailsData.takePart||'无'}}</div>
  639. </div>
  640. <div class="form-title-box">
  641. <div class="form-title"><span class="font-weight-500">送检医生:</span>{{detailsData.surgeryDoctorDTO?detailsData.surgeryDoctorDTO.name : '-'}}</div>
  642. <div class="form-title"><span class="font-weight-500">离体时间:</span>{{detailsData.inVitroTime?(detailsData.inVitroTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</div>
  643. <div class="form-title"><span class="font-weight-500">固定时间:</span>{{detailsData.fixationTime?(detailsData.fixationTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</div>
  644. </div>
  645. <div class="form-list">
  646. <div class="form-title font-weight-500">标本:</div>
  647. <div class="form-title specimen-list">
  648. <div *ngFor="let item of specimenList" class="specimen-item-class">
  649. {{item.partSource?item.partSource.name:''}}{{item.organ?item.organ.name:''}}{{item.specimenName}}
  650. </div>
  651. </div>
  652. </div>
  653. </div>
  654. <div class="content-item-right">
  655. <div class="step-title">病理闭环</div>
  656. <nz-steps [nzCurrent]="stepLength" nzDirection="vertical" nzSize="small">
  657. <ng-container *ngFor="let item of pathologyLogs; let index = index">
  658. <nz-step
  659. [nzDescription]="tpl"
  660. >
  661. </nz-step>
  662. <ng-template #tpl>
  663. <div *ngIf="index==pathologyLogs.length-1" class="step-size">
  664. <div style="color: #49B856;">{{item.operationType.name}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
  665. <div style="color:#333;">{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto.name}}</div>
  666. </div>
  667. <div *ngIf="index!=pathologyLogs.length-1" class="step-size">
  668. <div>{{item.operationType.name}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
  669. <div>{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto.name}}</div>
  670. </div>
  671. </ng-template>
  672. </ng-container>
  673. </nz-steps>
  674. </div>
  675. </div>
  676. <div class="display_flex justify-content_flex-center bottom-btn">
  677. <button class="btn btn-right" nz-button nzType="primary" (click)="closeDetailMoadl()">知道了</button>
  678. <!-- <button class="btn cancel" nz-button nzType="default" (click)="closeDetailMoadl()">取消</button> -->
  679. </div>
  680. </div>
  681. </div>
  682. <div class="mask-style" *ngIf="isSpinning">
  683. <nz-spin nzSimple class="spin-style"></nz-spin>
  684. </div>