fuwutai.component.html 137 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448
  1. <div class="fuwutai">
  2. <div class="top" id="top" *ngIf="hurseInfoHiding != '1'">
  3. <!-- 头部Tab -->
  4. <div class="tabBox">
  5. <div class="tab" #tabs>
  6. <div class="tab_inner" [style.transform]="'translateX(' + disXHead + 'px)'">
  7. <!-- <div [ngClass]="{ tabItem: true, checked: typeId == -1 }" (click)="checkTab(-1)">
  8. 全部
  9. </div> -->
  10. <div [ngClass]="{ tabItem: true, checked: typeId == item.id }" *ngFor="let item of scopeGroups" (click)="checkTab(item.id)" [title]="item.groupName">
  11. {{ item.groupName }}
  12. </div>
  13. </div>
  14. </div>
  15. <div class="tabBox__operate">
  16. <i class="tabBox__Icon--right icon_transport transport-xiangzuo" (click)="headToLeft()"></i>
  17. <i class="tabBox__Icon--left icon_transport transport-xiangzuo" (click)="headToRight()"></i>
  18. </div>
  19. <div class="timer">{{ workerRefreshTime }}s</div>
  20. </div>
  21. <!-- 配送人员信息内容 -->
  22. <div class="message_cot">
  23. <!-- 配送人员信息 -->
  24. <div class="cot_hid" [style.height]="cotHeight + 'px'">
  25. <ng-container *ngIf="!wLoading && (typeData.type === 1 || typeData.type === 2)">
  26. <div id="cotAll" class="cot_all" *ngIf="patientCareCol != 6">
  27. <div [ngClass]="{cot: true, fourCol: patientCareCol == 4, sevenCol: patientCareCol == 7}" *ngFor="let data of workerMessage">
  28. <div class="first" *ngIf="data">
  29. <span nz-tooltip [nzTooltipTitle]="data.phone">{{ data.name }}</span>
  30. <span>累计{{ data.totalCount }}单</span>
  31. <span class="times imptime" *ngIf="data.freetime === '今日还未接单' || data.freetime === null">{{ data.freetime }}</span>
  32. <span class="times imptime imptime-green" *ngIf="data.freetime !== '今日还未接单' && data.freetime !== null">{{ "空闲时间" + data.freetime }}</span>
  33. </div>
  34. <div class="second" *ngIf="data">
  35. <span *ngIf="data.workingFlag == true">{{ data.gdType }}</span>
  36. <span [ngClass]="{ fr: true, colorRed: data.timeOut == true }" *ngIf="data.workingFlag == true">{{ data.gdState }}</span>
  37. </div>
  38. </div>
  39. </div>
  40. <div id="cotAll" nz-row *ngIf="patientCareCol == 6">
  41. <div nz-col nzSpan="4" class="cot col-6" *ngFor="let data of workerMessage">
  42. <div class="first" *ngIf="data">
  43. <span nz-tooltip [nzTooltipTitle]="data.phone">{{ data.name }}</span>
  44. <span class="times imptime" *ngIf="data.freetime === '今日还未接单' || data.freetime === null">{{ data.freetime }}</span>
  45. <span class="times imptime imptime-green" *ngIf="data.freetime !== '今日还未接单' && data.freetime !== null">{{ "空闲时间" + data.freetime }}</span>
  46. </div>
  47. </div>
  48. </div>
  49. </ng-container>
  50. <ng-container *ngIf="!wLoading && typeData.type === 3">
  51. <div id="cotAll" class="cot_all">
  52. <div [ngClass]="{cot: true, sevenCol: true}" *ngFor="let data of workerMessage">
  53. <div class="first" *ngIf="data">
  54. <span nz-tooltip [nzTooltipTitle]="data[2]">{{ data[1] }}</span>
  55. <span class="fr">今日完成:{{ data[3][2] }}</span>
  56. </div>
  57. <div class="first" *ngIf="data">
  58. <span>待接单:{{ data[3][0] }}</span>
  59. <span class="fr">处理中:{{ data[3][1] }}</span>
  60. </div>
  61. </div>
  62. </div>
  63. </ng-container>
  64. <div class="cot_img" *ngIf="wLoading">
  65. <img src="../../assets/images/loading.gif" alt="" />
  66. </div>
  67. <div class="cot_img" *ngIf="!wLoading && workerMessage.length == 0">
  68. <span>暂无数据</span>
  69. </div>
  70. </div>
  71. <div class="arrow" *ngIf="showRowNum < maxNum" (click)="unfold()">
  72. <i class="icon_transport transport-xiala2-01"></i>
  73. </div>
  74. <div class="arrow" *ngIf="showRowNum > maxNum || showRowNum == maxNum" (click)="retract()">
  75. <i class="icon_transport transport-shangla-"></i>
  76. </div>
  77. </div>
  78. </div>
  79. <!-- 状态工单 -->
  80. <div class="lists_box" [ngClass]="{ top185: hurseInfoHiding != '1' }">
  81. <!-- 未分派/未受理 -->
  82. <div class="lists">
  83. <div class="head">
  84. <span class="auto_tit"><span *ngIf="flagList.hsmsFlag1">未分派</span><span *ngIf="flagList.itsmFlag1 && flagList.hsmsFlag1">/</span><span *ngIf="flagList.itsmFlag1">未受理</span>({{ unassignedList.length }}条)</span>
  85. <div class="ml8 auto_building" *ngIf="!flagList.itsmFlag1 && flagList.hsmsFlag1">
  86. <nz-select class="auto_building_select" [(ngModel)]="unassignedBuilding" nzMode="multiple" nzPlaceHolder="请选择楼栋" (nzOpenChange)="openChangeUnassignedBuilding($event)" (ngModelChange)="changeUnassignedBuilding($event)">
  87. <ng-container *ngFor="let option of unassignedBuildings">
  88. <nz-option *ngIf="!bLoading && !b2Loading" [nzLabel]="option[0] + '(' + option[2] + ')'" [nzValue]="option[3]"></nz-option>
  89. </ng-container>
  90. <nz-option *ngIf="bLoading || b2Loading" nzDisabled nzCustomContent>
  91. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  92. </nz-option>
  93. </nz-select>
  94. </div>
  95. <span class="toLastTime"><span class="itsmOrHsms" [ngClass]="{bold: flagList.itsmFlag1}" *ngIf="itsmData.mdv2Switch" (click)="filterOrderList('itsm', 1)">运维</span><span class="itsmOrHsms" *ngIf="itsmData.mdv2Switch && hsmsData.hsmsSwitch">|</span><span class="itsmOrHsms" [ngClass]="{bold: flagList.hsmsFlag1}" *ngIf="hsmsData.hsmsSwitch" (click)="filterOrderList('hsms', 1)">配送</span><span class="time">{{ orderRefreshTime }}s</span></span>
  96. </div>
  97. <div class="searchBox" *ngIf="!flagList.itsmFlag1 && flagList.hsmsFlag1">
  98. <label nz-checkbox [(ngModel)]="allUnassignedList" (ngModelChange)="changeAllUnassignedList($event)">全选</label>
  99. <div class="search wp60">
  100. <input class="wp75" type="text" placeholder="请输入关键字" [(ngModel)]="unassignedSearchCon" />
  101. <div class="magnifier wp20" (click)="searchUnassigned()">
  102. <i class="icon_transport transport-sousuo"></i>
  103. <span>搜索</span>
  104. </div>
  105. </div>
  106. <button nz-button nzType="primary" (click)="batchDispatch()" [disabled]="!batchType">
  107. 批量派单
  108. </button>
  109. </div>
  110. <div class="cots_body weifenpai" *ngIf="(txtLabelCol == 1 && flagList.hsmsFlag1 && !flagList.itsmFlag1) || flagList.itsmFlag1" [ngClass]="{ top185: hurseInfoHiding != '1', top185_1: flagList.itsmFlag1 }">
  111. <overlay-scrollbars #osComponentRef2 [ngStyle]="{ height: '100%' }">
  112. <ng-container *ngIf="unassignedList.length && !loading1">
  113. <div class="list listsTypeColor" *ngFor="let data of unassignedList">
  114. <!-- 配送 -->
  115. <ng-container *ngIf="data.type === 'hsms'">
  116. <div class="left_cots" (click)="openDetails(data.data)">
  117. <!-- 工单 -->
  118. <div class="gongdan" (click)="batchDispatchSelect(!data.checked, data.data.id, $event)">
  119. <span class="left mr8" *ngIf="!flagList.itsmFlag1 && flagList.hsmsFlag1"><label nz-checkbox [ngModel]="data.checked" (ngModelChange)="batchDispatchSelect($event, data.data.id)"></label></span>
  120. <span class="left gongdan_name" nz-tooltip [nzTooltipTitle]="data.data.taskType.taskName + (data.data.goodsRemark?'-'+data.data.goodsRemark:'')+'(' + data.data.gdcode + ')'">
  121. {{ data.data.isHalfInspect === 1 ? "半程陪检" : data.data.taskType.taskName }}<ng-container *ngIf="data.data.goodsRemark">-{{data.data.goodsRemark}}</ng-container>({{ data.data.gdcode }})
  122. </span>
  123. <div class="right_all">
  124. <span nz-tooltip [nzTooltipTitle]="data.data.worker ? data.data.worker.phone : ''" class="right_all_name">{{ data.data.worker ? data.data.worker.name : "" }}</span>
  125. <span class="right">
  126. <span [ngClass]="{ colorRed: data.data.timeOut == true }">{{ data.data.gdState.name }}</span>
  127. </span>
  128. </div>
  129. </div>
  130. <!-- 地点 -->
  131. <div class="didian">
  132. <span class="left" *ngIf="data.data.taskType.associationType.value == 'inspect'">
  133. {{ data.data.startDept ? data.data.startDept.dept : "" }}
  134. <span *ngFor="let item of data.data.middleDept">
  135. ->{{ item.dept }}
  136. </span>
  137. </span>
  138. <span class="left" *ngIf="data.data.taskType.associationType.id != 260">
  139. {{ data.data.startDept ? data.data.startDept.dept : ""}}{{ data.data.endDepts ? "->" + data.data.endDepts[0].dept : "" }}
  140. </span>
  141. <span class="right" *ngIf="data.data.goods">
  142. <i class="icon_transport transport-icon3"></i>
  143. <span>{{ data.data.goods }}</span>
  144. </span>
  145. <span class="right" *ngIf="data.data.workOrderRemark" [title]="data.data.workOrderRemark">
  146. <i class="icon_transport transport-icon3"></i>
  147. <span>{{ data.data.workOrderRemark }}</span>
  148. </span>
  149. </div>
  150. <!-- 时间 -->
  151. <div class="shijian">
  152. <span class="left" *ngIf="data.data.expectTimeNum && data.data.timeOut != true">
  153. <i class="icon_transport transport-shouye10" nz-tooltip nzTooltipTitle="进行中"></i>
  154. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
  155. <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
  156. <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
  157. </ng-container>
  158. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
  159. <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
  160. <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
  161. <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
  162. <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
  163. </ng-container>
  164. <span nz-tooltip nzTooltipTitle="患者姓名(住院号)" *ngIf="data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect'">
  165. {{ data.data.patient.patientName }}<span *ngIf="data.data.patient.residenceNo">({{ data.data.patient.residenceNo }})</span>
  166. </span>
  167. </span>
  168. <span class="left" *ngIf="data.data.timeOutLength && data.data.timeOut == true">
  169. <i class="colorRed icon_transport transport-daojishi" nz-tooltip nzTooltipTitle="超时"></i>
  170. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
  171. <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
  172. <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
  173. </ng-container>
  174. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
  175. <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
  176. <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
  177. <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
  178. <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
  179. </ng-container>
  180. <span nz-tooltip nzTooltipTitle="患者姓名(住院号)" *ngIf="data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect'">
  181. {{ data.data.patient.patientName }}<span *ngIf="data.data.patient.residenceNo">({{ data.data.patient.residenceNo }})</span>
  182. </span>
  183. </span>
  184. <span class="right" nz-tooltip [nzTooltipTitle]="'总时长' + formatTime(data.data.expectTimeNum / 1000)">
  185. {{ data.data.showCreateTime }}
  186. </span>
  187. </div>
  188. <!-- 急单 -->
  189. <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
  190. <!-- 加急单 -->
  191. <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
  192. </div>
  193. <div class="right_bots display_flex col-flex align-items_center justify-content_flex-center gap8">
  194. <input type="button" *ngIf="data.data.gdState.value == 2" class="top_bot" value="派单" (click)="allotWorker(data.data.id, data.data.gdState.id)" />
  195. <input type="button" *ngIf="!data.data.worker && data.data.gdState.value != 2" class="top_bot" value="派单" (click)="allotWorker(data.data.id, data.data.gdState.id, 1)" />
  196. <input type="button" *ngIf="data.data.gdState.value == 2 || ((data.data.gdState.value == 3 || data.data.gdState.value == 4) && data.data.worker)" class="btm_bot" value="删除" (click)="openDelModal(data.data.id, 'hsms')" />
  197. </div>
  198. <div *ngIf="data.data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.data.percent + '%' }"></div>
  199. <div *ngIf="data.data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
  200. </ng-container>
  201. <!-- 运维 -->
  202. <ng-container *ngIf="data.type === 'mdv2'">
  203. <div class="left_cots" (click)="openItsmDetails(data.data)">
  204. <div class="gongdan">
  205. <span class="left gongdan_name">
  206. <span [ngClass]="priorityColor(data.data.priorityId)">{{ data.data.priorityDTO?.name }} </span>{{ data.data.incidentsign }} <span nz-tooltip [nzTooltipTitle]="data.data.hosName + data.data.department?.dept">{{ data.data.hosName }}{{ data.data.department?.dept }}</span>
  207. </span>
  208. <div class="right_all">
  209. <span class="right">
  210. <span>{{ data.data.state.name }}</span>
  211. </span>
  212. </div>
  213. </div>
  214. <div class="didian">
  215. <span class="left">
  216. <span nz-tooltip [nzTooltipTitle]="data.data.description">{{ data.data.description }}</span>
  217. </span>
  218. </div>
  219. <div class="didian">
  220. <span class="left">
  221. <span nz-tooltip [nzTooltipTitle]="(data.data.place ? data.data.place.building.buildingName : '') + (data.data.place ? data.data.place.floorName : '') + data.data.houseNumber">{{ data.data.place ? data.data.place.building.buildingName : '' }}{{ data.data.place ? data.data.place.floorName : '' }}{{ data.data.houseNumber }}</span>
  222. <i class="icon_transport transport-a-11111 ml8" *ngIf="data.data.reqAttachment"></i>
  223. </span>
  224. </div>
  225. <div class="didian" *ngIf="transferHandlerLog(data.data.currentLog)">
  226. <span class="left">
  227. <span [innerHTML]="transferHandlerLog(data.data.currentLog)" nz-tooltip [nzTooltipTitle]="transferHandlerLog(data.data.currentLog)"></span>
  228. </span>
  229. </div>
  230. <!-- 时间 -->
  231. <div class="shijian">
  232. <span class="left">
  233. <span>
  234. 申请人:{{ data.data.requester?.name }}
  235. </span>
  236. </span>
  237. <span class="right">
  238. {{ data.data.startDate | date: 'yyyy-MM-dd HH:mm'}}
  239. </span>
  240. </div>
  241. </div>
  242. <div class="right_bots display_flex col-flex align-items_center justify-content_flex-center gap8">
  243. <input type="button" *ngIf="coopBtns.generate && data.data.state.value == 'accept'" class="top_bot" value="生成" (click)="generateOrder(data.data)" />
  244. <input type="button" *ngIf="coopBtns.reject && data.data.state.value == 'accept'" class="top_bot" value="不受理" (click)="rejectFn(data.data)" />
  245. <input type="button" *ngIf="coopBtns.continue && data.data.state.value == 'storage'" class="top_bot" value="继续建单" (click)="storageSj(data.data)" />
  246. <input type="button" *ngIf="coopBtns.del" class="btm_bot" value="删除" (click)="openDelModal(data.data.id, 'itsm')" />
  247. </div>
  248. <div *ngIf="data.data.overtimePercent <= 100" class="slider sgreen" [ngStyle]="{ width: data.data.overtimePercent + '%' }"></div>
  249. <div *ngIf="data.data.overtimePercent > 100" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
  250. </ng-container>
  251. </div>
  252. </ng-container>
  253. <div class="loading display_flex col-flex justify-content_flex-center align-items_center" *ngIf="loading1">
  254. <img src="../../assets/images/loading.gif" alt="" />
  255. </div>
  256. <div class="no_data" *ngIf="unassignedList.length == 0 && !loading1">
  257. 暂无数据
  258. </div>
  259. </overlay-scrollbars>
  260. </div>
  261. <div class="cots_body weifenpai twoCol" *ngIf="txtLabelCol == 2 && flagList.hsmsFlag1 && !flagList.itsmFlag1" [ngClass]="{ top185: hurseInfoHiding != '1' }">
  262. <overlay-scrollbars #osComponentRef1 [ngStyle]="{ height: '100%' }">
  263. <ng-container *ngIf="unassignedList.length && !loading1">
  264. <div class="list listsTypeColor" *ngFor="let data of unassignedList">
  265. <div class="left_cots" (click)="openDetails(data.data)">
  266. <!-- 工单 -->
  267. <div class="gongdan">
  268. <span class="left">{{ data.data.taskType.associationType.name }}{{ data.data.createDeptDTO ? "(" + data.data.createDeptDTO.dept + ")" : "" }}</span>
  269. <span [ngClass]="{ right: true, colorRed: data.data.timeOut == true }">
  270. {{ data.data.gdState.name }}
  271. </span>
  272. </div>
  273. <!-- 时间 -->
  274. <div class="shijian">
  275. <div class="left">
  276. {{ data.data.createUser ? data.data.createUser.name : "" }}
  277. </div>
  278. <span class="right">
  279. <span>{{ data.data.showCreateTime }}</span>
  280. </span>
  281. </div>
  282. <!-- 急单 -->
  283. <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
  284. <!-- 加急单 -->
  285. <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
  286. </div>
  287. <div *ngIf="data.data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.data.percent + '%' }"></div>
  288. <div *ngIf="data.data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
  289. </div>
  290. </ng-container>
  291. <div class="loading display_flex col-flex justify-content_flex-center align-items_center" *ngIf="loading1">
  292. <img src="../../assets/images/loading.gif" alt="" />
  293. </div>
  294. <div class="no_data" *ngIf="unassignedList.length == 0 && !loading1">
  295. 暂无数据
  296. </div>
  297. </overlay-scrollbars>
  298. </div>
  299. </div>
  300. <!-- 待到达/待接单 -->
  301. <div class="lists">
  302. <div class="head">
  303. <span class="auto_tit"><span *ngIf="flagList.hsmsFlag2">待到达</span><span *ngIf="flagList.itsmFlag2 && flagList.hsmsFlag2">/</span><span *ngIf="flagList.itsmFlag2">待接单</span>({{ arriveList.length }}条)</span>
  304. <span class="toLastTime"><span class="itsmOrHsms" [ngClass]="{bold: flagList.itsmFlag2}" *ngIf="itsmData.mdv2Switch" (click)="filterOrderList('itsm', 2)">运维</span><span class="itsmOrHsms" *ngIf="itsmData.mdv2Switch && hsmsData.hsmsSwitch">|</span><span class="itsmOrHsms" [ngClass]="{bold: flagList.hsmsFlag2}" *ngIf="hsmsData.hsmsSwitch" (click)="filterOrderList('hsms', 2)">配送</span><span class="time">{{ orderRefreshTime }}s</span></span>
  305. </div>
  306. <div class="searchBox" *ngIf="!flagList.itsmFlag2 && flagList.hsmsFlag2">
  307. <label nz-checkbox [(ngModel)]="allArriveList" (ngModelChange)="changeAllArriveList($event)">全选</label>
  308. <div class="search wp60">
  309. <input class="wp75" type="text" placeholder="请输入关键字" [(ngModel)]="arriveSearchCon" />
  310. <div class="magnifier wp20" (click)="searchArrive()">
  311. <i class="icon_transport transport-sousuo"></i>
  312. <span>搜索</span>
  313. </div>
  314. </div>
  315. <button nz-button nzType="primary" (click)="batchWithdrawal()" [disabled]="!batchType1">
  316. 批量撤回
  317. </button>
  318. </div>
  319. <div class="cots_body daidaoda" *ngIf="(txtLabelCol == 1 && flagList.hsmsFlag2 && !flagList.itsmFlag2) || flagList.itsmFlag2" [ngClass]="{ top185: hurseInfoHiding != '1', top185_1: flagList.itsmFlag2 }">
  320. <overlay-scrollbars #osComponentRef3 [ngStyle]="{ height: '100%' }">
  321. <ng-container *ngIf="arriveList.length && !loading2">
  322. <div class="list listsTypeColor" *ngFor="let data of arriveList">
  323. <!-- 配送 -->
  324. <ng-container *ngIf="data.type === 'hsms'">
  325. <div class="left_cots" (click)="openDetails(data.data)">
  326. <!-- 工单 -->
  327. <div class="gongdan" (click)="batchWithdrawalSelect(!data.data.checked, data.data.id, $event)">
  328. <span class="left mr8">
  329. <label nz-checkbox [ngModel]="data.data.checked" (ngModelChange)="batchWithdrawalSelect($event, data.data.id)"></label>
  330. </span>
  331. <span class="left gongdan_name" nz-tooltip [nzTooltipTitle]="data.data.taskType.taskName + (data.data.goodsRemark?'-'+data.data.goodsRemark:'')+'(' + data.data.gdcode + ')'">
  332. {{ data.data.isHalfInspect === 1 ? "半程陪检" : data.data.taskType.taskName }}<ng-container *ngIf="data.data.goodsRemark">-{{data.data.goodsRemark}}</ng-container>({{ data.data.gdcode }})
  333. </span>
  334. <div class="right_all">
  335. <span nz-tooltip [nzTooltipTitle]="data.data.worker ? data.data.worker.phone : ''" class="right_all_name">{{ data.data.worker ? data.data.worker.name : "" }}</span>
  336. <span class="right">
  337. <span [ngClass]="{ colorRed: data.data.timeOut == true }">{{ data.gdState.name }}</span>
  338. </span>
  339. </div>
  340. </div>
  341. <!-- 地点 -->
  342. <div class="didian">
  343. <span class="left" *ngIf="data.data.taskType.associationType && data.data.taskType.associationType.value == 'inspect'">
  344. {{ data.data.startDept ? data.data.startDept.dept : "" }}
  345. <span *ngFor="let item of data.data.middleDept">
  346. ->{{ item.dept }}
  347. </span>
  348. </span>
  349. <span class="left" *ngIf="data.data.taskType.associationType && data.data.taskType.associationType.id != 260">
  350. {{ data.data.startDept ? data.data.startDept.dept : "" }}{{ data.data.endDepts ? " -> " + data.data.endDepts[0].dept : "" }}
  351. </span>
  352. <span class="right" *ngIf="data.data.goods">
  353. <i class="icon_transport transport-icon3"></i>
  354. <span>{{ data.data.goods }}</span>
  355. </span>
  356. <span class="right" *ngIf="data.data.workOrderRemark" [title]="data.data.workOrderRemark">
  357. <i class="icon_transport transport-icon3"></i>
  358. <span>{{ data.data.workOrderRemark }}</span>
  359. </span>
  360. </div>
  361. <!-- 时间 -->
  362. <div class="shijian">
  363. <span class="left" *ngIf="data.data.expectTimeNum && data.data.timeOut != true">
  364. <i class="icon_transport transport-shouye10" nz-tooltip nzTooltipTitle="进行中"></i>
  365. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
  366. <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
  367. <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
  368. </ng-container>
  369. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
  370. <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
  371. <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
  372. <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
  373. <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
  374. </ng-container>
  375. <span nz-tooltip nzTooltipTitle="患者姓名(住院号)" *ngIf="data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect'">{{ data.data.patient.patientName }}<span *ngIf="data.data.patient.residenceNo">({{ data.data.patient.residenceNo }})</span></span>
  376. </span>
  377. <span class="left" *ngIf="data.data.timeOutLength && data.data.timeOut == true">
  378. <i class="colorRed icon_transport transport-daojishi" nz-tooltip nzTooltipTitle="超时"></i>
  379. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
  380. <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
  381. <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
  382. </ng-container>
  383. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
  384. <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
  385. <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
  386. <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
  387. <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
  388. </ng-container>
  389. <span nz-tooltip nzTooltipTitle="患者姓名(住院号)" *ngIf="data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect'">{{ data.data.patient.patientName }}<span *ngIf="data.data.patient.residenceNo">({{ data.data.patient.residenceNo }})</span></span>
  390. </span>
  391. <span class="right" nz-tooltip [nzTooltipTitle]="'总时长' + formatTime(data.data.expectTimeNum / 1000)">
  392. {{ data.data.showCreateTime }}
  393. </span>
  394. </div>
  395. <!-- 急单 -->
  396. <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
  397. <!-- 加急单 -->
  398. <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
  399. </div>
  400. <div class="right_bots display_flex col-flex align-items_center justify-content_space-around">
  401. <input type="button" *ngIf="data.data.gdState.value == 2" class="top_bot" value="派单" (click)="allotWorker(data.data.id, data.data.gdState.id)" />
  402. <input type="button" *ngIf="data.data.gdState.value == 3 || data.data.gdState.value == 4" class="mid_bot" value="撤回" (click)="openRecallModal(data.data.id)" />
  403. <input type="button" *ngIf="data.data.gdState.value == 2 || data.data.gdState.value == 3 || data.data.gdState.value == 4" class="btm_bot" value="删除" (click)="openDelModal(data.data.id, 'hsms')" />
  404. </div>
  405. <div *ngIf="data.data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.data.percent + '%' }"></div>
  406. <div *ngIf="data.data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
  407. </ng-container>
  408. <!-- 运维 -->
  409. <ng-container *ngIf="data.type === 'mdv2'">
  410. <div class="left_cots" (click)="openItsmDetails(data.data)">
  411. <div class="gongdan">
  412. <span class="left gongdan_name">
  413. <span [ngClass]="priorityColor(data.data.priorityId)">{{ data.data.priorityDTO?.name }} </span>{{ data.data.incidentsign }} <span nz-tooltip [nzTooltipTitle]="data.data.hosName + data.data.department?.dept">{{ data.data.hosName }}{{ data.data.department?.dept }}</span>
  414. </span>
  415. <div class="right_all">
  416. <span class="right">
  417. <span>{{ data.data.state.name }}</span>
  418. </span>
  419. </div>
  420. </div>
  421. <div class="didian">
  422. <span class="left">
  423. <span nz-tooltip [nzTooltipTitle]="data.data.description">{{ data.data.description }}</span>
  424. </span>
  425. </div>
  426. <div class="didian">
  427. <span class="left">
  428. <span nz-tooltip [nzTooltipTitle]="(data.data.place ? data.data.place.building.buildingName : '') + (data.data.place ? data.data.place.floorName : '') + data.data.houseNumber">{{ data.data.place ? data.data.place.building.buildingName : '' }}{{ data.data.place ? data.data.place.floorName : '' }}{{ data.data.houseNumber }}</span>
  429. <i class="icon_transport transport-a-11111 ml8" *ngIf="data.data.reqAttachment"></i>
  430. </span>
  431. </div>
  432. <div class="didian" *ngIf="transferHandlerLog(data.data.currentLog)">
  433. <span class="left">
  434. <span [innerHTML]="transferHandlerLog(data.data.currentLog)" nz-tooltip [nzTooltipTitle]="transferHandlerLog(data.data.currentLog)"></span>
  435. </span>
  436. </div>
  437. <!-- 时间 -->
  438. <div class="shijian">
  439. <span class="left">
  440. <span>
  441. 申请人:{{ data.data.requester?.name }}
  442. </span>
  443. </span>
  444. <span class="right">
  445. {{ data.data.startDate | date: 'yyyy-MM-dd HH:mm'}}
  446. </span>
  447. </div>
  448. </div>
  449. <div class="right_bots display_flex col-flex align-items_center justify-content_flex-center gap8">
  450. <input type="button" *ngIf="computedSubstitution(data.data)" class="top_bot" value="换人处理" (click)="substitution(data.data)" />
  451. <input type="button" *ngIf="computedReceive(data.data)" class="top_bot" value="接单" (click)="showDelModal($event, data.data,'您确认要接单吗?','接单','receive')" />
  452. <input type="button" *ngIf="coopBtns.del" class="btm_bot" value="删除" (click)="openDelModal(data.data.id, 'itsm')" />
  453. </div>
  454. <div *ngIf="data.data.overtimePercent <= 100" class="slider sgreen" [ngStyle]="{ width: data.data.overtimePercent + '%' }"></div>
  455. <div *ngIf="data.data.overtimePercent > 100" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
  456. </ng-container>
  457. </div>
  458. </ng-container>
  459. <div class="loading display_flex col-flex justify-content_flex-center align-items_center" *ngIf="loading2">
  460. <img src="../../assets/images/loading.gif" alt="" />
  461. </div>
  462. <div class="no_data" *ngIf="arriveList.length == 0 && !loading2">
  463. 暂无数据
  464. </div>
  465. </overlay-scrollbars>
  466. </div>
  467. <div class="cots_body daidaoda twoCol" *ngIf="txtLabelCol == 2 && flagList.hsmsFlag2 && !flagList.itsmFlag2" [ngClass]="{ top185: hurseInfoHiding != '1' }">
  468. <overlay-scrollbars #osComponentRef4 [ngStyle]="{ height: '100%' }">
  469. <ng-container *ngIf="arriveList.length && !loading2">
  470. <div class="list listsTypeColor" *ngFor="let data of arriveList">
  471. <div class="left_cots" (click)="openDetails(data)">
  472. <!-- 工单 -->
  473. <div class="gongdan">
  474. <span class="left">{{ data.taskType.associationType.name }}{{ data.createDeptDTO ? "(" + data.createDeptDTO.dept + ")" : "" }}</span>
  475. <span [ngClass]="{ right: true, colorRed: data.timeOut == true }">{{ data.gdState.name }}</span>
  476. </div>
  477. <!-- 时间 -->
  478. <div class="shijian">
  479. <span class="left">
  480. {{ data.worker ? data.worker.name : "" }}
  481. </span>
  482. <span class="right">
  483. <span>{{ data.showCreateTime }}</span>
  484. </span>
  485. </div>
  486. <!-- 急标 -->
  487. <!-- 急单 -->
  488. <img *ngIf="data.emergencyType && data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
  489. <!-- 加急单 -->
  490. <img *ngIf="data.emergencyType && data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
  491. </div>
  492. <div *ngIf="data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.percent + '%' }"></div>
  493. <div *ngIf="data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
  494. </div>
  495. </ng-container>
  496. <div class="loading display_flex col-flex justify-content_flex-center align-items_center" *ngIf="loading2">
  497. <img src="../../assets/images/loading.gif" alt="" />
  498. </div>
  499. <div class="no_data" *ngIf="arriveList.length == 0 && !loading2">
  500. 暂无数据
  501. </div>
  502. </overlay-scrollbars>
  503. </div>
  504. </div>
  505. <!-- 执行中 -->
  506. <div class="lists">
  507. <div class="head">
  508. <span class="auto_tit"><span *ngIf="flagList.hsmsFlag3">执行中</span><span *ngIf="flagList.itsmFlag3 && flagList.hsmsFlag3">/</span><span *ngIf="flagList.itsmFlag3">处理中</span>({{ executionList.length }}条)</span>
  509. <span class="toLastTime"><span class="itsmOrHsms" [ngClass]="{bold: flagList.itsmFlag3}" *ngIf="itsmData.mdv2Switch" (click)="filterOrderList('itsm', 3)">运维</span><span class="itsmOrHsms" *ngIf="itsmData.mdv2Switch && hsmsData.hsmsSwitch">|</span><span class="itsmOrHsms" [ngClass]="{bold: flagList.hsmsFlag3}" *ngIf="hsmsData.hsmsSwitch" (click)="filterOrderList('hsms', 3)">配送</span><span class="time">{{ orderRefreshTime }}s</span></span>
  510. </div>
  511. <div class="searchBox" *ngIf="!flagList.itsmFlag3 && flagList.hsmsFlag3">
  512. <div class="search">
  513. <input type="text" placeholder="请输入关键字" [(ngModel)]="executionSearchCon" />
  514. <div class="magnifier" (click)="searchExecution()">
  515. <i class="icon_transport transport-sousuo"></i>
  516. <span>搜索</span>
  517. </div>
  518. </div>
  519. </div>
  520. <div class="cots_body zhixingzhong" *ngIf="(txtLabelCol == 1 && flagList.hsmsFlag3 && !flagList.itsmFlag3) || flagList.itsmFlag3" [ngClass]="{ top185: hurseInfoHiding != '1', top185_1: flagList.itsmFlag3 }">
  521. <overlay-scrollbars #osComponentRef5 [ngStyle]="{ height: '100%' }">
  522. <ng-container *ngIf="executionList.length && !loading3">
  523. <div class="list" *ngFor="let data of executionList">
  524. <!-- 配送 -->
  525. <ng-container *ngIf="data.type === 'hsms'">
  526. <div class="left_cots" (click)="openDetails(data.data)">
  527. <!-- 工单 -->
  528. <div class="gongdan">
  529. <span class="left mr8">
  530. <label nz-checkbox [ngModel]="data.data.checked" (ngModelChange)="batchWithdrawalSelect($event, data.data.id)"></label>
  531. </span>
  532. <span class="left gongdan_name" nz-tooltip [nzTooltipTitle]="data.data.taskType.taskName + (data.data.goodsRemark?'-'+data.data.goodsRemark:'')+'(' + data.data.gdcode + ')'">
  533. {{ data.data.isHalfInspect === 1 ? "半程陪检" : data.data.taskType.taskName }}<ng-container *ngIf="data.data.goodsRemark">-{{data.data.goodsRemark}}</ng-container>({{ data.data.gdcode }})
  534. </span>
  535. <div class="right_all">
  536. <span nz-tooltip [nzTooltipTitle]="data.data.worker ? data.data.worker.phone : ''" class="right_all_name">{{ data.data.worker ? data.data.worker.name : "" }}</span>
  537. <span class="right">
  538. <span [ngClass]="{ colorRed: data.data.timeOut == true }">{{ data.gdState.name }}</span>
  539. </span>
  540. </div>
  541. </div>
  542. <!-- 地点 -->
  543. <div class="didian">
  544. <span class="left" *ngIf="data.data.taskType.associationType && data.data.taskType.associationType.value == 'inspect'">
  545. {{ data.data.startDept ? data.data.startDept.dept : "" }}
  546. <span *ngFor="let item of data.data.middleDept">
  547. ->{{ item.dept }}
  548. </span>
  549. </span>
  550. <span class="left" *ngIf="data.data.taskType.associationType && data.data.taskType.associationType.id != 260">
  551. {{ data.data.startDept ? data.data.startDept.dept : "" }}{{ data.data.endDepts ? " -> " + data.data.endDepts[0].dept : "" }}
  552. </span>
  553. <span class="right" *ngIf="data.data.goods">
  554. <i class="icon_transport transport-icon3"></i>
  555. <span>{{ data.data.goods }}</span>
  556. </span>
  557. <span class="right" *ngIf="data.data.workOrderRemark" [title]="data.data.workOrderRemark">
  558. <i class="icon_transport transport-icon3"></i>
  559. <span>{{ data.data.workOrderRemark }}</span>
  560. </span>
  561. </div>
  562. <!-- 时间 -->
  563. <div class="shijian">
  564. <span class="left" *ngIf="data.data.expectTimeNum && data.data.timeOut != true">
  565. <i class="icon_transport transport-shouye10" nz-tooltip nzTooltipTitle="进行中"></i>
  566. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
  567. <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
  568. <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
  569. </ng-container>
  570. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
  571. <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
  572. <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
  573. <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
  574. <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
  575. </ng-container>
  576. <span nz-tooltip nzTooltipTitle="患者姓名(住院号)" *ngIf="data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect'">{{ data.data.patient.patientName }}<span *ngIf="data.data.patient.residenceNo">({{ data.data.patient.residenceNo }})</span></span>
  577. </span>
  578. <span class="left" *ngIf="data.data.timeOutLength && data.data.timeOut == true">
  579. <i class="colorRed icon_transport transport-daojishi" nz-tooltip nzTooltipTitle="超时"></i>
  580. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
  581. <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
  582. <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
  583. </ng-container>
  584. <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
  585. <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
  586. <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
  587. <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
  588. <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
  589. </ng-container>
  590. <span nz-tooltip nzTooltipTitle="患者姓名(住院号)" *ngIf="data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect'">{{ data.data.patient.patientName }}<span *ngIf="data.data.patient.residenceNo">({{ data.data.patient.residenceNo }})</span></span>
  591. </span>
  592. <span class="right" nz-tooltip [nzTooltipTitle]="'总时长' + formatTime(data.data.expectTimeNum / 1000)">
  593. {{ data.data.showCreateTime }}
  594. </span>
  595. </div>
  596. <!-- 急单 -->
  597. <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
  598. <!-- 加急单 -->
  599. <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
  600. </div>
  601. <div class="right_bots display_flex col-flex align-items_center justify-content_space-around">
  602. <input type="button" *ngIf="data.data.gdState.value == 2" class="top_bot" value="派单" (click)="allotWorker(data.data.id, data.data.gdState.id)" />
  603. <input type="button" *ngIf="data.data.gdState.value == 3 || data.data.gdState.value == 4" class="mid_bot" value="撤回" (click)="openRecallModal(data.data.id)" />
  604. <input type="button" *ngIf="data.data.gdState.value == 2 || data.data.gdState.value == 3 || data.data.gdState.value == 4" class="btm_bot" value="删除" (click)="openDelModal(data.data.id, 'hsms')" />
  605. </div>
  606. <div *ngIf="data.data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.data.percent + '%' }"></div>
  607. <div *ngIf="data.data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
  608. </ng-container>
  609. <!-- 运维 -->
  610. <ng-container *ngIf="data.type === 'mdv2'">
  611. <div class="left_cots" (click)="openItsmDetails(data.data)">
  612. <div class="gongdan">
  613. <span class="left gongdan_name">
  614. <span [ngClass]="priorityColor(data.data.priorityId)">{{ data.data.priorityDTO?.name }} </span>{{ data.data.incidentsign }} <span nz-tooltip [nzTooltipTitle]="data.data.hosName + data.data.department?.dept">{{ data.data.hosName }}{{ data.data.department?.dept }}</span>
  615. </span>
  616. <div class="right_all">
  617. <span class="right">
  618. <span>{{ data.data.state.name }}</span>
  619. </span>
  620. </div>
  621. </div>
  622. <div class="didian">
  623. <span class="left">
  624. <span nz-tooltip [nzTooltipTitle]="data.data.description">{{ data.data.description }}</span>
  625. </span>
  626. </div>
  627. <div class="didian">
  628. <span class="left">
  629. <span nz-tooltip [nzTooltipTitle]="(data.data.place ? data.data.place.building.buildingName : '') + (data.data.place ? data.data.place.floorName : '') + data.data.houseNumber">{{ data.data.place ? data.data.place.building.buildingName : '' }}{{ data.data.place ? data.data.place.floorName : '' }}{{ data.data.houseNumber }}</span>
  630. <i class="icon_transport transport-a-11111 ml8" *ngIf="data.data.reqAttachment"></i>
  631. </span>
  632. </div>
  633. <div class="didian" *ngIf="transferHandlerLog(data.data.currentLog)">
  634. <span class="left">
  635. <span [innerHTML]="transferHandlerLog(data.data.currentLog)" nz-tooltip [nzTooltipTitle]="transferHandlerLog(data.data.currentLog)"></span>
  636. </span>
  637. </div>
  638. <!-- 时间 -->
  639. <div class="shijian">
  640. <span class="left">
  641. <span>
  642. 申请人:{{ data.data.requester?.name }}
  643. </span>
  644. </span>
  645. <span class="right">
  646. {{ data.data.startDate | date: 'yyyy-MM-dd HH:mm'}}
  647. </span>
  648. </div>
  649. </div>
  650. <div class="right_bots display_flex col-flex align-items_center justify-content_flex-center gap8">
  651. <input type="button" *ngIf="computedSubstitution(data.data)" class="top_bot" value="换人处理" (click)="substitution(data.data)" />
  652. <input type="button" *ngIf="computedHandle(data.data)" class="top_bot" value="处理" (click)="handle(data.data)" />
  653. <input type="button" *ngIf="coopBtns.del" class="btm_bot" value="删除" (click)="openDelModal(data.data.id, 'itsm')" />
  654. </div>
  655. <div *ngIf="data.data.overtimePercent <= 100" class="slider sgreen" [ngStyle]="{ width: data.data.overtimePercent + '%' }"></div>
  656. <div *ngIf="data.data.overtimePercent > 100" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
  657. </ng-container>
  658. </div>
  659. </ng-container>
  660. <div class="loading display_flex col-flex justify-content_flex-center align-items_center" *ngIf="loading3">
  661. <img src="../../assets/images/loading.gif" alt="" />
  662. </div>
  663. <div class="no_data" *ngIf="executionList.length == 0 && !loading3">
  664. 暂无数据
  665. </div>
  666. </overlay-scrollbars>
  667. </div>
  668. <div class="cots_body zhixingzhong twoCol" *ngIf="txtLabelCol == 2 && flagList.hsmsFlag3 && !flagList.itsmFlag3" [ngClass]="{ top185: hurseInfoHiding != '1' }">
  669. <overlay-scrollbars #osComponentRef6 [ngStyle]="{ height: '100%' }">
  670. <ng-container *ngIf="executionList.length && !loading3">
  671. <div class="list" *ngFor="let data of executionList">
  672. <div class="left_cots" (click)="openDetails(data)">
  673. <!-- 工单 -->
  674. <div class="gongdan">
  675. <span class="left">{{ data.taskType.associationType.name }}{{ data.createDeptDTO ? "(" + data.createDeptDTO.dept + ")" : "" }}</span>
  676. <span [ngClass]="{ right: true, colorRed: data.timeOut == true }">{{ data.gdState.name }}</span>
  677. </div>
  678. <!-- 时间 -->
  679. <div class="shijian">
  680. <span class="left">
  681. {{ data.worker ? data.worker.name : "" }}
  682. </span>
  683. <span class="right">
  684. <span>{{ data.showCreateTime }}</span>
  685. </span>
  686. </div>
  687. <!-- 急单 -->
  688. <img *ngIf="data.emergencyType && data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
  689. <!-- 加急单 -->
  690. <img *ngIf="data.emergencyType && data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
  691. </div>
  692. <div *ngIf="data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.percent + '%' }"></div>
  693. <div *ngIf="data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
  694. </div>
  695. </ng-container>
  696. <div class="loading display_flex col-flex justify-content_flex-center align-items_center" *ngIf="loading3">
  697. <img src="../../assets/images/loading.gif" alt="" />
  698. </div>
  699. <div class="no_data" *ngIf="executionList.length == 0 && !loading3">
  700. 暂无数据
  701. </div>
  702. </overlay-scrollbars>
  703. </div>
  704. </div>
  705. </div>
  706. <!-- 右侧悬浮框 -->
  707. <div id="fixedMenu" class="fixed">
  708. <div class="left" *ngIf="fixedTab != '' && showLastItems && fixedTab != 'newOrder' && fixedTab != 'toSystem' && fixedTab != 'logout'">
  709. <!-- 绑定分机 -->
  710. <div class="con bindingExtension" *ngIf="fixedTab == 'bindingExtension' && fixedTab != 'newOrder' && !phoneNumLoading">
  711. <div class="title">绑定分机</div>
  712. <overlay-scrollbars #osComponentRef7 [ngStyle]="{ height: '152px' }" class="conditions">
  713. <div nz-row *ngIf="binding === 1">
  714. <div nz-col nzSpan="24">
  715. <div nz-row>
  716. <nz-checkbox-wrapper class="w100" (nzOnChange)="changePhones($event)">
  717. <div nz-row>
  718. <div *ngFor="let data of phoneNumList" nz-col nzSpan="8">
  719. <label nz-checkbox [nzValue]="data.value" [ngModel]="data.checked">分机{{ data.value }}</label>
  720. </div>
  721. </div>
  722. </nz-checkbox-wrapper>
  723. </div>
  724. </div>
  725. </div>
  726. <div nz-row *ngIf="binding === 2">
  727. <div nz-col nzSpan="6">已绑定分机号:</div>
  728. <div class="bindingExtension_content" nz-col nzSpan="24">
  729. <span *ngFor="let data of phoneNumListBind; let last = last">
  730. <span style="color: #333" *ngIf="!last">分机{{ data }}、</span>
  731. <span style="color: #333" *ngIf="last">分机{{ data }}</span>
  732. </span>
  733. </div>
  734. </div>
  735. <div nz-row *ngIf="binding === 3">
  736. <div nz-col nzSpan="24" class="noContentFlex">
  737. <img class="noContent" src="../../assets/images/icon_jianchakong@big.png" alt="" />
  738. <p>暂未绑定分机号</p>
  739. </div>
  740. </div>
  741. </overlay-scrollbars>
  742. <div class="btns display_flex justify-content_flex-center">
  743. <button nz-button nzType="primary" nzValue="small" (click)="bindingHandle()" *ngIf="binding === 3">
  744. 绑定分机
  745. </button>
  746. <button nz-button nzType="primary" nzValue="small" (click)="bindingHandle()" *ngIf="binding === 2">
  747. 重新绑定
  748. </button>
  749. <button nz-button nzType="primary" nzValue="small" *ngIf="binding === 1" (click)="bindingOk()" [nzLoading]="bindOkLoading">
  750. 确定绑定
  751. </button>
  752. </div>
  753. </div>
  754. <div class="con bindingExtension display_flex justify-content_flex-center align-items_center" *ngIf="fixedTab == 'bindingExtension' && fixedTab != 'newOrder' && phoneNumLoading">
  755. <div class="loadingFull display_flex justify-content_flex-center align-items_center">
  756. <div class="loadingFullInner">
  757. <img src="../../../assets/images/loading.gif" alt="" />
  758. <div>加载中...</div>
  759. </div>
  760. </div>
  761. </div>
  762. <!-- 展示形式 -->
  763. <div class="con" *ngIf="fixedTab == 'colType' && fixedTab != 'newOrder'">
  764. <div class="title">展示形式</div>
  765. <div class="conditions">
  766. <div nz-row>
  767. <div nz-col nzSpan="6">护工信息隐藏:</div>
  768. <div nz-col nzSpan="18">
  769. <div nz-row>
  770. <nz-radio-group [(ngModel)]="hurseInfoHiding">
  771. <label nz-radio nzValue="1">是</label>
  772. <label nz-radio nzValue="0">否</label>
  773. </nz-radio-group>
  774. </div>
  775. </div>
  776. </div>
  777. <div nz-row>
  778. <div nz-col nzSpan="6">护工信息:</div>
  779. <div nz-col nzSpan="18">
  780. <div nz-row>
  781. <nz-radio-group
  782. [(ngModel)]="patientCareCol"
  783. (ngModelChange)="changPatientCareCol($event)"
  784. >
  785. <label nz-radio [nzValue]="6 - 0">单排</label>
  786. <label nz-radio [nzValue]="7 - 0">14人</label>
  787. <label nz-radio [nzValue]="4 - 0">8人</label>
  788. </nz-radio-group>
  789. </div>
  790. </div>
  791. </div>
  792. <div nz-row>
  793. <div nz-col nzSpan="6">工单信息:</div>
  794. <div nz-col nzSpan="18">
  795. <div nz-row>
  796. <nz-radio-group [(ngModel)]="txtLabelCol">
  797. <label nz-radio [nzValue]="1 - 0">一排一列</label>
  798. <label nz-radio [nzValue]="2 - 0">一排两列</label>
  799. </nz-radio-group>
  800. </div>
  801. </div>
  802. </div>
  803. <div nz-row>
  804. <div nz-col nzSpan="6">配送人员刷新:</div>
  805. <div nz-col nzSpan="15">
  806. <div nz-row>
  807. <div nz-col nzSpan="">
  808. <nz-input-group nzAddOnAfter="秒">
  809. <nz-input-number
  810. class="w100"
  811. [(ngModel)]="workerInfoTime"
  812. [nzMin]="10"
  813. [nzStep]="1"
  814. placeholder="请输入配送人员刷新时间"
  815. ></nz-input-number>
  816. </nz-input-group>
  817. </div>
  818. </div>
  819. </div>
  820. </div>
  821. <div nz-row>
  822. <div nz-col nzSpan="6">工单刷新:</div>
  823. <div nz-col nzSpan="15">
  824. <div nz-row>
  825. <div nz-col nzSpan="">
  826. <nz-input-group nzAddOnAfter="秒">
  827. <nz-input-number
  828. class="w100"
  829. [(ngModel)]="orderInfoTime"
  830. [nzMin]="10"
  831. [nzStep]="1"
  832. placeholder="请输入工单刷新时间"
  833. ></nz-input-number>
  834. </nz-input-group>
  835. </div>
  836. </div>
  837. </div>
  838. </div>
  839. <div nz-row>
  840. <div nz-col nzSpan="15">是否开启定时播报未派出工单提示音:</div>
  841. <div nz-col nzSpan="9">
  842. <div nz-row>
  843. <nz-radio-group [(ngModel)]="audioNotDispatched">
  844. <label nz-radio [nzValue]="true">是</label>
  845. <label nz-radio [nzValue]="false">否</label>
  846. </nz-radio-group>
  847. </div>
  848. </div>
  849. </div>
  850. </div>
  851. <div class="btns display_flex justify-content_flex-center">
  852. <button
  853. nz-button
  854. nzType="primary"
  855. nzValue="small"
  856. [nzLoading]="saveLoading"
  857. (click)="saveControlView()"
  858. >
  859. 保存
  860. </button>
  861. </div>
  862. </div>
  863. <!-- 叫号信息 -->
  864. <div
  865. class="con tableCon"
  866. *ngIf="fixedTab == 'queueNum' && fixedTab != 'newOrder'"
  867. >
  868. <div class="table">
  869. <nz-table
  870. #colSpanTable
  871. [nzData]="[{}]"
  872. [nzShowPagination]="false"
  873. nzBordered
  874. >
  875. <thead>
  876. <th nzWidth="10%"></th>
  877. <th nzWidth="40%"></th>
  878. <th nzWidth="10%"></th>
  879. <th nzWidth="40%"></th>
  880. </thead>
  881. <tbody>
  882. <tr>
  883. <td rowspan="2">B超</td>
  884. <td>
  885. <div
  886. class="
  887. tdiv
  888. display_flex
  889. justify-content_space-between
  890. align-items_center
  891. "
  892. >
  893. <div class="name">腹部</div>
  894. <div class="num">
  895. <div>当前叫号<span>D74</span></div>
  896. <div>队列中剩余20人</div>
  897. </div>
  898. </div>
  899. </td>
  900. <td>心脏血管</td>
  901. <td>
  902. <div
  903. class="
  904. tdiv
  905. display_flex
  906. justify-content_space-between
  907. align-items_center
  908. "
  909. >
  910. <div class="name">心脏血管</div>
  911. <div class="num">
  912. <div>当前叫号<span>D74</span></div>
  913. <div>队列中剩余20人</div>
  914. </div>
  915. </div>
  916. </td>
  917. </tr>
  918. <tr>
  919. <td>
  920. <div
  921. class="
  922. tdiv
  923. display_flex
  924. justify-content_space-between
  925. align-items_center
  926. "
  927. >
  928. <div class="name">妇科</div>
  929. <div class="num">
  930. <div>当前叫号<span>D74</span></div>
  931. <div>队列中剩余20人</div>
  932. </div>
  933. </div>
  934. </td>
  935. <td>CT</td>
  936. <td>
  937. <div class="notOpen">
  938. <div>
  939. <img
  940. src="../../assets/images/icon_jianchakong.png"
  941. alt=""
  942. />
  943. </div>
  944. <div>暂未开通</div>
  945. </div>
  946. </td>
  947. </tr>
  948. <tr>
  949. <td>核磁共振</td>
  950. <td>
  951. <div class="notOpen">
  952. <div>
  953. <img
  954. src="../../assets/images/icon_jianchakong.png"
  955. alt=""
  956. />
  957. </div>
  958. <div>暂未开通</div>
  959. </div>
  960. </td>
  961. <td rowspan="2"></td>
  962. <td rowspan="2"></td>
  963. </tr>
  964. <tr>
  965. <td></td>
  966. <td></td>
  967. </tr>
  968. </tbody>
  969. </nz-table>
  970. </div>
  971. </div>
  972. </div>
  973. <div class="right">
  974. <div class="fixedMenu hujiaozhongxin" *ngIf="hsmsData.hsmsSwitch || itsmData.mdv2Switch">
  975. <div class="menuItems">
  976. <button
  977. nz-button
  978. nzType="link"
  979. class="item itemLink"
  980. (click)="showNewOrder()"
  981. [nzLoading]="getConfigTasktypeLoading || patientLogTasktypeLoading"
  982. >
  983. 新建工单
  984. </button>
  985. </div>
  986. </div>
  987. <div class="fixedMenu">
  988. <div class="menuItems">
  989. <div
  990. class="others"
  991. [ngStyle]="{
  992. height: showLastItems
  993. ? mainRole
  994. ? 35 * 6 + 'px'
  995. : 35 * 5 + 'px'
  996. : 0
  997. }"
  998. >
  999. <div
  1000. [ngClass]="{
  1001. item: true,
  1002. checked: fixedTab == 'bindingExtension'
  1003. }"
  1004. (click)="showBindingExtension()"
  1005. >
  1006. 绑定分机
  1007. </div>
  1008. <div
  1009. [ngClass]="{ item: true, checked: fixedTab == 'orderScope' }"
  1010. (click)="showOrderScope()"
  1011. >
  1012. 工单范围
  1013. </div>
  1014. <div
  1015. [ngClass]="{ item: true, checked: fixedTab == 'colType' }"
  1016. (click)="checkFixedTab('colType')"
  1017. >
  1018. 展示形式
  1019. </div>
  1020. <div
  1021. [ngClass]="{ item: true, checked: fixedTab == 'nucleicAcidPrinting' }"
  1022. (click)="checkFixedTab('nucleicAcidPrinting')"
  1023. *ngIf="isShowNucleicAcidPrinting"
  1024. >
  1025. 核酸打印
  1026. </div>
  1027. <div
  1028. [ngClass]="{ item: true, checked: fixedTab == 'queueNum' }"
  1029. (click)="checkFixedTab('queueNum')"
  1030. >
  1031. 叫号信息
  1032. </div>
  1033. <div
  1034. [ngClass]="{ item: true, checked: fixedTab == 'toSystem' }"
  1035. *ngIf="mainRole"
  1036. (click)="checkFixedTab('toSystem')"
  1037. >
  1038. 返回系统
  1039. </div>
  1040. <div
  1041. [ngClass]="{ item: true, checked: fixedTab == 'logout' }"
  1042. (click)="checkFixedTab('logout')"
  1043. >
  1044. 退出系统
  1045. </div>
  1046. </div>
  1047. </div>
  1048. <div class="arrow" *ngIf="!showLastItems" (click)="fixedMenuXiala()">
  1049. <i class="icon_transport transport-xiala2-01"></i>
  1050. </div>
  1051. <div class="arrow" *ngIf="showLastItems" (click)="fixedMenuShangla()">
  1052. <i class="icon_transport transport-shangla-"></i>
  1053. </div>
  1054. </div>
  1055. </div>
  1056. <div *ngIf="showLastItems && fixedTab != '' && fixedTab != 'logout' && fixedTab != 'toSystem' && fixedTab != 'newOrder'" (click)="fixedMenuShangla()" class="fixedMark"></div>
  1057. </div>
  1058. <!-- 左侧悬浮框 -->
  1059. <div id="fixedMenuLeft" class="fixedLeft">
  1060. <div class="right">
  1061. <div class="fixedMenu">
  1062. <div class="menuItems">
  1063. <div class="others">
  1064. <div class="item" (click)="visitOrder()">回访-{{visitNum}}</div>
  1065. <div class="item">留言-10</div>
  1066. <div class="item itemLink">通话</div>
  1067. </div>
  1068. </div>
  1069. </div>
  1070. </div>
  1071. </div>
  1072. <!-- 核酸打印 -->
  1073. <div
  1074. class="newOrder display_flex justify-content_flex-center align-items_center" *ngIf="fixedTab == 'nucleicAcidPrinting'">
  1075. <div class="modalBody">
  1076. <p class="title">
  1077. 汇总
  1078. <i class="icon_transport transport-guanbi" (click)="nucleicAcidPrintingCancel()"></i>
  1079. </p>
  1080. <div class="content">
  1081. <nz-table class="hospitalTable" [nzData]="nucleicAcidList" nzSize="middle" [nzShowPagination]="false"
  1082. [nzLoading]="nucleicAcidLoading" [nzScroll]="{ y: '428px' }">
  1083. <thead>
  1084. <tr class="thead">
  1085. <th nzWidth="5%">序号</th>
  1086. <th nzWidth="25%">楼栋名字</th>
  1087. <th nzWidth="10%">工单总量</th>
  1088. <th nzWidth="60%">涉及科室</th>
  1089. </tr>
  1090. </thead>
  1091. <tbody>
  1092. <tr *ngFor="let data of nucleicAcidList;let i = index;">
  1093. <td>{{ i + 1 }}</td>
  1094. <td>{{ data.buildName || '无' }}</td>
  1095. <td>{{ data.buildCount || '无' }}</td>
  1096. <td>{{ data.deptNames || '无' }}</td>
  1097. </tr>
  1098. </tbody>
  1099. </nz-table>
  1100. <!-- <div class="pagination">
  1101. <nz-pagination [(nzPageIndex)]="nucleicAcidListPageIndex" [(nzTotal)]="nucleicAcidListLength"
  1102. [(nzPageSize)]="nucleicAcidListPageSize" (nzPageIndexChange)="getNucleicAcidList()"
  1103. (nzPageSizeChange)="getNucleicAcidList()">
  1104. </nz-pagination>
  1105. </div> -->
  1106. </div>
  1107. <div class="btns display_flex justify-content_flex-center align-items_center">
  1108. <button
  1109. nz-button
  1110. class="btn"
  1111. nzType="primary"
  1112. (click)="printAucleicAcid()"
  1113. [nzLoading]="isOkLoading"
  1114. *ngIf="nucleicAcidList.length"
  1115. >
  1116. 打印
  1117. </button>
  1118. <button
  1119. class="btn cancel"
  1120. nz-button
  1121. nzType="default"
  1122. (click)="nucleicAcidPrintingCancel()"
  1123. >
  1124. 取消
  1125. </button>
  1126. </div>
  1127. </div>
  1128. </div>
  1129. <!-- 打印的内容 -->
  1130. <div id="print-section" hidden>
  1131. <div *ngFor="let building of nucleicAcidList;let first = first;" [ngStyle]="{'page-break-before':first?'':'always'}" style="overflow: hidden;">
  1132. <h1 style="text-align: center;position: relative;"><span style="position: absolute;left: 0;font-size:0.5em;top: 50%;transform: translateY(-50%);">{{printDate|date:'yyyy-MM-dd HH:mm'}}</span>{{building.buildName}}<img style="width: 50px;position: absolute;right: 50px;" [src]="mapQrcodes[building.buildId]"></h1>
  1133. <div style="width: 50%;float: left;">
  1134. <div style="display: flex;justify-content: center;text-align: center;font-weight: bold;">
  1135. <span style="flex: 2; border: 1px solid #ccc;">科室名称</span>
  1136. <span style="flex: 1; border-bottom: 1px solid #ccc;border-right: 1px solid #ccc;border-top: 1px solid #ccc;">数量</span>
  1137. </div>
  1138. </div>
  1139. <div style="width: 50%;float: left;">
  1140. <div style="display: flex;justify-content: center;text-align: center;font-weight: bold;">
  1141. <span style="flex: 2; border-bottom: 1px solid #ccc;border-right: 1px solid #ccc;border-top: 1px solid #ccc;">科室名称</span>
  1142. <span style="flex: 1; border-bottom: 1px solid #ccc;border-right: 1px solid #ccc;border-top: 1px solid #ccc;">数量</span>
  1143. </div>
  1144. </div>
  1145. <div *ngFor="let item of building.deptData;let even = even;" style="width: 50%;float: left;">
  1146. <div style="display: flex;justify-content: center;text-align: center;">
  1147. <span style="flex: 2;word-break: break-all; border-bottom: 1px solid #ccc;border-right: 1px solid #ccc;" [ngStyle]="{'border-left':even?'1px solid #ccc':''}">{{item.deptName}}<span *ngIf="item.workOrderRemarks">+{{item.workOrderRemarks.slice(0,2)}}</span></span>
  1148. <span style="flex: 1; border-bottom: 1px solid #ccc;border-right: 1px solid #ccc;"></span>
  1149. </div>
  1150. </div>
  1151. </div>
  1152. </div>
  1153. <button ngxPrint printSectionId="print-section" #printBtn hidden>打印</button>
  1154. <!-- 新建工单 -->
  1155. <div class="newOrder display_flex justify-content_flex-center align-items_center" *ngIf="newOrderShow && newOrderShowOpen">
  1156. <div class="modalBody">
  1157. <div class="title" *ngIf="currentTabIndex !== '99999'">
  1158. <div class="newTop">
  1159. <div class="name">来电咨询</div>
  1160. <div class="newTopItem">
  1161. <span class="grayFont">申请科室:</span>
  1162. <nz-select style="width: 146px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeInp('hsms', $event)" nzPlaceHolder="请选择申请科室" [(ngModel)]="applyDept" (ngModelChange)="changeApply($event)" (nzOpenChange)="openChangeApply($event)">
  1163. <ng-container *ngFor="let option of applicationDepartmentList">
  1164. <nz-option *ngIf="!isLoadingApply" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
  1165. </ng-container>
  1166. <nz-option *ngIf="isLoadingApply" nzDisabled nzCustomContent>
  1167. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  1168. </nz-option>
  1169. </nz-select>
  1170. </div>
  1171. <div class="newTopItem">
  1172. <span class="tel grayFont" *ngIf="callNumber">来电号码:{{ callNumber }}</span>
  1173. <span class="grayFont">任务类型:</span>
  1174. <nz-select *ngIf="applyDept" style="width: 146px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="onSearchTaskBuild($event)" nzPlaceHolder="请选择任务类型" [(ngModel)]="taskBuild" (ngModelChange)="changeTaskBuild($event)">
  1175. <ng-container *ngFor="let option of searchTaskList">
  1176. <nz-option *ngIf="!searchTaskLoading" [nzLabel]="option.taskTypeName" [nzValue]="option.sid">
  1177. </nz-option>
  1178. </ng-container>
  1179. <nz-option *ngIf="searchTaskLoading" nzDisabled nzCustomContent>
  1180. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  1181. </nz-option>
  1182. </nz-select>
  1183. </div>
  1184. </div>
  1185. </div>
  1186. <div class="title" *ngIf="currentTabIndex === '99999'">
  1187. <div class="newTop">
  1188. <div class="name">来电咨询</div>
  1189. <div class="newTopItem">
  1190. <span class="grayFont required">院区:</span>
  1191. <nz-select style="width: 160px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzPlaceHolder="请选择院区" [(ngModel)]="incidentModel.hosId" (ngModelChange)="changeApplyHospital($event)" nzAllowClear>
  1192. <ng-container *ngFor="let option of applicationHospitalList">
  1193. <nz-option *ngIf="!isLoading" [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
  1194. </ng-container>
  1195. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  1196. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  1197. </nz-option>
  1198. </nz-select>
  1199. </div>
  1200. <div class="newTopItem">
  1201. <span class="grayFont required">申请科室:</span>
  1202. <nz-select style="width: 160px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeInp('itsm', $event)" nzPlaceHolder="请选择申请科室" [(ngModel)]="incidentModel.department" (ngModelChange)="changeApplyDept($event)" nzAllowClear (nzOpenChange)="openChangeApplyDept($event)">
  1203. <ng-container *ngFor="let option of applicationDeptList">
  1204. <nz-option *ngIf="!isLoadingApply" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
  1205. </ng-container>
  1206. <nz-option *ngIf="isLoadingApply" nzDisabled nzCustomContent>
  1207. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  1208. </nz-option>
  1209. </nz-select>
  1210. </div>
  1211. <div class="newTopItem">
  1212. <span class="grayFont">申请人:</span>
  1213. <ng-container *ngIf="buildType === '报修转事件'">{{incidentMsg.requesterName}}</ng-container>
  1214. <ng-container *ngIf="!buildType">
  1215. <nz-select style="width: 160px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('requester', $event)" nzPlaceHolder="请选择申请人" [(ngModel)]="incidentModel.requester" (ngModelChange)="changeApplyRequester($event)" nzAllowClear>
  1216. <ng-container *ngFor="let option of applicationRequesterList">
  1217. <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
  1218. </ng-container>
  1219. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  1220. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  1221. </nz-option>
  1222. </nz-select>
  1223. <label nz-checkbox [(ngModel)]="isRelatedDepartment" (ngModelChange)="changeApplyRelatedDepartment($event)" class="ml8">关联查</label>
  1224. </ng-container>
  1225. </div>
  1226. <div class="newTopItem">
  1227. <span class="grayFont">来电电话:{{incidentModel.incomingPhone}}</span>
  1228. </div>
  1229. </div>
  1230. </div>
  1231. <div nz-row class="content">
  1232. <div nz-col nzSpan="15" class="col left">
  1233. <div class="tabs">
  1234. <div class="tabs__inner" #tab>
  1235. <div class="tabs__wrap" [style.transform]="'translateX(' + disX + 'px)'">
  1236. <ng-container *ngFor="let item of workTypesArrange | keyvalue">
  1237. <div [ngClass]="{ tab: true, checked: currentTabIndex == item.key}" (click)="tabClick(item.key)">
  1238. {{ item.value[0].associationTypeName }}
  1239. </div>
  1240. </ng-container>
  1241. </div>
  1242. </div>
  1243. <div class="tabs__operate" *ngIf="workTypesFlag && applyDept">
  1244. <i
  1245. class="tabs__Icon--right icon_transport transport-xiangzuo"
  1246. (click)="toLeft()"
  1247. ></i>
  1248. <i
  1249. class="tabs__Icon--left icon_transport transport-xiangzuo"
  1250. (click)="toRight()"
  1251. ></i>
  1252. </div>
  1253. </div>
  1254. <!-- 底部tab页 -->
  1255. <div class="bottomWrap">
  1256. <ng-container *ngFor="let item of workTypesArrange | keyvalue">
  1257. <ng-container *ngIf="applyDept">
  1258. <!-- 标本轮巡,标本配送 -->
  1259. <div class="bottom" *ngIf="currentTabIndex == item.key && item.key == 256 && !newLoading">
  1260. <div class="bottom380256">
  1261. 起点科室默认为申请科室,终点科室为检验科室,确定后即可新建工单!
  1262. </div>
  1263. </div>
  1264. <!-- 患者转运 -->
  1265. <overlay-scrollbars #osComponentRef9 *ngIf="currentTabIndex == item.key && item.key == 255 && !newLoading" class="bottom">
  1266. <div class="bottom255">
  1267. <form nz-form [formGroup]="validateFormZy">
  1268. <div nz-row [nzGutter]="24">
  1269. <div nz-col [nzSpan]="24" style="height: 310px">
  1270. <nz-form-item>
  1271. <nz-form-label
  1272. class="label"
  1273. [nzSm]="24"
  1274. [nzXs]="24"
  1275. nzRequired
  1276. nzFor="taskType"
  1277. >类型
  1278. </nz-form-label>
  1279. <nz-form-control
  1280. class="control"
  1281. [nzSm]="24"
  1282. [nzXs]="24"
  1283. nzErrorTip="请选择类型!"
  1284. >
  1285. <div class="radios">
  1286. <overlay-scrollbars
  1287. #osComponentRef10
  1288. [ngStyle]="{ height: '100%' }"
  1289. >
  1290. <nz-radio-group
  1291. formControlName="taskType"
  1292. nz-row
  1293. [(ngModel)]="radioValueZy"
  1294. (ngModelChange)="radioChangeZy(radioValueZy)"
  1295. >
  1296. <div nz-row>
  1297. <label
  1298. nz-col
  1299. nz-radio
  1300. [nzValue]="item1.id"
  1301. *ngFor="
  1302. let item1 of workTypesArrange[item.key]
  1303. "
  1304. >{{ item1.taskTypeName }}</label
  1305. >
  1306. </div>
  1307. </nz-radio-group>
  1308. </overlay-scrollbars>
  1309. </div>
  1310. </nz-form-control>
  1311. </nz-form-item>
  1312. </div>
  1313. <div
  1314. nz-col
  1315. [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24"
  1316. style="height: 83px"
  1317. [ngStyle]="{
  1318. display:
  1319. deptZyList['startStatus'] != 201 ? 'block' : 'none'
  1320. }"
  1321. >
  1322. <nz-form-item>
  1323. <nz-form-label
  1324. class="label"
  1325. [nzSm]="24"
  1326. [nzXs]="24"
  1327. nzRequired
  1328. nzFor="startDept"
  1329. >起点科室
  1330. </nz-form-label>
  1331. <nz-form-control
  1332. class="control"
  1333. [nzSm]="24"
  1334. [nzXs]="24"
  1335. nzErrorTip="请选择起点科室!"
  1336. >
  1337. <nz-select
  1338. formControlName="startDept"
  1339. [nzDisabled]="
  1340. deptZyList.startStatus == 201 ||
  1341. deptZyList.startStatus == 203 ||
  1342. deptZyList.startStatus == 206
  1343. "
  1344. [nzDropdownMatchSelectWidth]="false"
  1345. nzServerSearch
  1346. nzShowSearch
  1347. (nzOnSearch)="
  1348. searchHosDepartment(checkedHos, 'start', $event)
  1349. "
  1350. nzAllowClear
  1351. nzPlaceHolder="请选择起点科室"
  1352. [(ngModel)]="startDeptZy"
  1353. >
  1354. <ng-container
  1355. *ngFor="let option of deptZyList.startDept"
  1356. >
  1357. <nz-option
  1358. *ngIf="!isLoading"
  1359. [nzLabel]="option.dept"
  1360. [nzValue]="option.id"
  1361. ></nz-option>
  1362. </ng-container>
  1363. <nz-option
  1364. *ngIf="isLoading"
  1365. nzDisabled
  1366. nzCustomContent
  1367. >
  1368. <i
  1369. nz-icon
  1370. nzType="loading"
  1371. class="loading-icon"
  1372. ></i>
  1373. 搜索中...
  1374. </nz-option>
  1375. </nz-select>
  1376. </nz-form-control>
  1377. </nz-form-item>
  1378. </div>
  1379. <div
  1380. nz-col
  1381. [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24"
  1382. style="height: 83px"
  1383. >
  1384. <nz-form-item>
  1385. <nz-form-label
  1386. class="label"
  1387. [nzSm]="24"
  1388. [nzXs]="24"
  1389. nzRequired
  1390. nzFor="endDepts"
  1391. >终点科室
  1392. </nz-form-label>
  1393. <nz-form-control
  1394. class="control"
  1395. [nzSm]="24"
  1396. [nzXs]="24"
  1397. nzErrorTip="请选择终点科室!"
  1398. >
  1399. <nz-select
  1400. formControlName="endDepts"
  1401. [nzDisabled]="
  1402. deptZyList.endStatus == 201 ||
  1403. deptZyList.endStatus == 203 ||
  1404. deptZyList.endStatus == 206
  1405. "
  1406. [nzDropdownMatchSelectWidth]="false"
  1407. nzServerSearch
  1408. nzShowSearch
  1409. (nzOnSearch)="
  1410. searchHosDepartment(checkedHos, 'end', $event)
  1411. "
  1412. nzAllowClear
  1413. nzPlaceHolder="请选择终点科室"
  1414. [(ngModel)]="endDeptZy"
  1415. (ngModelChange)="endDeptZyChange()"
  1416. >
  1417. <ng-container
  1418. *ngFor="let option of deptZyList.endDept"
  1419. >
  1420. <nz-option
  1421. *ngIf="!isLoading"
  1422. [nzLabel]="option.dept"
  1423. [nzValue]="option.id"
  1424. ></nz-option>
  1425. </ng-container>
  1426. <nz-option
  1427. *ngIf="isLoading"
  1428. nzDisabled
  1429. nzCustomContent
  1430. >
  1431. <i
  1432. nz-icon
  1433. nzType="loading"
  1434. class="loading-icon"
  1435. ></i>
  1436. 搜索中...
  1437. </nz-option>
  1438. </nz-select>
  1439. </nz-form-control>
  1440. </nz-form-item>
  1441. </div>
  1442. <div nz-col [nzSpan]="24" style="height: 83px">
  1443. <div class="control-flex">
  1444. <nz-form-item class="control-flex__5">
  1445. <nz-form-label
  1446. class="label"
  1447. [nzSm]="24"
  1448. [nzXs]="24"
  1449. nzRequired
  1450. nzFor="patient"
  1451. >患者信息
  1452. </nz-form-label>
  1453. <nz-form-control
  1454. class="control"
  1455. style="width: 160px"
  1456. [nzSm]="24"
  1457. [nzXs]="24"
  1458. nzErrorTip="请选择患者信息!"
  1459. >
  1460. <nz-select
  1461. formControlName="patient"
  1462. [nzDropdownMatchSelectWidth]="false"
  1463. nzServerSearch
  1464. nzShowSearch
  1465. (nzOnSearch)="
  1466. searchPatientList(
  1467. radioValueZy == deathTasktypeId && endDeptZy !== null
  1468. ? endDeptZy
  1469. : applyDept,
  1470. $event
  1471. )
  1472. "
  1473. nzAllowClear
  1474. nzPlaceHolder="请选择患者信息"
  1475. [(ngModel)]="patientZy"
  1476. >
  1477. <ng-container
  1478. *ngFor="let option of patientList"
  1479. >
  1480. <nz-option
  1481. *ngIf="!isLoadingPatient"
  1482. [nzLabel]="
  1483. option.bednum +
  1484. '床 ' +
  1485. option.patientname +
  1486. ' ' +
  1487. option.residenceNo
  1488. "
  1489. [nzValue]="option.patientCode"
  1490. ></nz-option>
  1491. </ng-container>
  1492. <nz-option
  1493. *ngIf="isLoadingPatient"
  1494. nzDisabled
  1495. nzCustomContent
  1496. >
  1497. <i
  1498. nz-icon
  1499. nzType="loading"
  1500. class="loading-icon"
  1501. ></i>
  1502. 搜索中...
  1503. </nz-option>
  1504. </nz-select>
  1505. </nz-form-control>
  1506. </nz-form-item>
  1507. <nz-form-item class="control-flex__7">
  1508. <nz-form-label
  1509. class="label"
  1510. [nzSm]="24"
  1511. [nzXs]="24"
  1512. nzFor="goods"
  1513. *ngIf="goodsNow.length"
  1514. >
  1515. 携带物品
  1516. </nz-form-label>
  1517. <nz-form-control
  1518. class="control"
  1519. [nzSm]="24"
  1520. [nzXs]="24"
  1521. nzErrorTip="请选择携带物品!"
  1522. >
  1523. <nz-checkbox-group
  1524. [(ngModel)]="goodsNow"
  1525. formControlName="goods"
  1526. (ngModelChange)="changeGoods($event)"
  1527. ></nz-checkbox-group>
  1528. </nz-form-control>
  1529. </nz-form-item>
  1530. </div>
  1531. </div>
  1532. <!-- 预约建单时间-患者其他服务--start -->
  1533. <div nz-col [nzSpan]="24" style="height: 83px" class="pos">
  1534. <!-- 需要预约检查 -->
  1535. <nz-form-item class="pos-item">
  1536. <nz-form-control>
  1537. <label
  1538. nz-checkbox
  1539. [(ngModel)]="isYyInspect"
  1540. (ngModelChange)="yyInspectChange($event)"
  1541. [ngModelOptions]="{ standalone: true }"
  1542. style="font-weight: bold"
  1543. >需要预约检查</label
  1544. >
  1545. </nz-form-control>
  1546. </nz-form-item>
  1547. <!-- 预约建单时间-患者其他服务 -->
  1548. <nz-form-item class="yyTime" [ngClass]="{yyTimeError: (!yyTimeZy || !yyDateZy) && clickYYZyFlag}">
  1549. <nz-form-label [nzSm]="24" [nzXs]="24">预约建单时间</nz-form-label>
  1550. <nz-form-control [nzSm]="24" [nzXs]="24">
  1551. <nz-date-picker
  1552. [nzDisabled]="!isYyInspect"
  1553. [(ngModel)]="yyDateZy"
  1554. (ngModelChange)="yyDateChange($event)"
  1555. [ngModelOptions]="{ standalone: true }"
  1556. [nzAllowClear]="false"
  1557. [nzDisabledDate]="disabledyyDateZy"
  1558. [nzShowToday]="false"
  1559. ></nz-date-picker>
  1560. <nz-time-picker
  1561. [nzDisabled]="!isYyInspect || !yyDateZy"
  1562. class="ml8"
  1563. nzFormat="HH:mm"
  1564. [nzMinuteStep]="inspectAndPatientTransportConfig.timeMod"
  1565. [nzSecondStep]="60"
  1566. [(ngModel)]="yyTimeZy"
  1567. (ngModelChange)="yyTimeZyChange($event)"
  1568. [ngModelOptions]="{ standalone: true }"
  1569. [nzDisabledHours]="disabledHours"
  1570. [nzDisabledMinutes]="disabledMinutes"
  1571. [nzAllowEmpty]="false"
  1572. >
  1573. </nz-time-picker>
  1574. <button
  1575. [disabled]="!isYyInspect || (isYyInspect && !yyDateZy)"
  1576. nz-button
  1577. nzType="primary"
  1578. class="ml8"
  1579. (click)="nextDayZy()"
  1580. >
  1581. 下一日
  1582. </button>
  1583. </nz-form-control>
  1584. <div
  1585. class="red w100"
  1586. *ngIf="(!yyTimeZy || !yyDateZy) && clickYYZyFlag"
  1587. >
  1588. 请填写预约建单时间!
  1589. </div>
  1590. </nz-form-item>
  1591. </div>
  1592. <!-- 预约建单时间-患者其他服务--end -->
  1593. </div>
  1594. </form>
  1595. </div>
  1596. </overlay-scrollbars>
  1597. <!-- 其他 -->
  1598. <overlay-scrollbars #osComponentRef13 class="bottom" *ngIf="currentTabIndex == item.key && item.key == 259 && !newLoading">
  1599. <div class="bottom255">
  1600. <form nz-form [formGroup]="validateFormQt">
  1601. <div nz-row [nzGutter]="24">
  1602. <div nz-col [nzSpan]="24" style="height: 268px">
  1603. <nz-form-item>
  1604. <nz-form-label
  1605. class="label"
  1606. [nzSm]="24"
  1607. [nzXs]="24"
  1608. nzRequired
  1609. nzFor="taskTypeQt"
  1610. >类型
  1611. </nz-form-label>
  1612. <nz-form-control
  1613. class="control"
  1614. [nzSm]="24"
  1615. [nzXs]="24"
  1616. nzErrorTip="请选择类型!"
  1617. >
  1618. <div class="radios" style="height: 225px">
  1619. <overlay-scrollbars
  1620. #osComponentRef11
  1621. [ngStyle]="{ height: '100%' }"
  1622. >
  1623. <nz-radio-group
  1624. formControlName="taskTypeQt"
  1625. nz-row
  1626. [(ngModel)]="radioValueQt"
  1627. (ngModelChange)="radioChangeQt(radioValueQt)"
  1628. >
  1629. <div nz-row>
  1630. <label
  1631. nz-col
  1632. nz-radio
  1633. [nzValue]="item1.id"
  1634. *ngFor="
  1635. let item1 of workTypesArrange[item.key]
  1636. "
  1637. >{{ item1.taskTypeName }}</label
  1638. >
  1639. </div>
  1640. </nz-radio-group>
  1641. </overlay-scrollbars>
  1642. </div>
  1643. </nz-form-control>
  1644. </nz-form-item>
  1645. </div>
  1646. <div
  1647. nz-col
  1648. [nzSpan]="12"
  1649. style="height: 83px"
  1650. [ngStyle]="{
  1651. display:
  1652. deptQtList['startStatus'] != 201 ? 'block' : 'none'
  1653. }"
  1654. >
  1655. <nz-form-item>
  1656. <nz-form-label
  1657. class="label"
  1658. [nzSm]="24"
  1659. [nzXs]="24"
  1660. nzRequired
  1661. nzFor="startDeptQt"
  1662. >起点科室
  1663. </nz-form-label>
  1664. <nz-form-control
  1665. class="control"
  1666. [nzSm]="24"
  1667. [nzXs]="24"
  1668. nzErrorTip="请选择起点科室!"
  1669. >
  1670. <nz-select
  1671. formControlName="startDeptQt"
  1672. [nzDisabled]="
  1673. deptQtList.startStatus == 201 ||
  1674. deptQtList.startStatus == 203
  1675. "
  1676. [nzDropdownMatchSelectWidth]="false"
  1677. nzServerSearch
  1678. nzShowSearch
  1679. (nzOnSearch)="
  1680. searchHosDepartmentQt(
  1681. checkedHos,
  1682. 'start',
  1683. $event
  1684. )
  1685. "
  1686. nzAllowClear
  1687. nzPlaceHolder="请选择起点科室"
  1688. [(ngModel)]="startDeptQt"
  1689. >
  1690. <ng-container
  1691. *ngFor="let option of deptQtList.startDept"
  1692. >
  1693. <nz-option
  1694. *ngIf="!isLoading"
  1695. [nzLabel]="option.dept"
  1696. [nzValue]="option.id"
  1697. ></nz-option>
  1698. </ng-container>
  1699. <nz-option
  1700. *ngIf="isLoading"
  1701. nzDisabled
  1702. nzCustomContent
  1703. >
  1704. <i
  1705. nz-icon
  1706. nzType="loading"
  1707. class="loading-icon"
  1708. ></i>
  1709. 搜索中...
  1710. </nz-option>
  1711. </nz-select>
  1712. </nz-form-control>
  1713. </nz-form-item>
  1714. </div>
  1715. <div nz-col [nzSpan]="12" style="height: 83px">
  1716. <nz-form-item>
  1717. <nz-form-label
  1718. class="label"
  1719. [nzSm]="24"
  1720. [nzXs]="24"
  1721. nzRequired
  1722. nzFor="endDeptsQt"
  1723. >终点科室
  1724. </nz-form-label>
  1725. <nz-form-control
  1726. class="control"
  1727. [nzSm]="24"
  1728. [nzXs]="24"
  1729. nzErrorTip="请选择终点科室!"
  1730. >
  1731. <nz-select
  1732. formControlName="endDeptsQt"
  1733. [nzDisabled]="
  1734. deptQtList.endStatus == 201 ||
  1735. deptQtList.endStatus == 203
  1736. "
  1737. [nzDropdownMatchSelectWidth]="false"
  1738. nzServerSearch
  1739. nzShowSearch
  1740. (nzOnSearch)="
  1741. searchHosDepartmentQt(checkedHos, 'end', $event)
  1742. "
  1743. nzAllowClear
  1744. nzPlaceHolder="请选择终点科室"
  1745. [(ngModel)]="endDeptQt"
  1746. >
  1747. <ng-container
  1748. *ngFor="let option of deptQtList.endDept"
  1749. >
  1750. <nz-option
  1751. *ngIf="!isLoading"
  1752. [nzLabel]="option.dept"
  1753. [nzValue]="option.id"
  1754. ></nz-option>
  1755. </ng-container>
  1756. <nz-option
  1757. *ngIf="isLoading"
  1758. nzDisabled
  1759. nzCustomContent
  1760. >
  1761. <i
  1762. nz-icon
  1763. nzType="loading"
  1764. class="loading-icon"
  1765. ></i>
  1766. 搜索中...
  1767. </nz-option>
  1768. </nz-select>
  1769. </nz-form-control>
  1770. </nz-form-item>
  1771. </div>
  1772. <div
  1773. nz-col
  1774. [nzSpan]="24"
  1775. *ngIf="
  1776. deptQtList.taskType &&
  1777. deptQtList.taskType.remarksSwitch == 1
  1778. "
  1779. >
  1780. <nz-form-item>
  1781. <nz-form-label
  1782. class="label"
  1783. [nzSm]="3"
  1784. [nzXs]="3"
  1785. nzFor="workOrderRemark"
  1786. >工单备注
  1787. </nz-form-label>
  1788. <span
  1789. class="customRemarks"
  1790. *ngFor="
  1791. let item of deptQtList.taskType.customRemarks
  1792. "
  1793. (click)="addRemarks(item)"
  1794. >【{{ item }}】</span
  1795. >
  1796. <nz-form-control
  1797. class="control"
  1798. [nzSm]="24"
  1799. [nzXs]="24"
  1800. nzErrorTip="请填写工单备注!"
  1801. >
  1802. <textarea
  1803. formControlName="workOrderRemark"
  1804. nz-input
  1805. [placeholder]="deptQtList.taskType.remarksPrompts"
  1806. [nzAutosize]="{ minRows: 3, maxRows: 5 }"
  1807. maxlength="100"
  1808. [(ngModel)]="workOrderRemark"
  1809. #remarksEle
  1810. ></textarea>
  1811. </nz-form-control>
  1812. </nz-form-item>
  1813. </div>
  1814. <!-- 预约建单时间-其他临床服务--start -->
  1815. <div nz-col [nzSpan]="24" style="height: 83px" class="pos">
  1816. <!-- 需要预约检查 -->
  1817. <nz-form-item class="pos-item">
  1818. <nz-form-control>
  1819. <label
  1820. nz-checkbox
  1821. [(ngModel)]="isYyInspect"
  1822. (ngModelChange)="yyInspectChange($event)"
  1823. [ngModelOptions]="{ standalone: true }"
  1824. style="font-weight: bold"
  1825. >需要预约检查</label
  1826. >
  1827. </nz-form-control>
  1828. </nz-form-item>
  1829. <!-- 预约建单时间 -->
  1830. <nz-form-item
  1831. class="yyTime"
  1832. [ngClass]="{ yyTimeError: (!yyTime || !yyDate) && clickYYFlag }"
  1833. >
  1834. <nz-form-label [nzSm]="24" [nzXs]="24"
  1835. >预约建单时间</nz-form-label
  1836. >
  1837. <nz-form-control [nzSm]="24" [nzXs]="24">
  1838. <nz-date-picker
  1839. [nzDisabled]="!isYyInspect"
  1840. [(ngModel)]="yyDate"
  1841. (ngModelChange)="yyDateChange($event)"
  1842. [ngModelOptions]="{ standalone: true }"
  1843. [nzAllowClear]="false"
  1844. [nzDisabledDate]="disabledyyDate"
  1845. [nzShowToday]="false"
  1846. >
  1847. </nz-date-picker>
  1848. <nz-time-picker
  1849. [nzDisabled]="!isYyInspect || !yyDate"
  1850. class="ml8"
  1851. nzFormat="HH:mm"
  1852. [nzMinuteStep]="inspectAndPatientTransportConfig.timeMod"
  1853. [nzSecondStep]="60"
  1854. [(ngModel)]="yyTime"
  1855. (ngModelChange)="yyTimeChange($event)"
  1856. [ngModelOptions]="{ standalone: true }"
  1857. [nzDisabledHours]="disabledHours"
  1858. [nzDisabledMinutes]="disabledMinutes"
  1859. [nzAllowEmpty]="false"
  1860. >
  1861. </nz-time-picker>
  1862. <button
  1863. [disabled]="!isYyInspect || (isYyInspect && !yyDate)"
  1864. nz-button
  1865. nzType="primary"
  1866. class="ml8"
  1867. (click)="nextDay()"
  1868. >
  1869. 下一日
  1870. </button>
  1871. </nz-form-control>
  1872. <div
  1873. class="red w100"
  1874. *ngIf="(!yyTime || !yyDate) && clickYYFlag"
  1875. >
  1876. 请填写预约建单时间!
  1877. </div>
  1878. </nz-form-item>
  1879. </div>
  1880. <!-- 预约建单时间-其他临床服务--end -->
  1881. </div>
  1882. </form>
  1883. </div>
  1884. </overlay-scrollbars>
  1885. </ng-container>
  1886. <!-- 故障报修 -->
  1887. <overlay-scrollbars #osComponentRef15 class="bottom_req" *ngIf="currentTabIndex === '99999'">
  1888. <div class="req">
  1889. <div class="row">
  1890. <div class="col flex4">
  1891. <span class="name">详细地址:</span>
  1892. <nz-select class="w100" [(ngModel)]="incidentModel.area" (ngModelChange)="changeApplyBuilding($event)" nzAllowClear nzPlaceHolder="请选择楼栋">
  1893. <nz-option [nzValue]="item.id" [nzLabel]="item.buildingName" *ngFor="let item of applicationBuildingList"></nz-option>
  1894. </nz-select>
  1895. </div>
  1896. <div class="col flex3">
  1897. <nz-select class="w100" [(ngModel)]="incidentModel.place" nzAllowClear nzPlaceHolder="请选择楼层">
  1898. <nz-option [nzValue]="item.id" [nzLabel]="item.floorName" *ngFor="let item of applicationFloorList"></nz-option>
  1899. </nz-select>
  1900. </div>
  1901. <div class="col flex7">
  1902. <input nz-input placeholder="请填写详细地址" [(ngModel)]="incidentModel.houseNumber" />
  1903. </div>
  1904. </div>
  1905. <div class="row gap8">
  1906. <div class="col">
  1907. <span class="name">科室电话:</span>
  1908. <ng-container *ngIf="incidentMsg.deptManyPhone">{{incidentMsg.deptManyPhone|stringToFirstValue}}<em (click)="importPhone(incidentMsg.deptManyPhone, true)">引入</em></ng-container>
  1909. </div>
  1910. <div class="col">
  1911. <span class="name">报修人电话:</span>
  1912. <ng-container *ngIf="incidentMsg.requesterPhone">{{incidentMsg.requesterPhone}}<em (click)="importPhone(incidentMsg.requesterPhone)">引入</em></ng-container>
  1913. </div>
  1914. <div class="col">
  1915. <span class="name">来电电话:</span>
  1916. <ng-container *ngIf="incidentModel.incomingPhone">{{incidentModel.incomingPhone}}<em (click)="importPhone(incidentModel.incomingPhone)">引入</em></ng-container>
  1917. </div>
  1918. </div>
  1919. <div class="row gap8">
  1920. <div class="col">
  1921. <span class="name">联系人:</span>
  1922. <input class="w100" nz-input placeholder="请填写联系人" [(ngModel)]="incidentModel.contacts" />
  1923. </div>
  1924. <div class="col">
  1925. <span class="name required">联系电话:</span>
  1926. <input class="w100" nz-input placeholder="请填写联系电话" [(ngModel)]="incidentModel.contactsInformation" />
  1927. </div>
  1928. <div class="col">
  1929. <span class="name">责任部门:</span>
  1930. {{incidentModel.duty ? incidentModel.duty.hosName : ''}}
  1931. </div>
  1932. </div>
  1933. <div class="row gap8">
  1934. <div class="col">
  1935. <span class="name required">故障现象:</span>
  1936. <nz-select class="w100" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('category', $event)" nzPlaceHolder="请选择故障现象" [(ngModel)]="incidentModel.category" (ngModelChange)="changeApplyCategory($event)">
  1937. <ng-container *ngFor="let option of applicationCategoryList">
  1938. <nz-option *ngIf="!isLoading" [nzLabel]="option.mutiCategory" [nzValue]="option.id"></nz-option>
  1939. </ng-container>
  1940. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  1941. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  1942. </nz-option>
  1943. </nz-select>
  1944. </div>
  1945. </div>
  1946. <div class="row gap8">
  1947. <div class="col alignItemsStart">
  1948. <span class="name required">故障描述:</span>
  1949. <nz-input-group [nzSuffix]="suffixTemplate">
  1950. <textarea class="w100" nz-input rows="4" placeholder="请填写故障描述" [(ngModel)]="incidentModel.description"></textarea>
  1951. </nz-input-group>
  1952. <i #suffixTemplate nz-icon nz-tooltip class="ant-input-clear-icon ml8" nzTheme="fill" nzType="close-circle" *ngIf="incidentModel.description" (click)="incidentModel.description = null" ></i>
  1953. </div>
  1954. </div>
  1955. <div class="row gap8">
  1956. <div class="col">
  1957. <span class="name required">优先级:</span>
  1958. <nz-select class="w100" [(ngModel)]="incidentModel.priorityId" nzAllowClear nzPlaceHolder="请选择优先级">
  1959. <nz-option [nzValue]="item.id" [nzLabel]="item.name" *ngFor="let item of applicationPriorityList"></nz-option>
  1960. </nz-select>
  1961. </div>
  1962. <div class="col">
  1963. <span class="name">事件来源:</span>
  1964. <nz-select class="w100" [(ngModel)]="incidentModel.source" nzAllowClear nzPlaceHolder="请选择事件来源">
  1965. <nz-option [nzValue]="item.id" [nzLabel]="item.name" *ngFor="let item of applicationSourceList"></nz-option>
  1966. </nz-select>
  1967. </div>
  1968. <div class="col">
  1969. <span class="name">预约时间:</span>
  1970. <nz-date-picker style="width: 150px;" [(ngModel)]="incidentModel.yyTime" nzShowTime></nz-date-picker>
  1971. </div>
  1972. </div>
  1973. <div class="row gap8">
  1974. <div class="col">
  1975. <span class="name">报修图片:</span>
  1976. <div class="value w100 upload">
  1977. <ng-container *ngIf="repairImgs.length === 0">
  1978. <nz-upload nzListType="picture-card" [(nzFileList)]="fileList" [nzShowUploadList]="showUploadList" [nzPreview]="handlePreview" nzFileType="image/jpeg,image/png" nzAccept="image/jpeg,image/png" [nzShowButton]="fileList.length < 3" [nzBeforeUpload]="beforeUpload" [nzAction]="temporarilyUrl" [nzSize]="10240">
  1979. <i nz-icon nzType="plus"></i>
  1980. <div class="ant-upload-text">上传照片</div>
  1981. </nz-upload>
  1982. <nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null" (nzOnCancel)="previewVisible = false">
  1983. <ng-template #modalContent>
  1984. <img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
  1985. </ng-template>
  1986. </nz-modal>
  1987. <div class="tips">(支持JPG/PNG格式图片,单张大小10M以内)</div>
  1988. </ng-container>
  1989. <div class="thumbList" *ngIf="repairImgs.length > 0">
  1990. <div class="thumb" *ngFor="let item of repairImgs;let index = index;" (click)="previewImageHandler(repairImgs, index)"><img [src]="item.thumbFilePath" alt=""></div>
  1991. </div>
  1992. </div>
  1993. </div>
  1994. </div>
  1995. <div class="row gap8">
  1996. <div class="col">
  1997. <span class="name required">处理组:</span>
  1998. <nz-select class="w100" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('group', $event)" nzPlaceHolder="请选择处理组" [(ngModel)]="incidentModel.group" (ngModelChange)="changeApplyGroup($event)" (nzOpenChange)="openChangeApplyGroup($event)">
  1999. <ng-container *ngFor="let option of applicationGroupList">
  2000. <nz-option *ngIf="!isLoading" [nzLabel]="option.groupName" [nzValue]="option.id"></nz-option>
  2001. </ng-container>
  2002. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  2003. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  2004. </nz-option>
  2005. </nz-select>
  2006. </div>
  2007. <div class="col">
  2008. <span class="name">处理人:</span>
  2009. <nz-select class="w100" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('user', $event)" nzPlaceHolder="请选择处理人" [(ngModel)]="incidentModel.user" (nzOpenChange)="openChangeApplyUser($event)" nzAllowClear>
  2010. <ng-container *ngFor="let option of applicationUserList">
  2011. <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
  2012. </ng-container>
  2013. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  2014. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  2015. </nz-option>
  2016. </nz-select>
  2017. </div>
  2018. <div class="col"></div>
  2019. </div>
  2020. </div>
  2021. </overlay-scrollbars>
  2022. </ng-container>
  2023. <!-- loading -->
  2024. <div class="bottom" *ngIf="newLoading">
  2025. <div class="bottom255">
  2026. <div class="txtC">
  2027. <img src="../../../assets/images/loading.gif" alt="" />
  2028. <div>加载中...</div>
  2029. </div>
  2030. </div>
  2031. </div>
  2032. </div>
  2033. <!-- 底部信息提示 -->
  2034. <!-- <div class="bottomInfo" *ngIf="currentTabIndex !== '99999'">提示:临床科室建单会更简便哟!</div> -->
  2035. </div>
  2036. <div nz-col nzSpan="9" class="col right">
  2037. <div class="rightTitle">
  2038. <div class="rightTitle_tab" [class.active]="currentRTab == tab.id" *ngFor="let tab of rightTitle_tab;" (click)="rightTitleHandler(tab.id)">{{ tab.name }}</div>
  2039. <span class="toLastTime1"><span class="time" *ngIf="applyDept">{{ orderRefreshTime }}s</span></span>
  2040. </div>
  2041. <!-- 近期配送 start -->
  2042. <div class="cots_body weifenpai" *ngIf="currentRTab == 0" [ngClass]="{ top185: hurseInfoHiding != '1' }">
  2043. <overlay-scrollbars #osComponentRef12 [ngStyle]="{ height: '100%' }">
  2044. <div *ngIf="noArrives.length && !loading4">
  2045. <div class="list listsTypeColor" *ngFor="let data of noArrives">
  2046. <div class="left_cots" (click)="openDetails(data)">
  2047. <!-- 工单 -->
  2048. <div class="gongdan">
  2049. <span class="left">{{ data.taskType.taskName }}({{ data.gdcode }})</span>
  2050. <span class="right">
  2051. <span>{{ data.gdState.name }}</span>
  2052. </span>
  2053. </div>
  2054. <!-- 地点 -->
  2055. <div class="didian">
  2056. <span class="left" *ngIf="data.taskType.associationType.value == 'inspect'">
  2057. {{ data.startDept ? data.startDept.dept : "" }}
  2058. <span *ngFor="let item of data.middleDept">
  2059. ->{{ item.dept }}
  2060. </span>
  2061. </span>
  2062. <span class="left" *ngIf="data.taskType.associationType.id != 260">
  2063. {{ data.startDept ? data.startDept.dept : "" }}{{ data.endDepts ? "->" + data.endDepts[0].dept : "" }}
  2064. </span>
  2065. <span class="right" *ngIf="data.goods">
  2066. <i class="icon_transport transport-icon3"></i>
  2067. <span>{{ data.goods }}</span>
  2068. </span>
  2069. <span class="right" *ngIf="data.workOrderRemark" [title]="data.workOrderRemark">
  2070. <i class="icon_transport transport-icon3"></i>
  2071. <span>{{ data.workOrderRemark }}</span>
  2072. </span>
  2073. </div>
  2074. <!-- 时间 -->
  2075. <div class="shijian">
  2076. <span class="left" *ngIf="data.expectTimeNum && data.timeOut != true">
  2077. <i class="icon_transport transport-shouye10" nz-tooltip nzTooltipTitle="进行中"></i>
  2078. <ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.illnessState">
  2079. <i *ngIf="data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
  2080. <i *ngIf="data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
  2081. </ng-container>
  2082. <ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.careLevel">
  2083. <i *ngIf="data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
  2084. <i *ngIf="data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
  2085. <i *ngIf="data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
  2086. <i *ngIf="data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
  2087. </ng-container>
  2088. <span nz-tooltip nzTooltipTitle="患者姓名(住院号)" *ngIf="data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect'">{{ data.patient.patientName }}<span *ngIf="data.patient.residenceNo">({{ data.patient.residenceNo }})</span></span>
  2089. </span>
  2090. <span class="left" *ngIf="data.timeOutLength && data.timeOut == true">
  2091. <i class="colorRed icon_transport transport-daojishi" nz-tooltip nzTooltipTitle="超时"></i>
  2092. <ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.illnessState">
  2093. <i *ngIf="data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
  2094. <i *ngIf="data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
  2095. </ng-container>
  2096. <ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.careLevel">
  2097. <i *ngIf="data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
  2098. <i *ngIf="data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
  2099. <i *ngIf="data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
  2100. <i *ngIf="data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
  2101. </ng-container>
  2102. <span nz-tooltip nzTooltipTitle="患者姓名(住院号)" *ngIf="data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect'">{{ data.patient.patientName }}<span *ngIf="data.patient.residenceNo">({{ data.patient.residenceNo }})</span></span>
  2103. </span>
  2104. <span class="right" nz-tooltip [nzTooltipTitle]="'总时长' + formatTime(data.expectTimeNum / 1000)">
  2105. {{ data.showCreateTime }}
  2106. </span>
  2107. </div>
  2108. <!-- 急单 -->
  2109. <img *ngIf="data.emergencyType && data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
  2110. <!-- 加急单 -->
  2111. <img *ngIf="data.emergencyType && data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
  2112. </div>
  2113. <div class="right_bots display_flex col-flex align-items_center justify-content_flex-center gap8">
  2114. <input type="button" *ngIf="data.gdState.value == 2" class="top_bot" value="派单" (click)="allotWorker(data.id, data.gdState.id)" />
  2115. <input type="button" *ngIf="data.gdState.value == 3 || data.gdState.value == 4" class="mid_bot" value="撤回" (click)="openRecallModal(data.id)" />
  2116. <input type="button" *ngIf="data.gdState.value == 2 || data.gdState.value == 3 || data.gdState.value == 4" class="btm_bot" value="删除" (click)="openDelModal(data.id, 'hsms')" />
  2117. </div>
  2118. <div *ngIf="data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.percent + '%' }"></div>
  2119. <div *ngIf="data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
  2120. </div>
  2121. </div>
  2122. <div class="no_data" *ngIf="noArrives.length == 0 && !loading4">
  2123. 暂无数据
  2124. </div>
  2125. <div class="no_data" *ngIf="loading4">
  2126. <div class="loadingFull display_flex justify-content_flex-center align-items_center">
  2127. <div class="loadingFullInner">
  2128. <img src="../../../assets/images/loading.gif" alt="" />
  2129. <div>加载中...</div>
  2130. </div>
  2131. </div>
  2132. </div>
  2133. </overlay-scrollbars>
  2134. </div>
  2135. <!-- 近期配送 end -->
  2136. <!-- 转出院记录 start -->
  2137. <div class="cots_body weifenpai patientLog" *ngIf="currentRTab == 1" [ngClass]="{ top185: hurseInfoHiding != '1' }">
  2138. <overlay-scrollbars
  2139. #osComponentRef14
  2140. [ngStyle]="{ height: '100%' }"
  2141. >
  2142. <div class="list listsTypeColor clearfix">
  2143. <nz-table class="w100" [nzData]="patientLogList" nzSize="middle" [nzShowPagination]="false" [nzLoading]="loading5">
  2144. <thead>
  2145. <tr class="thead">
  2146. <th nzWidth="10%">类型</th>
  2147. <th nzWidth="17%">时间</th>
  2148. <th nzWidth="23%">申请科室</th>
  2149. <th nzWidth="23%">转入科室</th>
  2150. <th nzWidth="15%">关联患者</th>
  2151. <th nzWidth="12%">操作</th>
  2152. </tr>
  2153. </thead>
  2154. <tbody>
  2155. <tr *ngFor="let data of patientLogList; let i = index">
  2156. <td>{{ data.type ? data.type.name : "-" }}</td>
  2157. <td>{{ data.time | date: "yyyy-MM-dd HH:mm:ss" }}</td>
  2158. <td>{{ data.sqDept ? data.sqDept.dept : "-" }}</td>
  2159. <td>{{ data.zrDept ? data.zrDept.dept : "-" }}</td>
  2160. <td>
  2161. {{ data.patient ? data.patient.patientName : "-" }}
  2162. </td>
  2163. <td>
  2164. <button
  2165. style="cursor: pointer"
  2166. (click)="patientLogBuild(data)"
  2167. >
  2168. 建单
  2169. </button>
  2170. </td>
  2171. </tr>
  2172. </tbody>
  2173. </nz-table>
  2174. </div>
  2175. </overlay-scrollbars>
  2176. </div>
  2177. <!-- 转出院记录 end -->
  2178. <!-- 近期维修 start -->
  2179. <div class="cots_body weifenpai" *ngIf="currentRTab == 2" [ngClass]="{ top185: hurseInfoHiding != '1' }">
  2180. <overlay-scrollbars #osComponentRef16 [ngStyle]="{ height: '100%' }">
  2181. <div *ngIf="itsmOrders.length && !loading6">
  2182. <div class="list listsTypeColor" *ngFor="let data of itsmOrders">
  2183. <div class="left_cots" style="width: 96%;">
  2184. <!-- 工单 -->
  2185. <div class="gongdan">
  2186. <span class="left">{{ data.incidentsign }}</span>
  2187. <span class="right">
  2188. <span>{{ data.state?.name }}</span>
  2189. </span>
  2190. </div>
  2191. <!-- 描述 -->
  2192. <div class="didian">
  2193. <span class="left">
  2194. {{ data.description }}
  2195. </span>
  2196. </div>
  2197. <!-- 时间 -->
  2198. <div class="shijian">
  2199. <span class="left"></span>
  2200. <span class="right">
  2201. {{ data.acceptDate | date: "MM-dd HH:mm" }}
  2202. </span>
  2203. </div>
  2204. </div>
  2205. </div>
  2206. </div>
  2207. <div class="no_data" *ngIf="itsmOrders.length == 0 && !loading6">
  2208. 暂无数据
  2209. </div>
  2210. <div class="no_data" *ngIf="loading6">
  2211. <div class="loadingFull display_flex justify-content_flex-center align-items_center">
  2212. <div class="loadingFullInner">
  2213. <img src="../../../assets/images/loading.gif" alt="" />
  2214. <div>加载中...</div>
  2215. </div>
  2216. </div>
  2217. </div>
  2218. </overlay-scrollbars>
  2219. </div>
  2220. <!-- 近期维修 end -->
  2221. <!-- 知识库 start -->
  2222. <div class="cots_body weifenpai" *ngIf="currentRTab == 3" [ngClass]="{ top185: hurseInfoHiding != '1' }">
  2223. <overlay-scrollbars #osComponentRef17 [ngStyle]="{ height: '100%' }">
  2224. <div *ngIf="knowageList.length && !loading7">
  2225. <div class="list listsTypeColor" *ngFor="let data of knowageList" style="height: auto;overflow: hidden;">
  2226. <div class="left_cots" style="width: 96%;height: auto;">
  2227. <!-- 工单 -->
  2228. <div class="gongdan" style="font-size: 16px;">
  2229. <span class="left noEllipsis">{{data.title}}</span>
  2230. </div>
  2231. <!-- 描述 -->
  2232. <div class="didian" style="font-size: 12px;height: auto;">
  2233. <span class="left noEllipsis">{{data.content | stripHtml}}</span>
  2234. </div>
  2235. <!-- 时间 -->
  2236. <div class="shijian" style="height: auto;line-height: normal;overflow: hidden;padding-bottom: 16px;">
  2237. <span class="right">
  2238. <button nz-button nzType="primary" (click)="importKnowage(data)">引用</button>
  2239. <button class="ml8" nz-button nzType="primary" (click)="showKnowledgeModal(data)">查看</button>
  2240. </span>
  2241. </div>
  2242. </div>
  2243. </div>
  2244. </div>
  2245. <div class="no_data" *ngIf="knowageList.length == 0 && !loading7">
  2246. 暂无数据
  2247. </div>
  2248. <div class="no_data" *ngIf="loading7">
  2249. <div class="loadingFull display_flex justify-content_flex-center align-items_center">
  2250. <div class="loadingFullInner">
  2251. <img src="../../../assets/images/loading.gif" alt="" />
  2252. <div>加载中...</div>
  2253. </div>
  2254. </div>
  2255. </div>
  2256. </overlay-scrollbars>
  2257. </div>
  2258. <!-- 知识库 end -->
  2259. </div>
  2260. </div>
  2261. <div class="btns display_flex justify-content_flex-center align-items_center">
  2262. <ng-container *ngIf="applyDept && currentTabIndex !== '99999'">
  2263. <button nz-button class="btn" nzType="primary" (click)="newOrderOk('go')" [nzLoading]="isGoLoading">
  2264. 继续建单
  2265. </button>
  2266. <button nz-button class="btn" nzType="primary" (click)="newOrderOk()" [nzLoading]="isOkLoading">
  2267. {{isYyInspect ? '预约建单' :'直接建单'}}
  2268. </button>
  2269. </ng-container>
  2270. <ng-container *ngIf="currentTabIndex === '99999'">
  2271. <label nz-checkbox [(ngModel)]="isBuildOrderAgagin" *ngIf="buildType !== '报修转事件'">是否连续建单</label>
  2272. <button nz-button class="btn" nzType="primary" (click)="directOrder()">
  2273. 直接解决
  2274. </button>
  2275. <button nz-button class="btn" nzType="primary" (click)="assignOrder()">
  2276. 建单并派单
  2277. </button>
  2278. <button nz-button class="btn" nzType="primary" (click)="temporaryStorage()">
  2279. 暂存
  2280. </button>
  2281. </ng-container>
  2282. <button class="btn cancel" nz-button nzType="default" (click)="newOrderCancel()">
  2283. 取消
  2284. </button>
  2285. </div>
  2286. </div>
  2287. </div>
  2288. <!-- 撤回工单 -->
  2289. <div
  2290. class="
  2291. recallOrder
  2292. display_flex
  2293. justify-content_flex-center
  2294. align-items_center
  2295. "
  2296. *ngIf="recallOrderShow"
  2297. >
  2298. <div class="modalBody">
  2299. <div class="title">
  2300. 提示<i
  2301. class="icon_transport transport-guanbi"
  2302. (click)="closeRecallOrderModal()"
  2303. ></i>
  2304. </div>
  2305. <div class="content">
  2306. <div class="icon"><i class="icon_transport transport-wenhao"></i></div>
  2307. <div class="defeat">您确认要撤回此工单吗?</div>
  2308. </div>
  2309. <div class="btns display_flex justify-content_flex-center">
  2310. <button
  2311. nz-button
  2312. nzType="primary"
  2313. [nzLoading]="btnLoading"
  2314. (click)="confirmRec()"
  2315. >
  2316. 确认
  2317. </button>
  2318. <button
  2319. class="recDelBtn"
  2320. nz-button
  2321. nzType="primary"
  2322. [nzLoading]="recDelLoading"
  2323. nzGhost
  2324. (click)="recAndDel()"
  2325. *ngIf="!batchClickType1"
  2326. >
  2327. 撤回并删除
  2328. </button>
  2329. <button
  2330. class="btn cancel"
  2331. nz-button
  2332. nzType="default"
  2333. (click)="closeRecallOrderModal()"
  2334. >
  2335. 取消
  2336. </button>
  2337. </div>
  2338. </div>
  2339. </div>
  2340. <!-- 删除模态框 -->
  2341. <app-dialog-delete
  2342. [delModal]="delOrderShow"
  2343. (hideDelModalEvent)="closeDelOrderModal()"
  2344. [btnLoading]="btnLoading"
  2345. (confirmDelEvent)="confirmDel()"
  2346. content="您确认要删除吗?"
  2347. ></app-dialog-delete>
  2348. <!-- 删除模态框 -->
  2349. <app-dialog-delete
  2350. [delModal]="logoutModal"
  2351. (hideDelModalEvent)="closeLogoutModal()"
  2352. [btnLoading]="btnLoading"
  2353. (confirmDelEvent)="confirmLogout()"
  2354. content="您确认要退出系统吗?"
  2355. ></app-dialog-delete>
  2356. </div>
  2357. <!-- 工单范围 -->
  2358. <app-order-scope *ngIf="showInitModal" [hsmsData]="hsmsData" [itsmData]="itsmData" (confirmModal)="confirmOrderScope($event)" (cancelModal)="cancelOrderScope($event)"></app-order-scope>
  2359. <!-- 消息弹框模板 -->
  2360. <ng-template #msgTemplate let-msg="data">
  2361. <div class="msgTemBox ant-notification-notice-content">
  2362. <div class="borderLeft"></div>
  2363. <div class="ant-notification-notice-with-icon">
  2364. <span class="ant-notification-notice-icon">
  2365. <i class="icon icon_transport transport-shouye9"></i>
  2366. </span>
  2367. <div class="ant-notification-notice-message">
  2368. {{ msg.type == 1 ? "通知" : "消息" }}
  2369. </div>
  2370. <div class="ant-notification-notice-description">{{ msg.content }}</div>
  2371. </div>
  2372. </div>
  2373. </ng-template>
  2374. <!-- 操作成功/失败提示框 -->
  2375. <app-prompt-modal
  2376. *ngIf="promptModalShow"
  2377. [content]="promptContent"
  2378. [success]="ifSuccess"
  2379. [show]="promptModalShow"
  2380. [info]="promptInfo"
  2381. [back]="back"
  2382. (closeModel)="closeModel($event)"
  2383. >
  2384. </app-prompt-modal>
  2385. <!-- 选择转入科室 -->
  2386. <app-select-dept
  2387. [createLoading]="createLoading"
  2388. [deptFlag]="deptFlag"
  2389. (submitFormHand)="submitFormHand($event)"
  2390. (deptFlagHand)="deptFlagHand($event)"
  2391. [hosId]="checkedHos"
  2392. *ngIf="deptFlag"
  2393. ></app-select-dept>
  2394. <router-outlet (deactivate)="refreshList($event)"></router-outlet>
  2395. <!-- 遮罩 -->
  2396. <app-mask *ngIf="maskFlag"></app-mask>
  2397. <!-- 直接解决 -->
  2398. <app-incident-direct-order *ngIf="directOrderModalShow" (closeModelHs)="closeDirectOrderModelOrder($event)" (confirmModelHs)="confirmDirectOrderModelOrder($event)"></app-incident-direct-order>
  2399. <!-- 知识库查看 -->
  2400. <app-knowledge-look (cancelKnowledgeModal)="cancelKnowledgeModal()" *ngIf="isShowKnowledge" [knowledgeData]="coopData"></app-knowledge-look>
  2401. <!-- 详情 -->
  2402. <app-incident-detail [id]="coopData.id" *ngIf="detailModalShow" (closeModelHs)="closeDetailModelOrder($event)" (confirmModelHs)="confirmDetailModelOrder($event)"></app-incident-detail>
  2403. <!-- 图片预览 -->
  2404. <app-image-viewer [imageUrl]="imgs" hidden *ngIf="isPreview" [isPreviewNow]="true" [initialViewIndex]="initialViewIndex"></app-image-viewer>
  2405. <!-- 不受理 -->
  2406. <app-incident-reject [id]="coopData.id" *ngIf="rejectModalShow" (closeModelHs)="closeRejectModelOrder($event)" (confirmModelHs)="confirmRejectModelOrder($event)"></app-incident-reject>
  2407. <!-- 换人处理 -->
  2408. <app-incident-substitution [id]="coopData.id" *ngIf="substitutionModalShow" (closeModelHs)="closeSubstitutionModelOrder($event)" (confirmModelHs)="confirmSubstitutionModelOrder($event)"></app-incident-substitution>
  2409. <app-dialog-delete [delModal]="delModal" (hideDelModalEvent)="hideDelModal()" [btnLoading]="btnLoading" (confirmDelEvent)="confirmDelFn()" [content]="tipsMsg1"></app-dialog-delete>
  2410. <!-- 处理 -->
  2411. <app-incident-handle [id]="coopData.id" *ngIf="handleModalShow" (closeModelHs)="closeHandleModelOrder($event)" (confirmModelHs)="confirmHandleModelOrder($event)"></app-incident-handle>
  2412. <!-- 回访 -->
  2413. <app-incident-ser-visit *ngIf="visitShow" (closeModelHs)="closeVisit($event)"></app-incident-ser-visit>