12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756 |
- <div class="fuwutai">
- <div class="top" id="top" *ngIf="hurseInfoHiding != '1'">
- <!-- 头部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'">
- <div id="cotAll" class="cot_all" *ngIf="patientCareCol != 6">
- <div
- [ngClass]="{
- cot: true,
- fourCol: patientCareCol == 4,
- sevenCol: patientCareCol == 7
- }"
- *ngFor="let data of workerMessage"
- >
- <div class="first">
- <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">
- <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>
- <div id="cotAll" nz-row *ngIf="patientCareCol == 6">
- <div
- nz-col
- nzSpan="4"
- class="cot col-6"
- *ngFor="let data of workerMessage"
- >
- <div class="first">
- <span nz-tooltip [nzTooltipTitle]="data.phone">{{
- data.name
- }}</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>
- </div>
- <div class="cot_img" *ngIf="workerMessage.length == 0">
- <img src="../../assets/images/loading.gif" alt="" />
- </div>
- <div class="cot_img" *ngIf="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 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="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" *ngIf="!flagList.itsmFlag1 && flagList.hsmsFlag1">
- <label 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 nz-button nzType="primary" (click)="batchDispatch()" [disabled]="!batchType">
- 批量派单
- </button>
- </div>
- <div class="cots_body weifenpai" *ngIf="(txtLabelCol == 1 && hsmsData.hsmsSwitch && !itsmData.mdv2Switch) || itsmData.mdv2Switch" [ngClass]="{ top185: hurseInfoHiding != '1', top185_1: flagList.itsmFlag1 }">
- <overlay-scrollbars #osComponentRef2 [ngStyle]="{ height: '100%' }">
- <ng-container *ngIf="unassignedList.length && !loading1">
- <div class="list listsTypeColor" *ngFor="let data of unassignedList">
- <!-- 配送 -->
- <ng-container *ngIf="data.type === 'hsms'">
- <div class="left_cots">
- <!-- 工单 -->
- <div class="gongdan" (click)="batchDispatchSelect(!data.checked, data.data.id)">
- <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 + ')'">
- {{ data.data.isHalfInspect === 1 ? "半程陪检" : data.data.taskType.taskName }}<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" (click)="openDetails(data.data)">
- <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" (click)="openDetails(data.data)">
- <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)">
- {{ 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 gap8">
- <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.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>
- </ng-container>
- <!-- 运维 -->
- <ng-container *ngIf="data.type === 'mdv2'">
- <div class="left_cots">
- <div class="gongdan" (click)="batchDispatchSelect(!data.checked, data.data.id)">
- <span class="left gongdan_name">
- <span [ngClass]="priorityColor(data.priorityId)">{{ data.data.priorityDTO?.name }}</span>{{ data.data.incidentsign }} <span nz-tooltip [nzTooltipTitle]="data.data.hosName + data.data.department?.dept">{{ data.data.hosName }}{{ data.data.department?.dept }}</span>
- </span>
- <div class="right_all">
- <span class="right">
- <span>{{ data.data.state.name }}</span>
- </span>
- </div>
- </div>
- <div class="didian" (click)="openItsmDetails(data.data)">
- <span class="left">
- <span nz-tooltip [nzTooltipTitle]="data.data.description">{{ data.data.description }}</span>
- </span>
- </div>
- <div class="didian" (click)="openItsmDetails(data.data)">
- <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>
- </span>
- </div>
- <div class="didian" (click)="openItsmDetails(data.data)" *ngIf="transferHandlerLog(data.data.currentLog)">
- <span class="left">
- <span [innerHTML]="transferHandlerLog(data.data.currentLog)" nz-tooltip [nzTooltipTitle]="transferHandlerLog(data.data.currentLog)"></span>
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian" (click)="openItsmDetails(data.data)">
- <span class="left">
- <span>
- 申请人:{{ data.data.requester?.name }}
- </span>
- </span>
- <span class="right">
- {{ 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 gap8">
- <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>
- </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>
- </overlay-scrollbars>
- </div>
- <div class="cots_body weifenpai twoCol" *ngIf="txtLabelCol == 2 && flagList.hsmsFlag1 && !flagList.itsmFlag1" [ngClass]="{ top185: hurseInfoHiding != '1' }">
- <overlay-scrollbars #osComponentRef1 [ngStyle]="{ height: '100%' }">
- <ng-container *ngIf="unassignedList.length && !loading1">
- <div class="list listsTypeColor" *ngFor="let data of unassignedList">
- <div class="left_cots" (click)="openDetails(data.data)">
- <!-- 工单 -->
- <div class="gongdan">
- <span class="left">{{ data.data.taskType.associationType.name }}{{ data.data.createDeptDTO ? "(" + data.data.createDeptDTO.dept + ")" : "" }}</span>
- <span [ngClass]="{ right: true, colorRed: data.data.timeOut == true }">
- {{ data.data.gdState.name }}
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian">
- <div class="left">
- {{ data.data.createUser ? data.data.createUser.name : "" }}
- </div>
- <span class="right">
- <span>{{ data.data.showCreateTime }}</span>
- </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 *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>
- </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>
- </overlay-scrollbars>
- </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="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" *ngIf="!flagList.itsmFlag2 && flagList.hsmsFlag2">
- <label 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
- nz-button
- nzType="primary"
- (click)="batchWithdrawal()"
- [disabled]="!batchType1"
- >
- 批量撤回
- </button>
- </div>
- <div class="cots_body daidaoda" *ngIf="(txtLabelCol == 1 && hsmsData.hsmsSwitch && !itsmData.mdv2Switch) || itsmData.mdv2Switch" [ngClass]="{ top185: hurseInfoHiding != '1', top185_1: flagList.itsmFlag2 }">
- <overlay-scrollbars #osComponentRef3 [ngStyle]="{ height: '100%' }">
- <ng-container *ngIf="arriveList.length && !loading2">
- <div class="list listsTypeColor" *ngFor="let data of arriveList">
- <!-- 配送 -->
- <ng-container *ngIf="data.type === 'hsms'">
- <div class="left_cots">
- <!-- 工单 -->
- <div class="gongdan" (click)="batchWithdrawalSelect(!data.data.checked, data.data.id)">
- <span class="left mr8">
- <label nz-checkbox [ngModel]="data.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 + ')'">
- {{ data.data.isHalfInspect === 1 ? "半程陪检" : data.data.taskType.taskName }}<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.gdState.name }}</span>
- </span>
- </div>
- </div>
- <!-- 地点 -->
- <div class="didian" (click)="openDetails(data.data)">
- <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" (click)="openDetails(data.data)">
- <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)">
- {{ 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>
- </ng-container>
- <!-- 运维 -->
- <ng-container *ngIf="data.type === 'mdv2'">
- <div class="left_cots">
- <div class="gongdan" (click)="batchDispatchSelect(!data.checked, data.data.id)">
- <span class="left gongdan_name">
- <span [ngClass]="priorityColor(data.priorityId)">{{ data.data.priorityDTO?.name }}</span>{{ data.data.incidentsign }} <span nz-tooltip [nzTooltipTitle]="data.data.hosName + data.data.department?.dept">{{ data.data.hosName }}{{ data.data.department?.dept }}</span>
- </span>
- <div class="right_all">
- <span class="right">
- <span>{{ data.data.state.name }}</span>
- </span>
- </div>
- </div>
- <div class="didian" (click)="openItsmDetails(data.data)">
- <span class="left">
- <span nz-tooltip [nzTooltipTitle]="data.data.description">{{ data.data.description }}</span>
- </span>
- </div>
- <div class="didian" (click)="openItsmDetails(data.data)">
- <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>
- </span>
- </div>
- <div class="didian" (click)="openItsmDetails(data.data)" *ngIf="transferHandlerLog(data.data.currentLog)">
- <span class="left">
- <span [innerHTML]="transferHandlerLog(data.data.currentLog)" nz-tooltip [nzTooltipTitle]="transferHandlerLog(data.data.currentLog)"></span>
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian" (click)="openItsmDetails(data.data)">
- <span class="left">
- <span>
- 申请人:{{ data.data.requester?.name }}
- </span>
- </span>
- <span class="right">
- {{ 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 gap8">
- <input type="button" *ngIf="computedSubstitution(data.data)" class="top_bot" value="换人处理" (click)="substitution(data.data)" />
- <input type="button" *ngIf="computedReceive(data.data)" 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>
- </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>
- </overlay-scrollbars>
- </div>
- <div
- class="cots_body daidaoda twoCol"
- *ngIf="txtLabelCol == 2"
- [ngClass]="{ top185: hurseInfoHiding != '1' }"
- >
- <overlay-scrollbars #osComponentRef4 [ngStyle]="{ height: '100%' }">
- <ng-container *ngIf="arriveList.length && !loading2">
- <div class="list listsTypeColor" *ngFor="let data of arriveList">
- <div
- class="left_cots"
- (click)="openDetails(data)"
- >
- <!-- 工单 -->
- <div class="gongdan">
- <span class="left"
- >{{ data.taskType.associationType.name
- }}{{
- data.createDeptDTO
- ? "(" + data.createDeptDTO.dept + ")"
- : ""
- }}</span
- >
- <span
- [ngClass]="{ right: true, colorRed: data.timeOut == true }"
- >
- {{ data.gdState.name }}
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian">
- <span class="left">
- {{ data.worker ? data.worker.name : "" }}
- </span>
- <span class="right">
- <span>{{ data.showCreateTime }}</span>
- </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
- *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>
- </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>
- </overlay-scrollbars>
- </div>
- </div>
- <!-- 执行中 -->
- <div class="lists">
- <div class="head">
- <span class="auto_tit">执行中({{ executionList.length }}条)</span>
- <span class="toLastTime"
- >刷新倒计时<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"
- [ngClass]="{ top185: hurseInfoHiding != '1' }"
- >
- <overlay-scrollbars #osComponentRef5 [ngStyle]="{ height: '100%' }">
- <ng-container *ngIf="executionList.length && !loading3">
- <div class="list" *ngFor="let data of executionList">
- <div
- class="left_cots"
- (click)="openDetails(data)"
- >
- <!-- 工单 -->
- <div class="gongdan">
- <span class="left gongdan_name" nz-tooltip [nzTooltipTitle]="data.taskType.taskName + (data.goodsRemark?'-'+data.goodsRemark:'')+'(' + data.gdcode + ')'">
- {{ data.isHalfInspect === 1 ? "半程陪检" : data.taskType.taskName }}<ng-container *ngIf="data.goodsRemark">-{{data.goodsRemark}}</ng-container>({{ data.gdcode }})
- </span>
- <div class="right_all">
- <span nz-tooltip [nzTooltipTitle]="data.worker ? data.worker.phone : ''" class="right_all_name">{{ data.worker ? data.worker.name : "" }}</span>
- <span class="right">
- <span [ngClass]="{ colorRed: data.timeOut == true }">{{ data.gdState.name }}</span>
- </span>
- </div>
- </div>
- <!-- 地点 -->
- <div class="didian">
- <span
- class="left"
- *ngIf="
- data.taskType.associationType &&
- 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 &&
- 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>总时长{{formatTime(data.expectTimeNum/1000)}}</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>已超时{{formatTime(data.timeOutLength/1000)}}</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
- *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>
- </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>
- </overlay-scrollbars>
- </div>
- <div
- class="cots_body zhixingzhong twoCol"
- *ngIf="txtLabelCol == 2"
- [ngClass]="{ top185: hurseInfoHiding != '1' }"
- >
- <overlay-scrollbars #osComponentRef6 [ngStyle]="{ height: '100%' }">
- <ng-container *ngIf="executionList.length && !loading3">
- <div class="list" *ngFor="let data of executionList">
- <div
- class="left_cots"
- (click)="openDetails(data)"
- >
- <!-- 工单 -->
- <div class="gongdan">
- <span class="left"
- >{{ data.taskType.associationType.name
- }}{{
- data.createDeptDTO
- ? "(" + data.createDeptDTO.dept + ")"
- : ""
- }}</span
- >
- <span
- [ngClass]="{ right: true, colorRed: data.timeOut == true }"
- >
- {{ data.gdState.name }}
- </span>
- </div>
- <!-- 时间 -->
- <div class="shijian">
- <span class="left">
- {{ data.worker ? data.worker.name : "" }}
- </span>
- <span class="right">
- <span>{{ data.showCreateTime }}</span>
- </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
- *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>
- </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>
- </overlay-scrollbars>
- </div>
- </div>
- </div>
- <!-- 右侧悬浮框 baba-->
- <div id="fixedMenu" class="fixed">
- <div
- class="left"
- *ngIf="
- fixedTab != '' &&
- showLastItems &&
- fixedTab != 'newOrder' &&
- fixedTab != 'toSystem' &&
- fixedTab != 'logout'
- "
- >
- <!-- 绑定分机 -->
- <div
- class="con bindingExtension"
- *ngIf="
- fixedTab == 'bindingExtension' &&
- fixedTab != 'newOrder' &&
- !phoneNumLoading
- "
- >
- <div class="title">绑定分机</div>
- <overlay-scrollbars
- #osComponentRef7
- [ngStyle]="{ height: '152px' }"
- class="conditions"
- >
- <div nz-row *ngIf="binding === 1">
- <div nz-col nzSpan="24">
- <div nz-row>
- <nz-checkbox-wrapper
- class="w100"
- (nzOnChange)="changePhones($event)"
- >
- <div nz-row>
- <div *ngFor="let data of phoneNumList" nz-col nzSpan="8">
- <label
- nz-checkbox
- [nzValue]="data.value"
- [ngModel]="data.checked"
- >分机{{ data.value }}</label
- >
- </div>
- </div>
- </nz-checkbox-wrapper>
- </div>
- </div>
- </div>
- <div nz-row *ngIf="binding === 2">
- <div nz-col nzSpan="6">已绑定分机号:</div>
- <div class="bindingExtension_content" nz-col nzSpan="24">
- <span *ngFor="let data of phoneNumListBind; let last = last">
- <span style="color: #333" *ngIf="!last">分机{{ data }}、</span>
- <span style="color: #333" *ngIf="last">分机{{ data }}</span>
- </span>
- </div>
- </div>
- <div nz-row *ngIf="binding === 3">
- <div nz-col nzSpan="24" class="noContentFlex">
- <img
- class="noContent"
- src="../../assets/images/icon_jianchakong@big.png"
- alt=""
- />
- <p>暂未绑定分机号</p>
- </div>
- </div>
- </overlay-scrollbars>
- <div class="btns display_flex justify-content_flex-center">
- <button
- nz-button
- nzType="primary"
- nzValue="small"
- (click)="bindingHandle()"
- *ngIf="binding === 3"
- >
- 绑定分机
- </button>
- <button
- nz-button
- nzType="primary"
- nzValue="small"
- (click)="bindingHandle()"
- *ngIf="binding === 2"
- >
- 重新绑定
- </button>
- <button
- nz-button
- nzType="primary"
- nzValue="small"
- *ngIf="binding === 1"
- (click)="bindingOk()"
- [nzLoading]="bindOkLoading"
- >
- 确定绑定
- </button>
- </div>
- </div>
- <div
- class="
- con
- bindingExtension
- display_flex
- justify-content_flex-center
- align-items_center
- "
- *ngIf="
- fixedTab == 'bindingExtension' &&
- fixedTab != 'newOrder' &&
- phoneNumLoading
- "
- >
- <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>
- <!-- 展示形式 -->
- <div class="con" *ngIf="fixedTab == 'colType' && fixedTab != 'newOrder'">
- <div class="title">展示形式</div>
- <div class="conditions">
- <div nz-row>
- <div nz-col nzSpan="6">护工信息隐藏:</div>
- <div nz-col nzSpan="18">
- <div nz-row>
- <nz-radio-group [(ngModel)]="hurseInfoHiding">
- <label nz-radio nzValue="1">是</label>
- <label nz-radio nzValue="0">否</label>
- </nz-radio-group>
- </div>
- </div>
- </div>
- <div nz-row>
- <div nz-col nzSpan="6">护工信息:</div>
- <div nz-col nzSpan="18">
- <div nz-row>
- <nz-radio-group
- [(ngModel)]="patientCareCol"
- (ngModelChange)="changPatientCareCol($event)"
- >
- <label nz-radio [nzValue]="6 - 0">单排</label>
- <label nz-radio [nzValue]="7 - 0">14人</label>
- <label nz-radio [nzValue]="4 - 0">8人</label>
- </nz-radio-group>
- </div>
- </div>
- </div>
- <div nz-row>
- <div nz-col nzSpan="6">工单信息:</div>
- <div nz-col nzSpan="18">
- <div nz-row>
- <nz-radio-group [(ngModel)]="txtLabelCol">
- <label nz-radio [nzValue]="1 - 0">一排一列</label>
- <label nz-radio [nzValue]="2 - 0">一排两列</label>
- </nz-radio-group>
- </div>
- </div>
- </div>
- <div nz-row>
- <div nz-col nzSpan="6">配送人员刷新:</div>
- <div nz-col nzSpan="15">
- <div nz-row>
- <div nz-col nzSpan="">
- <nz-input-group nzAddOnAfter="秒">
- <nz-input-number
- class="w100"
- [(ngModel)]="workerInfoTime"
- [nzMin]="10"
- [nzStep]="1"
- placeholder="请输入配送人员刷新时间"
- ></nz-input-number>
- </nz-input-group>
- </div>
- </div>
- </div>
- </div>
- <div nz-row>
- <div nz-col nzSpan="6">工单刷新:</div>
- <div nz-col nzSpan="15">
- <div nz-row>
- <div nz-col nzSpan="">
- <nz-input-group nzAddOnAfter="秒">
- <nz-input-number
- class="w100"
- [(ngModel)]="orderInfoTime"
- [nzMin]="10"
- [nzStep]="1"
- placeholder="请输入工单刷新时间"
- ></nz-input-number>
- </nz-input-group>
- </div>
- </div>
- </div>
- </div>
- <div nz-row>
- <div nz-col nzSpan="15">是否开启定时播报未派出工单提示音:</div>
- <div nz-col nzSpan="9">
- <div nz-row>
- <nz-radio-group [(ngModel)]="audioNotDispatched">
- <label nz-radio [nzValue]="true">是</label>
- <label nz-radio [nzValue]="false">否</label>
- </nz-radio-group>
- </div>
- </div>
- </div>
- </div>
- <div class="btns display_flex justify-content_flex-center">
- <button
- nz-button
- nzType="primary"
- nzValue="small"
- [nzLoading]="saveLoading"
- (click)="saveControlView()"
- >
- 保存
- </button>
- </div>
- </div>
- <!-- 叫号信息 -->
- <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 hujiaozhongxin" *ngIf="hsmsData.hsmsSwitch || itsmData.mdv2Switch">
- <div class="menuItems">
- <button
- nz-button
- nzType="link"
- class="item itemLink"
- (click)="showNewOrder()"
- [nzLoading]="getConfigTasktypeLoading || patientLogTasktypeLoading"
- >
- 新建工单
- </button>
- </div>
- </div>
- <div class="fixedMenu">
- <div class="menuItems">
- <div
- class="others"
- [ngStyle]="{
- height: showLastItems
- ? mainRole
- ? 35 * 6 + 'px'
- : 35 * 5 + 'px'
- : 0
- }"
- >
- <div
- [ngClass]="{
- item: true,
- checked: fixedTab == 'bindingExtension'
- }"
- (click)="showBindingExtension()"
- >
- 绑定分机
- </div>
- <div
- [ngClass]="{ item: true, checked: fixedTab == 'orderScope' }"
- (click)="showOrderScope()"
- >
- 工单范围
- </div>
- <div
- [ngClass]="{ item: true, checked: fixedTab == 'colType' }"
- (click)="checkFixedTab('colType')"
- >
- 展示形式
- </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
- 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">
- <div class="modalBody">
- <div class="title" *ngIf="currentTabIndex !== '99999'">
- <div class="newTop">
- <div class="name">来电咨询</div>
- <div class="newTopItem">
- <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">
- <span class="tel grayFont" *ngIf="callNumber">来电号码:{{ callNumber }}</span>
- <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>
- </div>
- <div class="title" *ngIf="currentTabIndex === '99999'">
- <div class="newTop">
- <div class="name">来电咨询</div>
- <div class="newTopItem">
- <span class="grayFont required">院区:</span>
- <nz-select style="width: 160px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzPlaceHolder="请选择院区" [(ngModel)]="incidentModel.hosId" (ngModelChange)="changeApplyHospital($event)" 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>
- </div>
- <div class="newTopItem">
- <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">申请人:</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>
- <ng-container *ngFor="let option of applicationRequesterList">
- <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>
- <label nz-checkbox [(ngModel)]="isRelatedDepartment" (ngModelChange)="changeApplyRelatedDepartment($event)" class="ml8">关联查</label>
- </ng-container>
- </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 | keyvalue">
- <div [ngClass]="{ tab: true, checked: currentTabIndex == item.key}" (click)="tabClick(item.key)">
- {{ item.value[0].associationTypeName }}
- </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 | keyvalue">
- <ng-container *ngIf="applyDept">
- <!-- 标本轮巡,标本配送 -->
- <div class="bottom" *ngIf="currentTabIndex == item.key && item.key == 256 && !newLoading">
- <div class="bottom380256">
- 起点科室默认为申请科室,终点科室为检验科室,确定后即可新建工单!
- </div>
- </div>
- <!-- 患者转运 -->
- <overlay-scrollbars #osComponentRef9 *ngIf="currentTabIndex == item.key && item.key == 255 && !newLoading" class="bottom">
- <div class="bottom255">
- <form nz-form [formGroup]="validateFormZy">
- <div nz-row [nzGutter]="24">
- <div nz-col [nzSpan]="24" style="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(radioValueZy)"
- >
- <div nz-row>
- <label
- nz-col
- nz-radio
- [nzValue]="item1.id"
- *ngFor="
- let item1 of workTypesArrange[item.key]
- "
- >{{ item1.taskTypeName }}</label
- >
- </div>
- </nz-radio-group>
- </overlay-scrollbars>
- </div>
- </nz-form-control>
- </nz-form-item>
- </div>
- <div
- nz-col
- [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24"
- style="height: 83px"
- [ngStyle]="{
- display:
- deptZyList['startStatus'] != 201 ? 'block' : 'none'
- }"
- >
- <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"
- nzServerSearch
- nzShowSearch
- (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
- nz-col
- [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24"
- style="height: 83px"
- >
- <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"
- nzServerSearch
- nzShowSearch
- (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" style="height: 83px">
- <div class="control-flex">
- <nz-form-item class="control-flex__5">
- <nz-form-label
- class="label"
- [nzSm]="24"
- [nzXs]="24"
- nzRequired
- nzFor="patient"
- >患者信息
- </nz-form-label>
- <nz-form-control
- class="control"
- style="width: 160px"
- [nzSm]="24"
- [nzXs]="24"
- nzErrorTip="请选择患者信息!"
- >
- <nz-select
- formControlName="patient"
- [nzDropdownMatchSelectWidth]="false"
- nzServerSearch
- nzShowSearch
- (nzOnSearch)="
- searchPatientList(
- radioValueZy == deathTasktypeId && endDeptZy !== null
- ? endDeptZy
- : applyDept,
- $event
- )
- "
- nzAllowClear
- nzPlaceHolder="请选择患者信息"
- [(ngModel)]="patientZy"
- >
- <ng-container
- *ngFor="let option of patientList"
- >
- <nz-option
- *ngIf="!isLoadingPatient"
- [nzLabel]="
- 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="control-flex__7">
- <nz-form-label
- class="label"
- [nzSm]="24"
- [nzXs]="24"
- nzFor="goods"
- *ngIf="goodsNow.length"
- >
- 携带物品
- </nz-form-label>
- <nz-form-control
- class="control"
- [nzSm]="24"
- [nzXs]="24"
- nzErrorTip="请选择携带物品!"
- >
- <nz-checkbox-group
- [(ngModel)]="goodsNow"
- formControlName="goods"
- (ngModelChange)="changeGoods($event)"
- ></nz-checkbox-group>
- </nz-form-control>
- </nz-form-item>
- </div>
- </div>
- <!-- 预约建单时间-患者其他服务--start -->
- <div nz-col [nzSpan]="24" style="height: 83px" 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
- >
- </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 == 259 && !newLoading">
- <div class="bottom255">
- <form nz-form [formGroup]="validateFormQt">
- <div nz-row [nzGutter]="24">
- <div nz-col [nzSpan]="24" style="height: 268px">
- <nz-form-item>
- <nz-form-label
- class="label"
- [nzSm]="24"
- [nzXs]="24"
- nzRequired
- nzFor="taskTypeQt"
- >类型
- </nz-form-label>
- <nz-form-control
- class="control"
- [nzSm]="24"
- [nzXs]="24"
- nzErrorTip="请选择类型!"
- >
- <div class="radios" style="height: 225px">
- <overlay-scrollbars
- #osComponentRef11
- [ngStyle]="{ height: '100%' }"
- >
- <nz-radio-group
- formControlName="taskTypeQt"
- nz-row
- [(ngModel)]="radioValueQt"
- (ngModelChange)="radioChangeQt(radioValueQt)"
- >
- <div nz-row>
- <label
- nz-col
- nz-radio
- [nzValue]="item1.id"
- *ngFor="
- let item1 of workTypesArrange[item.key]
- "
- >{{ item1.taskTypeName }}</label
- >
- </div>
- </nz-radio-group>
- </overlay-scrollbars>
- </div>
- </nz-form-control>
- </nz-form-item>
- </div>
- <div
- nz-col
- [nzSpan]="12"
- style="height: 83px"
- [ngStyle]="{
- display:
- deptQtList['startStatus'] != 201 ? 'block' : 'none'
- }"
- >
- <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"
- nzServerSearch
- nzShowSearch
- (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 nz-col [nzSpan]="12" style="height: 83px">
- <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"
- nzServerSearch
- nzShowSearch
- (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"
- *ngIf="
- deptQtList.taskType &&
- deptQtList.taskType.remarksSwitch == 1
- "
- >
- <nz-form-item>
- <nz-form-label
- class="label"
- [nzSm]="3"
- [nzXs]="3"
- 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"
- [nzAutosize]="{ minRows: 3, maxRows: 5 }"
- maxlength="100"
- [(ngModel)]="workOrderRemark"
- #remarksEle
- ></textarea>
- </nz-form-control>
- </nz-form-item>
- </div>
- <!-- 预约建单时间-其他临床服务--start -->
- <div nz-col [nzSpan]="24" style="height: 83px" 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
- >
- </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 == 99999">
- <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 nz-input placeholder="请填写详细地址" [(ngModel)]="incidentModel.houseNumber" />
- </div>
- </div>
- <div class="row gap8">
- <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">
- <span class="name">来电电话:</span>
- <ng-container *ngIf="incidentModel.incomingPhone">{{incidentModel.incomingPhone}}<em (click)="importPhone(incidentModel.incomingPhone)">引入</em></ng-container>
- </div>
- </div>
- <div class="row gap8">
- <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 gap8">
- <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)">
- <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 gap8">
- <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>
- <i #suffixTemplate nz-icon nz-tooltip class="ant-input-clear-icon ml8" nzTheme="fill" nzType="close-circle" *ngIf="incidentModel.description" (click)="incidentModel.description = null" ></i>
- </div>
- </div>
- <div class="row gap8">
- <div class="col">
- <span class="name required">优先级:</span>
- <nz-select class="w100" [(ngModel)]="incidentModel.priorityId" nzAllowClear nzPlaceHolder="请选择优先级">
- <nz-option [nzValue]="item.id" [nzLabel]="item.name" *ngFor="let item of applicationPriorityList"></nz-option>
- </nz-select>
- </div>
- <div class="col">
- <span class="name">事件来源:</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 gap8">
- <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 gap8">
- <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>
- </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 !== '99999'">提示:临床科室建单会更简便哟!</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">{{ orderRefreshTime }}s</span></span>
- </div>
- <!-- 近期配送 start -->
- <div class="cots_body weifenpai" *ngIf="currentRTab == 0" [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 gap8">
- <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
- [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 noEllipsis">{{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>
- </div>
- <div class="btns display_flex justify-content_flex-center align-items_center">
- <ng-container *ngIf="applyDept && currentTabIndex !== '99999'">
- <button nz-button class="btn" nzType="primary" (click)="newOrderOk('go')" [nzLoading]="isGoLoading">
- 继续建单
- </button>
- <button nz-button class="btn" nzType="primary" (click)="newOrderOk()" [nzLoading]="isOkLoading">
- {{isYyInspect ? '预约建单' :'直接建单'}}
- </button>
- </ng-container>
- <ng-container *ngIf="currentTabIndex === '99999'">
- <label nz-checkbox [(ngModel)]="isBuildOrderAgagin" *ngIf="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>
- <button class="btn cancel" nz-button nzType="default" (click)="newOrderCancel()">
- 取消
- </button>
- </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>
- </div>
- <!-- 工单范围 -->
- <app-order-scope *ngIf="showInitModal" [hsmsData]="hsmsData" [itsmData]="itsmData" (confirmModal)="confirmOrderScope($event)" (cancelModal)="cancelOrderScope($event)"></app-order-scope>
- <!-- 消息弹框模板 -->
- <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>
|