order-detail.component.html 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158
  1. <div class="detail" *ngIf="!maskFlag">
  2. <div class="title">
  3. 工单查看<i class="icon_transport transport-guanbi" (click)="close()"></i>
  4. </div>
  5. <div class="box">
  6. <div class="tab display_flex">
  7. <div
  8. [ngClass]="{ item: true, flex_1: true, checked: tabType == 1 }"
  9. (click)="checkTab(1)"
  10. >
  11. 工单信息
  12. </div>
  13. <div
  14. [ngClass]="{ item: true, flex_1: true, checked: tabType == 2 }"
  15. (click)="checkTab(2)"
  16. >
  17. 评价内容
  18. </div>
  19. <div
  20. [ngClass]="{ item: true, flex_1: true, checked: tabType == 3 }"
  21. (click)="checkTab(3)"
  22. >
  23. 积分
  24. </div>
  25. <div
  26. [ngClass]="{ item: true, flex_1: true, checked: tabType == 4 }"
  27. (click)="checkTab(4)"
  28. >
  29. 历史记录
  30. </div>
  31. </div>
  32. <!-- 其他类型工单信息 -->
  33. <overlay-scrollbars
  34. #osComponentRef3
  35. style="height: 90%; flex: 1"
  36. *ngIf="
  37. tabType == 1 && orderInfo.taskType.associationType.value == 'other'
  38. "
  39. >
  40. <div class="content orders">
  41. <div class="top" *ngIf="amplificationShow">
  42. <div class="num">
  43. <span class="left">单号:{{ orderInfo.gdcode }}</span>
  44. <span class="right">{{
  45. orderInfo.gdState ? orderInfo.gdState.name : ""
  46. }}</span>
  47. </div>
  48. <div class="info" nz-row>
  49. <div nz-col nzSpan="6">
  50. 工单日期:{{ orderInfo.startTime | date: "yyyy-MM-dd HH:mm" }}
  51. </div>
  52. <div nz-col nzSpan="6">总耗时:{{ orderInfo.showTimeNum }}</div>
  53. <div nz-col nzSpan="6">
  54. 申请类型:{{
  55. orderInfo.taskType ? orderInfo.taskType.taskName : ""
  56. }}<ng-container *ngIf="orderInfo.goodsRemark"
  57. >-{{ orderInfo.goodsRemark }}</ng-container
  58. >
  59. </div>
  60. <div nz-col nzSpan="6">
  61. 支助人员信息:{{ orderInfo.worker ? orderInfo.worker.name : "" }}
  62. </div>
  63. </div>
  64. <div class="info" nz-row>
  65. <div nz-col nzSpan="6">
  66. 申请科室:{{
  67. orderInfo.createDeptDTO ? orderInfo.createDeptDTO.dept : ""
  68. }}
  69. </div>
  70. <div nz-col nzSpan="6">目标科室:{{ endDepts }}</div>
  71. <div nz-col nzSpan="6" *ngIf="orderInfo.urgentDetails">
  72. 加急状态:{{ orderInfo.urgentDetails.checkStatus.name }}
  73. </div>
  74. </div>
  75. <div class="info" nz-row *ngIf="orderInfo.urgentDetails">
  76. <div nz-col nzSpan="24" class="jiaji">
  77. 加急原因:{{ orderInfo.urgentDetails.urgentReason }}
  78. </div>
  79. </div>
  80. <div
  81. class="info"
  82. nz-row
  83. *ngIf="orderInfo.workOrderRemark !== undefined"
  84. >
  85. <div nz-col nzSpan="24">
  86. 备注信息:{{ orderInfo.workOrderRemark || "-" }}
  87. </div>
  88. </div>
  89. <div
  90. class="info"
  91. nz-row
  92. *ngIf="orderInfo.specialCloseReason !== undefined"
  93. >
  94. <div nz-col nzSpan="24">
  95. 特殊情况关闭原因:{{ orderInfo.specialCloseReason || "-" }}
  96. </div>
  97. </div>
  98. </div>
  99. <div class="center" *ngIf="amplificationShow">
  100. <div class="box">
  101. <div class="steps" *ngFor="let step of logList">
  102. <div class="step">
  103. <div class="info">
  104. <i
  105. [ngClass]="{
  106. icon_transport: true,
  107. 'transport-icon_liucheng': true,
  108. green:
  109. step.record &&
  110. step.record[0] &&
  111. step.record[0].operationTime
  112. }"
  113. ></i>
  114. <p>{{ step.operationName }}</p>
  115. <p>{{ step.record ? step.record.operationtime : "" }}</p>
  116. <p
  117. *ngIf="
  118. step.record && step.record.length && step.record[0].dept
  119. "
  120. >
  121. <span *ngFor="let dept of step.record"
  122. >{{ dept.dept }},</span
  123. >
  124. </p>
  125. <p
  126. *ngIf="
  127. step.record &&
  128. step.record.length &&
  129. step.operationName != '申请'
  130. "
  131. >
  132. 耗时{{ filterTime(step.record) }}
  133. </p>
  134. </div>
  135. <div class="line"></div>
  136. </div>
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. </overlay-scrollbars>
  142. <!-- 标本类型工单信息 -->
  143. <overlay-scrollbars
  144. #osComponentRef4
  145. style="height: 90%; flex: 1"
  146. *ngIf="
  147. tabType == 1 && orderInfo.taskType.associationType.value == 'specimen'
  148. "
  149. >
  150. <div class="content orders">
  151. <div class="top" *ngIf="amplificationShow">
  152. <div class="num">
  153. <span class="left">单号:{{ orderInfo.gdcode }}</span>
  154. <span class="right">{{
  155. orderInfo.gdState ? orderInfo.gdState.name : ""
  156. }}</span>
  157. </div>
  158. <div class="info" nz-row>
  159. <div nz-col nzSpan="6">
  160. 工单日期:{{ orderInfo.startTime | date: "yyyy-MM-dd HH:mm" }}
  161. </div>
  162. <div nz-col nzSpan="6">总耗时:{{ orderInfo.showTimeNum }}</div>
  163. <div nz-col nzSpan="6">
  164. 申请类型:{{
  165. orderInfo.taskType ? orderInfo.taskType.taskName : ""
  166. }}<ng-container *ngIf="orderInfo.goodsRemark"
  167. >-{{ orderInfo.goodsRemark }}</ng-container
  168. >
  169. </div>
  170. <div nz-col nzSpan="6">
  171. 支助人员信息:{{ orderInfo.worker ? orderInfo.worker.name : "" }}
  172. </div>
  173. </div>
  174. <div class="info" nz-row>
  175. <div nz-col nzSpan="6">
  176. 预计接收:{{ orderInfo.expectReceiveNum }}
  177. </div>
  178. <div nz-col nzSpan="6">
  179. 送达:{{ orderInfo.deliveryNum || "无" }}
  180. </div>
  181. <div nz-col nzSpan="6">
  182. 实际接收:{{ orderInfo.actualReceiveNum || "无" }}
  183. </div>
  184. </div>
  185. <div class="info" nz-row>
  186. <div nz-col nzSpan="6">
  187. 申请科室:{{
  188. orderInfo.createDeptDTO ? orderInfo.createDeptDTO.dept : ""
  189. }}
  190. </div>
  191. <div nz-col nzSpan="6">
  192. 起点科室:{{
  193. orderInfo.startDept ? orderInfo.startDept.dept : ""
  194. }}
  195. </div>
  196. <div nz-col nzSpan="12">目标科室:{{ endDepts }}</div>
  197. </div>
  198. <div class="info" nz-row *ngIf="orderInfo.urgentDetails">
  199. <div nz-col nzSpan="8">
  200. 加急状态:{{ orderInfo.urgentDetails.checkStatus.name }}
  201. </div>
  202. <div nz-col nzSpan="24" class="jiaji">
  203. 加急原因:{{ orderInfo.urgentDetails.urgentReason }}
  204. </div>
  205. </div>
  206. <div
  207. class="info"
  208. nz-row
  209. *ngIf="orderInfo.workOrderRemark !== undefined"
  210. >
  211. <div nz-col nzSpan="24">
  212. 备注信息:{{ orderInfo.workOrderRemark || "-" }}
  213. </div>
  214. </div>
  215. <div
  216. class="info"
  217. nz-row
  218. *ngIf="orderInfo.specialCloseReason !== undefined"
  219. >
  220. <div nz-col nzSpan="24">
  221. 特殊情况关闭原因:{{ orderInfo.specialCloseReason || "-" }}
  222. </div>
  223. </div>
  224. </div>
  225. <div class="center" *ngIf="amplificationShow">
  226. <div class="box">
  227. <div class="steps" *ngFor="let step of logList">
  228. <div class="step">
  229. <div class="info">
  230. <i
  231. [ngClass]="{
  232. icon_transport: true,
  233. 'transport-icon_liucheng': true,
  234. green:
  235. step.record &&
  236. step.record[0] &&
  237. step.record[0].operationTime
  238. }"
  239. ></i>
  240. <p>{{ step.operationName }}</p>
  241. <p>{{ step.record ? step.record.operationtime : "" }}</p>
  242. <p
  243. *ngIf="
  244. step.record && step.record.length && step.record[0].dept
  245. "
  246. >
  247. <span *ngFor="let dept of step.record"
  248. >{{ dept.dept }},</span
  249. >
  250. </p>
  251. <p
  252. *ngIf="
  253. step.record &&
  254. step.record.length &&
  255. step.operationName != '申请'
  256. "
  257. >
  258. 耗时{{ filterTime(step.record) }}
  259. </p>
  260. </div>
  261. <div class="line"></div>
  262. </div>
  263. </div>
  264. </div>
  265. </div>
  266. <div class="bottom">
  267. <div class="amplification">
  268. <button
  269. nz-button
  270. nzType="primary"
  271. class="btn default"
  272. (click)="amplification()"
  273. >
  274. {{ amplificationShow ? "放大" : "还原" }}
  275. </button>
  276. </div>
  277. <div class="table">
  278. <nz-table
  279. [nzData]="orderInfo.specimenSet"
  280. nzSize="small"
  281. [nzShowPagination]="null"
  282. >
  283. <thead>
  284. <tr class="thead">
  285. <th nzWidth="4%">序号</th>
  286. <th nzWidth="8%">申请科室</th>
  287. <th nzWidth="7%">患者姓名</th>
  288. <th nzWidth="5%">标本编码</th>
  289. <th nzWidth="8%">检验项目</th>
  290. <th nzWidth="8%">标本类型</th>
  291. <th nzWidth="5%">状态</th>
  292. <th nzWidth="8%">收取时间</th>
  293. <th nzWidth="8%">收取人</th>
  294. <th nzWidth="8%">中转时间</th>
  295. <th nzWidth="8%">送达时间</th>
  296. <th nzWidth="8%">送达人</th>
  297. <th nzWidth="8%">终点科室</th>
  298. </tr>
  299. </thead>
  300. <tbody *ngIf="orderInfo.specimenSet">
  301. <tr *ngFor="let data of orderInfo.specimenSet; let i = index">
  302. <td>{{ i + 1 }}</td>
  303. <td>{{ data.sickRoom ? data.sickRoom.dept : "-" }}</td>
  304. <td>{{ data.patientName}}<span *ngIf="data.bedNum">({{data.bedNum}})</span><br>{{data.residenceNo}}</td>
  305. <td>{{ data.scode || "-" }}</td>
  306. <td>{{ data.specimenDesc || "-" }}</td>
  307. <td>{{ data.stype ? data.stype.name : "-" }}</td>
  308. <td>{{ data.speState ? data.speState.name : "-" }}</td>
  309. <td>{{ data.arriveTime || "-" }}</td>
  310. <td>{{ data.receiverName || "-" }}</td>
  311. <td>{{ data.transTime || '-' }}</td>
  312. <td>{{ data.sendTime || '-' }}</td>
  313. <td>{{ data.delivererName || "-" }}</td>
  314. <td>
  315. {{ data.checkDept ? data.checkDept.dept : "-" }}
  316. <img
  317. *ngIf="data.urgent == 1"
  318. src="../../assets/images/icon_ji.png"
  319. alt=""
  320. class="ji"
  321. />
  322. </td>
  323. </tr>
  324. </tbody>
  325. </nz-table>
  326. </div>
  327. </div>
  328. </div>
  329. </overlay-scrollbars>
  330. <!-- 标本轮巡工单信息 -->
  331. <overlay-scrollbars
  332. #osComponentRef5
  333. style="height: 90%; flex: 1"
  334. *ngIf="
  335. tabType == 1 &&
  336. orderInfo.taskType.associationType.value == 'specimenPlan'
  337. "
  338. >
  339. <div class="content orders">
  340. <div class="top" *ngIf="amplificationShow">
  341. <div class="num">
  342. <span class="left">单号:{{ orderInfo.gdcode }}</span>
  343. <span class="right">{{
  344. orderInfo.gdState ? orderInfo.gdState.name : ""
  345. }}</span>
  346. </div>
  347. <div class="info" nz-row>
  348. <div nz-col nzSpan="6">
  349. 工单日期:{{ orderInfo.startTime | date: "yyyy-MM-dd HH:mm" }}
  350. </div>
  351. <div nz-col nzSpan="6">总耗时:{{ orderInfo.showTimeNum }}</div>
  352. <div nz-col nzSpan="8">
  353. 申请类型:{{
  354. orderInfo.taskType ? orderInfo.taskType.taskName : ""
  355. }}<ng-container *ngIf="orderInfo.goodsRemark"
  356. >-{{ orderInfo.goodsRemark }}</ng-container
  357. >
  358. </div>
  359. <div nz-col nzSpan="4">
  360. 支助人员信息:{{ orderInfo.worker ? orderInfo.worker.name : "" }}
  361. </div>
  362. </div>
  363. <div class="info" nz-row>
  364. <div nz-col nzSpan="4">
  365. 申请科室:{{
  366. orderInfo.createDeptDTO ? orderInfo.createDeptDTO.dept : ""
  367. }}
  368. </div>
  369. <div nz-col nzSpan="10">目标科室:{{ endDepts }}</div>
  370. <div nz-col nzSpan="4">
  371. 预计接收:{{ orderInfo.expectReceiveNum }}
  372. </div>
  373. <div nz-col nzSpan="3">送达:{{ orderInfo.deliveryNum }}</div>
  374. <div nz-col nzSpan="3">
  375. 实际接收:{{ orderInfo.actualReceiveNum }}
  376. </div>
  377. </div>
  378. <div class="info" nz-row *ngIf="orderInfo.urgentDetails">
  379. <div nz-col nzSpan="8">
  380. 加急状态:{{ orderInfo.urgentDetails.checkStatus.name }}
  381. </div>
  382. <div nz-col nzSpan="24" class="jiaji">
  383. 加急原因:{{ orderInfo.urgentDetails.urgentReason }}
  384. </div>
  385. </div>
  386. <div
  387. class="info"
  388. nz-row
  389. *ngIf="orderInfo.specialCloseReason !== undefined"
  390. >
  391. <div nz-col nzSpan="24">
  392. 特殊情况关闭原因:{{ orderInfo.specialCloseReason || "-" }}
  393. </div>
  394. </div>
  395. </div>
  396. <div class="center" *ngIf="amplificationShow">
  397. <div class="box">
  398. <div class="steps" *ngFor="let step of logList">
  399. <div class="step">
  400. <div class="info">
  401. <i
  402. [ngClass]="{
  403. icon_transport: true,
  404. 'transport-icon_liucheng': true,
  405. green:
  406. step.record &&
  407. step.record[0] &&
  408. step.record[0].operationTime
  409. }"
  410. ></i>
  411. <p>{{ step.operationName }}</p>
  412. <p>{{ step.record ? step.record.operationtime : "" }}</p>
  413. <p
  414. *ngIf="
  415. step.record && step.record.length && step.record[0].dept
  416. "
  417. >
  418. <span *ngFor="let dept of step.record"
  419. >{{ dept.dept }},</span
  420. >
  421. </p>
  422. <p
  423. *ngIf="
  424. step.record &&
  425. step.record.length &&
  426. step.operationName != '申请'
  427. "
  428. >
  429. 耗时{{ filterTime(step.record) }}
  430. </p>
  431. </div>
  432. <div class="line"></div>
  433. </div>
  434. </div>
  435. </div>
  436. </div>
  437. <div class="bottom">
  438. <div class="amplification">
  439. <button
  440. nz-button
  441. nzType="primary"
  442. class="btn default"
  443. (click)="amplification()"
  444. >
  445. {{ amplificationShow ? "放大" : "还原" }}
  446. </button>
  447. </div>
  448. <div class="table">
  449. <nz-table
  450. [nzData]="orderInfo.specimenSet"
  451. nzSize="small"
  452. [nzShowPagination]="null"
  453. >
  454. <thead>
  455. <tr class="thead">
  456. <th nzWidth="4%">序号</th>
  457. <th nzWidth="8%">申请科室</th>
  458. <th nzWidth="7%">患者姓名</th>
  459. <th nzWidth="5%">标本编码</th>
  460. <th nzWidth="8%">检验项目</th>
  461. <th nzWidth="8%">标本类型</th>
  462. <th nzWidth="5%">状态</th>
  463. <th nzWidth="8%">收取时间</th>
  464. <th nzWidth="8%">收取人</th>
  465. <th nzWidth="8%">中转时间</th>
  466. <th nzWidth="8%">送达时间</th>
  467. <th nzWidth="8%">送达人</th>
  468. <th nzWidth="8%">终点科室</th>
  469. </tr>
  470. </thead>
  471. <tbody *ngIf="orderInfo.specimenSet">
  472. <tr *ngFor="let data of orderInfo.specimenSet; let i = index">
  473. <td>{{ i + 1 }}</td>
  474. <td>{{ data.sickRoom ? data.sickRoom.dept : "-" }}</td>
  475. <td>{{ data.patientName}}<span *ngIf="data.bedNum">({{data.bedNum}})</span><br>{{data.residenceNo}}</td>
  476. <td>{{ data.scode || "-" }}</td>
  477. <td>{{ data.specimenDesc || "-" }}</td>
  478. <td>{{ data.stype ? data.stype.name : "-" }}</td>
  479. <td>{{ data.speState ? data.speState.name : "-" }}</td>
  480. <td>{{ data.arriveTime || "-" }}</td>
  481. <td>{{ data.receiverName || "-" }}</td>
  482. <td>{{ data.transTime || '-' }}</td>
  483. <td>{{ data.sendTime || '-' }}</td>
  484. <td>{{ data.delivererName || "-" }}</td>
  485. <td>
  486. {{ data.checkDept ? data.checkDept.dept : "-" }}
  487. <img
  488. *ngIf="data.urgent == 1"
  489. src="../../assets/images/icon_ji.png"
  490. alt=""
  491. class="ji"
  492. />
  493. </td>
  494. </tr>
  495. </tbody>
  496. </nz-table>
  497. </div>
  498. </div>
  499. </div>
  500. </overlay-scrollbars>
  501. <!-- 药品/静配配送类型工单信息 -->
  502. <overlay-scrollbars
  503. #osComponentRef6
  504. style="height: 90%; flex: 1"
  505. *ngIf="
  506. tabType == 1 &&
  507. (orderInfo.taskType.associationType.value == 'drugsBag' ||
  508. orderInfo.taskType.associationType.value == 'jPBag')
  509. "
  510. >
  511. <div class="content orders">
  512. <div class="top" *ngIf="amplificationShow">
  513. <div class="num">
  514. <span class="left">单号:{{ orderInfo.gdcode }}</span>
  515. <span class="right">{{
  516. orderInfo.gdState ? orderInfo.gdState.name : ""
  517. }}</span>
  518. </div>
  519. <div class="info" nz-row>
  520. <div nz-col nzSpan="6">
  521. 工单日期:{{ orderInfo.startTime | date: "yyyy-MM-dd HH:mm" }}
  522. </div>
  523. <div nz-col nzSpan="6">总耗时:{{ orderInfo.showTimeNum }}</div>
  524. <div nz-col nzSpan="6">
  525. 申请类型:{{
  526. orderInfo.taskType ? orderInfo.taskType.taskName : ""
  527. }}<ng-container *ngIf="orderInfo.goodsRemark"
  528. >-{{ orderInfo.goodsRemark }}</ng-container
  529. >
  530. </div>
  531. <div nz-col nzSpan="6">
  532. 支助人员信息:{{ orderInfo.worker ? orderInfo.worker.name : "" }}
  533. </div>
  534. </div>
  535. <div class="info" nz-row>
  536. <div nz-col nzSpan="6">
  537. 申请科室:{{
  538. orderInfo.createDeptDTO ? orderInfo.createDeptDTO.dept : ""
  539. }}
  540. </div>
  541. <div nz-col nzSpan="6">目标科室:{{ endDepts }}</div>
  542. <div nz-col nzSpan="6" *ngIf="orderInfo.urgentDetails">
  543. 加急状态:{{ orderInfo.urgentDetails.checkStatus.name }}
  544. </div>
  545. <div nz-col nzSpan="6" *ngIf="orderInfo.drugs">
  546. 药包编码:{{ orderInfo.drugs.packid }}
  547. </div>
  548. <div nz-col nzSpan="6" *ngIf="orderInfo.staticDistri">
  549. 药包编码:{{ orderInfo.staticDistri.packid }}
  550. </div>
  551. </div>
  552. <div class="info" nz-row *ngIf="orderInfo.urgentDetails">
  553. <div nz-col nzSpan="24" class="jiaji">
  554. 加急原因:{{ orderInfo.urgentDetails.urgentReason }}
  555. </div>
  556. </div>
  557. <div
  558. class="info"
  559. nz-row
  560. *ngIf="orderInfo.specialCloseReason !== undefined"
  561. >
  562. <div nz-col nzSpan="24">
  563. 特殊情况关闭原因:{{ orderInfo.specialCloseReason || "-" }}
  564. </div>
  565. </div>
  566. </div>
  567. <div class="center" *ngIf="amplificationShow">
  568. <div class="box">
  569. <div class="steps" *ngFor="let step of logList">
  570. <div class="step">
  571. <div class="info">
  572. <i
  573. [ngClass]="{
  574. icon_transport: true,
  575. 'transport-icon_liucheng': true,
  576. green:
  577. step.record &&
  578. step.record[0] &&
  579. step.record[0].operationTime
  580. }"
  581. ></i>
  582. <p>{{ step.operationName }}</p>
  583. <p>{{ step.record ? step.record.operationtime : "" }}</p>
  584. <p
  585. *ngIf="
  586. step.record && step.record.length && step.record[0].dept
  587. "
  588. >
  589. <span *ngFor="let dept of step.record"
  590. >{{ dept.dept }},</span
  591. >
  592. </p>
  593. <p
  594. *ngIf="
  595. step.record &&
  596. step.record.length &&
  597. step.operationName != '申请'
  598. "
  599. >
  600. 耗时{{ filterTime(step.record) }}
  601. </p>
  602. </div>
  603. <div class="line"></div>
  604. </div>
  605. </div>
  606. </div>
  607. </div>
  608. <div class="bottom">
  609. <div class="amplification">
  610. <button
  611. nz-button
  612. nzType="primary"
  613. class="btn default"
  614. (click)="amplification()"
  615. >
  616. {{ amplificationShow ? "放大" : "还原" }}
  617. </button>
  618. </div>
  619. <div class="table">
  620. <!-- 静配 -->
  621. <nz-table
  622. *ngIf="orderInfo.staticDistri"
  623. class="detailDrugTable"
  624. [nzData]="orderInfo.staticDistri.jpdetailsFormat"
  625. nzSize="small"
  626. [nzScroll]="{ y: '125px' }"
  627. [nzShowPagination]="null"
  628. >
  629. <thead>
  630. <tr class="thead">
  631. <th nzWidth="15%">患者信息</th>
  632. <th nzWidth="30%">药品</th>
  633. <th nzWidth="5%">数量</th>
  634. <th nzWidth="15%">患者信息</th>
  635. <th nzWidth="30%">药品</th>
  636. <th nzWidth="5%">数量</th>
  637. </tr>
  638. </thead>
  639. <tbody *ngIf="orderInfo.staticDistri">
  640. <tr *ngFor="let data of orderInfo.staticDistri.jpdetailsFormat">
  641. <td>{{ data[0].bedNum }}床:{{ data[0].patientInfo }}</td>
  642. <td>{{ data[0].jpInfo }}</td>
  643. <td>{{ data[0].jpNum }}</td>
  644. <td>
  645. {{
  646. data[1]
  647. ? data[1].bedNum + "床:" + data[1].patientInfo
  648. : ""
  649. }}
  650. </td>
  651. <td>{{ data[1] ? data[1].jpInfo : "" }}</td>
  652. <td>{{ data[1] ? data[1].jpNum : "" }}</td>
  653. </tr>
  654. </tbody>
  655. </nz-table>
  656. <!-- 药品 -->
  657. <nz-table
  658. *ngIf="orderInfo.drugs"
  659. class="detailDrugTable"
  660. [nzData]="orderInfo.drugs.drugsFormat"
  661. nzSize="small"
  662. [nzScroll]="{ y: '125px' }"
  663. [nzShowPagination]="null"
  664. >
  665. <thead>
  666. <tr class="thead">
  667. <th nzWidth="15%">患者信息</th>
  668. <th nzWidth="30%">药品</th>
  669. <th nzWidth="5%">数量</th>
  670. <th nzWidth="15%">患者信息</th>
  671. <th nzWidth="30%">药品</th>
  672. <th nzWidth="5%">数量</th>
  673. </tr>
  674. </thead>
  675. <tbody *ngIf="orderInfo.drugs">
  676. <tr *ngFor="let data of orderInfo.drugs.drugsFormat">
  677. <td>{{ data[0].bedNum }}床:{{ data[0].patientInfo }}</td>
  678. <td>{{ data[0].drugsInfo }}</td>
  679. <td>{{ data[0].drugsNum }}</td>
  680. <td>
  681. {{
  682. data[1]
  683. ? data[1].bedNum + "床:" + data[1].patientInfo
  684. : ""
  685. }}
  686. </td>
  687. <td>{{ data[1] ? data[1].drugsInfo : "" }}</td>
  688. <td>{{ data[1] ? data[1].drugsNum : "" }}</td>
  689. </tr>
  690. </tbody>
  691. </nz-table>
  692. </div>
  693. </div>
  694. </div>
  695. </overlay-scrollbars>
  696. <!-- 患者陪检/患者转运类型工单信息 -->
  697. <overlay-scrollbars
  698. #osComponentRef1
  699. style="height: 90%; flex: 1"
  700. *ngIf="
  701. tabType == 1 &&
  702. (orderInfo.taskType.associationType.value == 'inspect' ||
  703. orderInfo.taskType.associationType.value == 'patientTransport')
  704. "
  705. >
  706. <div class="content orders">
  707. <div class="top" *ngIf="amplificationShow">
  708. <div class="num">
  709. <span class="left">单号:{{ orderInfo.gdcode }}</span>
  710. <span class="right">{{
  711. orderInfo.gdState ? orderInfo.gdState.name : ""
  712. }}</span>
  713. </div>
  714. <div class="info" nz-row>
  715. <div nz-col nzSpan="6">
  716. 工单日期:{{ orderInfo.startTime | date: "yyyy-MM-dd HH:mm" }}
  717. </div>
  718. <div nz-col nzSpan="6">总耗时:{{ orderInfo.showTimeNum }}</div>
  719. <div nz-col nzSpan="6">
  720. 申请类型:{{
  721. orderInfo.taskType ? orderInfo.taskType.taskName : ""
  722. }}<ng-container *ngIf="orderInfo.goodsRemark"
  723. >-{{ orderInfo.goodsRemark }}</ng-container
  724. >
  725. </div>
  726. <div nz-col nzSpan="6">
  727. 支助人员信息:{{ orderInfo.worker ? orderInfo.worker.name : "" }}
  728. </div>
  729. </div>
  730. <div class="info" nz-row>
  731. <div nz-col nzSpan="6">
  732. 申请科室:{{
  733. orderInfo.createDeptDTO ? orderInfo.createDeptDTO.dept : ""
  734. }}
  735. </div>
  736. <div nz-col nzSpan="6" *ngIf="middleDept.length > 0">
  737. 中间科室:{{ middleDept.join(",") }}
  738. </div>
  739. <div nz-col nzSpan="6">目标科室:{{ endDepts }}</div>
  740. <div nz-col nzSpan="6" *ngIf="orderInfo.urgentDetails">
  741. 加急状态:{{ orderInfo.urgentDetails.checkStatus.name }}
  742. </div>
  743. </div>
  744. <div class="info" nz-row>
  745. <div
  746. nz-col
  747. nzSpan="6"
  748. *ngIf="orderInfo.isAccompany === 1 || orderInfo.isAccompany === 0"
  749. >
  750. 陪同情况:{{
  751. orderInfo.isAccompany == 1 ? "需要医护陪同" : "无需医护陪同"
  752. }}
  753. </div>
  754. <div nz-col nzSpan="6" *ngIf="orderInfo.yyjdTime">
  755. 预约时间:{{ orderInfo.yyjdTime | date: "MM-dd HH:mm" }}
  756. </div>
  757. <div
  758. nz-col
  759. nzSpan="6"
  760. *ngIf="orderInfo.taskType.associationType.value == 'inspect'"
  761. >
  762. 是否半程陪检:{{ orderInfo.isHalfInspect === 1 ? "是" : "否" }}
  763. </div>
  764. </div>
  765. <div class="info" nz-row *ngIf="orderInfo.urgentDetails">
  766. <div nz-col nzSpan="24" class="jiaji">
  767. 加急原因:{{ orderInfo.urgentDetails.urgentReason }}
  768. </div>
  769. </div>
  770. <div
  771. class="info"
  772. nz-row
  773. *ngIf="orderInfo.specialCloseReason !== undefined"
  774. >
  775. <div nz-col nzSpan="24">
  776. 特殊情况关闭原因:{{ orderInfo.specialCloseReason || "-" }}
  777. </div>
  778. </div>
  779. </div>
  780. <div class="center" *ngIf="amplificationShow">
  781. <div class="box">
  782. <div class="steps" *ngFor="let step of logList">
  783. <div class="step">
  784. <div class="info">
  785. <i
  786. [ngClass]="{
  787. icon_transport: true,
  788. 'transport-icon_liucheng': true,
  789. green:
  790. step.record &&
  791. step.record[0] &&
  792. step.record[0].operationTime
  793. }"
  794. ></i>
  795. <p>{{ step.operationName }}</p>
  796. <p>{{ step.record ? step.record.operationtime : "" }}</p>
  797. <p
  798. *ngIf="
  799. step.record && step.record.length && step.record[0].dept
  800. "
  801. >
  802. <span *ngFor="let dept of step.record"
  803. >{{ dept.dept }},</span
  804. >
  805. </p>
  806. <p
  807. *ngIf="
  808. step.record &&
  809. step.record.length &&
  810. step.operationName != '申请'
  811. "
  812. >
  813. 耗时{{ filterTime(step.record) }}
  814. </p>
  815. </div>
  816. <div class="line"></div>
  817. </div>
  818. </div>
  819. </div>
  820. </div>
  821. <div class="bottom">
  822. <div class="amplification">
  823. <button
  824. nz-button
  825. nzType="primary"
  826. class="btn default"
  827. (click)="amplification()"
  828. >
  829. {{ amplificationShow ? "放大" : "还原" }}
  830. </button>
  831. </div>
  832. <div class="info">
  833. <div nz-row class="top">
  834. <div class="left" nz-col nzSpan="12">
  835. <p>
  836. <span class="label">患者姓名</span>
  837. <span>{{
  838. orderInfo.patient ? orderInfo.patient.patientName : "-"
  839. }}</span>
  840. </p>
  841. <p>
  842. <span class="label">床位</span>
  843. <span>{{
  844. orderInfo.patient ? orderInfo.patient.bedNum : "-"
  845. }}</span>
  846. </p>
  847. </div>
  848. <div class="right" nz-col nzSpan="12">
  849. <p>
  850. <span class="label">患者编码</span>
  851. <span>{{
  852. orderInfo.patient ? orderInfo.patient.patientCode : "-"
  853. }}</span>
  854. </p>
  855. <p>
  856. <span class="label">携带物品</span>
  857. <span>{{ orderInfo.goods || "暂无" }}</span>
  858. </p>
  859. </div>
  860. </div>
  861. </div>
  862. <ng-container
  863. *ngIf="orderInfo.taskType.associationType.value == 'inspect'"
  864. >
  865. <div class="info" *ngFor="let item of orderInfo.checkList">
  866. <div nz-row class="top">
  867. <div nz-col nzSpan="8">
  868. <p>
  869. <span class="label">检查项目:</span>
  870. <span>
  871. <span>
  872. <span>{{ item.inspectName || "-" }}</span>
  873. </span>
  874. </span>
  875. </p>
  876. </div>
  877. <div nz-col nzSpan="8">
  878. <p>
  879. <span class="label">预约时间:</span>
  880. <span>{{ item.yyTime || "-" }}</span>
  881. </p>
  882. </div>
  883. <div nz-col nzSpan="8">
  884. <p>
  885. <span class="label">叫号信息:</span>
  886. <span>{{ item.reservationNumber || "-" }}</span>
  887. </p>
  888. </div>
  889. <div nz-col nzSpan="8">
  890. <p>
  891. <span class="label">到达时间:</span>
  892. <span>{{ item.arriveTime || "-" }}</span>
  893. </p>
  894. </div>
  895. <div nz-col nzSpan="8">
  896. <p>
  897. <span class="label">检查科室:</span>
  898. <span>{{ item.execDept ? item.execDept.dept : "-" }}</span>
  899. </p>
  900. </div>
  901. <div nz-col nzSpan="8">
  902. <p>
  903. <span class="label">是否送达:</span>
  904. <span>{{ item.arriveTime ? "是" : "否" }}</span>
  905. </p>
  906. </div>
  907. </div>
  908. </div>
  909. </ng-container>
  910. </div>
  911. </div>
  912. </overlay-scrollbars>
  913. <!-- 评价内容 -->
  914. <overlay-scrollbars
  915. #osComponentRef7
  916. style="height: 90%;flex:1;"
  917. *ngIf="tabType == 2"
  918. >
  919. <div class="content pingjia">
  920. <div class="msg">
  921. <div>
  922. 评价等级:{{
  923. orderInfo.evaluationDetails
  924. ? orderInfo.evaluationDetails.serviceEvaluation.name
  925. : ""
  926. }}
  927. </div>
  928. <div>
  929. 评价人:{{
  930. orderInfo.evaluationDetails
  931. ? orderInfo.evaluationDetails.evalutationUser.name
  932. : ""
  933. }}
  934. </div>
  935. </div>
  936. <div class="con">
  937. 意见内容:{{
  938. orderInfo.evaluationDetails
  939. ? orderInfo.evaluationDetails.remark
  940. : ""
  941. }}
  942. </div>
  943. </div>
  944. </overlay-scrollbars>
  945. <!-- 积分 -->
  946. <overlay-scrollbars
  947. #osComponentRef8
  948. style="height: 90%;flex:1;"
  949. *ngIf="tabType == 3"
  950. >
  951. <div class="content jifen">
  952. <div class="table">
  953. <nz-table
  954. class="integralTable"
  955. [nzData]="[1, 2]"
  956. nzSize="middle"
  957. [nzShowPagination]="null"
  958. >
  959. <thead>
  960. <tr class="thead">
  961. <th nzWidth="15%">考核项</th>
  962. <th nzWidth="10%">分值</th>
  963. <th nzWidth="60%">计算</th>
  964. <th nzWidth="15%">实际得分</th>
  965. </tr>
  966. </thead>
  967. <tbody>
  968. <tr>
  969. <td>响应时间</td>
  970. <td>
  971. {{
  972. orderInfo.grade
  973. ? orderInfo.grade.estimateResponseGrade
  974. : "-"
  975. }}
  976. </td>
  977. <td>
  978. {{ orderInfo.grade ? orderInfo.grade.responseDetails : "-" }}
  979. </td>
  980. <td>
  981. {{ orderInfo.grade ? orderInfo.grade.responseGrade : "-" }}
  982. </td>
  983. </tr>
  984. <tr>
  985. <td>到达时间</td>
  986. <td>
  987. {{
  988. orderInfo.grade ? orderInfo.grade.estimateArriveGrade : "-"
  989. }}
  990. </td>
  991. <td>
  992. {{ orderInfo.grade ? orderInfo.grade.arriveDetails : "-" }}
  993. </td>
  994. <td>
  995. {{ orderInfo.grade ? orderInfo.grade.arriveGrade : "-" }}
  996. </td>
  997. </tr>
  998. <tr>
  999. <td>执行时间</td>
  1000. <td>
  1001. {{
  1002. orderInfo.grade
  1003. ? orderInfo.grade.estimateExecutionGrade
  1004. : "-"
  1005. }}
  1006. </td>
  1007. <td>
  1008. {{ orderInfo.grade ? orderInfo.grade.executionDetails : "-" }}
  1009. </td>
  1010. <td>
  1011. {{ orderInfo.grade ? orderInfo.grade.executionGrade : "-" }}
  1012. </td>
  1013. </tr>
  1014. <tr>
  1015. <td>基础分</td>
  1016. <td>
  1017. {{
  1018. orderInfo.grade ? orderInfo.grade.estimateBaseGrade : "-"
  1019. }}
  1020. </td>
  1021. <td>
  1022. {{ orderInfo.grade ? orderInfo.grade.baseDetails : "-" }}
  1023. </td>
  1024. <td>{{ orderInfo.grade ? orderInfo.grade.baseGrade : "-" }}</td>
  1025. </tr>
  1026. <tr>
  1027. <td>评价分</td>
  1028. <td>
  1029. {{
  1030. orderInfo.grade
  1031. ? orderInfo.grade.estimateEvaluationGrade
  1032. : "-"
  1033. }}
  1034. </td>
  1035. <td>
  1036. {{
  1037. orderInfo.grade ? orderInfo.grade.evaluationDetails : "-"
  1038. }}
  1039. </td>
  1040. <td>
  1041. {{ orderInfo.grade ? orderInfo.grade.evaluationGrade : "-" }}
  1042. </td>
  1043. </tr>
  1044. <tr>
  1045. <td>楼栋分</td>
  1046. <td>
  1047. {{
  1048. orderInfo.grade
  1049. ? orderInfo.grade.estimateBuildingGrade
  1050. : "-"
  1051. }}
  1052. </td>
  1053. <td>
  1054. {{ orderInfo.grade ? orderInfo.grade.buildingDetails : "-" }}
  1055. </td>
  1056. <td>
  1057. {{ orderInfo.grade ? orderInfo.grade.buildingGrade : "-" }}
  1058. </td>
  1059. </tr>
  1060. <tr>
  1061. <td>最终得分</td>
  1062. <td>
  1063. {{
  1064. orderInfo.grade ? orderInfo.grade.estimateGradeTotal : "-"
  1065. }}
  1066. </td>
  1067. <td>
  1068. {{ orderInfo.grade ? orderInfo.grade.totalDetails : "-" }}
  1069. </td>
  1070. <td>
  1071. {{ orderInfo.grade ? orderInfo.grade.gradeTotal : "-" }}
  1072. </td>
  1073. </tr>
  1074. </tbody>
  1075. </nz-table>
  1076. </div>
  1077. </div>
  1078. </overlay-scrollbars>
  1079. <!-- 历史记录 -->
  1080. <overlay-scrollbars
  1081. #osComponentRef2
  1082. style="height: 90%;flex:1;"
  1083. *ngIf="tabType == 4"
  1084. >
  1085. <div class="content jifen">
  1086. <div class="table">
  1087. <nz-table
  1088. class="integralTable"
  1089. [nzData]="[1, 2]"
  1090. nzSize="middle"
  1091. [nzShowPagination]="null"
  1092. >
  1093. <thead>
  1094. <tr class="thead">
  1095. <th nzWidth="5%">序号</th>
  1096. <th nzWidth="30%">操作动作</th>
  1097. <th nzWidth="15%">操作时间</th>
  1098. <th nzWidth="10%">操作人</th>
  1099. <th nzWidth="10%">图片查看</th>
  1100. <th nzWidth="30%">异常关闭原因</th>
  1101. </tr>
  1102. </thead>
  1103. <tbody>
  1104. <tr *ngFor="let item of workOrderRecord; let i = index">
  1105. <td>{{ i + 1 }}</td>
  1106. <td>{{ item.operation ? item.operation.name : "-" }}</td>
  1107. <td>{{ item.operationTime || "-" }}</td>
  1108. <td>{{ item.username || "-" }}</td>
  1109. <td>
  1110. <button
  1111. *ngIf="item.attachments"
  1112. (click)="previewImageHandler(item.attachments[0].token)"
  1113. >
  1114. 查看图片</button
  1115. ><span *ngIf="!item.attachments"></span>
  1116. </td>
  1117. <td>
  1118. {{
  1119. item.specialCloseReason === "true"
  1120. ? orderInfo.specialCloseReason
  1121. : "-"
  1122. }}
  1123. </td>
  1124. </tr>
  1125. </tbody>
  1126. </nz-table>
  1127. </div>
  1128. </div>
  1129. </overlay-scrollbars>
  1130. </div>
  1131. <div class="btns">
  1132. <button class="btn cancel" nz-button nzType="default" (click)="close()">
  1133. 关闭
  1134. </button>
  1135. </div>
  1136. </div>
  1137. <!-- 操作成功/失败提示框 -->
  1138. <app-prompt-modal
  1139. *ngIf="promptModalShow"
  1140. [content]="promptContent"
  1141. [success]="ifSuccess"
  1142. [show]="promptModalShow"
  1143. [info]="promptInfo"
  1144. (closeModel)="close()"
  1145. >
  1146. <!-- 2.父组件调用子组件时绑定到这个事件属性,并在事件发生时作出回应。(closeModel)="close()" -->
  1147. </app-prompt-modal>
  1148. <!-- 图片提示框 -->
  1149. <app-prompt-modal
  1150. *ngIf="promptModalShowImg"
  1151. [show]="promptModalShowImg"
  1152. (closeModel)="closeImg()"
  1153. [previewImage]="previewImage"
  1154. >
  1155. </app-prompt-modal>
  1156. <!-- 遮罩 -->
  1157. <app-mask *ngIf="maskFlag"></app-mask>