12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204 |
- <div class="fuwutai">
- <div class="top" id="top" *ngIf="hurseInfoHiding != 1 && hsmsData.hsmsSwitch">
- <!-- 头部Tab -->
- <div class="tabBox">
- <div class="tab" #tabs>
- <div class="tab_inner" [style.transform]="'translateX(' + disXHead + 'px)'">
- <!-- <div [ngClass]="{ tabItem: true, checked: typeId == -1 }" (click)="checkTab(-1)">
- 全部
- </div> -->
- <div [ngClass]="{ tabItem: true, checked: typeId == item.id }" *ngFor="let item of scopeGroups" (click)="checkTab(item.id)" [title]="item.groupName">
- {{ item.groupName }}
- </div>
- </div>
- </div>
- <div class="tabBox__operate">
- <i class="tabBox__Icon--right icon_transport transport-xiangzuo" (click)="headToLeft()"></i>
- <i class="tabBox__Icon--left icon_transport transport-xiangzuo" (click)="headToRight()"></i>
- </div>
- <div class="timer">{{ workerRefreshTime }}s</div>
- </div>
- <!-- 配送人员信息内容 -->
- <div class="message_cot">
- <!-- 配送人员信息 -->
- <div class="cot_hid" [style.height]="cotHeight + 'px'">
- <ng-container *ngIf="!wLoading && typeData && (typeData.type === 1 || typeData.type === 2)">
- <div id="cotAll" class="cot_all" *ngIf="patientCareCol == 7">
- <div [ngClass]="{cot: true, sevenCol: true}" *ngFor="let data of workerMessage">
- <div class="first" *ngIf="data">
- <span nz-tooltip [nzTooltipTitle]="data.phone">{{ data.name }}</span>
- <span>累计{{ data.totalCount }}单</span>
- <span class="times imptime" *ngIf="data.freetime === '今日还未接单' || data.freetime === null">{{ data.freetime }}</span>
- <span class="times imptime imptime-green" *ngIf="data.freetime !== '今日还未接单' && data.freetime !== null">{{ "空闲时间" + data.freetime }}</span>
- </div>
- <div class="second" *ngIf="data">
- <span *ngIf="data.workingFlag == true">{{ data.gdType }}</span>
- <span [ngClass]="{ fr: true, colorRed: data.timeOut == true }" *ngIf="data.workingFlag == true">{{ data.gdState }}</span>
- </div>
- </div>
- </div>
- </ng-container>
- <ng-container *ngIf="!wLoading && typeData && typeData.type === 3">
- <div id="cotAll" class="cot_all">
- <div [ngClass]="{cot: true, sevenCol: true}" *ngFor="let data of workerMessage">
- <div class="first" *ngIf="data">
- <span nz-tooltip [nzTooltipTitle]="data[2]">{{ data[1] }}</span>
- <span class="fr">今日完成:{{ data[3][2] }}</span>
- </div>
- <div class="first" *ngIf="data">
- <span>待接单:{{ data[3][0] }}</span>
- <span class="fr">处理中:{{ data[3][1] }}</span>
- </div>
- </div>
- </div>
- </ng-container>
- <div class="cot_img" *ngIf="wLoading">
- <img src="../../assets/images/loading.gif" alt="" />
- </div>
- <div class="cot_img" *ngIf="!wLoading && workerMessage.length == 0">
- <span>暂无数据</span>
- </div>
- </div>
- <div class="arrow" *ngIf="showRowNum < maxNum" (click)="unfold()">
- <i class="icon_transport transport-xiala2-01"></i>
- </div>
- <div class="arrow" *ngIf="showRowNum > maxNum || showRowNum == maxNum" (click)="retract()">
- <i class="icon_transport transport-shangla-"></i>
- </div>
- </div>
- </div>
- <div *ngIf="hurseInfoHiding==1 && unassignedList.length && !loading1">
- <button nz-button nzType="primary" (click)="allSendOrders()">
- 一键派单
- </button>
- </div>
- <!-- 状态工单 -->
- <div class="lists_box" [ngClass]="{ top185: hurseInfoHiding != 1 }">
- <!-- 未分派/未受理 -->
- <div class="lists">
- <div class="head">
- <span class="auto_tit"><span *ngIf="flagList.hsmsFlag1">未分派</span><span *ngIf="flagList.itsmFlag1 && flagList.hsmsFlag1">/</span><span *ngIf="flagList.itsmFlag1">未受理</span>({{ unassignedList.length }}条)</span>
- <div class="ml8 auto_building" *ngIf="!flagList.itsmFlag1 && flagList.hsmsFlag1">
- <nz-select class="auto_building_select" [(ngModel)]="unassignedBuilding" nzMode="multiple" nzPlaceHolder="请选择楼栋" (nzOpenChange)="openChangeUnassignedBuilding($event)" (ngModelChange)="changeUnassignedBuilding($event)">
- <ng-container *ngFor="let option of unassignedBuildings">
- <nz-option *ngIf="!bLoading && !b2Loading" [nzLabel]="option[0] + '(' + option[2] + ')'" [nzValue]="option[3]"></nz-option>
- </ng-container>
- <nz-option *ngIf="bLoading || b2Loading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </div>
- <span class="toLastTime">
- <span class="order" (click)="orderList()">{{orderType === 'priority' ? '优先级' : '建单时间'}}</span>
- <span class="itsmOrHsms" [ngClass]="{bold: flagList.itsmFlag1}" *ngIf="itsmData.mdv2Switch" (click)="filterOrderList('itsm', 1)">运维</span>
- <span class="itsmOrHsms" *ngIf="itsmData.mdv2Switch && hsmsData.hsmsSwitch">|</span>
- <span class="itsmOrHsms" [ngClass]="{bold: flagList.hsmsFlag1}" *ngIf="hsmsData.hsmsSwitch" (click)="filterOrderList('hsms', 1)">配送</span>
- <span class="time">{{ orderRefreshTime }}s</span></span>
- </div>
- <div class="searchBox">
- <label *ngIf="!flagList.itsmFlag1 && flagList.hsmsFlag1" nz-checkbox [(ngModel)]="allUnassignedList" (ngModelChange)="changeAllUnassignedList($event)">全选</label>
- <div class="search wp60">
- <input class="wp75" type="text" placeholder="请输入关键字" [(ngModel)]="unassignedSearchCon" />
- <div class="magnifier wp20" (click)="searchUnassigned()">
- <i class="icon_transport transport-sousuo"></i>
- <span>搜索</span>
- </div>
- </div>
- <button *ngIf="!flagList.itsmFlag1 && flagList.hsmsFlag1" nz-button nzType="primary" (click)="batchDispatch()" [disabled]="!batchType">
- 批量派单
- </button>
- </div>
- <div class="cots_body weifenpai" *ngIf="(txtLabelCol == 1 && flagList.hsmsFlag1 && !flagList.itsmFlag1) || flagList.itsmFlag1" [ngClass]="{ top185: hurseInfoHiding != 1, top185_1: flagList.itsmFlag1 }">
- <virtual-scroller [items]="unassignedList" #osComponentRef2 [ngStyle]="{ height: '100%' }">
- <ng-container *ngIf="unassignedList.length && !loading1">
- <div class="list listsTypeColor" *ngFor="let data of osComponentRef2.viewPortItems;trackBy:trackById;let index = index;">
- <!-- 配送 绿色-->
- <ng-container *ngIf="data.type === 'hsms'">
- <div class="top-border2" *ngIf="index == 0"></div>
- <div class="top-border2 top-border3" *ngIf="index == 1"></div>
- <div class="top-border2" *ngIf="index > 1" [ngClass]="{'top-border3': data.data.timeOut == true}"></div>
- <div class="left-border2"></div>
- <div class="left_cots" (click)="openDetails(data.data)">
- <!-- 工单 -->
- <div class="gongdan" (click)="batchDispatchSelect(!data.checked, data.data.id, $event)">
- <span class="left mr8" *ngIf="!flagList.itsmFlag1 && flagList.hsmsFlag1"><label nz-checkbox [ngModel]="data.checked" (ngModelChange)="batchDispatchSelect($event, data.data.id)"></label></span>
- <span class="left gongdan_name" nz-tooltip [nzTooltipTitle]="data.data.taskType.taskName + (data.data.goodsRemark?'-'+data.data.goodsRemark:'')+'(' + data.data.gdcode + ')'">
- <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 }})
- </span>
- <div class="right_all">
- <span nz-tooltip [nzTooltipTitle]="data.data.worker ? data.data.worker.phone : ''" class="right_all_name">{{ data.data.worker ? data.data.worker.name : "" }}</span>
- <span class="right">
- <span [ngClass]="{ colorRed: data.data.timeOut == true }">{{ data.data.gdState.name }}</span>
- </span>
- </div>
- </div>
- <!-- 地点 -->
- <div class="didian">
- <span class="left" *ngIf="data.data.taskType.associationType.value == 'inspect'">
- {{ data.data.startDept ? data.data.startDept.dept : "" }}
- <span *ngFor="let item of data.data.middleDept">
- ->{{ item.dept }}
- </span>
- </span>
- <span class="left" *ngIf="data.data.taskType.associationType.id != 260">
- {{ data.data.startDept ? data.data.startDept.dept : ""}}{{ data.data.endDepts ? "->" + data.data.endDepts[0].dept : "" }}
- </span>
- <span class="right" *ngIf="data.data.goods">
- <i class="icon_transport transport-icon3"></i>
- <span>{{ data.data.goods }}</span>
- </span>
- <span class="right" *ngIf="data.data.workOrderRemark" [title]="data.data.workOrderRemark">
- <i class="icon_transport transport-icon3"></i>
- <span>{{ data.data.workOrderRemark }}</span>
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian">
- <span class="left" *ngIf="data.data.expectTimeNum && data.data.timeOut != true">
- <i class="icon_transport transport-shouye10" nz-tooltip nzTooltipTitle="进行中"></i>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
- <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
- <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
- </ng-container>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
- <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
- </ng-container>
- <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>
- </span>
- <span class="left" *ngIf="data.data.timeOutLength && data.data.timeOut == true">
- <i class="colorRed icon_transport transport-daojishi" nz-tooltip nzTooltipTitle="超时"></i>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
- <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
- <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
- </ng-container>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
- <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
- </ng-container>
- <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>
- </span>
- <span class="right" nz-tooltip [nzTooltipTitle]="'总时长' + formatTime(data.data.expectTimeNum / 1000)">
- <span class="source-name" *ngIf="data.data.sourceName && showSource == 1">
- {{data.data.sourceName}}
- </span>
- {{ data.data.showCreateTime }}
- </span>
- </div>
- <!-- 急单 -->
- <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
- <!-- 加急单 -->
- <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
- </div>
- <div class="right_bots display_flex col-flex align-items_center justify-content_flex-center">
- <input type="button" *ngIf="data.data.gdState.value == 2" class="top_bot" value="派单" (click)="allotWorker(data.data.id, data.data.gdState.id)" />
- <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)" />
- <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)" />
- <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')" />
- </div>
- <div *ngIf="data.data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.data.percent + '%' }"></div>
- <div *ngIf="data.data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
- <div class="bottom-border2"></div>
- <div class="right-border2"></div>
- </ng-container>
- <!-- 运维 蓝色-->
- <ng-container *ngIf="data.type === 'mdv2'">
- <div class="top-border" *ngIf="!osComponentRef2.viewPortItems[index-1]"></div>
- <div class="top-border top-border3" *ngIf="osComponentRef2.viewPortItems[index-1] && osComponentRef2.viewPortItems[index-1].type=='hsms'"></div>
- <div class="top-border" *ngIf="osComponentRef2.viewPortItems[index-1] && osComponentRef2.viewPortItems[index-1].type!='hsms'" [ngClass]="{'top-border3': data.data.overtimePercent > 100}"></div>
- <div class="left-border"></div>
- <div class="left_cots" (click)="openItsmDetails(data.data)">
- <div class="gongdan">
- <span class="left gongdan_name">
- <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>
- </span>
- <div class="right_all">
- <span class="right">
- <span>{{ data.data.state.name }}</span>
- </span>
- </div>
- </div>
- <div class="didian">
- <span class="left">
- <span nz-tooltip [nzTooltipTitle]="data.data.description">{{ data.data.description }}</span>
- </span>
- </div>
- <div class="didian">
- <span class="left">
- <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>
- <i class="icon_transport transport-a-11111 ml8" *ngIf="data.data.reqAttachment"></i>
- <i class="icon_transport transport-luyin ml8" *ngIf="data.data.reqRecord"></i>
- </span>
- </div>
- <div class="didian" *ngIf="data.data.overtimeRemark">
- <span class="left">
- <span [innerHTML]="data.data.overtimeRemark" nz-tooltip [nzTooltipTitle]="data.data.overtimeRemark"></span>
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian">
- <span class="left">
- <span>
- 申请人:{{ data.data.requester?.name }}
- </span>
- </span>
- <span class="right">
- <span class="source-name" *ngIf="data.data.source && showSource == 1">
- {{data.data.source.name}}
- </span>
- {{ data.data.startDate | date: 'yyyy-MM-dd HH:mm'}}
- </span>
- </div>
- </div>
- <div class="right_bots display_flex col-flex align-items_center justify-content_flex-center">
- <input type="button" *ngIf="data.computedEditFlag && data.data.state.value == 'reassign'" class="top_bot" value="编辑" (click)="edit(data.data)" />
- <input type="button" *ngIf="data.computedSubstitutionFlag && data.data.state.value == 'reassign'" class="top_bot" value="换人处理" (click)="substitution(data.data)" />
- <input type="button" *ngIf="coopBtns.generate && data.data.state.value == 'accept'" class="top_bot" value="生成" (click)="generateOrder(data.data)" />
- <input type="button" *ngIf="coopBtns.reject && data.data.state.value == 'accept'" class="top_bot" value="不受理" (click)="rejectFn(data.data)" />
- <input type="button" *ngIf="coopBtns.continue && data.data.state.value == 'storage'" class="top_bot" value="继续建单" (click)="storageSj(data.data)" />
- <input type="button" *ngIf="coopBtns.del" class="btm_bot" value="删除" (click)="openDelModal(data.data.id, 'itsm')" />
- </div>
- <div *ngIf="data.data.overtimePercent <= 100" class="slider sgreen" [ngStyle]="{ width: data.data.overtimePercent + '%' }"></div>
- <div *ngIf="data.data.overtimePercent > 100" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
- <div class="bottom-border"></div>
- <div class="right-border"></div>
- </ng-container>
- </div>
- </ng-container>
- <div class="loading display_flex col-flex justify-content_flex-center align-items_center" *ngIf="loading1">
- <img src="../../assets/images/loading.gif" alt="" />
- </div>
- <div class="no_data" *ngIf="unassignedList.length == 0 && !loading1">
- 暂无数据
- </div>
- </virtual-scroller>
- </div>
- </div>
- <!-- 待到达/待接单 -->
- <div class="lists">
- <div class="head">
- <span class="auto_tit"><span *ngIf="flagList.hsmsFlag2">待到达</span><span *ngIf="flagList.itsmFlag2 && flagList.hsmsFlag2">/</span><span *ngIf="flagList.itsmFlag2">待接单</span>({{ arriveList.length }}条)</span>
- <span class="toLastTime">
- <span class="order" (click)="orderList()">{{orderType === 'priority' ? '优先级' : '建单时间'}}</span>
- <span class="itsmOrHsms" [ngClass]="{bold: flagList.itsmFlag2}" *ngIf="itsmData.mdv2Switch" (click)="filterOrderList('itsm', 2)">运维</span>
- <span class="itsmOrHsms" *ngIf="itsmData.mdv2Switch && hsmsData.hsmsSwitch">|</span>
- <span class="itsmOrHsms" [ngClass]="{bold: flagList.hsmsFlag2}" *ngIf="hsmsData.hsmsSwitch" (click)="filterOrderList('hsms', 2)">配送</span>
- <span class="time">{{ orderRefreshTime }}s</span></span>
- </div>
- <div class="searchBox">
- <label *ngIf="!flagList.itsmFlag2 && flagList.hsmsFlag2" nz-checkbox [(ngModel)]="allArriveList" (ngModelChange)="changeAllArriveList($event)">全选</label>
- <div class="search wp60">
- <input class="wp75" type="text" placeholder="请输入关键字" [(ngModel)]="arriveSearchCon" />
- <div class="magnifier wp20" (click)="searchArrive()">
- <i class="icon_transport transport-sousuo"></i>
- <span>搜索</span>
- </div>
- </div>
- <button *ngIf="!flagList.itsmFlag2 && flagList.hsmsFlag2" nz-button nzType="primary" (click)="batchWithdrawal()" [disabled]="!batchType1">
- 批量撤回
- </button>
- </div>
- <div class="cots_body daidaoda" *ngIf="(txtLabelCol == 1 && flagList.hsmsFlag2 && !flagList.itsmFlag2) || flagList.itsmFlag2" [ngClass]="{ top185: hurseInfoHiding != 1, top185_1: flagList.itsmFlag2 }">
- <virtual-scroller [items]="arriveList" #osComponentRef3 [ngStyle]="{ height: '100%' }">
- <ng-container *ngIf="arriveList.length && !loading2">
- <div class="list listsTypeColor" *ngFor="let data of osComponentRef3.viewPortItems;trackBy:trackById;let index = index;">
- <!-- 配送 -->
- <ng-container *ngIf="data.type === 'hsms'">
- <div class="top-border2" *ngIf="index == 0"></div>
- <div class="top-border2" *ngIf="index > 0" [ngClass]="{'top-border3': data.data.timeOut == true}"></div>
- <div class="left-border2"></div>
- <div class="left_cots" (click)="openDetails(data.data)">
- <!-- 工单 -->
- <div class="gongdan" (click)="batchWithdrawalSelect(!data.checked, data.data.id, $event)">
- <span class="left mr8" *ngIf="!flagList.itsmFlag2 && flagList.hsmsFlag2">
- <label nz-checkbox [ngModel]="data.checked" (ngModelChange)="batchWithdrawalSelect($event, data.data.id)"></label>
- </span>
- <span class="left gongdan_name" nz-tooltip [nzTooltipTitle]="data.data.taskType.taskName + (data.data.goodsRemark?'-'+data.data.goodsRemark:'')+'(' + data.data.gdcode + ')'">
- <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 }})
- </span>
- <div class="right_all">
- <span nz-tooltip [nzTooltipTitle]="data.data.worker ? data.data.worker.phone : ''" class="right_all_name">{{ data.data.worker ? data.data.worker.name : "" }}</span>
- <span class="right">
- <span [ngClass]="{ colorRed: data.data.timeOut == true }">{{ data.data.gdState.name }}</span>
- </span>
- </div>
- </div>
- <!-- 地点 -->
- <div class="didian">
- <span class="left" *ngIf="data.data.taskType.associationType && data.data.taskType.associationType.value == 'inspect'">
- {{ data.data.startDept ? data.data.startDept.dept : "" }}
- <span *ngFor="let item of data.data.middleDept">
- ->{{ item.dept }}
- </span>
- </span>
- <span class="left" *ngIf="data.data.taskType.associationType && data.data.taskType.associationType.id != 260">
- {{ data.data.startDept ? data.data.startDept.dept : "" }}{{ data.data.endDepts ? " -> " + data.data.endDepts[0].dept : "" }}
- </span>
- <span class="right" *ngIf="data.data.goods">
- <i class="icon_transport transport-icon3"></i>
- <span>{{ data.data.goods }}</span>
- </span>
- <span class="right" *ngIf="data.data.workOrderRemark" [title]="data.data.workOrderRemark">
- <i class="icon_transport transport-icon3"></i>
- <span>{{ data.data.workOrderRemark }}</span>
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian">
- <span class="left" *ngIf="data.data.expectTimeNum && data.data.timeOut != true">
- <i class="icon_transport transport-shouye10" nz-tooltip nzTooltipTitle="进行中"></i>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
- <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
- <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
- </ng-container>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
- <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
- </ng-container>
- <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>
- </span>
- <span class="left" *ngIf="data.data.timeOutLength && data.data.timeOut == true">
- <i class="colorRed icon_transport transport-daojishi" nz-tooltip nzTooltipTitle="超时"></i>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
- <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
- <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
- </ng-container>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
- <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
- </ng-container>
- <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>
- </span>
- <span class="right" nz-tooltip [nzTooltipTitle]="'总时长' + formatTime(data.data.expectTimeNum / 1000)">
- <span class="source-name" *ngIf="data.data.sourceName && showSource == 1">
- {{data.data.sourceName}}
- </span>
- {{ data.data.showCreateTime }}
- </span>
- </div>
- <!-- 急单 -->
- <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
- <!-- 加急单 -->
- <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
- </div>
- <div class="right_bots display_flex col-flex align-items_center justify-content_space-around">
- <input type="button" *ngIf="data.data.gdState.value == 2" class="top_bot" value="派单" (click)="allotWorker(data.data.id, data.data.gdState.id)" />
- <input type="button" *ngIf="data.data.gdState.value == 3 || data.data.gdState.value == 4" class="top_bot" value="撤回" (click)="openRecallModal(data.data.id)" />
- <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)" />
- <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')" />
- </div>
- <div *ngIf="data.data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.data.percent + '%' }"></div>
- <div *ngIf="data.data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
- <div class="bottom-border2"></div>
- <div class="right-border2"></div>
- </ng-container>
- <!-- 运维 -->
- <ng-container *ngIf="data.type === 'mdv2'">
- <div class="top-border" *ngIf="index == 0"></div>
- <div class="top-border" *ngIf="index > 0" [ngClass]="{'top-border3': data.data.overtimePercent > 100}"></div>
- <div class="left-border"></div>
- <div class="left_cots" (click)="openItsmDetails(data.data)">
- <div class="gongdan">
- <span class="left gongdan_name">
- <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>
- </span>
- <div class="right_all">
- <span class="right">
- <span>{{ data.data.state.name }}</span>
- </span>
- </div>
- </div>
- <div class="didian">
- <span class="left">
- <span nz-tooltip [nzTooltipTitle]="data.data.description">{{ data.data.description }}</span>
- </span>
- </div>
- <div class="didian">
- <span class="left">
- <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>
- <i class="icon_transport transport-a-11111 ml8" *ngIf="data.data.reqAttachment"></i>
- <i class="icon_transport transport-luyin ml8" *ngIf="data.data.reqRecord"></i>
- </span>
- </div>
- <div class="didian" *ngIf="data.data.overtimeRemark">
- <span class="left">
- <span [innerHTML]="data.data.overtimeRemark" nz-tooltip [nzTooltipTitle]="data.data.overtimeRemark"></span>
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian">
- <span class="left">
- <span>
- 处理人/组:{{ transferSynergetic(data.data) }}
- </span>
- </span>
- <span class="right">
- <span class="source-name" *ngIf="data.data.source && showSource == 1">
- {{data.data.source.name}}
- </span>
- {{ data.data.startDate | date: 'yyyy-MM-dd HH:mm'}}
- </span>
- </div>
- </div>
- <div class="right_bots display_flex col-flex align-items_center justify-content_flex-center">
- <input type="button" *ngIf="data.computedEditFlag" class="top_bot" value="编辑" (click)="edit(data.data)" />
- <input type="button" *ngIf="data.computedSubstitutionFlag" class="top_bot" value="换人处理" (click)="substitution(data.data)" />
- <!-- <input type="button" *ngIf="data.computedReceiveFlag" class="top_bot" value="接单" (click)="showDelModal($event, data.data,'您确认要接单吗?','接单','receive')" /> -->
- <input type="button" *ngIf="coopBtns.del" class="btm_bot" value="删除" (click)="openDelModal(data.data.id, 'itsm')" />
- </div>
- <div *ngIf="data.data.overtimePercent <= 100" class="slider sgreen" [ngStyle]="{ width: data.data.overtimePercent + '%' }"></div>
- <div *ngIf="data.data.overtimePercent > 100" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
- <div class="bottom-border"></div>
- <div class="right-border"></div>
- </ng-container>
- </div>
- </ng-container>
- <div class="loading display_flex col-flex justify-content_flex-center align-items_center" *ngIf="loading2">
- <img src="../../assets/images/loading.gif" alt="" />
- </div>
- <div class="no_data" *ngIf="arriveList.length == 0 && !loading2">
- 暂无数据
- </div>
- </virtual-scroller>
- </div>
- </div>
- <!-- 执行中 -->
- <div class="lists">
- <div class="head">
- <span class="auto_tit"><span *ngIf="flagList.hsmsFlag3">执行中</span><span *ngIf="flagList.itsmFlag3 && flagList.hsmsFlag3">/</span><span *ngIf="flagList.itsmFlag3">处理中</span>({{ executionList.length }}条)</span>
- <span class="toLastTime">
- <span class="order" (click)="orderList()">{{orderType === 'priority' ? '优先级' : '建单时间'}}</span>
- <span class="itsmOrHsms" [ngClass]="{bold: flagList.itsmFlag3}" *ngIf="itsmData.mdv2Switch" (click)="filterOrderList('itsm', 3)">运维</span>
- <span class="itsmOrHsms" *ngIf="itsmData.mdv2Switch && hsmsData.hsmsSwitch">|</span>
- <span class="itsmOrHsms" [ngClass]="{bold: flagList.hsmsFlag3}" *ngIf="hsmsData.hsmsSwitch" (click)="filterOrderList('hsms', 3)">配送</span>
- <span class="time">{{ orderRefreshTime }}s</span></span>
- </div>
- <div class="searchBox">
- <div class="search">
- <input type="text" placeholder="请输入关键字" [(ngModel)]="executionSearchCon" />
- <div class="magnifier" (click)="searchExecution()">
- <i class="icon_transport transport-sousuo"></i>
- <span>搜索</span>
- </div>
- </div>
- </div>
- <div class="cots_body zhixingzhong" *ngIf="(txtLabelCol == 1 && flagList.hsmsFlag3 && !flagList.itsmFlag3) || flagList.itsmFlag3" [ngClass]="{ top185: hurseInfoHiding != 1, top185_1: flagList.itsmFlag3 }">
- <virtual-scroller [items]="executionList" #osComponentRef5 [ngStyle]="{ height: '100%' }">
- <ng-container *ngIf="executionList.length && !loading3">
- <div class="list" *ngFor="let data of osComponentRef5.viewPortItems;trackBy:trackById;let index = index;">
- <!-- 配送 -->
- <ng-container *ngIf="data.type === 'hsms'">
- <div class="top-border2" *ngIf="index == 0"></div>
- <div class="top-border2" *ngIf="index > 0" [ngClass]="{'top-border3': data.data.timeOut == true}"></div>
- <div class="left-border2"></div>
- <div class="left_cots" (click)="openDetails(data.data)">
- <!-- 工单 -->
- <div class="gongdan">
- <span class="left mr8" *ngIf="!flagList.itsmFlag3 && flagList.hsmsFlag3">
- <label nz-checkbox [ngModel]="data.checked" (ngModelChange)="batchWithdrawalSelect($event, data.data.id)"></label>
- </span>
- <span class="left gongdan_name" nz-tooltip [nzTooltipTitle]="data.data.taskType.taskName + (data.data.goodsRemark?'-'+data.data.goodsRemark:'')+'(' + data.data.gdcode + ')'">
- <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 }})
- </span>
- <div class="right_all">
- <span nz-tooltip [nzTooltipTitle]="data.data.worker ? data.data.worker.phone : ''" class="right_all_name">{{ data.data.worker ? data.data.worker.name : "" }}</span>
- <span class="right">
- <span [ngClass]="{ colorRed: data.data.timeOut == true }">{{ data.data.gdState.name }}</span>
- </span>
- </div>
- </div>
- <!-- 地点 -->
- <div class="didian">
- <span class="left" *ngIf="data.data.taskType.associationType && data.data.taskType.associationType.value == 'inspect'">
- {{ data.data.startDept ? data.data.startDept.dept : "" }}
- <span *ngFor="let item of data.data.middleDept">
- ->{{ item.dept }}
- </span>
- </span>
- <span class="left" *ngIf="data.data.taskType.associationType && data.data.taskType.associationType.id != 260">
- {{ data.data.startDept ? data.data.startDept.dept : "" }}{{ data.data.endDepts ? " -> " + data.data.endDepts[0].dept : "" }}
- </span>
- <span class="right" *ngIf="data.data.goods">
- <i class="icon_transport transport-icon3"></i>
- <span>{{ data.data.goods }}</span>
- </span>
- <span class="right" *ngIf="data.data.workOrderRemark" [title]="data.data.workOrderRemark">
- <i class="icon_transport transport-icon3"></i>
- <span>{{ data.data.workOrderRemark }}</span>
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian">
- <span class="left" *ngIf="data.data.expectTimeNum && data.data.timeOut != true">
- <i class="icon_transport transport-shouye10" nz-tooltip nzTooltipTitle="进行中"></i>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
- <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
- <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
- </ng-container>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
- <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
- </ng-container>
- <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>
- </span>
- <span class="left" *ngIf="data.data.timeOutLength && data.data.timeOut == true">
- <i class="colorRed icon_transport transport-daojishi" nz-tooltip nzTooltipTitle="超时"></i>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.illnessState">
- <i *ngIf="data.data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
- <i *ngIf="data.data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
- </ng-container>
- <ng-container *ngIf="(data.data.taskType.associationType.value == 'patientTransport' || data.data.taskType.associationType.value == 'inspect') && data.data.patient?.careLevel">
- <i *ngIf="data.data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
- <i *ngIf="data.data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
- </ng-container>
- <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>
- </span>
- <span class="right" nz-tooltip [nzTooltipTitle]="'总时长' + formatTime(data.data.expectTimeNum / 1000)">
- <span class="source-name" *ngIf="data.data.sourceName && showSource == 1">
- {{data.data.sourceName}}
- </span>
- {{ data.data.showCreateTime }}
- </span>
- </div>
- <!-- 急单 -->
- <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
- <!-- 加急单 -->
- <img *ngIf="data.data.emergencyType && data.data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
- </div>
- <div class="right_bots display_flex col-flex align-items_center justify-content_space-around">
- <input type="button" *ngIf="data.data.gdState.value == 2" class="top_bot" value="派单" (click)="allotWorker(data.data.id, data.data.gdState.id)" />
- <input type="button" *ngIf="data.data.gdState.value == 3 || data.data.gdState.value == 4" class="mid_bot" value="撤回" (click)="openRecallModal(data.data.id)" />
- <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')" />
- </div>
- <div *ngIf="data.data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.data.percent + '%' }"></div>
- <div *ngIf="data.data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
- <div class="bottom-border2"></div>
- <div class="right-border2"></div>
- </ng-container>
- <!-- 运维 -->
- <ng-container *ngIf="data.type === 'mdv2'">
- <div class="top-border" *ngIf="index == 0"></div>
- <div class="top-border" *ngIf="index > 0" [ngClass]="{'top-border3': data.data.overtimePercent > 100}"></div>
- <div class="left-border"></div>
- <div class="left_cots" (click)="openItsmDetails(data.data)">
- <div class="gongdan">
- <span class="left gongdan_name">
- <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>
- </span>
- <div class="right_all">
- <span class="right">
- <span>{{ data.data.state.name }}</span>
- </span>
- </div>
- </div>
- <div class="didian">
- <span class="left">
- <span nz-tooltip [nzTooltipTitle]="data.data.description">{{ data.data.description }}</span>
- </span>
- </div>
- <div class="didian">
- <span class="left">
- <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>
- <i class="icon_transport transport-a-11111 ml8" *ngIf="data.data.reqAttachment"></i>
- <i class="icon_transport transport-luyin ml8" *ngIf="data.data.reqRecord"></i>
- </span>
- </div>
- <div class="didian" *ngIf="data.data.overtimeRemark">
- <span class="left">
- <span [innerHTML]="data.data.overtimeRemark" nz-tooltip [nzTooltipTitle]="data.data.overtimeRemark"></span>
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian">
- <span class="left">
- <span>
- 处理人/组:{{ transferSynergetic(data.data) }}
- </span>
- </span>
- <span class="right">
- <span class="source-name" *ngIf="data.data.source && showSource == 1">
- {{data.data.source.name}}
- </span>
- {{ data.data.startDate | date: 'yyyy-MM-dd HH:mm'}}
- </span>
- </div>
- </div>
- <div class="right_bots display_flex col-flex align-items_center justify-content_flex-center">
- <input type="button" *ngIf="data.computedEditFlag" class="top_bot" value="编辑" (click)="edit(data.data)" />
- <input type="button" *ngIf="data.computedSubstitutionFlag" class="top_bot" value="换人处理" (click)="substitution(data.data)" />
- <!-- <input type="button" *ngIf="data.computedHandleFlag" class="top_bot" value="处理" (click)="handle(data.data)" /> -->
- <input type="button" *ngIf="coopBtns.del" class="btm_bot" value="删除" (click)="openDelModal(data.data.id, 'itsm')" />
- </div>
- <div *ngIf="data.data.overtimePercent <= 100" class="slider sgreen" [ngStyle]="{ width: data.data.overtimePercent + '%' }"></div>
- <div *ngIf="data.data.overtimePercent > 100" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
- <div class="bottom-border"></div>
- <div class="right-border"></div>
- </ng-container>
- </div>
- </ng-container>
- <div class="loading display_flex col-flex justify-content_flex-center align-items_center" *ngIf="loading3">
- <img src="../../assets/images/loading.gif" alt="" />
- </div>
- <div class="no_data" *ngIf="executionList.length == 0 && !loading3">
- 暂无数据
- </div>
- </virtual-scroller>
- </div>
- </div>
- </div>
- <!-- 右侧悬浮框 -->
- <div id="fixedMenu" class="fixed" [ngStyle]="rightStyle">
- <div class="left" *ngIf="fixedTab != '' && showLastItems && fixedTab != 'newOrder' && fixedTab != 'toSystem' && fixedTab != 'logout'">
- <!-- 叫号信息 -->
- <div
- class="con tableCon"
- *ngIf="fixedTab == 'queueNum' && fixedTab != 'newOrder'"
- >
- <div class="table">
- <nz-table
- #colSpanTable
- [nzData]="[{}]"
- [nzShowPagination]="false"
- nzBordered
- >
- <thead>
- <th nzWidth="10%"></th>
- <th nzWidth="40%"></th>
- <th nzWidth="10%"></th>
- <th nzWidth="40%"></th>
- </thead>
- <tbody>
- <tr>
- <td rowspan="2">B超</td>
- <td>
- <div
- class="
- tdiv
- display_flex
- justify-content_space-between
- align-items_center
- "
- >
- <div class="name">腹部</div>
- <div class="num">
- <div>当前叫号<span>D74</span></div>
- <div>队列中剩余20人</div>
- </div>
- </div>
- </td>
- <td>心脏血管</td>
- <td>
- <div
- class="
- tdiv
- display_flex
- justify-content_space-between
- align-items_center
- "
- >
- <div class="name">心脏血管</div>
- <div class="num">
- <div>当前叫号<span>D74</span></div>
- <div>队列中剩余20人</div>
- </div>
- </div>
- </td>
- </tr>
- <tr>
- <td>
- <div
- class="
- tdiv
- display_flex
- justify-content_space-between
- align-items_center
- "
- >
- <div class="name">妇科</div>
- <div class="num">
- <div>当前叫号<span>D74</span></div>
- <div>队列中剩余20人</div>
- </div>
- </div>
- </td>
- <td>CT</td>
- <td>
- <div class="notOpen">
- <div>
- <img
- src="../../assets/images/icon_jianchakong.png"
- alt=""
- />
- </div>
- <div>暂未开通</div>
- </div>
- </td>
- </tr>
- <tr>
- <td>核磁共振</td>
- <td>
- <div class="notOpen">
- <div>
- <img
- src="../../assets/images/icon_jianchakong.png"
- alt=""
- />
- </div>
- <div>暂未开通</div>
- </div>
- </td>
- <td rowspan="2"></td>
- <td rowspan="2"></td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- </tr>
- </tbody>
- </nz-table>
- </div>
- </div>
- </div>
- <div class="right">
- <div class="fixedMenu" *ngIf="hsmsData.hsmsSwitch || itsmData.mdv2Switch">
- <div class="menuItems">
- <button nz-button nzType="link" class="item itemLink" (click)="showNewOrder('1')" [nzLoading]="getConfigTasktypeLoading || patientLogTasktypeLoading">
- 新建工单
- </button>
- </div>
- </div>
- <div class="fixedMenu" *ngIf="!incomingService.getPhoneNumber()">
- <div class="menuItems">
- <button nz-button nzType="link" class="item itemLink" (click)="showBindExtensionNumber()">
- 绑定分机
- </button>
- </div>
- </div>
- <div class="fixedMenu" *ngIf="!websocketLoading && incomingService.getPhoneNumber()">
- <div class="menuItems">
- <button nz-button nzType="link" class="item itemLink" (click)="checkOut()">
- 签出
- </button>
- </div>
- </div>
- <div class="fixedMenu">
- <div class="menuItems">
- <div class="others" [ngStyle]="{ height: showLastItems ? mainRole ? 35 * 5 + 'px' : 35 * 4 + 'px' : 0 }">
- <div [ngClass]="{ item: true, checked: fixedTab == 'orderScope' }" (click)="showOrderScope()">
- 工单范围
- </div>
- <div [ngClass]="{ item: true, checked: fixedTab == 'colType' }" (click)="showDisplayForm()">
- 展示形式
- </div>
- <div [ngClass]="{ item: true, checked: fixedTab == 'nucleicAcidPrinting' }" (click)="checkFixedTab('nucleicAcidPrinting')" *ngIf="isShowNucleicAcidPrinting">
- 核酸打印
- </div>
- <!-- <div [ngClass]="{ item: true, checked: fixedTab == 'queueNum' }" (click)="checkFixedTab('queueNum')">
- 叫号信息
- </div> -->
- <div [ngClass]="{ item: true, checked: fixedTab == 'toSystem' }" *ngIf="mainRole" (click)="checkFixedTab('toSystem')">
- 返回系统
- </div>
- <div [ngClass]="{ item: true, checked: fixedTab == 'logout' }" (click)="checkFixedTab('logout')">
- 退出系统
- </div>
- </div>
- </div>
- <div class="arrow" *ngIf="!showLastItems" (click)="fixedMenuXiala()">
- <i class="icon_transport transport-xiala2-01"></i>
- </div>
- <div class="arrow" *ngIf="showLastItems" (click)="fixedMenuShangla()">
- <i class="icon_transport transport-shangla-"></i>
- </div>
- </div>
- </div>
- <div *ngIf="showLastItems && fixedTab != '' && fixedTab != 'logout' && fixedTab != 'toSystem' && fixedTab != 'newOrder'" (click)="fixedMenuShangla()" class="fixedMark"></div>
- </div>
- <!-- 右侧悬浮框-录音盒或呼叫中心状态 -->
- <div id="fixedMenuAll" class="fixedAll" *ngIf="!websocketLoading && (incomingService.getPhoneNumber() || (incomingService.getSign() === 'callCenter' && (jry_state=='laidian' || jry_state=='shimang' || jry_state=='shixian' || jry_state=='tonghuazhong')))">
- <div class="right">
- <div class="fixedMenuWrap">
- <div class="fixedMenu" *ngIf="incomingService.getPhoneNumber()">
- <div class="menuItems">
- <div class="item itemLink ellipsis-oneline cursorDefault w100" nz-tooltip [nzTooltipTitle]="incomingService.getPhoneNumber()">
- {{incomingService.getPhoneNumber()}}
- </div>
- </div>
- </div>
- <!-- 录音盒状态 -->
- <div class="fixedMenu" *ngIf="incomingService.getPhoneNumber() && incomingService.getSign() === 'box'">
- <div class="menuItems">
- <i class="icon_transport transport-shixian call-icon"></i>
- </div>
- </div>
- <!-- 呼叫中心状态 -->
- <!-- 来电 -->
- <div class="fixedMenu" *ngIf="jry_state=='laidian' && incomingService.getSign() === 'callCenter'">
- <div class="menuItems">
- <i class="icon_transport transport-laidian call-icon"></i>
- </div>
- </div>
- <!-- 示忙 -->
- <div class="fixedMenu" *ngIf="jry_state=='shimang' && incomingService.getSign() === 'callCenter'">
- <div class="menuItems">
- <i class="icon_transport transport-shimang1 call-icon"></i>
- </div>
- </div>
- <!-- 示闲 -->
- <div class="fixedMenu" *ngIf="jry_state=='shixian' && incomingService.getSign() === 'callCenter'">
- <div class="menuItems">
- <i class="icon_transport transport-shixian call-icon"></i>
- </div>
- </div>
- <!-- 通话中 -->
- <div class="fixedMenu" *ngIf="jry_state=='tonghuazhong' && incomingService.getSign() === 'callCenter'">
- <div class="menuItems">
- <i class="icon_transport transport-tonghuazhong call-icon"></i>
- </div>
- </div>
- <div class="fixedMenu" *ngIf="incomingService.getSign() === 'callCenter' && ((jry_state == 'shimang' && isShixian) || jry_state == 'shixian')">
- <div class="menuItems">
- <button nz-button nzType="link" class="item itemLink call-status" (click)="jry_shixian($event)" *ngIf="jry_state=='shimang' && isShixian">
- 示闲
- </button>
- <button nz-button nzType="link" class="item itemLink call-status" (click)="jry_shimang($event)" *ngIf="jry_state == 'shixian'">
- 示忙
- </button>
- </div>
- </div>
- <!-- 演示用 -->
- <!-- <div class="fixedMenu">
- <div class="menuItems">
- <div class="item itemLink ellipsis-oneline cursorDefault w100" nz-tooltip>
- 通话保持
- </div>
- </div>
- </div>
- <div class="fixedMenu" (click)="openYsModal(1)">
- <div class="menuItems">
- <div class="item itemLink ellipsis-oneline cursorDefault w100" nz-tooltip>
- 转接
- </div>
- </div>
- </div>
- <div class="fixedMenu" (click)="openYsModal(2)">
- <div class="menuItems">
- <div class="item itemLink ellipsis-oneline cursorDefault w100" nz-tooltip>
- 三方通话
- </div>
- </div>
- </div> -->
- </div>
- </div>
- </div>
- <!-- 左侧悬浮框 -->
- <div id="fixedMenuLeft" class="fixedLeft" [ngStyle]="leftStyle" [hidden]="!itsmData.mdv2Switch && !hsmsData.hsmsSwitch">
- <div class="right">
- <div class="fixedMenu">
- <div class="menuItems">
- <div class="others">
- <div class="item" (click)="visitOrder()" *ngIf="itsmData.mdv2Switch">回访<span *ngIf="visitNum !== undefined" [ngClass]="{ red: visitNum > 0}">-{{visitNum}}</span></div>
- <div class="item" (click)="messageOrder()" *ngIf="itsmData.mdv2Switch">留言<span *ngIf="messageNum !== undefined" [ngClass]="{ red: visitNum > 0}">-{{messageNum}}</span></div>
- <div class="item itemLink" (click)="callOrder()">通话</div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!-- 核酸打印 -->
- <div
- class="newOrder display_flex justify-content_flex-center align-items_center" *ngIf="fixedTab == 'nucleicAcidPrinting'">
- <div class="modalBody">
- <p class="title">
- 汇总
- <i class="icon_transport transport-guanbi" (click)="nucleicAcidPrintingCancel()"></i>
- </p>
- <div class="content">
- <nz-table class="hospitalTable" [nzData]="nucleicAcidList" nzSize="middle" [nzShowPagination]="false"
- [nzLoading]="nucleicAcidLoading" [nzScroll]="{ y: '428px' }">
- <thead>
- <tr class="thead">
- <th nzWidth="5%">序号</th>
- <th nzWidth="25%">楼栋名字</th>
- <th nzWidth="10%">工单总量</th>
- <th nzWidth="60%">涉及科室</th>
- </tr>
- </thead>
- <tbody>
- <tr *ngFor="let data of nucleicAcidList;let i = index;">
- <td>{{ i + 1 }}</td>
- <td>{{ data.buildName || '无' }}</td>
- <td>{{ data.buildCount || '无' }}</td>
- <td>{{ data.deptNames || '无' }}</td>
- </tr>
- </tbody>
- </nz-table>
- <!-- <div class="pagination">
- <nz-pagination [(nzPageIndex)]="nucleicAcidListPageIndex" [(nzTotal)]="nucleicAcidListLength"
- [(nzPageSize)]="nucleicAcidListPageSize" (nzPageIndexChange)="getNucleicAcidList()"
- (nzPageSizeChange)="getNucleicAcidList()">
- </nz-pagination>
- </div> -->
- </div>
- <div class="btns display_flex justify-content_flex-center align-items_center">
- <button
- nz-button
- class="btn"
- nzType="primary"
- (click)="printAucleicAcid()"
- [nzLoading]="isOkLoading"
- *ngIf="nucleicAcidList.length"
- >
- 打印
- </button>
- <button
- class="btn cancel"
- nz-button
- nzType="default"
- (click)="nucleicAcidPrintingCancel()"
- >
- 取消
- </button>
- </div>
- </div>
- </div>
- <!-- 打印的内容 -->
- <div id="print-section" hidden>
- <div *ngFor="let building of nucleicAcidList;let first = first;" [ngStyle]="{'page-break-before':first?'':'always'}" style="overflow: hidden;">
- <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>
- <div style="width: 50%;float: left;">
- <div style="display: flex;justify-content: center;text-align: center;font-weight: bold;">
- <span style="flex: 2; border: 1px solid #ccc;">科室名称</span>
- <span style="flex: 1; border-bottom: 1px solid #ccc;border-right: 1px solid #ccc;border-top: 1px solid #ccc;">数量</span>
- </div>
- </div>
- <div style="width: 50%;float: left;">
- <div style="display: flex;justify-content: center;text-align: center;font-weight: bold;">
- <span style="flex: 2; border-bottom: 1px solid #ccc;border-right: 1px solid #ccc;border-top: 1px solid #ccc;">科室名称</span>
- <span style="flex: 1; border-bottom: 1px solid #ccc;border-right: 1px solid #ccc;border-top: 1px solid #ccc;">数量</span>
- </div>
- </div>
- <div *ngFor="let item of building.deptData;let even = even;" style="width: 50%;float: left;">
- <div style="display: flex;justify-content: center;text-align: center;">
- <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>
- <span style="flex: 1; border-bottom: 1px solid #ccc;border-right: 1px solid #ccc;"></span>
- </div>
- </div>
- </div>
- </div>
- <button ngxPrint printSectionId="print-section" #printBtn hidden>打印</button>
- <!-- 新建工单 -->
- <div class="newOrder display_flex justify-content_flex-center align-items_center" *ngIf="newOrderShow && newOrderShowOpen" (click)="clickExtra($event)">
- <div class="modalBody">
- <div class="title" *ngIf="currentTabIndex !== '故障报修' && currentTabIndex !== '政务值班'">
- <div class="newTop">
- <div class="name">来电咨询</div>
- <div class="newTopItem" *ngIf="crossHospital==1">
- <span class="grayFont required">院区:</span>
- <nz-select style="width: 160px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzPlaceHolder="请选择院区" [(ngModel)]="inHosId" (ngModelChange)="changeInHospital($event)" nzAllowClear [nzDisabled]="buildType === '编辑事件'">
- <ng-container *ngFor="let option of applicationHospitalList">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </div>
- <div class="newTopItem" *ngIf="crossHospital==1">
- <span class="grayFont">申请科室:</span>
- <nz-select style="width: 146px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeInp('hsms', $event)" nzPlaceHolder="请选择申请科室" [(ngModel)]="applyDept" (ngModelChange)="changeApply($event)">
- <ng-container *ngFor="let option of applicationDepartmentList">
- <nz-option *ngIf="!isLoadingApply" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoadingApply" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </div>
- <div class="newTopItem" *ngIf="crossHospital!=1">
- <span class="grayFont">申请科室:</span>
- <nz-select style="width: 146px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeInp('hsms', $event)" nzPlaceHolder="请选择申请科室" [(ngModel)]="applyDept" (ngModelChange)="changeApply($event)" (nzOpenChange)="openChangeApply($event)">
- <ng-container *ngFor="let option of applicationDepartmentList">
- <nz-option *ngIf="!isLoadingApply" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoadingApply" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </div>
- <div class="newTopItem" *ngIf="false">
- <span class="grayFont">任务类型:</span>
- <nz-select *ngIf="applyDept" style="width: 146px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="onSearchTaskBuild($event)" nzPlaceHolder="请选择任务类型" [(ngModel)]="taskBuild" (ngModelChange)="changeTaskBuild($event)">
- <ng-container *ngFor="let option of searchTaskList">
- <nz-option *ngIf="!searchTaskLoading" [nzLabel]="option.taskTypeName" [nzValue]="option.sid">
- </nz-option>
- </ng-container>
- <nz-option *ngIf="searchTaskLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </div>
- <div class="newTopItem" *ngIf="isShowResidenceNo">
- <span class="grayFont">住院号:</span>
- <input style="width: 146px" nz-input placeholder="请输入住院号" [(ngModel)]="residenceNo" (ngModelChange)="changeResidenceNo($event)" />
- </div>
- <div class="newTopItem" *ngIf="callNumber">
- <span class="grayFont">来电电话:{{callNumber}}</span>
- </div>
- </div>
- </div>
- <div class="title" *ngIf="currentTabIndex === '故障报修'">
- <div class="newTop">
- <div class="name">来电咨询</div>
- <div class="newTopItem" *ngIf="hospitalModel!=1">
- <span class="grayFont required">院区:</span>
- <nz-select style="width: 160px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzPlaceHolder="请选择院区" [(ngModel)]="incidentModel.hosId" (ngModelChange)="changeApplyHospital($event)" nzAllowClear [nzDisabled]="buildType === '编辑事件'">
- <ng-container *ngFor="let option of applicationHospitalList">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </div>
- <div class="newTopItem" [hidden]="incidentModel.repairIncidentType === 'public'">
- <span class="grayFont required">申请科室:</span>
- <nz-select style="width: 160px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeInp('itsm', $event)" nzPlaceHolder="请选择申请科室" [(ngModel)]="incidentModel.department" (ngModelChange)="changeApplyDept($event)" nzAllowClear (nzOpenChange)="openChangeApplyDept($event)">
- <ng-container *ngFor="let option of applicationDeptList">
- <nz-option *ngIf="!isLoadingApply" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoadingApply" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </div>
- <div class="newTopItem">
- <span class="grayFont" [ngClass]="{'required': publicRepair && applicantMustFillIn==1}">申请人:</span>
- <ng-container *ngIf="buildType === '报修转事件'">{{incidentMsg.requesterName}}</ng-container>
- <ng-container *ngIf="buildType !== '报修转事件'">
- <nz-select style="width: 160px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('requester', $event)" nzPlaceHolder="请选择申请人" [(ngModel)]="incidentModel.requester" (ngModelChange)="changeApplyRequester($event)" nzAllowClear (nzOpenChange)="openChangeApplyRequester($event)">
- <ng-container *ngFor="let option of applicationRequesterList">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.name + '('+option.account+')'" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- <label [hidden]="incidentModel.repairIncidentType === 'public'" nz-checkbox [(ngModel)]="isRelatedDepartment" (ngModelChange)="changeApplyRelatedDepartment($event)" class="ml8">关联查</label>
- </ng-container>
- </div>
- <div class="newTopItem" *ngIf="incidentModel.incomingPhone">
- <span class="grayFont">来电电话:{{incidentModel.incomingPhone}}</span>
- </div>
- <div class="newTopItem" *ngIf="deptRepair && publicRepair || !deptRepair && !publicRepair">
- <span class="grayFont">
- <nz-radio-group [nzDisabled]="buildType === '编辑事件'" [(ngModel)]="incidentModel.repairIncidentType" (ngModelChange)="changeRepairIncidentType($event)">
- <label nz-radio [nzValue]="item.value" *ngFor="let item of repairIncidentTypeList">{{item.name}}</label>
- </nz-radio-group>
- </span>
- </div>
- </div>
- </div>
- <div class="title" *ngIf="currentTabIndex === '政务值班'">
- <div class="newTop">
- <div class="name">来电咨询</div>
- <div class="newTopItem">
- <span class="grayFont">来电电话:{{incidentModel.incomingPhone}}</span>
- </div>
- </div>
- </div>
- <div nz-row class="content">
- <div nz-col nzSpan="15" class="col left">
- <div class="tabs">
- <div class="tabs__inner" #tab>
- <div class="tabs__wrap" [style.transform]="'translateX(' + disX + 'px)'">
- <ng-container *ngFor="let item of workTypesArrange;let index = index;">
- <div [ngClass]="{ tab: true, checked: currentTabIndex == item.key}" (click)="tabClick(item.key)" *ngIf="buildType !== '编辑事件' || (buildType === '编辑事件' && item.key == '故障报修')">
- {{ item.key }}
- </div>
- </ng-container>
- </div>
- </div>
- <div class="tabs__operate" *ngIf="workTypesFlag && applyDept">
- <i class="tabs__Icon--right icon_transport transport-xiangzuo" (click)="toLeft()"></i>
- <i class="tabs__Icon--left icon_transport transport-xiangzuo" (click)="toRight()"></i>
- </div>
- </div>
- <!-- 底部tab页 -->
- <div class="bottomWrap">
- <ng-container *ngFor="let item of workTypesArrange;let index = index;">
- <ng-container *ngIf="applyDept">
- <!-- 患者转运 -->
- <overlay-scrollbars #osComponentRef9 *ngIf="currentTabIndex == item.key && item.key == '患者转运' && !newLoading" class="bottom">
- <div class="bottom255">
- <form nz-form [formGroup]="validateFormZy">
- <div nz-row [nzGutter]="24">
- <div nz-col [nzSpan]="24">
- <div class="control-flex">
- <nz-form-item nz-row class="patient-control">
- <nz-form-label style="line-height: 40px;" class="label" [nzSpan]="8" nzRequired nzFor="patient">患者信息</nz-form-label>
- <nz-form-control class="control" [nzSpan]="16" nzErrorTip="请选择患者信息!">
- <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)">
- <ng-container *ngFor="let option of patientList">
- <nz-option *ngIf="!isLoadingPatient" [nzLabel]="(option.bednum ? option.bednum + '床 ' : '') + (option.patientname || '') + ' ' + (option.residenceNo || '')" [nzValue]="option.patientCode"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoadingPatient" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i>
- 搜索中...
- </nz-option>
- </nz-select>
- </nz-form-control>
- </nz-form-item>
- <nz-form-item class="ml8" class="goods-control" *ngIf="inspectAndPatientTransportConfig.enableGoods == 1">
- <nz-form-label style="line-height: 40px;" class="label" nzFor="goods">携带设备</nz-form-label>
- <nz-form-control class="control" nzErrorTip="请选择携带设备!">
- <nz-checkbox-group [(ngModel)]="goodsNow" formControlName="goods"></nz-checkbox-group>
- </nz-form-control>
- </nz-form-item>
- </div>
- </div>
- <div nz-col [nzSpan]="24" *ngIf="inspectAndPatientTransportConfig.enableTripType == 1">
- <div class="control-flex">
- <nz-form-item style="margin-left: 0;" class="goods-control">
- <nz-form-label style="line-height: 40px;" class="label" nzFor="inspectScore">陪检方式</nz-form-label>
- <nz-form-control class="control" nzErrorTip="请选择陪检方式!">
- <nz-radio-group formControlName="inspectScore" [(ngModel)]="workOrderInspectScore">
- <label nz-radio [nzValue]="item.id" *ngFor="let item of workOrderInspectScoreList">{{item.inspectMode}}</label>
- </nz-radio-group>
- </nz-form-control>
- </nz-form-item>
- </div>
- </div>
- <div nz-col [nzSpan]="24" style="max-height: 310px">
- <nz-form-item>
- <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="taskType">任务类型</nz-form-label>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择任务类型!">
- <div class="radios">
- <overlay-scrollbars #osComponentRef10 [ngStyle]="{ height: '100%' }">
- <nz-radio-group formControlName="taskType" nz-row [ngModel]="radioValueZy" (ngModelChange)="radioChangeZy($event, index, 'change')">
- <div nz-row>
- <label [title]="item1.taskTypeName" nz-col nz-radio [nzValue]="item1.id" *ngFor="let item1 of workTypesArrange[index].value">{{ item1.taskTypeName }}</label>
- </div>
- </nz-radio-group>
- </overlay-scrollbars>
- </div>
- </nz-form-control>
- </nz-form-item>
- </div>
- <div nz-col [nzSpan]="24" *ngIf="isTaskTypeInspect && radioValueZy">
- <div class="pos">
- <div class="pos-item" style="left: 90px;top: 7px;">
- <span style="font-size: 14px">{{inspectToday| date:'yyyy-MM-dd'}}</span>
- <button nz-button nzSize="small" nzType="default" class="pos-btn ml8" (click)="previousDayNew()">
- 上一日
- </button>
- <button nz-button nzSize="small" nzType="default" class="pos-btn ml8" (click)="todayNew()">
- 今天
- </button>
- <button nz-button nzSize="small" nzType="default" class="pos-btn ml8" (click)="nextDayNew()">
- 下一日
- </button>
- </div>
- <!-- 检查 -->
- <nz-form-item>
- <nz-form-label [nzSm]="24" [nzXs]="24" nzFor="linkCheck" style="text-align: left;">关联的检查</nz-form-label>
- <nz-form-control class="datesGroup" *ngIf="linkCheckLis.length">
- <nz-checkbox-wrapper nz-row class="linkCheckCheck w100" ngDefaultControl formControlName="linkCheck" (nzOnChange)="linkCheckLisChange($event)">
- <div nz-row nz-col nzSpan="12" *ngFor="let item of linkCheckLis">
- <div nz-col nzSpan="24">
- <label nz-checkbox [nzValue]="item" [title]="item.remark" *ngIf="item.remark"><i class="icon_transport transport-chaoshi"></i>{{ item.label}}</label>
- <label nz-checkbox [nzValue]="item" *ngIf="!item.remark">{{ item.label}}</label>
- <i class="icon_transport transport-zu1468 priority" *ngIf="item.priority === 1 || item.priority === '1'"></i>
- </div>
- </div>
- </nz-checkbox-wrapper>
- <div class="red" style="line-height: normal; font-weight: bold" *ngIf="currentTasktype.isMoreDept === 0 && isInspects">
- 您选择的检查包含了多个科室,请您只包含一个科室。
- </div>
- </nz-form-control>
- <div class="noInspect" *ngIf="!linkCheckLis.length">暂无关联的检查</div>
- </nz-form-item>
- </div>
- </div>
- <div *ngIf="!isTaskTypeInspect && radioValueZy" nz-col [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24" [ngStyle]="{ display: (deptZyList['startStatus'] != 201 && !isTaskTypeInspect) ? 'block' : 'none'}">
- <nz-form-item *ngIf="(deptZyList.startStatus == 204 || deptZyList.startStatus == 205) && deptZyList.startMultipleHospital==1">
- <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="startHosId">起点科室院区</nz-form-label>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择起点科室院区!">
- <nz-select [nzDropdownMatchSelectWidth]="false" nzServerSearch nzPlaceHolder="请选择起点科室院区" formControlName="startHosId" (ngModelChange)="changeTypeHospital($event, 1)" nzAllowClear>
- <ng-container *ngFor="let option of applicationHospitalList">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </nz-form-control>
- </nz-form-item>
- <nz-form-item>
- <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="startDept">起点科室</nz-form-label>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择起点科室!">
- <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">
- <ng-container *ngFor="let option of deptZyList.startDept">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i>
- 搜索中...
- </nz-option>
- </nz-select>
- </nz-form-control>
- </nz-form-item>
- </div>
- <div *ngIf="!isTaskTypeInspect && radioValueZy" nz-col [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24">
- <nz-form-item *ngIf="(deptZyList.endStatus == 204 || deptZyList.endStatus == 205) && deptZyList.endMultipleHospital==1">
- <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="endHosId">终点科室院区</nz-form-label>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择终点科室院区!">
- <nz-select [nzDropdownMatchSelectWidth]="false" nzServerSearch nzPlaceHolder="请选择终点科室院区" formControlName="endHosId" (ngModelChange)="changeTypeHospital($event, 2)" nzAllowClear>
- <ng-container *ngFor="let option of applicationHospitalList">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </nz-form-control>
- </nz-form-item>
- <nz-form-item>
- <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="endDepts">终点科室</nz-form-label>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择终点科室!">
- <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()">
- <ng-container *ngFor="let option of deptZyList.endDept">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i>
- 搜索中...
- </nz-option>
- </nz-select>
- </nz-form-control>
- </nz-form-item>
- </div>
- <div nz-col [nzSpan]="24" *ngIf="radioValueZy && deptZyList.taskType && deptZyList.taskType.remarksSwitch == 1">
- <nz-form-item>
- <nz-form-label class="label" [nzSm]="3" [nzXs]="3" nzFor="workOrderRemarkZy">注意事项</nz-form-label>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请填写注意事项!">
- <div class="noteSign">
- <textarea class="noteFocus" (focus)="focusNote()" formControlName="workOrderRemarkZy" nz-input [placeholder]="deptZyList.taskType.remarksPrompts" rows="3" maxlength="100" [(ngModel)]="workOrderRemarkZy"></textarea>
- <div class="noteList" *ngIf="isShowNoteList">
- <ng-container *ngIf="!noteLoading && noteList.length">
- <div class="noteItem ellipsis-oneline" *ngFor="let item of noteList" [title]="item.name" (click)="selectNote(item.name)">{{item.name}}</div>
- </ng-container>
- <div *ngIf="!noteLoading && !noteList.length" class="w100 h100 padding8 display_flex justify-content_flex-center align-items_center">
- <nz-empty></nz-empty>
- </div>
- <div *ngIf="noteLoading" class="w100 h100 padding8 display_flex justify-content_flex-center align-items_center">
- <nz-spin nzSimple></nz-spin>
- </div>
- </div>
- </div>
- </nz-form-control>
- </nz-form-item>
- </div>
- <!-- 预约建单时间-患者其他服务--start -->
- <div nz-col [nzSpan]="24" class="pos">
- <!-- 预约陪检 -->
- <nz-form-item class="pos-item">
- <nz-form-control>
- <label nz-checkbox [(ngModel)]="isYyInspect" (ngModelChange)="yyInspectChange($event)" [ngModelOptions]="{ standalone: true }" style="font-weight: bold">预约陪检</label>
- <span class="red pos-red">请您填写实际预约检查时间,系统会根据时间安排人员进行陪检!</span>
- </nz-form-control>
- </nz-form-item>
- <!-- 预约建单时间-患者其他服务 -->
- <nz-form-item class="yyTime" [ngClass]="{yyTimeError: (!yyTimeZy || !yyDateZy) && clickYYZyFlag}">
- <nz-form-label [nzSm]="24" [nzXs]="24">预约建单时间</nz-form-label>
- <nz-form-control [nzSm]="24" [nzXs]="24">
- <nz-date-picker [nzDisabled]="!isYyInspect" [(ngModel)]="yyDateZy" (ngModelChange)="yyDateChange($event)" [ngModelOptions]="{ standalone: true }" [nzAllowClear]="false" [nzDisabledDate]="disabledyyDateZy" [nzShowToday]="false"></nz-date-picker>
- <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">
- </nz-time-picker>
- <button [disabled]="!isYyInspect || (isYyInspect && !yyDateZy)" nz-button nzType="primary" class="ml8" (click)="nextDayZy()">
- 下一日
- </button>
- </nz-form-control>
- <div class="red w100" *ngIf="(!yyTimeZy || !yyDateZy) && clickYYZyFlag">
- 请填写预约建单时间!
- </div>
- </nz-form-item>
- </div>
- <!-- 预约建单时间-患者其他服务--end -->
- </div>
- </form>
- </div>
- </overlay-scrollbars>
- <!-- 物品配送 -->
- <overlay-scrollbars #osComponentRef13 class="bottom" *ngIf="currentTabIndex == item.key && item.key == '物品配送' && !newLoading">
- <div class="bottom255">
- <form nz-form [formGroup]="validateFormQt">
- <div nz-row [nzGutter]="24">
- <div nz-col [nzSpan]="24" style="max-height: 268px">
- <nz-form-item>
- <nz-form-label class="label" [nzSm]="3" [nzXs]="3" nzRequired nzFor="taskTypeQt">任务类型</nz-form-label>
- <div class="ellipsis-oneline">
- <span class="customRemarks mr8 countRemark" [ngClass]="{ active: countRemarkIndex == i }" (click)="addCountRemark(item, index, i)" *ngFor="let item of countRemarkList;let i = index;">{{ item }}</span>
- </div>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择任务类型!">
- <div class="radios" style="max-height: 225px" *ngIf="!searchTaskLoading">
- <overlay-scrollbars #osComponentRef11 [ngStyle]="{ height: '100%' }">
- <nz-radio-group formControlName="taskTypeQt" nz-row [(ngModel)]="radioValueQt" (ngModelChange)="radioChangeQt(radioValueQt)">
- <div nz-row>
- <label [title]="item1.taskTypeName" nz-col nz-radio [nzValue]="item1.id" *ngFor="let item1 of workTypesArrange[index].value">{{ item1.taskTypeName }}</label>
- </div>
- </nz-radio-group>
- </overlay-scrollbars>
- </div>
- <div class="radios display_flex justify-content_flex-center align-items_center" style="max-height: 225px" *ngIf="searchTaskLoading">
- <nz-spin nzSimple></nz-spin>
- </div>
- </nz-form-control>
- </nz-form-item>
- </div>
- <div *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value !== 'specimen'" nz-col [nzSpan]="12" [ngStyle]="{ display: deptQtList['startStatus'] != 201 ? 'block' : 'none' }">
- <nz-form-item *ngIf="(deptQtList.startStatus == 204 || deptQtList.startStatus == 205) && deptQtList.startMultipleHospital==1">
- <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="startHosId">起点科室院区</nz-form-label>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择起点科室院区!">
- <nz-select [nzDropdownMatchSelectWidth]="false" nzServerSearch nzPlaceHolder="请选择起点科室院区" formControlName="startHosId" (ngModelChange)="changeTypeQtHospital($event, 1)" nzAllowClear>
- <ng-container *ngFor="let option of applicationHospitalList">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </nz-form-control>
- </nz-form-item>
- <nz-form-item>
- <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="startDeptQt">起点科室</nz-form-label>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择起点科室!">
- <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">
- <ng-container *ngFor="let option of deptQtList.startDept">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i>
- 搜索中...
- </nz-option>
- </nz-select>
- </nz-form-control>
- </nz-form-item>
- </div>
- <div *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value !== 'specimen'" nz-col [nzSpan]="12">
- <nz-form-item *ngIf="(deptQtList.endStatus == 204 || deptQtList.endStatus == 205) && deptQtList.endMultipleHospital==1">
- <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="endHosId">终点科室院区</nz-form-label>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择终点科室院区!">
- <nz-select [nzDropdownMatchSelectWidth]="false" nzServerSearch nzPlaceHolder="请选择终点科室院区" formControlName="endHosId" (ngModelChange)="changeTypeQtHospital($event, 2)" nzAllowClear>
- <ng-container *ngFor="let option of applicationHospitalList">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </nz-form-control>
- </nz-form-item>
- <nz-form-item>
- <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="endDeptsQt">终点科室</nz-form-label>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择终点科室!">
- <nz-select formControlName="endDeptsQt" [nzDisabled]="deptQtList.endStatus == 201 || deptQtList.endStatus == 203" [nzDropdownMatchSelectWidth]="false" [nzShowSearch]="isEndFixedType" [nzServerSearch]="isEndFixedType" (nzOnSearch)="searchHosDepartmentQt(checkedHos, 'end', $event)"
- nzAllowClear nzPlaceHolder="请选择终点科室" [(ngModel)]="endDeptQt">
- <ng-container *ngFor="let option of deptQtList.endDept">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i>
- 搜索中...
- </nz-option>
- </nz-select>
- </nz-form-control>
- </nz-form-item>
- </div>
- <div nz-col [nzSpan]="24" style="padding-bottom: 8px;padding-top: 16px;" *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value === 'specimen'">
- 起点科室默认为申请科室,终点科室为检验科室,确定后即可新建工单!
- </div>
- <div nz-col [nzSpan]="24" *ngIf="deptQtList.taskType && deptQtList.taskType.remarksSwitch == 1">
- <nz-form-item>
- <nz-form-label class="label" [nzSm]="2" [nzXs]="2" nzFor="workOrderRemark">工单备注</nz-form-label>
- <span class="customRemarks" *ngFor="let item of deptQtList.taskType.customRemarks" (click)="addRemarks(item)">【{{ item }}】</span>
- <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请填写工单备注!">
- <textarea formControlName="workOrderRemark" nz-input [placeholder]="deptQtList.taskType.remarksPrompts" rows="3" maxlength="100" [(ngModel)]="workOrderRemark" #remarksEle></textarea>
- </nz-form-control>
- </nz-form-item>
- </div>
- <!-- 预约建单时间-其他临床服务--start -->
- <div nz-col [nzSpan]="24" class="pos" *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value === 'other'">
- <!-- 预约陪检 -->
- <nz-form-item class="pos-item">
- <nz-form-control>
- <label nz-checkbox [(ngModel)]="isYyInspect" (ngModelChange)="yyInspectChange($event)" [ngModelOptions]="{ standalone: true }" style="font-weight: bold">预约陪检</label>
- </nz-form-control>
- </nz-form-item>
- <!-- 预约建单时间 -->
- <nz-form-item class="yyTime" [ngClass]="{ yyTimeError: (!yyTime || !yyDate) && clickYYFlag }">
- <nz-form-label [nzSm]="24" [nzXs]="24">预约建单时间</nz-form-label>
- <nz-form-control [nzSm]="24" [nzXs]="24">
- <nz-date-picker [nzDisabled]="!isYyInspect" [(ngModel)]="yyDate" (ngModelChange)="yyDateChange($event)" [ngModelOptions]="{ standalone: true }" [nzAllowClear]="false" [nzDisabledDate]="disabledyyDate" [nzShowToday]="false">
- </nz-date-picker>
- <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">
- </nz-time-picker>
- <button [disabled]="!isYyInspect || (isYyInspect && !yyDate)" nz-button nzType="primary" class="ml8" (click)="nextDay()">
- 下一日
- </button>
- </nz-form-control>
- <div class="red w100" *ngIf="(!yyTime || !yyDate) && clickYYFlag">
- 请填写预约建单时间!
- </div>
- </nz-form-item>
- </div>
- <!-- 预约建单时间-其他临床服务--end -->
- </div>
- </form>
- </div>
- </overlay-scrollbars>
- </ng-container>
- <!-- 故障报修 -->
- <overlay-scrollbars #osComponentRef15 class="bottom_req" *ngIf="currentTabIndex === '故障报修'">
- <div class="req">
- <div class="row">
- <div class="col flex4">
- <span class="name">详细地址:</span>
- <nz-select class="w100" [(ngModel)]="incidentModel.area" (ngModelChange)="changeApplyBuilding($event)" nzAllowClear nzPlaceHolder="请选择楼栋">
- <nz-option [nzValue]="item.id" [nzLabel]="item.buildingName" *ngFor="let item of applicationBuildingList"></nz-option>
- </nz-select>
- </div>
- <div class="col flex3">
- <nz-select class="w100" [(ngModel)]="incidentModel.place" nzAllowClear nzPlaceHolder="请选择楼层">
- <nz-option [nzValue]="item.id" [nzLabel]="item.floorName" *ngFor="let item of applicationFloorList"></nz-option>
- </nz-select>
- </div>
- <div class="col flex7">
- <input class="addressFocus" nz-input placeholder="请填写详细地址" [(ngModel)]="incidentModel.houseNumber" (focus)="focusAddress()" />
- <div class="addressList" *ngIf="isShowAddressList">
- <ng-container *ngIf="!addressLoading && addressList.length">
- <div class="addressItem ellipsis-oneline" *ngFor="let item of addressList" [title]="item.name" (click)="selectAddress(item.name, item.id)">{{item.name}}</div>
- </ng-container>
- <div *ngIf="!addressLoading && !addressList.length" class="w100 h100 padding8 display_flex justify-content_flex-center align-items_center">
- <nz-empty></nz-empty>
- </div>
- <div *ngIf="addressLoading" class="w100 h100 padding8 display_flex justify-content_flex-center align-items_center">
- <nz-spin nzSimple></nz-spin>
- </div>
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col">
- <span class="name">科室电话:</span>
- <ng-container *ngIf="incidentMsg.deptManyPhone">{{incidentMsg.deptManyPhone|stringToFirstValue}}<em (click)="importPhone(incidentMsg.deptManyPhone, true)">引入</em></ng-container>
- </div>
- <div class="col">
- <span class="name">报修人电话:</span>
- <ng-container *ngIf="incidentMsg.requesterPhone">{{incidentMsg.requesterPhone}}<em (click)="importPhone(incidentMsg.requesterPhone)">引入</em></ng-container>
- </div>
- <div class="col">
- <ng-container *ngIf="buildType !== '编辑事件'">
- <span class="name">来电电话:</span>
- <ng-container *ngIf="incidentModel.incomingPhone">{{incidentModel.incomingPhone}}<em (click)="importPhone(incidentModel.incomingPhone)">引入</em></ng-container>
- </ng-container>
- </div>
- </div>
- <div class="row">
- <div class="col">
- <span class="name">联系人:</span>
- <input class="w100" nz-input placeholder="请填写联系人" [(ngModel)]="incidentModel.contacts" />
- </div>
- <div class="col">
- <span class="name required">联系电话:</span>
- <input class="w100" nz-input placeholder="请填写联系电话" [(ngModel)]="incidentModel.contactsInformation" />
- </div>
- <div class="col">
- <span class="name">责任部门:</span>
- {{incidentModel.duty ? incidentModel.duty.hosName : ''}}
- </div>
- </div>
- <div class="row">
- <div class="col" *ngIf="cmdbRepair">
- <span class="name">资产:</span>
- <nz-select class="w100" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch nzPlaceHolder="请选择资产" (nzOnSearch)="changeAsset($event)" [(ngModel)]="incidentModel.assetId">
- <ng-container *ngFor="let option of assetData">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </div>
- <div class="col">
- <span class="name required">故障现象:</span>
- <nz-select class="w100" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('category', $event)" nzPlaceHolder="请选择故障现象" [(ngModel)]="incidentModel.category" (ngModelChange)="changeApplyCategory($event)" (nzOpenChange)="openChangeApplyCategory($event)">
- <ng-container *ngFor="let option of applicationCategoryList">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.mutiCategory" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </div>
- </div>
- <div class="row">
- <div class="col alignItemsStart">
- <span class="name required">故障描述:</span>
- <nz-input-group [nzSuffix]="suffixTemplate">
- <textarea class="w100" nz-input rows="4" placeholder="请填写故障描述" [(ngModel)]="incidentModel.description"></textarea>
- </nz-input-group>
- <span #suffixTemplate class="ant-input-clear-icon ml8" *ngIf="incidentModel.description" (click)="incidentModel.description = null">清空</span>
- </div>
- </div>
- <div class="row">
- <div class="col">
- <span class="name required">优先级:</span>
- <nz-select class="w100" [(ngModel)]="incidentModel.priorityId" nzAllowClear nzPlaceHolder="请选择优先级" [nzDisabled]="buildType === '编辑事件'">
- <nz-option [nzValue]="item.id" [nzLabel]="item.name" *ngFor="let item of applicationPriorityList"></nz-option>
- </nz-select>
- </div>
- <div class="col">
- <span class="name required">报修来源:</span>
- <nz-select class="w100" [(ngModel)]="incidentModel.source" nzAllowClear nzPlaceHolder="请选择报修来源">
- <nz-option [nzValue]="item.id" [nzLabel]="item.name" *ngFor="let item of applicationSourceList"></nz-option>
- </nz-select>
- </div>
- <div class="col">
- <span class="name">预约时间:</span>
- <nz-date-picker style="width: 150px;" [(ngModel)]="incidentModel.yyTime" nzShowTime></nz-date-picker>
- </div>
- </div>
- <div class="row">
- <div class="col">
- <span class="name">报修图片:</span>
- <div class="value w100 upload">
- <ng-container *ngIf="repairImgs.length === 0">
- <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">
- <i nz-icon nzType="plus"></i>
- <div class="ant-upload-text">上传照片</div>
- </nz-upload>
- <nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null" (nzOnCancel)="previewVisible = false">
- <ng-template #modalContent>
- <img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
- </ng-template>
- </nz-modal>
- <div class="tips">(支持JPG/PNG格式图片,单张大小10M以内)</div>
- </ng-container>
- <div class="thumbList" *ngIf="repairImgs.length > 0">
- <div class="thumb" *ngFor="let item of repairImgs;let index = index;" (click)="previewImageHandler(repairImgs, index)"><img [src]="item.thumbFilePath" alt=""></div>
- </div>
- </div>
- </div>
- </div>
- <div class="row" *ngIf="buildType !== '编辑事件'">
- <div class="col">
- <span class="name required">处理组:</span>
- <nz-select class="w100" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('group', $event)" nzPlaceHolder="请选择处理组" [(ngModel)]="incidentModel.group" (ngModelChange)="changeApplyGroup($event)" (nzOpenChange)="openChangeApplyGroup($event)">
- <ng-container *ngFor="let option of applicationGroupList">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.groupName" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </div>
- <div class="col">
- <span class="name">处理人:</span>
- <nz-select class="w100" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('user', $event)" nzPlaceHolder="请选择处理人" [(ngModel)]="incidentModel.user" (nzOpenChange)="openChangeApplyUser($event)" nzAllowClear>
- <ng-container *ngFor="let option of applicationUserList">
- <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
- </ng-container>
- <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
- <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
- </nz-option>
- </nz-select>
- </div>
- <div class="col"></div>
- </div>
- </div>
- </overlay-scrollbars>
- <!-- 政务值班 -->
- <overlay-scrollbars #osComponentRef25 *ngIf="currentTabIndex == item.key && item.key == '政务值班'">
- <div class="zw-content">
- <div class="item df">
- <div class="df-fl margin-right">
- <span class="label mar"><span class="red">*</span> 联系人:</span>
- <input nz-input class="formItem" [(ngModel)]="contacts" placeholder="请输入联系人" nzSize="default" />
- </div>
- <div class="df-fl margin-right">
- <span class="label"><span class="red">*</span> 联系电话:</span>
- <input nz-input class="formItem" [(ngModel)]="contactsPhone" placeholder="请输入联系电话" nzSize="default" />
- </div>
- </div>
- <div class="item df">
- <span class="label"><span class="red">*</span> 投诉人:</span>
- <input nz-input class="formItem" [(ngModel)]="complainant" placeholder="请输入投诉人" nzSize="default" />
- </div>
- <div class="item df">
- <span class="label"><span class="red">*</span> 省市区:</span>
- <nz-cascader [nzOptions]="nzOptions" [(ngModel)]="province" placeholder="请选择省市区" (ngModelChange)="onProvinceChanges($event)"></nz-cascader>
- </div>
- <div class="item df">
- <span class="label"><span class="red">*</span> 详细地址:</span>
- <input nz-input class="formItem" [(ngModel)]="detailedAddress" placeholder="请输入详细地址" nzSize="default" />
- </div>
- <div class="item df">
- <span class="label"><span class="red">*</span> 简述:</span>
- <textarea [(ngModel)]="sketch" nz-input rows="1" placeholder="请输入简述"></textarea>
- </div>
- <div class="item lw-df">
- <span class="label"><span class="red">*</span> 记录内容:</span>
- <textarea [(ngModel)]="record" nz-input rows="3" placeholder="请输入记录内容"></textarea>
- </div>
- </div>
- </overlay-scrollbars>
- </ng-container>
- <!-- loading -->
- <div class="bottom" *ngIf="newLoading">
- <div class="bottom255">
- <div class="txtC">
- <img src="../../../assets/images/loading.gif" alt="" />
- <div>加载中...</div>
- </div>
- </div>
- </div>
- </div>
- <!-- 底部信息提示 -->
- <!-- <div class="bottomInfo" *ngIf="currentTabIndex !== '故障报修'">提示:临床科室建单会更简便哟!</div> -->
- </div>
- <div nz-col nzSpan="9" class="col right">
- <div class="rightTitle">
- <div class="rightTitle_tab" [class.active]="currentRTab == tab.id" *ngFor="let tab of rightTitle_tab;" (click)="rightTitleHandler(tab.id)">{{ tab.name }}</div>
- <span class="toLastTime1"><span class="time" *ngIf="applyDept || incidentModel.requester">{{ orderRefreshTime }}s</span></span>
- </div>
- <!-- 近期配送 start -->
- <div class="cots_body weifenpai" *ngIf="currentRTab == 0 && currentTabIndex != '政务值班'" [ngClass]="{ top185: hurseInfoHiding != 1 }">
- <overlay-scrollbars #osComponentRef12 [ngStyle]="{ height: '100%' }">
- <div *ngIf="noArrives.length && !loading4">
- <div class="list listsTypeColor" *ngFor="let data of noArrives">
- <div class="left_cots" (click)="openDetails(data)">
- <!-- 工单 -->
- <div class="gongdan">
- <span class="left">{{ data.taskType.taskName }}({{ data.gdcode }})</span>
- <span class="right">
- <span>{{ data.gdState.name }}</span>
- </span>
- </div>
- <!-- 地点 -->
- <div class="didian">
- <span class="left" *ngIf="data.taskType.associationType.value == 'inspect'">
- {{ data.startDept ? data.startDept.dept : "" }}
- <span *ngFor="let item of data.middleDept">
- ->{{ item.dept }}
- </span>
- </span>
- <span class="left" *ngIf="data.taskType.associationType.id != 260">
- {{ data.startDept ? data.startDept.dept : "" }}{{ data.endDepts ? "->" + data.endDepts[0].dept : "" }}
- </span>
- <span class="right" *ngIf="data.goods">
- <i class="icon_transport transport-icon3"></i>
- <span>{{ data.goods }}</span>
- </span>
- <span class="right" *ngIf="data.workOrderRemark" [title]="data.workOrderRemark">
- <i class="icon_transport transport-icon3"></i>
- <span>{{ data.workOrderRemark }}</span>
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian">
- <span class="left" *ngIf="data.expectTimeNum && data.timeOut != true">
- <i class="icon_transport transport-shouye10" nz-tooltip nzTooltipTitle="进行中"></i>
- <ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.illnessState">
- <i *ngIf="data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
- <i *ngIf="data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
- </ng-container>
- <ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.careLevel">
- <i *ngIf="data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
- <i *ngIf="data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
- <i *ngIf="data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
- <i *ngIf="data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
- </ng-container>
- <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>
- </span>
- <span class="left" *ngIf="data.timeOutLength && data.timeOut == true">
- <i class="colorRed icon_transport transport-daojishi" nz-tooltip nzTooltipTitle="超时"></i>
- <ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.illnessState">
- <i *ngIf="data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
- <i *ngIf="data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
- </ng-container>
- <ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.careLevel">
- <i *ngIf="data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
- <i *ngIf="data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
- <i *ngIf="data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
- <i *ngIf="data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
- </ng-container>
- <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>
- </span>
- <span class="right" nz-tooltip [nzTooltipTitle]="'总时长' + formatTime(data.expectTimeNum / 1000)">
- {{ data.showCreateTime }}
- </span>
- </div>
- <!-- 急单 -->
- <img *ngIf="data.emergencyType && data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
- <!-- 加急单 -->
- <img *ngIf="data.emergencyType && data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
- </div>
- <div class="right_bots display_flex col-flex align-items_center justify-content_flex-center">
- <input type="button" *ngIf="data.gdState.value == 2" class="top_bot" value="派单" (click)="allotWorker(data.id, data.gdState.id)" />
- <input type="button" *ngIf="data.gdState.value == 3 || data.gdState.value == 4" class="mid_bot" value="撤回" (click)="openRecallModal(data.id)" />
- <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')" />
- </div>
- <div *ngIf="data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.percent + '%' }"></div>
- <div *ngIf="data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
- </div>
- </div>
- <div class="no_data" *ngIf="noArrives.length == 0 && !loading4">
- 暂无数据
- </div>
- <div class="no_data" *ngIf="loading4">
- <div class="loadingFull display_flex justify-content_flex-center align-items_center">
- <div class="loadingFullInner">
- <img src="../../../assets/images/loading.gif" alt="" />
- <div>加载中...</div>
- </div>
- </div>
- </div>
- </overlay-scrollbars>
- </div>
- <!-- 近期配送 end -->
- <!-- 转出院记录 start -->
- <!-- <div class="cots_body weifenpai patientLog" *ngIf="currentRTab == 1" [ngClass]="{ top185: hurseInfoHiding != 1 }">
- <overlay-scrollbars
- #osComponentRef14
- [ngStyle]="{ height: '100%' }"
- >
- <div class="list listsTypeColor clearfix">
- <nz-table class="w100" [nzData]="patientLogList" nzSize="middle" [nzShowPagination]="false" [nzLoading]="loading5">
- <thead>
- <tr class="thead">
- <th nzWidth="10%">类型</th>
- <th nzWidth="17%">时间</th>
- <th nzWidth="23%">申请科室</th>
- <th nzWidth="23%">转入科室</th>
- <th nzWidth="15%">关联患者</th>
- <th nzWidth="12%">操作</th>
- </tr>
- </thead>
- <tbody>
- <tr *ngFor="let data of patientLogList; let i = index">
- <td>{{ data.type ? data.type.name : "-" }}</td>
- <td>{{ data.time | date: "yyyy-MM-dd HH:mm:ss" }}</td>
- <td>{{ data.sqDept ? data.sqDept.dept : "-" }}</td>
- <td>{{ data.zrDept ? data.zrDept.dept : "-" }}</td>
- <td>
- {{ data.patient ? data.patient.patientName : "-" }}
- </td>
- <td>
- <button
- style="cursor: pointer"
- (click)="patientLogBuild(data)"
- >
- 建单
- </button>
- </td>
- </tr>
- </tbody>
- </nz-table>
- </div>
- </overlay-scrollbars>
- </div> -->
- <!-- 转出院记录 end -->
- <!-- 近期维修 start -->
- <div class="cots_body weifenpai" *ngIf="currentRTab == 2" [ngClass]="{ top185: hurseInfoHiding != 1 }">
- <overlay-scrollbars #osComponentRef16 [ngStyle]="{ height: '100%' }">
- <div *ngIf="itsmOrders.length && !loading6">
- <div class="list listsTypeColor" *ngFor="let data of itsmOrders">
- <div class="left_cots" style="width: 96%;">
- <!-- 工单 -->
- <div class="gongdan">
- <span class="left">{{ data.incidentsign }}</span>
- <span class="right">
- <span>{{ data.state?.name }}</span>
- </span>
- </div>
- <!-- 描述 -->
- <div class="didian">
- <span class="left">
- {{ data.description }}
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian">
- <span class="left"></span>
- <span class="right">
- {{ data.acceptDate | date: "MM-dd HH:mm" }}
- </span>
- </div>
- </div>
- </div>
- </div>
- <div class="no_data" *ngIf="itsmOrders.length == 0 && !loading6">
- 暂无数据
- </div>
- <div class="no_data" *ngIf="loading6">
- <div class="loadingFull display_flex justify-content_flex-center align-items_center">
- <div class="loadingFullInner">
- <img src="../../../assets/images/loading.gif" alt="" />
- <div>加载中...</div>
- </div>
- </div>
- </div>
- </overlay-scrollbars>
- </div>
- <!-- 近期维修 end -->
- <!-- 知识库 start -->
- <div class="cots_body weifenpai" *ngIf="currentRTab == 3" [ngClass]="{ top185: hurseInfoHiding != 1 }">
- <overlay-scrollbars #osComponentRef17 [ngStyle]="{ height: '100%' }">
- <div *ngIf="knowageList.length && !loading7">
- <div class="list listsTypeColor" *ngFor="let data of knowageList" style="height: auto;overflow: hidden;">
- <div class="left_cots" style="width: 96%;height: auto;">
- <!-- 工单 -->
- <div class="gongdan" style="font-size: 16px;">
- <span class="left ellipsis-oneline w100" nz-tooltip [nzTooltipTitle]="data.title">{{data.title}}</span>
- </div>
- <!-- 描述 -->
- <div class="didian" style="font-size: 12px;height: auto;">
- <span class="left noEllipsis">{{data.content | stripHtml}}</span>
- </div>
- <!-- 时间 -->
- <div class="shijian" style="height: auto;line-height: normal;overflow: hidden;padding-bottom: 16px;">
- <span class="right">
- <button nz-button nzType="primary" (click)="importKnowage(data)">引用</button>
- <button class="ml8" nz-button nzType="primary" (click)="showKnowledgeModal(data)">查看</button>
- </span>
- </div>
- </div>
- </div>
- </div>
- <div class="no_data" *ngIf="knowageList.length == 0 && !loading7">
- 暂无数据
- </div>
- <div class="no_data" *ngIf="loading7">
- <div class="loadingFull display_flex justify-content_flex-center align-items_center">
- <div class="loadingFullInner">
- <img src="../../../assets/images/loading.gif" alt="" />
- <div>加载中...</div>
- </div>
- </div>
- </div>
- </overlay-scrollbars>
- </div>
- <!-- 知识库 end -->
- <!-- 政务值班-近期记录 -->
- <div class="cots_body weifenpai" *ngIf="currentRTab == 4 && currentTabIndex == '政务值班'" [ngClass]="{ top185: hurseInfoHiding != 1 }">
- <overlay-scrollbars #osComponentRef26 [ngStyle]="{ height: '100%' }">
- <div class="record" *ngIf="itsmZwOrders.length>0">
- <div class="content" *ngFor="let i of itsmZwOrders">
- <div class="item ju-sb">
- <div class="item-code">{{i.govDutySign}}</div>
- <div>{{i.addTime|date:'yyyy-MM-dd HH:mm:ss'}}</div>
- </div>
- <div class="item">
- {{i.record}}
- </div>
- <div class="item">
- {{ i.province && i.province.name || '-'}}{{ i.city && i.city.name || '-'}}{{ i.district && i.district.name || '-'}}{{ i.detailedAddress || '-'}}
- </div>
- </div>
- </div>
- <div class="no_data" *ngIf="itsmZwOrders.length == 0 && !loading6">
- 暂无数据
- </div>
- <div class="no_data" *ngIf="loading6">
- <div class="loadingFull display_flex justify-content_flex-center align-items_center">
- <div class="loadingFullInner">
- <img src="../../../assets/images/loading.gif" alt="" />
- <div>加载中...</div>
- </div>
- </div>
- </div>
- </overlay-scrollbars>
- </div>
- </div>
- </div>
- <div class="btns display_flex justify-content_flex-center align-items_center">
- <ng-container *ngIf="applyDept && currentTabIndex !== '故障报修'">
- <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')">
- 继续建单
- </button>
- <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')">
- {{isYyInspect ? '预约建单' :'直接建单'}}
- </button>
- </ng-container>
- <ng-container *ngIf="currentTabIndex === '故障报修' && buildType !== '编辑事件'">
- <label nz-checkbox [(ngModel)]="isBuildOrderAgagin" *ngIf="buildType !== '报修转事件' && buildType !== '留言转事件' && buildType !== '继续建单'">是否连续建单</label>
- <button nz-button class="btn" nzType="primary" (click)="directOrder()">
- 直接解决
- </button>
- <button nz-button class="btn" nzType="primary" (click)="assignOrder()">
- 建单并派单
- </button>
- <button nz-button class="btn" nzType="primary" (click)="temporaryStorage()">
- 暂存
- </button>
- </ng-container>
- <ng-container *ngIf="currentTabIndex === '故障报修' && buildType === '编辑事件'">
- <button nz-button class="btn" nzType="primary" (click)="saveOrder()">
- 保存
- </button>
- </ng-container>
- <button class="btn cancel" nz-button nzType="default" (click)="newOrderCancel()">
- 取消
- </button>
- <ng-container *ngIf="currentTabIndex === '政务值班'">
- <button nz-button [nzLoading]="zwLoading" class="btn" nzType="primary" (click)="saveZwOrder()">
- 保存
- </button>
- </ng-container>
- </div>
- </div>
- </div>
- <!-- 撤回工单 -->
- <div
- class="
- recallOrder
- display_flex
- justify-content_flex-center
- align-items_center
- "
- *ngIf="recallOrderShow"
- >
- <div class="modalBody">
- <div class="title">
- 提示<i
- class="icon_transport transport-guanbi"
- (click)="closeRecallOrderModal()"
- ></i>
- </div>
- <div class="content">
- <div class="icon"><i class="icon_transport transport-wenhao"></i></div>
- <div class="defeat">您确认要撤回此工单吗?</div>
- </div>
- <div class="btns display_flex justify-content_flex-center">
- <button
- nz-button
- nzType="primary"
- [nzLoading]="btnLoading"
- (click)="confirmRec()"
- >
- 确认
- </button>
- <button
- class="recDelBtn"
- nz-button
- nzType="primary"
- [nzLoading]="recDelLoading"
- nzGhost
- (click)="recAndDel()"
- *ngIf="!batchClickType1"
- >
- 撤回并删除
- </button>
- <button
- class="btn cancel"
- nz-button
- nzType="default"
- (click)="closeRecallOrderModal()"
- >
- 取消
- </button>
- </div>
- </div>
- </div>
- <!-- 删除模态框 -->
- <app-dialog-delete
- [delModal]="delOrderShow"
- (hideDelModalEvent)="closeDelOrderModal()"
- [btnLoading]="btnLoading"
- (confirmDelEvent)="confirmDel()"
- content="您确认要删除吗?"
- ></app-dialog-delete>
- <!-- 删除模态框 -->
- <app-dialog-delete
- [delModal]="logoutModal"
- (hideDelModalEvent)="closeLogoutModal()"
- [btnLoading]="btnLoading"
- (confirmDelEvent)="confirmLogout()"
- content="您确认要退出系统吗?"
- ></app-dialog-delete>
- <!-- 重复建单策略 -->
- <app-dialog-delete
- [delModal]="repeatModal"
- (hideDelModalEvent)="hideRepeatModal()"
- [btnLoading]="loadingRepeat"
- (confirmDelEvent)="confirmRepeat()"
- [content]="repeatMsg"
- confirmTxt="是"
- cancelTxt="否"
- (cancelDelEvent)="hideRepeatModal()"
- ></app-dialog-delete>
-
- <!-- 一键派单 -->
- <app-dialog-delete
- [delModal]="sendModal"
- (hideDelModalEvent)="closeSecdModal()"
- [btnLoading]="btnLoading"
- (confirmDelEvent)="confirmSecd()"
- content="您确认一键派单吗?系统会根据工作分配方案自动派单给指定人员"
- ></app-dialog-delete>
-
- <!-- 是否限制业务发起时间模态框 -->
- <app-dialog-delete [delModal]="limitTimeModal" (hideDelModalEvent)="hideLimitTimeModal()" [btnLoading]="limitTimeLoading"
- (confirmDelEvent)="confirmLimitTime()" [content]="limitTimeInfo" confirmTxt="继续建单" [isShowConfirm]="isShowConfirm" [isShowConfirmInfo]="isShowConfirmInfo"></app-dialog-delete>
- </div>
- <!-- 绑定分机 -->
- <app-bind-extension-number [hsmsData]="hsmsData" [itsmData]="itsmData" [coopBtns]="coopBtns" [websocketLoading]="websocketLoading" *ngIf="showBindExtensionNumberModal" (confirmModal)="checkIn($event)" (cancelModal)="cancelBindExtensionNumber($event)"></app-bind-extension-number>
- <!-- 工单范围 -->
- <app-order-scope *ngIf="showInitModal" [showGovDutyConfig]="showGovDutyConfig" [hsmsData]="hsmsData" [itsmData]="itsmData" [coopBtns]="coopBtns" (confirmModal)="confirmOrderScope($event)" (cancelModal)="cancelOrderScope($event)"></app-order-scope>
- <!-- 展示形式 -->
- <app-display-form *ngIf="showDisplayFormModal" [hsmsData]="hsmsData" (confirmModal)="confirmDisplayForm($event)" (cancelModal)="cancelDisplayForm($event)"></app-display-form>
- <!-- 消息弹框模板 -->
- <ng-template #msgTemplate let-msg="data">
- <div class="msgTemBox ant-notification-notice-content">
- <div class="borderLeft"></div>
- <div class="ant-notification-notice-with-icon">
- <span class="ant-notification-notice-icon">
- <i class="icon icon_transport transport-shouye9"></i>
- </span>
- <div class="ant-notification-notice-message">
- {{ msg.type == 1 ? "通知" : "消息" }}
- </div>
- <div class="ant-notification-notice-description">{{ msg.content }}</div>
- </div>
- </div>
- </ng-template>
- <!-- 操作成功/失败提示框 -->
- <app-prompt-modal
- *ngIf="promptModalShow"
- [content]="promptContent"
- [success]="ifSuccess"
- [show]="promptModalShow"
- [info]="promptInfo"
- [back]="back"
- (closeModel)="closeModel($event)"
- >
- </app-prompt-modal>
- <!-- 选择转入科室 -->
- <app-select-dept
- [createLoading]="createLoading"
- [deptFlag]="deptFlag"
- (submitFormHand)="submitFormHand($event)"
- (deptFlagHand)="deptFlagHand($event)"
- [hosId]="checkedHos"
- *ngIf="deptFlag"
- ></app-select-dept>
- <router-outlet (deactivate)="refreshList($event)"></router-outlet>
- <!-- 遮罩 -->
- <app-mask *ngIf="maskFlag"></app-mask>
- <!-- 直接解决 -->
- <app-incident-direct-order *ngIf="directOrderModalShow" (closeModelHs)="closeDirectOrderModelOrder($event)" (confirmModelHs)="confirmDirectOrderModelOrder($event)"></app-incident-direct-order>
- <!-- 知识库查看 -->
- <app-knowledge-look (cancelKnowledgeModal)="cancelKnowledgeModal()" *ngIf="isShowKnowledge" [knowledgeData]="coopData"></app-knowledge-look>
- <!-- 详情 -->
- <app-incident-detail [id]="coopData.id" *ngIf="detailModalShow" (closeModelHs)="closeDetailModelOrder($event)" (confirmModelHs)="confirmDetailModelOrder($event)"></app-incident-detail>
- <!-- 图片预览 -->
- <app-image-viewer [imageUrl]="imgs" hidden *ngIf="isPreview" [isPreviewNow]="true" [initialViewIndex]="initialViewIndex"></app-image-viewer>
- <!-- 不受理 -->
- <app-incident-reject [id]="coopData.id" *ngIf="rejectModalShow" (closeModelHs)="closeRejectModelOrder($event)" (confirmModelHs)="confirmRejectModelOrder($event)"></app-incident-reject>
- <!-- 换人处理 -->
- <app-incident-substitution [id]="coopData.id" *ngIf="substitutionModalShow" (closeModelHs)="closeSubstitutionModelOrder($event)" (confirmModelHs)="confirmSubstitutionModelOrder($event)"></app-incident-substitution>
- <app-dialog-delete [delModal]="delModal" (hideDelModalEvent)="hideDelModal()" [btnLoading]="btnLoading" (confirmDelEvent)="confirmDelFn()" [content]="tipsMsg1"></app-dialog-delete>
- <!-- 处理 -->
- <app-incident-handle [id]="coopData.id" *ngIf="handleModalShow" (closeModelHs)="closeHandleModelOrder($event)" (confirmModelHs)="confirmHandleModelOrder($event)"></app-incident-handle>
- <!-- 回访列表 -->
- <app-incident-ser-visit [itsmData]="itsmData" *ngIf="visitShow" (closeModelHs)="closeVisit($event)"></app-incident-ser-visit>
- <!-- 留言列表 -->
- <app-incident-ser-message [itsmData]="itsmData" *ngIf="messageShow" (closeModelHs)="closeMessage($event)"></app-incident-ser-message>
- <!-- 通话列表 -->
- <app-incident-ser-call [itsmData]="itsmData" [hsmsData]="hsmsData" *ngIf="callShow" (closeModelHs)="closeCall($event)"></app-incident-ser-call>
- <!-- 修改备注弹窗 -->
- <app-edit-work-order-remark *ngIf="isShowBuildQuickConfirm" [buildQuickConfirmData]="buildQuickConfirmData" (cancelModal)="cancelBuildQuickConfirm($event)" (confirmModal)="confirmBuildQuickConfirm($event)" [loading5]="loadingQuick"></app-edit-work-order-remark>
- <!-- 工单删除填写删除原因 -->
- <nz-modal
- [(nzVisible)]="isDelVisible"
- nzTitle="提示"
- (nzOnCancel)="delOrderModal()"
- (nzOnOk)="confirmDelOk()"
- [nzOkLoading]="btnLoading"
- >
- <div class="del-modal">
- <input nz-input type="text" placeholder="请输入删除原因" [(ngModel)]="delReason" />
- </div>
- </nz-modal>
- <!-- 演示用 -->
- <nz-modal
- [(nzVisible)]="ysModal"
- [nzTitle]="textTitle"
- (nzOnCancel)="ysOrderModal()"
- (nzOnOk)="confirmTestOk()"
- [nzOkLoading]="btnLoading"
- >
- <div class="del-modal">
- <input nz-input type="text" [placeholder]="textPlaceholder" [(ngModel)]="testContent" />
- </div>
- </nz-modal>
|