fuwutai.component.html 144 KB

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