clinic.js 677 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707
  1. //@ sourceURL=clinic.js
  2. //判断病人列表是否在加载中,防止重复加载
  3. var msg_list_loading = false;
  4. //挂号卡片列表页面下标
  5. var pageIndex = 0;
  6. //药品使用方法,天数和频次的集合
  7. var groupIdMap = null;
  8. var LODOP; //声明为全局变量
  9. //默认打印机下标
  10. var printIndex = -1;
  11. // //上一個光标点击的元素ID
  12. var prevEleId = null;
  13. //打开检查检验报告的时候不知道哪个有报告,如果检查没有就自动打开检验,但是为了防止死循环,次数加到1就不在进行重试
  14. var retryCount = 0;
  15. //是否在读卡中
  16. var mztczfSiReadCardStatus = false;
  17. //药品组号与处方号关系
  18. var gropuIdAndOrderNoMap = null;
  19. //上一个药品大类
  20. //var prevCategoriesFlag = null;
  21. //处方回调和修改的时候处方号与处方tab的关系
  22. var orderNoAndTableIdMap = null;
  23. //处方回调和修改的时候处方tab与处方号的关系
  24. var tableIdAndOrderNoMap = null;
  25. //合理用药查询审核结果url
  26. var getResultUrl = null;
  27. //定时器
  28. var timer;
  29. var ksjzType = null;
  30. var hospitalName='沭阳铭和医院'
  31. var wpyHide = 0;
  32. var currentPatientId = '';
  33. //就诊病人信息
  34. var currentPatientInfo = {} ;
  35. //就诊病人列表
  36. var patientList = [];
  37. //就诊病人过敏源
  38. var allergens = [];
  39. $(function () {
  40. getAjaxRequst("/thmz/queryWpyOrderHide",{},true,function (res) {
  41. wpyHide = res.data
  42. if(res.data === 1){
  43. $('#wp_order_button').removeClass('in').addClass('hide');
  44. $('#healthEducationDiv').removeClass('in').addClass('hide');
  45. $('#ypHealthEducationDiv').removeClass('in').addClass('hide');
  46. }
  47. })
  48. getAjaxRequst("/thmz/queryHospitalName",{},true,function (res) {
  49. hospitalName = res.data
  50. $('.hospitalName').text(hospitalName)
  51. })
  52. initCopy();
  53. initMzOrderTypeSelect();
  54. initGenderSelect();
  55. iniAdmissStatus();
  56. initListDeptSelect();
  57. initRelationSelect();
  58. //initTryResultSelect();
  59. initResponceTypeSelect();
  60. initTemplateTypeSelect("templateType");
  61. initTemplateKindTypeSelect('templateKindType');
  62. initZyClassTypeSelect();
  63. initInstructionSelect();
  64. initSelectWithParams();
  65. initCertificateTypeSelect();
  66. initMztcSelect();
  67. initMzssSelect();
  68. //setSelectSize();
  69. $('#editUserBirthDayGroup').datetimepicker({
  70. format: 'yyyy-mm-dd',
  71. language: 'zh-CN',
  72. minView: "month",
  73. });
  74. initDaterangepickerWithId('reportrange', "right");
  75. formatCheck();
  76. //数据校验
  77. init_validator();
  78. //初始频次下拉选
  79. initOrderFrequencys("orderFrequency", true);
  80. //初始频次下拉选
  81. initOrderFrequencys("orderFrequencyZl", true);
  82. //初始用药方式下拉选
  83. initSupplyTypes();
  84. //初始化外配药品用法
  85. initZdRxAll('rx_used_way','medcWayCodg');
  86. //初始化外配药品频次
  87. initZdRxAll('rx_used_frqu','usedFrquCodg');
  88. //初始外配药化剂型
  89. initDrugDosform();
  90. initAdvmPro('visitAdvmPro');
  91. //加载候诊患者列表
  92. loadUnClinicTableList();
  93. //加载接诊中患者列表
  94. loadInClinicTableList();
  95. //加载已接诊患者列表
  96. loadClinicTableList();
  97. //每隔一分钟秒读加载候诊患者列表
  98. refreshList();
  99. // setInterval(function () {
  100. // //加载候诊患者列表
  101. // loadUnClinicTableList();
  102. // //加载已接诊患者列表 病人会缴费,需要刷新状态
  103. // loadClinicTableList();
  104. // }, 60000);
  105. //初始化快速接诊病人姓名栏事件
  106. initUserList();
  107. //初始化主诉弹出层
  108. initRecommendList();
  109. //卡号输入改变事件
  110. cardNoChange();
  111. //初始化省份
  112. initProvince(3);
  113. //初始化省份
  114. initProvince(5);
  115. /**
  116. * 患者信息修改
  117. */
  118. $("#saveEditUser").on("click", function (t) {
  119. modifyPatient();
  120. });
  121. // /**
  122. // * 保存入院证
  123. // */
  124. // $("#saveBeHospitalized").on("click", function (t) {
  125. // saveBeHospitalized();
  126. // });
  127. /**
  128. * 打印入院证
  129. */
  130. $("#printBeHospitalized").on("click", function (t) {
  131. modifyPatient();
  132. });
  133. //折叠按钮初始化
  134. $('.collapse-link').on('click', function () {
  135. var $BOX_PANEL = $(this).closest('.x_panel_mine'),
  136. $ICON = $(this).find('i'),
  137. $BOX_CONTENT = $BOX_PANEL.find('.x_content');
  138. // fix for some div with hardcoded fix class
  139. if ($BOX_PANEL.attr('style')) {
  140. $BOX_CONTENT.slideToggle(200, function () {
  141. $BOX_PANEL.removeAttr('style');
  142. });
  143. } else {
  144. $BOX_CONTENT.slideToggle(200);
  145. $BOX_PANEL.css('height', 'auto');
  146. }
  147. $ICON.toggleClass('fa-chevron-up fa-chevron-down');
  148. });
  149. /**
  150. * 接诊
  151. */
  152. $("#clinicalReception").on("click", function (t) {
  153. var patientIdDb = $("#patientIdDb").val();
  154. if (patientIdDb == null || patientIdDb == "") {
  155. errorMesageSimaple("当前未选择病人,无法接诊");
  156. return;
  157. }
  158. $.ajax({
  159. type: "GET",
  160. url: '/thmz/getMzfzPatientOrderByPatientId?patientId=' + patientIdDb,
  161. contentType: "application/json;charset=UTF-8",
  162. dataType: "json",
  163. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  164. success: function (res) {
  165. if (res == '401' || res == 401) {
  166. window.location.href = '/thmz/login/view'
  167. return;
  168. }
  169. if (res.code == 0) {
  170. if (res.data != null && res.data.length > 0) {
  171. if (res.data.length == 1) {
  172. $("#turnToConsultationIdInClick").val(res.data[0].turnToConsultationId);
  173. clinicalReception(patientIdDb, res.data[0].serialNo, res.data[0].reqType);
  174. } else {
  175. $("#mzfzPatientOrderModal").modal();
  176. $("#mzfzPatientOrderTable").html(null);
  177. for (var i = 0; i < res.data.length; i++) {
  178. var roomCode = res.data[i].roomCode;
  179. if (roomCode == null || roomCode == "null") {
  180. roomCode = "";
  181. }
  182. var doctorCode = (res.data[i].doctorCode == null || res.data[i].doctorCode == 'null') ? '' : res.data[i].doctorCode;
  183. $("<tr data-target='" + res.data[i].serialNo + "' data-target-reqType='" + res.data[i].reqType + "' data-target-turnToConsultationId='" + res.data[i].turnToConsultationId + "'><td>" + res.data[i].patientId + "</td><td>" + res.data[i].name + "</td><td>" + res.data[i].deptCode + "</td><td>" + doctorCode + "</td><td>" + roomCode + "</td></tr>").appendTo("#mzfzPatientOrderTable").bind('click', function () {
  184. $("#mzfzPatientOrderModal").modal("hide");
  185. $("#turnToConsultationIdInClick").val($(this).attr("data-target-turnToConsultationId"));
  186. clinicalReception(patientIdDb, $(this).attr("data-target"), $(this).attr("data-target-reqType"));
  187. });
  188. }
  189. }
  190. clearRapidAcceptsModal();
  191. $("#rapidAcceptsModal").modal("hide");
  192. } else {
  193. errorMesageSimaple("当前病人没有分诊信息");
  194. }
  195. } else if (res.code == 200) {
  196. clearRapidAcceptsModal();
  197. $("#rapidAcceptsModal").modal("hide");
  198. clinicalReception(patientIdDb, null, null);
  199. } else {
  200. errorMesage(res);
  201. }
  202. }
  203. });
  204. });
  205. /**
  206. * 存为范本
  207. */
  208. $("#saveapidAccepts").on("click", function (t) {
  209. //关闭帮助框
  210. $("#treeButton").webuiPopover('hide');
  211. $("#western_medicine_name").webuiPopover('hide');
  212. $("#chinese_medicine_name").webuiPopover('hide');
  213. $("#jcJyItem").webuiPopover('hide');
  214. $("#zlItem").webuiPopover('hide');
  215. $("#saveapidAcceptsModal").modal("show");
  216. });
  217. /**
  218. * 实例化智能问诊弹窗
  219. */
  220. // $("[data-toggle='popover']").popover();
  221. $("#box-arrow-left").popover({
  222. html: 'true',
  223. content: '<div id="smartAssistPopoverContent"></div>'
  224. });
  225. //初始化药品分组下拉选
  226. initGroupOrder();
  227. // 初始化用药天数下拉选
  228. initDayNum();
  229. //页面加载完成初始化西药处方
  230. //initNavTabs(0);
  231. //页面加载完成初始化住院处方
  232. //initNavTabs(3);
  233. //初始医生工作太配置
  234. initWorkspaceConfigForCurrent();
  235. initExecUnit();
  236. /**
  237. * 西药点击事件
  238. */
  239. $("#western_medicine_name").on("click", function (t) {
  240. var obj = $("#westernMedicinePopoverContent").parent().parent().parent();
  241. if ($(obj).hasClass("in") || $(obj).css("display") == "block") {
  242. $('#western_medicine_name').webuiPopover('hide');
  243. $("#treeButton").webuiPopover('hide');
  244. return;
  245. }
  246. $('#western_medicine_name').webuiPopover('show');
  247. loadYpList(0, null);
  248. });
  249. /**
  250. * 中药点击事件
  251. */
  252. $("#chinese_medicine_name").on("click", function (t) {
  253. var obj = $("#chineseMedicinePopoverContent").parent().parent().parent();
  254. if ($(obj).hasClass("in") || $(obj).css("display") == "block") {
  255. $('#chinese_medicine_name').webuiPopover('hide');
  256. $("#treeButton").webuiPopover('hide');
  257. return;
  258. }
  259. $('#chinese_medicine_name').webuiPopover('show');
  260. loadYpList(1, null);
  261. });
  262. /**
  263. * 辅助检查、检验点击事件
  264. */
  265. $("#jcJyItem").on("click", function (t) {
  266. var obj = $("#jcJyItemPopoverContent").parent().parent().parent();
  267. if ($(obj).hasClass("in") || $(obj).css("display") == "block") {
  268. $('#jcJyItem').webuiPopover('hide');
  269. $("#treeButton").webuiPopover('hide');
  270. return;
  271. }
  272. $('#jcJyItem').webuiPopover('show');
  273. loadjcJyItemList(null);
  274. });
  275. /**
  276. * 诊疗点击事件
  277. */
  278. $("#zlItem").on("click", function (t) {
  279. var obj = $("#zlItemPopoverContent").parent().parent().parent();
  280. if ($(obj).hasClass("in") || $(obj).css("display") == "block") {
  281. $('#zlItem').webuiPopover('hide');
  282. $("#treeButton").webuiPopover('hide');
  283. return;
  284. }
  285. $('#zlItem').webuiPopover('show');
  286. loadZlItemList(null);
  287. });
  288. //外配药点击事件
  289. $("#wp_medicine_name").on("click", function (t) {
  290. var obj = $("#wpMedicinePopoverContent").parent().parent().parent();
  291. if ($(obj).hasClass("in") || $(obj).css("display") == "block") {
  292. $('#wp_medicine_name').webuiPopover('hide');
  293. $("#treeButton").webuiPopover('hide');
  294. return;
  295. }
  296. $('#wp_medicine_name').webuiPopover('show');
  297. loadWpMedicineList(null);
  298. });
  299. initYshPart();
  300. initJyZdSample();
  301. initClinicDeptNo();
  302. setTimeout(function () {
  303. getLodop();
  304. }, 800);
  305. //键盘监听回车键
  306. $(document).unbind("keyup").keyup(function (event) {
  307. var index = getIndex("bill_item_group");
  308. if (event.keyCode == 13) { //是否是回车
  309. var el = event.srcElement || event.target;
  310. var id = el.getAttribute("id");
  311. var current_code = null;
  312. if (index == 0) {
  313. current_code = $("#western_medicine_current_code").val();
  314. } else if (index == 1) {
  315. current_code = $("#chinese_medicine_current_code").val();
  316. } else if (index == 2) {
  317. current_code = $("#jcjy_current_code").val();
  318. } else if (index == 3) {
  319. current_code = $("#zl_current_code").val();
  320. }else if (index == 6) {
  321. current_code = $("#wp_medicine_current_code").val();
  322. }
  323. if (id == null || id == "") {
  324. id = el.getAttribute("data-id");
  325. }
  326. if (id == null || id == "") {
  327. var search = el.getAttribute("aria-label");
  328. if (search == "Search") {
  329. id = $(el).parent().parent().prev().attr("data-id");
  330. }
  331. }
  332. if (id != null && id != "") {
  333. //将当前点击的id记录下
  334. //prevEleId = id;
  335. } else if (prevEleId != null) {
  336. id = prevEleId;
  337. }
  338. //回车时,光标不在任何区域判断是不是在药品和诊疗开立区域
  339. if (id == null || id == "") {
  340. var index = getIndex("bill_item_group");
  341. if (index == 0) {
  342. if (current_code != null && current_code != "") {
  343. //当前页面是西药保存页面,且有药品选中
  344. $("#supplyType").next().click();
  345. }
  346. } else if (index == 1) {
  347. //当前页面是中草药保存页面,且有药品选中
  348. } else if (index == 2) {
  349. if (current_code != null && current_code != "") {
  350. //当前页面是医技保存页面,且有选中
  351. if ($("#jyZdSampleDiv").hasClass('in')) {
  352. //此时是检验
  353. $("#jyZdSample").next().click();
  354. } else if ($("#yshPartDiv").hasClass('in')) {
  355. //说明现在是检查
  356. $("#yshPart").next().click();
  357. }
  358. }
  359. } else if (index == 3) {
  360. //诊疗
  361. $("#yshPart").next().click();
  362. return;
  363. } else if (index == 4) {
  364. //当前页面是住院保存页面
  365. $("#inpatientWardBeHospitalized").next().click();
  366. return;
  367. }
  368. }
  369. var customization = $("div.customization").not(".hide");
  370. // //回车时,光标不在任何区域,默认点击主诉
  371. // if (id == null || id == "") {
  372. // var eleId = $(customization[0]).attr("target-id");
  373. // $("#" + eleId).focus();
  374. // if (eleId == 'symptom') {
  375. // $("#" + eleId).click();
  376. // }
  377. // console.log("eleId=" + eleId);
  378. // } else
  379. if (id == 'symptom' || id == 'emrHpi' || id == 'emrPs' || id == 'personalHistory' || id == 'familyHistory' || id == 'obstericalHistory' || id == 'otherCheck' || id == 'diagnose' || id == 'tentativeDiagnosis' || id == 'fzZl' || id == 'crbHistory' ) {
  380. console.log("1id=" + id);
  381. if (id != $(customization[customization.length - 1]).attr("target-id")) {
  382. var next = $("#" + id + "Flag").next();
  383. while ($(next).hasClass("foreclose") || $(next).hasClass("hide")) {
  384. next = $(next).next();
  385. }
  386. var eleId = $(next).attr("target-id");
  387. $("#" + eleId).focus();
  388. if (eleId == 'diagnose' || id == 'diagnose' || id == 'symptom') {
  389. $("#" + eleId).click();
  390. }
  391. console.log("1eleId=" + eleId);
  392. } else {
  393. var data_target = $("#symptom").attr("data-target");
  394. $("#" + data_target).find("a.close").click();
  395. data_target = $("#diagnose").attr("data-target");
  396. $("#" + data_target).find("a.close").click();
  397. if (index == 0) {
  398. $("#western_medicine_name").focus();
  399. } else if (index == 1) {
  400. $("#chinese_medicine_name").focus();
  401. } else if (index == 2) {
  402. $("#jcJyItem").focus();
  403. } else if (index == 3) {
  404. $("#zlItem").focus();
  405. } else if (index == 4) {
  406. $("#inpatientWardBeHospitalized").next().click();
  407. } else if (index == 5) {
  408. $("#opName").next().click();
  409. }else if (index == 6) {
  410. $("#wp_medicine_name").focus();
  411. }
  412. }
  413. } else if (id == 'zy_drugWin') {
  414. $("#zyInstruction").next().click();
  415. } else if (id == 'zyInstruction') {
  416. var ariaExpanded = $("#zyInstruction").next().attr("aria-expanded");
  417. if (ariaExpanded == true || ariaExpanded == "true") {
  418. $("#zyInstruction").next().click();
  419. }
  420. $("#saveChineseMedicine").click();
  421. $("#chinese_medicine_name").focus();
  422. $("#chinese_medicine_name").click();
  423. } else if (id == 'cyJssm') {
  424. $("#cyJsl").focus();
  425. } else if (id == 'cyJsl') {
  426. $("#cyZql").focus();
  427. } else if (id == 'cyZql') {
  428. $("#cyFj").focus();
  429. } else if (id == 'cyFj') {
  430. $("#cyFfcs").focus();
  431. } else if (id == 'cyFj') {
  432. $("#cyFfcs").focus();
  433. } else if (id == 'cyFfcs') {
  434. $("#useType_1").next().click();
  435. } else if (id == 'useType_1') {
  436. $("#cyMtjs").focus();
  437. } else if (id == 'cyMtjs') {
  438. $("#zyfs").focus();
  439. } else if (id == 'zyfs') {
  440. $("#zy_supplyType_1").next().click();
  441. } else if (id == 'supplyType') {
  442. $("#drugWinUnit").next().click();
  443. } else if (id == 'drugWinUnit') {
  444. $("#drugWin").focus();
  445. } else if (id == 'drugWin') {
  446. $("#dayNum").next().click();
  447. } else if (id == 'dayNum') {
  448. $("#orderFrequency").next().click();
  449. } else if (id == 'orderFrequency') {
  450. $("#gross").focus();
  451. } else if (id == 'gross') {
  452. $("#packUnit").next().click();
  453. } else if (id == 'packUnit') {
  454. $("#medicalAdvice").next().click();
  455. } else if (id == 'medicalAdvice') {
  456. var ariaExpanded = $("#medicalAdvice").next().attr("aria-expanded");
  457. if (ariaExpanded == true || ariaExpanded == "true") {
  458. $("#medicalAdvice").next().click();
  459. }
  460. saveMedicine(0);
  461. $("#western_medicine_name").focus();
  462. } else if (id == 'saveWesternMedicine') {
  463. $("#western_medicine_name").focus();
  464. $("#western_medicine_name").click();
  465. } else if (id == 'yshPart' || id == 'jyQuantity') {
  466. $("#execUnit").next().click();
  467. } else if (id == 'jyZdSample') {
  468. $("#jyQuantity").focus();
  469. } else if (id == 'execUnit') {
  470. var ariaExpanded = $("#execUnit").next().attr("aria-expanded");
  471. if (ariaExpanded == true || ariaExpanded == "true") {
  472. $("#execUnit").next().click();
  473. }
  474. $("#remark").focus();
  475. } else if (id == 'remark') {
  476. saveJyJcItem(true);
  477. $("#jcJyItem").focus();
  478. } else if (id == 'chargeUnit') {
  479. $("#itemQuantity").focus();
  480. } else if (id == 'itemQuantity') {
  481. $("#dayZlNum").next().click();
  482. } else if (id == 'dayZlNum') {
  483. var ariaExpanded = $("#dayZlNum").next().attr("aria-expanded");
  484. if (ariaExpanded == true || ariaExpanded == "true") {
  485. $("#dayZlNum").next().click();
  486. }
  487. $("#orderFrequencyZl").next().click();
  488. } else if (id == 'orderFrequencyZl') {
  489. var ariaExpanded = $("#orderFrequencyZl").next().attr("aria-expanded");
  490. if (ariaExpanded == true || ariaExpanded == "true") {
  491. $("#orderFrequencyZl").next().click();
  492. }
  493. $("#totalNumZl").focus();
  494. } else if (id == 'totalNumZl') {
  495. $("#zlExecUnit").next().click();
  496. } else if (id == 'zlExecUnit') {
  497. var ariaExpanded = $("#zlExecUnit").next().attr("aria-expanded");
  498. if (ariaExpanded == true || ariaExpanded == "true") {
  499. $("#zlExecUnit").next().click();
  500. }
  501. $("#zlRemark").focus();
  502. } else if (id == 'zlRemark') {
  503. saveZlItem(true);
  504. $("#zlItem").focus();
  505. } else if (id == 'inpatientWardBeHospitalized') {
  506. $("#smallWardBeHospitalized").next().click();
  507. } else if (id == 'smallWardBeHospitalized') {
  508. $("#conditionCode").next().click();
  509. } else if (id == 'conditionCode') {
  510. $("#routeOfAdmission").next().click();
  511. } else if (id == 'routeOfAdmission') {
  512. $("#admissStatus").next().click();
  513. } else if (id == 'admissStatus') {
  514. saveZyReq(true);
  515. $("#zy_req_button").focus();
  516. } else if (id == 'western_medicine_name') {
  517. var webuiID = $("#western_medicine_name").attr("data-target");
  518. if (webuiID == null || webuiID == "null" || webuiID == "") {
  519. //药品查询框是空白的,打开查询框
  520. $("#western_medicine_name").click();
  521. return;
  522. }
  523. //选择框打开
  524. if ($("#" + webuiID).hasClass("in") || $("#" + webuiID).css("display") == "block") {
  525. var arr = $("#tb_table_western_medicine").find("tbody").find("tr.trhover");
  526. if (arr != undefined && arr != null && arr.length > 0) {
  527. var dataIndex = $(arr).attr("data-index");
  528. var tableData = $("#tb_table_western_medicine").bootstrapTable('getData');
  529. if (tableData != null && tableData.length > 0 && dataIndex != null) {
  530. var trData = tableData[dataIndex];
  531. checkYpInfo(trData.code, trData.serial, trData.ypType, true, null, 3);
  532. $("#western_medicine_name").click();
  533. }
  534. } else {
  535. //药品查询框是空白的,打开查询框
  536. $("#western_medicine_name").click();
  537. }
  538. } else {
  539. if (current_code != null && current_code != "") {
  540. //已经选中药品,跳到用法
  541. $("#supplyType").next().click();
  542. } else {
  543. //药品查询框是空白的,打开查询框
  544. $("#western_medicine_name").click();
  545. }
  546. }
  547. } else if (id == 'chinese_medicine_name') {
  548. var webuiID = $("#chinese_medicine_name").attr("data-target");
  549. if (webuiID == null || webuiID == "null" || webuiID == "") {
  550. $("#chinese_medicine_name").click();
  551. return;
  552. }
  553. //选择框打开
  554. if ($("#" + webuiID).hasClass("in") || $("#" + webuiID).css("display") == "block") {
  555. var arr = $("#tb_table_chinese_medicine").find("tbody").find("tr.trhover");
  556. if (arr != undefined && arr != null && arr.length > 0) {
  557. var dataIndex = $(arr).attr("data-index");
  558. var tableData = $("#tb_table_chinese_medicine").bootstrapTable('getData');
  559. if (tableData != null && tableData.length > 0 && dataIndex != null) {
  560. var trData = tableData[dataIndex];
  561. checkZyInfo(trData.code, trData.serial, $("#zyClassType").val(), true);
  562. $("#chinese_medicine_name").click();
  563. }
  564. } else {
  565. //药品查询框是空白的,打开查询框
  566. $("#chinese_medicine_name").click();
  567. }
  568. } else {
  569. if (current_code != null && current_code != "") {
  570. //已经选中药品,跳到剂量
  571. $("#zy_drugWin").next().click();
  572. } else {
  573. //药品查询框是空白的,打开查询框
  574. $("#chinese_medicine_name").click();
  575. }
  576. }
  577. } else if (id == 'jcJyItem') {
  578. var webuiID = $("#jcJyItem").attr("data-target");
  579. if (webuiID == null || webuiID == "null" || webuiID == "") {
  580. $("#jcJyItem").click();
  581. return;
  582. }
  583. //选择框打开
  584. if ($("#" + webuiID).hasClass("in") || $("#" + webuiID).css("display") == "block") {
  585. var arr = $("#tb_table_jc_jy_item").find("tbody").find("tr.trhover");
  586. if (arr != undefined && arr != null && arr.length > 0) {
  587. var dataIndex = $(arr).attr("data-index");
  588. var tableData = $("#tb_table_jc_jy_item").bootstrapTable('getData');
  589. if (tableData != null && tableData.length > 0 && dataIndex != null) {
  590. var trData = tableData[dataIndex];
  591. $('#jcJyItem').webuiPopover('hide');
  592. $("#jcJyZltype").val(trData.type);
  593. $("#execUnit").selectpicker('val', trData.execUnit);//默认不选中
  594. $("#execUnit").selectpicker('refresh');
  595. if (trData.type == 1) {
  596. //检验
  597. $("#jyZdSampleDiv").removeClass("hide").addClass("in");
  598. $("#jyQuantityDiv").removeClass("hide").addClass("in");
  599. $("#chargeUnitDiv").removeClass("in").addClass("hide");
  600. $("#yshPartDiv").removeClass("in").addClass("hide");
  601. if (trData.sampleCode != null && trData.sampleCode != "") {
  602. $("#jyZdSample").selectpicker('val', trData.sampleCode);
  603. $('#jyZdSample').selectpicker('refresh');
  604. }
  605. } else if (trData.type == 2) {
  606. //检查
  607. $("#yshPartDiv").removeClass("hide").addClass("in");
  608. $("#jyZdSampleDiv").removeClass("in").addClass("hide");
  609. $("#jyQuantityDiv").removeClass("in").addClass("hide");
  610. $("#chargeUnitDiv").removeClass("in").addClass("hide");
  611. if (trData.bwCode != null && trData.bwCode != "") {
  612. $("#yshPart").selectpicker('val', trData.bwCode);
  613. $('#yshPart').selectpicker('refresh');
  614. }
  615. }
  616. $("#jcJyItemChargeDetail").removeClass("hide").addClass("in");
  617. checkJcJyItemInfo(trData.code, trData.name, trData.type, true);
  618. }
  619. } else {
  620. //药品查询框是空白的,打开查询框
  621. $("#jcJyItem").click();
  622. }
  623. } else {
  624. if (current_code != null && current_code != "") {
  625. //如果是保存失败的,重新打开输入框查询
  626. if (prevEleId == 'remark') {
  627. $("#jcJyItem").click();
  628. } else {
  629. //当前页面是医技保存页面,且有选中
  630. if ($("#jyZdSampleDiv").hasClass('in')) {
  631. //此时是检验
  632. $("#jyZdSample").next().click();
  633. } else if ($("#yshPartDiv").hasClass('in')) {
  634. //说明现在是检查
  635. $("#yshPart").next().click();
  636. }
  637. }
  638. } else {
  639. //药品查询框是空白的,打开查询框
  640. $("#jcJyItem").click();
  641. }
  642. }
  643. } else if (id == 'zlItem') {
  644. var webuiID = $("#zlItem").attr("data-target");
  645. if (webuiID == null || webuiID == "null" || webuiID == "") {
  646. $("#zlItem").click();
  647. return;
  648. }
  649. //选择框打开
  650. if ($("#" + webuiID).hasClass("in") || $("#" + webuiID).css("display") == "block") {
  651. var arr = $("#tb_table_zl_item").find("tbody").find("tr.trhover");
  652. if (arr != undefined && arr != null && arr.length > 0) {
  653. var dataIndex = $(arr).attr("data-index");
  654. var tableData = $("#tb_table_zl_item").bootstrapTable('getData');
  655. if (tableData != null && tableData.length > 0 && dataIndex != null) {
  656. var trData = tableData[dataIndex];
  657. $('#zlItem').webuiPopover('hide');
  658. $("#zlExecUnit").selectpicker('val', trData.execUnit);//默认不选中
  659. $("#zlExecUnit").selectpicker('refresh');
  660. //诊疗
  661. if ($("#zlTab").find("li") == null || $("#zlTab").find("li").length == 0) {
  662. initNavTabs(3, null, null);
  663. }
  664. $("#zlItem").val(trData.name);
  665. $("#zlItem").blur();
  666. $("#zlItemPrice").val(trData.chargeAmount);
  667. $("#chargeUnit").val(trData.specification);
  668. $("#zl_current_code").val(trData.code);
  669. $("#itemQuantity").val(1);
  670. $("#chargeUnit").focus();
  671. }
  672. } else {
  673. //药品查询框是空白的,打开查询框
  674. $("#zlItem").click();
  675. }
  676. } else {
  677. if (current_code != null && current_code != "") {
  678. //如果是保存失败的,重新打开输入框查询
  679. if (prevEleId == 'zlRemark') {
  680. $("#zlItem").click();
  681. } else {
  682. $("#chargeUnit").focus();
  683. }
  684. } else {
  685. //药品查询框是空白的,打开查询框
  686. $("#zlItem").click();
  687. }
  688. }
  689. }else if (id == 'wp_medicine_name') {
  690. var webuiID = $("#wp_medicine_name").attr("data-target");
  691. if (webuiID == null || webuiID == "null" || webuiID == "") {
  692. $("#wp_medicine_name").click();
  693. return;
  694. }
  695. //选择框打开
  696. if ($("#" + webuiID).hasClass("in") || $("#" + webuiID).css("display") == "block") {
  697. var arr = $("#tb_table_wp_medicine").find("tbody").find("tr.trhover");
  698. if (arr != undefined && arr != null && arr.length > 0) {
  699. var dataIndex = $(arr).attr("data-index");
  700. var tableData = $("#tb_table_wp_medicine").bootstrapTable('getData');
  701. if (tableData != null && tableData.length > 0 && dataIndex != null) {
  702. var trData = tableData[dataIndex];
  703. $('#wp_medicine_name').webuiPopover('hide');
  704. //外配药
  705. if ($("#wpMedicineTab").find("li") == null || $("#wpMedicineTab").find("li").length == 0) {
  706. initNavTabs(6, null, null);
  707. }
  708. $("#wp_medicine_name").val(trData.genname);
  709. $("#wp_medicine_name").blur();
  710. $("#sinDosunt").val(trData.minPrepunt);
  711. $("#sinDoscnt").val('1');
  712. setSelectDefaultVal('usedFrquCodg','13')
  713. setSelectDefaultVal('drugDosform',trData.dosformName)
  714. $("#prdrName").val(trData.prdrName);
  715. $("#drugDosunt").val(trData.minPacunt);
  716. $("#drugSpec").val(trData.specName);
  717. $("#wp_medicine_current_code").val(trData.medListCodg);
  718. $("#sinDoscnt").focus();
  719. }
  720. } else {
  721. //药品查询框是空白的,打开查询框
  722. $("#wp_medicine_name").click();
  723. }
  724. } else {
  725. if (current_code != null && current_code != "") {
  726. //如果是保存失败的,重新打开输入框查询
  727. $("#medcWayCodg").next().click();
  728. } else {
  729. //药品查询框是空白的,打开查询框
  730. $("#wp_medicine_name").click();
  731. }
  732. }
  733. }
  734. else if (id == 'zy_req_button') {
  735. //当前页面是住院保存页面,此时光标在入院按钮上
  736. console.log("入院按钮")
  737. $("#inpatientWardBeHospitalized").next().click();
  738. } else if (id == 'op_record_button') {
  739. //当前页面是手术保存页面,此时光标在入院按钮上
  740. console.log("手术按钮")
  741. $("#opName").next().click();
  742. } else if (id == 'opName') {
  743. $("#opTime").click();
  744. var opTime = $("#opTime").val();
  745. if (opTime == null || opTime == "") {
  746. $("#opTime").datetimepicker('show');
  747. } else {
  748. $("#opTime").datetimepicker('hide');
  749. $("#urgentClinicFlag").next().click();
  750. }
  751. } else if (id == 'opTime') {
  752. $("#opTime").datetimepicker('hide');
  753. $("#urgentClinicFlag").next().click();
  754. } else if (id == 'urgentClinicFlag') {
  755. $("#ssbc").next().click();
  756. } else if (id == 'ssbc') {
  757. $("#partCode").next().click();
  758. } else if (id == 'partCode') {
  759. $("#opScale").next().click();
  760. } else if (id == 'opScale') {
  761. $("#hocusCode").next().click();
  762. } else if (id == 'hocusCode') {
  763. $("#doctorZd").next().click();
  764. } else if (id == 'doctorZd') {
  765. $("#opRecordRemark").click();
  766. } else if (id == 'opRecordRemark') {
  767. saveOpRecord(true);
  768. }
  769. if (id != null && id != "") {
  770. //将当前点击的id记录下
  771. prevEleId = id;
  772. }
  773. } else if (event.keyCode == 37) {
  774. // //左键事件
  775. // if(index==0){
  776. // return;
  777. // }
  778. // var prevObject=$("#bill_item_group").find("button")[index-1];
  779. // $(prevObject).click();
  780. } else if (event.keyCode == 38) {
  781. //上键事件
  782. var tableId = null;
  783. var inputId = null;
  784. var contentId = null;
  785. if (index == 0) {
  786. tableId = "tb_table_western_medicine";
  787. inputId = "western_medicine_name";
  788. contentId = "westernMedicinePopoverContent";
  789. } else if (index == 1) {
  790. tableId = "tb_table_chinese_medicine";
  791. inputId = "chinese_medicine_name";
  792. contentId = "chineseMedicinePopoverContent";
  793. } else if (index == 2) {
  794. tableId = "tb_table_jc_jy_item";
  795. inputId = "jcJyItem";
  796. contentId = "jcJyItemPopoverContent";
  797. } else if (index == 3) {
  798. tableId = "tb_table_zl_item";
  799. inputId = "zlItem";
  800. contentId = "zlItemPopoverContent";
  801. }else if (index == 6) {
  802. tableId = "tb_table_wp_medicine";
  803. inputId = "wp_medicine_name";
  804. contentId = "wpMedicinePopoverContent";
  805. }
  806. if (inputId == null) {
  807. return;
  808. }
  809. var webuiID = $("#" + inputId).attr("data-target");
  810. if (webuiID == null || webuiID == "null" || webuiID == "") {
  811. return;
  812. }
  813. //选择框打开
  814. if ($("#" + webuiID).hasClass("in") || $("#" + webuiID).css("display") == "block") {
  815. var arr = $("#" + tableId).find("tbody").find("tr.trhover");
  816. var prev = $(arr).prev();
  817. if (arr != undefined && arr != null && arr.length > 0) {
  818. if (prev != undefined && prev != null && prev.length > 0) {
  819. $(arr).removeClass("trhover");
  820. $(prev).addClass("trhover");
  821. var height = $(arr).css("height");
  822. $("#" + contentId).parent().animate({scrollTop: "-=" + height}, 100);
  823. }
  824. } else {
  825. var arrs = $("#" + tableId).find("tbody").find("tr");
  826. $(arrs[0]).addClass("trhover");
  827. var height = $(arrs[0]).css("height");
  828. $("#" + contentId).parent().animate({scrollTop: "+=" + height}, 100);
  829. }
  830. }
  831. } else if (event.keyCode == 39) {
  832. // //右键事件
  833. // if(index==4){
  834. // return;
  835. // }
  836. // var nextObject=$("#bill_item_group").find("button")[index+1];
  837. // $(nextObject).click();
  838. } else if (event.keyCode == 40) {
  839. //下键事件
  840. var tableId = null;
  841. var inputId = null;
  842. var contentId = null;
  843. if (index == 0) {
  844. tableId = "tb_table_western_medicine";
  845. inputId = "western_medicine_name";
  846. contentId = "westernMedicinePopoverContent";
  847. } else if (index == 1) {
  848. tableId = "tb_table_chinese_medicine";
  849. inputId = "chinese_medicine_name";
  850. contentId = "chineseMedicinePopoverContent";
  851. } else if (index == 2) {
  852. tableId = "tb_table_jc_jy_item";
  853. inputId = "jcJyItem";
  854. contentId = "jcJyItemPopoverContent";
  855. } else if (index == 3) {
  856. tableId = "tb_table_zl_item";
  857. inputId = "zlItem";
  858. contentId = "zlItemPopoverContent";
  859. }else if (index == 6) {
  860. tableId = "tb_table_wp_medicine";
  861. inputId = "wp_medicine_name";
  862. contentId = "wpMedicinePopoverContent";
  863. }
  864. if (inputId == null) {
  865. return;
  866. }
  867. var webuiID = $("#" + inputId).attr("data-target");
  868. if (webuiID == null || webuiID == "null" || webuiID == "") {
  869. return;
  870. }
  871. //选择框打开
  872. if ($("#" + webuiID).hasClass("in") || $("#" + webuiID).css("display") == "block") {
  873. var arr = $("#" + tableId).find("tbody").find("tr.trhover");
  874. var next = $(arr).next();
  875. if (arr != undefined && arr != null && arr.length > 0) {
  876. if (next != undefined && next != null && next.length > 0) {
  877. $(arr).removeClass("trhover");
  878. $(next).addClass("trhover");
  879. var height = $(arr).css("height");
  880. $("#" + contentId).parent().animate({scrollTop: "+=" + height}, 100);
  881. }
  882. } else {
  883. var arrs = $("#" + tableId).find("tbody").find("tr");
  884. $(arrs[0]).addClass("trhover");
  885. var height = $(arrs[0]).css("height");
  886. $("#" + contentId).parent().animate({scrollTop: "+=" + height}, 100);
  887. }
  888. }
  889. }
  890. });
  891. //打印检查检验报告单
  892. $('#btn_print').click(function () {
  893. printJyJcReport(1);
  894. });
  895. //打印设置检查检验报告单
  896. $('#btn_print_setup').click(function () {
  897. printJyJcReport(2);
  898. });
  899. /**
  900. * 医保电子凭证读卡
  901. */
  902. $("#siReadCard").on("click", function (t) {
  903. // siReadCard("qrcode_01101");
  904. siReadCard("jiangsu_qrcode_01101");
  905. });
  906. /**
  907. * 医保刷脸
  908. */
  909. $("#siReadCardFace").on("click", function (t) {
  910. // siReadCard("face_01101");
  911. siReadCard("jiangsu_face_01101");
  912. });
  913. /**
  914. * 门诊统筹支付医额外内容弹窗
  915. */
  916. $("#expContentRequired").on("click", function (t) {
  917. expContentRequiredModal();
  918. });
  919. /**
  920. * 门诊统筹支付医保电子凭证读卡
  921. */
  922. // $("#mztczfSiReadCard").on("click", function (t) {
  923. // mztczfSiReadCard(true, "qrcode_01101");
  924. // mztczfSiReadCard(true, "jiangsu_qrcode_01101");
  925. // });
  926. /**
  927. * 门诊统筹支付医保刷脸
  928. */
  929. // $("#mztczfSiReadCardFace").on("click", function (t) {
  930. // mztczfSiReadCard(true, "face_01101");
  931. // mztczfSiReadCard(true, "jiangsu_face_01101");
  932. // });
  933. /**
  934. * 快速接诊页面 -未挂号患者信息查询处编辑患者信息
  935. */
  936. $("#rapidAcceptsEditUser").on("click", function (t) {
  937. editUserModal($("#rapidAcceptsUserCode").val(), 2);
  938. ksjzType = 2 ;
  939. });
  940. //监听滚动停止处理逻辑开始
  941. let t1 = 0;
  942. let t2 = 0;
  943. let timer = null; // 定时器
  944. $("#scroll-wrap").on("scroll", function () {
  945. // 滚动
  946. clearTimeout(timer)
  947. timer = setTimeout(isScrollEnd, 100)
  948. t1 = $("#scroll-wrap").scrollTop();
  949. })
  950. function isScrollEnd() {
  951. t2 = $("#scroll-wrap").scrollTop();
  952. if (t2 == t1) {
  953. clearTimeout(timer)
  954. closeObjectWebui(true);
  955. console.log("滚动停止", t2) // 这里处理
  956. }
  957. }
  958. //监听滚动停止处理逻辑结束
  959. //合理用药预警系统(医药学知识查询助手)
  960. $("#hlyyButton").on("click", function (t) {
  961. $("#hlyyTitle").html("合理用药预警系统(医药学知识查询助手)");
  962. showHlyyModel('hlyysmsDiv', 'hlyysmsLoading', 'hlyysmsModal', "http://172.16.32.121:9097/index.html#");
  963. });
  964. //预约挂号日期控件注册
  965. $('#registrationTime').datetimepicker({
  966. language: 'zh-CN',
  967. //format: 'yyyy-mm-dd hh:ii:ss'
  968. format: 'yyyy-mm-dd',
  969. // showHour:false,
  970. // showMinute:false,
  971. // showSecond:false,
  972. // timeText:"",
  973. // timeFormat:"",
  974. minView: "month",
  975. autoclose: true,//选中自动关闭
  976. });
  977. //初始化号段下拉选
  978. initMzWorkTime();
  979. //挂号日期控件注册
  980. $('#opTime').datetimepicker({
  981. language: 'zh-CN',
  982. format: 'yyyy-mm-dd hh:ii:ss',
  983. showHour: true,
  984. showMinute: true,
  985. showSecond: true,
  986. minView: "1", // 1 小时 2 日视图 3 月视图 4 年视图
  987. autoclose: true,//选中自动关闭
  988. });
  989. //出生日期控件注册
  990. $('#crbMainCardBirthDay').datetimepicker({
  991. language: 'zh-CN',
  992. format: 'yyyy-mm-dd',
  993. minView: "month",
  994. autoclose: true,//选中自动关闭
  995. });
  996. //发病日期控件注册
  997. $('#illStartDate').datetimepicker({
  998. language: 'zh-CN',
  999. format: 'yyyy-mm-dd',
  1000. minView: "month",
  1001. autoclose: true,//选中自动关闭
  1002. });
  1003. //诊断日期控件注册
  1004. $('#illFirstDate').datetimepicker({
  1005. language: 'zh-CN',
  1006. format: 'yyyy-mm-dd',
  1007. minView: "month",
  1008. autoclose: true,//选中自动关闭
  1009. });
  1010. //死亡日期控件注册
  1011. $('#deathDate').datetimepicker({
  1012. language: 'zh-CN',
  1013. format: 'yyyy-mm-dd',
  1014. minView: "month",
  1015. autoclose: true,//选中自动关闭
  1016. });
  1017. });
  1018. /**
  1019. * 刷新列表,解决越来越快的问题
  1020. */
  1021. function refreshList() {
  1022. //clearInterval要放在方法开始,不然的话,下面的代码还没运行到clearInterval,又开始了循环了。
  1023. clearInterval(timer);
  1024. //加载候诊患者列表
  1025. loadUnClinicTableList();
  1026. //加载已接诊患者列表 病人会缴费,需要刷新状态
  1027. // loadClinicTableList();
  1028. timer = setInterval(() => {
  1029. refreshList()
  1030. }, 60000);
  1031. }
  1032. /**
  1033. * 门诊统筹额外内容
  1034. */
  1035. function expContentRequiredModal() {
  1036. $("#expContentRequiredModal").modal("show");
  1037. }
  1038. /**
  1039. * 打开科室选择页面
  1040. */
  1041. function selectDeptModal() {
  1042. $("#selectDeptModal").modal("show");
  1043. }
  1044. /**
  1045. * 打开配置页面
  1046. */
  1047. function configWorkspaceModal() {
  1048. initWorkspaceConfigForCurrent();
  1049. $("#configWorkspaceModal").modal("show");
  1050. }
  1051. /**
  1052. * 打开配置页面
  1053. */
  1054. function jumpToFy() {
  1055. //console.log("val()",$("#clinicDeptNo").val())
  1056. if (currentPatientInfo.patientId) {
  1057. let data = {
  1058. "healthNo":"",
  1059. "patientNo":currentPatientInfo.patientId,
  1060. "hospitalNo":"",
  1061. "outpatientNo":"",
  1062. "name":currentPatientInfo.name,
  1063. "cardType":"01",
  1064. "cardNo":currentPatientInfo.socialNo?currentPatientInfo.socialNo:"",
  1065. "birthday":"",
  1066. "age":"",
  1067. "tel":currentPatientInfo.phoneNo?currentPatientInfo.phoneNo:"",
  1068. "workOrgan":"",
  1069. "lmp":""
  1070. }
  1071. const utf8Bytes = encodeURIComponent(JSON.stringify(data)).replace(/%([0-9A-F]{2})/g, (_, hex) => {
  1072. return String.fromCharCode(parseInt(hex, 16));
  1073. });
  1074. let url = "http://192.168.100.140:18080/mchis-web/?token=321322199206140414&module=M102&data=" + btoa(utf8Bytes);
  1075. window.open(url, "_blank");
  1076. }
  1077. }
  1078. /**
  1079. * 初始化用药天数下拉选
  1080. */
  1081. function initDayNum() {
  1082. var html = '';
  1083. for (var i = 1; i <= 112; i++) {
  1084. html += '<option value="' + i + '">' + i + '</option>';
  1085. }
  1086. $('#dayNum').html(html);
  1087. $('#dayNum').selectpicker('refresh');
  1088. $('#dayZlNum').html(html);
  1089. $('#dayZlNum').selectpicker('refresh');
  1090. $('#medcDays').html(html);
  1091. $('#medcDays').selectpicker('refresh');
  1092. setSelectDefaultVal('medcDays',1)
  1093. }
  1094. /**
  1095. * 下拉框设置默认值
  1096. * @param id
  1097. * @param val
  1098. */
  1099. function setSelectDefaultVal(id,val) {
  1100. $('#'+id).val(val)
  1101. $('#'+id).selectpicker('refresh');
  1102. }
  1103. /**
  1104. * 处方回调
  1105. */
  1106. function resetGroupIdSelect() {
  1107. var groupIds = $("#groupId option");
  1108. var usedGroupIdInputs = $("#xyTabContent").find("input.temporary_items_groupId");
  1109. if (usedGroupIdInputs != null && usedGroupIdInputs.length > 0) {
  1110. let lastGroupId = 0;
  1111. for (var i = 0; i < usedGroupIdInputs.length; i++) {
  1112. var groupId = Number($(usedGroupIdInputs[i]).val());
  1113. if (groupId > lastGroupId) {
  1114. lastGroupId = groupId;
  1115. }
  1116. }
  1117. if (groupIds != null && groupIds.length > 1) {
  1118. for (var i = 0; i < groupIds.length; i++) {
  1119. var groupId = $(groupIds[i]).val();
  1120. if (groupId <= lastGroupId) {
  1121. continue;
  1122. }
  1123. $(groupIds[i]).remove();
  1124. //删除给药方式与其他属性的缓存
  1125. groupIdMap.remove(groupId);
  1126. }
  1127. appendGroupOrder();
  1128. }
  1129. } else if (groupIds != null && groupIds.length > 1) {
  1130. initGroupOrder();
  1131. }
  1132. }
  1133. /**
  1134. * 初始化药品分组下拉选
  1135. */
  1136. function initGroupOrder() {
  1137. var html = '<option value="1">1</option>';
  1138. $('#groupId').html(html);
  1139. $('#groupId').selectpicker('refresh');
  1140. $("#groupId").selectpicker('val', 1);
  1141. $('#groupId').selectpicker('refresh');
  1142. groupIdMap = new MyMap();
  1143. }
  1144. /**
  1145. * 追加分组
  1146. */
  1147. function appendGroupOrder() {
  1148. var last = parseInt($("#groupId > option:last").val());
  1149. last++;
  1150. var html = '<option value="' + last + '">' + last + '</option>';
  1151. $('#groupId').append(html);
  1152. $('#groupId').selectpicker('refresh');
  1153. }
  1154. /**
  1155. * 组号改变事件
  1156. */
  1157. function groupIdChange() {
  1158. //var last = parseInt($("#groupId > option:last").val());
  1159. var groupId = $("#groupId").val();
  1160. var keys = groupIdMap.keySet();
  1161. if (keys.indexOf(groupId) < 0) {
  1162. //是新增药品清空药品输入区域
  1163. var updateFlag = $("#western_medicine_update_flag").val();
  1164. var currentCode = $("#western_medicine_current_code").val();
  1165. //当前时新增药品,而且没有选择药品的时候,组号变更,清空区域
  1166. if ((updateFlag == undefined || updateFlag == null || updateFlag == "false" || updateFlag == false) && (currentCode == null || currentCode == "")) {
  1167. clearWesternMedicine(true);
  1168. }
  1169. } else {
  1170. var map = groupIdMap.get(groupId);
  1171. if (map != null) {
  1172. var supplyType = map.get("supplyType");
  1173. var orderFrequency = map.get("orderFrequency");
  1174. var dayNum = map.get("dayNum");
  1175. //用法编码
  1176. $("#supplyType").selectpicker('val', supplyType);
  1177. $('#supplyType').selectpicker('refresh');
  1178. //$("#supplyType").attr("disabled", "disabled");
  1179. //天数
  1180. $("#dayNum").selectpicker('val', dayNum);
  1181. $('#dayNum').selectpicker('refresh');
  1182. // $("#dayNum").attr("disabled", "disabled");
  1183. //频次编码
  1184. $("#orderFrequency").selectpicker('val', orderFrequency);
  1185. $('#orderFrequency').selectpicker('refresh');
  1186. // $("#orderFrequency").attr("disabled", "disabled");
  1187. }
  1188. }
  1189. }
  1190. /**
  1191. * 关闭智能问诊弹框
  1192. */
  1193. function closePopover() {
  1194. //$(".popover").popover('hide');
  1195. $("#box-arrow-left").click();
  1196. }
  1197. /**
  1198. * 关闭项目选择框
  1199. * ReOpen 是否重新打开 true 打开 false 不打开
  1200. */
  1201. function closeObjectWebui(ReOpen) {
  1202. var index = getIndex("bill_item_group");
  1203. var currentCode = "western_medicine_name";
  1204. if (index == 1) {
  1205. currentCode = "chinese_medicine_name";
  1206. } else if (index == 2) {
  1207. currentCode = "jcJyItem";
  1208. } else if (index == 3) {
  1209. currentCode = "zlItem";
  1210. }
  1211. var webuiID = $("#" + currentCode).attr("data-target");
  1212. if (webuiID != null && webuiID != "null" && webuiID != "") {
  1213. //选择框打开
  1214. if ($("#" + webuiID).hasClass("in") || $("#" + webuiID).css("display") == "block") {
  1215. $("#" + currentCode).click();
  1216. if (ReOpen) {
  1217. $("#" + currentCode).click();
  1218. }
  1219. }
  1220. }
  1221. var symptomID = $("#symptom").attr("data-target");
  1222. if (symptomID != null && symptomID != "null" && symptomID != "") {
  1223. //选择框打开
  1224. if ($("#" + symptomID).hasClass("in") || $("#" + symptomID).css("display") == "block") {
  1225. $("#symptom").click();
  1226. if (ReOpen) {
  1227. $("#symptom").click();
  1228. }
  1229. }
  1230. }
  1231. var weightID = $("#weight").attr("data-target");
  1232. if (weightID != null && weightID != "null" && weightID != "") {
  1233. //选择框打开
  1234. if ($("#" + weightID).hasClass("in") || $("#" + weightID).css("display") == "block") {
  1235. $("#weight").click();
  1236. if (ReOpen) {
  1237. $("#weight").click();
  1238. }
  1239. }
  1240. }
  1241. var diagnoseID = $("#diagnose").attr("data-target");
  1242. if (diagnoseID != null && diagnoseID != "null" && diagnoseID != "") {
  1243. //选择框打开
  1244. if ($("#" + diagnoseID).hasClass("in") || $("#" + diagnoseID).css("display") == "block") {
  1245. $("#diagnose").click();
  1246. if (ReOpen) {
  1247. $("#diagnose").click();
  1248. }
  1249. }
  1250. }
  1251. }
  1252. /**
  1253. * 加载智能问诊弹框内容
  1254. */
  1255. function contentMethod() {
  1256. setTimeout(function () {
  1257. closeObjectWebui(false);
  1258. $(".popover div.arrow").css("display", "none");
  1259. var popoverId = $("#box-arrow-left").attr("aria-describedby");
  1260. if (popoverId == undefined) {
  1261. return;
  1262. }
  1263. var left = $("#" + popoverId).css("left");
  1264. left = left.replace("px", "");
  1265. left = parseInt(left);
  1266. left = left + 55;
  1267. $("#" + popoverId).css("height", "100%").css("top", "0px").css("left", left + "px").css("border-radius", "0px").css("z-index", "11");
  1268. $("#" + popoverId + " .popover-content").css("height", "100%");
  1269. $("#smartAssistPopoverContent").css("height", "100%");
  1270. var html = ' <div style="height: 24%;padding-left: 15px;width: 100%;">' +
  1271. ' <button type="button" style="cursor: default;margin-bottom: 0px;margin-right: 0px; font-size: 12px;"' +
  1272. ' class="btn btn-primary">' +
  1273. ' <span id="patientHisData"></span>就医轨迹' +
  1274. ' </button>' +
  1275. ' <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true" onclick="closePopover()">×</span>' +
  1276. ' </button>' +
  1277. ' <div style="height: calc(100% - 39px);border: 1px solid #DDDDDD;margin-top: 5px;width: 100%;">' +
  1278. ' <form class="form-horizontal form-label-left mz-fixed-form" novalidate autocomplete="off"' +
  1279. ' style="height: 100%;overflow-y: auto;width: 100%;text-align: -webkit-center;position: relative;" id="patientHisDataForm">' +
  1280. ' </form>' +
  1281. ' </div>' +
  1282. ' </div>' +
  1283. ' <div style="height: 23%;padding-left: 15px;width: 100%;">' +
  1284. ' <button type="button" style="cursor: default;margin-bottom: 0px;margin-right: 0px;margin-top: 5px;"' +
  1285. ' class="btn btn-primary">' +
  1286. ' <span id="recommendType"></span>推荐' +
  1287. ' </button>' +
  1288. ' <div style="height: calc(100% - 44px);border: 1px solid #DDDDDD;overflow-y: auto;margin-top: 5px;width: 100%;">' +
  1289. ' <form class="form-horizontal form-label-left mz-fixed-form" novalidate autocomplete="off"' +
  1290. ' style="height: 100%;overflow-y: auto;width: 100%;text-align: -webkit-center;position: relative;" id="recommendForm">' +
  1291. ' <img src="/thmz/images/no-recommend.png" style="height: 120px;position: absolute;top: 50%;transform: translateY(-50%);margin-left: -30px;">' +
  1292. ' </form>' +
  1293. ' </div>' +
  1294. ' </div>' +
  1295. ' <div style="height: 53%;padding-left: 15px;width: 100%;">' +
  1296. ' <button type="button"' +
  1297. ' style="cursor: default;margin-bottom: 0px;margin-right: 0px;margin-top: 5px; font-size: 12px;"' +
  1298. ' class="btn btn-primary">' +
  1299. ' 医疗范本' +
  1300. ' </button>' +
  1301. ' <div class="item" style="width: 230px;height: 35px;float: right;line-height: 35px;margin-right: 40px;">' +
  1302. ' <div class="col-md-6 col-sm-6 col-xs-12">' +
  1303. ' <select class="form-control selectpicker show-tick" title="范文范围" onchange="fitTemplateData()"' +
  1304. ' id="templateTypeForm">' +
  1305. ' </select>' +
  1306. ' </div>' +
  1307. ' <div class="col-md-6 col-sm-6 col-xs-12">' +
  1308. ' <select class="form-control selectpicker show-tick" title="范文类型" onchange="fitTemplateData()"' +
  1309. ' id="templateKindTypeForm">' +
  1310. ' </select>' +
  1311. ' </div>' +
  1312. ' </div>' +
  1313. ' <div style="height: calc(100% - 44px);border: 1px solid #DDDDDD;overflow-y: auto;margin-top: 5px;width: 100%;position: relative;">' +
  1314. ' <form class="form-horizontal form-label-left mz-fixed-form" novalidate autocomplete="off"' +
  1315. ' style="height: 100%;overflow-y: auto;width: 100%;" id="TemplateData">' +
  1316. ' </form>' +
  1317. ' </div>' +
  1318. ' </div>';
  1319. $("#smartAssistPopoverContent").html(html);
  1320. initTemplateTypeSelect("templateTypeForm");
  1321. initTemplateKindTypeSelect('templateKindTypeForm');
  1322. fitPatientHisData();
  1323. fitSymptomData();
  1324. fitEmrHpiData();
  1325. fitEmrPsData();
  1326. fitDiagnoseData();
  1327. fitTemplateData();
  1328. }, 100);
  1329. // setTimeout(function () {
  1330. // $("#patientHisDataForm").html("aadsasfasdfasdfasdfasdfsdfasdfasdfasdfdfafda");
  1331. // },1000);
  1332. }
  1333. /**
  1334. * 设置患者的就诊轨迹
  1335. */
  1336. function fitPatientHisData() {
  1337. var popoverId = $("#box-arrow-left").attr("aria-describedby");
  1338. if (!$("#" + popoverId).hasClass("in")) {
  1339. return;
  1340. }
  1341. var emptyHtml = '<img src="/thmz/images/locus.png" style="height: 120px;position: absolute;top: 50%;transform: translateY(-50%);margin-left: -30px;">';
  1342. if (($("#patientId").text() == null || $("#patientId").text() == "") && ($("#userName").val() == null || $("#userName").val() == "")) {
  1343. $("#patientHisDataForm").html(emptyHtml);
  1344. return;
  1345. }
  1346. var patientId = $("#patientId").text();
  1347. if (patientId == null || patientId == "") {
  1348. patientId = $("#userName").val();
  1349. }
  1350. $.ajax({
  1351. type: "POST",
  1352. url: '/thmz/getClinicWithPage',
  1353. contentType: "application/json;charset=UTF-8",
  1354. dataType: "json",
  1355. data: JSON.stringify({
  1356. "commonParams": patientId,
  1357. //"clinicStatuses": [5, 6],
  1358. "clinicStatuses": [6],
  1359. "pageSize": 10000,
  1360. "offset": 0,
  1361. "beginDate": "2012-02-01 00:00:00",
  1362. "endDate": "",
  1363. "doctorCode": "-1"
  1364. }),
  1365. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1366. success: function (res) {
  1367. if (res == '401' || res == 401) {
  1368. window.location.href = '/thmz/login/view'
  1369. return;
  1370. }
  1371. if (res.code == 0) {
  1372. var html = '';
  1373. var data = res.data;
  1374. if (data == null || data.length == 0) {
  1375. html += emptyHtml;
  1376. } else {
  1377. for (var i = 0; i < data.length; i++) {
  1378. var icdText = data[i].icdText;
  1379. if (icdText == null) {
  1380. // continue;
  1381. icdText = "空白诊断";
  1382. }
  1383. icdText = icdText.trim();
  1384. html += ' <div class="item form-group thmz_alert" style="width: 100%;">';
  1385. html += ' <div style="float: left;width: 172px;">';
  1386. html += ' <img src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/stopwatch.svg"';
  1387. html += ' style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>';
  1388. html += ' <span style="width: 120px;margin-right: 20px!important;">' + format(data[i].opDay, "yyyy-MM-dd HH:mm") + '</span>';
  1389. html += ' </div>';
  1390. html += ' <div style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 172px);"';
  1391. html += ' title="' + icdText + '">诊断:<a style="cursor: pointer; color: #2e69eb;"';
  1392. html += ' onclick="visitingDetailModal(\'' + data[i].patientId + '\',' + data[i].times + ',' + data[i].id + ',' + data[i].clinicStatus + ')">' + icdText + '</a>';
  1393. html += ' </div>';
  1394. html += ' </div>';
  1395. }
  1396. }
  1397. var patientName = $("#patientName").text();
  1398. if (patientName == null || patientName == "") {
  1399. if (res.mzPatientMi != null) {
  1400. patientName = res.mzPatientMi.name;
  1401. } else {
  1402. patientName = patientId;
  1403. }
  1404. }
  1405. $("#patientHisData").text(patientName + "的");
  1406. if (($("#patientId").text() == null || $("#patientId").text() == "") && ($("#userName").val() == null || $("#userName").val() == "")) {
  1407. $("#patientHisDataForm").html(emptyHtml);
  1408. } else {
  1409. $("#patientHisDataForm").html(html);
  1410. }
  1411. } else {
  1412. errorMesage(res);
  1413. }
  1414. }
  1415. });
  1416. }
  1417. /**
  1418. * 设置主诉推荐
  1419. */
  1420. function fitSymptomData() {
  1421. fitRecommendData(12);
  1422. }
  1423. /**
  1424. * 设置现病史推荐
  1425. */
  1426. function fitEmrHpiData() {
  1427. fitRecommendData(5);
  1428. }
  1429. /**
  1430. * 设置既往史推荐
  1431. */
  1432. function fitEmrPsData() {
  1433. fitRecommendData(6);
  1434. }
  1435. /**
  1436. * 设置诊断推荐
  1437. */
  1438. function fitDiagnoseData() {
  1439. fitRecommendData(13);
  1440. }
  1441. /**
  1442. * 设置推荐通用方法
  1443. */
  1444. function fitRecommendData(paramsType) {
  1445. var popoverId = $("#box-arrow-left").attr("aria-describedby");
  1446. if (!$("#" + popoverId).hasClass("in")) {
  1447. return;
  1448. }
  1449. var inputId = "symptom";
  1450. var text = "主诉";
  1451. if (paramsType == 5) {
  1452. inputId = "emrHpi";
  1453. text = "现病史";
  1454. } else if (paramsType == 6) {
  1455. inputId = "emrPs";
  1456. text = "既往史";
  1457. } else if (paramsType == 13) {
  1458. inputId = "diagnose";
  1459. text = "诊断";
  1460. }
  1461. //光标不在现病史上
  1462. if (document.activeElement.id != inputId) {
  1463. return;
  1464. }
  1465. $("#recommendType").html(text);
  1466. var emptyHtml = '<img src="/thmz/images/no-recommend.png" style="height: 120px;position: absolute;top: 50%;transform: translateY(-50%);margin-left: -30px;">';
  1467. $.ajax({
  1468. type: "GET",
  1469. url: '/thmz/getTCommonParamsByParamsType?paramsType=' + paramsType + '&commonParams=&pageSize=10',
  1470. contentType: "application/json;charset=UTF-8",
  1471. dataType: "json",
  1472. async: false,
  1473. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1474. success: function (res) {
  1475. if (res == '401' || res == 401) {
  1476. window.location.href = '/thmz/login/view'
  1477. return;
  1478. }
  1479. if (res.code == 0) {
  1480. var html = '';
  1481. var data = res.data;
  1482. if (data == null || data.length == 0) {
  1483. html += emptyHtml;
  1484. } else {
  1485. for (var i = 0; i < data.length; i++) {
  1486. var paramsContent = data[i].paramsContent;
  1487. html += ' <div class="item form-group thmz_alert" style="width: 100%;">';
  1488. html += ' <div style="margin-left: 10px;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 60px);" title="' + paramsContent + '">';
  1489. html += paramsContent;
  1490. html += ' </div>';
  1491. html += ' <div style="float: left;width: 36px;cursor: pointer;"';
  1492. html += ' onclick="fitAppeal(\'' + paramsContent + '\',' + paramsType + ',' + data[i].id + ')">';
  1493. html += ' <img';
  1494. html += ' src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"';
  1495. html += ' style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>';
  1496. html += ' </div>';
  1497. html += ' </div>';
  1498. }
  1499. }
  1500. $("#recommendForm").html(html);
  1501. } else {
  1502. errorMesage(res);
  1503. }
  1504. }
  1505. });
  1506. }
  1507. /**
  1508. * 设置医疗范文方法
  1509. */
  1510. function fitTemplateData() {
  1511. var popoverId = $("#box-arrow-left").attr("aria-describedby");
  1512. if (!$("#" + popoverId).hasClass("in")) {
  1513. return;
  1514. }
  1515. var emptyHtml = '<img src="/thmz/images/no-recommend.png" style="height: 120px;position: absolute;top: 50%;transform: translateY(-50%);margin-left: -30px;margin-left: 145px;">';
  1516. $.ajax({
  1517. type: "GET",
  1518. url: '/thmz/getTemplate?templateKindType=' + $("#templateKindTypeForm").val() + '&templateType=' + $("#templateTypeForm").val(),
  1519. contentType: "application/json;charset=UTF-8",
  1520. dataType: "json",
  1521. async: false,
  1522. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1523. success: function (res) {
  1524. if (res == '401' || res == 401) {
  1525. window.location.href = '/thmz/login/view'
  1526. return;
  1527. }
  1528. if (res.code == 0) {
  1529. var html = '';
  1530. var data = res.data;
  1531. if (data == null || data.length == 0) {
  1532. html += emptyHtml;
  1533. } else {
  1534. for (var i = 0; i < data.length; i++) {
  1535. var template = data[i];
  1536. var icdText = (template.icdText == null || template.icdText == "") ? "无" : template.icdText;
  1537. html += ' <div class="item form-group thmz_alert" style="width: 100%;">';
  1538. html += ' <div title="' + template.name + '"';
  1539. html += ' style="margin-left: 10px!important;float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: 100px;">';
  1540. html += template.name;
  1541. html += ' </div>';
  1542. html += ' <div style="float: left;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;width: calc(100% - 160px);"';
  1543. html += ' title="' + template.icdText + '">诊断:<a';
  1544. html += ' style="cursor: pointer; color: #2e69eb;"';
  1545. html += ' onclick="medicalModelModal(' + template.id + ')">' + icdText + '</a>';
  1546. html += ' </div>';
  1547. html += ' <div style="float: left;width: 36px;cursor: pointer;" onclick="medicalModelModal(' + template.id + ')"><img';
  1548. html += ' src="/thmz/css/bootstrap/bootstrap-icons-1.5.0/cursor-fill.svg"';
  1549. html += ' style="margin-left: 10px!important;vertical-align: -.15em;margin-right: 10px!important;"/>';
  1550. html += ' </div>';
  1551. html += ' </div>';
  1552. }
  1553. }
  1554. $("#TemplateData").html(html);
  1555. } else {
  1556. errorMesage(res);
  1557. }
  1558. }
  1559. });
  1560. }
  1561. /**
  1562. * 清空快速接诊弹窗
  1563. */
  1564. function clearRapidAcceptsModal() {
  1565. $("#rapidAcceptsUserName").val(null);
  1566. $("#rapidAcceptsUserCode").val(null);
  1567. $("#patientIdDb").val(null);
  1568. $("#rapidAcceptsUserCardNo").val(null);
  1569. $("#rapidAcceptsUserGender").selectpicker('val', 0);
  1570. $("#rapidAcceptsUserGender").selectpicker('refresh');
  1571. $("#rapidAcceptsUserPhoneNum").val(null);
  1572. $('#rapidAcceptsUserCertificateType').selectpicker('val', '01');
  1573. $('#rapidAcceptsUserCertificateType').selectpicker('refresh');
  1574. $("#rapidAcceptsUserIdCard").val(null);
  1575. $("#rapidAcceptsUserIdCard").attr("title", null);
  1576. $("#rapidAcceptsUserPhoneNum").attr("title", null);
  1577. $('#rapidAcceptsProvinceCode').selectpicker('val', null);
  1578. $('#rapidAcceptsProvinceCode').selectpicker('refresh');
  1579. $('#rapidAcceptsCityCode').selectpicker('val', null);
  1580. $('#rapidAcceptsCityCode').selectpicker('refresh');
  1581. $('#rapidAcceptsDistrictCode').selectpicker('val', null);
  1582. $('#rapidAcceptsDistrictCode').selectpicker('refresh');
  1583. $("#rapidAcceptsDetail").val(null);
  1584. $("#rapidAcceptsDetail").attr("title", null);
  1585. $("#rapidAcceptsUserContact").val(null);
  1586. $("#rapidAcceptsUserContactPhone").val(null);
  1587. }
  1588. /**
  1589. * 清空接诊台用户信息
  1590. * @param flag 是否清空分诊流水哈 true 清空
  1591. */
  1592. function clearUser(flag) {
  1593. $("#patientName").html("");
  1594. $("#patientAge").html("");
  1595. $("#patientGender").html("");
  1596. $("#patientId").text(null);
  1597. $("#visitTimes").val(null);
  1598. $("#crbMainCard").css("display", "none");
  1599. $("#editUser").css("display", "none");
  1600. $("#clearUser").css("display", "none");
  1601. $("#discountLvCard").css("display", "none");
  1602. $("#mallTcCard").css("display", "none");
  1603. // $("#fetchSpcSlwinfo").css("display", "none");
  1604. $("#patientPhone").html("");
  1605. $("#patientPhoneLabel").hide();
  1606. $("#patientResponseType").html("");
  1607. $("#first").next().click();
  1608. $("#patientHisData").text("");
  1609. initGhFeeSelect()
  1610. $('#mzOrderTypeSelect').val('1');
  1611. $('#mzOrderTypeSelect').selectpicker('refresh');
  1612. $("#mzReqTypeName").text(null);
  1613. $("#mzReqType").val(null);
  1614. if (flag) {
  1615. $("#transferTreatment").css("display", "none");
  1616. $("#consultation").css("display", "none");
  1617. $("#mzfzSerialNoInClick").val(null);
  1618. $("#mzfzReqTypeNoInClick").val(null);
  1619. $("#turnToConsultationIdInClick").val(null);
  1620. }
  1621. }
  1622. /**
  1623. * 卡号输入改变事件
  1624. */
  1625. function cardNoChange() {
  1626. if (window.ActiveXObject || "ActiveXObject" in window) {
  1627. $("#rapidAcceptsUserCardNo").on('input propertychange', function () {
  1628. queryUserInfoByCardNo();
  1629. });
  1630. } else {
  1631. $("#rapidAcceptsUserCardNo").on('input οninput', function () {
  1632. queryUserInfoByCardNo();
  1633. });
  1634. }
  1635. }
  1636. /**
  1637. * 刷新就诊列表
  1638. */
  1639. function refreshClinic() {
  1640. loadInClinicTableList();
  1641. loadClinicTableList();
  1642. fitPatientHisData();
  1643. }
  1644. /**
  1645. * 加载已接诊患者列表
  1646. */
  1647. function loadClinicTableList() {
  1648. //loadCommonClinicTableList("tb_table_clinic","/thmz/getClinicWithPage");
  1649. loadCommonClinicTableList("tb_table_clinic", queryParamsClinic);
  1650. }
  1651. /**
  1652. * 加载患者列表通用方法
  1653. * @param id
  1654. * @param queryParams
  1655. */
  1656. function loadCommonClinicTableList(id, queryParams) {
  1657. $('#' + id).bootstrapTable('refresh');
  1658. $('#' + id).bootstrapTable({
  1659. url: "/thmz/getClinicWithPage", //请求后台的URL(*)
  1660. method: 'post', //请求方式(*)
  1661. toolbar: '#toolbar', //工具按钮用哪个容器
  1662. striped: true, //是否显示行间隔色
  1663. cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  1664. pagination: true, //是否显示分页(*)
  1665. sortable: true, //是否启用排序
  1666. sortOrder: "asc", //排序方式
  1667. queryParams: queryParams, //传递参数(*)
  1668. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  1669. pageNumber: 1, //初始化加载第一页,默认第一页
  1670. pageSize: 5, //每页的记录行数(*)
  1671. pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  1672. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  1673. strictSearch: true,
  1674. showColumns: false, //是否显示所有的列
  1675. showRefresh: false, //是否显示刷新按钮
  1676. minimumCountColumns: 2, //最少允许的列数
  1677. clickToSelect: true, //是否启用点击选中行
  1678. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  1679. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  1680. cardView: false, //是否显示详细视图
  1681. detailView: false,
  1682. //rowStyle:rowStyle,//通过自定义函数设置行样式
  1683. ajaxOptions: {
  1684. headers: {
  1685. 'Accept': 'application/json',
  1686. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  1687. }
  1688. },
  1689. columns: [
  1690. {
  1691. field: 'patientName',
  1692. title: '姓名/性别/年龄',
  1693. align: "center",
  1694. valign: 'middle',
  1695. // sortable: true
  1696. formatter: function (value, row, index) {
  1697. var age = row.age;
  1698. if (age == null || age == "null") {
  1699. age = "";
  1700. }
  1701. let tfName = ''
  1702. if(row.clinicStatus == 7){
  1703. tfName = '/退'
  1704. }
  1705. return value + "/" + row.gender + "/" + age+ tfName;
  1706. }
  1707. }, {
  1708. field: 'opDay',
  1709. title: '接诊时间',
  1710. align: "center",
  1711. valign: 'middle',
  1712. // sortable: true
  1713. formatter: function (value, row, index) {
  1714. return format(value, "MM/dd HH:mm");
  1715. }
  1716. }
  1717. , {
  1718. title: '操作',
  1719. align: "center",
  1720. valign: 'middle',
  1721. // sortable: true,
  1722. formatter: function (value, row, index) {
  1723. if (row.clinicStatus == 5) {
  1724. return '<a title="修改" style="cursor: pointer" onclick="getMzPrescriptionVoUnPaid(\'' + row.patientId + '\',' + row.times + ',' + row.id + ')">修改</a>&nbsp;<a title="详情" style="cursor: pointer" onclick="prescriptionDetail(\'' + row.patientId + '\',' + row.times + ',' + row.id + ',5)">详情</a>';
  1725. // return '<a title="修改" style="cursor: pointer" onclick="getMzPrescriptionVoUnPaid(\'' + row.patientId + '\',' + row.times + ',' + row.id + ')">修改</a>&nbsp;<a title="接诊" style="cursor: pointer" onclick="repeatAccepts(\'' + row.patientId + '\',' + row.times + ',' + row.id + ',\'' + row.deptCode + '\')">接诊</a>&nbsp;<a title="详情" style="cursor: pointer" onclick="prescriptionDetail(\'' + row.patientId + '\',' + row.times + ',' + row.id + ',5)">详情</a>';
  1726. } else if (row.clinicStatus == 6) {
  1727. return '<a title="接诊" style="cursor: pointer" onclick="repeatAccepts(\'' + row.patientId + '\',' + row.times + ',' + row.id + ',\'' + row.deptCode + '\')">接诊</a>&nbsp;<a title="详情" style="cursor: pointer" onclick="prescriptionDetail(\'' + row.patientId + '\',' + row.times + ',' + row.id + ',0)">详情</a>';
  1728. } else if (row.clinicStatus == 7) {
  1729. return '<a title="接诊" style="cursor: pointer" onclick="repeatAccepts(\'' + row.patientId + '\',' + row.times + ',' + row.id + ',\'' + row.deptCode + '\')">接诊</a>&nbsp;<a title="详情" style="cursor: pointer" onclick="prescriptionDetail(\'' + row.patientId + '\',' + row.times + ',' + row.id + ',1)">详情</a>';
  1730. }
  1731. }
  1732. }
  1733. ],
  1734. responseHandler: function (res) {
  1735. if (res == '401' || res == 401) {
  1736. window.location.href = '/thmz/login/view'
  1737. return;
  1738. }
  1739. var ress = eval(res);
  1740. if (ress.code == -1) {
  1741. new PNotify({
  1742. title: '错误提示',
  1743. text: ress.message,
  1744. type: 'error',
  1745. hide: false,
  1746. styling: 'bootstrap3'
  1747. });
  1748. return {
  1749. "total": 0,//总页数
  1750. "rows": {} //数据
  1751. };
  1752. }
  1753. return {
  1754. "total": ress.total,//总页数
  1755. "rows": ress.data //数据
  1756. };
  1757. },
  1758. onLoadSuccess: function (data) {
  1759. patientList = data.rows
  1760. $(".pagination-detail").css("display", "none");
  1761. if (id == "tb_table_clinic") {
  1762. $("#ClinicNum").html(data.total);
  1763. } else {
  1764. $("#inClinicNum").html(data.total);
  1765. }
  1766. }
  1767. });
  1768. }
  1769. /**
  1770. * 得到查询的参数 接诊中
  1771. * @param params
  1772. * @returns {{mzyReqrec: {unitCode: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}}
  1773. */
  1774. function queryParamsInClinic(params) {
  1775. var temp = {
  1776. pageSize: params.limit,
  1777. pageIndex: params.offset / params.limit, //页码
  1778. statusFlagList: [8]
  1779. };
  1780. return temp;
  1781. };
  1782. /**
  1783. * 得到查询的参数
  1784. * @param params
  1785. * @returns {{mzyReqrec: {unitCode: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}}
  1786. */
  1787. function queryParamsClinic(params) {
  1788. var rePortRangeArr = getRePortRangeArr();
  1789. var commonParams = $("#userName").val();
  1790. var needDateParams = commonParams == null || commonParams == "null" || commonParams == "";
  1791. var temp = {
  1792. beginDate: needDateParams ? rePortRangeArr[0] : "2012-02-01 00:00:00" ,
  1793. endDate: needDateParams ? rePortRangeArr[1]: format(new Date(),"yyyy-MM-dd HH:mm:ss"),
  1794. commonParams: commonParams,
  1795. clinicStatuses: [5, 6, 7],
  1796. pageSize: params.limit,
  1797. offset: params.offset
  1798. };
  1799. return temp;
  1800. };
  1801. /**
  1802. * 加载待诊患者列表方法
  1803. */
  1804. function loadUnClinicTableList() {
  1805. loadCanClinicTableList("tb_table_un_clinic", queryParamsUnClinic);
  1806. }
  1807. /**
  1808. * 加载接诊中患者列表方法
  1809. */
  1810. function loadInClinicTableList() {
  1811. loadCanClinicTableList("tb_table_in_clinic", queryParamsInClinic);
  1812. }
  1813. /**
  1814. * 加载待诊和接诊中患者列表通用方法方法
  1815. */
  1816. function loadCanClinicTableList(id, queryParams) {
  1817. $('#' + id).bootstrapTable('refresh');
  1818. $('#' + id).bootstrapTable({
  1819. url: "/thmz/getUnClinicWithPage", //请求后台的URL(*)
  1820. method: 'post', //请求方式(*)
  1821. toolbar: '#toolbar', //工具按钮用哪个容器
  1822. striped: true, //是否显示行间隔色
  1823. cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  1824. pagination: true, //是否显示分页(*)
  1825. sortable: true, //是否启用排序
  1826. sortOrder: "asc", //排序方式
  1827. queryParams: queryParams, //传递参数(*)
  1828. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  1829. pageNumber: 1, //初始化加载第一页,默认第一页
  1830. pageSize: 5, //每页的记录行数(*)
  1831. pageList: [2, 5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  1832. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  1833. strictSearch: true,
  1834. showColumns: false, //是否显示所有的列
  1835. showRefresh: false, //是否显示刷新按钮
  1836. minimumCountColumns: 2, //最少允许的列数
  1837. clickToSelect: true, //是否启用点击选中行
  1838. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  1839. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  1840. cardView: false, //是否显示详细视图
  1841. detailView: false,
  1842. //rowStyle:rowStyle,//通过自定义函数设置行样式
  1843. ajaxOptions: {
  1844. headers: {
  1845. 'Accept': 'application/json',
  1846. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  1847. }
  1848. },
  1849. columns: [
  1850. {
  1851. field: 'name',
  1852. title: '姓名/性别/年龄',
  1853. align: "center",
  1854. valign: 'middle',
  1855. // sortable: true
  1856. formatter: function (value, row, index) {
  1857. return value + "/" + row.gender + "/" + row.age;
  1858. }
  1859. }, {
  1860. field: 'visitDate',
  1861. title: '分诊时间',
  1862. align: "center",
  1863. valign: 'middle',
  1864. // sortable: true
  1865. formatter: function (value, row, index) {
  1866. return format(value, "MM/dd HH:mm");
  1867. }
  1868. }
  1869. , {
  1870. title: '操作',
  1871. align: "center",
  1872. valign: 'middle',
  1873. // sortable: true,
  1874. formatter: function (value, row, index) {
  1875. if (row.statusFlag == 0) {
  1876. return '<a title="接诊" onclick="clinicalReception(\'' + row.patientId + '\',\'' + row.serialNo + '\',' + row.reqType + ')" style="cursor: pointer">接诊</a>';
  1877. } else if (row.statusFlag == 8) {
  1878. //TODO 继续接诊需要新方法
  1879. return '<a title="继续接诊" onclick="clinicalReception(\'' + row.patientId + '\',\'' + row.serialNo + '\',' + row.reqType + ')" style="cursor: pointer">续诊</a> <a title="取消接诊" onclick="cancelClinic(\'' + row.patientId + '\',\'' + row.times + '\')" style="cursor: pointer">消诊</a>';
  1880. } else if (row.statusFlag == 1 || row.statusFlag == 2 || row.statusFlag == 3) {
  1881. var userIdCode = localStorage.getItem("userIdCode");
  1882. if (userIdCode === row.doctorCode) {
  1883. return '<a title="通知" onclick="clinicCallNumber(\'' + row.serialNo + '\')" style="cursor: pointer">通知</a>&nbsp;<a title="接诊" onclick="clinicalReception(\'' + row.patientId + '\',\'' + row.serialNo + '\',' + row.reqType + ')" style="cursor: pointer">接诊</a>';
  1884. }
  1885. return '<a title="接诊" onclick="clinicalReception(\'' + row.patientId + '\',\'' + row.serialNo + '\',' + row.reqType + ')" style="cursor: pointer">接诊</a>';
  1886. }
  1887. }
  1888. }
  1889. ],
  1890. responseHandler: function (res) {
  1891. if (res == '401' || res == 401) {
  1892. window.location.href = '/thmz/login/view'
  1893. return;
  1894. }
  1895. var ress = eval(res);
  1896. if (ress.code == -1) {
  1897. new PNotify({
  1898. title: '错误提示',
  1899. text: ress.message,
  1900. type: 'error',
  1901. hide: false,
  1902. styling: 'bootstrap3'
  1903. });
  1904. return {
  1905. "total": 0,//总页数
  1906. "rows": {} //数据
  1907. };
  1908. }
  1909. return {
  1910. "total": ress.total,//总页数
  1911. "rows": ress.data //数据
  1912. };
  1913. },
  1914. onLoadSuccess: function (data) {
  1915. $(".pagination-detail").css("display", "none");
  1916. $("#unClinicNum").html(data.total);
  1917. }
  1918. });
  1919. }
  1920. /**
  1921. * 得到查询的参数
  1922. * @param params
  1923. * @returns {{mzyReqrec: {unitCode: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}}
  1924. */
  1925. function queryParamsUnClinic(params) {
  1926. var temp = {
  1927. pageSize: params.limit,
  1928. pageIndex: params.offset / params.limit, //页码
  1929. statusFlagList: [0, 1, 2, 3]
  1930. };
  1931. return temp;
  1932. };
  1933. /**
  1934. * 通知叫号
  1935. * @param serialNo
  1936. */
  1937. function clinicCallNumber(serialNo) {
  1938. $.ajax({
  1939. type: "GET",
  1940. url: '/thmz/clinicCallNumber?serialNo=' + serialNo,
  1941. contentType: "application/json;charset=UTF-8",
  1942. dataType: "json",
  1943. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1944. success: function (res) {
  1945. if (res == '401' || res == 401) {
  1946. window.location.href = '/thmz/login/view'
  1947. return;
  1948. }
  1949. if (res.code == 0) {
  1950. successMesage(res);
  1951. } else {
  1952. errorMesage(res);
  1953. }
  1954. }
  1955. });
  1956. }
  1957. /**
  1958. * 接诊方法
  1959. * @param patientId 门诊id
  1960. * @param serialNo 分诊流水号
  1961. * @param reqType 号表类别
  1962. */
  1963. function clinicalReception(patientId, serialNo, reqType) {
  1964. var existPatientId = $("#patientId").text();
  1965. if (existPatientId != null && existPatientId != "" && existPatientId != patientId) {
  1966. $("#messageModal").modal();
  1967. $("#messageContent").html("当前有病人正在接诊,是否切换?");
  1968. $("#messageButton").off("click").on("click", function (t) {
  1969. $("#messageModal").modal("hide");
  1970. //当前有人在接诊,提示是否需要切换和保存
  1971. $("#messagePrescriptionModal").modal();
  1972. $("#confirmPrescriptionButton").off("click").on("click", function (t) {
  1973. $("#messagePrescriptionModal").modal("hide");
  1974. //先保存目前接诊信息,再切换就诊人
  1975. var jsonData = getParamsForpPrescription(1);
  1976. $.ajax({
  1977. type: "POST",
  1978. url: '/thmz/savePrescription',
  1979. contentType: "application/json;charset=UTF-8",
  1980. dataType: "json",
  1981. data: JSON.stringify(jsonData),
  1982. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1983. success: function (res) {
  1984. if (res == '401' || res == 401) {
  1985. window.location.href = '/thmz/login/view'
  1986. return;
  1987. }
  1988. if (res.code == 0) {
  1989. clearWorkSpace();
  1990. realClinicalReception(patientId, serialNo, reqType);
  1991. //加载已接诊患者列表
  1992. loadClinicTableList();
  1993. } else {
  1994. errorMesage(res);
  1995. }
  1996. }
  1997. });
  1998. });
  1999. $("#cancelPrescriptionButton").off("click").on("click", function (t) {
  2000. $("#messagePrescriptionModal").modal("hide");
  2001. clearWorkSpace();
  2002. realClinicalReception(patientId, serialNo, reqType);
  2003. });
  2004. });
  2005. $("#cancelButton").off("click");
  2006. } else {
  2007. realClinicalReception(patientId, serialNo, reqType);
  2008. }
  2009. }
  2010. /**
  2011. * 取消接诊
  2012. * @param patientId
  2013. */
  2014. function cancelClinic(patientId, times) {
  2015. $("#messageModal").modal();
  2016. $("#messageContent").html("确认取消当前病人的接诊记录吗?");
  2017. $("#messageButton").off("click").on("click", function (t) {
  2018. $("#messageModal").modal("hide");
  2019. $.ajax({
  2020. type: "GET",
  2021. url: '/thmz/cancelClinic?patientId=' + patientId + "&times=" + times,
  2022. contentType: "application/json;charset=UTF-8",
  2023. dataType: "json",
  2024. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  2025. success: function (res) {
  2026. if (res == '401' || res == 401) {
  2027. window.location.href = '/thmz/login/view'
  2028. return;
  2029. }
  2030. if (res.code == 0) {
  2031. if (res.data == null || res.data.length == 0) {
  2032. return;
  2033. }
  2034. successMesage(res);
  2035. if (times > 0) {
  2036. loadUnClinicTableList();
  2037. loadInClinicTableList();
  2038. clearWorkSpace();
  2039. }
  2040. } else if (res.code == -1) {
  2041. errorMesage(res);
  2042. }
  2043. }
  2044. });
  2045. });
  2046. $("#cancelButton").off("click");
  2047. };
  2048. /**
  2049. * 设置当前接诊病人信息
  2050. * @param mzPatientMi
  2051. */
  2052. function setMzPatientInfo(mzPatientMi) {
  2053. postAjaxJsonHttpRequst("/thmz/getSqGhfFlag",{patientId:mzPatientMi.patientId},true,function (res) {
  2054. $("#ghFeeSelect").val(res.data)
  2055. $('#ghFeeSelect').selectpicker('refresh');
  2056. })
  2057. $.ajax({
  2058. type: "GET",
  2059. url: '/thmz/getDeptNoByCurrentPatientId?patientId=' + mzPatientMi.patientId,
  2060. contentType: "application/json;charset=UTF-8",
  2061. dataType: "json",
  2062. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  2063. success: function (res) {
  2064. if (res == '401' || res == 401) {
  2065. window.location.href = '/thmz/login/view'
  2066. return;
  2067. }
  2068. if (res.code == 0) {
  2069. //当前患者就诊科室编码
  2070. localStorage.setItem("currentDeptNo", res.data);
  2071. } else if (res.code == -1) {
  2072. errorMesage(res);
  2073. }
  2074. }
  2075. });
  2076. currentPatientInfo = mzPatientMi
  2077. $("#patientName").html(mzPatientMi.name);
  2078. //var age = getAge(mzPatientMi);
  2079. $("#patientAge").html(mzPatientMi.ageString);
  2080. setVisitTypeName(mzPatientMi.patientId);
  2081. $("#visitTimes").val(mzPatientMi.times);
  2082. $("#patientGender").html(mzPatientMi.gender);
  2083. $("#patientId").text(mzPatientMi.patientId);
  2084. $("#crbMainCard").css("display", "inline-block");
  2085. $("#editUser").css("display", "inline-block");
  2086. $("#clearUser").css("display", "inline-block");
  2087. if (mzPatientMi.phoneNo != null && mzPatientMi.phoneNo != '') {
  2088. $("#patientPhone").html(mzPatientMi.phoneNo);
  2089. $("#patientPhoneLabel").show();
  2090. } else {
  2091. $("#patientPhoneLabel").hide();
  2092. }
  2093. $("#patientResponseType").html(mzPatientMi.responseTypeName);
  2094. if (mzPatientMi.times == 1) {
  2095. $("#first").next().click();
  2096. } else {
  2097. $("#not").next().click();
  2098. }
  2099. $("#patientHisData").text(mzPatientMi.name);
  2100. fitPatientHisData();
  2101. // setTmResponseType(mzPatientMi.patientId);
  2102. }
  2103. //设置病人身份
  2104. function setVisitTypeName(patientId) {
  2105. if(stringIsBlank(patientId)){
  2106. return
  2107. }
  2108. postAjaxJsonHttpRequst("/thmz/queryVisitTypeName",{patientId:patientId},true,function (res) {
  2109. if(res.code ==0){
  2110. $("#patientVisitType").text(res.data);
  2111. if(!stringIsBlank(res.data)){
  2112. $("#discountLvCard").css("display", "inline-block");
  2113. }
  2114. }
  2115. $("#crmType").text(res.crmTypeName);
  2116. })
  2117. postAjaxJsonHttpRequst("/thmz/queryWxmallPackagePurchasedItem",{patNo:patientId},true,function (res) {
  2118. if(res.code == 0 && res.data != null && res.data.length > 0){
  2119. $("#mallTcCard").css("display", "inline-block");
  2120. }
  2121. })
  2122. }
  2123. function closeMallTcDetailModal() {
  2124. $("#mallTcDetailModal").modal("hide");
  2125. }
  2126. //保存商城套餐处方
  2127. function saveMallTcOrder() {
  2128. let allSelecteds = $('#mall_tc_detail_table').bootstrapTable('getAllSelections');
  2129. if(allSelecteds == null && allSelecteds.length == 0){
  2130. errorMesageSimaple('请选择需要开具的商城项目!')
  2131. return
  2132. }
  2133. realSavePrescription(false,true);
  2134. }
  2135. //商城套餐
  2136. function openMallTc() {
  2137. $("#mallTcDetailModal").modal();
  2138. initMallTcDetailTable();
  2139. }
  2140. //初始化
  2141. function initMallTcDetailTable() {
  2142. let patNo = $("#patientId").text();
  2143. if(stringIsBlank(patNo)){
  2144. errorMesageSimaple("请先就诊!")
  2145. return
  2146. }
  2147. $('#mall_tc_detail_table').bootstrapTable("destroy");
  2148. $('#mall_tc_detail_table').bootstrapTable({
  2149. url: '/thmz/queryWxmallPackagePurchasedItem', //请求后台的URL(*)
  2150. method: 'post', //请求方式(*)
  2151. toolbar: '#toolbar', //工具按钮用哪个容器
  2152. striped: true, //是否显示行间隔色
  2153. cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  2154. pagination: false, //是否显示分页(*)
  2155. sortable: true, //是否启用排序
  2156. sortOrder: "asc", //排序方式
  2157. // sortName: 'orderNo', //排序字段
  2158. queryParams: function () {
  2159. return {
  2160. patNo:patNo
  2161. }
  2162. }, //传递参数(*)
  2163. sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
  2164. pageNumber: 1, //初始化加载第一页,默认第一页
  2165. pageSize: 25, //每页的记录行数(*)
  2166. pageList: [25, 50, 75, 100], //可供选择的每页的行数(*)
  2167. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  2168. strictSearch: true,
  2169. showColumns: false, //是否显示所有的列
  2170. showRefresh: false, //是否显示刷新按钮
  2171. minimumCountColumns: 2, //最少允许的列数
  2172. clickToSelect: true, //是否启用点击选中行
  2173. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  2174. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  2175. cardView: false, //是否显示详细视图
  2176. detailView: false,
  2177. //rowStyle:rowStyle,//通过自定义函数设置行样式
  2178. ajaxOptions: {
  2179. headers: {
  2180. 'Accept': 'application/json',
  2181. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  2182. }
  2183. },
  2184. columns: [
  2185. {
  2186. checkbox: true,
  2187. },
  2188. {
  2189. field: 'hisCode',
  2190. title: '项目编码',
  2191. align: "center",
  2192. valign: 'middle'
  2193. }, {
  2194. field: 'hisName',
  2195. title: '项目名称',
  2196. align: "center",
  2197. valign: 'middle',
  2198. }, {
  2199. field: 'quantity',
  2200. title: '购买的数量',
  2201. align: "center",
  2202. valign: 'middle',
  2203. },
  2204. {
  2205. field: 'usableQuantity',
  2206. title: '可使用数量',
  2207. align: "center",
  2208. valign: 'middle',
  2209. },{
  2210. field: 'originPrice',
  2211. title: '原价(元)',
  2212. align: "center",
  2213. valign: 'middle',
  2214. }, {
  2215. field: 'price',
  2216. title: '优惠单价(元)',
  2217. align: "center",
  2218. valign: 'middle',
  2219. },
  2220. {
  2221. field: 'costAmt',
  2222. title: '总价',
  2223. align: "center",
  2224. valign: 'middle'
  2225. }, {
  2226. field: 'type',
  2227. title: '项目类型',
  2228. align: "center",
  2229. valign: 'middle',
  2230. formatter: function (value, row, index) {
  2231. if (value == 'JY') {
  2232. return '检验';
  2233. }else if(value == 'JC'){
  2234. return '检查';
  2235. }
  2236. else if(value == 'ZL'){
  2237. return '诊疗';
  2238. }
  2239. return "";
  2240. }
  2241. }
  2242. , {
  2243. field: 'lastUseTime',
  2244. title: '最后使用时间',
  2245. align: "center",
  2246. valign: 'middle',
  2247. formatter: function (value, row, index) {
  2248. if (value != null && value != "") {
  2249. return format(value, "yyyy-MM-dd HH:mm:ss");
  2250. }
  2251. return "";
  2252. }
  2253. }
  2254. ],
  2255. responseHandler: function (res) {
  2256. if (res == '401' || res == 401) {
  2257. window.location.href = '/thmz/login/view'
  2258. return;
  2259. }
  2260. var ress = eval(res);
  2261. if (ress.code == -1) {
  2262. new PNotify({
  2263. title: '错误提示',
  2264. text: ress.message,
  2265. type: 'error',
  2266. hide: true,
  2267. styling: 'bootstrap3'
  2268. });
  2269. return {
  2270. "total": 0,//总页数
  2271. "rows": {} //数据
  2272. };
  2273. }
  2274. return {
  2275. //"total": ress.pageViewVo.total,//总页数
  2276. "rows": ress.data //数据
  2277. };
  2278. },
  2279. });
  2280. }
  2281. /**
  2282. * 判断是否是特门病人
  2283. * @param patientId
  2284. */
  2285. function setTmResponseType(patientId) {
  2286. postAjaxJsonHttpRequst("/thmz/fetchSpcSlwinfo",{"patientId":patientId,"admdvs":"","readCardResult":""},true,function (res) {
  2287. if (res == '401' || res == 401) {
  2288. window.location.href = '/thmz/login/view'
  2289. return;
  2290. }
  2291. if (res.code == 0) {
  2292. if (res.data != null && res.data.length > 0) {
  2293. $("#patientResponseType").html("特殊门诊");
  2294. $("#fetchSpcSlwinfo").css("display", "inline-block");
  2295. }
  2296. }
  2297. })
  2298. }
  2299. //删除股东卡身份
  2300. // function deleteShareholderCard() {
  2301. // let patientId = $("#patientId").text();
  2302. // if(stringIsBlank(patientId)){
  2303. // errorMesageSimaple("请先选择就诊病人")
  2304. // return
  2305. // }
  2306. // postAjaxJsonHttpRequst("/thmz/deleteShareholderCard",{patientId:patientId},true,function (res) {
  2307. // if(res.code ==0){
  2308. // $("#patientVisitType").text("");
  2309. // successMesageSimaple(res.message)
  2310. // }else {
  2311. // errorMesage(res)
  2312. // }
  2313. // })
  2314. // }
  2315. //慢病建档
  2316. function cmrCreate() {
  2317. $.ajax({
  2318. type: "GET",
  2319. url: '/thmz/getMzjsdHost',
  2320. dataType: "json",
  2321. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  2322. success: function (res) {
  2323. if (res == '401' || res == 401) {
  2324. window.location.href = '/thmz/login/view'
  2325. return;
  2326. }
  2327. if (res.code == 0) {
  2328. let patientId = $("#patientId").text();
  2329. if(stringIsBlank(patientId)){
  2330. return errorMesageSimaple('门诊号不能为空,请先接诊')
  2331. }
  2332. getAjaxRequst("/thmz/getByPatientId",{patientId:patientId},true,function (ress) {
  2333. if(ress.code ==0){
  2334. let cmrType ;
  2335. let userIdCode = localStorage.getItem("userIdCode");
  2336. if(stringIsBlank($("#crmType").text())){
  2337. cmrType = '2'
  2338. }else {
  2339. cmrType = '1'
  2340. }
  2341. window.open(`${res.data}/outpatient/chronicDisease/chronicDiseaseRegister?socialNo=${ress.data.socialNo}&type=${cmrType}&userCode=${userIdCode}`, '_blank');
  2342. }
  2343. })
  2344. }
  2345. }
  2346. });
  2347. }
  2348. var curOpspDiseCode =null;
  2349. var curOpspDiseName =null;
  2350. function openFetchSpcSlwinfoModal() {
  2351. $("#fetchSpcSlwinfoModal").modal();
  2352. $("#fetchSpcSlwinfoTable").html(null);
  2353. clearOpspDiseData();
  2354. }
  2355. /**
  2356. * 清除特门数据
  2357. */
  2358. function clearOpspDiseData() {
  2359. curOpspDiseCode =null;
  2360. curOpspDiseName =null;
  2361. visitMtCardResult = null;
  2362. }
  2363. /**
  2364. * 关闭门特窗口
  2365. */
  2366. function closeFetchSpcSlwinfoModal() {
  2367. $("#fetchSpcSlwinfoModal").modal("hide");
  2368. clearOpspDiseData();
  2369. }
  2370. /**
  2371. * 特门详情
  2372. * @param patientId
  2373. */
  2374. function fetchSpcSlwinfo() {
  2375. let patientId = $("#patientId").text();
  2376. let visitAdvmCity = $("#visitAdvmCity").val();
  2377. postAjaxJsonHttpRequst("/thmz/fetchSpcSlwinfo",{"patientId":patientId,"admdvs":visitAdvmCity,"readCardResult":visitMtCardResult},true,function (res) {
  2378. if (res == '401' || res == 401) {
  2379. window.location.href = '/thmz/login/view'
  2380. return;
  2381. }
  2382. if (res.code == 0) {
  2383. if (res.data == null || res.data.length == 0 ){
  2384. errorMesageSimaple("该患者没有特门信息");
  2385. }
  2386. if (res.data != null && res.data.length > 0) {
  2387. for (var i = 0; i < res.data.length; i++) {
  2388. var begndate = res.data[i].begndate;
  2389. if (begndate == null || begndate == "null") {
  2390. begndate = "";
  2391. }
  2392. var enddate = res.data[i].enddate;
  2393. if (enddate == null || enddate == "null") {
  2394. enddate = "";
  2395. }
  2396. var opspDiseName = res.data[i].opspDiseName;
  2397. if (opspDiseName == null || opspDiseName == "null") {
  2398. opspDiseName = "";
  2399. }
  2400. var opspDiseCode = res.data[i].opspDiseCode;
  2401. if (opspDiseCode == null || opspDiseCode == "null") {
  2402. opspDiseCode = "";
  2403. }
  2404. var ideFixmedinsName = res.data[i].ideFixmedinsName;
  2405. if (ideFixmedinsName == null || ideFixmedinsName == "null") {
  2406. ideFixmedinsName = "";
  2407. }
  2408. $("<tr data-target-opspDiseCode='" + opspDiseCode + "' data-target-opspDiseName='" + opspDiseName + "' data-target-ideFixmedinsName='" + ideFixmedinsName + "'><td>" + begndate + "</td><td>" + enddate + "</td><td>" + opspDiseCode + "</td><td>" + opspDiseName + "</td><td>" + ideFixmedinsName + "</td></tr>").appendTo("#fetchSpcSlwinfoTable").bind('click',function () {
  2409. $("#fetchSpcSlwinfoModal").modal("hide");
  2410. curOpspDiseCode = $(this).attr("data-target-opspDiseCode");
  2411. curOpspDiseName = $(this).attr("data-target-opspDiseName");
  2412. //设置特殊门诊值
  2413. $("#mzOrderTypeSelect").val('3')
  2414. $('#mzOrderTypeSelect').selectpicker('refresh');
  2415. });
  2416. }
  2417. } else {
  2418. errorMesage(res);
  2419. }
  2420. } else {
  2421. errorMesage(res);
  2422. }
  2423. })
  2424. }
  2425. function initAdvmPro(proId) {
  2426. getAjaxRequst("/thmz/queryProvinceCodes",{},true,function (res) {
  2427. if(res.code == 0 && res.data !=null && res.data.length > 0){
  2428. let selectHtml = '';
  2429. for (let i=0 ; i <res.data.length; i++ ){
  2430. selectHtml+= `<option value="${res.data[i].code}">${res.data[i].code} ${res.data[i].name}</option>`
  2431. }
  2432. $('#'+proId).html(selectHtml);
  2433. $('#'+proId).selectpicker('refresh');
  2434. $('#'+proId).val(430000);
  2435. $('#'+proId).selectpicker('refresh');
  2436. cityChange('visitAdvmPro','visitAdvmCity',430100)
  2437. }
  2438. })
  2439. }
  2440. function cityChange(proId,cityId,defalultVal) {
  2441. let code = $('#'+proId).val()
  2442. postAjaxJsonHttpRequst("/thmz/queryCityCodes",{code:code},true,function (res) {
  2443. if(res.code == 0 && res.data !=null && res.data.length > 0){
  2444. let selectHtml = '';
  2445. for (let i=0 ; i <res.data.length; i++ ){
  2446. selectHtml+= `<option value="${res.data[i].code}">${res.data[i].code} ${res.data[i].name}</option>`
  2447. }
  2448. $('#'+cityId).html(selectHtml);
  2449. $('#'+cityId).selectpicker('refresh');
  2450. if(!stringIsBlank(defalultVal)){
  2451. $('#'+cityId).val(defalultVal);
  2452. $('#'+cityId).selectpicker('refresh');
  2453. }
  2454. }
  2455. })
  2456. }
  2457. var visitMtCardResult = null;
  2458. function readVisitPatientCard() {
  2459. $.ajax({
  2460. type: "GET",
  2461. // url: 'http://localhost:8321/readcard/entry?param=qrcode_01101',
  2462. url: 'http://localhost:8321/api/entry?param=jiangsu_qrcode_01101',
  2463. contentType: "application/json;charset=UTF-8",
  2464. dataType: "json",
  2465. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  2466. success: function (res) {
  2467. if (res == '401' || res == 401) {
  2468. window.location.href = '/thmz/login/view'
  2469. return;
  2470. }
  2471. if (res.code == 200) {
  2472. visitMtCardResult = res.data
  2473. fetchSpcSlwinfo()
  2474. } else {
  2475. errorMesage(res);
  2476. }
  2477. }
  2478. });
  2479. }
  2480. /**
  2481. * 初诊的时候设置患者生命体征
  2482. * @param res
  2483. */
  2484. function setMzSmtz(res) {
  2485. var mzYshTzxx = res.mzYshTzxx;
  2486. if (mzYshTzxx != null) {
  2487. if (mzYshTzxx.valueTz != null) {
  2488. $("#weight").val(mzYshTzxx.valueTz);
  2489. }
  2490. if (mzYshTzxx.valueTw != null) {
  2491. $("#temperature").val(mzYshTzxx.valueTw);
  2492. }
  2493. if (mzYshTzxx.valueMb != null) {
  2494. $("#sphygmus").val(mzYshTzxx.valueMb);
  2495. }
  2496. if (mzYshTzxx.valueHx != null) {
  2497. $("#breathe").val(mzYshTzxx.valueHx);
  2498. }
  2499. if (mzYshTzxx.valueSsy != null) {
  2500. $("#pressure_high").val(mzYshTzxx.valueSsy);
  2501. }
  2502. if (mzYshTzxx.valueSzy != null) {
  2503. $("#pressure_floor").val(mzYshTzxx.valueSzy);
  2504. }
  2505. }
  2506. }
  2507. /**
  2508. * 真实的接诊方法
  2509. * @param patientId
  2510. * @param serialNo 分诊流水号
  2511. * @param reqType 号表类别
  2512. */
  2513. function realClinicalReception(patientId, serialNo, reqType) {
  2514. var turnToConsultationIdInClick = $("#turnToConsultationIdInClick").val();
  2515. if (turnToConsultationIdInClick == null || turnToConsultationIdInClick == "null") {
  2516. turnToConsultationIdInClick = 0;
  2517. }
  2518. var userIdCode = localStorage.getItem("userIdCode");
  2519. var deptNo = localStorage.getItem(userIdCode);
  2520. if (deptNo == null) {
  2521. deptNo = "";
  2522. }
  2523. $.ajax({
  2524. type: "GET",
  2525. url: '/thmz/saveClinic?patientId=' + patientId + "&serialNo=" + serialNo + "&turnToConsultationId=" + turnToConsultationIdInClick + "&deptNo=" + deptNo,
  2526. contentType: "application/json;charset=UTF-8",
  2527. dataType: "json",
  2528. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  2529. success: function (res) {
  2530. if (res == '401' || res == 401) {
  2531. window.location.href = '/thmz/login/view'
  2532. return;
  2533. }
  2534. if (res.code == 0) {
  2535. if (res.data != null) {
  2536. setMzReqType(null,null,reqType);
  2537. var mzPatientMi = res.data;
  2538. setMzPatientInfo(mzPatientMi);
  2539. setMzSmtz(res);
  2540. $("#mzfzSerialNoInClick").val(serialNo);
  2541. $("#mzfzReqTypeNoInClick").val(reqType);
  2542. //有分诊流水号 且 不是简易门诊 或 会诊目标科室接诊
  2543. if (serialNo != null && serialNo != "null") {
  2544. if (!(reqType == "16" || reqType == 16 || reqType == -200)) {
  2545. $("#transferTreatment").css("display", "inline-block");
  2546. }
  2547. $("#consultation").css("display", "inline-block");
  2548. }
  2549. //加载候诊患者列表
  2550. loadUnClinicTableList();
  2551. //加载接诊中患者列表
  2552. loadInClinicTableList();
  2553. //查询患者的门诊统筹信息
  2554. queryInsuinfo(patientId);
  2555. }
  2556. } else {
  2557. errorMesage(res);
  2558. }
  2559. }
  2560. });
  2561. }
  2562. /**
  2563. * 查询患者的门诊统筹信息
  2564. * @param patientId
  2565. */
  2566. function queryInsuinfo(patientId) {
  2567. getAjaxRequst("/thmz/queryInsuinfo",{patientId: patientId},true,function (insurRes) {
  2568. if(insurRes.code == 0){
  2569. var ybCode = localStorage.getItem("ybCode");
  2570. if(ybCode !=null && ybCode !="" && ybCode.length > 0){
  2571. $("#zgmztczf").selectpicker('val',1);
  2572. $("#zgmztczf").selectpicker('refresh');
  2573. if($("#mzOrderTypeSelect").val() !='4'){
  2574. $("#mzOrderTypeSelect").selectpicker('val','2');
  2575. $("#mzOrderTypeSelect").selectpicker('refresh');
  2576. }else {
  2577. $("#zgmztczf").selectpicker('val',0);
  2578. $("#zgmztczf").selectpicker('refresh');
  2579. }
  2580. postAjaxJsonHttpRequst("/thmz/queryVisitTypeName",{patientId:patientId},true,function (res) {
  2581. if(res.code ==0){
  2582. if(!stringIsBlank(res.data)){
  2583. warningMesageSimaple("该患者为股东卡用户,选择医保门诊统筹将不能享受股东卡优惠,请告知患者,请悉知!")
  2584. }
  2585. }
  2586. })
  2587. }else {
  2588. $("#zgmztczf").selectpicker('val',0);
  2589. $("#zgmztczf").selectpicker('refresh');
  2590. }
  2591. }else if(insurRes.code == -1){
  2592. errorMesageSimaple(insurRes.message);
  2593. }else if(insurRes.code == -2){
  2594. warningMesageSimaple(insurRes.message);
  2595. }
  2596. })
  2597. }
  2598. /**
  2599. * 读医保电子凭证
  2600. * @param asyncFlag true 异步 false 同步
  2601. * @param params
  2602. */
  2603. function mztczfSiReadCard(asyncFlag, params) {
  2604. mztczfSiReadCardStatus = true;
  2605. $.ajax({
  2606. type: "GET",
  2607. url: params && params.startsWith('jiangsu_qrcode') ? 'http://localhost:8321/api/entry?param=' + params : 'http://localhost:8321/readcard/entry?param=' + params,
  2608. contentType: "application/json;charset=UTF-8",
  2609. dataType: "json",
  2610. async: asyncFlag,
  2611. headers: {
  2612. 'Accept': 'application/json',
  2613. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  2614. },
  2615. success: function (res) {
  2616. mztczfSiReadCardStatus = false;
  2617. if (res == '401' || res == 401) {
  2618. window.location.href = '/thmz/login/view'
  2619. return;
  2620. }
  2621. //console.log(res);
  2622. if (res.code == 200) {
  2623. var data = JSON.parse(res.data);
  2624. $("#readCardResult").val(JSON.stringify(data.data));
  2625. $("#messageContent").html("读卡成功,是否保存处方?");
  2626. } else {
  2627. $("#messageContent").html("读卡失败,是否保存处方(不享受门诊统筹)?");
  2628. errorMesage(res);
  2629. }
  2630. },
  2631. error: function (XMLHttpRequest, textStatus, errorThrown) {
  2632. mztczfSiReadCardStatus = false;
  2633. $("#messageContent").html("读卡异常,是否保存处方(不享受门诊统筹)?");
  2634. }
  2635. });
  2636. }
  2637. /**
  2638. * 实际读医保电子凭证
  2639. * @param asyncFlag true 异步 false 同步
  2640. */
  2641. function realMztczfSiReadCard(asyncFlag) {
  2642. }
  2643. /**
  2644. * 清空工作台
  2645. */
  2646. function clearWorkSpace() {
  2647. clearUser(true);
  2648. clearWorkSpaceExcludeUser(1);
  2649. }
  2650. /**
  2651. * 清空工作台除了用户信息
  2652. * @param source 1 清空工作台 2 调用模板 3 调用历史处方
  2653. */
  2654. function clearWorkSpaceExcludeUser(source) {
  2655. var conciseRecordsFlag = false;
  2656. if (source == 2) {
  2657. conciseRecordsFlag = $("#conciseRecordsYlfw").prop("checked");
  2658. } else if (source == 3) {
  2659. conciseRecordsFlag = $("#conciseRecordsJzxq").prop("checked");
  2660. }
  2661. if (source == 1 || conciseRecordsFlag) {
  2662. $("#symptom").val(null);
  2663. $("#emrHpi").val(null);
  2664. $("#emrPs").val(null);
  2665. $("#personalHistory").val(null);
  2666. $("#familyHistory").val(null);
  2667. $("#fzZl").val(null);
  2668. $("#crbHistory").val(null);
  2669. $("#obstericalHistory").val(null);
  2670. $("#weight").val(null);
  2671. $("#temperature").val(null);
  2672. $("#sphygmus").val(null);
  2673. $("#breathe").val(null);
  2674. $("#pressure_high").val(null);
  2675. $("#pressure_floor").val(null);
  2676. $("#pressure_high_left").val(null);
  2677. $("#pressure_floor_left").val(null);
  2678. $("#tentativeDiagnosis").val(null);
  2679. $("#otherCheck").val(null);
  2680. $("#diagnoseValue").val(null);
  2681. $("#diagnoseTags").html(null);
  2682. $("#tcmDiagnoseValue").val(null);
  2683. $("#tcmDiagnoseTags").html(null);
  2684. $("#healthEducation").val(null);
  2685. $("#zdAllergen").selectpicker('val', null);
  2686. $("#zdAllergen").selectpicker('refresh');
  2687. $("#ypDitList").selectpicker('val', null);
  2688. $("#ypDitList").selectpicker('refresh');
  2689. }
  2690. //清空工作台的时候需要调用
  2691. if (source == 1) {
  2692. clearWesternMedicine(true);
  2693. clearChineseMedicine();
  2694. clearJyJcItem();
  2695. clearZlItem();
  2696. clearZyReq();
  2697. //initNavTabs(0);
  2698. clearNavTabs(0);
  2699. clearNavTabs(1);
  2700. clearNavTabs(2);
  2701. clearNavTabs(3);
  2702. clearNavTabs(4);
  2703. clearNavTabs(5);
  2704. clearNavTabs(6);
  2705. clearApidAcceptsModal();
  2706. clearTurnToConsultationInput();
  2707. clearZgtczfInput();
  2708. clearOpspDiseData();
  2709. clearExpContentRequired();
  2710. gropuIdAndOrderNoMap = null;
  2711. //prevCategoriesFlag = null;
  2712. initGroupOrder();
  2713. localStorage.removeItem("currentDeptNo");
  2714. getResultUrl = null;
  2715. }
  2716. $("#totalAmount").text(0);
  2717. }
  2718. /**
  2719. * 构造西药处方详情和模板预览方法
  2720. * @param pyPrescription
  2721. * @param contentId 内容ID
  2722. * @param titleId 标题ID
  2723. * @param checkBox 是否需要增加ckeckBox
  2724. */
  2725. function fitxyContent(pyPrescription, contentId, titleId, checkBox) {
  2726. if (pyPrescription != null && pyPrescription.length > 0) {
  2727. var xypyHtml = "";
  2728. for (var i = 0; i < pyPrescription.length; i++) {
  2729. var py = pyPrescription[i];
  2730. if (py == null || py.length == 0) {
  2731. continue;
  2732. }
  2733. var detail = py.detail;
  2734. if (detail == null || detail.length == 0) {
  2735. continue;
  2736. }
  2737. for (var j = 0; j < detail.length; j++) {
  2738. var pyDetail = detail[j];
  2739. if (checkBox) {
  2740. xypyHtml += "<div style='cursor: pointer;' data-id='" + pyDetail.orderCode + "'>";
  2741. xypyHtml += "<input type='checkbox'/>";
  2742. xypyHtml += "<span onclick='rowDataClick(this)'>";
  2743. } else {
  2744. xypyHtml += "<div>";
  2745. }
  2746. xypyHtml += "<span style='color: red;'>" + pyDetail.groupOrder + "." + "</span>";
  2747. xypyHtml += pyDetail.name;
  2748. xypyHtml += " ";
  2749. xypyHtml += pyDetail.specification;
  2750. xypyHtml += " X ";
  2751. xypyHtml += pyDetail.quantity;
  2752. xypyHtml += pyDetail.packUnit;
  2753. xypyHtml += " 用法: ";
  2754. xypyHtml += pyDetail.supplyName;
  2755. xypyHtml += " ";
  2756. xypyHtml += pyDetail.drugQuan;
  2757. xypyHtml += pyDetail.unitDesc;
  2758. xypyHtml += " ";
  2759. xypyHtml += pyDetail.frequency;
  2760. xypyHtml += " ";
  2761. xypyHtml += pyDetail.orderDays;
  2762. xypyHtml += "天 ";
  2763. if (pyDetail.tryFlag != undefined && pyDetail.tryFlag != null && pyDetail.tryFlag != "null" && pyDetail.tryFlag != "") {
  2764. xypyHtml += pyDetail.tryFlag;
  2765. } else if (pyDetail.tryResult != undefined && pyDetail.tryResult != null && pyDetail.tryResult != "null" && pyDetail.tryResult != "") {
  2766. xypyHtml += pyDetail.tryResult;
  2767. }
  2768. if (checkBox) {
  2769. xypyHtml += "</span>";
  2770. }
  2771. xypyHtml += "</div>";
  2772. }
  2773. }
  2774. afterFitContent(contentId, xypyHtml, titleId);
  2775. } else {
  2776. $("#" + titleId).removeClass("in").addClass("hide");
  2777. $("#" + contentId).html("");
  2778. }
  2779. }
  2780. /**
  2781. * 构造中药处方详情和模板预览方法
  2782. * @param zyPrescription
  2783. * @param contentId 内容ID
  2784. * @param titleId 标题ID
  2785. * @param checkBox 是否需要增加ckeckBox
  2786. */
  2787. function fitzyContent(zyPrescription, contentId, titleId, checkBox) {
  2788. if (zyPrescription == null || zyPrescription.length == 0) {
  2789. $("#" + titleId).removeClass("in").addClass("hide");
  2790. $("#" + contentId).html("");
  2791. return;
  2792. }
  2793. var zyDetail = zyPrescription[0];
  2794. if (zyDetail == null || zyDetail.length == 0) {
  2795. $("#" + titleId).removeClass("in").addClass("hide");
  2796. $("#" + contentId).html("");
  2797. return;
  2798. }
  2799. var detail = zyDetail.detail;
  2800. if (detail == null || detail.length == 0) {
  2801. $("#" + titleId).removeClass("in").addClass("hide");
  2802. $("#" + contentId).html("");
  2803. return;
  2804. }
  2805. var zypyHtml = "";
  2806. for (var i = 0; i < detail.length; i++) {
  2807. //zypyHtml += '<div class="item form-group" style="margin-bottom: -5px;">';
  2808. var zy = detail[i];
  2809. if (zy == null || zy.length == 0) {
  2810. continue;
  2811. }
  2812. if (checkBox) {
  2813. zypyHtml += "<div class=\"col-md-3 col-sm-3 col-xs-12\" style='cursor: pointer;' data-id='" + zy.orderCode + "'>";
  2814. zypyHtml += "<input type='checkbox'/>";
  2815. zypyHtml += "<span onclick='rowDataClick(this)'>";
  2816. } else {
  2817. zypyHtml += "<div class=\"col-md-3 col-sm-3 col-xs-12\">";
  2818. }
  2819. zypyHtml += zy.name;
  2820. if(zy.spec){
  2821. zypyHtml += "("+zy.spec+")";
  2822. }
  2823. var instructionText = zy.instructionText;
  2824. if (instructionText != null && instructionText != "") {
  2825. zypyHtml += "[";
  2826. zypyHtml += instructionText;
  2827. zypyHtml += "]";
  2828. }
  2829. zypyHtml += zy.quantity;
  2830. if(zyDetail.groupNo =='83'){
  2831. zypyHtml += "袋";
  2832. }else {
  2833. zypyHtml += "g";
  2834. }
  2835. if (checkBox) {
  2836. zypyHtml += "</span>";
  2837. }
  2838. zypyHtml += "</div>";
  2839. // if (i % 4 == 0) {
  2840. // zypyHtml += '</div>';
  2841. // }
  2842. }
  2843. // if(detail.length%4!=0){
  2844. // for(var i=0;i<4-(detail.length%4);i++){
  2845. // zypyHtml += "<div class=\"col-md-3 col-sm-3 col-xs-12\"></div>";
  2846. // }
  2847. // }
  2848. var zyfs = zyDetail.zyfs;
  2849. if (zyfs != null && zyfs != "") {
  2850. zypyHtml += " <div class=\"col-md-12 col-sm-12 col-xs-12\">";
  2851. zypyHtml += ' <div style="text-indent: 2em;">';
  2852. zypyHtml += ' <div>';
  2853. zypyHtml += 'x<span>';
  2854. zypyHtml += zyfs;
  2855. zypyHtml += '</span> 付</div>';
  2856. }
  2857. afterFitContent(contentId, zypyHtml, titleId);
  2858. }
  2859. /**
  2860. * 构造辅助检查、检验处方详情和模板预览方法
  2861. * @param jcjyPrescription
  2862. * @param contentId 内容ID
  2863. * @param titleId 标题ID
  2864. * @param checkBox 是否需要增加ckeckBox
  2865. */
  2866. function fitJcjyContent(jcjyPrescription, contentId, titleId, checkBox) {
  2867. if (jcjyPrescription == null || jcjyPrescription.length == 0) {
  2868. $("#" + titleId).removeClass("in").addClass("hide");
  2869. $("#" + contentId).html("");
  2870. return;
  2871. }
  2872. var jcjyDetail = jcjyPrescription[0];
  2873. if (jcjyDetail == null || jcjyDetail.length == 0) {
  2874. $("#" + titleId).removeClass("in").addClass("hide");
  2875. $("#" + contentId).html("");
  2876. return;
  2877. }
  2878. var detail = jcjyDetail.detail;
  2879. if (detail == null || detail.length == 0) {
  2880. $("#" + titleId).removeClass("in").addClass("hide");
  2881. $("#" + contentId).html("");
  2882. return;
  2883. }
  2884. var jcjyHtml = "";
  2885. for (var i = 0; i < detail.length; i++) {
  2886. var jcjy = detail[i];
  2887. if (jcjy == null || jcjy.length == 0) {
  2888. continue;
  2889. }
  2890. if (checkBox) {
  2891. jcjyHtml += "<div style='cursor: pointer;' data-id='" + jcjy.orderCode + "'>";
  2892. jcjyHtml += "<input type='checkbox'/>";
  2893. jcjyHtml += "<span onclick='rowDataClick(this)'>";
  2894. } else {
  2895. jcjyHtml += "<div>";
  2896. }
  2897. jcjyHtml += jcjy.index + ".";
  2898. jcjyHtml += jcjy.name;
  2899. var drugUnit = jcjy.drugUnit;
  2900. if (drugUnit == undefined || drugUnit == null || drugUnit == "") {
  2901. drugUnit = "";
  2902. }
  2903. var drugQuan = jcjy.drugQuan;
  2904. if (drugQuan != undefined && drugQuan != null && drugQuan != "") {
  2905. jcjyHtml += " 单量:" + drugQuan + drugUnit;
  2906. }
  2907. var orderDays = jcjy.orderDays;
  2908. if (orderDays != undefined && orderDays != null && orderDays != "") {
  2909. jcjyHtml += " 天数:" + orderDays + "天";
  2910. }
  2911. var frequency = jcjy.frequency;
  2912. if (frequency != undefined && frequency != null && frequency != "") {
  2913. jcjyHtml += " 频次:" + frequency;
  2914. }
  2915. var quantity = jcjy.quantity;
  2916. if (quantity != undefined && quantity != null && quantity != "") {
  2917. jcjyHtml += " 总量:" + quantity + drugUnit;
  2918. }
  2919. if (checkBox) {
  2920. jcjyHtml += "</span>";
  2921. }
  2922. jcjyHtml += "</div>";
  2923. }
  2924. afterFitContent(contentId, jcjyHtml, titleId);
  2925. }
  2926. /**
  2927. * 构造入院处方详情和模板预览方法
  2928. * @param jcjyPrescription
  2929. * @param contentId 内容ID
  2930. * @param titleId 标题ID
  2931. * @param checkBox 是否需要增加ckeckBox
  2932. */
  2933. function fitZyReqContent(zyReqPrescription, contentId, titleId, checkBox) {
  2934. if (zyReqPrescription == null || zyReqPrescription.length == 0) {
  2935. $("#" + titleId).removeClass("in").addClass("hide");
  2936. $("#" + contentId).html("");
  2937. return;
  2938. }
  2939. var zyReqHtml = "";
  2940. if (checkBox) {
  2941. zyReqHtml += "<div style='cursor: pointer;'>";
  2942. zyReqHtml += "<input type='checkbox'/>";
  2943. zyReqHtml += "<span onclick='rowDataClick(this)'>";
  2944. } else {
  2945. zyReqHtml += "<div>";
  2946. }
  2947. zyReqHtml += "收住院 [";
  2948. zyReqHtml += zyReqPrescription.reqDept;
  2949. if (zyReqPrescription.smallDept != null && zyReqPrescription.smallDept != "") {
  2950. zyReqHtml += "(" + zyReqPrescription.smallDept + ")";
  2951. }
  2952. zyReqHtml += "]";
  2953. if (zyReqPrescription.admissStatus != null && zyReqPrescription.admissStatus != "") {
  2954. zyReqHtml += zyReqPrescription.admissStatus;
  2955. }
  2956. if (zyReqPrescription.conditionCode != null && zyReqPrescription.conditionCode != "") {
  2957. zyReqHtml += " " + zyReqPrescription.conditionCode;
  2958. }
  2959. if (zyReqPrescription.routeOfAdmission != null && zyReqPrescription.routeOfAdmission != "") {
  2960. zyReqHtml += " " + zyReqPrescription.routeOfAdmission;
  2961. }
  2962. zyReqHtml += " 侯床";
  2963. if (checkBox) {
  2964. zyReqHtml += "</span>";
  2965. }
  2966. zyReqHtml += "</div>";
  2967. afterFitContent(contentId, zyReqHtml, titleId);
  2968. }
  2969. /**
  2970. * 构造门诊外配药处方详情和模板预览方法
  2971. * @param wpMedicinePrescription
  2972. * @param contentId 内容ID
  2973. * @param titleId 标题ID
  2974. * @param checkBox 是否需要增加ckeckBox
  2975. */
  2976. function fitWpMedicineContent(wpMedicinePrescription, contentId, titleId, checkBox) {
  2977. if (wpMedicinePrescription == null || wpMedicinePrescription.length == 0) {
  2978. $("#" + titleId).removeClass("in").addClass("hide");
  2979. $("#" + contentId).html("");
  2980. return;
  2981. }
  2982. var wpMedicineHtml = "";
  2983. for (var i = 0; i < wpMedicinePrescription.length; i++) {
  2984. var wpMedicine = wpMedicinePrescription[i];
  2985. if (wpMedicine == null || wpMedicine.length == 0) {
  2986. continue;
  2987. }
  2988. if (checkBox) {
  2989. wpMedicineHtml += "<div style='cursor: pointer;' data-id='" + wpMedicine.code + "'>";
  2990. wpMedicineHtml += "<input type='checkbox'/>";
  2991. wpMedicineHtml += "<span onclick='rowDataClick(this)'>";
  2992. } else {
  2993. wpMedicineHtml += "<div>";
  2994. }
  2995. wpMedicineHtml += "<span style='color: red;'>" + (i+1) + "." + "</span>";
  2996. wpMedicineHtml += wpMedicine.name;
  2997. wpMedicineHtml += " ";
  2998. wpMedicineHtml += wpMedicine.drugSpec;
  2999. wpMedicineHtml += " X ";
  3000. wpMedicineHtml += wpMedicine.drugCnt;
  3001. wpMedicineHtml += wpMedicine.drugDosunt;
  3002. wpMedicineHtml += " 用法 ";
  3003. wpMedicineHtml += wpMedicine.medcWayDscr;
  3004. wpMedicineHtml += " ";
  3005. wpMedicineHtml += wpMedicine.sinDoscnt;
  3006. wpMedicineHtml += wpMedicine.sinDosunt;
  3007. wpMedicineHtml += " ";
  3008. wpMedicineHtml += wpMedicine.usedFrquName;
  3009. wpMedicineHtml += " ";
  3010. wpMedicineHtml += wpMedicine.medcDays;
  3011. wpMedicineHtml += "天";
  3012. if (checkBox) {
  3013. wpMedicineHtml += "</span>";
  3014. }
  3015. wpMedicineHtml += "</div>";
  3016. }
  3017. afterFitContent(contentId, wpMedicineHtml, titleId);
  3018. }
  3019. /**
  3020. * 构造门诊手术处方详情和模板预览方法
  3021. * @param jcjyPrescription
  3022. * @param contentId 内容ID
  3023. * @param titleId 标题ID
  3024. * @param checkBox 是否需要增加ckeckBox
  3025. */
  3026. function fitOpRecordContent(opRecordPrescription, contentId, titleId, checkBox) {
  3027. if (opRecordPrescription == null || opRecordPrescription.length == 0) {
  3028. $("#" + titleId).removeClass("in").addClass("hide");
  3029. $("#" + contentId).html("");
  3030. return;
  3031. }
  3032. var opHtml = "";
  3033. for (var i = 0; i < opRecordPrescription.length; i++) {
  3034. var opRecord = opRecordPrescription[i];
  3035. if (opRecord == null || opRecord.length == 0) {
  3036. continue;
  3037. }
  3038. if (checkBox) {
  3039. opHtml += "<div style='cursor: pointer;' data-id='" + opRecord.opCode + "'>";
  3040. opHtml += "<input type='checkbox'/>";
  3041. opHtml += "<span onclick='rowDataClick(this)'>";
  3042. } else {
  3043. opHtml += "<div>";
  3044. }
  3045. opHtml += opRecord.opName;
  3046. var urgentClinicFlag = opRecord.urgentClinicFlag;
  3047. if (urgentClinicFlag != undefined && urgentClinicFlag != null && urgentClinicFlag != "") {
  3048. opHtml += " 急诊标志:" + urgentClinicFlag;
  3049. }
  3050. var ssbc = opRecord.ssbc;
  3051. if (ssbc != undefined && ssbc != null && ssbc != "") {
  3052. opHtml += " 班次:" + ssbc;
  3053. }
  3054. var partName = opRecord.partName;
  3055. if (partName != undefined && partName != null && partName != "") {
  3056. opHtml += " 手术部位:" + partName;
  3057. }
  3058. var opScale = opRecord.opScale;
  3059. if (opScale != undefined && opScale != null && opScale != "") {
  3060. opHtml += " 手术等级:" + opScale;
  3061. }
  3062. var hocusCode = opRecord.hocusCode;
  3063. if (hocusCode != undefined && hocusCode != null && hocusCode != "") {
  3064. opHtml += " 麻醉方式:" + hocusCode;
  3065. }
  3066. var doctorZd = opRecord.doctorZd;
  3067. if (doctorZd != undefined && doctorZd != null && doctorZd != "") {
  3068. opHtml += " 主刀医生:" + doctorZd;
  3069. }
  3070. if (checkBox) {
  3071. opHtml += "</span>";
  3072. }
  3073. opHtml += "</div>";
  3074. }
  3075. afterFitContent(contentId, opHtml, titleId);
  3076. }
  3077. /**
  3078. * 处方详情构造方法后续事件,如所有的复选框默认勾选
  3079. * @param contentId
  3080. * @param zyReqHtml
  3081. * @param titleId
  3082. */
  3083. function afterFitContent(contentId, zyReqHtml, titleId) {
  3084. $("#" + contentId).html(zyReqHtml);
  3085. $("#" + titleId).removeClass("hide").addClass("in");
  3086. //是否默认勾选处方回调
  3087. var checkboxFlag = localStorage.getItem("checkboxFlag");
  3088. if (checkboxFlag != null && (checkboxFlag == "0" || checkboxFlag == 0)) {
  3089. $("#" + titleId).find("input[type='checkbox']").prop("checked", true);
  3090. $("#" + contentId).find("input[type='checkbox']").each(function (index, obj) {
  3091. $(obj).prop("checked", true);
  3092. });
  3093. } else {
  3094. $("#" + titleId).find("input[type='checkbox']").prop("checked", false);
  3095. }
  3096. }
  3097. /**
  3098. * 模板、详情页行数据点击事件
  3099. * @param obj
  3100. */
  3101. function rowDataClick(obj) {
  3102. $(obj).prev().click();
  3103. }
  3104. /**
  3105. * 模板、详情页治疗分类标题点击事件
  3106. * @param obj
  3107. * @param source 0 是标题的行点击事件 1 标题的checkbox本身触发
  3108. */
  3109. function titleClick(obj, source) {
  3110. var contentObj = $(obj).parent().next();
  3111. var check = $(obj).prop("checked");
  3112. if (source == 0) {
  3113. var prev = $(obj).prev();
  3114. check = !$(prev).prop("checked");
  3115. $(prev).prop("checked", check)
  3116. }
  3117. if (contentObj != null) {
  3118. $(contentObj).children().each(function (index, object) {
  3119. //以下两个方法,单独调用一个可能不行
  3120. $(object).find("input[type='checkbox']").prop("checked", check) //如果鼠标点击选中了,执行后可以取消选中
  3121. });
  3122. }
  3123. }
  3124. /**
  3125. * 处方明细复选框点击事件
  3126. * @param obj
  3127. * @param source 0 是标题的行点击事件 1 标题的checkbox本身触发
  3128. */
  3129. function prescriptionCfmxChosice(obj, source) {
  3130. var check = $(obj).prop("checked");
  3131. if (source == 0) {
  3132. var prev = $(obj).prev();
  3133. check = !$(prev).prop("checked");
  3134. //以下两个方法,单独调用一个可能不行
  3135. $(prev).prop("checked", check) //如果鼠标点击选中了,执行后可以取消选中
  3136. }
  3137. var conents = $(obj).parent().parent().nextAll();
  3138. if (conents == null || conents.length == 0) {
  3139. return;
  3140. }
  3141. $(conents).each(function (index, object) {
  3142. //以下两个方法,单独调用一个可能不行
  3143. $(object).find("div:eq(0)").find("input[type='checkbox']").prop("checked", check) //如果鼠标点击选中了,执行后可以取消选中
  3144. var contentObj = $(object).find("div:eq(1)");
  3145. if (contentObj != null) {
  3146. $(contentObj).children().each(function (contentIndex, contentObject) {
  3147. $(contentObject).find("input[type='checkbox']").prop("checked", check) //如果鼠标点击选中了,执行后可以取消选中
  3148. });
  3149. }
  3150. });
  3151. }
  3152. /**
  3153. * 简明病历标题点击事件
  3154. * @param obj
  3155. */
  3156. function prescriptionJmblChosice(obj) {
  3157. var prev = $(obj).prev();
  3158. var check = !$(prev).prop("checked");
  3159. $(prev).prop("checked", check); //如果鼠标点击选中了,执行后可以取消选中
  3160. }
  3161. /**
  3162. * 医疗范文详情预览
  3163. * @param id
  3164. */
  3165. function medicalModelModal(id) {
  3166. closeObjectWebui(false);
  3167. //是否默认勾选处方回调
  3168. var checkboxFlag = localStorage.getItem("checkboxFlag");
  3169. if (checkboxFlag != null && (checkboxFlag == "0" || checkboxFlag == 0)) {
  3170. $("#conciseRecordsYlfw").prop("checked", true);
  3171. $("#prescriptionSubsidiaryYlfw").prop("checked", true);
  3172. } else {
  3173. $("#conciseRecordsYlfw").prop("checked", false);
  3174. $("#prescriptionSubsidiaryYlfw").prop("checked", false);
  3175. }
  3176. $.ajax({
  3177. type: "GET",
  3178. url: '/thmz/getTemplateById?id=' + id,
  3179. contentType: "application/json;charset=UTF-8",
  3180. dataType: "json",
  3181. async: false,
  3182. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  3183. success: function (res) {
  3184. if (res == '401' || res == 401) {
  3185. window.location.href = '/thmz/login/view'
  3186. return;
  3187. }
  3188. if (res.code == 0) {
  3189. var jsonData = JSON.parse(res.data.templateData);
  3190. $("#vmedicalModelName").text(res.data.name);
  3191. $("#idTemplate").val(res.data.id);
  3192. $("#zsTemplate").html(jsonData.mzBlRecord.emrChiefComplaint);
  3193. $("#xbsTemplate").html(jsonData.mzBlRecord.emrHpi);
  3194. $("#tgjcTemplate").html(jsonData.mzBlRecord.emrPe);
  3195. $("#jkjyTemplate").html(jsonData.mzBlRecord.emrJkjy);
  3196. var icdText = res.data.icdText;
  3197. $("#zdTemplate").html("");
  3198. $("#xypyContent").html("");
  3199. $("#xymjContent").html("");
  3200. $("#xyjeContent").html("");
  3201. $("#yczlContent").html("");
  3202. $("#zyzlContent").html("");
  3203. $("#zlyjContent").html("");
  3204. if (icdText != null) {
  3205. var arr = icdText.split(",");
  3206. var html = "";
  3207. for (var i = 0; i < arr.length; i++) {
  3208. if (i == 0) {
  3209. html += ' <div class="tagZdy tagZdy-back">';
  3210. } else {
  3211. html += ' <div class="tagZdy tagZdy-back-green">';
  3212. }
  3213. html += arr[i];
  3214. html += '</div>';
  3215. }
  3216. $("#zdTemplate").html(html);
  3217. }
  3218. var prescriptionDetail = jsonData.mzBlRecord.prescriptionDetail;
  3219. if (prescriptionDetail != null && prescriptionDetail != "") {
  3220. prescriptionDetail = JSON.parse(prescriptionDetail);
  3221. var xyPrescription = prescriptionDetail.xyPrescription;
  3222. if (xyPrescription != null) {
  3223. fitxyContent(xyPrescription.pyPrescription, "xypyContent", "xypyTitle", true);
  3224. fitxyContent(xyPrescription.mjPrescription, "xymjContent", "xymjTitle", true);
  3225. fitxyContent(xyPrescription.jePrescription, "xyjeContent", "xyjeTitle", true);
  3226. fitxyContent(xyPrescription.ycPrescription, "yczlContent", "yczlTitle", true);
  3227. } else {
  3228. $("#xypyTitle").removeClass("in").addClass("hide");
  3229. $("#xypyContent").html("");
  3230. $("#xymjTitle").removeClass("in").addClass("hide");
  3231. $("#xymjContent").html("");
  3232. $("#xyjeTitle").removeClass("in").addClass("hide");
  3233. $("#xyjeContent").html("");
  3234. $("#yczlTitle").removeClass("in").addClass("hide");
  3235. $("#yczlContent").html("");
  3236. }
  3237. var zyPrescription = prescriptionDetail.zyPrescription;
  3238. if (zyPrescription != null) {
  3239. fitzyContent(zyPrescription, "zyzlContent", "zyzlTitle", true);
  3240. } else {
  3241. $("#zyzlTitle").removeClass("in").addClass("hide");
  3242. $("#zyzlContent").html("");
  3243. }
  3244. var jcjyPrescription = prescriptionDetail.jcjyPrescription;
  3245. if (jcjyPrescription != null) {
  3246. fitJcjyContent(jcjyPrescription, "jcjyContent", "jcjyTitle", true);
  3247. } else {
  3248. $("#jcjyTitle").removeClass("in").addClass("hide");
  3249. $("#jcjyContent").html("");
  3250. }
  3251. var zlPrescription = prescriptionDetail.zlPrescription;
  3252. if (zlPrescription != null) {
  3253. fitJcjyContent(zlPrescription, "zlContent", "zlTitle", true);
  3254. } else {
  3255. $("#zlTitle").removeClass("in").addClass("hide");
  3256. $("#zlContent").html("");
  3257. }
  3258. var zyReqPrescription = prescriptionDetail.zyReqPrescription;
  3259. if (zyReqPrescription != null) {
  3260. fitZyReqContent(zyReqPrescription, "zyReqContent", "zyReqTitle", true);
  3261. } else {
  3262. $("#zyReqTitle").removeClass("in").addClass("hide");
  3263. $("#zyReqContent").html("");
  3264. }
  3265. var opRecordPrescription = prescriptionDetail.opRecordPrescription;
  3266. if (opRecordPrescription != null) {
  3267. fitOpRecordContent(opRecordPrescription, "opRecordContent", "opRecordTitle", true);
  3268. } else {
  3269. $("#opRecordTitle").removeClass("in").addClass("hide");
  3270. $("#opRecordContent").html("");
  3271. }
  3272. } else {
  3273. $("#xypyTitle").removeClass("in").addClass("hide");
  3274. $("#xypyContent").html("");
  3275. $("#xymjTitle").removeClass("in").addClass("hide");
  3276. $("#xymjContent").html("");
  3277. $("#xyjeTitle").removeClass("in").addClass("hide");
  3278. $("#xyjeContent").html("");
  3279. $("#yczlTitle").removeClass("in").addClass("hide");
  3280. $("#yczlContent").html("");
  3281. $("#zyzlTitle").removeClass("in").addClass("hide");
  3282. $("#zyzlContent").html("");
  3283. $("#jcjyTitle").removeClass("in").addClass("hide");
  3284. $("#jcjyContent").html("");
  3285. $("#zlTitle").removeClass("in").addClass("hide");
  3286. $("#zlContent").html("");
  3287. $("#zyReqTitle").removeClass("in").addClass("hide");
  3288. $("#zyReqContent").html("");
  3289. }
  3290. } else {
  3291. errorMesage(res);
  3292. }
  3293. }
  3294. });
  3295. $("#medicalModelModal").modal();
  3296. }
  3297. /**
  3298. * 诊疗项目回写
  3299. * @param code
  3300. * @param mzChargeDetail
  3301. */
  3302. function callBackZlDetail(code, mzChargeDetail) {
  3303. //诊疗项目
  3304. $.ajax({
  3305. type: "GET",
  3306. url: '/thmz/getZdChargeItemByCode?code=' + code,
  3307. contentType: "application/json;charset=UTF-8",
  3308. dataType: "json",
  3309. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  3310. async: false,
  3311. success: function (res) {
  3312. if (res == '401' || res == 401) {
  3313. window.location.href = '/thmz/login/view'
  3314. return;
  3315. }
  3316. if (res.code == 0) {
  3317. //如果
  3318. if ($("#zlTab").find("li") == null || $("#zlTab").find("li").length == 0) {
  3319. initNavTabs(3, null, null);
  3320. }
  3321. $("#zlItem").val(res.data.name);
  3322. $("#zlItem").blur();
  3323. $("#descriptions").val(res.data.descriptions);
  3324. $("#zlItemPrice").val(res.data.chargeAmount);
  3325. $("#chargeUnit").val(res.data.chargeUnit);
  3326. $("#zl_current_code").val(res.data.code);
  3327. $("#zlRemark").val(mzChargeDetail.instructionText);
  3328. $("#dayZlNum").selectpicker('val', mzChargeDetail.orderDays);
  3329. $('#dayZlNum').selectpicker('refresh');
  3330. if(!stringIsBlank(mzChargeDetail.hospApprFlag)){
  3331. $("#zlHospApprFlag").selectpicker('val', mzChargeDetail.hospApprFlag);
  3332. $('#zlHospApprFlag').selectpicker('refresh');
  3333. }
  3334. $("#orderFrequencyZl").selectpicker('val', mzChargeDetail.frequency);
  3335. $('#orderFrequencyZl').selectpicker('refresh');
  3336. if (mzChargeDetail.execDept != null && mzChargeDetail.execDept != "") {
  3337. $("#zlExecUnit").selectpicker('val', mzChargeDetail.execDept);
  3338. $('#zlExecUnit').selectpicker('refresh');
  3339. }
  3340. $("#itemQuantity").val(mzChargeDetail.drugQuan);
  3341. $("#totalNumZl").val(mzChargeDetail.quantity);
  3342. saveZlItem(false);
  3343. } else {
  3344. errorMesage(res);
  3345. }
  3346. }
  3347. });
  3348. }
  3349. /**
  3350. * 处方模板回调和历史处方调用自动重置组号
  3351. * @param type
  3352. */
  3353. function resetNewGroupId(type) {
  3354. if (type == 1 || type == 2) {
  3355. var xyTabContents = $("#xyTabContent").find("div.tab-pane");
  3356. //西药设置
  3357. if (xyTabContents != null && xyTabContents.length > 0) {
  3358. groupIdMap = new MyMap();
  3359. gropuIdAndOrderNoMap = new MyMap();
  3360. var newGroupId = 1;
  3361. gropuIdAndOrderNoMap.put(1, 0);
  3362. var prevGroupId = null;
  3363. for (var i = 0; i < xyTabContents.length; i++) {
  3364. var formGroups = $(xyTabContents[i]).find("div.form-group");
  3365. if (formGroups != null && formGroups.length > 0) {
  3366. for (var j = 0; j < formGroups.length; j++) {
  3367. var tempGroupId = $(formGroups[j]).find("input.temporary_items_groupId").val();
  3368. if (prevGroupId != null && tempGroupId != prevGroupId) {
  3369. newGroupId++;
  3370. gropuIdAndOrderNoMap.put(newGroupId, i);
  3371. }
  3372. $(formGroups[j]).find("span.groupId").text(newGroupId);
  3373. $(formGroups[j]).find("input.temporary_items_groupId").val(newGroupId);
  3374. var map = groupIdMap.get(newGroupId + '');
  3375. if (map == null) {
  3376. map = new MyMap();
  3377. map.put("supplyType", $(formGroups[j]).find("input.temporary_items_supplyType").val());
  3378. map.put("orderFrequency", $(formGroups[j]).find("input.temporary_items_orderFrequency").val());
  3379. map.put("dayNum", $(formGroups[j]).find("input.temporary_items_dayNum").val());
  3380. groupIdMap.put(newGroupId + '', map);
  3381. }
  3382. if (prevGroupId == null || tempGroupId != prevGroupId) {
  3383. prevGroupId = tempGroupId;
  3384. }
  3385. }
  3386. }
  3387. }
  3388. resetGroupIdSelect();
  3389. }
  3390. }
  3391. }
  3392. /**
  3393. * 处方回写
  3394. * @param jsonData 处方数据
  3395. * @param type 回写类型 0 全部回写 1 医疗范文 2 就诊详情
  3396. */
  3397. function editPrescription(jsonData, type) {
  3398. orderNoAndTableIdMap = new MyMap();
  3399. tableIdAndOrderNoMap = new MyMap();
  3400. var firstOrNot = jsonData.firstOrNot;
  3401. var conciseRecordsFlag = false;
  3402. if (type == 1) {
  3403. conciseRecordsFlag = $("#conciseRecordsYlfw").prop("checked");
  3404. } else if (type == 2) {
  3405. conciseRecordsFlag = $("#conciseRecordsJzxq").prop("checked");
  3406. }
  3407. if (firstOrNot == 0) {
  3408. $("#first").next().click();
  3409. } else if (firstOrNot == 1) {
  3410. $("#not").next().click();
  3411. }
  3412. if (type == 0 || conciseRecordsFlag) {
  3413. $("#symptom").val(jsonData.mzBlRecord.emrChiefComplaint);
  3414. $("#emrHpi").val(jsonData.mzBlRecord.emrHpi);
  3415. $("#emrPs").val(jsonData.mzBlRecord.emrPs);
  3416. $("#personalHistory").val(jsonData.mzBlRecord.personalHistory);
  3417. $("#familyHistory").val(jsonData.mzBlRecord.familyHistory);
  3418. $("#fzZl").val(jsonData.mzBlRecord.fzZl);
  3419. $("#crbHistory").val(jsonData.mzBlRecord.crbHistory);
  3420. $("#obstericalHistory").val(jsonData.mzBlRecord.obstericalHistory);
  3421. if (jsonData.mzBlRecord.weight != null && jsonData.mzBlRecord.weight != 0) {
  3422. $("#weight").val(jsonData.mzBlRecord.weight);
  3423. } else {
  3424. $("#weight").val("");
  3425. }
  3426. if (jsonData.mzBlRecord.temperature != null && jsonData.mzBlRecord.temperature != 0) {
  3427. $("#temperature").val(jsonData.mzBlRecord.temperature);
  3428. } else {
  3429. $("#temperature").val("");
  3430. }
  3431. if (jsonData.mzBlRecord.sphygmus != null && jsonData.mzBlRecord.sphygmus != 0) {
  3432. $("#sphygmus").val(jsonData.mzBlRecord.sphygmus);
  3433. } else {
  3434. $("#sphygmus").val("");
  3435. }
  3436. if (jsonData.mzBlRecord.breathe != null && jsonData.mzBlRecord.breathe != 0) {
  3437. $("#breathe").val(jsonData.mzBlRecord.breathe);
  3438. } else {
  3439. $("#breathe").val("");
  3440. }
  3441. if (jsonData.mzBlRecord.pressureHigh != null && jsonData.mzBlRecord.pressureHigh != 0) {
  3442. $("#pressure_high").val(jsonData.mzBlRecord.pressureHigh);
  3443. } else {
  3444. $("#pressure_high").val("");
  3445. }
  3446. if (jsonData.mzBlRecord.pressureFloor != null && jsonData.mzBlRecord.pressureFloor != 0) {
  3447. $("#pressure_floor").val(jsonData.mzBlRecord.pressureFloor);
  3448. } else {
  3449. $("#pressure_floor").val("");
  3450. }
  3451. if (jsonData.mzBlRecord.pressureHighLeft != null && jsonData.mzBlRecord.pressureHighLeft != 0) {
  3452. $("#pressure_high_left").val(jsonData.mzBlRecord.pressureHighLeft);
  3453. } else {
  3454. $("#pressure_high_left").val("");
  3455. }
  3456. if (jsonData.mzBlRecord.pressureFloorLeft != null && jsonData.mzBlRecord.pressureFloorLeft != 0) {
  3457. $("#pressure_floor_left").val(jsonData.mzBlRecord.pressureFloorLeft);
  3458. } else {
  3459. $("#pressure_floor_left").val("");
  3460. }
  3461. $("#tentativeDiagnosis").val(jsonData.mzBlRecord.tentativeDiagnosis);
  3462. $("#otherCheck").val(jsonData.mzBlRecord.emrPe);
  3463. var icdCode = jsonData.icdCode;
  3464. if (icdCode != null && icdCode != "" && icdCode.length > 0) {
  3465. $.ajax({
  3466. type: "POST",
  3467. url: '/thmz/getZdIcdByCodes',
  3468. contentType: "application/json;charset=UTF-8",
  3469. dataType: "json",
  3470. async: false,
  3471. data: JSON.stringify({
  3472. "icdCode": icdCode
  3473. }),
  3474. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  3475. success: function (res) {
  3476. if (res == '401' || res == 401) {
  3477. window.location.href = '/thmz/login/view'
  3478. return;
  3479. }
  3480. if (res.code == 0) {
  3481. if (res.data != null && res.data.length > 0) {
  3482. for (var i = 0; i < res.data.length; i++) {
  3483. fitDiagnoseValue(res.data[i].name, res.data[i].code);
  3484. }
  3485. }
  3486. } else {
  3487. errorMesage(res);
  3488. }
  3489. }
  3490. });
  3491. }
  3492. $("#healthEducation").val(jsonData.mzBlRecord.emrJkjy);
  3493. if(!stringIsBlank(jsonData.tcmIcdCode)){
  3494. let tcmIcdCodes = jsonData.tcmIcdCode.split(",");
  3495. let tcmIcdTexts = jsonData.tcmIcdText.split(",");
  3496. for (let i = 0; i < tcmIcdCodes.length; i++) {
  3497. fitTcmDiagnoseValue(tcmIcdTexts[i],tcmIcdCodes[i])
  3498. }
  3499. }
  3500. }
  3501. if(jsonData.ghFeeFlag === '1'){
  3502. $("#ghFeeSelect").val('1')
  3503. $('#ghFeeSelect').selectpicker('refresh');
  3504. }
  3505. var patientAllergenInfoList = jsonData.patientAllergenInfoList;
  3506. if (patientAllergenInfoList != null && patientAllergenInfoList.length > 0) {
  3507. var zdAllergen = [];
  3508. var ypDitList = [];
  3509. var zdAllergenHtml = '';
  3510. var ypDitListHtml = '';
  3511. var zdAllergeCodes = null;
  3512. var zdAllergeTexts = null;
  3513. var ypDitListodes = null;
  3514. var ypDitListTexts = null;
  3515. for (var i = 0; i < patientAllergenInfoList.length; i++) {
  3516. var patientAllergenInfo = patientAllergenInfoList[i];
  3517. if (patientAllergenInfo.type == 0 || patientAllergenInfo.type == '0') {
  3518. zdAllergen[zdAllergen.length] = patientAllergenInfo.allergenCode;
  3519. zdAllergenHtml += '<option value="' + patientAllergenInfo.allergenCode + '">' + patientAllergenInfo.allergenName + '</option>';
  3520. if (zdAllergeCodes == null) {
  3521. zdAllergeCodes = patientAllergenInfo.allergenCode;
  3522. zdAllergeTexts = patientAllergenInfo.allergenName;
  3523. } else {
  3524. zdAllergeCodes += "," + patientAllergenInfo.allergenCode;
  3525. zdAllergeTexts += "," + patientAllergenInfo.allergenName;
  3526. }
  3527. } else if (patientAllergenInfo.type == 1 || patientAllergenInfo.type == '1') {
  3528. ypDitList[ypDitList.length] = patientAllergenInfo.allergenCode;
  3529. ypDitListHtml += '<option value="' + patientAllergenInfo.allergenCode + '">' + patientAllergenInfo.allergenName + '</option>';
  3530. if (zdAllergeCodes == null) {
  3531. ypDitListodes = patientAllergenInfo.allergenCode;
  3532. ypDitListTexts = patientAllergenInfo.allergenName;
  3533. } else {
  3534. ypDitListodes += "," + patientAllergenInfo.allergenCode;
  3535. ypDitListTexts += "," + patientAllergenInfo.allergenName;
  3536. }
  3537. }
  3538. }
  3539. $("#zdAllergen").empty();
  3540. $('#zdAllergen').append(zdAllergenHtml);
  3541. $('#zdAllergen').selectpicker('refresh');
  3542. $("#ypDitList").empty();
  3543. $('#ypDitList').append(ypDitListHtml);
  3544. $('#ypDitList').selectpicker('refresh');
  3545. $("#zdAllergen").selectpicker('val', zdAllergen);
  3546. $("#zdAllergen").selectpicker('refresh');
  3547. $("#ypDitList").selectpicker('val', ypDitList);
  3548. $("#ypDitList").selectpicker('refresh');
  3549. $("#zdAllergen").attr("selectedCodes", zdAllergeCodes);
  3550. $("#zdAllergen").attr("selectedTexts", zdAllergeTexts);
  3551. $("#ypDitList").attr("selectedCodes", ypDitListodes);
  3552. $("#ypDitList").attr("selectedTexts", ypDitListTexts);
  3553. }
  3554. //西药选中的数据组
  3555. var xyArrays = [];
  3556. //中药选中的数据组
  3557. var zyArrays = [];
  3558. //辅助检查、检验选中的数据组
  3559. var jcjyArrays = [];
  3560. //诊疗选中的数据组
  3561. var zlArrays = [];
  3562. //住院选中的数据组
  3563. var zyReqArrays = [];
  3564. //门诊手术选中的数据组
  3565. var opRecordArrays = [];
  3566. //外配药选中的数据组
  3567. var wpMedicinedArrays = [];
  3568. //组号与同组药数量的map
  3569. var groupOrderAndLengthMap = new MyMap();
  3570. //处方号与同处方号药数量的map
  3571. var orderNoAndLengthMap = new MyMap();
  3572. //住院回写
  3573. var zyReqCallBack = false;
  3574. if (type == 1) {
  3575. setCallBackArrays("xypyContent", xyArrays, groupOrderAndLengthMap, orderNoAndLengthMap);
  3576. setCallBackArrays("xymjContent", xyArrays, groupOrderAndLengthMap, orderNoAndLengthMap);
  3577. setCallBackArrays("xyjeContent", xyArrays, groupOrderAndLengthMap, orderNoAndLengthMap);
  3578. setCallBackArrays("yczlContent", xyArrays, groupOrderAndLengthMap, orderNoAndLengthMap);
  3579. setCallBackArrays("zyzlContent", zyArrays, null, null);
  3580. setCallBackArrays("jcjyContent", jcjyArrays, null, null);
  3581. setCallBackArrays("zlContent", zlArrays, null, null);
  3582. zyReqCallBack = $("#zyReqContent").find("input").prop("checked");
  3583. setCallBackArrays("opRecordContent", opRecordArrays, null, null);
  3584. setCallBackArrays("wpMedicineContent", wpMedicinedArrays, null, null);
  3585. } else if (type == 2) {
  3586. setCallBackArrays("prescriptionDetail_xypyContent", xyArrays, groupOrderAndLengthMap, orderNoAndLengthMap);
  3587. setCallBackArrays("prescriptionDetail_xymjContent", xyArrays, groupOrderAndLengthMap, orderNoAndLengthMap);
  3588. setCallBackArrays("prescriptionDetail_xyjeContent", xyArrays, groupOrderAndLengthMap, orderNoAndLengthMap);
  3589. setCallBackArrays("prescriptionDetail_yczlContent", xyArrays, groupOrderAndLengthMap, orderNoAndLengthMap);
  3590. setCallBackArrays("prescriptionDetail_zyzlContent", zyArrays, null, null);
  3591. setCallBackArrays("prescriptionDetail_jcjyContent", jcjyArrays, null, null);
  3592. setCallBackArrays("prescriptionDetail_zlContent", zlArrays, null, null);
  3593. zyReqCallBack = $("#prescriptionDetail_zyReqContent").find("input").prop("checked");
  3594. setCallBackArrays("prescriptionDetail_opRecordContent", opRecordArrays, null, null);
  3595. setCallBackArrays("prescriptionDetail_wpMedicineContent", wpMedicinedArrays, null, null);
  3596. } else if (type == 0) {
  3597. zyReqCallBack = true;
  3598. }
  3599. var mzChargeDetailList = jsonData.mzChargeDetailList;
  3600. var mzZyReq = jsonData.mzZyReq;
  3601. //中药的公共参数是否已经设置了
  3602. var hadSetZyFullParams = false;
  3603. //西药,成药,医材,麻精,中药,诊疗
  3604. if (mzChargeDetailList != null && mzChargeDetailList.length > 0) {
  3605. //当前实际回写的组号
  3606. var currentOrderNo = null;
  3607. //处方号与药品类型关系
  3608. var orderAndGroupNoMap = new MyMap();
  3609. // mzChargeDetailList.sort(function (a, b) {
  3610. // return a.groupNo - b.groupNo
  3611. // });
  3612. for (var i = 0; i < mzChargeDetailList.length; i++) {
  3613. var mzChargeDetail = mzChargeDetailList[i];
  3614. var groupNo = mzChargeDetail.groupNo;
  3615. var code = mzChargeDetail.chargeItemCode;
  3616. var serial = mzChargeDetail.serial;
  3617. if (groupNo == "00") {
  3618. if (type != 0 && !isInArray(code, zlArrays)) {
  3619. continue;
  3620. }
  3621. callBackZlDetail(code, mzChargeDetail);
  3622. } else if (groupNo == "71" || groupNo == "91" || groupNo == "111" || groupNo == "131") {
  3623. // 71 西成药 91 医材 111 精一 131 精二
  3624. var groupOrder = mzChargeDetail.groupOrder;
  3625. if (groupOrder == null || groupOrder == 'null' || groupOrder == "") {
  3626. groupOrder = 1;
  3627. }
  3628. var orderNo = mzChargeDetail.orderNo;
  3629. orderAndGroupNoMap.put(orderNo, groupNo);
  3630. if (type != 0 && !isInArray(code + "_" + serial + "_" + groupOrder + "_" + orderNo, xyArrays)) {
  3631. continue;
  3632. }
  3633. var lastGroupOrder = parseInt($("#groupId > option:last").val());
  3634. while (lastGroupOrder < groupOrder) {
  3635. appendGroupOrder();
  3636. lastGroupOrder = parseInt($("#groupId > option:last").val());
  3637. }
  3638. //appendGroupOrder()
  3639. $("#groupId").selectpicker('val', groupOrder);
  3640. $('#groupId').selectpicker('refresh');
  3641. if (type == 1 || type == 2) {
  3642. //模板和历史轨迹回调的时候,如果前一个处方不满5个,就将后面的处方的药品添加到上一个处方中,但如果同一组药不能全部添加到上一个处方,就不会追加到该处方中
  3643. var orderNoLength = orderNoAndLengthMap.get(orderNo);
  3644. if (currentOrderNo == null) {
  3645. currentOrderNo = orderNo;
  3646. } else if (orderAndGroupNoMap.get(currentOrderNo) != orderAndGroupNoMap.get(orderNo)) {
  3647. var currentGroupNos = $("#xyTabContent").find("input.current_groupNo");
  3648. //查询还没有满5个的处方页
  3649. var tempOrderNo = null;
  3650. for (var k = 0; k < currentGroupNos.length; k++) {
  3651. if ($(currentGroupNos[k]).val() == groupNo) {
  3652. var next = $(currentGroupNos[k]).next();
  3653. if ($(next).children().length < 4) {
  3654. var parentId = $(currentGroupNos[k]).parent().attr("id");
  3655. tempOrderNo = tableIdAndOrderNoMap.get(parentId);
  3656. }
  3657. }
  3658. }
  3659. currentOrderNo = tempOrderNo;
  3660. } else if (currentOrderNo != orderNo && orderNoLength < 5) {
  3661. var currentOrderNoLength = orderNoAndLengthMap.get(currentOrderNo);
  3662. var groupOrderLength = groupOrderAndLengthMap.get(groupOrder);
  3663. if (groupOrderLength + currentOrderNoLength <= 5) {
  3664. currentOrderNoLength = currentOrderNoLength + 1;
  3665. orderNoLength = orderNoLength - 1;
  3666. groupOrderLength = groupOrderLength - 1;
  3667. orderNoAndLengthMap.put(currentOrderNo, currentOrderNoLength);
  3668. orderNoAndLengthMap.put(orderNo, orderNoLength);
  3669. groupOrderAndLengthMap.put(groupOrder, groupOrderLength);
  3670. orderNo = currentOrderNo;
  3671. if (currentOrderNoLength == 5) {
  3672. var currentGroupNos = $("#xyTabContent").find("input.current_groupNo");
  3673. //查询还没有满5个的处方页,
  3674. var tempOrderNo = null;
  3675. for (var k = 0; k < currentGroupNos.length; k++) {
  3676. if ($(currentGroupNos[k]).val() == groupNo) {
  3677. var next = $(currentGroupNos[k]).next();
  3678. //这里判断是4,是因为已经把组号设置了,所以要减去1
  3679. if ($(next).children().length < 4) {
  3680. var parentId = $(currentGroupNos[k]).parent().attr("id");
  3681. tempOrderNo = tableIdAndOrderNoMap.get(parentId);
  3682. }
  3683. }
  3684. }
  3685. currentOrderNo = tempOrderNo;
  3686. }
  3687. } else {
  3688. currentOrderNo = orderNo;
  3689. }
  3690. }
  3691. }
  3692. checkYpInfo(code, serial, groupNo, false, orderNo, type);
  3693. // 给药方式 同组药品给药方式相同
  3694. $("#supplyType").selectpicker('val', mzChargeDetail.supplyCode);
  3695. $('#supplyType').selectpicker('refresh');
  3696. $("#drugWin").val(mzChargeDetail.drugQuan);
  3697. $("#drugWinUnit").selectpicker('val', mzChargeDetail.drugUnit);
  3698. $('#drugWinUnit').selectpicker('refresh');
  3699. //天数 同组药品天数相同
  3700. $("#dayNum").selectpicker('val', mzChargeDetail.orderDays);
  3701. $('#dayNum').selectpicker('refresh');
  3702. //频次编码 同组药品频次编码相同
  3703. $("#orderFrequency").selectpicker('val', mzChargeDetail.frequency);
  3704. $('#orderFrequency').selectpicker('refresh');
  3705. if (mzChargeDetail.tryFlag == 1 || mzChargeDetail.tryFlag == "1") {
  3706. $("#tryResult").selectpicker('val', 100);
  3707. $('#tryResult').selectpicker('refresh');
  3708. } else if (mzChargeDetail.tryResult != null && mzChargeDetail.tryResult != "null" && mzChargeDetail.tryResult != "") {
  3709. $("#tryResult").selectpicker('val', mzChargeDetail.tryResult);
  3710. $('#tryResult').selectpicker('refresh');
  3711. }
  3712. $("#gross").val(mzChargeDetail.quantity);
  3713. $("#totalRetprice").val(Multiply(mzChargeDetail.quantity, $("#packRetprice").val()));
  3714. $("#medicalAdvice").selectpicker('val', mzChargeDetail.instructionCode);
  3715. $('#medicalAdvice').selectpicker('refresh');
  3716. if(!stringIsBlank(mzChargeDetail.hospApprFlag)){
  3717. $("#xyHospApprFlag").selectpicker('val', mzChargeDetail.hospApprFlag);
  3718. $('#xyHospApprFlag').selectpicker('refresh');
  3719. }
  3720. saveWesternMedicineWithCheck(false, orderNo);
  3721. $("#western_medicine_button").click();
  3722. $("#xyTab").find("li:eq(0) a").off("click").click();
  3723. } else {
  3724. if (type != 0 && !isInArray(code + "_" + serial, zyArrays)) {
  3725. continue;
  3726. }
  3727. //中药与颗粒剂
  3728. checkZyInfo(code, serial, groupNo, false);
  3729. //类型
  3730. $("#zyClassType").selectpicker('val', groupNo);
  3731. $('#zyClassType').selectpicker('refresh');
  3732. $("#zy_drugWin").val(mzChargeDetail.quantity);
  3733. $("#zyInstruction").selectpicker('val', mzChargeDetail.instructionCode);
  3734. $('#zyInstruction').selectpicker('refresh');
  3735. if(!stringIsBlank(mzChargeDetail.hospApprFlag)){
  3736. $("#zyHospApprFlag").selectpicker('val', mzChargeDetail.hospApprFlag);
  3737. $('#zyHospApprFlag').selectpicker('refresh');
  3738. }
  3739. saveChineseMedicine(false);
  3740. if (!hadSetZyFullParams) {
  3741. hadSetZyFullParams = true;
  3742. $("input.zyfs").val(mzChargeDetail.drugWin);
  3743. // $("#zy_orderFrequency_1").selectpicker('val', mzChargeDetail.frequency);
  3744. // $('#zy_orderFrequency_1').selectpicker('refresh');
  3745. $("#useType_1").selectpicker('val', mzChargeDetail.cyFysm);
  3746. $('#useType_1').selectpicker('refresh');
  3747. $("#cyJssm").selectpicker('val', mzChargeDetail.cyJssm);
  3748. $('#cyJssm').selectpicker('refresh');
  3749. $("#cyJsl").val(mzChargeDetail.cyJsl);
  3750. $("#cyZql").val(mzChargeDetail.cyZql);
  3751. $("#cyFj").val(mzChargeDetail.cyFj);
  3752. $("#cyFfcs").val(mzChargeDetail.cyFfcs);
  3753. $("#cyMtjs").val(mzChargeDetail.cyMtjs);
  3754. $("#zy_supplyType_1").selectpicker('val', mzChargeDetail.cyDj);
  3755. $('#zy_supplyType_1').selectpicker('refresh');
  3756. }
  3757. $("#chinese_medicine_button").click();
  3758. }
  3759. }
  3760. }
  3761. //检验与检查
  3762. var mzYjReqList = jsonData.mzYjReqList;
  3763. if (mzYjReqList != null && mzYjReqList.length > 0) {
  3764. for (var i = 0; i < mzYjReqList.length; i++) {
  3765. var mzYjReq = mzYjReqList[i];
  3766. var code = mzYjReq.orderCode;
  3767. if (type != 0 && !isInArray(code, jcjyArrays)) {
  3768. continue;
  3769. }
  3770. var jcJyZltype = null;
  3771. if (mzYjReq.reqType == 2) {
  3772. jcJyZltype = 1;
  3773. $("#jyZdSample").selectpicker('val', mzYjReq.inspectStuff);
  3774. $('#jyZdSample').selectpicker('refresh');
  3775. } else if (mzYjReq.reqType == 3) {
  3776. jcJyZltype = 2;
  3777. $("#yshPart").selectpicker('val', mzYjReq.inspectPart);
  3778. $('#yshPart').selectpicker('refresh');
  3779. }
  3780. $("#jcJyZltype").val(jcJyZltype);
  3781. checkJcJyItemInfo(code, null, jcJyZltype, false);
  3782. $("#remark").val(mzYjReq.jyRemark);
  3783. if (mzYjReq.execDept != null && mzYjReq.execDept != "") {
  3784. $("#execUnit").selectpicker('val', mzYjReq.execDept);
  3785. $('#execUnit').selectpicker('refresh');
  3786. }
  3787. $("#jcJyItemChargeDetail").removeClass("hide").addClass("in");
  3788. saveJyJcItem(false);
  3789. $("#jcJyItemChargeDetail").removeClass("in").addClass("hide");
  3790. }
  3791. $("#yj_req_button").click();
  3792. }
  3793. //入院证
  3794. if (zyReqCallBack && mzZyReq != null && mzZyReq.reqDept != null && mzZyReq.reqDept != "") {
  3795. $("#inpatientWardBeHospitalized").selectpicker('val', mzZyReq.reqDept);
  3796. $('#inpatientWardBeHospitalized').selectpicker('refresh');
  3797. initSmallDeptByDept();
  3798. $("#admissStatus").selectpicker('val', mzZyReq.admissStatus);
  3799. $('#admissStatus').selectpicker('refresh');
  3800. $("#conditionCode").selectpicker('val', mzZyReq.conditionCode);
  3801. $('#conditionCode').selectpicker('refresh');
  3802. $("#routeOfAdmission").selectpicker('val', mzZyReq.routeOfAdmission);
  3803. $('#routeOfAdmission').selectpicker('refresh');
  3804. $("#contacterName").val(mzZyReq.contacterName);
  3805. $("#contacterRelationship").selectpicker('val', mzZyReq.contacterRelationship);
  3806. $('#contacterRelationship').selectpicker('refresh');
  3807. $("#contacterPhone").val(mzZyReq.contacterPhone);
  3808. $("#contacterAddress").val(mzZyReq.contacterAddress);
  3809. $("#deposit").val(mzZyReq.deposit);
  3810. setTimeout(function () {
  3811. $("#smallWardBeHospitalized").selectpicker('val', mzZyReq.smallDept);
  3812. $('#smallWardBeHospitalized').selectpicker('refresh');
  3813. saveZyReq(false);
  3814. }, 500);
  3815. $("#zy_req_button").click();
  3816. }
  3817. //门诊手术
  3818. var opRecordList = jsonData.opRecordList;
  3819. if (opRecordList != null && opRecordList.length > 0) {
  3820. for (var i = 0; i < opRecordList.length; i++) {
  3821. var opRecord = opRecordList[i];
  3822. var opCode = opRecord.opCode;
  3823. if (type != 0 && !isInArray(opCode, opRecordArrays)) {
  3824. continue;
  3825. }
  3826. var opNameHtml = '<option value="' + opRecord.opCode + '">' + opRecord.opName + '</option>';
  3827. $('#opName').html(opNameHtml);
  3828. $('#opName').selectpicker('refresh');
  3829. $('#opName').selectpicker('val', opRecord.opCode);
  3830. $('#opName').selectpicker('refresh');
  3831. $("#opTime").val(opRecord.opDatetimeStr);
  3832. $('#urgentClinicFlag').selectpicker('val', opRecord.urgentClinicFlag);
  3833. $('#urgentClinicFlag').selectpicker('refresh');
  3834. $('#ssbc').selectpicker('val', opRecord.ssbc);
  3835. $('#ssbc').selectpicker('refresh');
  3836. $('#partCode').selectpicker('val', opRecord.partCode);
  3837. $('#partCode').selectpicker('refresh');
  3838. $('#opScale').selectpicker('val', opRecord.opScale);
  3839. $('#opScale').selectpicker('refresh');
  3840. $('#hocusCode').selectpicker('val', opRecord.hocusCode);
  3841. $('#hocusCode').selectpicker('refresh');
  3842. $('#doctorZd').selectpicker('val', opRecord.doctorZd);
  3843. $('#doctorZd').selectpicker('refresh');
  3844. $("#opRecordRemark").val(opRecord.remark);
  3845. saveOpRecord(false);
  3846. }
  3847. $("#op_record_button").click();
  3848. }
  3849. //外配药
  3850. let rxDruginfoList = jsonData.rxDruginfoList;
  3851. if(rxDruginfoList != null && rxDruginfoList.length > 0){
  3852. for (let i = 0; i < rxDruginfoList.length; i++) {
  3853. let rxDruginfo = rxDruginfoList[i];
  3854. let medListCodg = rxDruginfo.medListCodg;
  3855. if (type != 0 && !isInArray(medListCodg, wpMedicinedArrays)) {
  3856. continue;
  3857. }
  3858. $("#wp_medicine_name").val(rxDruginfo.drugGenname)
  3859. $("#wp_medicine_current_code").val(rxDruginfo.medListCodg)
  3860. setSelectDefaultVal('rxItemTypeCode',rxDruginfo.rxItemTypeCode)
  3861. setSelectDefaultVal('medcWayCodg',rxDruginfo.medcWayCodg)
  3862. $("#medcDays").val(rxDruginfo.medcDays)
  3863. $("#sinDosunt").val(rxDruginfo.sinDosunt)
  3864. $("#sinDoscnt").val(rxDruginfo.sinDoscnt)
  3865. $("#drugDosform").val(rxDruginfo.drugDosform)
  3866. setSelectDefaultVal('usedFrquCodg',rxDruginfo.usedFrquCodg)
  3867. $("#drugDosunt").val(rxDruginfo.drugDosunt)
  3868. $("#drugCnt").val(rxDruginfo.drugCnt)
  3869. $("#drugSpec").val(rxDruginfo.drugSpec)
  3870. $("#wpHospApprFlag").val(rxDruginfo.hospApprFlag)
  3871. saveWpOrder(false)
  3872. }
  3873. $("#wp_order_button").click();
  3874. }
  3875. setTimeout(function () {
  3876. //设置总金额 计算金额的时候,可能处方还没有回写完
  3877. calculateTotalAmount(false);
  3878. }, 1000);
  3879. //清空映射map
  3880. orderNoAndTableIdMap = null;
  3881. tableIdAndOrderNoMap = null;
  3882. resetNewGroupId(type);
  3883. }
  3884. /**
  3885. * 根据勾选内容设置选中集合
  3886. * @param id 区域id
  3887. * @param arrays 集合
  3888. * @param groupOrderAndLengthMap 组号与同组药数量的map
  3889. * @param orderNoAndLengthMap 处方号与同处方号药数量的map
  3890. */
  3891. function setCallBackArrays(id, arrays, groupOrderAndLengthMap, orderNoAndLengthMap) {
  3892. var contents = $("#" + id).children();
  3893. if (contents == null || contents.length == 0) {
  3894. return;
  3895. }
  3896. $(contents).each(function (index, obj) {
  3897. var checked = $(obj).find("input").prop("checked");
  3898. var data_id = $(obj).attr("data-id");
  3899. if (checked && data_id != undefined && data_id != null && data_id != "null" && data_id != "") {
  3900. arrays[arrays.length] = data_id;
  3901. var dataArr = null;
  3902. //设置组号与同组药品数量关系
  3903. if (groupOrderAndLengthMap != null) {
  3904. dataArr = data_id.split("_");
  3905. if (dataArr != null && dataArr.length >= 3) {
  3906. var groupOrder = Number(dataArr[2]);
  3907. var length = groupOrderAndLengthMap.get(groupOrder);
  3908. if (length == null || length == "") {
  3909. length = 0;
  3910. }
  3911. length++;
  3912. groupOrderAndLengthMap.put(groupOrder, length);
  3913. }
  3914. }
  3915. //设置处方号与同处方号药品数量关系
  3916. if (orderNoAndLengthMap != null) {
  3917. if (dataArr == null) {
  3918. dataArr = data_id.split("_");
  3919. }
  3920. if (dataArr != null && dataArr.length >= 4) {
  3921. var orderNo = Number(dataArr[3]);
  3922. var length = orderNoAndLengthMap.get(orderNo);
  3923. if (length == null || length == "") {
  3924. length = 0;
  3925. }
  3926. length++;
  3927. orderNoAndLengthMap.put(orderNo, length);
  3928. }
  3929. }
  3930. }
  3931. });
  3932. }
  3933. /**
  3934. * 调用医疗范文
  3935. */
  3936. function callTemplate() {
  3937. clearWorkSpaceExcludeUser(2);
  3938. $.ajax({
  3939. type: "GET",
  3940. url: '/thmz/increaseNumber?id=' + $("#idTemplate").val(),
  3941. contentType: "application/json;charset=UTF-8",
  3942. dataType: "json",
  3943. async: false,
  3944. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  3945. success: function (res) {
  3946. if (res == '401' || res == 401) {
  3947. window.location.href = '/thmz/login/view'
  3948. return;
  3949. }
  3950. if (res.code == 0) {
  3951. var jsonData = JSON.parse(res.data.templateData);
  3952. editPrescription(jsonData, 1);
  3953. $("#templateId").val(res.data.id);
  3954. $("#templateName").val(res.data.name);
  3955. $("#templateKindType").selectpicker('val', res.data.templateKindType);
  3956. $("#templateKindType").selectpicker('refresh');
  3957. $("#templateType").selectpicker('val', res.data.templateType);
  3958. $("#templateType").selectpicker('refresh');
  3959. $('#operationType').selectpicker('val', 1);
  3960. $('#operationType').selectpicker('refresh');
  3961. $("#operationTypeDiv").removeClass("hide").addClass("in");
  3962. $("#medicalModelModal").modal("hide");
  3963. closePopover();
  3964. } else {
  3965. errorMesage(res);
  3966. }
  3967. }
  3968. });
  3969. }
  3970. /**
  3971. * 底层填充推荐方法
  3972. * @param paramsType
  3973. * @param appeal
  3974. * @param inputId
  3975. */
  3976. function extracted(paramsType, appeal, inputId) {
  3977. if (paramsType == 13) {
  3978. var contentArr = appeal.split(",");
  3979. if (contentArr != null && contentArr.length > 0) {
  3980. for (var i = 0; i < contentArr.length; i++) {
  3981. var content = contentArr[i].replace(")", "").replace("(", "-");
  3982. var diagnoseArr = content.split("-");
  3983. if (diagnoseArr == null || diagnoseArr.length == 0) {
  3984. continue;
  3985. }
  3986. fitDiagnoseValue(diagnoseArr[0], diagnoseArr[1]);
  3987. }
  3988. }
  3989. } else {
  3990. $("#" + inputId).val(appeal);
  3991. }
  3992. }
  3993. /**
  3994. * 填充推荐
  3995. * @param appeal
  3996. * @param paramsType
  3997. * @param id
  3998. */
  3999. function fitAppeal(appeal, paramsType, id) {
  4000. var inputId = "symptom";
  4001. var text = "主诉项已经录入,是否覆盖?";
  4002. if (paramsType == 5) {
  4003. inputId = "emrHpi";
  4004. text = "现病史项已经录入,是否覆盖?";
  4005. } else if (paramsType == 6) {
  4006. inputId = "emrPs";
  4007. text = "既往史项已经录入,是否覆盖?";
  4008. } else if (paramsType == 13) {
  4009. inputId = "diagnoseValue";
  4010. text = "诊断项已经录入,是否覆盖?";
  4011. }
  4012. var symptom = $("#" + inputId).val();
  4013. if (paramsType == 13 && (symptom == ",," || symptom == ",")) {
  4014. symptom = null;
  4015. }
  4016. if (symptom != null && symptom != "") {
  4017. $("#messageModal").modal();
  4018. $("#messageContent").html(text);
  4019. $("#messageButton").off("click").on("click", function (t) {
  4020. $("#messageModal").modal("hide");
  4021. if (paramsType == 13) {
  4022. $("#" + inputId).val(null);
  4023. $("#diagnoseTags").html(null);
  4024. }
  4025. extracted(paramsType, appeal, inputId);
  4026. });
  4027. $("#cancelButton").off("click");
  4028. } else {
  4029. extracted(paramsType, appeal, inputId);
  4030. }
  4031. $.ajax({
  4032. type: "GET",
  4033. url: '/thmz/increaseTcCommonParamsNumber?id=' + id,
  4034. contentType: "application/json;charset=UTF-8",
  4035. dataType: "json",
  4036. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4037. success: function (res) {
  4038. }
  4039. });
  4040. }
  4041. /**
  4042. * 初始嘱托下拉选
  4043. */
  4044. function initInstructionSelect() {
  4045. //西药医嘱
  4046. $.ajax({
  4047. type: "GET",
  4048. url: '/thmz/getMzZdInstructionByType?instructionType=0',
  4049. contentType: "application/json;charset=UTF-8",
  4050. dataType: "json",
  4051. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4052. success: function (res) {
  4053. if (res == '401' || res == 401) {
  4054. window.location.href = '/thmz/login/view'
  4055. return;
  4056. }
  4057. if (res.code == 0) {
  4058. res.data.forEach(function (item, index) {
  4059. var html = '<option value="' + item.code + '">' + item.instructionText + '</option>';
  4060. $('#medicalAdvice').append(html);
  4061. });
  4062. $('#medicalAdvice').selectpicker('refresh');
  4063. } else {
  4064. errorMesage(res);
  4065. }
  4066. }
  4067. });
  4068. //中药医嘱
  4069. $.ajax({
  4070. type: "GET",
  4071. url: '/thmz/getMzZdInstructionByType?instructionType=1',
  4072. contentType: "application/json;charset=UTF-8",
  4073. dataType: "json",
  4074. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4075. success: function (res) {
  4076. if (res == '401' || res == 401) {
  4077. window.location.href = '/thmz/login/view'
  4078. return;
  4079. }
  4080. if (res.code == 0) {
  4081. res.data.forEach(function (item, index) {
  4082. var html = '<option value="' + item.code + '">' + item.instructionText.trim() + '</option>';
  4083. $('#zyInstruction').append(html);
  4084. });
  4085. $('#zyInstruction').selectpicker('refresh');
  4086. } else {
  4087. errorMesage(res);
  4088. }
  4089. }
  4090. });
  4091. }
  4092. // /**
  4093. // * 设置下拉选的尺寸
  4094. // */
  4095. // function setSelectSize() {
  4096. // $(".selectpicker").selectpicker({
  4097. // dropuAuto: false,
  4098. // size: 10
  4099. // });
  4100. // }
  4101. /**
  4102. * 初始化下拉选
  4103. */
  4104. function initSelectWithParams() {
  4105. $(".selectpicker").selectpicker({
  4106. dropuAuto: false,
  4107. size: 10
  4108. });
  4109. //select 从后台加载数据,并保留之前选择的内容
  4110. dynamicSelectWithOri("editZd", '/thmz/getAllZdIcdCommonParams?commonParams=', false);
  4111. //中医诊断
  4112. dynamicSelectWithOri("editTcmZd", '/thmz/getAllTcmIcdCodeByParams?name=',false);
  4113. //手术名称下拉选实现
  4114. dynamicSelect("opName", '/thmz/getZdIcd9Cm3ListByCode?code=', false);
  4115. //手术部位
  4116. dynamicSelect("partCode", '/thmz/getAllOpZdPartNewByCode?code=', true);
  4117. //手术等级
  4118. dynamicSelect("opScale", '/thmz/getAllOpZdScaleByCode?code=', true);
  4119. //麻醉方式
  4120. dynamicSelect("hocusCode", '/thmz/getAllZdAnaesthesiaByCode?code=', true);
  4121. //主刀医生
  4122. dynamicSelect("doctorZd", '/thmz/getEmployeeByCommon?code=', true);
  4123. //过敏源
  4124. dynamicSelectWithOri("zdAllergen", '/thmz/getZdAllergenListByCode?code=', false);
  4125. //过敏源
  4126. dynamicSelectWithOri("editZdAllergen", '/thmz/getZdAllergenListByCode?code=', false);
  4127. //药品列表
  4128. dynamicSelectWithOri("ypDitList", '/thmz/getYpZdDictListByCode?code=', false);
  4129. //药品列表
  4130. dynamicSelectWithOri("editYpDitList", '/thmz/getYpZdDictListByCode?code=', false);
  4131. }
  4132. /**
  4133. * 初始化性别下拉选
  4134. */
  4135. function initGenderSelect() {
  4136. var gender = '<option value="1">男</option><option value="2">女</option><option value="0">未知</option>';
  4137. $('#rapidAcceptsUserGender').html(gender);
  4138. $('#rapidAcceptsUserGender').selectpicker('refresh');
  4139. $('#editUserGender').html(gender);
  4140. $('#editUserGender').selectpicker('refresh');
  4141. $('#crbMainCardGender').html(gender);
  4142. $('#crbMainCardGender').selectpicker('refresh');
  4143. //医疗范文状态
  4144. var templateStatus = '<option value="0">启用</option><option value="1">停用</option>';
  4145. $('#templateStatus').html(templateStatus);
  4146. $('#templateStatus').selectpicker('refresh');
  4147. //医疗范文操作类型
  4148. var operationType = '<option value="0">新增</option><option value="1">修改</option>';
  4149. $('#operationType').html(operationType);
  4150. $('#operationType').selectpicker('refresh');
  4151. //入院病情
  4152. var conditionCode = '<option value="1">有</option><option value="2">临床未确定</option><option value="3">情况不明</option><option value="4">无</option>';
  4153. $('#conditionCode').html(conditionCode);
  4154. $('#conditionCode').selectpicker('refresh');
  4155. //入院途径
  4156. initRouteOfAdmission()
  4157. // 初始化收取挂号费默认值
  4158. initGhFeeSelect()
  4159. //就诊人群类型
  4160. var mdtrtGrpType = '<option value="-1">无</option><option value="1">新冠肺炎确诊患者</option><option value="2">其他国家突发公共事件</option><option value="3">新冠肺炎疑似患者</option><option value="4">无症状感染者</option>';
  4161. $('#mdtrtGrpType').html(mdtrtGrpType);
  4162. $('#mdtrtGrpType').selectpicker('refresh');
  4163. //外伤标志
  4164. var trumFlag = '<option value="0">否</option><option value="1">是</option>';
  4165. $('#trumFlag').html(trumFlag);
  4166. $('#trumFlag').selectpicker('refresh');
  4167. //涉及第三方标志
  4168. var relTtpFlag = '<option value="0">否</option><option value="1">是</option>';
  4169. $('#relTtpFlag').html(relTtpFlag);
  4170. $('#relTtpFlag').selectpicker('refresh');
  4171. //门诊急诊转诊标志
  4172. var otpErReflFlag = '<option value="-1">无</option><option value="1">急诊</option><option value="2">转诊</option><option value="3">转诊合并急诊</option>';
  4173. $('#otpErReflFlag').html(otpErReflFlag);
  4174. $('#otpErReflFlag').selectpicker('refresh');
  4175. }
  4176. /**
  4177. * 初始化中药类型下拉选
  4178. */
  4179. function initZyClassTypeSelect() {
  4180. // let html = '<option selected="selected" value="81">普通</option><option value="83">颗粒剂</option>';
  4181. // $('#zyClassType').html(html);
  4182. // $('#zyClassType').selectpicker('refresh');
  4183. getAjaxRequst("/thmz/selectYfAllByTime",{},true,function (res) {
  4184. let html = '';
  4185. $.each(res.data, function (commentIndex, comment) {
  4186. if(comment.mzFlag ==='1' && (comment.zcyFlag==='1' || comment.klFlag==='1')){
  4187. html += '<option value="' + comment.groupNo + '">' + comment.groupName + '</option>';
  4188. }
  4189. });
  4190. $('#zyClassType').html(html);
  4191. $('#zyClassType').selectpicker('refresh');
  4192. })
  4193. }
  4194. /**
  4195. * 初始化皮试结果下拉选
  4196. * @param categoriesFlag 0 口服 2 注射针剂
  4197. */
  4198. function initTryResultSelect(categoriesFlag) {
  4199. var tryResult = '';
  4200. if (categoriesFlag == 2 || categoriesFlag == "2") {
  4201. tryResult += '<option value="100">皮试</option>';
  4202. }
  4203. tryResult += '<option value="0">阴性</option><option value="3">免试</option>';
  4204. //var tryResult = '<option value="100">皮试</option><option value="0">阴性</option><option value="3">免试</option>';
  4205. $('#tryResult').html(tryResult);
  4206. $('#tryResult').selectpicker('refresh');
  4207. //口服药选择皮试结果
  4208. $("#tryResult").parent().parent().parent().removeClass("hide").addClass("in");
  4209. }
  4210. /**
  4211. * 初始化病人身份类别下拉选
  4212. */
  4213. function initResponceTypeSelect() {
  4214. $.ajax({
  4215. type: "GET",
  4216. url: '/thmz/getMzResponceType',
  4217. contentType: "application/json;charset=UTF-8",
  4218. dataType: "json",
  4219. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4220. success: function (res) {
  4221. if (res == '401' || res == 401) {
  4222. window.location.href = '/thmz/login/view'
  4223. return;
  4224. }
  4225. if (res.code == 0) {
  4226. res.data.forEach(function (item, index) {
  4227. var html = '<option value="' + item.code + '">' + item.name + '</option>';
  4228. $('#patientsNature').append(html);
  4229. $('#editUserPatientsNature').append(html);
  4230. $('#crbMainCardPatientsNature').append(html);
  4231. // $('#responeTypeBeHospitalized').append(html);
  4232. });
  4233. $('#patientsNature').selectpicker('refresh');
  4234. $('#editUserPatientsNature').selectpicker('refresh');
  4235. $('#crbMainCardPatientsNature').selectpicker('refresh');
  4236. } else {
  4237. errorMesage(res);
  4238. }
  4239. }
  4240. });
  4241. }
  4242. /**
  4243. * 所有的入院状态
  4244. */
  4245. function iniAdmissStatus() {
  4246. $.ajax({
  4247. type: "GET",
  4248. url: '/thmz/getAdmissStatus',
  4249. dataType: "json",
  4250. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4251. success: function (res) {
  4252. if (res == '401' || res == 401) {
  4253. window.location.href = '/thmz/login/view'
  4254. return;
  4255. }
  4256. var html = '';
  4257. $.each(res.data, function (commentIndex, comment) {
  4258. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  4259. });
  4260. $('#admissStatus').empty();
  4261. $('#admissStatus').html(html);
  4262. $('#admissStatus').selectpicker('destroy').selectpicker('refresh');
  4263. }
  4264. });
  4265. }
  4266. /**
  4267. * 初始化收取挂号费
  4268. */
  4269. function initGhFeeSelect() {
  4270. getAjaxRequst("/thmz/getGhFeeValue",{},true,function (res) {
  4271. $("#ghFeeSelect").val(res.data)
  4272. $('#ghFeeSelect').selectpicker('refresh');
  4273. })
  4274. }
  4275. /**
  4276. * 初始化入院途径
  4277. */
  4278. function initRouteOfAdmission() {
  4279. getAjaxRequst("/thmz/queryRouteOfAdmission",{},true,function (res) {
  4280. if (res == '401' || res == 401) {
  4281. window.location.href = '/thmz/login/view'
  4282. return;
  4283. }
  4284. var html = '';
  4285. $.each(res.data, function (commentIndex, comment) {
  4286. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  4287. });
  4288. $('#routeOfAdmission').empty();
  4289. $('#routeOfAdmission').html(html);
  4290. $('#routeOfAdmission').selectpicker('destroy').selectpicker('refresh');
  4291. })
  4292. }
  4293. /**
  4294. * 入院登记的病区列表
  4295. */
  4296. function initListDeptSelect() {
  4297. //科室列表
  4298. $.ajax({
  4299. type: "GET",
  4300. url: '/thmz/allInpatientWard',
  4301. dataType: "json",
  4302. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4303. success: function (data) {
  4304. if (data == '401' || data == 401) {
  4305. window.location.href = '/thmz/login/view'
  4306. return;
  4307. }
  4308. var html = '';
  4309. $.each(data.data, function (commentIndex, comment) {
  4310. html += '<option value="' + comment.code + '">' + comment.name + '(' + comment.pyCode + ')</option>';
  4311. });
  4312. $('#inpatientWardBeHospitalized').empty();
  4313. $('#inpatientWardBeHospitalized').html(html);
  4314. $('#inpatientWardBeHospitalized').selectpicker('refresh');
  4315. initSmallDeptByDept();
  4316. }
  4317. });
  4318. }
  4319. /**
  4320. * 关系列表初始化
  4321. */
  4322. function initRelationSelect() {
  4323. //医生列表
  4324. $.ajax({
  4325. type: "GET",
  4326. url: '/thmz/getRelation',
  4327. dataType: "json",
  4328. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4329. success: function (res) {
  4330. if (res == '401' || res == 401) {
  4331. window.location.href = '/thmz/login/view'
  4332. return;
  4333. }
  4334. var html = '';
  4335. $.each(res.data, function (commentIndex, comment) {
  4336. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  4337. });
  4338. $('#contacterRelationship').empty();
  4339. $('#contacterRelationship').html(html);
  4340. $('#contacterRelationship').selectpicker('destroy').selectpicker('refresh');
  4341. }
  4342. });
  4343. }
  4344. /**
  4345. * 小科室列表
  4346. */
  4347. function initSmallDeptByDept() {
  4348. let code = escape($('#inpatientWardBeHospitalized').val()).replace(/\+/g, '%2B');
  4349. //小科室列表
  4350. $.ajax({
  4351. type: "GET",
  4352. url: '/thmz/getSmallDeptByDept?code=' + code,
  4353. dataType: "json",
  4354. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4355. success: function (res) {
  4356. if (res == '401' || res == 401) {
  4357. window.location.href = '/thmz/login/view'
  4358. return;
  4359. }
  4360. var html = '';
  4361. $.each(res.data, function (commentIndex, comment) {
  4362. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  4363. });
  4364. $('#smallWardBeHospitalized').empty();
  4365. $('#smallWardBeHospitalized').html(html);
  4366. $('#smallWardBeHospitalized').selectpicker('destroy').selectpicker('refresh');
  4367. }
  4368. });
  4369. //病床数
  4370. $.ajax({
  4371. type: "GET",
  4372. url: '/thmz/getBedStatusNumByDept?code=' + code,
  4373. dataType: "json",
  4374. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4375. success: function (res) {
  4376. if (res == '401' || res == 401) {
  4377. window.location.href = '/thmz/login/view'
  4378. return;
  4379. }
  4380. if (res.code == 0) {
  4381. var data = res.data;
  4382. if (data == null) {
  4383. $("#totalBedNum").val(0);
  4384. $("#freeBedNum").val(0);
  4385. $("#occupationBedNum").val(0);
  4386. } else {
  4387. $("#totalBedNum").val(data.total);
  4388. $("#freeBedNum").val(data.free);
  4389. $("#occupationBedNum").val(data.occupation);
  4390. }
  4391. } else {
  4392. errorMesage(res);
  4393. }
  4394. }
  4395. });
  4396. }
  4397. /**
  4398. * 初始化门诊统筹下拉选
  4399. */
  4400. function initMztcSelect() {
  4401. var selectHtml = '<option value="0">否</option><option value="1">是</option>';
  4402. $('#zgmztczf').html(selectHtml);
  4403. $('#zgmztczf').selectpicker('refresh');
  4404. var gzZfSelectHtml = '<option value="0">否</option><option value="1">使用个账</option><option value="2">使用共济账户</option>';
  4405. $('#grzhzf').html(gzZfSelectHtml);
  4406. $('#grzhzf').selectpicker('refresh');
  4407. }
  4408. /**
  4409. * 初始化手术下拉选
  4410. */
  4411. function initMzssSelect() {
  4412. var selectHtml = '<option value="0">否</option><option value="1">是</option>';
  4413. $('#urgentClinicFlag').html(selectHtml);
  4414. $('#urgentClinicFlag').selectpicker('refresh');
  4415. $('#urgentClinicFlag').selectpicker('val', "0");
  4416. $('#urgentClinicFlag').selectpicker('refresh');
  4417. var bcHtml = '<option value="1">正常</option><option value="2">加班</option>';
  4418. $('#ssbc').html(bcHtml);
  4419. $('#ssbc').selectpicker('refresh');
  4420. $('#ssbc').selectpicker('val', "1");
  4421. $('#ssbc').selectpicker('refresh');
  4422. }
  4423. /**
  4424. * 初始化医疗范文范围下拉选
  4425. * @param templateTypeId
  4426. */
  4427. function initTemplateTypeSelect(templateTypeId) {
  4428. $.ajax({
  4429. type: "GET",
  4430. url: '/thmz/getTemplateTypes',
  4431. contentType: "application/json;charset=UTF-8",
  4432. dataType: "json",
  4433. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4434. success: function (res) {
  4435. if (res == '401' || res == 401) {
  4436. window.location.href = '/thmz/login/view'
  4437. return;
  4438. }
  4439. if (res.code == 0) {
  4440. res.data.forEach(function (item) {
  4441. var html = '<option value="' + item.code + '">' + item.name + '</option>';
  4442. $('#' + templateTypeId).append(html);
  4443. });
  4444. $('#' + templateTypeId).selectpicker('refresh');
  4445. if(templateTypeId =='templateTypeForm'){
  4446. $('#'+templateTypeId).selectpicker('val', "0");
  4447. $('#'+templateTypeId).selectpicker('refresh');
  4448. fitTemplateData()
  4449. }
  4450. } else {
  4451. errorMesage(res);
  4452. }
  4453. }
  4454. });
  4455. }
  4456. /**
  4457. * 初始化医疗范文类型下拉选
  4458. * @param templateKindTypeId
  4459. */
  4460. function initTemplateKindTypeSelect(templateKindTypeId) {
  4461. $.ajax({
  4462. type: "GET",
  4463. url: '/thmz/getTemplateKindTypes',
  4464. contentType: "application/json;charset=UTF-8",
  4465. dataType: "json",
  4466. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4467. success: function (res) {
  4468. if (res == '401' || res == 401) {
  4469. window.location.href = '/thmz/login/view'
  4470. return;
  4471. }
  4472. if (res.code == 0) {
  4473. res.data.forEach(function (item) {
  4474. var html = '<option value="' + item.code + '">' + item.name + '</option>';
  4475. $('#' + templateKindTypeId).append(html);
  4476. });
  4477. $('#' + templateKindTypeId).selectpicker('refresh');
  4478. $('#' + templateKindTypeId).selectpicker({
  4479. dropuAuto: false,
  4480. size: 5
  4481. });
  4482. } else {
  4483. errorMesage(res);
  4484. }
  4485. }
  4486. });
  4487. }
  4488. /**
  4489. * 初始频次下拉选
  4490. * @param id
  4491. * @param async 是否是异步 true 异步 false 同步
  4492. */
  4493. function initOrderFrequencys(id, async) {
  4494. $.ajax({
  4495. type: "GET",
  4496. url: '/thmz/getXyOrderFrequencys',
  4497. dataType: "json",
  4498. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4499. async: async,
  4500. success: function (res) {
  4501. if (res == '401' || res == 401) {
  4502. window.location.href = '/thmz/login/view'
  4503. return;
  4504. }
  4505. var html = '';
  4506. $.each(res.data, function (commentIndex, comment) {
  4507. html += '<option value="' + comment.code + '" desc="' + comment.times + '">' + comment.name + '(' + comment.code + ')' + '</option>';
  4508. });
  4509. $('#' + id).empty();
  4510. $('#' + id).html(html);
  4511. $('#' + id).selectpicker('refresh');
  4512. }
  4513. });
  4514. }
  4515. /**
  4516. * 初始中药频次下拉选
  4517. * @param id
  4518. * @param async 是否是异步 true 异步 false 同步
  4519. */
  4520. function initZyOrderFrequencys(id, async) {
  4521. $.ajax({
  4522. type: "GET",
  4523. url: '/thmz/getZyOrderFrequencys',
  4524. dataType: "json",
  4525. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4526. async: async,
  4527. success: function (res) {
  4528. if (res == '401' || res == 401) {
  4529. window.location.href = '/thmz/login/view'
  4530. return;
  4531. }
  4532. var html = '';
  4533. $.each(res.data, function (commentIndex, comment) {
  4534. html += '<option value="' + comment.code + '" desc="' + comment.times + '">' + comment.name + '(' + comment.code + ')' + '</option>';
  4535. });
  4536. $('#' + id).empty();
  4537. $('#' + id).html(html);
  4538. $('#' + id).selectpicker('refresh');
  4539. }
  4540. });
  4541. }
  4542. /**
  4543. * 初始中药服用说明
  4544. */
  4545. function initAllMzYshZdFysm() {
  4546. $.ajax({
  4547. type: "GET",
  4548. url: '/thmz/getAllMzYshZdFysm',
  4549. dataType: "json",
  4550. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4551. async: false,
  4552. success: function (res) {
  4553. if (res == '401' || res == 401) {
  4554. window.location.href = '/thmz/login/view'
  4555. return;
  4556. }
  4557. var html = '';
  4558. $.each(res.data, function (commentIndex, comment) {
  4559. if (comment.name.indexOf(",") < 0) {
  4560. //过滤组合的用法
  4561. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  4562. }
  4563. });
  4564. $('.useType').empty();
  4565. $('.useType').html(html);
  4566. $('.useType').selectpicker('refresh');
  4567. $('.useType').selectpicker('val', "2");
  4568. $('.useType').selectpicker('refresh');
  4569. }
  4570. });
  4571. }
  4572. /**
  4573. * 初始用药方式下拉选
  4574. */
  4575. function initSupplyTypes() {
  4576. $.ajax({
  4577. type: "GET",
  4578. url: '/thmz/getSupplyTypes',
  4579. dataType: "json",
  4580. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4581. success: function (res) {
  4582. if (res == '401' || res == 401) {
  4583. window.location.href = '/thmz/login/view'
  4584. return;
  4585. }
  4586. var html = '';
  4587. $.each(res.data, function (commentIndex, comment) {
  4588. if (comment.supplyOcc === "71") {
  4589. html += '<option value="' + comment.supplyCode + '">' + comment.supplyName + '[' + comment.pyCode + ']' + '</option>';
  4590. }
  4591. });
  4592. $('#supplyType').empty();
  4593. $('#supplyType').html(html);
  4594. $('#supplyType').selectpicker('refresh');
  4595. }
  4596. });
  4597. }
  4598. /**
  4599. * 初始化外配药剂型
  4600. */
  4601. function initDrugDosform() {
  4602. getAjaxRequst("/thmz/wpMzPrescription/queryYpZdDosage",{},true ,function (res) {
  4603. var html = '';
  4604. $.each(res.data, function (commentIndex, comment) {
  4605. html += '<option value="' + comment.name + '">' + comment.name + '</option>';
  4606. });
  4607. $('#drugDosform').html(html);
  4608. $('#drugDosform').selectpicker('refresh');
  4609. })
  4610. }
  4611. /**
  4612. * 初始化外配处方字典
  4613. */
  4614. function initZdRxAll(label,id) {
  4615. getAjaxRequst("/thmz/wpMzPrescription/queryZdRxAllByLabel",{label:label},true ,function (res) {
  4616. var html = '';
  4617. $.each(res.data, function (commentIndex, comment) {
  4618. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  4619. });
  4620. $('#'+id).html(html);
  4621. $('#'+id).selectpicker('refresh');
  4622. })
  4623. }
  4624. /**
  4625. * 初始煎药方式下拉选
  4626. * @param async 是否是异步 true 异步 false 同步
  4627. */
  4628. function initZySupplyTypes(id, async) {
  4629. $.ajax({
  4630. type: "GET",
  4631. url: '/thmz/getSupplyTypes',
  4632. dataType: "json",
  4633. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4634. async: async,
  4635. success: function (res) {
  4636. if (res == '401' || res == 401) {
  4637. window.location.href = '/thmz/login/view'
  4638. return;
  4639. }
  4640. var html = '';
  4641. $.each(res.data, function (commentIndex, comment) {
  4642. if (comment.supplyOcc === "81") {
  4643. // html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  4644. html += '<option value="' + comment.supplyCode + '">' + comment.supplyName + '[' + comment.pyCode + ']' + '</option>';
  4645. }
  4646. });
  4647. $('#' + id).empty();
  4648. $('#' + id).html(html);
  4649. $('#' + id).selectpicker('refresh');
  4650. $('#' + id).selectpicker({
  4651. dropuAuto: false,
  4652. size: 10
  4653. });
  4654. }
  4655. });
  4656. }
  4657. /**
  4658. * 初始查检查部位
  4659. */
  4660. function initYshPart() {
  4661. $.ajax({
  4662. type: "GET",
  4663. url: '/thmz/getYshPart',
  4664. dataType: "json",
  4665. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4666. success: function (res) {
  4667. if (res == '401' || res == 401) {
  4668. window.location.href = '/thmz/login/view'
  4669. return;
  4670. }
  4671. var html = '';
  4672. $.each(res.data, function (commentIndex, comment) {
  4673. html += '<option value="' + comment.code + '">' + comment.name + '(' + comment.pyCode + ')' + '</option>';
  4674. });
  4675. $('#yshPart').empty();
  4676. $('#yshPart').html(html);
  4677. $('#yshPart').selectpicker('refresh');
  4678. $('#yshPart').selectpicker({
  4679. dropuAuto: false,
  4680. size: 10
  4681. });
  4682. }
  4683. });
  4684. }
  4685. /**
  4686. * 初始化验物下拉选
  4687. */
  4688. function initJyZdSample() {
  4689. $.ajax({
  4690. type: "GET",
  4691. url: '/thmz/getJyZdSample',
  4692. dataType: "json",
  4693. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4694. success: function (res) {
  4695. if (res == '401' || res == 401) {
  4696. window.location.href = '/thmz/login/view'
  4697. return;
  4698. }
  4699. var html = '';
  4700. $.each(res.data, function (commentIndex, comment) {
  4701. html += '<option value="' + comment.code + '">' + comment.name + '(' + comment.pyCode + ')' + '</option>';
  4702. });
  4703. $('#jyZdSample').empty();
  4704. $('#jyZdSample').html(html);
  4705. $('#jyZdSample').selectpicker('refresh');
  4706. $('#jyZdSample').selectpicker({
  4707. dropuAuto: false,
  4708. size: 10
  4709. });
  4710. }
  4711. });
  4712. }
  4713. /**
  4714. * 初始化当前医生说书科室
  4715. */
  4716. function initClinicDeptNo() {
  4717. $.ajax({
  4718. type: "GET",
  4719. url: '/thmz/getUnitCodeByCurrentUser',
  4720. dataType: "json",
  4721. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  4722. success: function (res) {
  4723. if (res == '401' || res == 401) {
  4724. window.location.href = '/thmz/login/view'
  4725. return;
  4726. }
  4727. var html = '';
  4728. $.each(res.data, function (commentIndex, comment) {
  4729. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  4730. });
  4731. $('#clinicDeptNo').empty();
  4732. $('#clinicDeptNo').html(html);
  4733. $('#clinicDeptNo').selectpicker('refresh');
  4734. var userIdCode = localStorage.getItem("userIdCode");
  4735. var deptNo = localStorage.getItem(userIdCode);
  4736. if (deptNo != null && deptNo != "") {
  4737. $('#clinicDeptNo').selectpicker('val', deptNo);
  4738. $('#clinicDeptNo').selectpicker('refresh');
  4739. }
  4740. }
  4741. });
  4742. }
  4743. /**
  4744. * 保存当前药品到右边处方区域
  4745. * @param index 0 西药 1中药 2 诊疗和社备
  4746. */
  4747. function saveMedicine(index) {
  4748. if (index == 0) {
  4749. saveWesternMedicineWithCheck(true, null);
  4750. } else if (index == 1) {
  4751. saveChineseMedicine(true);
  4752. }
  4753. }
  4754. /**
  4755. * 保存当前药品到右边处方区域 西药
  4756. * calculateTotalAmountFlag 是否计算总金额 回写的时候一次计算
  4757. * orderNoParmams
  4758. */
  4759. function saveWesternMedicineWithCheck(calculateTotalAmountFlag, orderNoParmams) {
  4760. //是新增药品还是编辑 true 修改 默认false
  4761. var updateFlag = $("#western_medicine_update_flag").val();
  4762. if (updateFlag == "true" || updateFlag == true) {
  4763. saveWesternMedicine(calculateTotalAmountFlag);
  4764. } else {
  4765. //当前药房编码
  4766. var currentGroupNo = $("#current_groupNo").val();
  4767. if (currentGroupNo == "") {
  4768. errorMesageSimaple("您未选择任何药品");
  4769. return;
  4770. }
  4771. if ($("#xyTab").find("li") == null || $("#xyTab").find("li").length == 0) {
  4772. initNavTabs(0, currentGroupNo, orderNoParmams);
  4773. }
  4774. var tableId = $("#xyTab li.active").find("a").attr("href");
  4775. var childrens = $(tableId).find("div:eq(0)").children().length;
  4776. var thisGroupNo = $(tableId).find("input.current_groupNo").val();
  4777. var flag = childrens === 5;
  4778. if (!calculateTotalAmountFlag) {
  4779. flag = childrens === 5 && $(tableId).is(':last-child');
  4780. }
  4781. if (thisGroupNo != null && thisGroupNo != '' && currentGroupNo != thisGroupNo) {
  4782. //当前编辑的处方与选中的品类非同一处方能保存的
  4783. var currentGroupNos = $("#xyTabContent").find("input.current_groupNo");
  4784. //是否需要新增处方页,以保存医材处方
  4785. var needAddTable = true;
  4786. for (var i = 0; i < currentGroupNos.length; i++) {
  4787. if ($(currentGroupNos[i]).val() == currentGroupNo) {
  4788. var next = $(currentGroupNos[i]).next();
  4789. if (needAddTable && $(next).children().length < 5) {
  4790. var parentId = $(currentGroupNos[i]).parent().attr("id");
  4791. //切换处方
  4792. $("#xyTab").find("a[href='#" + parentId + "']").off("click").tab('show');
  4793. //$("#xyTab").find("a[href='#" + tableId + "']").off("click").click();
  4794. //因为存在没有满5个的处方页,直接保存到该页
  4795. needAddTable = false;
  4796. }
  4797. }
  4798. }
  4799. if (needAddTable) {
  4800. //91 医材
  4801. var message = "医材需要单独处方,是否需要新增医材处方?";
  4802. if (currentGroupNo == '71') {
  4803. message = "普通西成药需要单独处方,是否需要新增处方?"
  4804. } else if (currentGroupNo == '111') {
  4805. message = "麻、精一药物需要单独处方,是否需要新增处方?"
  4806. } else if (currentGroupNo == '131') {
  4807. message = "精二药物需要单独处方,是否需要新增处方?"
  4808. }
  4809. if (calculateTotalAmountFlag) {
  4810. $("#messageModal").modal();
  4811. $("#messageContent").html(message);
  4812. $("#messageButton").off("click").on("click", function (t) {
  4813. $("#messageModal").modal("hide");
  4814. refreshNavTabs(0, currentGroupNo, orderNoParmams);
  4815. saveWesternMedicine(calculateTotalAmountFlag);
  4816. });
  4817. $("#cancelButton").off("click").on("click", function (t) {
  4818. return;
  4819. });
  4820. }
  4821. }
  4822. } else if (flag) {
  4823. if (calculateTotalAmountFlag) {
  4824. $("#messageModal").modal();
  4825. $("#messageContent").html("单张处方最多只能开具5个药品,是否需要新增处方?");
  4826. $("#messageButton").off("click").on("click", function (t) {
  4827. $("#messageModal").modal("hide");
  4828. refreshNavTabs(0, currentGroupNo, orderNoParmams);
  4829. saveWesternMedicine(calculateTotalAmountFlag);
  4830. });
  4831. $("#cancelButton").off("click").on("click", function (t) {
  4832. return;
  4833. });
  4834. }
  4835. } else {
  4836. saveWesternMedicine(calculateTotalAmountFlag);
  4837. }
  4838. }
  4839. }
  4840. /**
  4841. * 保存当前药品到右边处方区域 西药
  4842. * calculateTotalAmountFlag 是否计算总金额 回写的时候一次计算
  4843. */
  4844. function saveWesternMedicine(calculateTotalAmountFlag) {
  4845. //当前药房编码
  4846. var currentGroupNo = $("#current_groupNo").val();
  4847. //药品名称
  4848. var westernMedicineNamme = $("#western_medicine_name").val();
  4849. var tableId = $("#xyTab li.active").find("a").attr("href");
  4850. if (tableId == undefined) {
  4851. refreshNavTabs(0, currentGroupNo, null);
  4852. tableId = $("#xyTab li.active").find("a").attr("href");
  4853. }
  4854. var thisGroupNo = $(tableId).find("input.current_groupNo").val();
  4855. if (currentGroupNo != thisGroupNo) {
  4856. //91 医材
  4857. var type = "医材";
  4858. if (currentGroupNo == '71') {
  4859. type = "普通西成药"
  4860. } else if (currentGroupNo == '111') {
  4861. type = "麻、精一药物"
  4862. } else if (currentGroupNo == '131') {
  4863. type = "精二药物"
  4864. }
  4865. errorMesageSimaple("【" + westernMedicineNamme + "】是" + type + ",无法保存到当前处方,请切换或者新增相应的处方进行保存。");
  4866. return;
  4867. }
  4868. //当前处方选项卡下标
  4869. var xyTabIndex = $("#xyTab li.active").index();
  4870. //组号
  4871. var groupId = $("#groupId").val();
  4872. if (groupId == null || groupId == '') {
  4873. errorMesageSimaple("组号为空,请选择组号!");
  4874. return;
  4875. }
  4876. groupId = parseInt(groupId);
  4877. if (groupId == null || isNaN(groupId)) {
  4878. errorMesageSimaple("组号为空,请选择组号!");
  4879. return;
  4880. }
  4881. if (gropuIdAndOrderNoMap == null) {
  4882. gropuIdAndOrderNoMap = new MyMap();
  4883. }
  4884. var exitIndex = gropuIdAndOrderNoMap.get(groupId);
  4885. if (exitIndex == null) {
  4886. exitIndex = xyTabIndex;
  4887. gropuIdAndOrderNoMap.put(groupId, xyTabIndex);
  4888. }
  4889. if (xyTabIndex != exitIndex) {
  4890. var westernMedicineUpdateFlag = $("#western_medicine_update_flag").val();
  4891. var westernMedicineOriGroupId = $("#western_medicine_ori_group_id").val();
  4892. //非修改组号的情况下就需要切换组号
  4893. if (!((westernMedicineUpdateFlag == true || westernMedicineUpdateFlag == "true") && westernMedicineOriGroupId != groupId)) {
  4894. groupId = parseInt($("#groupId > option:last").val());
  4895. $("#groupId").selectpicker('val', groupId);
  4896. $('#groupId').selectpicker('refresh');
  4897. gropuIdAndOrderNoMap.put(groupId, xyTabIndex);
  4898. appendGroupOrder();
  4899. }
  4900. warningMesageSimaple("同一组药必须出现在同一个处方中,当前组号已经被其他处方使用,系统已自动为您重新分配组号!");
  4901. //return;
  4902. }
  4903. //当前药品编码
  4904. var currentCode = $("#western_medicine_current_code").val();
  4905. //当前药品规格
  4906. var currentSerial = $("#western_medicine_current_serial").val();
  4907. //用法编码
  4908. var supplyType = $("#supplyType").val();
  4909. //用法描述
  4910. var supplyTypeText = $('#supplyType option:selected').text();
  4911. supplyTypeText = supplyTypeText.substring(0, supplyTypeText.indexOf("["));
  4912. //药品默认单次使用剂量
  4913. var drugWinDb = $("#drugWinDb").val();
  4914. //处方实际单次使用剂量
  4915. var drugWin = $("#drugWin").val();
  4916. //剂量单位
  4917. var drugWinUnit = $('#drugWinUnit option:selected').text();
  4918. //drugWinUnit = drugWinUnit.substring(0, drugWinUnit.indexOf("("));
  4919. //天数
  4920. var dayNum = $("#dayNum").val();
  4921. //频次编码
  4922. var orderFrequency = $("#orderFrequency").val();
  4923. //频次描述
  4924. var orderFrequencyText = $('#orderFrequency option:selected').text();
  4925. orderFrequencyText = orderFrequencyText.substring(0, orderFrequencyText.indexOf("("));
  4926. //总量
  4927. var gross = $("#gross").val();
  4928. //包装单位
  4929. var packUnit = $("#packUnit").val();
  4930. if (packUnit == null) {
  4931. packUnit = "";
  4932. }
  4933. //医嘱码
  4934. var medicalAdvice = $("#medicalAdvice").val();
  4935. //医嘱内容
  4936. var medicalAdviceText = $('#medicalAdvice option:selected').text();
  4937. let tmpMedicalAdviceText = medicalAdviceText.substring(0, medicalAdviceText.indexOf("("));
  4938. //金额
  4939. var totalRetprice = parseFloat($("#totalRetprice").val());
  4940. //单价
  4941. var packRetprice = $("#packRetprice").val();
  4942. //皮试结果
  4943. var tryResult = $("#tryResult").val();
  4944. //药品大类标志
  4945. var categoriesFlag = $("#categoriesFlag").val();
  4946. //报销自费标识
  4947. var xyHospApprFlag = $("#xyHospApprFlag").val();
  4948. if (currentCode == null || currentCode == '') {
  4949. if (calculateTotalAmountFlag) {
  4950. errorMesageSimaple("未选择任何药品!");
  4951. }
  4952. return;
  4953. }
  4954. if (currentGroupNo != '91') {
  4955. if (supplyType == null || supplyType == "") {
  4956. errorMesageSimaple("用法为空!");
  4957. return;
  4958. }
  4959. if (drugWin == null || drugWin == "") {
  4960. errorMesageSimaple("剂量为空!");
  4961. return;
  4962. }
  4963. if (dayNum == null || dayNum == "") {
  4964. errorMesageSimaple("天数为空!");
  4965. return;
  4966. }
  4967. if (orderFrequency == null || orderFrequency == "") {
  4968. errorMesageSimaple("频次为空!");
  4969. return;
  4970. }
  4971. }
  4972. if (gross == null || gross == "") {
  4973. errorMesageSimaple("总量为空!");
  4974. return;
  4975. }
  4976. var manufactoryName = $("#manufactoryName").val();
  4977. var html = '<div class="form-group">';
  4978. html += '<span class="groupId">' + groupId + '</span>' + '.<span style="margin-left: 5px"></span>';
  4979. html += westernMedicineNamme;
  4980. if (manufactoryName != null && manufactoryName != 'null' && manufactoryName != "") {
  4981. html += "(" + manufactoryName + ")"
  4982. }
  4983. html += '&nbsp;&nbsp;&nbsp;&nbsp;';
  4984. html += $("#specification").val();
  4985. html += '&nbsp;&nbsp;&nbsp;&nbsp;X&nbsp;&nbsp;';
  4986. //html += drugWinDb + drugWinUnit + ' 共';
  4987. html += gross + packUnit + " " + '<br/><span style="margin-left: 15px"></span>';
  4988. html += '用法:' + supplyTypeText + ' ';
  4989. html += drugWin + drugWinUnit + ' ';
  4990. html += '频次:' + orderFrequencyText + ' ';
  4991. html += dayNum + '天 ';
  4992. if (tryResult != null && tryResult != 'null' && tryResult != "") {
  4993. if (tryResult == "100" || tryResult == 100) {
  4994. html += '皮试 ';
  4995. } else {
  4996. html += '皮试结果: ' + $('#tryResult option:selected').text();
  4997. }
  4998. }
  4999. if (medicalAdvice != null && medicalAdvice != '') {
  5000. html += '医嘱:' + tmpMedicalAdviceText;
  5001. }
  5002. html += ' <i class="fa fa-long-arrow-up" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="arrowUp(this)"></i>';
  5003. html += '<i class="fa fa-long-arrow-down" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="arrowDown(this)"></i>';
  5004. html += ' <i class="fa fa-long-arrow-left" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="editWesternMedicine(this)"></i>';
  5005. html += '<i class="fa fa-remove" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="removeYpOrProject(0,this)"></i>';
  5006. html += '<input type="hidden" class="temporary_items_code" value="' + currentCode + '"/>';
  5007. html += '<input type="hidden" class="temporary_items_serial" value="' + currentSerial + '"/>';
  5008. html += '<input type="hidden" class="temporary_items_amount" value="' + totalRetprice + '"/>';
  5009. html += '<input type="hidden" class="temporary_items_groupId" value="' + groupId + '"/>';
  5010. html += '<input type="hidden" class="temporary_items_westernMedicineNamme" value="' + westernMedicineNamme + '"/>';
  5011. html += '<input type="hidden" class="temporary_items_supplyTypeText" value="' + supplyTypeText + '"/>';
  5012. html += '<input type="hidden" class="temporary_items_drugWinDb" value="' + drugWinDb + '"/>';
  5013. html += '<input type="hidden" class="temporary_items_drugWin" value="' + drugWin + '"/>';
  5014. html += '<input type="hidden" class="temporary_items_drugWinUnit" value="' + $("#drugWinUnit").val() + '"/>';
  5015. html += '<input type="hidden" class="temporary_items_drugWinUnitText" value="' + drugWinUnit+ '"/>';
  5016. html += '<input type="hidden" class="temporary_items_gross" value="' + gross + '"/>';
  5017. html += '<input type="hidden" class="temporary_items_packUnit" value="' + packUnit + '"/>';
  5018. html += '<input type="hidden" class="temporary_items_supplyType" value="' + supplyType + '"/>';
  5019. html += '<input type="hidden" class="temporary_items_orderFrequency" value="' + orderFrequency + '"/>';
  5020. html += '<input type="hidden" class="temporary_items_dayNum" value="' + dayNum + '"/>';
  5021. html += '<input type="hidden" class="temporary_items_medicalAdvice" value="' + medicalAdvice + '"/>';
  5022. html += '<input type="hidden" class="temporary_items_medicalAdviceText" value="' + medicalAdviceText + '"/>';
  5023. html += '<input type="hidden" class="temporary_items_packRetprice" value="' + packRetprice + '"/>';
  5024. html += '<input type="hidden" class="temporary_items_tryResult" value="' + tryResult + '"/>';
  5025. html += '<input type="hidden" class="temporary_items_currentGroupNo" value="' + currentGroupNo + '"/>';
  5026. html += '<input type="hidden" class="temporary_items_categoriesFlag" value="' + categoriesFlag + '"/>';
  5027. html += '<input type="hidden" class="temporary_items_xyHospApprFlag" value="' + xyHospApprFlag + '"/>';
  5028. html += '</div>';
  5029. var tableId = $("#xyTab li.active").find("a").attr("href");
  5030. //是新增药品还是编辑 true 修改 默认false
  5031. var updateFlag = $("#western_medicine_update_flag").val();
  5032. if (updateFlag == undefined || updateFlag == null) {
  5033. updateFlag = false;
  5034. }
  5035. // //原药品金额 如果是修改则需要设置
  5036. // var temporaryItemsAmount = 0;
  5037. //当前需要被移除元素的下个兄弟节点
  5038. var nextObj = null;
  5039. //当前修改的药品是不是最后一个
  5040. var isLast = false;
  5041. var formGroups = $(tableId).find("div.cf_content").find("div.form-group");
  5042. if (formGroups != null && formGroups.length > 0) {
  5043. //如果是修改,需要减去原来的费用
  5044. if (updateFlag == "true" || updateFlag == true) {
  5045. //药品有可能会修改,所以,判断的时候要用原药品编码
  5046. var updateOriCode = $("#update_ori_code").val();
  5047. //规格有可能会修改,所以,判断的时候要用原规格
  5048. var updateOriSerial = $("#update_ori_serial").val();
  5049. //组号有可能会修改,所以,判断的时候要用原组号
  5050. var westernMedicineOriGroupId = $("#western_medicine_ori_group_id").val();
  5051. for (var i = 0; i < formGroups.length; i++) {
  5052. var temporaryItemsCode = $(formGroups[i]).find("input.temporary_items_code").val();
  5053. var temporaryItemsSerial = $(formGroups[i]).find("input.temporary_items_serial").val();
  5054. var temporaryItemsGroupId = $(formGroups[i]).find("input.temporary_items_groupId").val();
  5055. if (temporaryItemsCode === updateOriCode && temporaryItemsSerial === updateOriSerial && temporaryItemsGroupId == westernMedicineOriGroupId) {
  5056. //temporaryItemsAmount = $(formGroups[i]).find("input.temporary_items_amount").val();
  5057. if (formGroups.length > 1) {
  5058. nextObj = $(formGroups[i]).next();
  5059. }
  5060. isLast = (i + 1) === formGroups.length;
  5061. $(formGroups[i]).remove();
  5062. break;
  5063. }
  5064. }
  5065. } else {
  5066. //因为药品可以换组号,要保证相同组号的在一起
  5067. for (var i = 0; i < formGroups.length; i++) {
  5068. var temporaryItemsGroupId = parseInt($(formGroups[i]).find("input.temporary_items_groupId").val());
  5069. //如果当前的组号小与遍历到的组号,说明是原组号的下一个兄弟节点,新的药品插入到兄弟节点前就可以了
  5070. if (temporaryItemsGroupId > groupId) {
  5071. nextObj = $(formGroups[i]);
  5072. break;
  5073. }
  5074. }
  5075. }
  5076. }
  5077. //当没有下一个兄弟节点或者当前编辑的药品是最后一个时,直接添加
  5078. if (nextObj == null || isLast) {
  5079. $(tableId).find("div:eq(0)").append(html);
  5080. } else {
  5081. $(nextObj).before(html);
  5082. }
  5083. //设置当前处方金额
  5084. //calculateCfAmount(tableId, totalRetprice, temporaryItemsAmount, 0, 0);
  5085. if (calculateTotalAmountFlag) {
  5086. //设置总金额
  5087. calculateTotalAmount(true);
  5088. resetGroupIdSelect();
  5089. }
  5090. //判断当前组号是不是最后一个,是最后一个组号,就需要新增组号
  5091. var groupIdLast = $("#groupId option:last-child").text();
  5092. if (groupId === groupIdLast) {
  5093. appendGroupOrder();
  5094. }
  5095. //设置药品的用法,频次,天数
  5096. var map = groupIdMap.get(groupId);
  5097. if (map == null) {
  5098. map = new MyMap();
  5099. map.put("supplyType", supplyType);
  5100. map.put("orderFrequency", orderFrequency);
  5101. map.put("dayNum", dayNum);
  5102. groupIdMap.put(groupId, map);
  5103. }
  5104. //设置当前药品的品类
  5105. $(tableId).find("input.current_groupNo").val($("#current_groupNo").val());
  5106. $("#supplyType").selectpicker('val', null);
  5107. $('#supplyType').selectpicker('refresh');
  5108. clearWesternMedicine(false);
  5109. resetGroupIdMap();
  5110. }
  5111. /**
  5112. * 上移
  5113. * @param obj
  5114. */
  5115. function arrowUp(obj) {
  5116. var parentObject = $(obj).parent();
  5117. if ($(parentObject).prev() == null) {
  5118. return;
  5119. }
  5120. //当前元素的序号
  5121. var thisJcjyItemGroupId = null;
  5122. //前一个兄弟节点的序号
  5123. var prevJcjyItemGroupId = null;
  5124. //当是项目时有序号,进行序号调整
  5125. if ($(parentObject).find("span.jcjyItemGroupId") != null) {
  5126. thisJcjyItemGroupId = $(parentObject).find("span.jcjyItemGroupId").html();
  5127. prevJcjyItemGroupId = $(parentObject).prev().find("span.jcjyItemGroupId").html();
  5128. $(parentObject).find("span.jcjyItemGroupId").html(prevJcjyItemGroupId);
  5129. $(parentObject).prev().find("span.jcjyItemGroupId").html(thisJcjyItemGroupId);
  5130. }
  5131. $(parentObject).prev().before($(parentObject));
  5132. }
  5133. /**
  5134. * 下移
  5135. * @param obj
  5136. */
  5137. function arrowDown(obj) {
  5138. var parentObject = $(obj).parent();
  5139. if ($(parentObject).next() == null) {
  5140. return;
  5141. }
  5142. //当前元素的序号
  5143. var thisJcjyItemGroupId = null;
  5144. //后一个兄弟节点的序号
  5145. var afterJcjyItemGroupId = null;
  5146. //当是项目时有序号,进行序号调整
  5147. if ($(parentObject).find("span.jcjyItemGroupId") != null) {
  5148. thisJcjyItemGroupId = $(parentObject).find("span.jcjyItemGroupId").html();
  5149. afterJcjyItemGroupId = $(parentObject).after().find("span.jcjyItemGroupId").html();
  5150. $(parentObject).find("span.jcjyItemGroupId").html(afterJcjyItemGroupId);
  5151. $(parentObject).after().find("span.jcjyItemGroupId").html(thisJcjyItemGroupId);
  5152. }
  5153. $(parentObject).next().after($(parentObject));
  5154. }
  5155. /**
  5156. * 修改西药
  5157. * @param obj
  5158. */
  5159. function editWesternMedicine(obj) {
  5160. clearWesternMedicine(true);
  5161. //是新增药品还是编辑 true 修改 默认false
  5162. $("#western_medicine_update_flag").val(true);
  5163. var parentObject = $(obj).parent();
  5164. //组号
  5165. $("#groupId").val($(parentObject).find("input.temporary_items_groupId").val());
  5166. //组号有可能会修改,所以,判断的时候要用原组号
  5167. $("#western_medicine_ori_group_id").val($(parentObject).find("input.temporary_items_groupId").val());
  5168. $('#groupId').selectpicker('refresh');
  5169. //药品名称
  5170. $("#western_medicine_name").val($(parentObject).find("input.temporary_items_westernMedicineNamme").val());
  5171. var code = $(parentObject).find("input.temporary_items_code").val();
  5172. var serial = $(parentObject).find("input.temporary_items_serial").val();
  5173. //当前药品编码
  5174. $("#western_medicine_current_code").val(code);
  5175. //当前药品规格
  5176. $("#western_medicine_current_serial").val(serial);
  5177. //当前修改药品原始编码
  5178. $("#update_ori_code").val(code);
  5179. //当前修改的药品原始规格
  5180. $("#update_ori_serial").val(serial);
  5181. //用法编码
  5182. $("#supplyType").val($(parentObject).find("input.temporary_items_supplyType").val());
  5183. $('#supplyType').selectpicker('refresh');
  5184. $("#xyHospApprFlag").val($(parentObject).find("input.temporary_items_xyHospApprFlag").val());
  5185. $('#xyHospApprFlag').selectpicker('refresh');
  5186. //药品默认单次使用剂量
  5187. $("#drugWinDb").val($(parentObject).find("input.temporary_items_drugWinDb").val());
  5188. //处方实际单次使用剂量
  5189. $("#drugWin").val($(parentObject).find("input.temporary_items_drugWin").val());
  5190. //天数
  5191. $("#dayNum").val($(parentObject).find("input.temporary_items_dayNum").val());
  5192. $('#dayNum').selectpicker('refresh');
  5193. //频次编码
  5194. $("#orderFrequency").val($(parentObject).find("input.temporary_items_orderFrequency").val());
  5195. $('#orderFrequency').selectpicker('refresh');
  5196. //总量
  5197. $("#gross").val($(parentObject).find("input.temporary_items_gross").val());
  5198. //医嘱
  5199. $("#medicalAdvice").val($(parentObject).find("input.temporary_items_medicalAdvice").val());
  5200. $('#medicalAdvice').selectpicker('refresh');
  5201. //金额
  5202. $("#totalRetprice").val($(parentObject).find("input.temporary_items_amount").val());
  5203. //单价
  5204. $("#packRetprice").val($(parentObject).find("input.temporary_items_packRetprice").val());
  5205. //皮试结果
  5206. var tryResult = $(parentObject).find("input.temporary_items_tryResult").val();
  5207. //设置当前药品类型
  5208. $("#current_groupNo").val($(parentObject).find("input.temporary_items_currentGroupNo").val());
  5209. //设置当前药品大类
  5210. $("#categoriesFlag").val($(parentObject).find("input.temporary_items_categoriesFlag").val());
  5211. $.ajax({
  5212. type: "GET",
  5213. url: '/thmz/getYpZdDictByCodeAndSerial?code=' + code + "&serial=" + serial + "&deptNo=" + localStorage.getItem("currentDeptNo") + "&groupNo=71",
  5214. contentType: "application/json;charset=UTF-8",
  5215. dataType: "json",
  5216. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  5217. success: function (res) {
  5218. if (res == '401' || res == 401) {
  5219. window.location.href = '/thmz/login/view'
  5220. return;
  5221. }
  5222. if (res.code == 0) {
  5223. if (res.data != null) {
  5224. var drugWinHtml = '';
  5225. if (res.data.weight != null) {
  5226. if ($("#drugWin").val() == null || $("#drugWin").val() == '') {
  5227. $("#drugWin").val(res.data.weight);
  5228. $("#drugWinDb").val(res.data.weight);
  5229. }
  5230. drugWinHtml = '<option value="' + res.data.weighUnit + '" desc="' + res.data.weight + '">' + res.data.weighUnitDesc + '</option>';
  5231. }
  5232. if (res.data.volum != null) {
  5233. if ($("#drugWin").val() == null || $("#drugWin").val() == '') {
  5234. $("#drugWin").val(res.data.volum);
  5235. $("#drugWinDb").val(res.data.volum);
  5236. }
  5237. drugWinHtml += '<option value="' + res.data.volUnit + '" desc="' + res.data.volum + '">' + res.data.volUnitDesc + '</option>';
  5238. }
  5239. if (res.data.miniUnit != null && res.data.miniUnit != "") {
  5240. if ($("#drugWin").val() == null || $("#drugWin").val() == '') {
  5241. $("#drugWin").val(1);
  5242. $("#drugWinDb").val(1);
  5243. }
  5244. drugWinHtml += '<option value="' + res.data.miniUnit + '" desc="1">' + res.data.miniUnitDesc + '</option>';
  5245. }
  5246. $('#drugWinUnit').html(drugWinHtml);
  5247. $('#drugWinUnit').selectpicker('refresh');
  5248. //剂量单位
  5249. $("#drugWinUnit").val($(parentObject).find("input.temporary_items_drugWinUnit").val());
  5250. $('#drugWinUnit').selectpicker('refresh');
  5251. if (res.data.packUnitDesc != null && res.data.packUnitDesc != "") {
  5252. var html = '<option value="' + res.data.packUnitDesc + '" >' + res.data.packUnitDesc + '</option>';
  5253. $('#packUnit').html(html);
  5254. $('#packUnit').selectpicker('refresh');
  5255. //包装单位
  5256. $("#packUnit").val($(parentObject).find("input.temporary_items_packUnit").val());
  5257. $('#packUnit').selectpicker('refresh');
  5258. }
  5259. if (res.data.psFlag != null && (res.data.psFlag == 1 || res.data.psFlag == "1")) {
  5260. if (res.data.categoriesFlag == 0 || res.data.categoriesFlag == "0" || res.data.categoriesFlag == 2 || res.data.categoriesFlag == "2") {
  5261. initTryResultSelect(res.data.categoriesFlag);
  5262. $("#tryResult").val(tryResult);
  5263. $('#tryResult').selectpicker('refresh');
  5264. }
  5265. }
  5266. $("#packSize").val(res.data.packSize);
  5267. //厂家名称
  5268. $("#manufactoryName").val(res.data.manufactoryName);
  5269. //规格
  5270. $("#specification").val(res.data.specification);
  5271. }
  5272. } else {
  5273. errorMesage(res);
  5274. }
  5275. }
  5276. });
  5277. }
  5278. /**
  5279. * 修改中药
  5280. * @param obj
  5281. */
  5282. function editChineseMedicine(obj) {
  5283. //是新增药品还是编辑 true 修改 默认false
  5284. $("#chinese_medicine_update_flag").val(true);
  5285. var parentObject = $(obj).parent();
  5286. //当前药品编码
  5287. $("#chinese_medicine_current_code").val($(parentObject).find("input.temporary_items_code").val());
  5288. //当前药品规格
  5289. $("#chinese_medicine_current_serial").val($(parentObject).find("input.temporary_items_serial").val());
  5290. //当前修改药品原始编码
  5291. $("#update_ori_code").val($(parentObject).find("input.temporary_items_code").val());
  5292. //当前修改的药品原始规格
  5293. $("#update_ori_serial").val($(parentObject).find("input.temporary_items_serial").val());
  5294. //中药类型
  5295. $("#zyClassType").val($(parentObject).find("input.temporary_items_zyClassType").val());
  5296. $('#zyClassType').selectpicker('refresh');
  5297. //药品名称
  5298. $("#chinese_medicine_name").val($(parentObject).find("input.temporary_items_chineseMedicineNamme").val());
  5299. //单价
  5300. $("#zy_packRetprice").val($(parentObject).find("input.temporary_items_zyPackRetprice").val());
  5301. //处方实际单次使用剂量
  5302. $("#zy_drugWin").val($(parentObject).find("input.temporary_items_drugWin").val());
  5303. //医嘱码
  5304. $("#zyInstruction").val($(parentObject).find("input.temporary_items_zyInstruction").val());
  5305. $('#zyInstruction').selectpicker('refresh');
  5306. $("#zyHospApprFlag").val($(parentObject).find("input.temporary_items_zyHospApprFlag").val());
  5307. $('#zyHospApprFlag').selectpicker('refresh');
  5308. }
  5309. /**
  5310. * 修改辅助检查、检验项目
  5311. * @param obj
  5312. */
  5313. function editJyJcItem(obj) {
  5314. //是新增药品还是编辑 true 修改 默认false
  5315. $("#jcjy_update_flag").val(true);
  5316. var parentObject = $(obj).parent();
  5317. //当前项目编码
  5318. $("#jcjy_current_code").val($(parentObject).find("input.temporary_items_code").val());
  5319. $("#update_ori_code").val($(parentObject).find("input.temporary_items_code").val());
  5320. //项目名称
  5321. $("#jcJyItem").val($(parentObject).find("input.temporary_items_jcJyItemName").val());
  5322. //单价
  5323. $("#jcjyItemPrice").val($(parentObject).find("input.temporary_items_amount").val());
  5324. //备注
  5325. $("#remark").val($(parentObject).find("input.temporary_items_remark").val());
  5326. var chargeUnit = $(parentObject).find("input.temporary_items_desc_value").val();
  5327. var jcJyZltype = $(parentObject).find("input.temporary_items_type").val();
  5328. //执行科室
  5329. var execUnit = $(parentObject).find("input.temporary_items_execUnit").val();
  5330. $("#execUnit").selectpicker('val', execUnit);
  5331. $('#execUnit').selectpicker('refresh');
  5332. if (jcJyZltype == 1 || jcJyZltype == "1") {
  5333. $("#jyZdSample").selectpicker('val', chargeUnit);
  5334. $('#jyZdSample').selectpicker('refresh');
  5335. $("#jyZdSampleDiv").removeClass("hide").addClass("in");
  5336. $("#jyQuantityDiv").removeClass("hide").addClass("in");
  5337. $("#yshPartDiv").removeClass("in").addClass("hide");
  5338. $("#jcJyItemChargeDetail").removeClass("hide").addClass("in");
  5339. //数量
  5340. var jyQuantity = $(parentObject).find("input.temporary_items_jyQuantity").val();
  5341. $("#jyQuantity").val(jyQuantity);
  5342. } else if (jcJyZltype == 2 || jcJyZltype == "2") {
  5343. $("#yshPart").selectpicker('val', chargeUnit);
  5344. $('#yshPart').selectpicker('refresh');
  5345. $("#yshPartDiv").removeClass("hide").addClass("in");
  5346. $("#jyZdSampleDiv").removeClass("in").addClass("hide");
  5347. $("#jyQuantityDiv").removeClass("in").addClass("hide");
  5348. $("#jcJyItemChargeDetail").removeClass("hide").addClass("in");
  5349. }
  5350. $("#jcJyZltype").val(jcJyZltype);
  5351. }
  5352. /**
  5353. * 修改外配药
  5354. * @param obj
  5355. */
  5356. function editWpMedicine(obj) {
  5357. //是新增药品还是编辑 true 修改 默认false
  5358. $("#wp_medicine_update_flag").val(true);
  5359. var parentObject = $(obj).parent();
  5360. //当前编码
  5361. $("#wp_medicine_current_code").val($(parentObject).find("input.temporary_items_code").val());
  5362. //类别
  5363. $("#rxItemTypeCode").val($(parentObject).find("input.temporary_items_rxItemTypeCode").val());
  5364. $('#rxItemTypeCode').selectpicker('refresh');
  5365. //用法
  5366. $("#medcWayCodg").val($(parentObject).find("input.temporary_items_medcWayCodg").val());
  5367. $('#medcWayCodg').selectpicker('refresh');
  5368. //天数
  5369. $("#medcDays").val($(parentObject).find("input.temporary_items_medcDays").val())
  5370. $('#medcDays').selectpicker('refresh');
  5371. //药品名称
  5372. $("#wp_medicine_name").val($(parentObject).find("input.temporary_items_wpMedicineName").val())
  5373. //最小剂量单位
  5374. $("#sinDosunt").val($(parentObject).find("input.temporary_items_sinDosunt").val())
  5375. //剂型
  5376. $("#drugDosform").val($(parentObject).find("input.temporary_items_drugDosform").val())
  5377. //最小剂量
  5378. $("#sinDoscnt").val($(parentObject).find("input.temporary_items_sinDoscnt").val())
  5379. //频次
  5380. $("#usedFrquCodg").val($(parentObject).find("input.temporary_items_usedFrquCodg").val());
  5381. $('#usedFrquCodg').selectpicker('refresh');
  5382. //单位
  5383. $("#drugDosunt").val($(parentObject).find("input.temporary_items_drugDosunt").val())
  5384. //总量
  5385. $("#drugCnt").val($(parentObject).find("input.temporary_items_drugCnt").val())
  5386. //规格
  5387. $("#drugSpec").val($(parentObject).find("input.temporary_items_drugSpec").val())
  5388. //报销自费标识
  5389. $("#wpHospApprFlag").val($(parentObject).find("input.temporary_items_wpHospApprFlag").val())
  5390. $('#wpHospApprFlag').selectpicker('refresh');
  5391. //厂家
  5392. $("#prdrName").val($(parentObject).find("input.temporary_items_prdrName").val())
  5393. }
  5394. /**
  5395. * 修改诊疗项目
  5396. * @param obj
  5397. */
  5398. function editZlItem(obj) {
  5399. //是新增药品还是编辑 true 修改 默认false
  5400. $("#zl_update_flag").val(true);
  5401. var parentObject = $(obj).parent();
  5402. //当前项目编码
  5403. $("#zl_current_code").val($(parentObject).find("input.temporary_items_code").val());
  5404. $("#update_ori_code").val($(parentObject).find("input.temporary_items_code").val());
  5405. //项目名称
  5406. $("#zlItem").val($(parentObject).find("input.temporary_items_zlItemName").val());
  5407. //单价
  5408. $("#zlItemPrice").val($(parentObject).find("input.temporary_items_amount").val());
  5409. //备注
  5410. $("#zlRemark").val($(parentObject).find("input.temporary_items_remark").val());
  5411. var chargeUnit = $(parentObject).find("input.temporary_items_desc_value").val();
  5412. //数量
  5413. var itemQuantity = $(parentObject).find("input.temporary_items_itemQuantity").val();
  5414. //执行科室
  5415. var execUnit = $(parentObject).find("input.temporary_items_execUnit").val();
  5416. $("#zlHospApprFlag").val($(parentObject).find("input.temporary_items_zlHospApprFlag").val());
  5417. $('#zlHospApprFlag').selectpicker('refresh');
  5418. var descriptions = $(parentObject).find("input.temporary_items_code").val();
  5419. if (descriptions != null && descriptions != "" && descriptions != 'null') {
  5420. $("#descriptions").val(descriptions);
  5421. }
  5422. var dayZlNum = $(parentObject).find("input.temporary_items_dayZlNum").val();
  5423. if (dayZlNum != null && dayZlNum != "" && dayZlNum != 'null') {
  5424. $("#dayZlNum").selectpicker('val', dayZlNum);
  5425. $('#dayZlNum').selectpicker('refresh');
  5426. }
  5427. var orderFrequencyZl = $(parentObject).find("input.temporary_items_orderFrequencyZl").val();
  5428. if (orderFrequencyZl != null && orderFrequencyZl != "" && orderFrequencyZl != 'null') {
  5429. $("#orderFrequencyZl").selectpicker('val', orderFrequencyZl);
  5430. $('#orderFrequencyZl').selectpicker('refresh');
  5431. }
  5432. var totalNumZl = $(parentObject).find("input.temporary_items_totalNumZl").val();
  5433. if (totalNumZl != null && totalNumZl != "" && totalNumZl != 'null') {
  5434. $("#totalNumZl").val(totalNumZl);
  5435. }
  5436. $("#zlExecUnit").selectpicker('val', execUnit);
  5437. $('#zlExecUnit').selectpicker('refresh');
  5438. //描述
  5439. $("#chargeUnit").val(chargeUnit);
  5440. $("#itemQuantity").val(itemQuantity);
  5441. calculateZl(true);
  5442. }
  5443. /**
  5444. * 保存当前辅助检查、检验项目到右边处方区域 需要提示加价
  5445. * @param calculateTotalAmountFlag 是否计算总金额 回写的时候一次计算
  5446. */
  5447. function saveJyJcItem(calculateTotalAmountFlag) {
  5448. //6岁内提示加价
  5449. var patientAge = $("#patientAge").text();
  5450. if (calculateTotalAmountFlag && patientAge != null && patientAge != "" && patientAge <= 6) {
  5451. $.ajax({
  5452. type: "GET",
  5453. url: '/thmz/checkAdditionally?code=' + $("#jcjy_current_code").val() + "&jcJyZltype=" + $("#jcJyZltype").val(),
  5454. contentType: "application/json;charset=UTF-8",
  5455. dataType: "json",
  5456. async: false,
  5457. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  5458. success: function (res) {
  5459. if (res == '401' || res == 401) {
  5460. window.location.href = '/thmz/login/view'
  5461. return;
  5462. }
  5463. if (res.code == 0) {
  5464. if (res.data != undefined && res.data != null && res.data.co != null && res.data.co == 1 && res.data.xlCode != null && res.data.xlCode != "") {
  5465. var xlCode = res.data.xlCode;
  5466. xlCode = Multiply(100, xlCode);
  5467. $("#messageModal").modal();
  5468. $("#messageContent").html("根据【湘医保发〔2020〕51 号】价格通知,不满7周岁的儿童诊疗费上调" + xlCode + "%,是否需要继续添加该项目?");
  5469. $("#messageButton").off("click").on("click", function (t) {
  5470. $("#messageModal").modal("hide");
  5471. saveJyJcItemReal(calculateTotalAmountFlag);
  5472. });
  5473. $("#cancelButton").off("click");
  5474. } else {
  5475. //虽然是不满6岁,但是也没有需要加收的项目,直接保存
  5476. saveJyJcItemReal(calculateTotalAmountFlag);
  5477. }
  5478. } else {
  5479. errorMesage(res);
  5480. }
  5481. }
  5482. });
  5483. } else {
  5484. saveJyJcItemReal(calculateTotalAmountFlag);
  5485. }
  5486. }
  5487. /**
  5488. * 保存当前项目到右边处方区域
  5489. * @param calculateTotalAmountFlag 是否计算总金额 回写的时候一次计算
  5490. */
  5491. function saveJyJcItemReal(calculateTotalAmountFlag) {
  5492. var tableId = $("#jcjyTab li.active").find("a").attr("href");
  5493. //组号
  5494. var groupId = $(tableId).find("div:eq(0)").children().length + 1;
  5495. //项目名称
  5496. var jcJyItem = $("#jcJyItem").val();
  5497. //当前项目编码
  5498. var currentCode = $("#jcjy_current_code").val();
  5499. //当前项目价格
  5500. var jcjyItemPrice = $("#jcjyItemPrice").val();
  5501. //执行科室
  5502. var execUnit = $("#execUnit").val();
  5503. //执行科室
  5504. var execUnitName = $('#execUnit option:selected').text();
  5505. execUnitName = execUnitName.substring(0, execUnitName.indexOf("("));
  5506. //描述编码
  5507. var chargeUnitCode = null;
  5508. var chargeUnitName = "";
  5509. //检验物或者检查部位
  5510. var chargeUnit = null;
  5511. //检验数量
  5512. var jyQuantity = null;
  5513. //备注
  5514. var remark = $("#remark").val();
  5515. //项目类型
  5516. var jcJyZltype = $("#jcJyZltype").val();
  5517. if (jcJyZltype == "1" || jcJyZltype == 1) {
  5518. //检验
  5519. chargeUnit = $('#jyZdSample option:selected').text();
  5520. chargeUnit = chargeUnit.substring(0, chargeUnit.indexOf("("));
  5521. chargeUnitCode = $('#jyZdSample').val();
  5522. chargeUnitName = " 检验物:";
  5523. jyQuantity = $('#jyQuantity').val();
  5524. if (calculateTotalAmountFlag == true) {
  5525. if (jyQuantity == null || jyQuantity == "") {
  5526. errorMesageSimaple("检验项目数量为空!");
  5527. return;
  5528. }
  5529. if (jyQuantity <= 0) {
  5530. errorMesageSimaple("检验项目数量不能小于1!");
  5531. return;
  5532. }
  5533. }
  5534. } else if (jcJyZltype == "2" || jcJyZltype == 2) {
  5535. //检查
  5536. chargeUnit = $('#yshPart option:selected').text();
  5537. chargeUnit = chargeUnit.substring(0, chargeUnit.indexOf("("));
  5538. chargeUnitCode = $('#yshPart').val();
  5539. chargeUnitName = " 检查部位:";
  5540. }
  5541. if (currentCode == null || currentCode == '') {
  5542. if (calculateTotalAmountFlag == true) {
  5543. errorMesageSimaple("未选择任何项目!");
  5544. }
  5545. return;
  5546. }
  5547. //判断是否有重复的项目 返回true 说明有重复的
  5548. //彩超加收一个部位的不限制多开
  5549. if ("003913" != currentCode && verifyRepeat(currentCode, null, chargeUnitCode, 2)) {
  5550. return;
  5551. }
  5552. //原药品金额 如果是修改则需要设置
  5553. var temporaryItemsAmount = 0;
  5554. //当前需要被移除元素的下个兄弟节点
  5555. var nextObj = null;
  5556. //当前修改的药品是不是最后一个
  5557. var isLast = false;
  5558. //是新增药品还是编辑 true 修改 默认false
  5559. var updateFlag = $("#jcjy_update_flag").val();
  5560. if (updateFlag == undefined || updateFlag == null) {
  5561. updateFlag = false;
  5562. }
  5563. //如果是修改,需要减去原来的费用
  5564. //原组号
  5565. var oriGroupId = null;
  5566. if (updateFlag == "true" || updateFlag == true) {
  5567. var formGroups = $(tableId).find("div.cf_content").find("div.form-group");
  5568. if (formGroups != null && formGroups.length > 0) {
  5569. var updateOriCode = $("#update_ori_code").val();
  5570. for (var i = 0; i < formGroups.length; i++) {
  5571. var temporaryItemsCode = $(formGroups[i]).find("input.temporary_items_code").val();
  5572. if (temporaryItemsCode === updateOriCode) {
  5573. temporaryItemsAmount = $(formGroups[i]).find("input.temporary_items_amount").val();
  5574. if (formGroups.length > 1) {
  5575. nextObj = $(formGroups[i]).next();
  5576. }
  5577. isLast = (i + 1) === formGroups.length;
  5578. oriGroupId = $(formGroups[i]).find("span.jcjyItemGroupId").text();
  5579. $(formGroups[i]).remove();
  5580. break;
  5581. }
  5582. }
  5583. }
  5584. }
  5585. if (oriGroupId != null) {
  5586. groupId = oriGroupId;
  5587. }
  5588. var html = '<div class="form-group">';
  5589. html += '<span class="jcjyItemGroupId">' + groupId + '</span>.<span style="margin-left: 5px"></span>'
  5590. html += jcJyItem + ' ';
  5591. if (jcJyZltype == "3" || jcJyZltype == 3) {
  5592. html += " 数量:" + itemQuantity;
  5593. }
  5594. if (execUnit != null && execUnit != "") {
  5595. html += " 执行科室:" + execUnitName;
  5596. }
  5597. if (chargeUnit != null && chargeUnit != '') {
  5598. html += chargeUnitName + chargeUnit;
  5599. }
  5600. if (remark != null && remark != '') {
  5601. html += ' 备注:' + remark;
  5602. }
  5603. html += ' <i class="fa fa-long-arrow-up" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="arrowUp(this)"></i>';
  5604. html += '<i class="fa fa-long-arrow-down" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="arrowDown(this)"></i>';
  5605. html += ' <i class="fa fa-long-arrow-left" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="editJyJcItem(this)"></i>';
  5606. html += '<i class="fa fa-remove" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="removeYpOrProject(2,this)"></i>';
  5607. if ($("#jcJyItemChargeDetail").hasClass("in")) {
  5608. html += '<i class="fa fa-eye" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="getJcJyItemChargeByCode(\'' + currentCode + '\',' + jcJyZltype + ')"></i>';
  5609. }
  5610. html += '<input type="hidden" class="temporary_items_code" value="' + currentCode + '"/>';
  5611. html += '<input type="hidden" class="temporary_items_jcJyItemName" value="' + jcJyItem + '"/>';
  5612. html += '<input type="hidden" class="temporary_items_amount" value="' + jcjyItemPrice + '"/>';
  5613. html += '<input type="hidden" class="temporary_items_remark" value="' + remark + '"/>';
  5614. html += '<input type="hidden" class="temporary_items_type" value="' + jcJyZltype + '"/>';
  5615. html += '<input type="hidden" class="temporary_items_desc_value" value="' + chargeUnitCode + '"/>';
  5616. html += '<input type="hidden" class="temporary_items_execUnit" value="' + execUnit + '"/>';
  5617. if (jyQuantity != null) {
  5618. html += '<input type="hidden" class="temporary_items_jyQuantity" value="' + jyQuantity + '"/>';
  5619. }
  5620. html += '</div>';
  5621. //当没有下一个兄弟节点或者当前编辑的药品是最后一个时,直接添加
  5622. if (nextObj == null || isLast) {
  5623. $(tableId).find("div:eq(0)").append(html);
  5624. } else {
  5625. $(nextObj).before(html);
  5626. }
  5627. //设置当前处方金额
  5628. //calculateCfAmount(tableId, jcjyItemPrice, temporaryItemsAmount, 2, 0);
  5629. if (calculateTotalAmountFlag) {
  5630. //设置总金额
  5631. calculateTotalAmount(true);
  5632. }
  5633. clearJyJcItem();
  5634. }
  5635. /**
  5636. * 保存外配处方到右方区域
  5637. */
  5638. function saveWpOrder(needCalcu) {
  5639. if ($("#wpMedicineTab").find("li") == null || $("#wpMedicineTab").find("li").length == 0) {
  5640. initNavTabs(6, null, null);
  5641. }
  5642. var tableId = $("#wpMedicineTab li.active").find("a").attr("href");
  5643. //组号
  5644. var groupId = $(tableId).find("div:eq(0)").children().length + 1;
  5645. //药品名称
  5646. var wpMedicineName = $("#wp_medicine_name").val();
  5647. //当前药品编码
  5648. var currentCode = $("#wp_medicine_current_code").val();
  5649. //药品类别
  5650. var rxItemTypeCode = $("#rxItemTypeCode").val();
  5651. //用法
  5652. var medcWayCodg = $("#medcWayCodg").val();
  5653. //天数
  5654. var medcDays = $("#medcDays").val();
  5655. //最小剂量单位
  5656. var sinDosunt = $("#sinDosunt").val();
  5657. //剂量
  5658. var sinDoscnt = $("#sinDoscnt").val();
  5659. //剂型
  5660. var drugDosform = $("#drugDosform").val();
  5661. //用法名称
  5662. var medcWayCodgName = $('#medcWayCodg option:selected').text();
  5663. //频次
  5664. var usedFrquCodg = $("#usedFrquCodg").val();
  5665. var usedFrquCodgName = $('#usedFrquCodg option:selected').text();
  5666. //单位
  5667. var drugDosunt = $("#drugDosunt").val();
  5668. //总量
  5669. var drugCnt = $("#drugCnt").val();
  5670. //规格
  5671. var drugSpec = $("#drugSpec").val();
  5672. //报销自费标识
  5673. var wpHospApprFlag = $("#wpHospApprFlag").val();
  5674. if (currentCode == null || currentCode == '') {
  5675. errorMesageSimaple("未选择任何药品!");
  5676. return;
  5677. }
  5678. if(stringIsBlank(rxItemTypeCode)){
  5679. errorMesageSimaple("未选择药品类别!");
  5680. return;
  5681. }
  5682. if(stringIsBlank(medcWayCodg)){
  5683. errorMesageSimaple("未选择用法!");
  5684. return;
  5685. }
  5686. if(stringIsBlank(usedFrquCodg)){
  5687. errorMesageSimaple("未选择频次!");
  5688. return;
  5689. }
  5690. if(stringIsBlank(medcDays)){
  5691. errorMesageSimaple("未选择天数!");
  5692. return;
  5693. }
  5694. if(stringIsBlank(sinDoscnt)){
  5695. errorMesageSimaple("未填写剂量!");
  5696. return;
  5697. }
  5698. if(stringIsBlank(drugCnt)){
  5699. errorMesageSimaple("未填写总量!");
  5700. return;
  5701. }
  5702. //判断是否有重复的项目 返回true 说明有重复的
  5703. if (verifyRepeat(currentCode, null, null, 6)) {
  5704. return;
  5705. }
  5706. //当前需要被移除元素的下个兄弟节点
  5707. var nextObj = null;
  5708. //当前修改的药品是不是最后一个
  5709. var isLast = false;
  5710. //是新增药品还是编辑 true 修改 默认false
  5711. var updateFlag = $("#wp_medicine_update_flag").val();
  5712. if (updateFlag == undefined || updateFlag == null) {
  5713. updateFlag = false;
  5714. }
  5715. if (updateFlag == "true" || updateFlag == true) {
  5716. var formGroups = $(tableId).find("div.cf_content").find("div.form-group");
  5717. if (formGroups != null && formGroups.length > 0) {
  5718. var updateOriCode = $("#update_ori_code").val();
  5719. for (var i = 0; i < formGroups.length; i++) {
  5720. var temporaryItemsCode = $(formGroups[i]).find("input.temporary_items_code").val();
  5721. if (temporaryItemsCode === updateOriCode) {
  5722. if (formGroups.length > 1) {
  5723. nextObj = $(formGroups[i]).next();
  5724. }
  5725. isLast = (i + 1) === formGroups.length;
  5726. $(formGroups[i]).remove();
  5727. break;
  5728. }
  5729. }
  5730. }
  5731. }
  5732. //厂家
  5733. var prdrName = $("#prdrName").val();
  5734. var html = '<div class="form-group">';
  5735. html += wpMedicineName;
  5736. if (prdrName != null && prdrName != 'null' && prdrName != "") {
  5737. html += "(" + prdrName + ")"
  5738. }
  5739. html += '&nbsp;&nbsp;&nbsp;&nbsp;';
  5740. html += drugSpec;
  5741. html += '&nbsp;&nbsp;&nbsp;&nbsp;X&nbsp;&nbsp;';
  5742. html += drugCnt + drugDosunt + " " + '<br/><span style="margin-left: 15px"></span>';
  5743. html += '用法:' + medcWayCodgName + ' ';
  5744. html += sinDoscnt + sinDosunt + ' ';
  5745. html += '频次:' + usedFrquCodgName + ' ';
  5746. html += medcDays + '天 ';
  5747. html += ' <i class="fa fa-long-arrow-up" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="arrowUp(this)"></i>';
  5748. html += '<i class="fa fa-long-arrow-down" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="arrowDown(this)"></i>';
  5749. html += ' <i class="fa fa-long-arrow-left" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="editWpMedicine(this)"></i>';
  5750. html += '<i class="fa fa-remove" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="removeYpOrProject(6,this)"></i>';
  5751. html += '<input type="hidden" class="temporary_items_code" value="' + currentCode + '"/>';
  5752. html += '<input type="hidden" class="temporary_items_wpMedicineGroupId" value="' + groupId + '"/>';
  5753. html += '<input type="hidden" class="temporary_items_wpMedicineName" value="' + wpMedicineName + '"/>';
  5754. html += '<input type="hidden" class="temporary_items_rxItemTypeCode" value="' + rxItemTypeCode + '"/>';
  5755. html += '<input type="hidden" class="temporary_items_medcWayCodg" value="' + medcWayCodg + '"/>';
  5756. html += '<input type="hidden" class="temporary_items_medcDays" value="' + medcDays + '"/>';
  5757. html += '<input type="hidden" class="temporary_items_prdrName" value="' + prdrName + '"/>';
  5758. html += '<input type="hidden" class="temporary_items_sinDosunt" value="' + sinDosunt + '"/>';
  5759. html += '<input type="hidden" class="temporary_items_drugDosform" value="' + drugDosform + '"/>';
  5760. html += '<input type="hidden" class="temporary_items_sinDoscnt" value="' + sinDoscnt + '"/>';
  5761. html += '<input type="hidden" class="temporary_items_usedFrquCodg" value="' + usedFrquCodg + '"/>';
  5762. html += '<input type="hidden" class="temporary_items_drugDosunt" value="' + drugDosunt + '"/>';
  5763. html += '<input type="hidden" class="temporary_items_drugCnt" value="' + drugCnt + '"/>';
  5764. html += '<input type="hidden" class="temporary_items_drugSpec" value="' + drugSpec + '"/>';
  5765. html += '<input type="hidden" class="temporary_items_wpHospApprFlag" value="' + wpHospApprFlag + '"/>';
  5766. html += '</div>';
  5767. //当没有下一个兄弟节点或者当前编辑的药品是最后一个时,直接添加
  5768. if (nextObj == null || isLast) {
  5769. $(tableId).find("div:eq(0)").append(html);
  5770. } else {
  5771. $(nextObj).before(html);
  5772. }
  5773. if(needCalcu){
  5774. calculateTotalAmount(true)
  5775. }
  5776. clearWpOrder();
  5777. }
  5778. /**
  5779. * 保存当前诊疗项目到右边处方区域 需要提示加价
  5780. * @param calculateTotalAmountFlag 是否计算总金额 回写的时候一次计算
  5781. */
  5782. function saveZlItem(calculateTotalAmountFlag) {
  5783. //6岁内提示加价
  5784. var patientAge = $("#patientAge").text();
  5785. if (calculateTotalAmountFlag && patientAge != null && patientAge != "" && patientAge <= 6) {
  5786. $.ajax({
  5787. type: "GET",
  5788. url: '/thmz/checkAdditionally?code=' + $("#zl_current_code").val() + "&jcJyZltype=3",
  5789. contentType: "application/json;charset=UTF-8",
  5790. dataType: "json",
  5791. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  5792. async: false,
  5793. success: function (res) {
  5794. if (res == '401' || res == 401) {
  5795. window.location.href = '/thmz/login/view'
  5796. return;
  5797. }
  5798. if (res.code == 0) {
  5799. if (res.data != undefined && res.data != null && res.data.co != null && res.data.co == 1 && res.data.xlCode != null && res.data.xlCode != "") {
  5800. var xlCode = res.data.xlCode;
  5801. xlCode = Multiply(100, xlCode);
  5802. $("#messageModal").modal();
  5803. $("#messageContent").html("根据【湘医保发〔2020〕51 号】价格通知,不满7周岁的儿童诊疗费上调" + xlCode + "%,是否需要继续添加该项目?");
  5804. $("#messageButton").off("click").on("click", function (t) {
  5805. $("#messageModal").modal("hide");
  5806. saveZlItemReal(calculateTotalAmountFlag);
  5807. });
  5808. $("#cancelButton").off("click");
  5809. } else {
  5810. //虽然是不满6岁,但是也没有需要加收的项目,直接保存
  5811. saveZlItemReal(calculateTotalAmountFlag);
  5812. }
  5813. } else {
  5814. errorMesage(res);
  5815. }
  5816. }
  5817. });
  5818. } else {
  5819. saveZlItemReal(calculateTotalAmountFlag);
  5820. }
  5821. }
  5822. /**
  5823. * 保存当前项目到右边处方区域
  5824. * @param calculateTotalAmountFlag 是否计算总金额 回写的时候一次计算
  5825. */
  5826. function saveZlItemReal(calculateTotalAmountFlag) {
  5827. var tableId = $("#zlTab li.active").find("a").attr("href");
  5828. //组号
  5829. var groupId = $(tableId).find("div:eq(0)").children().length + 1;
  5830. //项目名称
  5831. var zlItem = $("#zlItem").val();
  5832. //当前项目编码
  5833. var currentCode = $("#zl_current_code").val();
  5834. //当前项目价格
  5835. var zlItemPrice = $("#zlItemPrice").val();
  5836. //单位
  5837. var chargeUnit = $("#chargeUnit").val();
  5838. //执行科室
  5839. var zlExecUnit = $("#zlExecUnit").val();
  5840. //执行科室
  5841. var zlExecUnitName = $('#zlExecUnit option:selected').text();
  5842. zlExecUnitName = zlExecUnitName.substring(0, zlExecUnitName.indexOf("("));
  5843. //单量
  5844. var itemQuantity = $("#itemQuantity").val();
  5845. //规格
  5846. var descriptions = $("#descriptions").val();
  5847. //天数
  5848. var dayZlNum = $("#dayZlNum").val();
  5849. //频次
  5850. var orderFrequencyZl = $("#orderFrequencyZl").val();
  5851. //总量
  5852. var totalNumZl = $("#totalNumZl").val();
  5853. //描述编码
  5854. var chargeUnitCode = chargeUnit;
  5855. //备注
  5856. var remark = $("#zlRemark").val();
  5857. //报销自费标识
  5858. var zlHospApprFlag = $("#zlHospApprFlag").val();
  5859. if (calculateTotalAmountFlag == true) {
  5860. if (currentCode == null || currentCode == '') {
  5861. errorMesageSimaple("未选择任何项目!");
  5862. return;
  5863. }
  5864. if (totalNumZl == null || totalNumZl == "" || totalNumZl == "null") {
  5865. errorMesageSimaple("项目使用总量为空!");
  5866. return;
  5867. }
  5868. }
  5869. //判断是否有重复的项目 返回true 说明有重复的
  5870. if (verifyRepeat(currentCode, null, null, 3)) {
  5871. return;
  5872. }
  5873. //原药品金额 如果是修改则需要设置
  5874. var temporaryItemsAmount = 0;
  5875. //当前需要被移除元素的下个兄弟节点
  5876. var nextObj = null;
  5877. //当前修改的药品是不是最后一个
  5878. var isLast = false;
  5879. //是新增药品还是编辑 true 修改 默认false
  5880. var updateFlag = $("#zl_update_flag").val();
  5881. if (updateFlag == undefined || updateFlag == null) {
  5882. updateFlag = false;
  5883. }
  5884. //如果是修改,需要减去原来的费用
  5885. //原组号
  5886. var oriGroupId = null;
  5887. if (updateFlag == "true" || updateFlag == true) {
  5888. var formGroups = $(tableId).find("div.cf_content").find("div.form-group");
  5889. if (formGroups != null && formGroups.length > 0) {
  5890. var updateOriCode = $("#update_ori_code").val();
  5891. for (var i = 0; i < formGroups.length; i++) {
  5892. var temporaryItemsCode = $(formGroups[i]).find("input.temporary_items_code").val();
  5893. if (temporaryItemsCode === updateOriCode) {
  5894. temporaryItemsAmount = $(formGroups[i]).find("input.temporary_items_amount").val();
  5895. if (formGroups.length > 1) {
  5896. nextObj = $(formGroups[i]).next();
  5897. }
  5898. isLast = (i + 1) === formGroups.length;
  5899. oriGroupId = $(formGroups[i]).find("span.zlItemGroupId").text();
  5900. $(formGroups[i]).remove();
  5901. break;
  5902. }
  5903. }
  5904. }
  5905. }
  5906. if (oriGroupId != null) {
  5907. groupId = oriGroupId;
  5908. }
  5909. var html = '<div class="form-group">';
  5910. html += '<span class="zlItemGroupId">' + groupId + '</span>.<span style="margin-left: 5px"></span>'
  5911. html += zlItem + ' ';
  5912. if (descriptions != null && descriptions != "") {
  5913. html += " 规格:" + descriptions;
  5914. }
  5915. html += " 单量:" + itemQuantity;
  5916. if (chargeUnit != null && chargeUnit != '') {
  5917. html += chargeUnit;
  5918. }
  5919. if (dayZlNum != null && dayZlNum != "") {
  5920. html += " 天数:" + dayZlNum + "天";
  5921. }
  5922. if (orderFrequencyZl != null && orderFrequencyZl != "") {
  5923. html += " 频次:" + orderFrequencyZl;
  5924. }
  5925. if (totalNumZl != null && totalNumZl != "") {
  5926. html += " 总量:" + totalNumZl;
  5927. if (chargeUnit != null && chargeUnit != '') {
  5928. html += chargeUnit;
  5929. }
  5930. }
  5931. if (zlExecUnit != null && zlExecUnit != "") {
  5932. html += " 执行科室:" + zlExecUnitName;
  5933. }
  5934. if (remark != null && remark != '') {
  5935. html += ' 备注:' + remark;
  5936. }
  5937. html += ' <i class="fa fa-long-arrow-up" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="arrowUp(this)"></i>';
  5938. html += '<i class="fa fa-long-arrow-down" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="arrowDown(this)"></i>';
  5939. html += ' <i class="fa fa-long-arrow-left" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="editZlItem(this)"></i>';
  5940. html += '<i class="fa fa-remove" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="removeYpOrProject(3,this)"></i>';
  5941. html += '<input type="hidden" class="temporary_items_code" value="' + currentCode + '"/>';
  5942. html += '<input type="hidden" class="temporary_items_zlItemName" value="' + zlItem + '"/>';
  5943. html += '<input type="hidden" class="temporary_items_amount" value="' + zlItemPrice + '"/>';
  5944. html += '<input type="hidden" class="temporary_items_remark" value="' + remark + '"/>';
  5945. html += '<input type="hidden" class="temporary_items_desc_value" value="' + chargeUnitCode + '"/>';
  5946. html += '<input type="hidden" class="temporary_items_itemQuantity" value="' + itemQuantity + '"/>';
  5947. html += '<input type="hidden" class="temporary_items_execUnit" value="' + zlExecUnit + '"/>';
  5948. html += '<input type="hidden" class="temporary_items_descriptions" value="' + descriptions + '"/>';
  5949. html += '<input type="hidden" class="temporary_items_dayZlNum" value="' + dayZlNum + '"/>';
  5950. html += '<input type="hidden" class="temporary_items_orderFrequencyZl" value="' + orderFrequencyZl + '"/>';
  5951. html += '<input type="hidden" class="temporary_items_zlHospApprFlag" value="' + zlHospApprFlag + '"/>';
  5952. html += '<input type="hidden" class="temporary_items_totalNumZl" value="' + totalNumZl + '"/>';
  5953. html += '</div>';
  5954. //当没有下一个兄弟节点或者当前编辑的药品是最后一个时,直接添加
  5955. if (nextObj == null || isLast) {
  5956. $(tableId).find("div:eq(0)").append(html);
  5957. } else {
  5958. $(nextObj).before(html);
  5959. }
  5960. //设置当前处方金额
  5961. //calculateCfAmount(tableId, jcjyItemPrice, temporaryItemsAmount, 2, 0);
  5962. if (calculateTotalAmountFlag) {
  5963. //设置总金额
  5964. calculateTotalAmount(true);
  5965. }
  5966. clearZlItem();
  5967. }
  5968. /**
  5969. * 临时保存住院证
  5970. * @param messageFlag 是否需要提醒已经存在的入院申请 true 提示
  5971. */
  5972. function saveZyReq(messageFlag) {
  5973. //如果
  5974. if ($("#zyReqTab").find("li") == null || $("#zyReqTab").find("li").length == 0) {
  5975. initNavTabs(4, null, null);
  5976. }
  5977. var tableId = $("#zyReqTab li.active").find("a").attr("href");
  5978. //病区编码
  5979. var inpatientWardBeHospitalized = $("#inpatientWardBeHospitalized").val();
  5980. //小病室编码
  5981. var smallWardBeHospitalized = $("#smallWardBeHospitalized").val();
  5982. //入院状态编码
  5983. var admissStatus = $("#admissStatus").val();
  5984. //病区名称
  5985. var inpatientWardText = $('#inpatientWardBeHospitalized option:selected').text();
  5986. //小科室名称
  5987. var smallWardText = $('#smallWardBeHospitalized option:selected').text();
  5988. //入院状态名称
  5989. var admissStatusText = $('#admissStatus option:selected').text();
  5990. //入院病情代码
  5991. var conditionCode = $("#conditionCode").val();
  5992. //入院途径代码
  5993. var routeOfAdmission = $("#routeOfAdmission").val();
  5994. //联系人姓名
  5995. var contacterName = $("#contacterName").val();
  5996. //联系人关系
  5997. var contacterRelationship = $("#contacterRelationship").val();
  5998. //联系人电话
  5999. var contacterPhone = $("#contacterPhone").val();
  6000. //联系人地址
  6001. var contacterAddress = $("#contacterAddress").val();
  6002. //押金
  6003. var deposit = $("#deposit").val();
  6004. //入院病情代码
  6005. var conditionCodeText = $('#conditionCode option:selected').text();
  6006. //入院途径代码
  6007. var routeOfAdmissionText = $('#routeOfAdmission option:selected').text();
  6008. if (admissStatusText == null || admissStatusText == '') {
  6009. errorMesageSimaple("未选择入院状态!");
  6010. return;
  6011. }
  6012. if (conditionCode == null || conditionCode == '') {
  6013. errorMesageSimaple("未选择入院病情!");
  6014. return;
  6015. }
  6016. if (routeOfAdmission == null || routeOfAdmission == '') {
  6017. errorMesageSimaple("未选择入院途径!");
  6018. return;
  6019. }
  6020. if (inpatientWardBeHospitalized == null || inpatientWardBeHospitalized == '') {
  6021. errorMesageSimaple("未选择入院病区!");
  6022. return;
  6023. }
  6024. if (admissStatus == null || admissStatus == '') {
  6025. errorMesageSimaple("未选择入院状态!");
  6026. return;
  6027. }
  6028. if (messageFlag == "true" || messageFlag == true) {
  6029. var formGroups = $(tableId).find("div.cf_content").find("div.form-group");
  6030. if (formGroups != null && formGroups.length > 0) {
  6031. $("#messageModal").modal();
  6032. $("#messageContent").html("当前病人已经有一个暂存的入院申请,是否需要替换该申请?");
  6033. $("#messageButton").off("click").on("click", function (t) {
  6034. $("#messageModal").modal("hide");
  6035. saveZyReq(false);
  6036. });
  6037. $("#cancelButton").off("click");
  6038. return;
  6039. }
  6040. }
  6041. var html = '<div class="form-group"> 收住院';
  6042. if (inpatientWardText != null) {
  6043. html += " [" + inpatientWardText;
  6044. }
  6045. if (smallWardText != null) {
  6046. html += " (" + smallWardText + ") ";
  6047. }
  6048. if (inpatientWardText != null) {
  6049. html += "]";
  6050. }
  6051. if (admissStatusText != null) {
  6052. html += " " + admissStatusText;
  6053. }
  6054. if (conditionCodeText != null) {
  6055. html += " " + conditionCodeText;
  6056. }
  6057. if (routeOfAdmissionText != null) {
  6058. html += " " + routeOfAdmissionText;
  6059. }
  6060. html += ' 侯床';
  6061. //html += ' <i class="fa fa-long-arrow-left" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="editJyJcItem(this)"></i>';
  6062. html += '<i class="fa fa-remove" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="removeYpOrProject(3,this)"></i>';
  6063. html += '<input type="hidden" class="temporary_inpatient_ward" value="' + inpatientWardBeHospitalized + '"/>';
  6064. html += '<input type="hidden" class="temporary_items_small_ward" value="' + smallWardBeHospitalized + '"/>';
  6065. html += '<input type="hidden" class="temporary_items_admiss_status" value="' + admissStatus + '"/>';
  6066. html += '<input type="hidden" class="temporary_items_condition_code" value="' + conditionCode + '"/>';
  6067. html += '<input type="hidden" class="temporary_items_route_of_admission" value="' + routeOfAdmission + '"/>';
  6068. html += '<input type="hidden" class="temporary_items_contacter_name" value="' + contacterName + '"/>';
  6069. html += '<input type="hidden" class="temporary_items_contacter_relationship" value="' + contacterRelationship + '"/>';
  6070. html += '<input type="hidden" class="temporary_items_contacter_phone" value="' + contacterPhone + '"/>';
  6071. html += '<input type="hidden" class="temporary_items_contacter_address" value="' + contacterAddress + '"/>';
  6072. html += '<input type="hidden" class="temporary_items_deposit" value="' + deposit + '"/>';
  6073. html += '</div>';
  6074. $(tableId).find("div:eq(0)").html(html);
  6075. clearZyReq();
  6076. }
  6077. /**
  6078. * 临时保存门诊手术
  6079. * @param messageFlag 是否需要提醒已经存在的相同诊间手术申请 true 提示
  6080. */
  6081. function saveOpRecord(messageFlag) {
  6082. //如果
  6083. if ($("#opRecordTab").find("li") == null || $("#opRecordTab").find("li").length == 0) {
  6084. initNavTabs(5, null, null);
  6085. }
  6086. var tableId = $("#opRecordTab li.active").find("a").attr("href");
  6087. //手术名称编码
  6088. var opCode = $("#opName").val();
  6089. //手术名称
  6090. var opNameText = $('#opName option:selected').text();
  6091. //手术时间
  6092. var opTime = $("#opTime").val();
  6093. //急诊标志
  6094. var urgentClinicFlag = $("#urgentClinicFlag").val();
  6095. //急诊标志名称
  6096. var urgentClinicFlagText = $('#urgentClinicFlag option:selected').text();
  6097. //班次
  6098. var ssbc = $("#ssbc").val();
  6099. //班次名称
  6100. var ssbcText = $('#ssbc option:selected').text();
  6101. //手术部位
  6102. var partCode = $("#partCode").val();
  6103. //手术部位名称
  6104. var partCodeText = $('#partCode option:selected').text();
  6105. //手术等级
  6106. var opScale = $("#opScale").val();
  6107. //手术等级名称
  6108. var opScaleText = $('#opScale option:selected').text();
  6109. //麻醉方式
  6110. var hocusCode = $("#hocusCode").val();
  6111. //麻醉方式名称
  6112. var hocusCodeText = $('#hocusCode option:selected').text();
  6113. //主刀医生
  6114. var doctorZd = $("#doctorZd").val();
  6115. //主刀医生名称
  6116. var doctorZdText = $('#doctorZd option:selected').text();
  6117. var opRecordRemark = $("#opRecordRemark").val();
  6118. if (opCode == null || opCode == '') {
  6119. errorMesageSimaple("手术名称为空!");
  6120. return;
  6121. }
  6122. if (opTime == null || opTime == '') {
  6123. errorMesageSimaple("手术时间为空!");
  6124. return;
  6125. }
  6126. if (urgentClinicFlag == null || urgentClinicFlag == '') {
  6127. errorMesageSimaple("急诊标志为空!");
  6128. return;
  6129. }
  6130. if (ssbc == null || ssbc == '') {
  6131. errorMesageSimaple("班次为空!");
  6132. return;
  6133. }
  6134. if (partCode == null || partCode == '') {
  6135. errorMesageSimaple("手术部位为空!");
  6136. return;
  6137. }
  6138. if (opScale == null || opScale == '') {
  6139. errorMesageSimaple("手术等级为空!");
  6140. return;
  6141. }
  6142. if (hocusCode == null || hocusCode == '') {
  6143. errorMesageSimaple("麻醉方式为空!");
  6144. return;
  6145. }
  6146. if (doctorZd == null || doctorZd == '') {
  6147. errorMesageSimaple("主刀医生为空!");
  6148. return;
  6149. }
  6150. //判断是否有重复的项目 返回true 说明有重复的
  6151. if (verifyRepeat(opName, null, null, 5)) {
  6152. return;
  6153. }
  6154. //当前需要被移除元素的下个兄弟节点
  6155. var nextObj = null;
  6156. //当前修改的手术是不是最后一个
  6157. var isLast = false;
  6158. //是新增药品还是编辑 true 修改 默认false
  6159. var updateFlag = $("#op_record_update_flag").val();
  6160. if (updateFlag == undefined || updateFlag == null) {
  6161. updateFlag = false;
  6162. }
  6163. //如果是修改
  6164. if (updateFlag == "true" || updateFlag == true) {
  6165. var formGroups = $(tableId).find("div.cf_content").find("div.form-group");
  6166. if (formGroups != null && formGroups.length > 0) {
  6167. var updateOriCode = $("#update_ori_code").val();
  6168. for (var i = 0; i < formGroups.length; i++) {
  6169. var temporaryItemsCode = $(formGroups[i]).find("input.temporary_items_code").val();
  6170. if (temporaryItemsCode === updateOriCode) {
  6171. if (formGroups.length > 1) {
  6172. nextObj = $(formGroups[i]).next();
  6173. }
  6174. isLast = (i + 1) === formGroups.length;
  6175. $(formGroups[i]).remove();
  6176. break;
  6177. }
  6178. }
  6179. }
  6180. }
  6181. var html = '<div class="form-group"> 手术名称:' + opNameText + ' 时间:' + opTime + ' 急诊标志:' + urgentClinicFlagText + ' 班次:' + ssbcText + ' 手术部位:' + partCodeText + ' 手术等级:' + opScaleText + ' 麻醉方式:' + hocusCodeText + ' 主刀医生:' + doctorZdText + ' 附注说明:' + opRecordRemark;
  6182. html += ' <i class="fa fa-long-arrow-up" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="arrowUp(this)"></i>';
  6183. html += '<i class="fa fa-long-arrow-down" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="arrowDown(this)"></i>';
  6184. html += ' <i class="fa fa-long-arrow-left" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="editOpRecord(this)"></i>';
  6185. html += '<i class="fa fa-remove" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="removeYpOrProject(3,this)"></i>';
  6186. html += '<input type="hidden" class="temporary_items_code" value="' + opCode + '"/>';
  6187. html += '<input type="hidden" class="temporary_items_op_name" value="' + opNameText + '"/>';
  6188. html += '<input type="hidden" class="temporary_items_op_time" value="' + opTime + '"/>';
  6189. html += '<input type="hidden" class="temporary_items_urgent_clinic_flag" value="' + urgentClinicFlag + '"/>';
  6190. html += '<input type="hidden" class="temporary_items_ssbc" value="' + ssbc + '"/>';
  6191. html += '<input type="hidden" class="temporary_items_part_code" value="' + partCode + '"/>';
  6192. html += '<input type="hidden" class="temporary_items_op_scale" value="' + opScale + '"/>';
  6193. html += '<input type="hidden" class="temporary_items_hocus_code" value="' + hocusCode + '"/>';
  6194. html += '<input type="hidden" class="temporary_items_doctor_zd" value="' + doctorZd + '"/>';
  6195. html += '<input type="hidden" class="temporary_items_op_record_remark" value="' + opRecordRemark + '"/>';
  6196. html += '</div>';
  6197. //当没有下一个兄弟节点或者当前编辑的药品是最后一个时,直接添加
  6198. if (nextObj == null || isLast) {
  6199. $(tableId).find("div:eq(0)").append(html);
  6200. } else {
  6201. $(nextObj).before(html);
  6202. }
  6203. clearOpRecord();
  6204. }
  6205. /**
  6206. * 修改门诊手术
  6207. * @param obj
  6208. */
  6209. function editOpRecord(obj) {
  6210. //是新增药品还是编辑 true 修改 默认false
  6211. $("#op_record_update_flag").val(true);
  6212. var parentObject = $(obj).parent();
  6213. //当前项目编码
  6214. $("#opName").selectpicker('val', $(parentObject).find("input.temporary_items_code").val());
  6215. $('#opName').selectpicker('refresh');
  6216. $("#update_ori_code").val($(parentObject).find("input.temporary_items_code").val());
  6217. //手术时间
  6218. $("#opTime").val($(parentObject).find("input.temporary_items_op_time").val());
  6219. //急诊标志
  6220. $("#urgentClinicFlag").selectpicker('val', $(parentObject).find("input.temporary_items_urgent_clinic_flag").val());
  6221. $('#urgentClinicFlag').selectpicker('refresh');
  6222. //班次
  6223. $("#ssbc").selectpicker('val', $(parentObject).find("input.temporary_items_ssbc").val());
  6224. $('#ssbc').selectpicker('refresh');
  6225. //部位
  6226. $("#partCode").selectpicker('val', $(parentObject).find("input.temporary_items_part_code").val());
  6227. $('#partCode').selectpicker('refresh');
  6228. //等级
  6229. $("#opScale").selectpicker('val', $(parentObject).find("input.temporary_items_op_scale").val());
  6230. $('#opScale').selectpicker('refresh');
  6231. //麻醉方式
  6232. $("#hocusCode").selectpicker('val', $(parentObject).find("input.temporary_items_hocus_code").val());
  6233. $('#hocusCode').selectpicker('refresh');
  6234. //麻醉方式
  6235. $("#doctorZd").selectpicker('val', $(parentObject).find("input.temporary_items_doctor_zd").val());
  6236. $('#doctorZd').selectpicker('refresh');
  6237. $("#opRecordRemark").val($(parentObject).find("input.temporary_items_op_record_remark").val());
  6238. }
  6239. /**
  6240. * 删除药品或者项目
  6241. * @param index 0 西药 1 中药 2 检查检验 3诊疗 6外配药
  6242. * @param obj 当前点击的对象
  6243. */
  6244. function removeYpOrProject(index, obj) {
  6245. var tabId = null;
  6246. var className = null;
  6247. //西药
  6248. if (index == 0) {
  6249. tabId = "xyTab";
  6250. } else if (index == 1) {
  6251. //中成药
  6252. tabId = "zyTab";
  6253. } else if (index == 2) {
  6254. //辅助检查、检验
  6255. className = ".jcjyItemGroupId";
  6256. tabId = "jcjyTab";
  6257. } else if (index == 3) {
  6258. //诊疗
  6259. className = ".zlItemGroupId";
  6260. tabId = "zlTab";
  6261. }
  6262. else if (index == 4) {
  6263. //入院
  6264. tabId = "zyReqTab";
  6265. }
  6266. else if (index == 6) {
  6267. //外配药
  6268. className = ".wpMedicineGroupId";
  6269. tabId = "wpMedicineTab";
  6270. }
  6271. var tableId = $("#" + tabId + " li.active").find("a").attr("href");
  6272. //var totalRetprice = $(obj).parent().find("input.temporary_items_amount").val();
  6273. //calculateCfAmount(tableId, totalRetprice, null, index, 1);
  6274. //医技和诊疗的序号调整一下
  6275. if (index == 2 || index == 3) {
  6276. var nextAll = $(obj).parent().nextAll();
  6277. if (nextAll != null && nextAll.length > 0) {
  6278. for (var i = 0; i < nextAll.length; i++) {
  6279. var index = $(nextAll[i]).find(className).text();
  6280. $(nextAll[i]).find(className).text(index - 1);
  6281. }
  6282. }
  6283. }
  6284. var temporaryItemsGroupId = $(obj).parent().find("input.temporary_items_groupId").val();
  6285. var temporaryItemsGroupIds = $(obj).parent().parent().find("input.temporary_items_groupId");
  6286. if (temporaryItemsGroupIds != null && temporaryItemsGroupIds.length > 0) {
  6287. var count = 0;
  6288. for (var i = 0; i < temporaryItemsGroupIds.length; i++) {
  6289. if (temporaryItemsGroupId == $(temporaryItemsGroupIds[i]).val()) {
  6290. count++;
  6291. }
  6292. }
  6293. //当前删除的药品组号是最后一个的时候,清空缓存
  6294. if (count == 1) {
  6295. groupIdMap.remove(temporaryItemsGroupId);
  6296. gropuIdAndOrderNoMap.remove(temporaryItemsGroupId);
  6297. }
  6298. }
  6299. $(obj).parent().remove();
  6300. if (index != 4) {
  6301. calculateTotalAmount(false);
  6302. }
  6303. var formGroups = $(tableId).find("div.cf_content").find("div.form-group");
  6304. if (formGroups == null || formGroups.length == 0) {
  6305. if (index == 0) {
  6306. //西药被清空后,重置药房类型编码
  6307. $(tableId).find("input.current_groupNo").val(null);
  6308. //当本处方内容都被删除完后,也删除处方table
  6309. $("#" + tabId).find("a[href=\"" + tableId + "\"]").parent().remove();
  6310. $(tableId).remove();
  6311. //切换处方 最后一个被选中
  6312. $("#" + tabId).find("li:last > a").off("click").tab('show');
  6313. } else if (index == 1) {
  6314. //当中药处方被清空完后,重置当前中药类型为空
  6315. $("#current_zyClassType").val(null);
  6316. }
  6317. }
  6318. if (index == 0) {
  6319. resetGroupIdMap();
  6320. }
  6321. }
  6322. /**
  6323. * 重置组号与用法、频率天数缓存关系
  6324. */
  6325. function resetGroupIdMap() {
  6326. var temporaryItemsGroupIds = $("#xyTabContent").find("input.temporary_items_groupId");
  6327. if (temporaryItemsGroupIds != null && temporaryItemsGroupIds.length > 0) {
  6328. var list = [];
  6329. for (var i = 0; i < temporaryItemsGroupIds.length; i++) {
  6330. var groupId = $(temporaryItemsGroupIds[i]).val();
  6331. if (list.indexOf(groupId) < 0) {
  6332. list.push(groupId);
  6333. }
  6334. }
  6335. var keys = groupIdMap.keySet();
  6336. for (var i = 0; i < keys.length; i++) {
  6337. var key = keys[i];
  6338. if (list.indexOf(key) < 0) {
  6339. groupIdMap.remove(key);
  6340. }
  6341. }
  6342. }
  6343. }
  6344. /**
  6345. * 清空西药
  6346. * @param flag 是否全部清空 因为 西药有分组,同一组的药品用药方式和频率以及天数一样,不能改变。所以不换组是不能改变 并且设置成不可编辑
  6347. */
  6348. function clearWesternMedicine(flag) {
  6349. $("#addPDiv").css("margin-left", "125px");
  6350. $("#hlyyypsms").removeClass("in").addClass("hide");
  6351. $("#western_medicine_update_flag").val(false);
  6352. $("#western_medicine_ori_group_id").val(null);
  6353. $("#update_ori_code").val(null);
  6354. $("#update_ori_serial").val(null);
  6355. //药品名称
  6356. $("#western_medicine_name").val(null);
  6357. //当前药品编码
  6358. $("#western_medicine_current_code").val(null);
  6359. //当前药品规格
  6360. $("#western_medicine_current_serial").val(null);
  6361. //当前药房编码
  6362. $("#current_groupNo").val(null);
  6363. if (flag) {
  6364. //用法编码
  6365. $("#supplyType").selectpicker('val', null);
  6366. $('#supplyType').selectpicker('refresh');
  6367. //$("#supplyType").removeAttr("disabled");
  6368. //天数
  6369. $("#dayNum").selectpicker('val', null);
  6370. $('#dayNum').selectpicker('refresh');
  6371. // $("#dayNum").removeAttr("disabled");
  6372. //频次编码
  6373. $("#orderFrequency").selectpicker('val', null);
  6374. $('#orderFrequency').selectpicker('refresh');
  6375. // $("#orderFrequency").removeAttr("disabled");
  6376. }
  6377. //药品默认单次使用剂量
  6378. $("#drugWinDb").val(null);
  6379. //处方实际单次使用剂量
  6380. $("#drugWin").val(null);
  6381. //剂量单位
  6382. $("#drugWinUnit").selectpicker('val', null);
  6383. $('#drugWinUnit').selectpicker('refresh');
  6384. //总量
  6385. $("#gross").val(null);
  6386. //包装单位
  6387. $("#packUnit").selectpicker('val', null);
  6388. $('#packUnit').selectpicker('refresh');
  6389. //单价
  6390. $("#packRetprice").val(null);
  6391. //金额
  6392. $("#totalRetprice").val(null);
  6393. //医嘱
  6394. $("#medicalAdvice").selectpicker('val', null);
  6395. $('#medicalAdvice').selectpicker('refresh');
  6396. $("#xyHospApprFlag").selectpicker('val', '0');
  6397. $('#xyHospApprFlag').selectpicker('refresh');
  6398. $("#tryResult").parent().parent().parent().removeClass("in").addClass("hide");
  6399. //皮试结果
  6400. $("#tryResult").selectpicker('val', null);
  6401. $('#tryResult').selectpicker('refresh');
  6402. //$("#gross").attr("readonly", "readonly");
  6403. $("#manufactoryName").val(null);
  6404. $("#specification").val(null);
  6405. $("#categoriesFlag").val(null);
  6406. }
  6407. /**
  6408. * 保存当前药品到右边处方区域 中药
  6409. * calculateTotalAmountFlag 是否计算总金额 回写的时候一次计算
  6410. */
  6411. function saveChineseMedicine(calculateTotalAmountFlag) {
  6412. //药品名称
  6413. var chineseMedicineNamme = $("#chinese_medicine_name").val();
  6414. //当前药品编码
  6415. var currentCode = $("#chinese_medicine_current_code").val();
  6416. //当前药品规格
  6417. var currentSerial = $("#chinese_medicine_current_serial").val();
  6418. //处方实际单次使用剂量
  6419. var drugWin = $("#zy_drugWin").val();
  6420. //医嘱码
  6421. var zyInstruction = $("#zyInstruction").val();
  6422. //医嘱
  6423. var zyInstructionText = $('#zyInstruction option:selected').text();
  6424. //单价
  6425. var zyPackRetprice = parseFloat($("#zy_packRetprice").val());
  6426. //当前中药的总价
  6427. var totalRetprice = Multiply(drugWin, zyPackRetprice);
  6428. //中药类型
  6429. var zyClassType = $("#zyClassType").val();
  6430. //
  6431. var zyHospApprFlag = $("#zyHospApprFlag").val();
  6432. //已经选中的药品类型, 中药不允许一个处方里有普通中药和颗粒剂
  6433. var currentYyClassType = $("#current_zyClassType").val();
  6434. if (currentYyClassType == null || currentYyClassType == "") {
  6435. //中药此时是第一次选择药品,不控制类型
  6436. $("#current_zyClassType").val(zyClassType);
  6437. } else if (currentYyClassType != zyClassType) {
  6438. errorMesageSimaple("同一个中药处方不允许同时出现普通中药和颗粒剂中药!");
  6439. return;
  6440. }
  6441. if (currentCode == null || currentCode == '') {
  6442. errorMesageSimaple("未选择任何药品!");
  6443. return;
  6444. }
  6445. //颗粒 剂量只能为整数
  6446. if(zyClassType == '83' && !(/(^[1-9]\d*$)/.test(drugWin))){
  6447. errorMesageSimaple("颗粒剂处方剂量只能为大于等于1的正整数!");
  6448. return;
  6449. }
  6450. var html = '<div class="form-group" style="float: left;">';
  6451. html += chineseMedicineNamme;
  6452. if (zyInstruction != null && zyInstruction != '') {
  6453. html += '[' + zyInstructionText + ']';
  6454. }
  6455. html += '<span style="margin-left: 5px"></span>';
  6456. html += drugWin + $("#zyUnit").text();
  6457. html += ' <i class="fa fa-long-arrow-up" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="arrowUp(this)"></i>';
  6458. html += '<i class="fa fa-long-arrow-down" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="arrowDown(this)"></i>';
  6459. html += ' <i class="fa fa-long-arrow-left" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="editChineseMedicine(this)"></i>';
  6460. html += '<i class="fa fa-remove" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left:10px;" onclick="removeYpOrProject(1,this)"></i>';
  6461. html += '<input type="hidden" class="temporary_items_code" value="' + currentCode + '"/>';
  6462. html += '<input type="hidden" class="temporary_items_serial" value="' + currentSerial + '"/>';
  6463. html += '<input type="hidden" class="temporary_items_amount" value="' + totalRetprice + '"/>';
  6464. html += '<input type="hidden" class="temporary_items_zyClassType" value="' + zyClassType + '"/>';
  6465. html += '<input type="hidden" class="temporary_items_chineseMedicineNamme" value="' + chineseMedicineNamme + '"/>';
  6466. html += '<input type="hidden" class="temporary_items_zyPackRetprice" value="' + zyPackRetprice + '"/>';
  6467. html += '<input type="hidden" class="temporary_items_drugWin" value="' + drugWin + '"/>';
  6468. html += '<input type="hidden" class="temporary_items_drugUnit" value="' + $("#zyUnit").text() + '"/>';
  6469. html += '<input type="hidden" class="temporary_items_zyInstruction" value="' + zyInstruction + '"/>';
  6470. html += '<input type="hidden" class="temporary_items_zyInstructionText" value="' + zyInstructionText + '"/>';
  6471. html += '<input type="hidden" class="temporary_items_zyHospApprFlag" value="' + zyHospApprFlag + '"/>';
  6472. html += '</div>';
  6473. var tableId = $("#zyTab li.active").find("a").attr("href");
  6474. //原药品金额 如果是修改则需要设置
  6475. var temporaryItemsAmount = 0;
  6476. //当前需要被移除元素的下个兄弟节点
  6477. var nextObj = null;
  6478. //当前修改的药品是不是最后一个
  6479. var isLast = false;
  6480. //是新增药品还是编辑 true 修改 默认false
  6481. var updateFlag = $("#chinese_medicine_update_flag").val();
  6482. if (updateFlag == undefined || updateFlag == null) {
  6483. updateFlag = false;
  6484. }
  6485. //如果是修改,需要减去原来的费用
  6486. if (updateFlag == "true" || updateFlag == true) {
  6487. var formGroups = $(tableId).find("div.cf_content").find("div.form-group");
  6488. if (formGroups != null && formGroups.length > 0) {
  6489. //药品有可能会修改,所以,判断的时候要用原药品编码
  6490. var updateOriCode = $("#update_ori_code").val();
  6491. //规格有可能会修改,所以,判断的时候要用原规格
  6492. var updateOriSerial = $("#update_ori_serial").val();
  6493. for (var i = 0; i < formGroups.length; i++) {
  6494. var temporaryItemsCode = $(formGroups[i]).find("input.temporary_items_code").val();
  6495. var temporaryItemsSerial = $(formGroups[i]).find("input.temporary_items_serial").val();
  6496. if (temporaryItemsCode === updateOriCode && temporaryItemsSerial === updateOriSerial) {
  6497. temporaryItemsAmount = $(formGroups[i]).find("input.temporary_items_amount").val();
  6498. if (formGroups.length > 1) {
  6499. nextObj = $(formGroups[i]).next();
  6500. }
  6501. isLast = (i + 1) === formGroups.length;
  6502. $(formGroups[i]).remove();
  6503. break;
  6504. }
  6505. }
  6506. }
  6507. }
  6508. //当没有下一个兄弟节点或者当前编辑的药品是最后一个时,直接添加
  6509. if (nextObj == null || isLast) {
  6510. $(tableId).find("div:eq(0)").append(html);
  6511. } else {
  6512. $(nextObj).before(html);
  6513. }
  6514. //设置当前处方金额
  6515. // calculateCfAmount(tableId, totalRetprice, temporaryItemsAmount, 1, 0);
  6516. if (calculateTotalAmountFlag) {
  6517. //设置总金额
  6518. calculateTotalAmount(true);
  6519. }
  6520. clearChineseMedicine();
  6521. }
  6522. /**
  6523. * 清空中药
  6524. */
  6525. function clearChineseMedicine() {
  6526. $("#chinese_medicine_update_flag").val(false);
  6527. $("#update_ori_code").val(null);
  6528. $("#update_ori_serial").val(null);
  6529. //药品名称
  6530. $("#chinese_medicine_name").val(null);
  6531. //当前药品编码
  6532. $("#chinese_medicine_current_code").val(null);
  6533. //当前药品规格
  6534. $("#chinese_medicine_current_serial").val(null);
  6535. //医嘱
  6536. $("#zyInstruction").selectpicker('val', null);
  6537. $('#zyInstruction').selectpicker('refresh');
  6538. $("#zyHospApprFlag").selectpicker('val', '0');
  6539. $('#zyHospApprFlag').selectpicker('refresh');
  6540. //剂量
  6541. $("#zy_drugWin").val(null);
  6542. //单价
  6543. $("#zy_packRetprice").val(null);
  6544. zyUnitChange()
  6545. }
  6546. //中药单位改变
  6547. function zyUnitChange() {
  6548. var zyClassTypeTemp = $("#zyClassType").val()
  6549. if(zyClassTypeTemp == '83'){
  6550. $("#zyUnit").text('袋')
  6551. //煮取 剪法 隐藏
  6552. $("#cyZqlDiv").removeClass("in").addClass("hide");
  6553. $("#ZySupplyTypeDiv").removeClass("in").addClass("hide");
  6554. if($("#cyFjDiv")){
  6555. $("#cyFjDiv").removeClass("in").addClass("hide");
  6556. }
  6557. }else {
  6558. $("#zyUnit").text('g')
  6559. $("#cyZqlDiv").removeClass("hide").addClass("in");
  6560. $("#ZySupplyTypeDiv").removeClass("hide").addClass("in");
  6561. if($("#cyFjDiv")){
  6562. $("#cyFjDiv").removeClass("hide").addClass("in");
  6563. }
  6564. }
  6565. }
  6566. /**
  6567. * 清空辅助检查、检验项目
  6568. */
  6569. function clearJyJcItem() {
  6570. $("#update_ori_code").val(null);
  6571. $("#jcjy_update_flag").val(false);
  6572. //项目名称
  6573. $("#jcJyItem").val(null);
  6574. //当前项目编码
  6575. $("#jcjy_current_code").val(null);
  6576. //单价
  6577. $("#jcjyItemPrice").val(null);
  6578. //备注
  6579. $("#remark").val(null);
  6580. $("#jcJyZltype").val(null);
  6581. $("#jyZdSample").selectpicker('val', null);
  6582. $('#jyZdSample').selectpicker('refresh');
  6583. $("#yshPart").selectpicker('val', null);
  6584. $('#yshPart').selectpicker('refresh');
  6585. $("#execUnit").selectpicker('val', null);
  6586. $('#execUnit').selectpicker('refresh');
  6587. $("#jcJyItemChargeDetail").removeClass("in").addClass("hide");
  6588. $("#jyZdSampleDiv").removeClass("in").addClass("hide");
  6589. $("#jyQuantityDiv").removeClass("in").addClass("hide");
  6590. $("#yshPartDiv").removeClass("in").addClass("hide");
  6591. $("#jyQuantity").val(null);
  6592. }
  6593. /**
  6594. * 清空外配处方
  6595. */
  6596. function clearWpOrder() {
  6597. $("#wp_medicine_name").val(null);
  6598. $("#wp_medicine_update_flag").val(false);
  6599. $("#rxItemTypeCode").selectpicker('val', '11');
  6600. $('#rxItemTypeCode').selectpicker('refresh');
  6601. $('#medcWayCodg').val(null)
  6602. $('#medcWayCodg').selectpicker('refresh');
  6603. setSelectDefaultVal('medcDays',1)
  6604. $('#usedFrquCodg').val(null)
  6605. $('#usedFrquCodg').selectpicker('refresh');
  6606. $('#sinDosunt').val(null)
  6607. $('#prdrName').val(null)
  6608. $('#sinDoscnt').val('1')
  6609. setSelectDefaultVal('usedFrquCodg','13')
  6610. $('#drugDosunt').val(null)
  6611. $('#drugSpec').val(null)
  6612. $('#drugCnt').val(null)
  6613. $('#drugDosform').val(null)
  6614. $('#drugDosform').selectpicker('refresh');
  6615. $('#wpHospApprFlag').val('1')
  6616. $('#wpHospApprFlag').selectpicker('refresh');
  6617. }
  6618. /**
  6619. * 清空诊疗项目
  6620. */
  6621. function clearZlItem() {
  6622. $("#update_ori_code").val(null);
  6623. $("#zl_update_flag").val(false);
  6624. //项目名称
  6625. $("#zlItem").val(null);
  6626. //当前项目编码
  6627. $("#zl_current_code").val(null);
  6628. //单价
  6629. $("#zlItemPrice").val(null);
  6630. //备注
  6631. $("#zlRemark").val(null);
  6632. //描述
  6633. $("#chargeUnit").val(null);
  6634. $("#itemQuantity").val(1);
  6635. $("#descriptions").val(null);
  6636. $("#dayZlNum").selectpicker('val', 1);
  6637. $('#dayZlNum').selectpicker('refresh');
  6638. $("#zlHospApprFlag").selectpicker('val', '0');
  6639. $('#zlHospApprFlag').selectpicker('refresh');
  6640. $("#orderFrequencyZl").selectpicker('val', 'ONCE');
  6641. $('#orderFrequencyZl').selectpicker('refresh');
  6642. $("#totalNumZl").val(null);
  6643. $("#totalAmountZl").val(null);
  6644. $("#zlExecUnit").selectpicker('val', null);
  6645. $('#zlExecUnit').selectpicker('refresh');
  6646. }
  6647. /**
  6648. * 清空入院证输入框
  6649. */
  6650. function clearZyReq() {
  6651. $("#inpatientWardBeHospitalized").selectpicker('val', null);
  6652. $('#inpatientWardBeHospitalized').selectpicker('refresh');
  6653. $("#smallWardBeHospitalized").selectpicker('val', null);
  6654. $('#smallWardBeHospitalized').selectpicker('refresh');
  6655. $("#admissStatus").selectpicker('val', null);
  6656. $('#admissStatus').selectpicker('refresh');
  6657. $("#conditionCode").selectpicker('val', null);
  6658. $('#conditionCode').selectpicker('refresh');
  6659. $("#routeOfAdmission").selectpicker('val', null);
  6660. $('#routeOfAdmission').selectpicker('refresh');
  6661. $("#totalBedNum").val(null);
  6662. $("#freeBedNum").val(null);
  6663. $("#occupationBedNum").val(null);
  6664. $("#contacterName").val(null);
  6665. $("#contacterRelationship").selectpicker('val', null);
  6666. $('#contacterRelationship').selectpicker('refresh');
  6667. $("#contacterPhone").val(null);
  6668. $("#contacterAddress").val(null);
  6669. $("#deposit").val(null);
  6670. initSmallDeptByDept();
  6671. }
  6672. /**
  6673. * 清空门诊手术输入框
  6674. */
  6675. function clearOpRecord() {
  6676. $("#op_record_update_flag").val(false);
  6677. $("#opName").selectpicker('val', null);
  6678. $('#opName').selectpicker('refresh');
  6679. $("#urgentClinicFlag").selectpicker('val', null);
  6680. $('#urgentClinicFlag').selectpicker('refresh');
  6681. $("#ssbc").selectpicker('val', null);
  6682. $('#ssbc').selectpicker('refresh');
  6683. $("#partCode").selectpicker('val', null);
  6684. $('#partCode').selectpicker('refresh');
  6685. $("#opScale").selectpicker('val', null);
  6686. $('#opScale').selectpicker('refresh');
  6687. $("#opTime").val(null);
  6688. $("#hocusCode").selectpicker('val', null);
  6689. $('#hocusCode').selectpicker('refresh');
  6690. $("#doctorZd").selectpicker('val', null);
  6691. $('#doctorZd').selectpicker('refresh');
  6692. $("#opRecordRemark").val(null);
  6693. }
  6694. /**
  6695. * 计算总金额
  6696. * @param needRemoveLastObject 是否需要删除最后一次加进来的项目
  6697. */
  6698. function calculateTotalAmount(needRemoveLastObject) {
  6699. //调用后去除所有的验证提示
  6700. $("div.alert ").each(function (index, obj) {
  6701. $(obj).remove();
  6702. });
  6703. var jsonData = getParamsForpPrescription(3);
  6704. if(stringIsBlank(jsonData.visitDeptCode)){
  6705. jsonData.visitDeptCode = localStorage.getItem("currentDeptNo")
  6706. }
  6707. $.ajax({
  6708. type: "POST",
  6709. url: '/thmz/getAmountForTempPrescription',
  6710. contentType: "application/json;charset=UTF-8",
  6711. dataType: "json",
  6712. data: JSON.stringify(jsonData),
  6713. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  6714. success: function (res) {
  6715. if (res == '401' || res == 401) {
  6716. window.location.href = '/thmz/login/view'
  6717. return;
  6718. }
  6719. if (res.code == 0) {
  6720. if(!stringIsBlank(res.discountWarningMessage)){
  6721. warningMesageSimaple(res.discountWarningMessage)
  6722. }
  6723. if(!stringIsBlank(res.ypHealthEducation)){
  6724. $("#ypHealthEducation").val(res.ypHealthEducation)
  6725. }else {
  6726. $("#ypHealthEducation").val(null)
  6727. }
  6728. $("#totalAmount").html(res.data.amount.toFixed(2));
  6729. var arrs = $("span.cf_amount");
  6730. for (var i = 0; i < arrs.length; i++) {
  6731. if (res.data.amountList[i] != undefined && res.data.amountList[i] != null) {
  6732. $(arrs[i]).html(res.data.amountList[i].toFixed(2));
  6733. }
  6734. }
  6735. } else {
  6736. if (needRemoveLastObject) {
  6737. var index = getIndex("bill_item_group");
  6738. var tabId = null;
  6739. //西药
  6740. if (index == 0) {
  6741. tabId = "xyTab";
  6742. } else if (index == 1) {
  6743. //中成药
  6744. tabId = "zyTab";
  6745. } else if (index == 2) {
  6746. //辅助检查、检验
  6747. tabId = "jcjyTab";
  6748. } else if (index == 3) {
  6749. //诊疗
  6750. tabId = "zlTab";
  6751. } else if (index == 4) {
  6752. //入院
  6753. tabId = "zyReqTab";
  6754. } else if (index == 5) {
  6755. //手术
  6756. tabId = "opRecordTab";
  6757. }else if (index == 6) {
  6758. //手术
  6759. tabId = "wpMedicineTab";
  6760. }
  6761. var tableId = $("#" + tabId + " li.active").find("a").attr("href");
  6762. var last = $(tableId).find("div:eq(0)").find("div:last");
  6763. if (last != null) {
  6764. $(last).find("i:eq(2)").click();
  6765. $(last).find("i:eq(3)").click();
  6766. }
  6767. }
  6768. errorMesage(res);
  6769. }
  6770. }
  6771. });
  6772. }
  6773. // /**
  6774. // * 打开住院处理窗口
  6775. // * @param data
  6776. // */
  6777. // function beHospitalized() {
  6778. // $("#beHospitalizedModal").modal();
  6779. // //根据病人门诊id查询病人的入院申请
  6780. // $.ajax({
  6781. // type: "GET",
  6782. // url: '/thmz/getMzZyReqByPatientId?patientId=' + $("#patientId").text(),
  6783. // contentType: "application/json;charset=UTF-8",
  6784. // dataType: "json",
  6785. // headers: {
  6786. // 'Accept': 'application/json',
  6787. // 'Authorization': 'Bearer ' + localStorage.getItem("token")
  6788. // },
  6789. // success: function (resZyz) {
  6790. // if (resZyz == '401' || resZyz == 401) {
  6791. // window.location.href = '/thmz/login/view'
  6792. // return;
  6793. // }
  6794. // if (resZyz.code == 0) {
  6795. // $("#icdCodeInputBeHospitalized").val(resZyz.data.icdCode);
  6796. // $("#icdTextBeHospitalized").val(resZyz.data.icdText);
  6797. // $("#icdTextBeHospitalized").attr("title", resZyz.data.icdText);
  6798. // $("#inpatientWardBeHospitalized").selectpicker('val', resZyz.data.reqDept);
  6799. // $("#inpatientWardBeHospitalized").selectpicker('refresh');
  6800. // initSmallDeptByDept();
  6801. // $("#smallWardBeHospitalized").selectpicker('val', resZyz.data.smallDept);
  6802. // $("#smallWardBeHospitalized").selectpicker('refresh');
  6803. // $("#admissStatus").selectpicker('val', resZyz.data.admissStatus);
  6804. // $("#admissStatus").selectpicker('refresh');
  6805. // $("#zyReqVisitDate").val(format(resZyz.data.visitDate, "yyyy-MM-dd HH:mm:ss"));
  6806. // }
  6807. // }
  6808. // });
  6809. // }
  6810. /**
  6811. * 打开编辑用户信息窗口
  6812. * @param data
  6813. * @param type 1 患者详情处编辑 2 快速接诊处编辑 3 就诊详情预览
  6814. */
  6815. function editUserModal(patientId, type) {
  6816. if (type == 3) {
  6817. $("#editUserModalTitle").html("患者档案【预览】");
  6818. $("#saveEditUser").removeClass("in").addClass("hide");
  6819. } else {
  6820. $("#editUserModalTitle").html("患者档案【修改】");
  6821. $("#saveEditUser").removeClass("hide").addClass("in");
  6822. }
  6823. $("#openSource").val(type);
  6824. if (patientId == null) {
  6825. //医生工作台发起
  6826. patientId = $("#patientId").text();
  6827. }
  6828. // else {
  6829. // //快速接诊界面发起
  6830. // clearRapidAccepts();
  6831. // }
  6832. if (patientId == null || patientId == "null" || patientId == "") {
  6833. errorMesageSimaple("请输入需要编辑的患者信息");
  6834. return;
  6835. }
  6836. $("#rapidAcceptsModal").modal("hide");
  6837. $("#visitingDetailModal").modal("hide");
  6838. $("#editUserModal").modal();
  6839. $.ajax({
  6840. type: "GET",
  6841. url: '/thmz/getByPatientId?patientId=' + patientId,
  6842. contentType: "application/json;charset=UTF-8",
  6843. dataType: "json",
  6844. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  6845. success: function (res) {
  6846. if (res == '401' || res == 401) {
  6847. window.location.href = '/thmz/login/view'
  6848. return;
  6849. }
  6850. if (res.code == 0) {
  6851. if (res.data != null) {
  6852. //延时调用,因为当前弹框还没有加载出来,校验规则无法获取光标与模拟光标丢失事件,延时可以等弹框加载出来后模拟事件
  6853. setTimeout(function () {
  6854. fillPlusPatinet(res.data);
  6855. }, 400);
  6856. }
  6857. } else {
  6858. errorMesage(res);
  6859. $("#editUserModal").modal("hide");
  6860. }
  6861. }
  6862. });
  6863. }
  6864. /**
  6865. * 处方类型按钮切换事件
  6866. * @param object
  6867. * @param objectIndex
  6868. */
  6869. function billItemButtonChange(object, objectIndex) {
  6870. $(".nav-tabs").removeClass("in").addClass("hide");
  6871. $(".tab-content").removeClass("in").addClass("hide");
  6872. $(".nav-tabs:eq(" + objectIndex + ")").removeClass("hide").addClass("in");
  6873. $(".tab-content:eq(" + objectIndex + ")").removeClass("hide").addClass("in");
  6874. $("#bill_item_group").find("button").each(function (index, element) {
  6875. if ($(element).hasClass("btn-primary")) {
  6876. $(element).removeClass("btn-primary").addClass("btn-default");
  6877. }
  6878. $("#rp_form" + index).removeClass("show").addClass("hide");
  6879. });
  6880. $("#rp_form" + objectIndex).removeClass("hide").addClass("show");
  6881. $(object).removeClass("btn-default").addClass("btn-primary");
  6882. $("#western_medicine_name").webuiPopover('hide');
  6883. $("#chinese_medicine_name").webuiPopover('hide');
  6884. $("#jcJyItem").webuiPopover('hide');
  6885. $("#zlItem").webuiPopover('hide');
  6886. if (objectIndex == 0) {
  6887. $("#western_medicine_name").focus();
  6888. //有时候调用药品多了以后,会导致一个药品处方名对应多个content显现
  6889. var paneId = $("#xyTab li.active").find("a").attr("href");
  6890. if (paneId != null) {
  6891. //去除第一个字符 #
  6892. paneId = paneId.slice(1);
  6893. xyTableOnClick(paneId)
  6894. }
  6895. } else if (objectIndex == 1) {
  6896. $("#chinese_medicine_name").focus();
  6897. } else if (objectIndex == 2) {
  6898. $("#jcJyItem").focus();
  6899. } else if (objectIndex == 3) {
  6900. $("#zlItem").focus();
  6901. } else if (objectIndex == 4) {
  6902. // $("#inpatientWardBeHospitalized").next().click();
  6903. prevEleId = "zy_req_button";
  6904. } else if (objectIndex == 5) {
  6905. prevEleId = "op_record_button";
  6906. }else if (objectIndex == 6) {
  6907. $("#wp_medicine_name").focus();
  6908. }
  6909. }
  6910. /**
  6911. * 打开快速接诊窗口
  6912. * @param data
  6913. */
  6914. function rapidAcceptsModal() {
  6915. $("#rapidAcceptsModal").modal();
  6916. //延迟触发 默认光标在卡号输入框
  6917. setTimeout('$("#rapidAcceptsUserCardNo").focus();', 500);
  6918. }
  6919. /**
  6920. * checkBox样式
  6921. */
  6922. function formatCheck() {
  6923. if ($("input.flat")[0]) {
  6924. $(document).ready(function () {
  6925. $('input.flat').iCheck({
  6926. checkboxClass: 'icheckbox_flat-blue',
  6927. radioClass: 'iradio_flat-blue'
  6928. });
  6929. });
  6930. }
  6931. }
  6932. /**
  6933. * 卡号有变化后查询病人信息
  6934. */
  6935. function queryUserInfoByCardNo() {
  6936. //当反写的id不存在,说明不是查询后的改变事件,触发查询
  6937. var rapidAcceptsUserCardNo = $("#rapidAcceptsUserCardNo").val();
  6938. var index = rapidAcceptsUserCardNo.indexOf("-");
  6939. if (($("#patientIdDb").val() == null || $("#patientIdDb").val() == "")) {
  6940. $("#cardNo").attr("title", rapidAcceptsUserCardNo);
  6941. $.ajax({
  6942. type: "GET",
  6943. url: '/thmz/getByIcCardNo?icCardNo=' + rapidAcceptsUserCardNo,
  6944. contentType: "application/json;charset=UTF-8",
  6945. dataType: "json",
  6946. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  6947. success: function (res) {
  6948. if (res == '401' || res == 401) {
  6949. window.location.href = '/thmz/login/view'
  6950. return;
  6951. }
  6952. if (res.code == 0) {
  6953. if (res.data != null) {
  6954. $("#rapidAcceptsUserName").val(res.data.name);
  6955. $("#rapidAcceptsUserCode").val(res.data.patientId);
  6956. $("#patientIdDb").val(res.data.patientId);
  6957. $("#rapidAcceptsUserCardNo").val(res.data.icCardNo);
  6958. $("#rapidAcceptsUserGender").selectpicker('val', res.data.sex);
  6959. $("#rapidAcceptsUserGender").selectpicker('refresh');
  6960. $("#rapidAcceptsUserPhoneNum").val(res.data.phoneNo);
  6961. $("#rapidAcceptsUserIdCard").val(res.data.socialNo);
  6962. $('#rapidAcceptsUserCertificateType').selectpicker('val', '01');
  6963. $('#rapidAcceptsUserCertificateType').selectpicker('refresh');
  6964. $("#rapidAcceptsUserIdCard").attr("title", res.data.socialNo);
  6965. $("#rapidAcceptsUserPhoneNum").attr("title", res.data.phoneNo);
  6966. $('#rapidAcceptsProvinceCode').selectpicker('val', res.data.provinceCode);
  6967. $('#rapidAcceptsProvinceCode').selectpicker('refresh');
  6968. initCity(3, res.data.cityCode);
  6969. initDistrict(3, res.data.cityCode, res.data.districtCode);
  6970. $("#rapidAcceptsDetail").val(res.data.detail);
  6971. $("#rapidAcceptsUserAddress").attr("title", res.data.address);
  6972. $("#rapidAcceptsUserAddress").val(res.data.address);
  6973. $("#rapidAcceptsUserContact").val(res.data.relName);
  6974. $("#rapidAcceptsUserContactPhone").val(res.data.contractName);
  6975. //查询分诊号
  6976. $.ajax({
  6977. type: "POST",
  6978. url: '/thmz/getUnClinicWithPage',
  6979. contentType: "application/json;charset=UTF-8",
  6980. dataType: "json",
  6981. data: JSON.stringify({"patientId": res.data.patientId}),
  6982. headers: {
  6983. 'Accept': 'application/json',
  6984. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  6985. },
  6986. success: function (resFz) {
  6987. if (resFz == '401' || resFz == 401) {
  6988. window.location.href = '/thmz/login/view'
  6989. return;
  6990. }
  6991. if (resFz.code == 0) {
  6992. if (resFz.data == null || resFz.data.length == 0) {
  6993. errorMesageSimaple("没有查询到符合条件的分诊记录!");
  6994. clearRapidAcceptsModal();
  6995. return;
  6996. }
  6997. $("#mzfzSerialNo").val(resFz.data[0].serialNo);
  6998. }
  6999. }
  7000. });
  7001. } else {
  7002. errorMesageSimaple("病人信息不存在!");
  7003. }
  7004. } else {
  7005. errorMesage(res);
  7006. }
  7007. }
  7008. });
  7009. }
  7010. }
  7011. /**
  7012. * 清空快速接诊查询框
  7013. */
  7014. function clearRapidAccepts() {
  7015. $("#rapidAcceptsUserName").val(null);
  7016. $("#rapidAcceptsUserCode").val(null);
  7017. $("#patientIdDb").val(null);
  7018. $("#rapidAcceptsUserCardNo").val(null);
  7019. $("#rapidAcceptsUserGender").selectpicker('val', 0);
  7020. $("#rapidAcceptsUserGender").selectpicker('refresh');
  7021. $("#rapidAcceptsUserPhoneNum").val(null);
  7022. $("#rapidAcceptsUserIdCard").val(null);
  7023. $("#rapidAcceptsUserIdCard").attr("title", null);
  7024. $("#rapidAcceptsUserPhoneNum").attr("title", null);
  7025. $("#rapidAcceptsUserAddress").attr("title", null);
  7026. $("#mzfzSerialNo").val(null);
  7027. $("#rapidAcceptsUserCardNo").focus();
  7028. $("#rapidAcceptsUserAddress").val(null);
  7029. $("#rapidAcceptsUserContact").val(null);
  7030. $("#rapidAcceptsUserContactPhone").val(null);
  7031. }
  7032. /**
  7033. * 根据病人姓名输入框内容动态加载病人列表
  7034. */
  7035. function initUserList() {
  7036. //var width=$("#userName").css("width");
  7037. var settings = {
  7038. trigger: 'click',
  7039. content: '',
  7040. width: 170,
  7041. multi: true,
  7042. closeable: false,
  7043. style: '',
  7044. delay: 300,
  7045. padding: true,
  7046. height: 300,
  7047. };
  7048. var webuiPopover = $('#rapidAcceptsUserName').webuiPopover('destroy').webuiPopover(settings);
  7049. //用户姓名选中事件
  7050. $("#rapidAcceptsUserName").on("click", function (t) {
  7051. if ($(webuiPopover).css("display") == "block") {
  7052. refeshPatinetList(true);
  7053. }
  7054. });
  7055. }
  7056. /**
  7057. * 刷新候诊病人列表
  7058. */
  7059. function refeshPatinetList(flag) {
  7060. //如果是重新加载病人列表,需要重置下标
  7061. if (flag) {
  7062. //重置下标
  7063. pageIndex = 0;
  7064. msg_list_loading = true;
  7065. }
  7066. var userName = $('#rapidAcceptsUserName').val();
  7067. if (!(userName == null || userName == "" || isChinese(userName))) {
  7068. return;
  7069. }
  7070. $.ajax({
  7071. type: "POST",
  7072. url: '/thmz/getUnClinicWithPage',
  7073. contentType: "application/json;charset=UTF-8",
  7074. dataType: "json",
  7075. data: JSON.stringify({"name": userName, "pageIndex": pageIndex}),
  7076. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  7077. success: function (res) {
  7078. if (res == '401' || res == 401) {
  7079. window.location.href = '/thmz/login/view'
  7080. return;
  7081. }
  7082. if (res.code == 0) {
  7083. if (res.data != null && res.data.length > 0) {
  7084. $("#webuiPopover0").css("display", "block");
  7085. $("#webuiPopover0 .webui-popover-content").css("max-height", "300px").css("height", "auto");
  7086. var html = '<div class="list-group">';
  7087. for (var i = 0; i < res.data.length; i++) {
  7088. var mzPatientMi = res.data[i];
  7089. html += '<a href="#" class="list-group-item list-group-item-action" onclick="fillUnClinicPatinet(\'' + mzPatientMi.patientId + '\')">';
  7090. if (mzPatientMi.gender == "男") {
  7091. html += '<img src="/thmz/images/boy.png"/>'
  7092. } else if (mzPatientMi.gender == "女") {
  7093. html += '<img src="/thmz/images/girl.png"/>'
  7094. } else if (mzPatientMi.gender == "未知" || mzPatientMi.gender == null) {
  7095. html += '<img src="/thmz/images/girl_or_boy.png"/>'
  7096. }
  7097. html += '<div>' + mzPatientMi.name + '&nbsp;' + mzPatientMi.gender + '&nbsp;';
  7098. html += mzPatientMi.ageString;
  7099. if (mzPatientMi.phoneNo != null && mzPatientMi.phoneNo != "") {
  7100. html += '<span>' + mzPatientMi.phoneNo + '</span>';
  7101. }
  7102. html += '</div></a>';
  7103. }
  7104. html += '</div>';
  7105. if (flag) {
  7106. $("#webuiPopover0 div.webui-popover-content").html("");
  7107. }
  7108. $("#webuiPopover0 div.webui-popover-content").append(html);
  7109. $("#webuiPopover0 div.arrow").css("left", "23px");
  7110. refeshPatinetListScrollEvent();
  7111. } else {
  7112. $("#webuiPopover0").css("display", "none");
  7113. }
  7114. }
  7115. //查询完成,设置加载完成
  7116. msg_list_loading = false;
  7117. }
  7118. });
  7119. }
  7120. /**
  7121. * 病人下拉列表滚动条滚动到底部时继续加载新纪录
  7122. */
  7123. function refeshPatinetListScrollEvent() {
  7124. $('.webui-popover-content').scroll(function (event) {
  7125. var top = $(this).scrollTop();
  7126. var height = $(this).height();
  7127. var scrollHeight = $(this).get(0).scrollHeight;
  7128. if (scrollHeight <= top + height) {
  7129. if (!msg_list_loading) {
  7130. msg_list_loading = true;
  7131. pageIndex = pageIndex + 1;
  7132. refeshPatinetList(false);
  7133. }
  7134. }
  7135. });
  7136. }
  7137. /**
  7138. * 按照病人id查询病人信息
  7139. * @param patientId
  7140. */
  7141. function fillUnClinicPatinet(patientId) {
  7142. $("#rapidAcceptsUserCardNo").val(patientId);
  7143. $("#webuiPopover0").css("display", "none");
  7144. queryUserInfoByCardNo();
  7145. }
  7146. /**
  7147. * 加载主诉,体格检查,诊断窗口
  7148. */
  7149. function initRecommendList() {
  7150. var width = $("#symptom").parent().css("width");
  7151. var settings = {
  7152. placement: 'bottom-right',//值: auto,top,right,bottom,left,top-right,top-left,bottom-right,bottom-left 要显示的位置
  7153. trigger: 'click', //值:click,hover 触发方式 manual 手动
  7154. content: '',//内容,内容可以是函数
  7155. width: width,
  7156. //arrow:false,//是否显示箭头
  7157. multi: true,//在页面允许其他弹出层
  7158. closeable: true,//显示关闭按钮
  7159. style: '', //值:'',inverse
  7160. delay: 300,//延迟时间, 悬浮属性才执行
  7161. padding: true,//内容填充
  7162. height: 320,
  7163. //offsetTop:10,
  7164. cache: true,//如果缓存设置为false,则popover将销毁并重新创建
  7165. };
  7166. //主诉弹窗
  7167. var symptomWebuiPopover = $('#symptom').webuiPopover('destroy').webuiPopover(settings);
  7168. //体格检查弹窗
  7169. settings.height = 260;
  7170. $('#weight').webuiPopover('destroy').webuiPopover(settings);
  7171. //诊断弹窗
  7172. settings.height = 320;
  7173. var diagnoseWebuiPopover = $('#diagnose').webuiPopover('destroy').webuiPopover(settings);
  7174. //中医诊断弹窗
  7175. var tcmDiagnoseWebuiPopover = $('#tcmDiagnose').webuiPopover('destroy').webuiPopover(settings);
  7176. //西药弹窗
  7177. settings.width = 680;
  7178. settings.closeable = false;
  7179. settings.arrow = false;//显示箭头或不显示箭头
  7180. settings.content = '<div id="westernMedicinePopoverContent"><table id="tb_table_western_medicine"></table></div>';
  7181. //手动触发
  7182. settings.trigger = 'manual';
  7183. var westernMedicineWebuiPopover = $('#western_medicine_name').webuiPopover('destroy').webuiPopover(settings);
  7184. //中药弹窗
  7185. settings.trigger = 'click';
  7186. settings.content = '<div id="chineseMedicinePopoverContent"><table id="tb_table_chinese_medicine"></table></div>';
  7187. //手动触发
  7188. settings.trigger = 'manual';
  7189. var chineseMedicineWebuiPopover = $('#chinese_medicine_name').webuiPopover('destroy').webuiPopover(settings);
  7190. //辅助检查、检验弹窗
  7191. settings.trigger = 'manual';
  7192. settings.content = '<div id="jcJyItemPopoverContent"><table id="tb_table_jc_jy_item"></table></div>';
  7193. var jcJyItemWebuiPopover = $('#jcJyItem').webuiPopover('destroy').webuiPopover(settings);
  7194. //诊疗弹窗
  7195. settings.trigger = 'manual';
  7196. settings.content = '<div id="zlItemPopoverContent"><table id="tb_table_zl_item"></table></div>';
  7197. var zlItemWebuiPopover = $('#zlItem').webuiPopover('destroy').webuiPopover(settings);
  7198. //外配药弹窗
  7199. settings.trigger = 'manual';
  7200. settings.content = '<div id="wpMedicinePopoverContent"><table id="tb_table_wp_medicine"></table></div>';
  7201. var zlItemWebuiPopover = $('#wp_medicine_name').webuiPopover('destroy').webuiPopover(settings);
  7202. //主诉选中事件
  7203. $("#symptom").on("click", function (t) {
  7204. if ($(symptomWebuiPopover).css("display") == "block") {
  7205. $("#webuiPopover1 div.arrow").css("left", "23px");
  7206. var html = '<span style="font-size: 18px;margin-left: 20px!important;color: #2e69eb!important;line-height: 50px;">主诉</span>';
  7207. html += "<div style='width: 100%;height:210px;overflow-y: auto;padding: 0px 20px;' id='contentHtml'>";
  7208. html += "</div>";
  7209. html += '<div style="height: 60px; line-height: 60px; font-size: 14px;">' +
  7210. '<div style="float: left">' +
  7211. '<span style="margin-left: 20px;">内容:</span> ' +
  7212. '</div>' +
  7213. '<div style="float: left;">' +
  7214. '<select class="form-control selectpicker show-tick" id="paramsType" dropupAuto="true">' +
  7215. '<option label="常用症状" value="0">常用症状</option>' +
  7216. '<option label="常用时间" value="1">常用时间</option>' +
  7217. '<option label="常用标点" value="2">常用标点</option>' +
  7218. '<option label="常用词" value="3">常用词</option>' +
  7219. '</select> ' +
  7220. '</div>' +
  7221. '<div style="width: 200px;float: left;margin-left: 10px;">' +
  7222. '<input id="paramsNameInput" class="form-control" type="text" style="position: relative;top: 13px;height: 34px;">' +
  7223. '</div>' +
  7224. '<div style="float: left;margin-left: 10px;">' +
  7225. ' <button type="button" class="btn" onclick="saveParams();"' +
  7226. ' style="height: 30px;line-height: 15px;border-color: #2e69eb!important;color: #2e69eb;background-color: white;">' +
  7227. ' <svg class="bi" width="1em" height="1em" fill="currentColor" style="vertical-align: -.15em;margin-right: 10px!important;color: #2e69eb;">' +
  7228. ' <use xlink:href="/thmz/css/bootstrap/bootstrap-icons-1.5.0/bootstrap-icons.svg#plus-circle"></use>' +
  7229. ' </svg>' +
  7230. '新增' +
  7231. ' </button>' +
  7232. ' </div>' +
  7233. '</div>';
  7234. $("#webuiPopover1 div.webui-popover-content").html(html);
  7235. $('#paramsType').selectpicker('refresh');
  7236. $("#paramsType").parent().css("width", "140px").css("height", "34px");
  7237. $("#webuiPopover1").css("z-index", "10");
  7238. if ($("#webuiPopover1").hasClass("in")) {
  7239. loadSymptom();
  7240. }
  7241. }
  7242. //加载智能接诊模块的主诉推荐
  7243. fitSymptomData();
  7244. });
  7245. //体格检查各输入框选中事件
  7246. $("#weight,#temperature,#sphygmus,#breathe,#pressure_high,#pressure_floor,#pressure_high_left,#pressure_floor_left").on("click", function (t) {
  7247. if ($("#webuiPopover2").css("display") == "block") {
  7248. $("#webuiPopover2").css("left", $("#webuiPopover1").css("left"));
  7249. if ($("#healthCheckupContentHtml").html() == null || $("#healthCheckupContentHtml").html() == "") {
  7250. $("#webuiPopover2 div.arrow").css("left", "23px");
  7251. var html = '<span style="font-size: 18px;margin-left: 20px!important;color: #2e69eb!important;line-height: 50px;">体格检查</span>';
  7252. html += "<div style='width: 100%;height:210px;overflow-y: auto;padding: 0px 20px;' id='healthCheckupContentHtml'>";
  7253. html += "</div>";
  7254. $("#webuiPopover2 div.webui-popover-content").html(html);
  7255. $("#webuiPopover2").css("z-index", "10");
  7256. if ($("#webuiPopover2").hasClass("in")) {
  7257. loadHealthCheckup();
  7258. }
  7259. }
  7260. //loadSymptom();
  7261. } else {
  7262. $('#weight').webuiPopover('show');
  7263. $("#webuiPopover2").css("left", $("#webuiPopover1").css("left"));
  7264. if ($("#healthCheckupContentHtml").html() == null || $("#healthCheckupContentHtml").html() != "") {
  7265. $("#webuiPopover2 div.arrow").css("left", "23px");
  7266. var html = '<span style="font-size: 18px;margin-left: 20px!important;color: #2e69eb!important;line-height: 50px;">体格检查</span>';
  7267. html += "<div style='width: 100%;height:210px;overflow-y: auto;padding: 0px 20px;' id='healthCheckupContentHtml'>";
  7268. html += "</div>";
  7269. $("#webuiPopover2 div.webui-popover-content").html(html);
  7270. $("#webuiPopover2").css("z-index", "10");
  7271. if ($("#webuiPopover2").hasClass("in")) {
  7272. loadHealthCheckup();
  7273. }
  7274. }
  7275. }
  7276. return false;
  7277. });
  7278. //诊断选中事件
  7279. $("#diagnose").on("click", function (t) {
  7280. $("#western_medicine_name").webuiPopover('hide');
  7281. $("#chinese_medicine_name").webuiPopover('hide');
  7282. $("#jcJyItem").webuiPopover('hide');
  7283. $("#zlItem").webuiPopover('hide');
  7284. if ($(diagnoseWebuiPopover).css("display") == "block") {
  7285. $("#webuiPopover3 div.arrow").css("left", "23px");
  7286. $("#webuiPopover3 a.close").css("margin-top", "15px");
  7287. var html = '<span style="font-size: 18px;margin-left: 20px!important;color: #2e69eb!important;line-height: 50px;">诊断</span>';
  7288. html += '<div class="form-group has-feedback" style="float: right;width: 300px;margin-right: 20px;margin-top: 10px;">' +
  7289. ' <input type="text" class="form-control has-feedback-left" ' +
  7290. ' placeholder="搜索" style="padding-left: 10px;" onkeyup="debounce(loadDiagnose(this.value),100,true)" id="paramsDiagnose">' +
  7291. ' <span class="fa fa-search form-control-feedback right" aria-hidden="true" style="right: 0px;"></span>' +
  7292. ' </div>';
  7293. html += "<div style='width: 100%;height:210px;overflow-y: auto;padding: 0px 20px;' id='diagnoseContentHtml'>";
  7294. html += "</div>";
  7295. $("#webuiPopover3 div.webui-popover-content").html(html);
  7296. $("#webuiPopover3").css("z-index", "10");
  7297. //$("#paramsDiagnose").on('input propertychange', loadDiagnose($("#paramsDiagnose").val()));
  7298. //中文会导致查询混乱
  7299. $("#paramsDiagnose").on('compositionstart', function () {
  7300. $("#paramsDiagnose").attr("isNeedPrevent", true);
  7301. });
  7302. $("#paramsDiagnose").on('compositionend', function () {
  7303. $("#paramsDiagnose").attr("isNeedPrevent", false);
  7304. });
  7305. loadDiagnose("");
  7306. }
  7307. //加载智能接诊模块的诊断推荐推荐
  7308. fitDiagnoseData();
  7309. });
  7310. //中医诊断
  7311. $("#tcmDiagnose").on("click", function (t) {
  7312. $("#western_medicine_name").webuiPopover('hide');
  7313. $("#chinese_medicine_name").webuiPopover('hide');
  7314. $("#jcJyItem").webuiPopover('hide');
  7315. $("#zlItem").webuiPopover('hide');
  7316. if ($(tcmDiagnoseWebuiPopover).css("display") == "block") {
  7317. $("#webuiPopover4 div.arrow").css("left", "23px");
  7318. $("#webuiPopover4 a.close").css("margin-top", "15px");
  7319. var html = '<span style="font-size: 18px;margin-left: 20px!important;color: #2e69eb!important;line-height: 50px;">诊断</span>';
  7320. html += '<div class="form-group has-feedback" style="float: right;width: 300px;margin-right: 20px;margin-top: 10px;">' +
  7321. ' <input type="text" class="form-control has-feedback-left" ' +
  7322. ' placeholder="搜索" style="padding-left: 10px;" onkeyup="debounce(loadtcmDiagnose(this.value),100,true)" id="paramstcmDiagnose">' +
  7323. ' <span class="fa fa-search form-control-feedback right" aria-hidden="true" style="right: 0px;"></span>' +
  7324. ' </div>';
  7325. html += "<div style='width: 100%;height:210px;overflow-y: auto;padding: 0px 20px;' id='tcmDiagnoseContentHtml'>";
  7326. html += "</div>";
  7327. $("#webuiPopover4 div.webui-popover-content").html(html);
  7328. $("#webuiPopover4").css("z-index", "10");
  7329. //$("#paramsDiagnose").on('input propertychange', loadDiagnose($("#paramsDiagnose").val()));
  7330. //中文会导致查询混乱
  7331. $("#paramstcmDiagnose").on('compositionstart', function () {
  7332. $("#paramstcmDiagnose").attr("isNeedPrevent", true);
  7333. });
  7334. $("#paramstcmDiagnose").on('compositionend', function () {
  7335. $("#paramstcmDiagnose").attr("isNeedPrevent", false);
  7336. });
  7337. loadtcmDiagnose("");
  7338. }
  7339. //加载智能接诊模块的诊断推荐推荐
  7340. // fitDiagnoseData();
  7341. });
  7342. //现病史选中事件
  7343. $("#emrHpi").on("click", function (t) {
  7344. //加载智能接诊模块的现病史推荐推荐
  7345. fitEmrHpiData();
  7346. });
  7347. //既往史选中事件
  7348. $("#emrPs").on("click", function (t) {
  7349. //加载智能接诊模块的既往史推荐推荐
  7350. fitEmrPsData();
  7351. });
  7352. // //西药选中事件
  7353. // $("#western_medicine_name").on("click", function (t) {
  7354. // if ($(westernMedicineWebuiPopover).css("display") == "block") {
  7355. // $("#westernMedicinePopoverContent").parent().parent().prev().css("left", "23px");
  7356. // loadYpList(0);
  7357. // }
  7358. // });
  7359. // //中药选中事件
  7360. // $("#chinese_medicine_name").on("click", function (t) {
  7361. // if ($(chineseMedicineWebuiPopover).css("display") == "block") {
  7362. // $("#chineseMedicinePopoverContent").parent().parent().prev().css("left", "23px");
  7363. // loadYpList(1);
  7364. // }
  7365. // });
  7366. // //诊疗与医技弹窗选中事件
  7367. // $("#jcJyItem").on("click", function (t) {
  7368. // if ($(jcJyItemWebuiPopover).css("display") == "block") {
  7369. // $("#jcJyItemPopoverContent").parent().parent().prev().css("left", "23px");
  7370. // loadjcJyItemList();
  7371. // }
  7372. // });
  7373. //帮助字典弹窗
  7374. settings.width = 450;
  7375. settings.height = 500;
  7376. settings.placement = 'right';//值: auto,top,right,bottom,left,top-right,top-left,bottom-right,bottom-left 要显示的位置
  7377. settings.content = '<div id="treePopoverContent"><div><ul id="treeDemo" class="ztree"></ul></div></div>';
  7378. settings.trigger = 'click';
  7379. var treeWebuiPopover = $('#treeButton').webuiPopover('destroy').webuiPopover(settings);
  7380. $("#treeButton").on("click", function (t) {
  7381. // $("#treePopoverContent").parent().parent().prev().css("left", "23px");
  7382. //初始化药品,检查检验菜单树
  7383. initzTree();
  7384. });
  7385. }
  7386. /**
  7387. * 新增通用参数
  7388. */
  7389. function saveParams() {
  7390. $.ajax({
  7391. type: "POST",
  7392. url: '/thmz/saveTCommonParams',
  7393. contentType: "application/json;charset=UTF-8",
  7394. dataType: "json",
  7395. data: JSON.stringify({
  7396. "paramsType": $("#paramsType").val(),
  7397. "paramsName": $("#paramsNameInput").val()
  7398. }),
  7399. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  7400. success: function (res) {
  7401. if (res == '401' || res == 401) {
  7402. window.location.href = '/thmz/login/view'
  7403. return;
  7404. }
  7405. if (res.code == 0) {
  7406. successMesage(res);
  7407. loadSymptom();
  7408. $("#paramsNameInput").val(null);
  7409. // $("#paramsType").selectpicker('val', 0);
  7410. // $("#paramsType").selectpicker('refresh');
  7411. } else {
  7412. errorMesage(res);
  7413. }
  7414. }
  7415. });
  7416. }
  7417. /**
  7418. * 加载主诉参数列表
  7419. */
  7420. function loadSymptom() {
  7421. $.ajax({
  7422. type: "GET",
  7423. url: '/thmz/loadSymptom',
  7424. contentType: "application/json;charset=UTF-8",
  7425. dataType: "json",
  7426. async: false,
  7427. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  7428. success: function (res) {
  7429. if (res == '401' || res == 401) {
  7430. window.location.href = '/thmz/login/view'
  7431. return;
  7432. }
  7433. var html = '';
  7434. if (res.code == 0) {
  7435. if (res.featureList != null && res.featureList.length > 0) {
  7436. html += '<div id="feature">';
  7437. html += '<div style="width: 80px; line-height: 25px; float: left;font-size: 16px;">常用症状:</div>';
  7438. html += '<div style="width: calc(100% - 80px); float: left;">';
  7439. for (var i = 0; i < res.featureList.length; i++) {
  7440. html += '<button type="button" class="button_color" style="background-color: rgb(255, 255, 255);border: none;" onclick="fitValue(\'' + res.featureList[i].paramsName + '\',\'symptom\')"><span style="padding: 0px 5px;">';
  7441. html += res.featureList[i].paramsName;
  7442. html += '</span></button>';
  7443. }
  7444. html += '</div><div style="clear:both"></div></div>';
  7445. }
  7446. if (res.timeList != null && res.timeList.length > 0) {
  7447. html += '<div id="time">';
  7448. html += '<div style="width: 80px; line-height: 25px; float: left;font-size: 16px;">常用时间:</div>';
  7449. html += '<div style="width: calc(100% - 80px); float: left;">';
  7450. for (var i = 0; i < res.timeList.length; i++) {
  7451. html += '<button type="button" class="button_color" style="background-color: rgb(255, 255, 255);border: none;" onclick="fitValue(\'' + res.timeList[i].paramsName + '\',\'symptom\')"><span style="padding: 0px 5px;">';
  7452. html += res.timeList[i].paramsName;
  7453. html += '</span></button>';
  7454. }
  7455. html += '</div><div style="clear:both"></div></div>';
  7456. }
  7457. if (res.characterList != null && res.characterList.length > 0) {
  7458. html += '<div id="character">';
  7459. html += '<div style="width: 80px; line-height: 25px; float: left;font-size: 16px;">常用标点:</div>';
  7460. html += '<div style="width: calc(100% - 80px); float: left;">';
  7461. for (var i = 0; i < res.characterList.length; i++) {
  7462. html += '<button type="button" class="button_color" style="background-color: rgb(255, 255, 255);border: none;" onclick="fitValue(\'' + res.characterList[i].paramsName + '\',\'symptom\')"><span style="padding: 0px 5px;">';
  7463. html += res.characterList[i].paramsName;
  7464. html += '</span></button>';
  7465. }
  7466. html += '</div><div style="clear:both"></div></div>';
  7467. }
  7468. if (res.wordsList != null && res.wordsList.length > 0) {
  7469. html += '<div id="words">';
  7470. html += '<div style="width: 80px; line-height: 25px; float: left;font-size: 16px;">常用词:</div>';
  7471. html += '<div style="width: calc(100% - 80px); float: left;">';
  7472. for (var i = 0; i < res.wordsList.length; i++) {
  7473. html += '<button type="button" class="button_color" style="background-color: rgb(255, 255, 255);border: none;" onclick="fitValue(\'' + res.wordsList[i].paramsName + '\',\'symptom\')"><span style="padding: 0px 5px;">';
  7474. html += res.wordsList[i].paramsName;
  7475. html += '</span></button>';
  7476. }
  7477. html += '</div><div style="clear:both"></div></div>';
  7478. }
  7479. } else {
  7480. errorMesage(res);
  7481. }
  7482. $("#contentHtml").html(html);
  7483. }
  7484. });
  7485. }
  7486. /**
  7487. * 加载体格检查参数列表
  7488. */
  7489. function loadHealthCheckup() {
  7490. $.ajax({
  7491. type: "GET",
  7492. url: '/thmz/loadHealthCheckup',
  7493. contentType: "application/json;charset=UTF-8",
  7494. dataType: "json",
  7495. async: false,
  7496. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  7497. success: function (res) {
  7498. if (res == '401' || res == 401) {
  7499. window.location.href = '/thmz/login/view'
  7500. return;
  7501. }
  7502. var html = '';
  7503. if (res.code == 0) {
  7504. if (res.weightList != null && res.weightList.length > 0) {
  7505. html += '<div id="weightDiv">';
  7506. html += '<div style="width: 80px; line-height: 25px; float: left;font-size: 16px;">体重:</div>';
  7507. html += '<div style="width: calc(100% - 80px); float: left;">';
  7508. for (var i = 0; i < res.weightList.length; i++) {
  7509. html += '<button type="button" class="button_color" style="background-color: rgb(255, 255, 255);border: none;" onclick="fitValue(\'' + res.weightList[i].paramsName + '\',\'weight\')"><span style="padding: 0px 5px;">';
  7510. html += res.weightList[i].paramsName;
  7511. html += '</span></button>';
  7512. }
  7513. html += '</div><div style="clear:both"></div></div>';
  7514. }
  7515. if (res.temperatureList != null && res.temperatureList.length > 0) {
  7516. html += '<div id="temperatureDiv">';
  7517. html += '<div style="width: 80px; line-height: 25px; float: left;font-size: 16px;">体温:</div>';
  7518. html += '<div style="width: calc(100% - 80px); float: left;">';
  7519. for (var i = 0; i < res.temperatureList.length; i++) {
  7520. html += '<button type="button" class="button_color" style="background-color: rgb(255, 255, 255);border: none;" onclick="fitValue(\'' + res.temperatureList[i].paramsName + '\',\'temperature\')"><span style="padding: 0px 5px;">';
  7521. html += res.temperatureList[i].paramsName;
  7522. html += '</span></button>';
  7523. }
  7524. html += '</div><div style="clear:both"></div></div>';
  7525. }
  7526. if (res.sphygmusList != null && res.sphygmusList.length > 0) {
  7527. html += '<div id="sphygmusDiv">';
  7528. html += '<div style="width: 80px; line-height: 25px; float: left;font-size: 16px;">脉搏:</div>';
  7529. html += '<div style="width: calc(100% - 80px); float: left;">';
  7530. for (var i = 0; i < res.sphygmusList.length; i++) {
  7531. html += '<button type="button" class="button_color" style="background-color: rgb(255, 255, 255);border: none;" onclick="fitValue(\'' + res.sphygmusList[i].paramsName + '\',\'sphygmus\')"><span style="padding: 0px 5px;">';
  7532. html += res.sphygmusList[i].paramsName;
  7533. html += '</span></button>';
  7534. }
  7535. html += '</div><div style="clear:both"></div></div>';
  7536. }
  7537. if (res.breatheList != null && res.breatheList.length > 0) {
  7538. html += '<div id="breatheDiv">';
  7539. html += '<div style="width: 80px; line-height: 25px; float: left;font-size: 16px;">呼吸:</div>';
  7540. html += '<div style="width: calc(100% - 80px); float: left;">';
  7541. for (var i = 0; i < res.breatheList.length; i++) {
  7542. html += '<button type="button" class="button_color" style="background-color: rgb(255, 255, 255);border: none;" onclick="fitValue(\'' + res.breatheList[i].paramsName + '\',\'breathe\')"><span style="padding: 0px 5px;">';
  7543. html += res.breatheList[i].paramsName;
  7544. html += '</span></button>';
  7545. }
  7546. html += '</div><div style="clear:both"></div></div>';
  7547. }
  7548. if (res.pressureList != null && res.pressureList.length > 0) {
  7549. html += '<div id="pressureDiv">';
  7550. html += '<div style="width: 80px; line-height: 25px; float: left;font-size: 16px;">血压:</div>';
  7551. html += '<div style="width: calc(100% - 80px); float: left;">';
  7552. for (var i = 0; i < res.pressureList.length; i++) {
  7553. html += '<button type="button" class="button_color" style="background-color: rgb(255, 255, 255);border: none;" onclick="fitValue(\'' + res.pressureList[i].paramsName + '\',\'pressure_\')"><span style="padding: 0px 5px;">';
  7554. html += res.pressureList[i].paramsName;
  7555. html += '</span></button>';
  7556. }
  7557. html += '</div><div style="clear:both"></div></div>';
  7558. }
  7559. } else {
  7560. errorMesage(res);
  7561. }
  7562. $("#healthCheckupContentHtml").html(html);
  7563. }
  7564. });
  7565. }
  7566. /**
  7567. * 加载中医诊断参数列表
  7568. */
  7569. function loadtcmDiagnose(value) {
  7570. if (!$("#webuiPopover4").hasClass("in")) {
  7571. return;
  7572. }
  7573. let isNeedPrevent = $("#paramstcmDiagnose").attr("isNeedPrevent");
  7574. if (isNeedPrevent == "true") {
  7575. return;
  7576. }
  7577. postAjaxJsonHttpRequst("/thmz/getTcmIcdCodeByParams",{name:value},true,function (res) {
  7578. var html = '';
  7579. if (res.code == 0) {
  7580. if (res.data != null && res.data.length > 0) {
  7581. html += '<div>';
  7582. for (var i = 0; i < res.data.length; i++) {
  7583. html += '<button type="button" class="button_color" style="background-color: rgb(255, 255, 255);border: none;" onclick="fitTcmDiagnoseValue(\'' + res.data[i].name + '\',\'' + res.data[i].code + '\')"><span style="padding: 0px 5px;font-size: 20px;">';
  7584. html += res.data[i].name;
  7585. html += '<small>&nbsp;&nbsp;(' + res.data[i].code + ')</small>';
  7586. html += '</span></button>';
  7587. }
  7588. html += '</div>';
  7589. }
  7590. } else {
  7591. errorMesage(res);
  7592. }
  7593. $("#tcmDiagnoseContentHtml").html(html);
  7594. })
  7595. }
  7596. /**
  7597. * 加载诊断参数列表
  7598. * @param value
  7599. */
  7600. function loadDiagnose(value) {
  7601. if (!$("#webuiPopover3").hasClass("in")) {
  7602. return;
  7603. }
  7604. var isNeedPrevent = $("#paramsDiagnose").attr("isNeedPrevent");
  7605. if (isNeedPrevent == "true") {
  7606. return;
  7607. }
  7608. $.ajax({
  7609. type: "GET",
  7610. url: '/thmz/getIcdCodeByParams?commonParams=' + value,
  7611. contentType: "application/json;charset=UTF-8",
  7612. dataType: "json",
  7613. async: false,
  7614. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  7615. success: function (res) {
  7616. if (res == '401' || res == 401) {
  7617. window.location.href = '/thmz/login/view'
  7618. return;
  7619. }
  7620. var html = '';
  7621. if (res.code == 0) {
  7622. let crbFlag = '1'
  7623. if (res.data != null && res.data.length > 0) {
  7624. html += '<div>';
  7625. for (var i = 0; i < res.data.length; i++) {
  7626. html += '<button type="button" class="button_color" style="background-color: rgb(255, 255, 255);border: none;" onclick="fitDiagnoseValue(\'' + res.data[i].name + '\',\'' + res.data[i].code + '\',\'' + crbFlag + '\',\'' + res.data[i].infectiousdiseasesFlag + '\')"><span style="padding: 0px 5px;font-size: 20px;">';
  7627. html += res.data[i].name;
  7628. html += '<small>&nbsp;&nbsp;(' + res.data[i].code + ')</small>';
  7629. html += '</span></button>';
  7630. }
  7631. html += '</div>';
  7632. }
  7633. } else {
  7634. errorMesage(res);
  7635. }
  7636. $("#diagnoseContentHtml").html(html);
  7637. }
  7638. });
  7639. }
  7640. /**
  7641. * 填充中医诊断
  7642. */
  7643. function fitTcmDiagnoseValue(name, code) {
  7644. if (code === null || code === "") {
  7645. return;
  7646. }
  7647. let html = '';
  7648. let childrenNum = $("#tcmDiagnoseTags").children().length;
  7649. if (childrenNum == 6) {
  7650. errorMesageSimaple("最多填写六个诊断!");
  7651. return;
  7652. }
  7653. let diagnoseValue = $("#tcmDiagnoseValue").val();
  7654. if (diagnoseValue == null || diagnoseValue == "") {
  7655. diagnoseValue = code;
  7656. } else {
  7657. if (diagnoseValue.indexOf(code) != -1) {
  7658. errorMesageSimaple("诊断已存在,请勿重复添加!");
  7659. return;
  7660. }
  7661. diagnoseValue += "," + code;
  7662. }
  7663. $("#tcmDiagnoseValue").val(diagnoseValue);
  7664. if (childrenNum == 0) {
  7665. html += '<span class="el-tag--mainDiagnosis" ';
  7666. } else {
  7667. html += '<span class="el-tag--secondaryDiagnosis" ';
  7668. }
  7669. html += ' title="' + name + '(' + code + ')" id="' + code + '"><span class="el-select__tcmtags-text">' + name + '</span><i class="fa fa-remove .el-icon-close" style="margin-left: 10px;height: 16px;width: 16px;cursor: pointer;" onclick="removetcmDiagnoseValue(\'' + code + '\')"></i><span style="clear: both"></span></span>';
  7670. $("#tcmDiagnoseTags").append(html);
  7671. $("#tcmDiagnoseTags").parent().parent().css("height", $("#tcmDiagnoseTags").height());
  7672. }
  7673. /**
  7674. * 填充诊断
  7675. * @param value
  7676. * @param code
  7677. */
  7678. function fitDiagnoseValue(value, code,crbFlag,infectiousdiseasesFlag) {
  7679. if (code === null || code === "") {
  7680. return;
  7681. }
  7682. var html = '';
  7683. var childrenNum = $("#diagnoseTags").children().length;
  7684. if (childrenNum == 6) {
  7685. errorMesageSimaple("最多填写六个诊断!");
  7686. return;
  7687. }
  7688. var diagnoseValue = $("#diagnoseValue").val();
  7689. if (diagnoseValue == null || diagnoseValue == "") {
  7690. diagnoseValue = code;
  7691. } else {
  7692. if (diagnoseValue.indexOf(code) != -1) {
  7693. errorMesageSimaple("诊断已存在,请勿重复添加!");
  7694. return;
  7695. }
  7696. diagnoseValue += "," + code;
  7697. }
  7698. $("#diagnoseValue").val(diagnoseValue);
  7699. if (childrenNum == 0) {
  7700. html += '<span class="el-tag--mainDiagnosis" ';
  7701. } else {
  7702. html += '<span class="el-tag--secondaryDiagnosis" ';
  7703. }
  7704. html += ' title="' + value + '(' + code + ')" id="' + code + '"><span class="el-select__tags-text">' + value + '</span><i class="fa fa-remove .el-icon-close" style="margin-left: 10px;height: 16px;width: 16px;cursor: pointer;" onclick="removeDiagnoseValue(\'' + code + '\')"></i><span style="clear: both"></span></span>';
  7705. $("#diagnoseTags").append(html);
  7706. $("#diagnoseTags").parent().parent().css("height", $("#diagnoseTags").height());
  7707. if(stringNotBlank($("#patientId").text()) && crbFlag =='1' && infectiousdiseasesFlag == 1){
  7708. crbMainCard()
  7709. }
  7710. }
  7711. /**
  7712. * 删除中医诊断
  7713. */
  7714. function removetcmDiagnoseValue(code) {
  7715. var childrenIndex = 0;
  7716. var children = $("#tcmDiagnoseTags").children();
  7717. for (var i = 0; i < children.length; i++) {
  7718. if ($(children[i]).attr("id") == code) {
  7719. childrenIndex = i;
  7720. break;
  7721. }
  7722. }
  7723. $($("#tcmDiagnoseTags").children("span")[childrenIndex]).remove();
  7724. if (childrenIndex == 0) {
  7725. $($("#tcmDiagnoseTags").children("span")[childrenIndex]).removeClass("el-tag--secondaryDiagnosis").addClass("el-tag--mainDiagnosis");
  7726. }
  7727. let tcmDiagnoseValue = $("#tcmDiagnoseValue").val();
  7728. $("#tcmDiagnoseValue").val(tcmDiagnoseValue.replace(code, ""));
  7729. $("#tcmDiagnoseTags").parent().parent().css("height", $("#tcmDiagnoseTags").height());
  7730. }
  7731. /**
  7732. * 移除诊断
  7733. * @param code
  7734. */
  7735. function removeDiagnoseValue(code) {
  7736. var childrenIndex = 0;
  7737. var children = $("#diagnoseTags").children();
  7738. for (var i = 0; i < children.length; i++) {
  7739. if ($(children[i]).attr("id") == code) {
  7740. childrenIndex = i;
  7741. break;
  7742. }
  7743. }
  7744. $($("#diagnoseTags").children("span")[childrenIndex]).remove();
  7745. if (childrenIndex == 0) {
  7746. $($("#diagnoseTags").children("span")[childrenIndex]).removeClass("el-tag--secondaryDiagnosis").addClass("el-tag--mainDiagnosis");
  7747. }
  7748. var diagnoseValue = $("#diagnoseValue").val();
  7749. $("#diagnoseValue").val(diagnoseValue.replace(code, ""));
  7750. $("#diagnoseTags").parent().parent().css("height", $("#diagnoseTags").height());
  7751. }
  7752. /**
  7753. * 点击通用参数属性值时设置值到对应的区域
  7754. * @param value
  7755. * @param id
  7756. */
  7757. function fitValue(value, id) {
  7758. //当选择的是血压时
  7759. if (id == "pressure_") {
  7760. var arr = value.split("/");
  7761. $("#pressure_high").val(arr[0]);
  7762. $("#pressure_floor").val(arr[1]);
  7763. if ($("#pressureLeftFlag").hasClass("in")) {
  7764. $("#pressure_high_left").val(arr[0]);
  7765. $("#pressure_floor_left").val(arr[1]);
  7766. }
  7767. //当选的是体重,体温,脉搏和呼吸时
  7768. } else if (id == "weight" || id == "temperature" || id == "sphygmus" || id == "breathe") {
  7769. $("#" + id).val(value);
  7770. } else {
  7771. //主诉拼写时
  7772. var valueExist = $("#" + id).val();
  7773. if (valueExist != null && valueExist != "") {
  7774. value = valueExist + value;
  7775. }
  7776. $("#" + id).val(value);
  7777. }
  7778. }
  7779. /**
  7780. * 加载药品列表数列表
  7781. * @param index
  7782. */
  7783. function loadYpList(index, event) {
  7784. if (event != null) {
  7785. if (event.keyCode == 38 || event.keyCode == 40 || event.keyCode == 13) {
  7786. //上下键不刷新表格
  7787. return;
  7788. }
  7789. }
  7790. var medicinePopoverContent = null;
  7791. var tableMedicine = null;
  7792. var MedicineName = null;
  7793. //var groupNo=null;
  7794. if (index == 0) {
  7795. medicinePopoverContent = "westernMedicinePopoverContent";
  7796. tableMedicine = "tb_table_western_medicine";
  7797. MedicineName = "western_medicine_name";
  7798. // groupNo=71;
  7799. }
  7800. if (index == 1) {
  7801. medicinePopoverContent = "chineseMedicinePopoverContent";
  7802. tableMedicine = "tb_table_chinese_medicine";
  7803. MedicineName = "chinese_medicine_name";
  7804. // groupNo=$("#zyClassType").val();
  7805. }
  7806. // if (!$("#" + medicinePopoverContent).parent().parent().parent().hasClass("in")) {
  7807. // return;
  7808. // }
  7809. $('#' + MedicineName).webuiPopover('show');
  7810. $('#' + tableMedicine).bootstrapTable('refresh');
  7811. $('#' + tableMedicine).bootstrapTable({
  7812. url: '/thmz/getYpListByCommonParams', //请求后台的URL(*)
  7813. method: 'GET', //请求方式(*)
  7814. toolbar: '#toolbar', //工具按钮用哪个容器
  7815. striped: true, //是否显示行间隔色
  7816. cache: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  7817. pagination: false, //是否显示分页(*)
  7818. sortable: true, //是否启用排序
  7819. sortOrder: "asc", //排序方式
  7820. queryParams: function (params) {
  7821. var groupNo = null;
  7822. if (index == 0) {
  7823. groupNo = 71;
  7824. }
  7825. if (index == 1) {
  7826. groupNo = $("#zyClassType").val();
  7827. }
  7828. var temp = {
  7829. groupNo: groupNo,
  7830. commonParams: $("#" + MedicineName).val()
  7831. };
  7832. return temp;
  7833. }, //传递参数(*)
  7834. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  7835. pageNumber: 1, //初始化加载第一页,默认第一页
  7836. pageSize: 5, //每页的记录行数(*)
  7837. pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  7838. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  7839. strictSearch: true,
  7840. showColumns: false, //是否显示所有的列
  7841. showRefresh: false, //是否显示刷新按钮
  7842. minimumCountColumns: 2, //最少允许的列数
  7843. clickToSelect: true, //是否启用点击选中行
  7844. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  7845. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  7846. cardView: false, //是否显示详细视图
  7847. detailView: false,
  7848. //rowStyle:rowStyle,//通过自定义函数设置行样式
  7849. ajaxOptions: {
  7850. headers: {
  7851. 'Accept': 'application/json',
  7852. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  7853. }
  7854. },
  7855. columns: [
  7856. // {
  7857. // title: '药品说明书',
  7858. // field: 'op',
  7859. // align: "center",
  7860. // valign: 'middle',
  7861. // formatter: function (value, row, index) {
  7862. // var str = '<button type="button" class="btn btn-primary btn-sm" onclick="hlyyypsms(\'' + row.code + '\',\'' + row.serial + '\')">说明书</button>';
  7863. // return [str].join('');
  7864. // }
  7865. // },
  7866. {
  7867. field: 'code',
  7868. title: '编码',
  7869. align: "center",
  7870. valign: 'middle',
  7871. // sortable: true
  7872. }, {
  7873. field: 'name',
  7874. title: '药品名称',
  7875. align: "center",
  7876. valign: 'middle',
  7877. // sortable: true
  7878. }
  7879. , {
  7880. field: 'specification',
  7881. title: '规格',
  7882. align: "center",
  7883. valign: 'middle',
  7884. // sortable: true
  7885. }, {
  7886. field: 'manufactory',
  7887. title: '生产厂家',
  7888. align: "center",
  7889. valign: 'middle',
  7890. // sortable: true
  7891. }, {
  7892. field: 'miniUnitName',
  7893. title: '单位',
  7894. align: "center",
  7895. valign: 'middle',
  7896. // sortable: true
  7897. }, {
  7898. field: 'chargeAmount',
  7899. title: '零售价',
  7900. align: "center",
  7901. valign: 'middle',
  7902. // sortable: true
  7903. formatter: function (value, row, index) {
  7904. if (value == null) {
  7905. return '0.0元';
  7906. }
  7907. return value.toFixed(2) + "元";
  7908. }
  7909. }, {
  7910. field: 'drugWinDesc',
  7911. title: '剂量',
  7912. align: "center",
  7913. valign: 'middle',
  7914. // sortable: true
  7915. }, {
  7916. field: 'stockAmountVirtual',
  7917. title: '库存数量',
  7918. align: "center",
  7919. valign: 'middle',
  7920. // sortable: true
  7921. }, {
  7922. field: 'ybBlNew',
  7923. title: '医保报销比例',
  7924. align: "center",
  7925. valign: 'middle',
  7926. // sortable: true
  7927. // formatter: function (value, row, index) {
  7928. // if (value != null) {
  7929. // return value + '%';
  7930. // }
  7931. // }
  7932. }, {
  7933. field: 'ybComment',
  7934. title: '医保说明',
  7935. align: "center",
  7936. valign: 'middle',
  7937. // sortable: true
  7938. }, {
  7939. field: 'nationalCode',
  7940. title: '医保编码',
  7941. align: "left",
  7942. valign: 'middle',
  7943. // sortable: true
  7944. }
  7945. ],
  7946. responseHandler: function (res) {
  7947. if (res == '401' || res == 401) {
  7948. window.location.href = '/thmz/login/view'
  7949. return;
  7950. }
  7951. var ress = eval(res);
  7952. if (ress.code == -1) {
  7953. errorMesage(res);
  7954. return {
  7955. "total": 0,//总页数
  7956. "rows": {} //数据
  7957. };
  7958. }
  7959. $("#" + medicinePopoverContent).parent().css("background", "#EBEBE4");
  7960. return {
  7961. "total": ress.data.length,//总页数
  7962. "rows": ress.data //数据
  7963. };
  7964. },
  7965. onClickRow: function (row, $element) {
  7966. postAjaxJsonHttpRequst("/thmz/checkKssByUserCode",{code:row.code,ypName:row.name,serial:row.serial,patientId:$("#patientId").text(),ypType:row.ypType},true,function (cres) {
  7967. if(cres.code == 0){
  7968. $('#' + MedicineName).webuiPopover('hide');
  7969. console.log("row",row)
  7970. console.log("index",index)
  7971. if (index == 0) {
  7972. clearWesternMedicine(false);
  7973. checkYpInfo(row.code, row.serial, row. groupNo, true, null, 3);
  7974. }
  7975. if (index == 1) {
  7976. checkZyInfo(row.code, row.serial, $("#zyClassType").val(), true);
  7977. }
  7978. }else if(cres.code == -2) {
  7979. errorMesageSimaple(`没有${row.code}/${row.name}的抗生素使用级别权限,不能开具此药品`)
  7980. }else if(cres.code == -3) {
  7981. errorMesageSimaple(cres.message)
  7982. } else {
  7983. errorMesage(cres)
  7984. }
  7985. })
  7986. }
  7987. });
  7988. }
  7989. /**
  7990. * 按照药品的编码 和药品拆零规格查询药品信息 西药
  7991. * @param code
  7992. * @param serial
  7993. * @param groupNo
  7994. * @param needNotice 是否需要提示 当用户操作的时候 true 需要提示, 范文和处方回写的时候false不需要提示
  7995. * @param orderNo 处方号,回写的时候需要用,因为有的处方没有满5个
  7996. * @param type 操作类型 0 修改 1 医疗范文 2 就诊详情 3 处方开立
  7997. */
  7998. function checkYpInfo(code, serial, groupNo, needNotice, orderNo, type) {
  7999. //判断是否有重复的项目 返回true 说明有重复的
  8000. if (verifyRepeat(code, serial, null, 0)) {
  8001. return;
  8002. }
  8003. $("#current_groupNo").val(groupNo);
  8004. //不需要每次都关闭这个帮助字典
  8005. //$("#treeButton").webuiPopover('hide');
  8006. $.ajax({
  8007. type: "GET",
  8008. url: '/thmz/getYpZdDictByCodeAndSerial?code=' + code + "&serial=" + serial + "&deptNo=" + localStorage.getItem("currentDeptNo") + "&groupNo=" + groupNo,
  8009. contentType: "application/json;charset=UTF-8",
  8010. dataType: "json",
  8011. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  8012. async: needNotice,//当用户操作的时候 true 异步, 范文和处方回写的时候false同步 因为需要等数据加载完才能设置对应的值
  8013. success: function (res) {
  8014. if (res == '401' || res == 401) {
  8015. window.location.href = '/thmz/login/view'
  8016. return;
  8017. }
  8018. if (res.code == 0) {
  8019. if (res.data != null) {
  8020. //如果
  8021. if ($("#xyTab").find("li") == null || $("#xyTab").find("li").length == 0) {
  8022. initNavTabs(0, groupNo, orderNo);
  8023. }
  8024. var cfdesc = '普药';
  8025. if (groupNo == '91') {
  8026. cfdesc = '医材';
  8027. } else if (groupNo == '111') {
  8028. cfdesc = '麻、精一';
  8029. } else if (groupNo == '131') {
  8030. cfdesc = '精二';
  8031. }
  8032. // else if(groupNo=='151'){
  8033. // cfdesc='诊疗';
  8034. // }
  8035. //每个处方不能超过5个药品
  8036. var tableId = $("#xyTab li.active").find("a").attr("href");
  8037. var childrens = $(tableId).find("div:eq(0)").children().length;
  8038. var currentGroupNo = $(tableId).find("input.current_groupNo").val();
  8039. var flag = childrens === 5;
  8040. if (!needNotice) {
  8041. flag = childrens === 5 && $(tableId).is(':last-child');
  8042. }
  8043. if (currentGroupNo != null && currentGroupNo != '' && groupNo != currentGroupNo) {
  8044. //当前编辑的处方与选中的品类非同一处方能保存的
  8045. var currentGroupNos = $("#xyTabContent").find("input.current_groupNo");
  8046. //是否需要新增处方页,以保存医材处方
  8047. var needAddTable = true;
  8048. for (var i = 0; i < currentGroupNos.length; i++) {
  8049. if ($(currentGroupNos[i]).val() == groupNo) {
  8050. var next = $(currentGroupNos[i]).next();
  8051. if (needAddTable && $(next).children().length < 5) {
  8052. var parentId = $(currentGroupNos[i]).parent().attr("id");
  8053. //切换处方
  8054. $("#xyTab").find("a[href='#" + parentId + "']").off("click").tab('show');
  8055. //$("#xyTab").find("a[href='#" + tableId + "']").off("click").click();
  8056. //因为存在没有满5个的处方页,直接保存到该页
  8057. needAddTable = false;
  8058. fitWesternMedicine(res, groupNo, type);
  8059. }
  8060. }
  8061. }
  8062. if (needAddTable) {
  8063. //91 医材
  8064. var message = "医材需要单独处方,是否需要新增医材处方?";
  8065. if (groupNo == '71') {
  8066. message = "普通西成药需要单独处方,是否需要新增处方?"
  8067. } else if (groupNo == '111') {
  8068. message = "麻、精一药物需要单独处方,是否需要新增处方?"
  8069. } else if (groupNo == '131') {
  8070. message = "精二药物需要单独处方,是否需要新增处方?"
  8071. }
  8072. if (needNotice) {
  8073. $("#messageModal").modal();
  8074. $("#messageContent").html(message);
  8075. $("#messageButton").off("click").on("click", function (t) {
  8076. $("#messageModal").modal("hide");
  8077. refreshNavTabs(0, groupNo, orderNo);
  8078. fitWesternMedicine(res, groupNo, type);
  8079. // //选中药品后,光标默认到用法
  8080. // $("#supplyType").next().click();
  8081. });
  8082. $("#cancelButton").off("click");
  8083. } else {
  8084. refreshNavTabs(0, groupNo, orderNo);
  8085. fitWesternMedicine(res, groupNo, type);
  8086. }
  8087. }
  8088. //当前编辑的处方非普通西药处方
  8089. } else if (flag) {
  8090. if (needNotice) {
  8091. $("#messageModal").modal();
  8092. $("#messageContent").html("单张处方最多只能开具5个药品,是否需要新增处方?");
  8093. $("#messageButton").off("click").on("click", function (t) {
  8094. $("#messageModal").modal("hide");
  8095. refreshNavTabs(0, groupNo, orderNo);
  8096. fitWesternMedicine(res, groupNo, type);
  8097. });
  8098. $("#cancelButton").off("click");
  8099. } else {
  8100. refreshNavTabs(0, groupNo, orderNo);
  8101. fitWesternMedicine(res, groupNo, type);
  8102. }
  8103. } else {
  8104. //修改药品
  8105. if (orderNo != null) {
  8106. //西药处方数量
  8107. // var xyTabLiLength = $("#xyTab li").length;
  8108. // if (xyTabLiLength < orderNo) {
  8109. //
  8110. // } else {
  8111. // $("#xyTab li.active").find("a").find("small.cfdesc").text("(" + cfdesc + ")");
  8112. // }
  8113. var tableId = orderNoAndTableIdMap.get(orderNo);
  8114. if (tableId != null && tableId != "") {
  8115. //切换处方
  8116. $("#xyTab").find("a[href='#" + tableId + "']").off("click").tab('show');
  8117. //$("#xyTab").find("a[href='#" + tableId + "']").off("click").click();
  8118. $("#xyTab li.active").find("a").find("small.cfdesc").text("(" + cfdesc + ")");
  8119. } else {
  8120. refreshNavTabs(0, groupNo, orderNo);
  8121. }
  8122. fitWesternMedicine(res, groupNo, type);
  8123. } else {
  8124. $("#xyTab li.active").find("a").find("small.cfdesc").text("(" + cfdesc + ")");
  8125. fitWesternMedicine(res, groupNo, type);
  8126. }
  8127. }
  8128. }
  8129. } else {
  8130. errorMesage(res);
  8131. }
  8132. }
  8133. });
  8134. }
  8135. /**
  8136. * 项目限制提示
  8137. * @param res
  8138. * @param projectDesc
  8139. */
  8140. function checkProjectSelfInfo(row) {
  8141. // console.log("checkProjectSelfInfo",row,ele)
  8142. var code = 0;
  8143. var age = currentPatientInfo.age;
  8144. var sex = currentPatientInfo.sex;
  8145. console.log("currentPatientInfo",currentPatientInfo)
  8146. if (row.genderRestriction && row.genderRestriction != 0 && sex != row.genderRestriction) {
  8147. warningMesageSimaple('项目'+row.name+'要求性别为'+row.genderRestriction == '1'?'男':'女'+'请重新选择!');
  8148. code = 1;
  8149. }
  8150. if (row.maxAgeRestriction && age > row.maxAgeRestriction) {
  8151. warningMesageSimaple('项目'+row.name+'要求年龄小于或等于'+row.maxAgeRestriction+'岁,请重新选择!');
  8152. code = 1;
  8153. }
  8154. if (row.minAgeRestriction && age < row.minAgeRestriction) {
  8155. warningMesageSimaple('项目'+row.name+'要求年龄大于或等于'+row.minAgeRestriction+'岁,请重新选择!');
  8156. code = 1;
  8157. }
  8158. return code;
  8159. }
  8160. /**
  8161. * 药品与项目自费信息提示
  8162. * @param res
  8163. * @param projectDesc
  8164. */
  8165. function hintProjectSelfPayInfo(selfpayProp, projectDesc) {
  8166. var zgmztczf = $("#zgmztczf").val();
  8167. if ((zgmztczf == 1 || zgmztczf == "1") && selfpayProp != null) {
  8168. selfpayProp = Number(selfpayProp);
  8169. if (selfpayProp > 0) {
  8170. var titile = "当前项目含自费" + projectDesc + ",请与患者提前确认是否继续使用,并签署自费承诺书!";
  8171. if (selfpayProp < 1) {
  8172. titile = "当前项目含部分自费" + projectDesc + ",请与患者提前确认是否继续使用,并签署自费承诺书!";
  8173. }
  8174. warningMesageSimaple(titile);
  8175. }
  8176. }
  8177. }
  8178. /**
  8179. * 按照药品的编码 和药品拆零规格查询药品信息 中药
  8180. * @param code
  8181. * @param serial
  8182. * @param groupNo 药房信息
  8183. * @param async 当用户操作的时候 true 异步, 范文和处方回写的时候false同步 因为需要等数据加载完才能设置对应的值
  8184. */
  8185. function checkZyInfo(code, serial, groupNo, async) {
  8186. //判断是否有重复的项目 返回true 说明有重复的
  8187. if (verifyRepeat(code, serial, null, 1)) {
  8188. return;
  8189. }
  8190. let tcmDiagnoseValue = $("#tcmDiagnoseValue").val()
  8191. if(stringIsBlank(tcmDiagnoseValue)){
  8192. errorMesageSimaple('开中药必须要写中医诊断')
  8193. return;
  8194. }
  8195. $.ajax({
  8196. type: "GET",
  8197. url: '/thmz/getYpZdDictByCodeAndSerial?code=' + code + "&serial=" + serial + "&deptNo=" + localStorage.getItem("currentDeptNo") + "&groupNo=" + groupNo,
  8198. contentType: "application/json;charset=UTF-8",
  8199. dataType: "json",
  8200. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  8201. async: async,//当用户操作的时候 true 异步, 范文和处方回写的时候false同步 因为需要等数据加载完才能设置对应的值
  8202. success: function (res) {
  8203. if (res == '401' || res == 401) {
  8204. window.location.href = '/thmz/login/view'
  8205. return;
  8206. }
  8207. if (res.code == 0) {
  8208. if (res.data != null) {
  8209. hintProjectSelfPayInfo(res.data.selfpayProp, "药品");
  8210. //如果
  8211. if ($("#zyTab").find("li") == null || $("#zyTab").find("li").length == 0) {
  8212. initNavTabs(1, null, null);
  8213. //$("input.zyfs").val(1);
  8214. }
  8215. $("#chinese_medicine_name").val(res.data.name);
  8216. $("#chinese_medicine_name").blur();
  8217. //$("#zy_drugWin").val(res.data.weight);
  8218. $("#zy_packRetprice").val(res.data.packRetprice);
  8219. $("#chinese_medicine_current_code").val(res.data.code);
  8220. $("#chinese_medicine_current_serial").val(res.data.serial);
  8221. if (async) {
  8222. //选中药品后,光标默认到数量输入框
  8223. $("#zy_drugWin").focus();
  8224. // prevEleId = 'zy_drugWin';
  8225. }
  8226. }
  8227. } else {
  8228. errorMesage(res);
  8229. }
  8230. }
  8231. });
  8232. }
  8233. /**
  8234. * 加载辅助检查、检验列表
  8235. * @param index
  8236. */
  8237. function loadjcJyItemList(event) {
  8238. if (event != null) {
  8239. if (event.keyCode == 38 || event.keyCode == 40 || event.keyCode == 13) {
  8240. //上下键不刷新表格
  8241. return;
  8242. }
  8243. }
  8244. // if (!$("#jcJyItemPopoverContent").parent().parent().parent().hasClass("in")) {
  8245. // return;
  8246. // }
  8247. $('#jcJyItem').webuiPopover('show');
  8248. $('#tb_table_jc_jy_item').bootstrapTable('refresh');
  8249. $('#tb_table_jc_jy_item').bootstrapTable({
  8250. url: '/thmz/getJcJyItemByCommonParams', //请求后台的URL(*)
  8251. method: 'GET', //请求方式(*)
  8252. toolbar: '#toolbar', //工具按钮用哪个容器
  8253. striped: true, //是否显示行间隔色
  8254. cache: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  8255. pagination: false, //是否显示分页(*)
  8256. sortable: true, //是否启用排序
  8257. sortOrder: "asc", //排序方式
  8258. queryParams: function (params) {
  8259. var temp = {
  8260. commonParams: $("#jcJyItem").val()
  8261. };
  8262. return temp;
  8263. }, //传递参数(*)
  8264. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  8265. pageNumber: 1, //初始化加载第一页,默认第一页
  8266. pageSize: 5, //每页的记录行数(*)
  8267. pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  8268. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  8269. strictSearch: true,
  8270. showColumns: false, //是否显示所有的列
  8271. showRefresh: false, //是否显示刷新按钮
  8272. minimumCountColumns: 2, //最少允许的列数
  8273. clickToSelect: true, //是否启用点击选中行
  8274. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  8275. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  8276. cardView: false, //是否显示详细视图
  8277. detailView: false,
  8278. //rowStyle:rowStyle,//通过自定义函数设置行样式
  8279. ajaxOptions: {
  8280. headers: {
  8281. 'Accept': 'application/json',
  8282. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  8283. }
  8284. },
  8285. columns: [
  8286. {
  8287. field: 'code',
  8288. title: '编码',
  8289. align: "center",
  8290. valign: 'middle',
  8291. // sortable: true
  8292. }, {
  8293. field: 'name',
  8294. title: '名称',
  8295. align: "center",
  8296. valign: 'middle',
  8297. // sortable: true
  8298. }
  8299. , {
  8300. field: 'execUnitName',
  8301. title: '执行科室',
  8302. align: "center",
  8303. valign: 'middle',
  8304. // sortable: true
  8305. }, {
  8306. field: 'type',
  8307. title: '项目类型',
  8308. align: "center",
  8309. valign: 'middle',
  8310. // sortable: true
  8311. formatter: function (value, row, index) {
  8312. if (value == 1 || value == "1") {
  8313. return "检验";
  8314. }
  8315. if (value == 2 || value == "2") {
  8316. return "辅助检查";
  8317. }
  8318. if (value == 3 || value == "3") {
  8319. return "诊疗";
  8320. }
  8321. return "";
  8322. }
  8323. },
  8324. ],
  8325. responseHandler: function (res) {
  8326. if (res == '401' || res == 401) {
  8327. window.location.href = '/thmz/login/view'
  8328. return;
  8329. }
  8330. var ress = eval(res);
  8331. if (ress.code == -1) {
  8332. errorMesage(res);
  8333. return {
  8334. "total": 0,//总页数
  8335. "rows": {} //数据
  8336. };
  8337. }
  8338. $("#jcJyItemPopoverContent").parent().css("background", "#EBEBE4");
  8339. return {
  8340. "total": ress.data.length,//总页数
  8341. "rows": ress.data //数据
  8342. };
  8343. },
  8344. onClickRow: function (row, $element) {
  8345. postAjaxJsonHttpRequst("/thmz/checkJyJcGenderAndAge",{
  8346. patientId: $("#patientId").text(),
  8347. type:row.type,
  8348. code:row.code
  8349. },true,function (resJyJc) {
  8350. if(resJyJc.code == 0){
  8351. $('#jcJyItem').webuiPopover('hide');
  8352. $("#jcJyZltype").val(row.type);
  8353. $("#execUnit").selectpicker('val', row.execUnit);//默认不选中
  8354. $("#execUnit").selectpicker('refresh');
  8355. if (row.type == 1) {
  8356. //检验
  8357. $("#jyZdSampleDiv").removeClass("hide").addClass("in");
  8358. $("#jyQuantityDiv").removeClass("hide").addClass("in");
  8359. $("#yshPartDiv").removeClass("in").addClass("hide");
  8360. if (row.sampleCode != null && row.sampleCode != "") {
  8361. $("#jyZdSample").selectpicker('val', row.sampleCode);
  8362. $('#jyZdSample').selectpicker('refresh');
  8363. }
  8364. } else if (row.type == 2) {
  8365. //检查
  8366. $("#yshPartDiv").removeClass("hide").addClass("in");
  8367. $("#jyZdSampleDiv").removeClass("in").addClass("hide");
  8368. $("#jyQuantityDiv").removeClass("in").addClass("hide");
  8369. if (row.bwCode != null && row.bwCode != "") {
  8370. $("#yshPart").selectpicker('val', row.bwCode);
  8371. $('#yshPart').selectpicker('refresh');
  8372. }
  8373. }
  8374. $("#jcJyItemChargeDetail").removeClass("hide").addClass("in");
  8375. checkJcJyItemInfo(row.code, row.name, row.type, true);
  8376. }else {
  8377. errorMesage(resJyJc)
  8378. }
  8379. })
  8380. }
  8381. });
  8382. }
  8383. /**
  8384. * 加载外配药品
  8385. * @param event
  8386. */
  8387. function loadWpMedicineList(event) {
  8388. if (event != null) {
  8389. if (event.keyCode == 38 || event.keyCode == 40 || event.keyCode == 13) {
  8390. //上下键不刷新表格
  8391. return;
  8392. }
  8393. }
  8394. $('#wp_medicine_name').webuiPopover('show');
  8395. $('#tb_table_wp_medicine').bootstrapTable('refresh');
  8396. $('#tb_table_wp_medicine').bootstrapTable({
  8397. url: '/thmz/wpMzPrescription/queryRxMedicine', //请求后台的URL(*)
  8398. method: 'post', //请求方式(*)
  8399. toolbar: '#toolbar', //工具按钮用哪个容器
  8400. striped: true, //是否显示行间隔色
  8401. cache: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  8402. pagination: false, //是否显示分页(*)
  8403. sortable: true, //是否启用排序
  8404. sortOrder: "asc", //排序方式
  8405. queryParams: function (params) {
  8406. var temp = {
  8407. keyWard: $("#wp_medicine_name").val()
  8408. };
  8409. return temp;
  8410. }, //传递参数(*)
  8411. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  8412. pageNumber: 1, //初始化加载第一页,默认第一页
  8413. pageSize: 5, //每页的记录行数(*)
  8414. pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  8415. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  8416. strictSearch: true,
  8417. showColumns: false, //是否显示所有的列
  8418. showRefresh: false, //是否显示刷新按钮
  8419. minimumCountColumns: 2, //最少允许的列数
  8420. clickToSelect: true, //是否启用点击选中行
  8421. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  8422. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  8423. cardView: false, //是否显示详细视图
  8424. detailView: false,
  8425. //rowStyle:rowStyle,//通过自定义函数设置行样式
  8426. ajaxOptions: {
  8427. headers: {
  8428. 'Accept': 'application/json',
  8429. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  8430. }
  8431. },
  8432. columns: [
  8433. {
  8434. field: 'medListCodg',
  8435. title: '医保码',
  8436. align: "center",
  8437. valign: 'middle',
  8438. width: 250,
  8439. // sortable: true
  8440. },
  8441. {
  8442. field: 'genname',
  8443. title: '药品名称',
  8444. align: "center",
  8445. valign: 'middle',
  8446. width: 150,
  8447. // sortable: true
  8448. }
  8449. , {
  8450. field: 'specName',
  8451. title: '规格',
  8452. align: "center",
  8453. valign: 'middle',
  8454. // sortable: true
  8455. }, {
  8456. field: 'prdrName',
  8457. title: '生产厂家',
  8458. align: "center",
  8459. valign: 'middle',
  8460. // sortable: true
  8461. }, {
  8462. field: 'aprvno',
  8463. title: '批准文号',
  8464. align: "center",
  8465. valign: 'middle',
  8466. // sortable: true
  8467. }, {
  8468. field: 'dualchnlFlag',
  8469. title: '是否双通道标志',
  8470. align: "center",
  8471. valign: 'middle',
  8472. formatter: function (value, row, index) {
  8473. if(value == 1 || value == "1"){
  8474. return "是";
  8475. }
  8476. return "否";
  8477. }
  8478. // sortable: true
  8479. }, {
  8480. field: 'minPrepunt',
  8481. title: '最小制剂单位',
  8482. align: "center",
  8483. valign: 'middle',
  8484. // sortable: true
  8485. }
  8486. , {
  8487. field: 'minPacunt',
  8488. title: '最小包装单位',
  8489. align: "center",
  8490. valign: 'middle',
  8491. // sortable: true
  8492. }
  8493. ],
  8494. responseHandler: function (res) {
  8495. if (res == '401' || res == 401) {
  8496. window.location.href = '/thmz/login/view'
  8497. return;
  8498. }
  8499. var ress = eval(res);
  8500. if (ress.code == -1) {
  8501. errorMesage(res);
  8502. return {
  8503. "total": 0,//总页数
  8504. "rows": {} //数据
  8505. };
  8506. }
  8507. $("#wpMedicinePopoverContent").parent().css("background", "#EBEBE4");
  8508. return {
  8509. "total": ress.data.length,//总页数
  8510. "rows": ress.data //数据
  8511. };
  8512. },
  8513. onClickRow: function (row, $element) {
  8514. $('#wp_medicine_name').webuiPopover('hide');
  8515. //诊疗
  8516. if ($("#wpMedicineTab").find("li") == null || $("#wpMedicineTab").find("li").length == 0) {
  8517. initNavTabs(6, null, null);
  8518. }
  8519. $("#wp_medicine_name").val(row.genname);
  8520. $("#wp_medicine_name").blur();
  8521. $("#sinDosunt").val(row.minPrepunt);
  8522. $("#sinDoscnt").val('1');
  8523. setSelectDefaultVal('usedFrquCodg','13')
  8524. setSelectDefaultVal('drugDosform',row.dosformName)
  8525. $("#prdrName").val(row.prdrName);
  8526. $("#drugDosunt").val(row.minPacunt);
  8527. $("#drugSpec").val(row.specName);
  8528. $("#wp_medicine_current_code").val(row.medListCodg);
  8529. $("#sinDoscnt").focus();
  8530. return;
  8531. }
  8532. });
  8533. }
  8534. /**
  8535. * 加载诊疗列表
  8536. * @param index
  8537. */
  8538. function loadZlItemList(event) {
  8539. if (event != null) {
  8540. if (event.keyCode == 38 || event.keyCode == 40 || event.keyCode == 13) {
  8541. //上下键不刷新表格
  8542. return;
  8543. }
  8544. }
  8545. $('#zlItem').webuiPopover('show');
  8546. $('#tb_table_zl_item').bootstrapTable('refresh');
  8547. $('#tb_table_zl_item').bootstrapTable({
  8548. url: '/thmz/getZlItemByCommonParams', //请求后台的URL(*)
  8549. method: 'GET', //请求方式(*)
  8550. toolbar: '#toolbar', //工具按钮用哪个容器
  8551. striped: true, //是否显示行间隔色
  8552. cache: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  8553. pagination: false, //是否显示分页(*)
  8554. sortable: true, //是否启用排序
  8555. sortOrder: "asc", //排序方式
  8556. queryParams: function (params) {
  8557. var temp = {
  8558. commonParams: $("#zlItem").val()
  8559. };
  8560. return temp;
  8561. }, //传递参数(*)
  8562. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  8563. pageNumber: 1, //初始化加载第一页,默认第一页
  8564. pageSize: 5, //每页的记录行数(*)
  8565. pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  8566. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  8567. strictSearch: true,
  8568. showColumns: false, //是否显示所有的列
  8569. showRefresh: false, //是否显示刷新按钮
  8570. minimumCountColumns: 2, //最少允许的列数
  8571. clickToSelect: true, //是否启用点击选中行
  8572. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  8573. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  8574. cardView: false, //是否显示详细视图
  8575. detailView: false,
  8576. //rowStyle:rowStyle,//通过自定义函数设置行样式
  8577. ajaxOptions: {
  8578. headers: {
  8579. 'Accept': 'application/json',
  8580. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  8581. }
  8582. },
  8583. columns: [
  8584. {
  8585. field: 'code',
  8586. title: '编码',
  8587. align: "center",
  8588. valign: 'middle',
  8589. // sortable: true
  8590. }, {
  8591. field: 'name',
  8592. title: '名称',
  8593. align: "center",
  8594. valign: 'middle',
  8595. // sortable: true
  8596. }
  8597. , {
  8598. field: 'execUnitName',
  8599. title: '执行科室',
  8600. align: "center",
  8601. valign: 'middle',
  8602. // sortable: true
  8603. }
  8604. , {
  8605. field: 'chargeAmount',
  8606. title: '价格',
  8607. align: "center",
  8608. valign: 'middle',
  8609. // sortable: true
  8610. formatter: function (value, row, index) {
  8611. if (value == null) {
  8612. return "0.00元";
  8613. }
  8614. return value.toFixed(2) + "元";
  8615. }
  8616. }, {
  8617. field: 'descriptions',
  8618. title: '规格',
  8619. align: "center",
  8620. valign: 'middle',
  8621. // sortable: true
  8622. }, {
  8623. field: 'selfpayProp',
  8624. title: '自付比例',
  8625. align: "center",
  8626. valign: 'middle',
  8627. // sortable: true
  8628. formatter: function (value, row, index) {
  8629. if (value != null) {
  8630. return value + '%';
  8631. }
  8632. }
  8633. }, {
  8634. field: 'connotation',
  8635. title: '医保说明',
  8636. align: "center",
  8637. valign: 'middle',
  8638. // sortable: true
  8639. }, {
  8640. field: 'nationalCode',
  8641. title: '医保编码',
  8642. align: "left",
  8643. valign: 'middle',
  8644. // sortable: true
  8645. }
  8646. ],
  8647. responseHandler: function (res) {
  8648. if (res == '401' || res == 401) {
  8649. window.location.href = '/thmz/login/view'
  8650. return;
  8651. }
  8652. var ress = eval(res);
  8653. if (ress.code == -1) {
  8654. errorMesage(res);
  8655. return {
  8656. "total": 0,//总页数
  8657. "rows": {} //数据
  8658. };
  8659. }
  8660. $("#zlItemPopoverContent").parent().css("background", "#EBEBE4");
  8661. return {
  8662. "total": ress.data.length,//总页数
  8663. "rows": ress.data //数据
  8664. };
  8665. },
  8666. onClickRow: function (row, $element) {
  8667. //判断是否验证失败,0通过1失败
  8668. // console.log("checkProjectSelfInfo(row)",checkProjectSelfInfo(row))
  8669. if(checkProjectSelfInfo(row) == 1){
  8670. return;
  8671. }
  8672. hintProjectSelfPayInfo(row.selfpayProp, "诊疗");
  8673. $('#zlItem').webuiPopover('hide');
  8674. $("#zlExecUnit").selectpicker('val', row.execUnit);//默认不选中
  8675. $("#zlExecUnit").selectpicker('refresh');
  8676. //诊疗
  8677. if ($("#zlTab").find("li") == null || $("#zlTab").find("li").length == 0) {
  8678. initNavTabs(3, null, null);
  8679. }
  8680. $("#zlItem").val(row.name);
  8681. $("#zlItem").blur();
  8682. $("#zlItemPrice").val(row.chargeAmount);
  8683. zlItemPriceIsReadonly(row.chargeAmount);
  8684. $("#chargeUnit").val(row.specification);
  8685. $("#zl_current_code").val(row.code);
  8686. $("#itemQuantity").val(1);
  8687. $("#descriptions").val(row.descriptions);
  8688. $("#descriptions").attr('title', row.descriptions);
  8689. $("#dayZlNum").selectpicker('val', 1);//默认不选中
  8690. $("#dayZlNum").selectpicker('refresh');
  8691. $("#orderFrequencyZl").selectpicker('val', 'ONCE');//默认不选中
  8692. $("#orderFrequencyZl").selectpicker('refresh');
  8693. calculateZl(false);
  8694. $("#chargeUnit").focus();
  8695. return;
  8696. }
  8697. });
  8698. }
  8699. /**
  8700. * 诊疗单价输入框是否只读
  8701. */
  8702. function zlItemPriceIsReadonly(val) {
  8703. if(val !=null && Number(val) > 0 ){
  8704. $("#zlItemPrice").attr("readonly","readonly")
  8705. }else {
  8706. $("#zlItemPrice").removeAttr("readonly")
  8707. }
  8708. }
  8709. /**
  8710. * 诊疗与医技选中
  8711. * @param code
  8712. * @param name 回写的时候可以设置null
  8713. * @param type 1 检验 2 检查
  8714. * @param async 当用户操作的时候 true 异步, 范文和处方回写的时候false同步 因为需要等数据加载完才能设置对应的值
  8715. */
  8716. //function checkJcJyItemInfo(code, name, type) {
  8717. function checkJcJyItemInfo(code, name, type, async) {
  8718. // //判断是否有重复的项目 返回true 说明有重复的
  8719. // if (verifyRepeat(code, null, 2)) {
  8720. // return;
  8721. // }
  8722. //不需要每次都关闭帮助树
  8723. //$("#treeButton").webuiPopover('hide');
  8724. $.ajax({
  8725. type: "GET",
  8726. url: '/thmz/getJcJyItemChargeByCode?code=' + code + '&jcJyZltype=' + type,
  8727. contentType: "application/json;charset=UTF-8",
  8728. dataType: "json",
  8729. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  8730. async: async,//当用户操作的时候 true 异步, 范文和处方回写的时候false同步 因为需要等数据加载完才能设置对应的值
  8731. success: function (res) {
  8732. if (res == '401' || res == 401) {
  8733. window.location.href = '/thmz/login/view'
  8734. return;
  8735. }
  8736. if (res.code == 0) {
  8737. if (res.data != null) {
  8738. hintProjectSelfPayInfo(res.selfpayProp, type == 1 ? "检验" : "辅助检查");
  8739. //如果
  8740. if ($("#jcjyTab").find("li") == null || $("#jcjyTab").find("li").length == 0) {
  8741. initNavTabs(2, null, null);
  8742. }
  8743. if (name == null) {
  8744. name = res.name;
  8745. }
  8746. $("#jcJyItem").val(name);
  8747. $("#jcJyItem").blur();
  8748. $("#jcjyItemPrice").val(res.totalAmount);
  8749. $("#jcjy_current_code").val(code);
  8750. $("#jyQuantity").val(1);
  8751. $("#execUnit").selectpicker('val', res.execUnit);//默认不选中
  8752. $("#execUnit").selectpicker('refresh');
  8753. // if (async) {
  8754. // if (type == 1) {
  8755. // //选中项目后,光标默认到数量输入框
  8756. // $("#jyZdSample").next().click();
  8757. // // prevEleId = 'jyZdSample';
  8758. // } else if (type == 2) {
  8759. // $("#yshPart").next().click();
  8760. // // prevEleId = 'yshPart';
  8761. // }
  8762. // }
  8763. }
  8764. $("#jyjcNote").val(res.note)
  8765. } else {
  8766. errorMesage(res);
  8767. }
  8768. }
  8769. });
  8770. }
  8771. /**
  8772. * 查询辅助检查、检验项目明细
  8773. * @param code 编码
  8774. * @param jcJyZltype 1 检验 2 检查
  8775. */
  8776. function getJcJyItemChargeByCode(code, jcJyZltype) {
  8777. if (code != null) {
  8778. $("#itemCodeSearch").val(code);
  8779. $("#jcJyZltypeSearch").val(jcJyZltype);
  8780. } else if ($("#jcjy_current_code").val() == null || $("#jcjy_current_code").val() == '') {
  8781. errorMesageSimaple("未选中任何项目!");
  8782. return;
  8783. }
  8784. $("#jcJyItemModal").modal("show");
  8785. $('#jcJyItemTable').bootstrapTable('refresh');
  8786. $('#jcJyItemTable').bootstrapTable({
  8787. url: '/thmz/getJcJyItemChargeByCode', //请求后台的URL(*)
  8788. method: 'GET', //请求方式(*)
  8789. toolbar: '#toolbar', //工具按钮用哪个容器
  8790. striped: true, //是否显示行间隔色
  8791. cache: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  8792. pagination: false, //是否显示分页(*)
  8793. sortable: true, //是否启用排序
  8794. sortOrder: "asc", //排序方式
  8795. queryParams: function (params) {
  8796. var itemCodeSearch = $("#itemCodeSearch").val();
  8797. var jcJyZltypeSearch = $("#jcJyZltypeSearch").val();
  8798. if (itemCodeSearch == null || itemCodeSearch == "") {
  8799. itemCodeSearch = $("#jcjy_current_code").val();
  8800. jcJyZltypeSearch = $("#jcJyZltype").val();
  8801. }
  8802. var temp = {
  8803. code: itemCodeSearch,
  8804. jcJyZltype: jcJyZltypeSearch
  8805. };
  8806. return temp;
  8807. }, //传递参数(*)
  8808. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  8809. pageNumber: 1, //初始化加载第一页,默认第一页
  8810. pageSize: 5, //每页的记录行数(*)
  8811. pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  8812. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  8813. strictSearch: true,
  8814. showColumns: false, //是否显示所有的列
  8815. showRefresh: false, //是否显示刷新按钮
  8816. minimumCountColumns: 2, //最少允许的列数
  8817. clickToSelect: true, //是否启用点击选中行
  8818. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  8819. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  8820. cardView: false, //是否显示详细视图
  8821. detailView: false,
  8822. //rowStyle:rowStyle,//通过自定义函数设置行样式
  8823. ajaxOptions: {
  8824. headers: {
  8825. 'Accept': 'application/json',
  8826. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  8827. }
  8828. },
  8829. columns: [
  8830. {
  8831. field: 'tcCode',
  8832. title: '项目编码',
  8833. align: "center",
  8834. valign: 'middle',
  8835. // sortable: true
  8836. }, {
  8837. field: 'code',
  8838. title: '收费编码',
  8839. align: "center",
  8840. valign: 'middle',
  8841. // sortable: true
  8842. }
  8843. , {
  8844. field: 'name',
  8845. title: '收费名称',
  8846. align: "center",
  8847. valign: 'middle',
  8848. // sortable: true
  8849. }, {
  8850. field: 'num',
  8851. title: '数量',
  8852. align: "center",
  8853. valign: 'middle',
  8854. // sortable: true
  8855. }, {
  8856. field: 'chargeAmount',
  8857. title: '单价',
  8858. align: "center",
  8859. valign: 'middle',
  8860. // sortable: true
  8861. formatter: function (value, row, index) {
  8862. if (value == null || value == "") {
  8863. return 0;
  8864. }
  8865. return value.toFixed(2);
  8866. }
  8867. }, {
  8868. field: 'totalAmount',
  8869. title: '总金额',
  8870. align: "center",
  8871. valign: 'middle',
  8872. // sortable: true
  8873. formatter: function (value, row, index) {
  8874. if (value == null || value == "") {
  8875. return 0;
  8876. }
  8877. return value.toFixed(2);
  8878. }
  8879. }, {
  8880. field: 'selfpayProp',
  8881. title: '自付比例',
  8882. align: "center",
  8883. valign: 'middle',
  8884. // sortable: true
  8885. formatter: function (value, row, index) {
  8886. if (value != null) {
  8887. return value + '%';
  8888. }
  8889. }
  8890. }, {
  8891. field: 'connotation',
  8892. title: '医保说明',
  8893. align: "center",
  8894. valign: 'middle',
  8895. // sortable: true
  8896. }
  8897. ],
  8898. responseHandler: function (res) {
  8899. if (res == '401' || res == 401) {
  8900. window.location.href = '/thmz/login/view'
  8901. return;
  8902. }
  8903. $("#itemCodeSearch").val(null);
  8904. $("#jyjcNote").val(res.note)
  8905. var ress = eval(res);
  8906. if (ress.code == -1) {
  8907. errorMesage(res);
  8908. return {
  8909. "total": 0,//总页数
  8910. "rows": {} //数据
  8911. };
  8912. }
  8913. return {
  8914. "total": ress.data.length,//总页数
  8915. "rows": ress.data //数据
  8916. };
  8917. }
  8918. });
  8919. }
  8920. function getJyJcCodeParam() {
  8921. var itemCodeSearch = $("#itemCodeSearch").val();
  8922. var jcJyZltypeSearch = $("#jcJyZltypeSearch").val();
  8923. if (itemCodeSearch == null || itemCodeSearch == "") {
  8924. itemCodeSearch = $("#jcjy_current_code").val();
  8925. jcJyZltypeSearch = $("#jcJyZltype").val();
  8926. }
  8927. var temp = {
  8928. code: itemCodeSearch,
  8929. jcJyZltype: jcJyZltypeSearch
  8930. };
  8931. return temp;
  8932. }
  8933. /**
  8934. * 判断是否有重复的项目 返回true 说明有重复的
  8935. * @param code 编码
  8936. * @param serial 药品规格 null 时是非药品
  8937. * @param chargeUnitCode 检查部位或者检验物 null 时是 诊疗
  8938. * @param index
  8939. */
  8940. function verifyRepeat(code, serial, chargeUnitCode, index) {
  8941. //是新增药品还是编辑 true 修改 默认false
  8942. var updateFlag = null;
  8943. if (index == 0) {
  8944. updateFlag = $("#western_medicine_update_flag").val();
  8945. } else if (index == 1) {
  8946. updateFlag = $("#chinese_medicine_update_flag").val();
  8947. } else if (index == 2) {
  8948. updateFlag = $("#jcjy_update_flag").val();
  8949. } else if (index == 3) {
  8950. updateFlag = $("#zl_update_flag").val();
  8951. } else if (index == 5) {
  8952. updateFlag = $("#op_record_update_flag").val();
  8953. }else if (index == 6) {
  8954. updateFlag = $("#wp_medicine_update_flag").val();
  8955. }
  8956. if (updateFlag == undefined || updateFlag == null) {
  8957. updateFlag = false;
  8958. }
  8959. if (updateFlag == "true" || updateFlag == true) {
  8960. return false;
  8961. }
  8962. var tabId = null;
  8963. //西药
  8964. if (index == 0) {
  8965. tabId = "xyTab";
  8966. } else if (index == 1) {
  8967. //中成药
  8968. tabId = "zyTab";
  8969. } else if (index == 2) {
  8970. //辅助检查、检验
  8971. tabId = "jcjyTab";
  8972. } else if (index == 3) {
  8973. //诊疗
  8974. tabId = "zlTab";
  8975. } else if (index == 4) {
  8976. //入院
  8977. tabId = "zyReqTab";
  8978. } else if (index == 5) {
  8979. //手术
  8980. tabId = "opRecordTab";
  8981. }else if (index == 6) {
  8982. //外配药
  8983. tabId = "wpMedicineTab";
  8984. }
  8985. var tableId = $("#" + tabId + " li.active").find("a").attr("href");
  8986. var items = $(tableId).find("div:eq(0)").find("div.form-group");
  8987. var groupId = null;
  8988. if (index == 0) {
  8989. groupId = $("#groupId").val();
  8990. }
  8991. if (items != null && items.length > 0) {
  8992. for (var i = 0; i < items.length; i++) {
  8993. if (serial == null) {
  8994. var temporary_items_code = $(items[i]).find("input.temporary_items_code").val();
  8995. var temporary_items_desc_value = $(items[i]).find("input.temporary_items_desc_value").val();
  8996. if (chargeUnitCode == null && code === temporary_items_code) {
  8997. errorMesageSimaple("项目与第" + numToChineseNum(i + 1) + "条重复");
  8998. return true;
  8999. }
  9000. if (code === temporary_items_code && chargeUnitCode === temporary_items_desc_value) {
  9001. errorMesageSimaple("项目与第" + numToChineseNum(i + 1) + "条重复");
  9002. return true;
  9003. }
  9004. } else {
  9005. if (index == 0) {
  9006. //西药需要判断组号,因为可能会有不同组的皮试用药,需要相同的药品
  9007. var temporary_items_groupId = $(items[i]).find("input.temporary_items_groupId").val();
  9008. var temporary_items_code = $(items[i]).find("input.temporary_items_code").val();
  9009. var temporary_items_serial = $(items[i]).find("input.temporary_items_serial").val();
  9010. if (code === temporary_items_code && serial === temporary_items_serial && groupId === temporary_items_groupId) {
  9011. errorMesageSimaple("项目与第" + numToChineseNum(i + 1) + "条重复");
  9012. return true;
  9013. }
  9014. } else {
  9015. var temporary_items_code = $(items[i]).find("input.temporary_items_code").val();
  9016. var temporary_items_serial = $(items[i]).find("input.temporary_items_serial").val();
  9017. if (code === temporary_items_code && serial === temporary_items_serial) {
  9018. errorMesageSimaple("项目与第" + numToChineseNum(i + 1) + "条重复");
  9019. return true;
  9020. }
  9021. }
  9022. }
  9023. }
  9024. }
  9025. return false;
  9026. }
  9027. /**
  9028. * 初始化处方分页
  9029. * @param index 0 西药 1 中药 2 诊疗 3 入院
  9030. * @param groupNo 初始化时候的药房分类
  9031. * @param orderNo 初始化时候的处方组号
  9032. */
  9033. function initNavTabs(index, groupNo, orderNo) {
  9034. var tabId = null;
  9035. var tabContentId = null;
  9036. var paneId = null;
  9037. var cfdesc = '普药';
  9038. //西药
  9039. if (index == 0) {
  9040. tabId = "xyTab";
  9041. tabContentId = "xyTabContent";
  9042. paneId = "xycf_" + getUID();
  9043. } else if (index == 1) {
  9044. //中草药
  9045. tabId = "zyTab";
  9046. tabContentId = "zyTabContent";
  9047. paneId = "zycf_" + getUID();
  9048. cfdesc = '中草药';
  9049. } else if (index == 2) {
  9050. //医技
  9051. tabId = "jcjyTab";
  9052. tabContentId = "jcjyTabContent";
  9053. paneId = "jcjycf_" + getUID();
  9054. cfdesc = '辅助检查、检验';
  9055. } else if (index == 3) {
  9056. //诊疗
  9057. tabId = "zlTab";
  9058. tabContentId = "zlTabContent";
  9059. paneId = "zlcf_" + getUID();
  9060. cfdesc = '诊疗';
  9061. } else if (index == 4) {
  9062. //住院
  9063. tabId = "zyReqTab";
  9064. tabContentId = "zyReqTabContent";
  9065. paneId = "zyReqcf_" + getUID();
  9066. cfdesc = '入院';
  9067. } else if (index == 5) {
  9068. //手术
  9069. tabId = "opRecordTab";
  9070. tabContentId = "opRecordTabContent";
  9071. paneId = "opRecordcf_" + getUID();
  9072. cfdesc = '手术';
  9073. }else if (index == 6) {
  9074. //外配药
  9075. tabId = "wpMedicineTab";
  9076. tabContentId = "wpMedicineTabContent";
  9077. paneId = "wpMedicinecf_" + getUID();
  9078. cfdesc = '外配药';
  9079. }
  9080. var tabHtml = '<li class="active"><a href="#' + paneId + '" role="tab" data-toggle="tab" ';
  9081. if (index == 0) {
  9082. tabHtml += ' onclick=xyTableOnClick("' + paneId + '")';
  9083. }
  9084. tabHtml += '>处方 <small class="cfdesc">(' + cfdesc + ')</small></a></li>';
  9085. $("#" + tabId).html(tabHtml);
  9086. var html = '<div class="tab-pane fade in active" id="' + paneId + '" style="height: 100%;min-height: 285px;position: relative;">';
  9087. html += '<img src="/thmz/images/prescription.png" style="margin-top: 5px;"/>';
  9088. html += '<input class="current_groupNo" type="hidden"/>';
  9089. html += ' <div class="cf_content rb_item" style="height: 230px;padding-top: 5px;overflow-y: auto;"></div>' +
  9090. ' <div style="height: 30px;border-top: 1px solid #ddd;width: 100%;position: absolute;bottom:0;padding-top: 10px;">';
  9091. html += '<div style="width: 460px;">'
  9092. if (index == 1) {
  9093. html += '<div id="cyFjDiv" style="width: 130px;float: left;line-height: 34px;">' +
  9094. ' <label class="my_label_2">复煎:</label>' +
  9095. ' <div style="width: 69px;float: left;">' +
  9096. ' <input type="number" class="form-control " id="cyFj" placeholder="请输入" value="1"/>' +
  9097. ' </div>次' +
  9098. ' </div>';
  9099. html += '<div style="width: 130px;float: left;line-height: 34px;">' +
  9100. ' <label class="my_label_2">分服:</label>' +
  9101. ' <div style="width: 69px;float: left;">' +
  9102. ' <input type="number" class="form-control " id="cyFfcs" placeholder="请输入" value="2"/>' +
  9103. ' </div>次' +
  9104. ' </div>';
  9105. html += '<div style="width: 180px;float: left;">' +
  9106. ' <label class="my_label_2">用法:</label>' +
  9107. ' <div style="width: 135px;float: left;">' +
  9108. ' <select class="form-control selectpicker show-tick useType"' +
  9109. ' title="请选择" id="useType_1">' +
  9110. ' </select>' +
  9111. ' </div>' +
  9112. ' </div>';
  9113. html += '</div><div style="width: 460px;">'
  9114. html += '<input id="singleAmount" type="hidden"/>';
  9115. }
  9116. html += '<div style="width: 130px;float: left;padding-left: 7px;padding-top: 8px;">金额:<span class="cf_amount">0.0</span><span>元</span></div>';
  9117. if (index == 0) {
  9118. html += '<div style="width: 310px;float: left;color: red;padding-top: 8px;">说明:此费用包含药品给药方式所产生的费用!</div>';
  9119. }
  9120. // else if (index == 1) {
  9121. // html += '<div style="width: 310px;float: left;color: red;padding-top: 8px;">说明:此费用包含药品代煎所产生的费用!</div>';
  9122. // }
  9123. html += '</div></div></div>';
  9124. $("#" + tabContentId).html(html);
  9125. if (index == 1) {
  9126. var water = '<option value="加凉水">加凉水</option><option value="加温水">加温水</option><option value="加开水">加开水</option><option value="加冰水">加冰水</option><option value="加糖水">加糖水</option>';
  9127. $('#cyJssm').html(water);
  9128. $('#cyJssm').selectpicker('refresh');
  9129. $("#cyJssm").selectpicker('val', "加凉水");
  9130. $('#cyJssm').selectpicker('refresh');
  9131. if($("#zyClassType").val() =='83'){
  9132. $("#cyFjDiv").removeClass("in").addClass("hide");
  9133. }else {
  9134. $("#cyFjDiv").removeClass("hide").addClass("in");
  9135. }
  9136. initAllMzYshZdFysm();
  9137. //initZyOrderFrequencys("zy_orderFrequency_1", false);
  9138. initZySupplyTypes("zy_supplyType_1", false);
  9139. }
  9140. if (groupNo != null && groupNo != "") {
  9141. //设置当前药品的品类
  9142. $("#" + paneId).find("input.current_groupNo").val(groupNo);
  9143. }
  9144. if (orderNo != null && orderNo != "" && orderNoAndTableIdMap != null) {
  9145. orderNoAndTableIdMap.put(orderNo, paneId);
  9146. tableIdAndOrderNoMap.put(paneId, orderNo);
  9147. }
  9148. }
  9149. /**
  9150. * 清空处方分页
  9151. * @param index 0 西药 1 中药 2 诊疗 3 入院 5 手术 6外配药
  9152. */
  9153. function clearNavTabs(index) {
  9154. var tabId = null;
  9155. var tabContentId = null;
  9156. //西药
  9157. if (index == 0) {
  9158. tabId = "xyTab";
  9159. tabContentId = "xyTabContent";
  9160. } else if (index == 1) {
  9161. //中草药
  9162. tabId = "zyTab";
  9163. tabContentId = "zyTabContent";
  9164. $("#cyJsl").val(400);
  9165. $("#cyZql").val(200);
  9166. $("#cyFj").val(1);
  9167. $("#cyFfcs").val(2);
  9168. $("#cyMtjs").val(1);
  9169. $("#zyfs").val(null);
  9170. $("#cyJssm").selectpicker('val', "加凉水");
  9171. $('#cyJssm').selectpicker('refresh');
  9172. $("#zy_supplyType_1").selectpicker('val', null);
  9173. $('#zy_supplyType_1').selectpicker('refresh');
  9174. } else if (index == 2) {
  9175. //辅助检查、检验
  9176. tabId = "jcjyTab";
  9177. tabContentId = "jcjyTabContent";
  9178. } else if (index == 3) {
  9179. //医技
  9180. tabId = "zlTab";
  9181. tabContentId = "zlTabContent";
  9182. } else if (index == 4) {
  9183. //住院
  9184. tabId = "zyReqTab";
  9185. tabContentId = "zyReqTabContent";
  9186. } else if (index == 5) {
  9187. //手术
  9188. tabId = "opRecordTab";
  9189. tabContentId = "opRecordTabContent";
  9190. }else if (index == 6) {
  9191. //手术
  9192. tabId = "wpMedicineTab";
  9193. tabContentId = "wpMedicineTabContent";
  9194. }
  9195. $("#" + tabId).html(null);
  9196. $("#" + tabContentId).html(null);
  9197. }
  9198. /**
  9199. * 添加处方分页
  9200. * @param index 0 西药 1 中药 2 诊疗 3 入院
  9201. * @param groupNo 71 普通西药 91 医材 111 麻、精一 131 精二 151 诊疗
  9202. * @param orderNo 处方号
  9203. */
  9204. function refreshNavTabs(index, groupNo, orderNo) {
  9205. var tabId = null;
  9206. var tabContentId = null;
  9207. var paneIdPrfix = null;
  9208. var cfdesc = '普药';
  9209. //西药
  9210. if (index == 0) {
  9211. tabId = "xyTab";
  9212. tabContentId = "xyTabContent";
  9213. paneIdPrfix = "xycf_";
  9214. if (groupNo == '91') {
  9215. cfdesc = '医材';
  9216. } else if (groupNo == '111') {
  9217. cfdesc = '麻、精一';
  9218. } else if (groupNo == '131') {
  9219. cfdesc = '精二';
  9220. }
  9221. // else if(groupNo=='151'){
  9222. // cfdesc='诊疗';
  9223. // }
  9224. } else if (index == 1) {
  9225. //中草药
  9226. tabId = "zyTab";
  9227. tabContentId = "zyTabContent";
  9228. paneIdPrfix = "zycf_";
  9229. cfdesc = '中草药';
  9230. } else if (index == 2) {
  9231. //辅助检查、检验
  9232. tabId = "jcjyTab";
  9233. tabContentId = "jcjyTabContent";
  9234. paneIdPrfix = "jcjycf_";
  9235. cfdesc = '辅助检查、检验';
  9236. } else if (index == 3) {
  9237. //诊疗
  9238. tabId = "zlTab";
  9239. tabContentId = "zlTabContent";
  9240. paneIdPrfix = "zlcf_";
  9241. cfdesc = '诊疗';
  9242. } else if (index == 4) {
  9243. //入院
  9244. tabId = "zyReqTab";
  9245. tabContentId = "zyReqTabContent";
  9246. paneIdPrfix = "zyReqcf_";
  9247. cfdesc = '入院';
  9248. } else if (index == 5) {
  9249. //手术
  9250. tabId = "opRecordTab";
  9251. tabContentId = "opRecordTabContent";
  9252. paneIdPrfix = "opRecordcf_";
  9253. cfdesc = '手术';
  9254. }else if (index == 6) {
  9255. //手术
  9256. tabId = "wpMedicineTab";
  9257. tabContentId = "wpMedicineTabContent";
  9258. paneIdPrfix = "wpMedicinecf_";
  9259. cfdesc = '外配药';
  9260. }
  9261. // var tableId = $("#"+tabId+" li.active").find("a").attr("href");
  9262. // var length = $(tableId).find("div:eq(0)").children().length;
  9263. // if(length==0){
  9264. // //当前处方是空白的,不需要新增处方
  9265. // return;
  9266. // }
  9267. var cfTitle = "处方" + " <small class=\"cfdesc\">(" + cfdesc + ")</small>";
  9268. var paneId = paneIdPrfix + getUID();
  9269. //清除选中的样式
  9270. $("#" + tabId).find("li.active").removeClass("active");
  9271. var tabHtml = '<li><a href="#' + paneId + '" role="tab" data-toggle="tab"';
  9272. if (index == 0) {
  9273. tabHtml += ' onclick=xyTableOnClick("' + paneId + '")';
  9274. }
  9275. tabHtml += '>' + cfTitle + '</a';
  9276. tabHtml += '</li>';
  9277. $("#" + tabId).append(tabHtml);
  9278. var html = '<div class="tab-pane fade in active" id="' + paneId + '" style="height: 100%;min-height: 285px;position: relative;">' +
  9279. '<img src="/thmz/images/prescription.png" style="margin-top: 5px;"/>' +
  9280. '<input class="current_groupNo" type="hidden"/>' +
  9281. ' <div class="cf_content rb_item" style="height: 230px;padding-top: 5px;overflow-y: auto;"></div>' +
  9282. ' <div style="height: 30px;border-top: 1px solid #ddd;width: 100%;position: absolute;bottom:0;">' +
  9283. '<div style="width: 460px;">' +
  9284. '<div style="width: 130px;float: left;padding-left: 7px;padding-top: 8px;">金额:<span class="cf_amount">0.0</span><span>元</span></div>';
  9285. if (index == 0) {
  9286. html += '<div style="width: 310px;float: left;color: red;padding-top: 8px;">说明:此费用包含药品给药方式所产生的费用!</div>';
  9287. }
  9288. html += '</div></div>';
  9289. $("#" + tabContentId).append(html);
  9290. //切换处方
  9291. $("#" + tabId).find("a[href='#" + paneId + "']").off("click").tab('show');
  9292. if (groupNo != null && groupNo != "") {
  9293. //设置当前药品的品类
  9294. $("#" + paneId).find("input.current_groupNo").val(groupNo);
  9295. }
  9296. if (orderNo != null && orderNo != "" && orderNoAndTableIdMap != null) {
  9297. orderNoAndTableIdMap.put(orderNo, paneId);
  9298. tableIdAndOrderNoMap.put(paneId, orderNo);
  9299. }
  9300. }
  9301. /**
  9302. * 判断是否需要自动增加组号
  9303. * @param res
  9304. */
  9305. function autoAddGroupId(res) {
  9306. var tableId = $("#xyTab li.active").find("a").attr("href");
  9307. var childrens = $(tableId).find("div:eq(0)").children();
  9308. var prevCategoriesFlag = null;
  9309. if (childrens != null && childrens.length > 0) {
  9310. prevCategoriesFlag = $(childrens[childrens.length - 1]).find("input.temporary_items_categoriesFlag").val();
  9311. if (prevCategoriesFlag == "" || prevCategoriesFlag == undefined) {
  9312. prevCategoriesFlag = null;
  9313. }
  9314. }
  9315. if (!(res.data.categoriesFlag == 2 || res.data.categoriesFlag == "2" || res.data.categoriesFlag == 1 || res.data.categoriesFlag == "1") ||
  9316. ((res.data.categoriesFlag == 2 || res.data.categoriesFlag == "2" || res.data.categoriesFlag == 1 || res.data.categoriesFlag == "1") && prevCategoriesFlag != null && prevCategoriesFlag != "1" && prevCategoriesFlag != 1 && prevCategoriesFlag != "2" && prevCategoriesFlag != 2)) {
  9317. //非针剂默认要切换组号 或者 是针剂,但是上一个药品不是针剂,这时候也要新换一个组号
  9318. var last = parseInt($("#groupId > option:last").val());
  9319. $("#groupId").selectpicker('val', last);
  9320. $('#groupId').selectpicker('refresh');
  9321. }
  9322. }
  9323. /**
  9324. * 填充西药选中的内容
  9325. * @param res
  9326. * @param groupNo
  9327. * @param type 操作类型 0 修改 1 医疗范文 2 就诊详情 3 处方开立
  9328. */
  9329. function fitWesternMedicine(res, groupNo, type) {
  9330. hintProjectSelfPayInfo(res.data.selfpayProp, "药品");
  9331. if (type != 0) {
  9332. //处方修改的时候不改变组号
  9333. autoAddGroupId(res);
  9334. }
  9335. $("#categoriesFlag").val(res.data.categoriesFlag);
  9336. //prevCategoriesFlag = res.data.categoriesFlag;
  9337. $("#western_medicine_name").val(res.data.name);
  9338. $("#western_medicine_name").blur();
  9339. var drugWinHtml = '';
  9340. var index = null;
  9341. if (res.data.weight != null) {
  9342. $("#drugWin").val(res.data.weight);
  9343. $("#drugWinDb").val(res.data.weight);
  9344. drugWinHtml = '<option value="' + res.data.weighUnit + '" desc="' + res.data.weight + '">' + res.data.weighUnitDesc + '</option>';
  9345. index = res.data.weighUnit;
  9346. }
  9347. if (res.data.volum != null) {
  9348. if ($("#drugWin").val() == null || $("#drugWin").val() == '') {
  9349. $("#drugWin").val(res.data.volum);
  9350. $("#drugWinDb").val(res.data.volum);
  9351. }
  9352. drugWinHtml += '<option value="' + res.data.volUnit + '" desc="' + res.data.volum + '">' + res.data.volUnitDesc + '</option>';
  9353. if (index == null) {
  9354. index = res.data.volUnit;
  9355. }
  9356. }
  9357. if (res.data.miniUnit != null && res.data.miniUnit != "") {
  9358. if ($("#drugWin").val() == null || $("#drugWin").val() == '') {
  9359. $("#drugWin").val(1);
  9360. $("#drugWinDb").val(1);
  9361. }
  9362. drugWinHtml += '<option value="' + res.data.miniUnit + '" desc="1">' + res.data.miniUnitDesc + '</option>';
  9363. if (index == null) {
  9364. index = res.data.miniUnit;
  9365. }
  9366. }
  9367. $('#drugWinUnit').html(drugWinHtml);
  9368. $('#drugWinUnit').selectpicker('refresh');
  9369. $("#drugWinUnit").selectpicker('val', index);
  9370. $('#drugWinUnit').selectpicker('refresh');
  9371. if (res.data.packUnitDesc != null && res.data.packUnitDesc != "") {
  9372. var html = '<option value="' + res.data.packUnitDesc + '" >' + res.data.packUnitDesc + '</option>';
  9373. $('#packUnit').html(html);
  9374. $('#packUnit').selectpicker('refresh');
  9375. $("#packUnit").selectpicker('val', res.data.packUnitDesc);
  9376. $('#packUnit').selectpicker('refresh');
  9377. }
  9378. $("#packRetprice").val(res.data.packRetprice);
  9379. $("#packSize").val(res.data.packSize);
  9380. $("#western_medicine_current_code").val(res.data.code);
  9381. $("#western_medicine_current_serial").val(res.data.serial);
  9382. if ($("#dayNum").val() == null) {
  9383. //天数 同组药品天数相同
  9384. $("#dayNum").selectpicker('val', 1);
  9385. $('#dayNum').selectpicker('refresh');
  9386. }
  9387. if (($("#supplyType").val() == null || $("#supplyType").val() == "") && res.data.supplyType != null) {
  9388. // 给药方式 同组药品给药方式相同
  9389. $("#supplyType").selectpicker('val', res.data.supplyType);
  9390. $('#supplyType').selectpicker('refresh');
  9391. }
  9392. if (($("#orderFrequency").val() == null || $("#orderFrequency").val() == "") && res.data.frequency != null) {
  9393. //频次编码 同组药品频次编码相同
  9394. $("#orderFrequency").selectpicker('val', res.data.frequency);
  9395. $('#orderFrequency').selectpicker('refresh');
  9396. }
  9397. if ($("#orderFrequency").val() == null || $("#orderFrequency").val() == "") {
  9398. //频次编码 防止频次为空
  9399. $("#orderFrequency").selectpicker('val', "ONCE");
  9400. $('#orderFrequency').selectpicker('refresh');
  9401. }
  9402. $("#tryResult").parent().parent().parent().removeClass("in").addClass("hide");
  9403. if (res.data.psFlag != null && (res.data.psFlag == 1 || res.data.psFlag == "1")) {
  9404. if (res.data.categoriesFlag == 0 || res.data.categoriesFlag == "0" || res.data.categoriesFlag == 2 || res.data.categoriesFlag == "2") {
  9405. initTryResultSelect(res.data.categoriesFlag);
  9406. }
  9407. }
  9408. $("#manufactoryName").val(res.data.manufactoryName);
  9409. $("#specification").val(res.data.specification);
  9410. calculate();
  9411. $("#addPDiv").css("margin-left", "50px");
  9412. $("#hlyyypsms").removeClass("hide").addClass("in");
  9413. $("#western_medicine_name").focus();
  9414. }
  9415. /**
  9416. * 剂量单位改变事件
  9417. */
  9418. function drugWinUnitChange() {
  9419. var desc = $('#drugWinUnit').find("option:selected").attr('desc');
  9420. $("#drugWin").val(desc);
  9421. $("#drugWinDb").val(desc);
  9422. calculate();
  9423. }
  9424. /**
  9425. * 根据选择的内容计算总的用药量
  9426. */
  9427. function calculate() {
  9428. //最小规格剂量
  9429. var drugWinDb = $("#drugWinDb").val();
  9430. //天数
  9431. var dayNum = $("#dayNum").val();
  9432. //当前使用的最小剂量
  9433. var drugWin = $("#drugWin").val();
  9434. //频率
  9435. var times = $('#orderFrequency').find("option:selected").attr('desc');
  9436. //包装规格数量
  9437. var packSize = $("#packSize").val();
  9438. //单价
  9439. var packRetprice = $("#packRetprice").val();
  9440. //当前药房编码
  9441. var currentGroupNo = $("#current_groupNo").val();
  9442. if (drugWinDb == null || drugWinDb === "") {
  9443. if (currentGroupNo == '71') {
  9444. return;
  9445. }
  9446. drugWinDb = 1;
  9447. }
  9448. if (dayNum == null || dayNum === "") {
  9449. if (currentGroupNo == '71') {
  9450. return;
  9451. }
  9452. dayNum = 1;
  9453. }
  9454. if (drugWin == null || drugWin === "") {
  9455. if (currentGroupNo == '71') {
  9456. return;
  9457. }
  9458. drugWin = 1;
  9459. }
  9460. if (times == null || times === "") {
  9461. if (currentGroupNo == '71') {
  9462. return;
  9463. }
  9464. times = 1;
  9465. }
  9466. if (packSize == null || packSize === "") {
  9467. return;
  9468. }
  9469. //拆零总量
  9470. var scatteredTotalNum = Multiply(Multiply(dayNum, drugWin), times);
  9471. //整包装的数量
  9472. var totalNum = Math.ceil(Division(scatteredTotalNum, Multiply(packSize, drugWinDb)));
  9473. $("#gross").val(totalNum);
  9474. $("#totalRetprice").val(Multiply(totalNum, packRetprice));
  9475. }
  9476. /**
  9477. * 根据选择的总量计算金额 只有医材的时候需要计算
  9478. */
  9479. function calculateSimple() {
  9480. //总量
  9481. var gross = $("#gross").val();
  9482. //单价
  9483. var packRetprice = $("#packRetprice").val();
  9484. $("#totalRetprice").val(Multiply(gross, packRetprice));
  9485. //当前药房编码
  9486. var currentGroupNo = $("#current_groupNo").val();
  9487. if (currentGroupNo == '91') {
  9488. var dayNum = $("#dayNum").val();
  9489. if (dayNum == null || dayNum == "") {
  9490. //医材默认天数为1
  9491. $("#dayNum").selectpicker('val', 1);
  9492. $('#dayNum').selectpicker('refresh');
  9493. }
  9494. var orderFrequency = $("#orderFrequency").val();
  9495. if (orderFrequency == null || orderFrequency == "") {
  9496. $("#orderFrequency").selectpicker('val', "ONCE");
  9497. $('#orderFrequency').selectpicker('refresh');
  9498. }
  9499. }
  9500. }
  9501. /**
  9502. * 根据中药付数计算金额
  9503. */
  9504. function calculateZyAmount() {
  9505. var singleAmount = $("#singleAmount").val();
  9506. var tableId = $("#zyTab li.active").find("a").attr("href");
  9507. //获取中药付数
  9508. //var zyfs = $(tableId).find("input.zyfs").val();
  9509. var zyfs = $("#zyfs").val();
  9510. var cfAmount = Multiply(zyfs, singleAmount);
  9511. $(tableId).find("span.cf_amount").html(cfAmount);
  9512. calculateTotalAmount(false);
  9513. }
  9514. /**
  9515. * 将病人信息填入患者信息修改form
  9516. * @param patinet
  9517. */
  9518. function fillPlusPatinet(patinet) {
  9519. if (patinet != null) {
  9520. $("#editUserCode").val(patinet.patientId);
  9521. $("#editUserName").val(patinet.name);
  9522. $("#editUserName").blur();
  9523. $("#editUserAge").val(patinet.age);
  9524. $("#editUserAge").blur();
  9525. $("#editUserGender").selectpicker('val', patinet.sex);
  9526. $("#editUserGender").selectpicker('refresh');
  9527. $("#editUserGender").blur();
  9528. $("#editUserBirthDay").val(patinet.birthDayStr);
  9529. $("#editUserBirthDay").blur();
  9530. $('#editUserCertificateType').selectpicker('val', patinet.certificateType);
  9531. $('#editUserCertificateType').selectpicker('refresh');
  9532. $("#editUserCardNo").val(patinet.icCardNo);
  9533. $("#editUserCardNo").attr("title", patinet.icCardNo);
  9534. $("#editUserCardNo").blur();
  9535. $("#editUserPhoneNum").val(patinet.phoneNo);
  9536. $("#editUserPhoneNum").attr("title", patinet.phoneNo);
  9537. $("#editUserPhoneNum").blur();
  9538. $("#editUserPatientsNature").selectpicker('val', patinet.responseType);//默认选中
  9539. $('#editUserPatientsNature').selectpicker('refresh');
  9540. $("#editUserPatientsNature").blur();
  9541. $("#editUserIdCard").val(patinet.socialNo);
  9542. $("#editUserIdCard").attr("title", patinet.socialNo);
  9543. $("#editUserIdCard").blur();
  9544. $('#editUserProvinceCode').selectpicker('val', patinet.provinceCode);
  9545. $('#editUserProvinceCode').selectpicker('refresh');
  9546. initCity(2, patinet.cityCode);
  9547. initDistrict(2, patinet.cityCode, patinet.districtCode);
  9548. $("#editUserDetail").val(patinet.detail);
  9549. $("#editUserDetail").blur();
  9550. $("#editUserContact").val(patinet.relName);
  9551. $("#editUserContactPhone").val(patinet.contractName);
  9552. }
  9553. }
  9554. /**
  9555. * 修改病人信息
  9556. */
  9557. function modifyPatient() {
  9558. $.ajax({
  9559. type: "POST",
  9560. url: '/thmz/modifyPatient',
  9561. contentType: "application/json;charset=UTF-8",
  9562. dataType: "json",
  9563. data: JSON.stringify({
  9564. "name": $("#editUserName").val(),
  9565. "age": $("#editUserAge").val(),
  9566. "sex": $("#editUserGender").val(),
  9567. "birthDay": $("#editUserBirthDay").val(),
  9568. "certificateType": $("#editUserCertificateType").val(),
  9569. "icCardNo": $("#editUserCardNo").val(),
  9570. "phoneNo": $("#editUserPhoneNum").val(),
  9571. "responseType": $("#editUserPatientsNature").val(),
  9572. "socialNo": $("#editUserIdCard").val(),
  9573. "provinceCode": $("#editUserProvinceCode").val(),
  9574. "cityCode": $("#editCityCode").val(),
  9575. "districtCode": $("#editUserDistrictCode").val(),
  9576. "detail": $("#editUserDetail").val(),
  9577. "patientId": $("#editUserCode").val(),
  9578. "relName": $("#editUserContact").val(),
  9579. "contractName": $("#editUserContactPhone").val()
  9580. }),
  9581. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  9582. success: function (res) {
  9583. if (res == '401' || res == 401) {
  9584. window.location.href = '/thmz/login/view'
  9585. return;
  9586. }
  9587. if (res.code == 0) {
  9588. $('#editUserModal').modal('hide');
  9589. var patientId = $("#patientId").text();
  9590. let tempMzfzSerialNo = $("#mzfzSerialNoInClick").val();
  9591. if (patientId != null && patientId != 'null' && patientId != "" && tempMzfzSerialNo.indexOf("clnicId_") < 0 ) {
  9592. realClinicalReception(patientId, $("#mzfzSerialNoInClick").val(), $("#mzfzReqTypeNoInClick").val());
  9593. } else {
  9594. if(ksjzType == 2){
  9595. let tempPatientId = $("#editUserCode").val();
  9596. clearRapidAccepts();
  9597. $("#rapidAcceptsUserCardNo").val(tempPatientId);
  9598. queryUserInfoByCardNo();
  9599. ksjzType = null;
  9600. }
  9601. }
  9602. clearPlusPatinet();
  9603. } else {
  9604. errorMesage(res);
  9605. }
  9606. }
  9607. });
  9608. }
  9609. /**
  9610. * 将病人信息修改域置空
  9611. * @param patinet
  9612. */
  9613. function clearPlusPatinet() {
  9614. ksjzType = null;
  9615. $("#editUserCode").val(null);
  9616. $("#editUserName").val(null);
  9617. $("#editUserAge").val(null);
  9618. $("#editUserGender").selectpicker('val', '1');
  9619. $("#editUserGender").selectpicker('refresh');
  9620. $("#editUserBirthDay").val(null);
  9621. $('#editUserCertificateType').selectpicker('val', '01');
  9622. $('#editUserCertificateType').selectpicker('refresh');
  9623. $("#editUserCardNo").val(null);
  9624. $("#editUserCardNo").attr("title", null);
  9625. $("#editUserPhoneNum").val(null);
  9626. $("#editUserPhoneNum").attr("title", null);
  9627. $("#editUserPatientsNature").selectpicker('val', '01');//默认选中
  9628. $('#editUserPatientsNature').selectpicker('refresh');
  9629. $("#editUserIdCard").val(null);
  9630. $("#editUserIdCard").attr("title", null);
  9631. $('#editUserProvinceCode').selectpicker('val', null);
  9632. $('#editUserProvinceCode').selectpicker('refresh');
  9633. $('#editCityCode').selectpicker('val', null);
  9634. $('#editCityCode').selectpicker('refresh');
  9635. $('#editUserDistrictCode').selectpicker('val', null);
  9636. $('#editUserDistrictCode').selectpicker('refresh');
  9637. $("#editUserDetail").val(null);
  9638. $("#editUserContact").val(null);
  9639. $("#editUserContactPhone").val(null);
  9640. var openSource = $("#openSource").val();
  9641. if (openSource == 2 || openSource == '2') {
  9642. $("#rapidAcceptsModal").modal();
  9643. } else if (openSource == 3 || openSource == '3') {
  9644. $("#visitingDetailModal").modal();
  9645. }
  9646. $("#openSource").val(null);
  9647. }
  9648. // /**
  9649. // * 保存入院证
  9650. // */
  9651. // function saveBeHospitalized() {
  9652. // $.ajax({
  9653. // type: "POST",
  9654. // url: '/thmz/saveMzZyReq',
  9655. // contentType: "application/json;charset=UTF-8",
  9656. // dataType: "json",
  9657. // data: JSON.stringify({
  9658. // "patientId": $("#patientId").text(),
  9659. // "icdCode": $("#icdCodeBeHospitalized").val(),
  9660. // "icdText": $("#icdTextBeHospitalized").val(),
  9661. // "reqDept": $("#inpatientWardBeHospitalized").val(),
  9662. // "smallDept": $("#smallWardBeHospitalized").val(),
  9663. // "admissStatus": $("#admissStatus").val()
  9664. // }),
  9665. // headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  9666. // success: function (res) {
  9667. // if (res == '401' || res == 401) {
  9668. // window.location.href = '/thmz/login/view'
  9669. // return;
  9670. // }
  9671. // if (res.code == 0) {
  9672. // successMesage(res);
  9673. // $('#beHospitalizedModal').modal('hide');
  9674. // loadInClinicTableList();
  9675. // loadClinicTableList();
  9676. // clearWorkSpace();
  9677. // } else {
  9678. // errorMesage(res);
  9679. // }
  9680. // }
  9681. // });
  9682. // }
  9683. /**
  9684. * 获取按钮组选择的下标
  9685. * @param id
  9686. * @returns {number}
  9687. */
  9688. function getIndex(id) {
  9689. var index = 0;
  9690. var item = $("#" + id).find("button");
  9691. for (var i = 0; i <= item.length; i++) {
  9692. if ($(item[i]).hasClass("btn-primary")) {
  9693. index = i;
  9694. break;
  9695. }
  9696. }
  9697. return index;
  9698. }
  9699. /**
  9700. * 获取时间选择器的时间数组
  9701. * @returns {string[]}
  9702. */
  9703. function getRePortRangeArr() {
  9704. var rePortRange = $('#reportrange span').html();
  9705. var rePortRangeArr = rePortRange.split(" - ");
  9706. rePortRangeArr[0] = rePortRangeArr[0] + " 00:00:00"
  9707. rePortRangeArr[1] = rePortRangeArr[1] + " 23:59:59"
  9708. return rePortRangeArr;
  9709. }
  9710. /**
  9711. * 初始医生工作太配置
  9712. */
  9713. function initWorkspaceConfigForCurrent() {
  9714. $.ajax({
  9715. type: "GET",
  9716. url: '/thmz/getWorkspaceConfigForCurrent',
  9717. dataType: "json",
  9718. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  9719. success: function (res) {
  9720. if (res == '401' || res == 401) {
  9721. window.location.href = '/thmz/login/view'
  9722. return;
  9723. }
  9724. if (res.code == 0) {
  9725. if (res.data.symptomFlag == 1) {
  9726. $("#symptomFlag").removeClass("in").addClass("hide");
  9727. if ($("#symptomFlagCheck").parent().hasClass("checked")) {
  9728. $("#symptomFlagCheck").parent().parent().click();//当前选中改为不选中
  9729. }
  9730. } else if (res.data.symptomFlag == 0) {
  9731. $("#symptomFlag").removeClass("hide").addClass("in");
  9732. if (!$("#symptomFlagCheck").parent().hasClass("checked")) {
  9733. $("#symptomFlagCheck").parent().parent().click();//当前不选中改为选中
  9734. }
  9735. }
  9736. if (res.data.emrHpiFlag == 1) {
  9737. $("#emrHpiFlag").removeClass("in").addClass("hide");
  9738. if ($("#emrHpiFlagCheck").parent().hasClass("checked")) {
  9739. $("#emrHpiFlagCheck").parent().parent().click();//当前选中改为不选中
  9740. }
  9741. } else if (res.data.emrHpiFlag == 0) {
  9742. $("#emrHpiFlag").removeClass("hide").addClass("in");
  9743. if (!$("#emrHpiFlagCheck").parent().hasClass("checked")) {
  9744. $("#emrHpiFlagCheck").parent().parent().click();//当前不选中改为选中
  9745. }
  9746. }
  9747. if (res.data.emrPsFlag == 1) {
  9748. $("#emrPsFlag").removeClass("in").addClass("hide");
  9749. if ($("#emrPsFlagCheck").parent().hasClass("checked")) {
  9750. $("#emrPsFlagCheck").parent().parent().click();//当前选中改为不选中
  9751. }
  9752. } else if (res.data.emrPsFlag == 0) {
  9753. $("#emrPsFlag").removeClass("hide").addClass("in");
  9754. if (!$("#emrPsFlagCheck").parent().hasClass("checked")) {
  9755. $("#emrPsFlagCheck").parent().parent().click();//当前不选中改为选中
  9756. }
  9757. }
  9758. if (res.data.personalHistoryFlag == 1) {
  9759. $("#personalHistoryFlag").removeClass("in").addClass("hide");
  9760. if ($("#personalHistoryFlagCheck").parent().hasClass("checked")) {
  9761. $("#personalHistoryFlagCheck").parent().parent().click();//当前选中改为不选中
  9762. }
  9763. } else if (res.data.personalHistoryFlag == 0) {
  9764. $("#personalHistoryFlag").removeClass("hide").addClass("in");
  9765. if (!$("#personalHistoryFlagCheck").parent().hasClass("checked")) {
  9766. $("#personalHistoryFlagCheck").parent().parent().click();//当前不选中改为选中
  9767. }
  9768. }
  9769. if (res.data.fzZlFlag == 1) {
  9770. $("#fzZlFlag").removeClass("in").addClass("hide");
  9771. if ($("#fzZlFlagCheck").parent().hasClass("checked")) {
  9772. $("#fzZlFlagCheck").parent().parent().click();//当前选中改为不选中
  9773. }
  9774. } else if (res.data.fzZlFlag == 0) {
  9775. $("#fzZlFlag").removeClass("hide").addClass("in");
  9776. if (!$("#fzZlFlagCheck").parent().hasClass("checked")) {
  9777. $("#fzZlFlagCheck").parent().parent().click();//当前不选中改为选中
  9778. }
  9779. }
  9780. if (res.data.crbHistoryFlag == 1) {
  9781. $("#crbHistoryFlag").removeClass("in").addClass("hide");
  9782. if ($("#crbHistoryFlagCheck").parent().hasClass("checked")) {
  9783. $("#crbHistoryFlagCheck").parent().parent().click();//当前选中改为不选中
  9784. }
  9785. } else if (res.data.crbHistoryFlag == 0) {
  9786. $("#crbHistoryFlag").removeClass("hide").addClass("in");
  9787. if (!$("#crbHistoryFlagCheck").parent().hasClass("checked")) {
  9788. $("#crbHistoryFlagCheck").parent().parent().click();//当前不选中改为选中
  9789. }
  9790. }
  9791. if (res.data.familyHistoryFlag == 1) {
  9792. $("#familyHistoryFlag").removeClass("in").addClass("hide");
  9793. if ($("#familyHistoryFlagCheck").parent().hasClass("checked")) {
  9794. $("#familyHistoryFlagCheck").parent().parent().click();//当前选中改为不选中
  9795. }
  9796. } else if (res.data.familyHistoryFlag == 0) {
  9797. $("#familyHistoryFlag").removeClass("hide").addClass("in");
  9798. if (!$("#familyHistoryFlagCheck").parent().hasClass("checked")) {
  9799. $("#familyHistoryFlagCheck").parent().parent().click();//当前不选中改为选中
  9800. }
  9801. }
  9802. if (res.data.obstericalHistoryFlag == 1) {
  9803. $("#obstericalHistoryFlag").removeClass("in").addClass("hide");
  9804. if ($("#obstericalHistoryFlagCheck").parent().hasClass("checked")) {
  9805. $("#obstericalHistoryFlagCheck").parent().parent().click();//当前选中改为不选中
  9806. }
  9807. } else if (res.data.obstericalHistoryFlag == 0) {
  9808. $("#obstericalHistoryFlag").removeClass("hide").addClass("in");
  9809. if (!$("#obstericalHistoryFlagCheck").parent().hasClass("checked")) {
  9810. $("#obstericalHistoryFlagCheck").parent().parent().click();//当前不选中改为选中
  9811. }
  9812. }
  9813. if (res.data.pressureLeftFlag == 1) {
  9814. $("#pressureLeftFlag").removeClass("in").addClass("hide");
  9815. if ($("#pressureLeftFlagCheck").parent().hasClass("checked")) {
  9816. $("#pressureLeftFlagCheck").parent().parent().click();//当前选中改为不选中
  9817. }
  9818. } else if (res.data.pressureLeftFlag == 0) {
  9819. $("#pressureLeftFlag").removeClass("hide").addClass("in");
  9820. if (!$("#pressureLeftFlagCheck").parent().hasClass("checked")) {
  9821. $("#pressureLeftFlagCheck").parent().parent().click();//当前不选中改为选中
  9822. }
  9823. }
  9824. if (res.data.tentativeDiagnosisFlag == 1) {
  9825. $("#tentativeDiagnosisFlag").removeClass("in").addClass("hide");
  9826. if ($("#tentativeDiagnosisFlagCheck").parent().hasClass("checked")) {
  9827. $("#tentativeDiagnosisFlagCheck").parent().parent().click();//当前选中改为不选中
  9828. }
  9829. } else if (res.data.tentativeDiagnosisFlag == 0) {
  9830. $("#tentativeDiagnosisFlag").removeClass("hide").addClass("in");
  9831. if (!$("#tentativeDiagnosisFlagCheck").parent().hasClass("checked")) {
  9832. $("#tentativeDiagnosisFlagCheck").parent().parent().click();//当前不选中改为选中
  9833. }
  9834. }
  9835. if (res.data.checkboxFlag == 1) {
  9836. if ($("#checkboxFlagCheck").parent().hasClass("checked")) {
  9837. $("#checkboxFlagCheck").parent().parent().click();//当前选中改为不选中
  9838. }
  9839. } else if (res.data.checkboxFlag == 0) {
  9840. if (!$("#checkboxFlagCheck").parent().hasClass("checked")) {
  9841. $("#checkboxFlagCheck").parent().parent().click();//当前不选中改为选中
  9842. }
  9843. }
  9844. if (res.data.zlPrintFlag == 1) {
  9845. if ($("#zlPrintFlagCheck").parent().hasClass("checked")) {
  9846. $("#zlPrintFlagCheck").parent().parent().click();//当前选中改为不选中
  9847. }
  9848. } else if (res.data.zlPrintFlag == 0) {
  9849. if (!$("#zlPrintFlagCheck").parent().hasClass("checked")) {
  9850. $("#zlPrintFlagCheck").parent().parent().click();//当前不选中改为选中
  9851. }
  9852. }
  9853. //设置是否默认勾选处方回调
  9854. localStorage.setItem("checkboxFlag", res.data.checkboxFlag);
  9855. } else {
  9856. errorMesage(res);
  9857. }
  9858. }
  9859. });
  9860. }
  9861. /**
  9862. * 保存医生工作台配置
  9863. */
  9864. function saveWorkspaceConfig() {
  9865. var symptomFlag = $("#symptomFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9866. var emrHpiFlag = $("#emrHpiFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9867. var emrPsFlag = $("#emrPsFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9868. var personalHistoryFlag = $("#personalHistoryFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9869. var familyHistoryFlag = $("#familyHistoryFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9870. var fzZlFlag = $("#fzZlFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9871. var crbHistoryFlag = $("#crbHistoryFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9872. var obstericalHistoryFlag = $("#obstericalHistoryFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9873. var pressureLeftFlag = $("#pressureLeftFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9874. var tentativeDiagnosisFlag = $("#tentativeDiagnosisFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9875. var checkboxFlag = $("#checkboxFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9876. var zlPrintFlag = $("#zlPrintFlagCheck").parent().hasClass("checked") == true ? 0 : 1;
  9877. $.ajax({
  9878. type: "POST",
  9879. url: '/thmz/saveWorkspaceConfig',
  9880. contentType: "application/json;charset=UTF-8",
  9881. dataType: "json",
  9882. data: JSON.stringify({
  9883. "symptomFlag": symptomFlag,
  9884. "emrHpiFlag": emrHpiFlag,
  9885. "emrPsFlag": emrPsFlag,
  9886. "personalHistoryFlag": personalHistoryFlag,
  9887. "familyHistoryFlag": familyHistoryFlag,
  9888. "fzZlFlag": fzZlFlag,
  9889. "crbHistoryFlag": crbHistoryFlag,
  9890. "obstericalHistoryFlag": obstericalHistoryFlag,
  9891. "pressureLeftFlag": pressureLeftFlag,
  9892. "tentativeDiagnosisFlag": tentativeDiagnosisFlag,
  9893. "checkboxFlag": checkboxFlag,
  9894. "zlPrintFlag": zlPrintFlag
  9895. }),
  9896. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  9897. success: function (res) {
  9898. if (res == '401' || res == 401) {
  9899. window.location.href = '/thmz/login/view'
  9900. return;
  9901. }
  9902. if (res.code == 0) {
  9903. successMesage(res);
  9904. initWorkspaceConfigForCurrent();
  9905. $("#configWorkspaceModal").modal("hide");
  9906. } else {
  9907. errorMesage(res);
  9908. }
  9909. }
  9910. });
  9911. }
  9912. /**
  9913. * 初始化药品,检查检验菜单树
  9914. */
  9915. function initzTree() {
  9916. var index = getIndex("bill_item_group");
  9917. if (index == 0) {
  9918. $("#western_medicine_name").webuiPopover('hide');
  9919. $.ajax({
  9920. type: "GET",
  9921. url: '/thmz/getYpZdClasses',
  9922. contentType: "application/json;charset=UTF-8",
  9923. dataType: "json",
  9924. async: false,
  9925. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  9926. success: function (res) {
  9927. if (res == '401' || res == 401) {
  9928. window.location.href = '/thmz/login/view'
  9929. return;
  9930. }
  9931. if (res.code == 0) {
  9932. // zTree 的参数配置,深入使用请参考 API 文档(setting 配置详解)
  9933. var setting = {
  9934. callback: {
  9935. onClick: zTreeOnClick
  9936. }
  9937. };
  9938. $.fn.zTree.init($("#treeDemo"), setting, res.data);
  9939. var webuiId = $("#treeButton").attr("data-target");
  9940. var top = $("#" + webuiId).css("top");
  9941. if (top.indexOf("-") == 0) {
  9942. $("#" + webuiId).css("top", '0px');
  9943. }
  9944. } else {
  9945. errorMesage(res);
  9946. }
  9947. }
  9948. });
  9949. } else if (index == 2) {
  9950. $("#jcJyItem").webuiPopover('hide');
  9951. $.ajax({
  9952. type: "GET",
  9953. url: '/thmz/getJyJcZdClasses',
  9954. contentType: "application/json;charset=UTF-8",
  9955. dataType: "json",
  9956. async: false,
  9957. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  9958. success: function (res) {
  9959. if (res == '401' || res == 401) {
  9960. window.location.href = '/thmz/login/view'
  9961. return;
  9962. }
  9963. if (res.code == 0) {
  9964. // zTree 的参数配置,深入使用请参考 API 文档(setting 配置详解)
  9965. var setting = {
  9966. callback: {
  9967. onClick: zTreeOnClick
  9968. }
  9969. };
  9970. $.fn.zTree.init($("#treeDemo"), setting, res.data);
  9971. var webuiId = $("#treeButton").attr("data-target");
  9972. var top = $("#" + webuiId).css("top");
  9973. if (top.indexOf("-") == 0) {
  9974. $("#" + webuiId).css("top", '0px');
  9975. }
  9976. } else {
  9977. errorMesage(res);
  9978. }
  9979. }
  9980. });
  9981. } else if (index == 1) {
  9982. $("#treeButton").webuiPopover('hide');
  9983. warningMesageSimaple("中药暂无帮助字典");
  9984. } else if (index == 3) {
  9985. $("#treeButton").webuiPopover('hide');
  9986. warningMesageSimaple("诊疗暂无帮助字典");
  9987. } else {
  9988. $("#treeButton").webuiPopover('hide');
  9989. warningMesageSimaple("入院暂无帮助字典");
  9990. }
  9991. }
  9992. /**
  9993. * 节点点击事件
  9994. * @param event
  9995. * @param treeId
  9996. * @param treeNode
  9997. */
  9998. function zTreeOnClick(event, treeId, treeNode) {
  9999. var index = getIndex("bill_item_group");
  10000. if (index == 0) {
  10001. $("#western_medicine_name").val(treeNode.id);
  10002. $('#western_medicine_name').webuiPopover('show');
  10003. loadYpList(0, null);
  10004. } else if (index == 2) {
  10005. $("#jcJyItem").val(treeNode.id);
  10006. $('#jcJyItem').webuiPopover('show');
  10007. loadjcJyItemList(null);
  10008. }
  10009. }
  10010. /**
  10011. * 构建处方参数
  10012. * @param type 1 保存处方 2 保存模板 3 计算金额
  10013. * @returns {any}
  10014. */
  10015. function getParamsForpPrescription(type) {
  10016. var codes = $("#diagnoseValue").val();
  10017. var icdCode = null;
  10018. if (codes != null && codes.length > 0) {
  10019. var arr = codes.split(",");
  10020. if (arr != null) {
  10021. for (i = 0; i < arr.length; i++) {
  10022. if (arr[i] != "") {
  10023. if (icdCode == null) {
  10024. icdCode = arr[i];
  10025. } else {
  10026. icdCode += "," + arr[i];
  10027. }
  10028. }
  10029. }
  10030. }
  10031. }
  10032. let tcmCodes = $("#tcmDiagnoseValue").val();
  10033. let tcmIcdCodes = null;
  10034. if (tcmCodes != null && tcmCodes.length > 0) {
  10035. let arr = tcmCodes.split(",");
  10036. if (arr != null) {
  10037. for (i = 0; i < arr.length; i++) {
  10038. if (arr[i] != "") {
  10039. if (tcmIcdCodes == null) {
  10040. tcmIcdCodes = arr[i];
  10041. } else {
  10042. tcmIcdCodes += "," + arr[i];
  10043. }
  10044. }
  10045. }
  10046. }
  10047. }
  10048. var jsonData = JSON.parse('' +
  10049. '{"patientId": "",' +
  10050. '"visitDeptCode":"",' +
  10051. '"firstOrNot":"",' +
  10052. '"icdCode": "",' +
  10053. '"icdText": null,' +
  10054. '"tcmIcdCode": "",' +
  10055. '"tcmIcdText": null,' +
  10056. '"jzFlag": "0",' +
  10057. '"serialNo":"",' +
  10058. '"mzBlRecord": ' +
  10059. '{"firstOrNot": "",' +
  10060. '"emrChiefComplaint": "",' +
  10061. '"emrHpi": "",' +
  10062. '"emrPs": "",' +
  10063. '"emrPe": "",' +
  10064. '"emrFzjc": null,' +
  10065. '"emrProcess": null,' +
  10066. '"emrXyy": "无",' +
  10067. '"emrYypg": "无",' +
  10068. '"emrGnpg": "无",' +
  10069. '"emrJkjy": "",' +
  10070. '"personalHistory": "",' +
  10071. '"familyHistory": "",' +
  10072. '"fzZl": "",' +
  10073. '"crbHistory": "",' +
  10074. '"obstericalHistory": "",' +
  10075. '"weight": "",' +
  10076. '"temperature": "",' +
  10077. '"sphygmus": "",' +
  10078. '"breathe": "",' +
  10079. '"pressureHigh": "",' +
  10080. '"pressureFloor": "",' +
  10081. '"pressureHighLeft": "",' +
  10082. '"pressureFloorLeft": "",' +
  10083. '"tentativeDiagnosis":"",' +
  10084. '"prescriptionDetail":""},' +
  10085. '"mzChargeDetailList": [],' +
  10086. '"rxDruginfoList": [],' +
  10087. '"wxmallPackagePurchasedItemList": [],' +
  10088. '"mzYjReqList": [],' +
  10089. '"mzZyReq": {"reqDept": "","smallDept": "","admissStatus": "","conditionCode": "","routeOfAdmission": "", "contacterName":null , "contacterRelationship": "", "contacterPhone":null , "contacterAddress":null , "deposit":null },' +
  10090. '"opRecordList": [],' +
  10091. '"patientAllergenInfoList": [],' +
  10092. '"zgmztczf":"",' +
  10093. '"opspDisecode":"",' +
  10094. '"opspDiseName":"",' +
  10095. '"reqType":"",' +
  10096. '"orderType":"",' +
  10097. '"ghFeeFlag":"",' +
  10098. '"grzhzf":"",' +
  10099. '"readCardResult":"",' +
  10100. '"readCardType":"01"}');
  10101. jsonData.patientId = $("#patientId").text();
  10102. var userIdCode = localStorage.getItem("userIdCode");
  10103. var visitDeptCode = localStorage.getItem(userIdCode);
  10104. if (visitDeptCode == null) {
  10105. visitDeptCode = "";
  10106. }
  10107. jsonData.visitDeptCode = visitDeptCode;
  10108. jsonData.firstOrNot = $("input[name='firstOrNot']:checked").val();
  10109. jsonData.icdCode = icdCode;
  10110. jsonData.tcmIcdCode = tcmIcdCodes;
  10111. jsonData.serialNo = $("#mzfzSerialNoInClick").val();
  10112. if (type == 1) {
  10113. jsonData.turnToConsultationId = $("#turnToConsultationIdInClick").val();
  10114. var mdtrtGrpType = $("#mdtrtGrpType").val();
  10115. var trumFlag = $("#trumFlag").val();
  10116. var relTtpFlag = $("#relTtpFlag").val();
  10117. if (trumFlag == "1" && relTtpFlag == "") {
  10118. errorMesageSimaple("请注意【外伤标志】为【是】,【涉及第三方标志】不能为空!");
  10119. $("#messageButton").attr("disabled", false);
  10120. $("#messageModal").modal("hide");
  10121. throw new Error("请注意【外伤标志】为【是】,【涉及第三方标志】不能为空!");
  10122. }
  10123. var otpErReflFlag = $("#otpErReflFlag").val();
  10124. var expContent = JSON.parse("{}");
  10125. if (mdtrtGrpType != "" && mdtrtGrpType != "-1") {
  10126. expContent.MDTRT_GRP_TYPE = mdtrtGrpType;
  10127. }
  10128. if (trumFlag != "") {
  10129. expContent.TRUM_FLAG = trumFlag;
  10130. }
  10131. if (relTtpFlag != "") {
  10132. expContent.REL_TTP_FLAG = relTtpFlag;
  10133. }
  10134. if (otpErReflFlag != "" && otpErReflFlag != "-1") {
  10135. expContent.OTP_ER_REFL_FLAG = otpErReflFlag;
  10136. }
  10137. jsonData.expContent = JSON.stringify(expContent);
  10138. }
  10139. jsonData.mzBlRecord.firstOrNot = jsonData.firstOrNot;
  10140. jsonData.mzBlRecord.emrChiefComplaint = $("#symptom").val();
  10141. jsonData.mzBlRecord.emrHpi = $("#emrHpi").val();
  10142. jsonData.mzBlRecord.emrPs = $("#emrPs").val();
  10143. jsonData.mzBlRecord.emrPe = $("#otherCheck").val();
  10144. jsonData.mzBlRecord.emrJkjy = $("#healthEducation").val();
  10145. jsonData.mzBlRecord.personalHistory = $("#personalHistory").val();
  10146. jsonData.mzBlRecord.familyHistory = $("#familyHistory").val();
  10147. jsonData.mzBlRecord.fzZl = $("#fzZl").val();
  10148. jsonData.mzBlRecord.crbHistory = $("#crbHistory").val();
  10149. jsonData.mzBlRecord.obstericalHistory = $("#obstericalHistory").val();
  10150. jsonData.mzBlRecord.weight = $("#weight").val();
  10151. jsonData.mzBlRecord.temperature = $("#temperature").val();
  10152. jsonData.mzBlRecord.sphygmus = $("#sphygmus").val();
  10153. jsonData.mzBlRecord.breathe = $("#breathe").val();
  10154. jsonData.mzBlRecord.pressureHigh = $("#pressure_high").val();
  10155. jsonData.mzBlRecord.pressureFloor = $("#pressure_floor").val();
  10156. jsonData.mzBlRecord.pressureHighLeft = $("#pressure_high_left").val();
  10157. jsonData.mzBlRecord.pressureFloorLeft = $("#pressure_floor_left").val();
  10158. jsonData.mzBlRecord.tentativeDiagnosis = $("#tentativeDiagnosis").val();
  10159. //职工统筹部分参数
  10160. jsonData.zgmztczf = $("#zgmztczf").val();
  10161. jsonData.grzhzf = $("#grzhzf").val();
  10162. jsonData.readCardResult = $("#readCardResult").val();
  10163. jsonData.reqType = $("#mzReqType").val();
  10164. jsonData.orderType = $("#mzOrderTypeSelect").val();
  10165. jsonData.ghFeeFlag = $("#ghFeeSelect").val();
  10166. jsonData.opspDisecode = curOpspDiseCode;
  10167. jsonData.opspDiseName = curOpspDiseName;
  10168. //设置过敏源
  10169. var zdAllergen = $("#zdAllergen").val();
  10170. var ypDitList = $("#ypDitList").val();
  10171. if (zdAllergen != null && zdAllergen.length > 0) {
  10172. for (var i = 0; i < zdAllergen.length; i++) {
  10173. var tempJson = JSON.parse('{}');
  10174. tempJson.allergenCode = zdAllergen[i];
  10175. tempJson.type = 0;
  10176. jsonData.patientAllergenInfoList[jsonData.patientAllergenInfoList.length] = tempJson;
  10177. }
  10178. }
  10179. if (ypDitList != null && ypDitList.length > 0) {
  10180. for (var i = 0; i < ypDitList.length; i++) {
  10181. var tempJson = JSON.parse('{}');
  10182. tempJson.allergenCode = ypDitList[i];
  10183. tempJson.type = 1;
  10184. jsonData.patientAllergenInfoList[jsonData.patientAllergenInfoList.length] = tempJson;
  10185. }
  10186. }
  10187. //设置处方详情
  10188. var emrFzjc = null;
  10189. var xyTabContents = $("#xyTabContent").find("div.tab-pane");
  10190. //处方号
  10191. var orderNo = 0;
  10192. var arrs = $("span.cf_amount");
  10193. //西药设置
  10194. if (xyTabContents != null && xyTabContents.length > 0) {
  10195. for (var i = 0; i < xyTabContents.length; i++) {
  10196. //当前药品类型
  10197. var currentGroupNo = $(xyTabContents[i]).find("input.current_groupNo").val();
  10198. var formGroups = $(xyTabContents[i]).find("div.form-group");
  10199. if (formGroups != null && formGroups.length > 0) {
  10200. for (var j = 0; j < formGroups.length; j++) {
  10201. var tempJson = JSON.parse('{"chargeItemCode": "","serial": "","quantity": "","drugQuan": "","drugUnit": "","frequency": "","orderDays": "","paySelf": "0","drugWin": "1","instructionCode":"",' +
  10202. '"instructionText":"","orderNo":"","groupOrder":"","supplyCode":"","tryFlag":"","tryResult":"","groupNo":"","cyJssm":"","cyDj":"","cyFysm":"","cyJsl":"","cyZql":"","cyFj":"","cyFfcs":"","cyMtjs":""}');
  10203. tempJson.chargeItemCode = $(formGroups[j]).find("input.temporary_items_code").val();
  10204. tempJson.serial = $(formGroups[j]).find("input.temporary_items_serial").val();
  10205. tempJson.quantity = $(formGroups[j]).find("input.temporary_items_gross").val();
  10206. tempJson.drugQuan = $(formGroups[j]).find("input.temporary_items_drugWin").val();
  10207. tempJson.drugUnit = $(formGroups[j]).find("input.temporary_items_drugWinUnit").val();
  10208. tempJson.frequency = $(formGroups[j]).find("input.temporary_items_orderFrequency").val();
  10209. tempJson.orderDays = $(formGroups[j]).find("input.temporary_items_dayNum").val();
  10210. tempJson.instructionCode = $(formGroups[j]).find("input.temporary_items_medicalAdvice").val();
  10211. tempJson.instructionText = $(formGroups[j]).find("input.temporary_items_medicalAdviceText").val();
  10212. tempJson.supplyCode = $(formGroups[j]).find("input.temporary_items_supplyType").val();
  10213. tempJson.hospApprFlag = $(formGroups[j]).find("input.temporary_items_xyHospApprFlag").val();
  10214. orderNo = i + 1;
  10215. tempJson.orderNo = orderNo;
  10216. tempJson.groupOrder = $(formGroups[j]).find("input.temporary_items_groupId").val();
  10217. tempJson.groupNo = currentGroupNo;
  10218. var tryResult = $(formGroups[j]).find("input.temporary_items_tryResult").val();
  10219. if (tryResult != undefined || tryResult != null || tryResult != "") {
  10220. if (tryResult == 100 || tryResult == "100") {
  10221. tempJson.tryFlag = 1;
  10222. } else {
  10223. tempJson.tryResult = tryResult;
  10224. }
  10225. }
  10226. jsonData.mzChargeDetailList[jsonData.mzChargeDetailList.length] = tempJson;
  10227. }
  10228. }
  10229. }
  10230. }
  10231. //中草药
  10232. var zyTabContents = $("#zyTabContent").find("div.form-group");
  10233. if (zyTabContents != null && zyTabContents.length > 0) {
  10234. orderNo++;
  10235. var zyfs = $("#zyfs").val();
  10236. if (zyfs == null || zyfs == "") {
  10237. if (type == 3) {
  10238. zyfs = 1;
  10239. } else {
  10240. errorMesageSimaple("中药付数为空,请设置!");
  10241. $("#messageButton").attr("disabled", false);
  10242. throw new Error('中药付数为空,请设置!');
  10243. }
  10244. }
  10245. //中药的类型
  10246. var currentZyClassType = $("#current_zyClassType").val();
  10247. for (var i = 0; i < zyTabContents.length; i++) {
  10248. var tempJson = JSON.parse('{"chargeItemCode": "","serial": "","quantity": "","drugQuan": "","drugUnit": "g","frequency": "","orderDays": "1","paySelf": "0","drugWin": "","instructionCode":"",' +
  10249. '"instructionText":"","orderNo":"1","groupOrder":"1","supplyCode":"","tryFlag":"0","tryResult":"0","groupNo":"","cyJssm":"","cyDj":"","cyFysm":"","cyJsl":"","cyZql":"","cyFj":"","cyFfcs":"","cyMtjs":""}');
  10250. tempJson.chargeItemCode = $(zyTabContents[i]).find("input.temporary_items_code").val();
  10251. tempJson.serial = $(zyTabContents[i]).find("input.temporary_items_serial").val();
  10252. tempJson.quantity = $(zyTabContents[i]).find("input.temporary_items_drugWin").val();
  10253. tempJson.drugQuan = $(zyTabContents[i]).find("input.temporary_items_drugWin").val();
  10254. tempJson.drugWin = zyfs;
  10255. tempJson.drugUnit=$(zyTabContents[i]).find("input.temporary_items_drugUnit").val();
  10256. //tempJson.frequency = $("#zy_orderFrequency_1").val();
  10257. tempJson.instructionCode = $(zyTabContents[i]).find("input.temporary_items_zyInstruction").val();
  10258. tempJson.instructionText = $(zyTabContents[i]).find("input.temporary_items_zyInstructionText").val();
  10259. tempJson.hospApprFlag = $(zyTabContents[i]).find("input.temporary_items_zyHospApprFlag").val();
  10260. tempJson.cyFysm = $("#useType_1").val();
  10261. tempJson.cyJssm = $("#cyJssm").val();
  10262. tempJson.cyJsl = $("#cyJsl").val();
  10263. if(currentZyClassType !='83'){
  10264. tempJson.cyZql = $("#cyZql").val();
  10265. tempJson.cyFj = $("#cyFj").val();
  10266. tempJson.cyDj = $("#zy_supplyType_1").val();
  10267. }
  10268. tempJson.cyFfcs = $("#cyFfcs").val();
  10269. tempJson.cyMtjs = $("#cyMtjs").val();
  10270. tempJson.orderNo = orderNo;
  10271. tempJson.groupNo = currentZyClassType;
  10272. jsonData.mzChargeDetailList[jsonData.mzChargeDetailList.length] = tempJson;
  10273. }
  10274. }
  10275. //辅助检查、检验
  10276. var jcjyTabContents = $("#jcjyTabContent").find("div.form-group");
  10277. if (jcjyTabContents != null && jcjyTabContents.length > 0) {
  10278. orderNo++;
  10279. for (var i = 0; i < jcjyTabContents.length; i++) {
  10280. if (emrFzjc == null) {
  10281. emrFzjc = $(jcjyTabContents[i]).text();
  10282. } else {
  10283. emrFzjc += "," + $(jcjyTabContents[i]).text();
  10284. }
  10285. var tempJson = null;
  10286. //项目类型
  10287. var itemsType = $(jcjyTabContents[i]).find("input.temporary_items_type").val();
  10288. //执行科室
  10289. var execUnit = $(jcjyTabContents[i]).find("input.temporary_items_execUnit").val();
  10290. tempJson = JSON.parse('{"orderCode":"","inspectPart":"","inspectStuff":"","jyRemark":"","orderNo":"1","execDept":"","quantity":""}');
  10291. tempJson.orderCode = $(jcjyTabContents[i]).find("input.temporary_items_code").val();
  10292. if (itemsType == "1" || itemsType == 1) {
  10293. //检验
  10294. tempJson.inspectStuff = $(jcjyTabContents[i]).find("input.temporary_items_desc_value").val();
  10295. tempJson.quantity = $(jcjyTabContents[i]).find("input.temporary_items_jyQuantity").val();
  10296. } else if (itemsType == "2" || itemsType == 2) {
  10297. //检查
  10298. tempJson.inspectPart = $(jcjyTabContents[i]).find("input.temporary_items_desc_value").val();
  10299. }
  10300. tempJson.jyRemark = $(jcjyTabContents[i]).find("input.temporary_items_remark").val();
  10301. tempJson.orderNo = orderNo;
  10302. tempJson.execDept = execUnit;
  10303. jsonData.mzYjReqList[jsonData.mzYjReqList.length] = tempJson;
  10304. }
  10305. }
  10306. //诊疗
  10307. var zlTabContents = $("#zlTabContent").find("div.form-group");
  10308. if (zlTabContents != null && zlTabContents.length > 0) {
  10309. orderNo++;
  10310. for (var i = 0; i < zlTabContents.length; i++) {
  10311. var tempJson = null;
  10312. //执行科室
  10313. var execUnit = $(zlTabContents[i]).find("input.temporary_items_execUnit").val();
  10314. //诊疗,放入药品类型中入库,因为诊疗是与药品一样直接入明细库,但是是与医技在同一处方开立页面开立
  10315. tempJson = JSON.parse('{"unitPrice": "0","chargeItemCode": "","serial": "","quantity": "1","drugQuan": "1","drugUnit": "","frequency": "","orderDays": "1","paySelf": "0","drugWin": "1","instructionCode":"","instructionText":"","orderNo":"","groupOrder":"","supplyCode":"","cyJssm":"","cyDj":"","cyFysm":"","tryFlag":"0","groupNo":"00","execDept":""}');
  10316. tempJson.chargeItemCode = $(zlTabContents[i]).find("input.temporary_items_code").val();
  10317. tempJson.instructionText = $(zlTabContents[i]).find("input.temporary_items_remark").val();
  10318. tempJson.quantity = $(zlTabContents[i]).find("input.temporary_items_totalNumZl").val();
  10319. tempJson.drugQuan = $(zlTabContents[i]).find("input.temporary_items_itemQuantity").val();
  10320. tempJson.zlUnitPrice = $(zlTabContents[i]).find("input.temporary_items_amount").val();
  10321. //因为收费表里的单位长度限制,无法存入库
  10322. //tempJson.drugUnit = $(zlTabContents[i]).find("input.temporary_items_desc_value").val();
  10323. tempJson.frequency = $(zlTabContents[i]).find("input.temporary_items_orderFrequencyZl").val();
  10324. tempJson.hospApprFlag = $(zlTabContents[i]).find("input.temporary_items_zlHospApprFlag").val();
  10325. tempJson.orderDays = $(zlTabContents[i]).find("input.temporary_items_dayZlNum").val();
  10326. tempJson.orderNo = orderNo;
  10327. tempJson.execDept = execUnit;
  10328. jsonData.mzChargeDetailList[jsonData.mzChargeDetailList.length] = tempJson;
  10329. }
  10330. }
  10331. //外配药
  10332. var wpMedicineTabContents = $("#wpMedicineTabContent").find("div.form-group");
  10333. if (wpMedicineTabContents != null && wpMedicineTabContents.length > 0) {
  10334. for (var i = 0; i < wpMedicineTabContents.length; i++) {
  10335. var tempJson = JSON.parse('{"medListCodg": "","drugGenname": "","rxItemTypeCode": "","medcWayCodg": "","medcDays": "1","prdrName": "","sinDosunt": "","sinDoscnt": "1","usedFrquCodg": "","drugDosunt": "","drugCnt":"","drugSpec":"","hospApprFlag":"","drugDosform":""}');
  10336. tempJson.medListCodg = $(wpMedicineTabContents[i]).find("input.temporary_items_code").val();
  10337. tempJson.drugGenname = $(wpMedicineTabContents[i]).find("input.temporary_items_wpMedicineName").val();
  10338. tempJson.rxItemTypeCode = $(wpMedicineTabContents[i]).find("input.temporary_items_rxItemTypeCode").val();
  10339. tempJson.medcWayCodg = $(wpMedicineTabContents[i]).find("input.temporary_items_medcWayCodg").val();
  10340. tempJson.medcDays = $(wpMedicineTabContents[i]).find("input.temporary_items_medcDays").val();
  10341. tempJson.prdrName = $(wpMedicineTabContents[i]).find("input.temporary_items_prdrName").val();
  10342. tempJson.sinDosunt = $(wpMedicineTabContents[i]).find("input.temporary_items_sinDosunt").val();
  10343. tempJson.drugDosform = $(wpMedicineTabContents[i]).find("input.temporary_items_drugDosform").val();
  10344. tempJson.sinDoscnt = $(wpMedicineTabContents[i]).find("input.temporary_items_sinDoscnt").val();
  10345. tempJson.usedFrquCodg = $(wpMedicineTabContents[i]).find("input.temporary_items_usedFrquCodg").val();
  10346. tempJson.drugCnt = $(wpMedicineTabContents[i]).find("input.temporary_items_drugCnt").val();
  10347. tempJson.drugDosunt = $(wpMedicineTabContents[i]).find("input.temporary_items_drugDosunt").val();
  10348. tempJson.drugSpec = $(wpMedicineTabContents[i]).find("input.temporary_items_drugSpec").val();
  10349. tempJson.hospApprFlag = $(wpMedicineTabContents[i]).find("input.temporary_items_wpHospApprFlag").val();
  10350. jsonData.rxDruginfoList[jsonData.rxDruginfoList.length] = tempJson;
  10351. }
  10352. }
  10353. //入院
  10354. var zyReqTabContents = $("#zyReqTabContent").find("div.form-group");
  10355. if (zyReqTabContents != null && zyReqTabContents.length > 0) {
  10356. jsonData.mzZyReq.reqDept = $(zyReqTabContents[0]).find("input.temporary_inpatient_ward").val();
  10357. jsonData.mzZyReq.smallDept = $(zyReqTabContents[0]).find("input.temporary_items_small_ward").val();
  10358. jsonData.mzZyReq.admissStatus = $(zyReqTabContents[0]).find("input.temporary_items_admiss_status").val();
  10359. jsonData.mzZyReq.conditionCode = $(zyReqTabContents[0]).find("input.temporary_items_condition_code").val();
  10360. jsonData.mzZyReq.routeOfAdmission = $(zyReqTabContents[0]).find("input.temporary_items_route_of_admission").val();
  10361. jsonData.mzZyReq.contacterName = $(zyReqTabContents[0]).find("input.temporary_items_contacter_name").val();
  10362. jsonData.mzZyReq.contacterRelationship = $(zyReqTabContents[0]).find("input.temporary_items_contacter_relationship").val();
  10363. jsonData.mzZyReq.contacterPhone = $(zyReqTabContents[0]).find("input.temporary_items_contacter_phone").val();
  10364. jsonData.mzZyReq.contacterAddress = $(zyReqTabContents[0]).find("input.temporary_items_contacter_address").val();
  10365. jsonData.mzZyReq.deposit = $(zyReqTabContents[0]).find("input.temporary_items_deposit").val();
  10366. }
  10367. //门诊手术
  10368. var opRecordTabContents = $("#opRecordTabContent").find("div.form-group");
  10369. if (opRecordTabContents != null && opRecordTabContents.length > 0) {
  10370. for (var i = 0; i < opRecordTabContents.length; i++) {
  10371. var tempJson = null;
  10372. var execUnit = $(opRecordTabContents[i]).find("input.temporary_items_execUnit").val();
  10373. tempJson = JSON.parse('{"opCode": "","opName": "","opDatetimeStr": "","urgentClinicFlag": "","ssbc": "","partCode": "","opScale": "","hocusCode": "","doctorZd": "","remark":""}');
  10374. tempJson.opCode = $(opRecordTabContents[i]).find("input.temporary_items_code").val();
  10375. tempJson.opName = $(opRecordTabContents[i]).find("input.temporary_items_op_name").val();
  10376. tempJson.opDatetimeStr = $(opRecordTabContents[i]).find("input.temporary_items_op_time").val();
  10377. tempJson.urgentClinicFlag = $(opRecordTabContents[i]).find("input.temporary_items_urgent_clinic_flag").val();
  10378. tempJson.ssbc = $(opRecordTabContents[i]).find("input.temporary_items_ssbc").val();
  10379. tempJson.partCode = $(opRecordTabContents[i]).find("input.temporary_items_part_code").val();
  10380. tempJson.opScale = $(opRecordTabContents[i]).find("input.temporary_items_op_scale").val();
  10381. tempJson.hocusCode = $(opRecordTabContents[i]).find("input.temporary_items_hocus_code").val();
  10382. tempJson.doctorZd = $(opRecordTabContents[i]).find("input.temporary_items_doctor_zd").val();
  10383. tempJson.remark = $(opRecordTabContents[i]).find("input.temporary_items_op_record_remark").val();
  10384. jsonData.opRecordList[jsonData.opRecordList.length] = tempJson;
  10385. }
  10386. }
  10387. //设置诊断名称
  10388. var icdText = null;
  10389. var tagsTexts = $("span.el-select__tags-text");
  10390. if (tagsTexts != null && tagsTexts.length > 0) {
  10391. for (var i = 0; i < tagsTexts.length; i++) {
  10392. if (icdText == null) {
  10393. icdText = $(tagsTexts[i]).text();
  10394. } else {
  10395. icdText += "," + $(tagsTexts[i]).text();
  10396. }
  10397. }
  10398. }
  10399. jsonData.icdText = icdText;
  10400. //设置中医诊断名称
  10401. let tcmIcdText = null;
  10402. let tcmTagsTexts = $("span.el-select__tcmtags-text");
  10403. if (tcmTagsTexts != null && tcmTagsTexts.length > 0) {
  10404. for (var i = 0; i < tcmTagsTexts.length; i++) {
  10405. if (tcmIcdText == null) {
  10406. tcmIcdText = $(tcmTagsTexts[i]).text();
  10407. } else {
  10408. tcmIcdText += "," + $(tcmTagsTexts[i]).text();
  10409. }
  10410. }
  10411. }
  10412. jsonData.tcmIcdText = tcmIcdText;
  10413. jsonData.mzBlRecord.emrFzjc = emrFzjc;
  10414. return jsonData;
  10415. }
  10416. function getParamsHlyy() {
  10417. let loginUserCode = localStorage.getItem("userID")
  10418. let loginUserName = localStorage.getItem("userName")
  10419. let loginUserDept = localStorage.getItem("currentDeptNo")
  10420. // let currentPatient = patientList.find(item=> item.patientId == currentPatientId)
  10421. console.log("currentPatientId",currentPatientId)
  10422. console.log("currentPatientInfo",currentPatientInfo)
  10423. // //设置过敏源
  10424. let patientAllergenInfoList = []
  10425. let zdAllergen = $("#zdAllergen").find(":selected");
  10426. const zdAllergenValue = [];
  10427. const zdAllergenName = [];
  10428. zdAllergen.each(function() {
  10429. zdAllergenValue.push($(this).val()); // 选中的值
  10430. zdAllergenName.push($(this).text()); // 显示的文本
  10431. });
  10432. console.log("zdAllergenValue",zdAllergenValue)
  10433. console.log("zdAllergenName",zdAllergenName)
  10434. let ypDitList = $("#ypDitList").find(":selected");
  10435. const ypDitListValue = [];
  10436. const ypDitListName = [];
  10437. ypDitList.each(function() {
  10438. ypDitListValue.push($(this).val()); // 选中的值
  10439. ypDitListName.push($(this).text()); // 显示的文本
  10440. });
  10441. console.log("ypDitListValue",ypDitListValue)
  10442. console.log("ypDitListName",ypDitListName)
  10443. if (zdAllergen != null && zdAllergen.length > 0) {
  10444. for (let i = 0; i < zdAllergen.length; i++) {
  10445. let tempJson = JSON.parse('{}');
  10446. tempJson.code = zdAllergenValue[i];
  10447. tempJson.name = zdAllergenName[i];
  10448. patientAllergenInfoList[patientAllergenInfoList.length] = tempJson;
  10449. }
  10450. }
  10451. if (ypDitList != null && ypDitList.length > 0) {
  10452. for (let i = 0; i < ypDitList.length; i++) {
  10453. let tempJson = JSON.parse('{}');
  10454. tempJson.code = ypDitListValue[i];
  10455. tempJson.name = ypDitListName[i];
  10456. patientAllergenInfoList[patientAllergenInfoList.length] = tempJson;
  10457. }
  10458. }
  10459. var diagnoseChildren = $("#diagnoseTags").children();
  10460. var patientDiag = [];
  10461. for (var i = 0; i < diagnoseChildren.length; i++) {
  10462. var child = diagnoseChildren[i]; // 直接获取 DOM 元素
  10463. patientDiag.push({
  10464. code: child.id,
  10465. name: child.getAttribute("title") // 或 child.title
  10466. });
  10467. }
  10468. //设置处方详情
  10469. var orderList = [];
  10470. var emrFzjc = null;
  10471. var xyTabContents = $("#xyTabContent").find("div.tab-pane");
  10472. //西药设置
  10473. if (xyTabContents != null && xyTabContents.length > 0) {
  10474. for (var i = 0; i < xyTabContents.length; i++) {
  10475. //当前药品类型
  10476. var currentGroupNo = $(xyTabContents[i]).find("input.current_groupNo").val();
  10477. var formGroups = $(xyTabContents[i]).find("div.form-group");
  10478. if (formGroups != null && formGroups.length > 0) {
  10479. for (var j = 0; j < formGroups.length; j++) {
  10480. var tempJson = JSON.parse('{"id": "","code": "","route": "","name": "","dose": "","doseUnit": "","freq": "","amount": "","unit": "","repeat":"0",' +
  10481. '"startDateTime":"","dayCount":"","group":""}');
  10482. tempJson.id = $(formGroups[j]).find("input.temporary_items_code").val();
  10483. tempJson.code = $(formGroups[j]).find("input.temporary_items_code").val();
  10484. tempJson.route = $(formGroups[j]).find("input.temporary_items_supplyTypeText").val();
  10485. tempJson.name = $(formGroups[j]).find("input.temporary_items_westernMedicineNamme").val();
  10486. tempJson.dose = $(formGroups[j]).find("input.temporary_items_drugWin").val();
  10487. tempJson.doseUnit = $(formGroups[j]).find("input.temporary_items_drugWinUnitText").val();
  10488. tempJson.freq = $(formGroups[j]).find("input.temporary_items_orderFrequency").val();
  10489. tempJson.amount = $(formGroups[j]).find("input.temporary_items_gross").val();
  10490. tempJson.unit = $(formGroups[j]).find("input.temporary_items_packUnit").val();
  10491. const timer = new Date();
  10492. tempJson.startDateTime = timer.toLocaleString();
  10493. tempJson.dayCount = $(formGroups[j]).find("input.temporary_items_dayNum").val();
  10494. tempJson.group = $(formGroups[j]).find("input.temporary_items_groupId").val();
  10495. orderList.push(tempJson)
  10496. }
  10497. }
  10498. }
  10499. }
  10500. //外配药设置
  10501. var wpMedicineTabContents = $("#wpMedicineTabContent").find("div.form-group");
  10502. if (wpMedicineTabContents != null && wpMedicineTabContents.length > 0) {
  10503. console.log("wpMedicineTabContent",wpMedicineTabContent)
  10504. for (var i = 0; i < xyTabContents.length; i++) {
  10505. //当前药品类型
  10506. var currentGroupNo = $(xyTabContents[i]).find("input.current_groupNo").val();
  10507. var formGroups = $(xyTabContents[i]).find("div.form-group");
  10508. if (formGroups != null && formGroups.length > 0) {
  10509. for (var j = 0; j < formGroups.length; j++) {
  10510. var tempJson = JSON.parse('{"id": "","code": "","route": "","name": "","dose": "","doseUnit": "","freq": "","amount": "","unit": "","repeat":"0",' +
  10511. '"startDateTime":"","dayCount":"","group":""}');
  10512. tempJson.id = $(formGroups[j]).find("input.temporary_items_code").val();
  10513. tempJson.code = $(formGroups[j]).find("input.temporary_items_code").val();
  10514. tempJson.route = $(formGroups[j]).find("input.temporary_items_medcWayCodg").val();
  10515. tempJson.name = $(formGroups[j]).find("input.temporary_items_wpMedicineName").val();
  10516. tempJson.dose = $(formGroups[j]).find("input.temporary_items_sinDoscnt").val();
  10517. tempJson.doseUnit = $(formGroups[j]).find("input.temporary_items_sinDosunt").val();
  10518. tempJson.freq = $(formGroups[j]).find("input.temporary_items_usedFrquCodg").val();
  10519. tempJson.amount = $(formGroups[j]).find("input.temporary_items_drugCnt").val();
  10520. tempJson.unit = $(formGroups[j]).find("input.temporary_items_drugDosunt").val();
  10521. const timer = new Date();
  10522. tempJson.startDateTime = timer.toLocaleString();
  10523. tempJson.dayCount = $(formGroups[j]).find("input.temporary_items_medcDays").val();
  10524. tempJson.group = $(formGroups[j]).find("input.temporary_items_groupId").val();
  10525. orderList.push(tempJson)
  10526. }
  10527. }
  10528. }
  10529. }
  10530. let params = {
  10531. station : {
  10532. type : "2"
  10533. },
  10534. doctor : {
  10535. code : loginUserCode ,
  10536. name : loginUserName ,
  10537. deptCode : loginUserDept
  10538. },
  10539. patient : {
  10540. id: currentPatientInfo.patientId ,
  10541. code: currentPatientInfo.patientId ,
  10542. visitId:"" ,
  10543. name : currentPatientInfo.name,
  10544. chargeType : currentPatientInfo.responseTypeName,
  10545. sex : currentPatientInfo.gender,
  10546. deptCode : loginUserDept,
  10547. birthday : currentPatientInfo.birthDayStr,
  10548. height :"",
  10549. weight :"",
  10550. medconds :{
  10551. diag : patientDiag,
  10552. allergens : patientAllergenInfoList
  10553. }
  10554. },
  10555. orders : orderList,
  10556. }
  10557. return params
  10558. console.log("params",params)
  10559. }
  10560. /**
  10561. * 保存处方
  10562. */
  10563. function savePrescription() {
  10564. function getHlyyResult(res) {
  10565. console.log("res",res)
  10566. $("#messageButton").attr("disabled", false);
  10567. if(res.bSave == true) {
  10568. var jsonData = getParamsForpPrescription(1);
  10569. let wpMedicineFlag = jsonData.rxDruginfoList ==null || jsonData.rxDruginfoList.length ==0 ? false : true;
  10570. savePrescriptionForReadCard(wpMedicineFlag);
  10571. } else {
  10572. errorMesageSimaple("合理用药未通过!");
  10573. }
  10574. }
  10575. var hlyyParams = getParamsHlyy()
  10576. MLRKON_CLIENT.doCall("srv_screen", JSON.stringify(hlyyParams), { "api": false, "timeout": 10000}, getHlyyResult)
  10577. // var jsonData = getParamsForpPrescription(1);
  10578. // console.log("savePrescription",jsonData)
  10579. // let wpMedicineFlag = jsonData.rxDruginfoList ==null || jsonData.rxDruginfoList.length ==0 ? false : true;
  10580. // $.ajax({
  10581. // type: "POST",
  10582. // url: '/thmz/rationalUseOfMedicine',
  10583. // contentType: "application/json;charset=UTF-8",
  10584. // dataType: "json",
  10585. // data: JSON.stringify(jsonData),
  10586. // headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  10587. // success: function (res) {
  10588. // if (res == '401' || res == 401) {
  10589. // window.location.href = '/thmz/login/view'
  10590. // return;
  10591. // }
  10592. // $("#messageButton").attr("disabled", false);
  10593. // if (res.code == 0) {
  10594. // var rationalUseMap = res.data;
  10595. // var result_lv = rationalUseMap.result_lv;
  10596. // if (result_lv == 0 || result_lv == "0") {
  10597. // savePrescriptionForReadCard(wpMedicineFlag);
  10598. // } else {
  10599. // var showUrl = rationalUseMap.ShowUrl;
  10600. // getResultUrl = rationalUseMap.getResultUrl;
  10601. // showHlyyModel('hlyyDiv', 'loading', 'hlyyModal', showUrl);
  10602. // }
  10603. // } else {
  10604. // savePrescriptionForReadCard(wpMedicineFlag);
  10605. // }
  10606. // }
  10607. // });
  10608. }
  10609. /**
  10610. * 合理用药结果查询
  10611. */
  10612. function getResult() {
  10613. $.ajax({
  10614. type: "POST",
  10615. url: '/thmz/auditingInterface',
  10616. contentType: "application/json;charset=UTF-8",
  10617. dataType: "json",
  10618. data: JSON.stringify({"getResultUrl": getResultUrl}),
  10619. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  10620. success: function (res) {
  10621. if (res == '401' || res == 401) {
  10622. window.location.href = '/thmz/login/view'
  10623. return;
  10624. }
  10625. $("#messageButton").attr("disabled", false);
  10626. $("#hlyyModal").modal("hide");
  10627. if (res.code == 0) {
  10628. var rationalUseMap = res.data;
  10629. if (rationalUseMap.length == 0) {
  10630. savePrescriptionForReadCard(false);
  10631. } else {
  10632. var resultcode = rationalUseMap.resultcode;
  10633. var success = rationalUseMap.success;
  10634. var sh_msg = rationalUseMap.sh_msg;
  10635. if (resultcode == -1) {
  10636. //为处方不存在分析结果 直接忽略
  10637. savePrescriptionForReadCard(false);
  10638. } else if (resultcode == 0) {
  10639. //2.success:药师审核完成标志,false未审核,true已审核/无需审核
  10640. if (success == true || success == "true") {
  10641. savePrescriptionForReadCard(false);
  10642. } else {
  10643. //提示消息
  10644. $("#messageModal").modal();
  10645. $("#messageContent").html("药师未审核,请点击右上方【继续保存】提交审核!");
  10646. $("#messageButton").off("click").bind("click", function (t) {
  10647. $("#messageModal").modal("hide");
  10648. $("#hlyyModal").modal();
  10649. });
  10650. $("#cancelButton").off("click").bind("click", function (t) {
  10651. $("#hlyyModal").modal();
  10652. });
  10653. ;
  10654. }
  10655. } else if (resultcode == 1) {
  10656. //提示消息
  10657. $("#messageModal").modal();
  10658. $("#messageContent").html(sh_msg);
  10659. $("#messageButton").off("click").bind("click", function (t) {
  10660. $("#messageModal").modal("hide");
  10661. });
  10662. $("#cancelButton").off("click");
  10663. }
  10664. }
  10665. } else {
  10666. savePrescriptionForReadCard(false);
  10667. }
  10668. }
  10669. });
  10670. }
  10671. /**
  10672. * 合理用药结果弹窗
  10673. * @param hlyyDiv
  10674. * @param loading
  10675. * @param hlyyModal
  10676. * @param showUrl
  10677. */
  10678. function showHlyyModel(hlyyDiv, loading, hlyyModal, showUrl) {
  10679. const iframeEle = document.getElementById(hlyyDiv);
  10680. const loadingEle = document.getElementById(loading);
  10681. //设置ififrame透明
  10682. iframeEle.style.opacity = 0;
  10683. loadingEle.style.display = 'block';
  10684. $("#" + hlyyDiv).attr("src", showUrl);
  10685. iframeEle.addEventListener('load', function () {
  10686. // Hide the loading indicator
  10687. loadingEle.style.display = 'none';
  10688. // Bring the iframe back
  10689. iframeEle.style.opacity = 1;
  10690. });
  10691. setTimeout(function () {
  10692. // iframe 重复加载不会触发上述事件
  10693. loadingEle.style.display = 'none';
  10694. iframeEle.style.opacity = 1;
  10695. }, 1000);
  10696. $("#" + hlyyModal).modal();
  10697. }
  10698. /**
  10699. * 点击保存处方时提示是否读卡 wpMedicineFlag true 是外配处方 false 否
  10700. */
  10701. function savePrescriptionForReadCard(wpMedicineFlag) {
  10702. console.log("savePrescriptionForReadCard")
  10703. if (!verifyInsuranceInfo()) {
  10704. return;
  10705. }
  10706. //关闭帮助框
  10707. $("#treeButton").webuiPopover('hide');
  10708. $("#western_medicine_name").webuiPopover('hide');
  10709. $("#chinese_medicine_name").webuiPopover('hide');
  10710. $("#jcJyItem").webuiPopover('hide');
  10711. $("#zlItem").webuiPopover('hide');
  10712. getAjaxRequst("/thmz/zaiYuanByPatientId",{ patientId:$("#patientId").text()},true,function (response) {
  10713. if(response.code == 0){
  10714. if(response.data == "0"){
  10715. if(wpMedicineFlag){
  10716. let readCardResult = $("#readCardResult").val();
  10717. if(stringIsBlank(readCardResult)){
  10718. $("#messageModalYb").modal();
  10719. $("#messageContent").html("门诊统筹处方必须读卡,是否立即读卡?");
  10720. $("#ybdzpz").off("click").bind("click", function (t) {
  10721. // mztczfSiReadCard(true, "qrcode_01101");
  10722. mztczfSiReadCard(true, "jiangsu_qrcode_01101");
  10723. realSavePrescription(wpMedicineFlag,false);
  10724. });
  10725. $("#ybsl").off("click").bind("click", function (t) {
  10726. // mztczfSiReadCard(true, "face_01101");
  10727. mztczfSiReadCard(true, "jiangsu_face_01101");
  10728. realSavePrescription(wpMedicineFlag,false);
  10729. });
  10730. $("#cancelButtonYb").off("click").bind("click", function (t) {
  10731. t.stopPropagation();
  10732. t.preventDefault();
  10733. realSavePrescription(wpMedicineFlag,false);
  10734. });
  10735. }else {
  10736. realSavePrescription(wpMedicineFlag,false);
  10737. }
  10738. }else{
  10739. realSavePrescription(wpMedicineFlag,false);
  10740. }
  10741. }else {
  10742. realSavePrescription(wpMedicineFlag,false);
  10743. }
  10744. }else {
  10745. errorMesage(response)
  10746. }
  10747. })
  10748. }
  10749. /**
  10750. * 最终保存处方方法
  10751. */
  10752. function realSavePrescription(wpMedicineFlag,mallFlag) {
  10753. $("#messageModalYb").modal('hide');
  10754. $("#messageModal").modal();
  10755. $("#messageContent").html("确认保存处方吗?");
  10756. $("#messageButton").off("click").bind("click", function (t) {
  10757. if (mztczfSiReadCardStatus && wpMedicineFlag) {
  10758. $("#messageContent").html("门诊统筹正在读卡中,此次操作需与医保中心交互,耗时较长,请耐心等待...");
  10759. return;
  10760. }
  10761. $("#messageButton").attr("disabled", true);
  10762. var jsonData = getParamsForpPrescription(1);
  10763. //商城处方
  10764. if(mallFlag){
  10765. jsonData.orderType = 5;
  10766. jsonData.wxmallPackagePurchasedItemList = $('#mall_tc_detail_table').bootstrapTable('getAllSelections');
  10767. }
  10768. $.ajax({
  10769. type: "POST",
  10770. url: '/thmz/savePrescription',
  10771. contentType: "application/json;charset=UTF-8",
  10772. dataType: "json",
  10773. data: JSON.stringify(jsonData),
  10774. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  10775. success: function (res) {
  10776. if (res == '401' || res == 401) {
  10777. window.location.href = '/thmz/login/view'
  10778. return;
  10779. }
  10780. $("#messageButton").attr("disabled", false);
  10781. if (res.code == 0) {
  10782. successMesage(res);
  10783. if(mallFlag){
  10784. $("#mallTcDetailModal").modal("hide");
  10785. }
  10786. clearWorkSpace();
  10787. loadInClinicTableList();
  10788. loadClinicTableList();
  10789. //$("#messageModal").modal();
  10790. if(wpyHide === 0){
  10791. $("#messageContent").html("门诊处方保存成功,是否打印处方和门诊指引单?");
  10792. $("#messageButton").off("click").on("click", function (t) {
  10793. $("#messageModal").modal("hide");
  10794. if(mallFlag){
  10795. printPrescription(res.data.patientId, res.data.times, res.data.id, 0, 1);
  10796. }else {
  10797. printPrescription(res.data.patientId, res.data.times, res.data.id, 5, 1);
  10798. }
  10799. });
  10800. $("#cancelButton").off("click");
  10801. }else {
  10802. successMesageSimaple('门诊处方保存成功')
  10803. $("#messageModal").modal("hide");
  10804. }
  10805. } else {
  10806. $("#messageModal").modal("hide");
  10807. errorMesage(res);
  10808. }
  10809. }
  10810. });
  10811. });
  10812. $("#cancelButton").off("click");
  10813. }
  10814. /**
  10815. * 保存医疗范文
  10816. */
  10817. function saveapidAccepts() {
  10818. var templateName = $("#templateName").val();
  10819. if (templateName == null || templateName == "") {
  10820. errorMesageSimaple("范文名称不能为空!");
  10821. return;
  10822. }
  10823. var templateKindType = $("#templateKindType").val();
  10824. if (templateKindType == null || templateKindType == "") {
  10825. errorMesageSimaple("范文类型不能为空!");
  10826. return;
  10827. }
  10828. var templateType = $("#templateType").val();
  10829. if (templateType == null || templateType == "") {
  10830. errorMesageSimaple("范文范围不能为空!");
  10831. return;
  10832. }
  10833. var templateStatus = $("#templateStatus").val();
  10834. if (templateStatus == null || templateStatus == "") {
  10835. errorMesageSimaple("范文状态不能为空!");
  10836. return;
  10837. }
  10838. $("#saveapidAcceptsModal").modal("hide");
  10839. $("#messageModal").modal();
  10840. $("#messageContent").html("确认保存医疗范文吗?");
  10841. $("#messageButton").off("click").on("click", function (t) {
  10842. $("#messageModal").modal("hide");
  10843. var jsonData = getParamsForpPrescription(2);
  10844. var operationType = $("#operationType").val();
  10845. var templateId = $("#templateId").val();
  10846. if (operationType == 0 || operationType == '0') {
  10847. templateId = null;
  10848. }
  10849. $.ajax({
  10850. type: "POST",
  10851. url: '/thmz/saveTemplate',
  10852. contentType: "application/json;charset=UTF-8",
  10853. dataType: "json",
  10854. data: JSON.stringify({
  10855. "id": templateId,
  10856. "name": templateName,
  10857. "icdText": jsonData.icdText != null ? jsonData.icdText : jsonData.mzBlRecord.tentativeDiagnosis,
  10858. "templateKindType": templateKindType,
  10859. "templateType": templateType,
  10860. "templateStatus": templateStatus,
  10861. "templateData": JSON.stringify(jsonData),
  10862. "emrChiefComplaint": $("#symptom").val(),
  10863. "emrHpi": $("#emrHpi").val(),
  10864. "emrPs": $("#emrPs").val(),
  10865. "icdCode": $("#diagnoseValue").val()
  10866. }),
  10867. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  10868. success: function (res) {
  10869. if (res == '401' || res == 401) {
  10870. window.location.href = '/thmz/login/view'
  10871. return;
  10872. }
  10873. if (res.code == 0) {
  10874. successMesage(res);
  10875. //范本保存完不清空
  10876. //clearWorkSpace();
  10877. } else {
  10878. $("#saveapidAcceptsModal").modal();
  10879. errorMesage(res);
  10880. }
  10881. }
  10882. });
  10883. });
  10884. $("#cancelButton").off("click");
  10885. }
  10886. /**
  10887. * 停用医疗范文
  10888. */
  10889. function removeTemplate() {
  10890. $("#messageModal").modal();
  10891. $("#messageContent").html("确认停用医疗范文吗?");
  10892. $("#messageButton").off("click").on("click", function (t) {
  10893. $("#messageModal").modal("hide");
  10894. $.ajax({
  10895. type: "POST",
  10896. url: '/thmz/removeTemplate',
  10897. contentType: "application/json;charset=UTF-8",
  10898. dataType: "json",
  10899. data: JSON.stringify({
  10900. "id": $("#idTemplate").val()
  10901. }),
  10902. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  10903. success: function (res) {
  10904. if (res == '401' || res == 401) {
  10905. window.location.href = '/thmz/login/view'
  10906. return;
  10907. }
  10908. if (res.code == 0) {
  10909. successMesage(res);
  10910. $("#medicalModelModal").modal("hide");
  10911. fitTemplateData();
  10912. } else {
  10913. errorMesage(res);
  10914. }
  10915. }
  10916. });
  10917. });
  10918. $("#cancelButton").off("click");
  10919. }
  10920. /**
  10921. * 清空医疗范文模块内容
  10922. */
  10923. function clearApidAcceptsModal() {
  10924. $("#templateId").val(null);
  10925. $("#templateName").val(null);
  10926. $("#templateKindType").selectpicker('val', 0);
  10927. $("#templateKindType").selectpicker('refresh');
  10928. $("#templateType").selectpicker('val', 0);
  10929. $("#templateType").selectpicker('refresh');
  10930. $("#templateStatus").selectpicker('val', 0);
  10931. $("#templateStatus").selectpicker('refresh');
  10932. $('#operationType').selectpicker('val', 0);
  10933. $('#operationType').selectpicker('refresh');
  10934. $("#operationTypeDiv").removeClass("in").addClass("hide");
  10935. }
  10936. /**
  10937. * 查询病人未缴费处方信息 加载到处方修改
  10938. * @param patientId
  10939. * @param times
  10940. * @param clnicId 就诊记录id
  10941. */
  10942. function getMzPrescriptionVoUnPaid(patientId, times, clnicId) {
  10943. currentPatientId = patientId;
  10944. console.log("currentPatientId1",currentPatientId)
  10945. if (!confirm("请确认要修改处方吗?如只修改病历,请取消,点击【详情】再【修改病历】")) {
  10946. return;
  10947. }
  10948. var currentPatientId = $("#patientId").text();
  10949. //当前接诊的用户和操作接诊的是同一个人,不做任何操作
  10950. if (currentPatientId == patientId) {
  10951. warningMesageSimaple("当前病人正在接诊中,请勿重复操作!");
  10952. return;
  10953. }
  10954. //效验是否有修改处方权限
  10955. postAjaxJsonHttpRequst("/thmz/queryPrescriptionModifyPermission",{"patientId":patientId,"times":times},false,function (re) {
  10956. if (re == '401' || re == 401) {
  10957. window.location.href = '/thmz/login/view'
  10958. return;
  10959. }
  10960. if(re.code != 0){
  10961. errorMesageSimaple(re.message);
  10962. return;
  10963. }
  10964. if (currentPatientId == null || currentPatientId == "") {
  10965. //当前没有人接诊,直接接诊
  10966. getMzPrescriptionVoUnPaidCommon(patientId, times, clnicId);
  10967. } else {
  10968. //当前有人在接诊,提示是否需要切换和保存
  10969. $("#messagePrescriptionModal").modal();
  10970. $("#confirmPrescriptionButton").off("click").on("click", function (t) {
  10971. $("#messagePrescriptionModal").modal("hide");
  10972. //先保存目前接诊信息,再切换就诊人
  10973. var jsonData = getParamsForpPrescription(1);
  10974. $.ajax({
  10975. type: "POST",
  10976. url: '/thmz/savePrescription',
  10977. contentType: "application/json;charset=UTF-8",
  10978. dataType: "json",
  10979. data: JSON.stringify(jsonData),
  10980. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  10981. success: function (res) {
  10982. if (res == '401' || res == 401) {
  10983. window.location.href = '/thmz/login/view'
  10984. return;
  10985. }
  10986. if (res.code == 0) {
  10987. loadInClinicTableList();
  10988. loadClinicTableList();
  10989. getMzPrescriptionVoUnPaidCommon(patientId, times, clnicId);
  10990. } else {
  10991. errorMesage(res);
  10992. }
  10993. }
  10994. });
  10995. });
  10996. $("#cancelPrescriptionButton").off("click").on("click", function (t) {
  10997. $("#messagePrescriptionModal").modal("hide");
  10998. getMzPrescriptionVoUnPaidCommon(patientId, times, clnicId);
  10999. });
  11000. }
  11001. })
  11002. }
  11003. /**
  11004. * 查询病人未缴费处方信息 加载到处方修改 通用方法
  11005. * @param patientId
  11006. * @param times
  11007. * @param clnicId 就诊记录id
  11008. */
  11009. function getMzPrescriptionVoUnPaidCommon(patientId, times, clnicId) {
  11010. $.ajax({
  11011. type: "GET",
  11012. url: '/thmz/getMzPrescriptionVo?patientId=' + patientId + "&times=" + times + "&MzBlRecordFlag=false&payMark=5&clnicId=null",
  11013. contentType: "application/json;charset=UTF-8",
  11014. dataType: "json",
  11015. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  11016. success: function (res) {
  11017. if (res == '401' || res == 401) {
  11018. window.location.href = '/thmz/login/view'
  11019. return;
  11020. }
  11021. if (res.code == 0) {
  11022. clearWorkSpace();
  11023. setMzReqType(patientId,times,null)
  11024. setMzPatientInfo(res.mzPatientMi);
  11025. editPrescription(res.data, 0)
  11026. //修改患者的时候,将原纪录的就诊记录id带上,并借用分诊流水号字段传参
  11027. $("#mzfzSerialNoInClick").val("clnicId_" + clnicId);
  11028. //查询患者的门诊统筹信息
  11029. queryInsuinfo(patientId);
  11030. } else {
  11031. errorMesage(res);
  11032. }
  11033. }
  11034. });
  11035. }
  11036. /**
  11037. * 查询病人已缴费处方信息 调用处方
  11038. * @param patientId
  11039. * @param times
  11040. * @param clnicId 就诊记录id
  11041. */
  11042. function getMzPrescriptionVoPaid(patientId, times, clnicId) {
  11043. $("#visitingDetailModal").modal("hide");
  11044. $("#messageModal").modal();
  11045. $("#messageContent").html("确认调用选中处方吗?将会覆盖当前处方。");
  11046. $("#messageButton").off("click").on("click", function (t) {
  11047. $("#messageModal").modal("hide");
  11048. $.ajax({
  11049. type: "GET",
  11050. url: '/thmz/getMzPrescriptionVo?patientId=' + patientId + "&times=" + times + "&MzBlRecordFlag=false&payMark=0&clnicId=null",
  11051. contentType: "application/json;charset=UTF-8",
  11052. dataType: "json",
  11053. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  11054. success: function (res) {
  11055. if (res == '401' || res == 401) {
  11056. window.location.href = '/thmz/login/view'
  11057. return;
  11058. }
  11059. if (res.code == 0) {
  11060. var mzfzSerialNoInClick = $("#mzfzSerialNoInClick").val();
  11061. var mzfzReqTypeNoInClick = $("#mzfzReqTypeNoInClick").val();
  11062. clearUser(false);
  11063. clearWorkSpaceExcludeUser(3);
  11064. setMzPatientInfo(res.mzPatientMi);
  11065. editPrescription(res.data, 2)
  11066. $("#mzfzSerialNoInClick").val(mzfzSerialNoInClick);
  11067. $("#mzfzReqTypeNoInClick").val(mzfzReqTypeNoInClick);
  11068. } else {
  11069. errorMesage(res);
  11070. }
  11071. }
  11072. });
  11073. });
  11074. $("#cancelButton").off("click");
  11075. }
  11076. /**
  11077. * 重复接诊
  11078. * @param patientId
  11079. * @param times
  11080. * @param clnicId
  11081. * @param deptCode 就诊科室编码
  11082. */
  11083. function repeatAccepts(patientId, times, clnicId, deptCode) {
  11084. $.ajax({
  11085. type: "GET",
  11086. url: '/thmz/validMzyReqrec?patientId=' + patientId + "&deptCode=" + deptCode,
  11087. contentType: "application/json;charset=UTF-8",
  11088. dataType: "json",
  11089. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  11090. success: function (res) {
  11091. if (res == '401' || res == 401) {
  11092. window.location.href = '/thmz/login/view'
  11093. return;
  11094. }
  11095. if (res.code == 0) {
  11096. if (res.data == 0) {
  11097. // $("#messageModal").modal();
  11098. // $("#messageContent").html("挂号失效,确定继续就诊?");
  11099. // $("#messageButton").off("click").on("click", function (t) {
  11100. // $("#messageModal").modal("hide");
  11101. // repeatAcceptsConfirm(patientId, times, clnicId);
  11102. // });
  11103. // $("#cancelButton").off("click");
  11104. warningMesageSimaple(res.message);
  11105. return;
  11106. }
  11107. repeatAcceptsConfirm(patientId, times, clnicId);
  11108. } else {
  11109. errorMesage(res);
  11110. }
  11111. }
  11112. });
  11113. }
  11114. /**
  11115. * 重复接诊提示方法
  11116. * @param patientId
  11117. * @param times
  11118. * @param clnicId
  11119. */
  11120. function repeatAcceptsConfirm(patientId, times, clnicId) {
  11121. var currentPatientId = $("#patientId").text();
  11122. //当前接诊的用户和操作接诊的是同一个人,不做任何操作
  11123. if (currentPatientId == patientId) {
  11124. return;
  11125. }
  11126. if (currentPatientId == null || currentPatientId == "") {
  11127. //当前没有人接诊,直接接诊
  11128. repeatAcceptsCommon(patientId, times, clnicId);
  11129. } else {
  11130. //当前有人在接诊,提示是否需要切换和保存
  11131. $("#messagePrescriptionModal").modal();
  11132. $("#confirmPrescriptionButton").off("click").on("click", function (t) {
  11133. $("#messagePrescriptionModal").modal("hide");
  11134. //先保存目前接诊信息,再切换就诊人
  11135. var jsonData = getParamsForpPrescription(1);
  11136. $.ajax({
  11137. type: "POST",
  11138. url: '/thmz/savePrescription',
  11139. contentType: "application/json;charset=UTF-8",
  11140. dataType: "json",
  11141. data: JSON.stringify(jsonData),
  11142. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  11143. success: function (res) {
  11144. if (res == '401' || res == 401) {
  11145. window.location.href = '/thmz/login/view'
  11146. return;
  11147. }
  11148. if (res.code == 0) {
  11149. repeatAcceptsCommon(patientId, times, clnicId);
  11150. //加载已接诊患者列表
  11151. loadClinicTableList();
  11152. } else {
  11153. errorMesage(res);
  11154. }
  11155. }
  11156. });
  11157. });
  11158. $("#cancelPrescriptionButton").off("click").on("click", function (t) {
  11159. $("#messagePrescriptionModal").modal("hide");
  11160. repeatAcceptsCommon(patientId, times, clnicId);
  11161. });
  11162. }
  11163. }
  11164. /**
  11165. * 重复接诊通用方法
  11166. * @param patientId
  11167. * @param times
  11168. * @param clnicId
  11169. */
  11170. function repeatAcceptsCommon(patientId, times, clnicId) {
  11171. $.ajax({
  11172. type: "GET",
  11173. url: '/thmz/getMzPrescriptionVo?patientId=' + patientId + "&times=" + times + "&MzBlRecordFlag=true&payMark=null&clnicId=null",
  11174. contentType: "application/json;charset=UTF-8",
  11175. dataType: "json",
  11176. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  11177. success: function (res) {
  11178. if (res == '401' || res == 401) {
  11179. window.location.href = '/thmz/login/view'
  11180. return;
  11181. }
  11182. if (res.code == 0) {
  11183. clearWorkSpace();
  11184. setMzReqType(patientId,times,null);
  11185. setMzPatientInfo(res.mzPatientMi);
  11186. editPrescription(res.data, 0)
  11187. //修改患者的时候,将原纪录的就诊记录id带上,并借用分诊流水号字段传参
  11188. $("#mzfzSerialNoInClick").val("clnicId_" + clnicId);
  11189. //查询患者的门诊统筹信息
  11190. queryInsuinfo(patientId);
  11191. } else {
  11192. errorMesage(res);
  11193. }
  11194. }
  11195. });
  11196. }
  11197. /**
  11198. * 就诊详情 已诊患者列表发起
  11199. * @param patientId
  11200. * @param times
  11201. * @param clnicId
  11202. * @param payMark
  11203. */
  11204. function prescriptionDetail(patientId, times, clnicId, payMark) {
  11205. prescriptionDetailCommon(patientId, times, clnicId, payMark, 0);
  11206. }
  11207. /**
  11208. * 就诊详情 历史轨迹发起
  11209. * @param patientId
  11210. * @param times
  11211. * @param clnicId
  11212. * @param clinicStatus
  11213. */
  11214. function visitingDetailModal(patientId, times, clnicId, clinicStatus) {
  11215. closeObjectWebui(false);
  11216. var payMark = null;
  11217. if (clinicStatus == 5) {
  11218. payMark = 5;
  11219. } else {
  11220. payMark = 0;
  11221. }
  11222. prescriptionDetailCommon(patientId, times, clnicId, payMark, 1);
  11223. }
  11224. function setmzPrescriptionPrintFlag(patientId, times) {
  11225. postAjaxJsonHttpRequst("/thmz/mzPrescriptionPrint/getPrintFlag",{patientId:patientId,times:times},true,function (res) {
  11226. if(res.data !=null){
  11227. if(res.data == '1'){
  11228. $("#printImage").attr("src", "/thmz/images/yiprint.png");
  11229. }else {
  11230. $("#printImage").attr("src", "/thmz/images/no_print.png");
  11231. }
  11232. }else {
  11233. $("#printImage").attr("src", "/thmz/images/yiprint.png");
  11234. }
  11235. })
  11236. }
  11237. /**
  11238. * 就诊详情通用方法
  11239. * @param patientId
  11240. * @param times
  11241. * @param clnicId
  11242. * @param payMark
  11243. * @param type 0 已诊患者列表发起 1 历史轨迹发起
  11244. */
  11245. function prescriptionDetailCommon(patientId, times, clnicId, payMark, type) {
  11246. $('#baseMzBlTimes').val(null);
  11247. var oriPayMark = payMark;
  11248. if (payMark == 1) {
  11249. //退费时,查看的明细还是处方开立的情况
  11250. payMark = 0;
  11251. }
  11252. //是否默认勾选处方回调
  11253. var checkboxFlag = localStorage.getItem("checkboxFlag");
  11254. if (checkboxFlag != null && (checkboxFlag == "0" || checkboxFlag == 0)) {
  11255. $("#conciseRecordsJzxq").prop("checked", true);
  11256. $("#prescriptionSubsidiaryJzxq").prop("checked", true);
  11257. } else {
  11258. $("#conciseRecordsJzxq").prop("checked", false);
  11259. $("#prescriptionSubsidiaryJzxq").prop("checked", false);
  11260. }
  11261. $.ajax({
  11262. type: "GET",
  11263. url: '/thmz/getMzPrescriptionVo?patientId=' + patientId + '&times=' + times + '&MzBlRecordFlag=false&payMark=' + payMark + '&clnicId=' + clnicId,
  11264. contentType: "application/json;charset=UTF-8",
  11265. dataType: "json",
  11266. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  11267. success: function (res) {
  11268. if (res == '401' || res == 401) {
  11269. window.location.href = '/thmz/login/view'
  11270. return;
  11271. }
  11272. if (res.code == 0) {
  11273. $("#visitingDetailModal").modal();
  11274. var jsonData = res.data;
  11275. var mzPatientMi = res.mzPatientMi;
  11276. $("#visitingDetailPatientName").html('<a onclick="editUserModal(\'' + mzPatientMi.patientId + '\',3)" style=\'cursor: pointer;\'>' + mzPatientMi.name + '</a>');
  11277. $("#visitingDetailPatientAge").text(mzPatientMi.ageString);
  11278. $("#visitingDetailPatientGender").val(mzPatientMi.gender);
  11279. $("#prescriptionDetail_zd").html("");
  11280. $("#prescriptionDetail_xyzlContent").html("");
  11281. $("#prescriptionDetail_zyzlContent").html("");
  11282. $("#prescriptionDetail_zlyjContent").html("");
  11283. if (res.opDate != null) {
  11284. $("#visitingDetailDate").text(res.opDate);
  11285. }
  11286. if (res.deptName != null) {
  11287. $("#visitingDetailDept").text(res.deptName);
  11288. }
  11289. if (res.doctorName != null) {
  11290. $("#visitingDetailDoctor").text(res.doctorName);
  11291. }
  11292. var firstOrNot = jsonData.mzBlRecord.firstOrNot;
  11293. if (firstOrNot == 0) {
  11294. $("#visitFlag").html("初诊");
  11295. $("#first").next().click();
  11296. } else if (firstOrNot == 1) {
  11297. $("#visitFlag").html("复诊");
  11298. $("#not").next().click();
  11299. }
  11300. if (oriPayMark == 0) {
  11301. $("#chargeImage").attr("src", "/thmz/images/charge.png");
  11302. } else if (oriPayMark == 1) {
  11303. $("#chargeImage").attr("src", "/thmz/images/refund.png");
  11304. } else if (oriPayMark == 5) {
  11305. $("#chargeImage").attr("src", "/thmz/images/nocharge.png");
  11306. }
  11307. setmzPrescriptionPrintFlag(patientId, times);
  11308. $("#prescriptionDetail_zs").html(jsonData.mzBlRecord.emrChiefComplaint);
  11309. $("#prescriptionDetail_xbs").html(jsonData.mzBlRecord.emrHpi);
  11310. $("#prescriptionDetail_tgjc").html(jsonData.mzBlRecord.emrPe);
  11311. $("#prescriptionDetail_jkjy").html(jsonData.mzBlRecord.emrJkjy);
  11312. var icdText = jsonData.icdText;
  11313. if (icdText != null) {
  11314. var arr = icdText.split(",");
  11315. var html = "";
  11316. for (var i = 0; i < arr.length; i++) {
  11317. if (i == 0) {
  11318. html += ' <div class="tagZdy tagZdy-back">';
  11319. } else {
  11320. html += ' <div class="tagZdy tagZdy-back-green">';
  11321. }
  11322. html += arr[i];
  11323. html += '</div>';
  11324. }
  11325. $("#prescriptionDetail_zd").html(html);
  11326. } else {
  11327. $("#prescriptionDetail_zd").html(jsonData.mzBlRecord.tentativeDiagnosis);
  11328. }
  11329. let tcmIcdText = jsonData.tcmIcdText
  11330. if(tcmIcdText != null){
  11331. let arr = tcmIcdText.split(",");
  11332. let html = "";
  11333. for (let i = 0; i < arr.length; i++) {
  11334. if (i == 0) {
  11335. html += ' <div class="tagZdy tagZdy-back">';
  11336. } else {
  11337. html += ' <div class="tagZdy tagZdy-back-green">';
  11338. }
  11339. html += arr[i];
  11340. html += '</div>';
  11341. }
  11342. $("#prescriptionDetail_tcmzd").html(html);
  11343. }
  11344. var prescriptionDetail = jsonData.mzBlRecord.prescriptionDetail;
  11345. if (prescriptionDetail != null) {
  11346. var checkBox = type == 1;
  11347. prescriptionDetail = JSON.parse(prescriptionDetail);
  11348. var xyPrescription = prescriptionDetail.xyPrescription;
  11349. if (xyPrescription != null) {
  11350. fitxyContent(xyPrescription.pyPrescription, "prescriptionDetail_xypyContent", "prescriptionDetail_xypyTitle", checkBox);
  11351. fitxyContent(xyPrescription.mjPrescription, "prescriptionDetail_xymjContent", "prescriptionDetail_xymjTitle", checkBox);
  11352. fitxyContent(xyPrescription.jePrescription, "prescriptionDetail_xyjeContent", "prescriptionDetail_xyjeTitle", checkBox);
  11353. fitxyContent(xyPrescription.ycPrescription, "prescriptionDetail_yczlContent", "prescriptionDetail_yczlTitle", checkBox);
  11354. } else {
  11355. $("#prescriptionDetail_xypyTitle").removeClass("in").addClass("hide");
  11356. $("#prescriptionDetail_xypyContent").html("");
  11357. $("#prescriptionDetail_xymjTitle").removeClass("in").addClass("hide");
  11358. $("#prescriptionDetail_xymjContent").html("");
  11359. $("#prescriptionDetail_xyjeTitle").removeClass("in").addClass("hide");
  11360. $("#prescriptionDetail_xyjeContent").html("");
  11361. $("#prescriptionDetail_yczlTitle").removeClass("in").addClass("hide");
  11362. $("#prescriptionDetail_yczlContent").html("");
  11363. }
  11364. var zyPrescription = prescriptionDetail.zyPrescription;
  11365. if (zyPrescription != null) {
  11366. fitzyContent(zyPrescription, "prescriptionDetail_zyzlContent", "prescriptionDetail_zyzlTitle", checkBox);
  11367. } else {
  11368. $("#prescriptionDetail_zyzlTitle").removeClass("in").addClass("hide");
  11369. $("#prescriptionDetail_zyzlContent").html("");
  11370. }
  11371. var jcjyPrescription = prescriptionDetail.jcjyPrescription;
  11372. if (jcjyPrescription != null) {
  11373. fitJcjyContent(jcjyPrescription, "prescriptionDetail_jcjyContent", "prescriptionDetail_jcjyTitle", checkBox);
  11374. } else {
  11375. ("#prescriptionDetail_jcjyTitle").removeClass("in").addClass("hide");
  11376. $("#prescriptionDetail_jcjyContent").html("");
  11377. }
  11378. var zlPrescription = prescriptionDetail.zlPrescription;
  11379. if (zlPrescription != null) {
  11380. fitJcjyContent(zlPrescription, "prescriptionDetail_zlContent", "prescriptionDetail_zlTitle", checkBox);
  11381. } else {
  11382. $("#prescriptionDetail_zlTitle").removeClass("in").addClass("hide");
  11383. $("#prescriptionDetail_zlContent").html("");
  11384. }
  11385. var zyReqPrescription = prescriptionDetail.zyReqPrescription;
  11386. if (zyReqPrescription != null) {
  11387. fitZyReqContent(zyReqPrescription, "prescriptionDetail_zyReqContent", "prescriptionDetail_zyReqTitle", true);
  11388. } else {
  11389. $("#prescriptionDetail_zyReqTitle").removeClass("in").addClass("hide");
  11390. $("#prescriptionDetail_zyReqContent").html("");
  11391. }
  11392. var opRecordPrescription = prescriptionDetail.opRecordPrescription;
  11393. if (opRecordPrescription != null) {
  11394. fitOpRecordContent(opRecordPrescription, "prescriptionDetail_opRecordContent", "prescriptionDetail_opRecordTitle", true);
  11395. } else {
  11396. $("#prescriptionDetail_opRecordTitle").removeClass("in").addClass("hide");
  11397. $("#prescriptionDetail_opRecordContent").html("");
  11398. }
  11399. let wpMedicinePrescription = prescriptionDetail.wpMedicinePrescription;
  11400. if (wpMedicinePrescription != null) {
  11401. fitWpMedicineContent(wpMedicinePrescription, "prescriptionDetail_wpMedicineContent", "prescriptionDetail_wpMedicineTitle", true);
  11402. } else {
  11403. $("#prescriptionDetail_wpMedicineTitle").removeClass("in").addClass("hide");
  11404. $("#prescriptionDetail_wpMedicineContent").html("");
  11405. }
  11406. } else {
  11407. $("#prescriptionDetail_xypyTitle").removeClass("in").addClass("hide");
  11408. $("#prescriptionDetail_xypyContent").html("");
  11409. $("#prescriptionDetail_xymjTitle").removeClass("in").addClass("hide");
  11410. $("#prescriptionDetail_xymjContent").html("");
  11411. $("#prescriptionDetail_xyjeTitle").removeClass("in").addClass("hide");
  11412. $("#prescriptionDetail_xyjeContent").html("");
  11413. $("#prescriptionDetail_yczlTitle").removeClass("in").addClass("hide");
  11414. $("#prescriptionDetail_yczlContent").html("");
  11415. $("#prescriptionDetail_zyzlTitle").removeClass("in").addClass("hide");
  11416. $("#prescriptionDetail_zyzlContent").html("");
  11417. $("#prescriptionDetail_jcjyTitle").removeClass("in").addClass("hide");
  11418. $("#prescriptionDetail_jcjyContent").html("");
  11419. $("#prescriptionDetail_zlTitle").removeClass("in").addClass("hide");
  11420. $("#prescriptionDetail_zlContent").html("");
  11421. $("#prescriptionDetail_zyReqTitle").removeClass("in").addClass("hide");
  11422. $("#prescriptionDetail_zyReqContent").html("");
  11423. $("#prescriptionDetail_wpMedicineTitle").removeClass("in").addClass("hide");
  11424. $("#prescriptionDetail_wpMedicineContent").html("");
  11425. }
  11426. $("#printJcReq").removeClass("in").addClass("hide");
  11427. $("#printJcReq").off("click");
  11428. $("#printJyReq").removeClass("in").addClass("hide");
  11429. $("#printJyReq").off("click");
  11430. $("#printJcReqSetup").removeClass("in").addClass("hide");
  11431. $("#printJcReqSetup").off("click");
  11432. $("#printJyReqSetup").removeClass("in").addClass("hide");
  11433. $("#printJyReqSetup").off("click");
  11434. $("#previewYjReq").removeClass("in").addClass("hide");
  11435. $("#previewYjReq").off("click");
  11436. $("#previewYjReqAll").removeClass("in").addClass("hide");
  11437. $("#previewYjReqAll").off("click");
  11438. $("#deletePrescription").removeClass("in").addClass("hide");
  11439. $("#deletePrescription").off("click");
  11440. $("#consultationCliniced").removeClass("in").addClass("hide");
  11441. $("#consultationCliniced").off("click");
  11442. if (jsonData.mzYjReqList != null && jsonData.mzYjReqList.length > 0) {
  11443. $("#previewYjReq").removeClass("hide").addClass("in");
  11444. $("#previewYjReq").off("click").on("click", function (t) {
  11445. previewYjReq(patientId, times);
  11446. });
  11447. }
  11448. if (res.yjReqCount != null && res.yjReqCount > 0) {
  11449. $("#previewYjReqAll").removeClass("hide").addClass("in");
  11450. $("#previewYjReqAll").off("click").on("click", function (t) {
  11451. previewYjReqAll(patientId);
  11452. });
  11453. }
  11454. if (type == 0) {
  11455. $("#callPrescription").removeClass("in").addClass("hide");
  11456. if ((jsonData.mzChargeDetailList == null || jsonData.mzChargeDetailList.length == 0) && (jsonData.mzYjReqList == null || jsonData.mzYjReqList.length == 0) && (jsonData.rxDruginfoList == null || jsonData.rxDruginfoList.length == 0)) {
  11457. $("#printPrescription").removeClass("in").addClass("hide");
  11458. $("#printPrescriptionSetup").removeClass("in").addClass("hide");
  11459. } else {
  11460. $("#printPrescription").removeClass("hide").addClass("in");
  11461. $("#printPrescription").off("click").on("click", function (t) {
  11462. printPrescription(patientId, times, clnicId, payMark, 1);
  11463. });
  11464. $("#printPrescriptionSetup").removeClass("hide").addClass("in");
  11465. $("#printPrescriptionSetup").off("click").on("click", function (t) {
  11466. printPrescription(patientId, times, clnicId, payMark, 2);
  11467. });
  11468. }
  11469. if (jsonData.mzYjReqList != null && jsonData.mzYjReqList.length > 0) {
  11470. var hadJc = false;
  11471. var hadJy = false;
  11472. for (var i = 0; i < jsonData.mzYjReqList.length; i++) {
  11473. var mzYjReq = jsonData.mzYjReqList[i];
  11474. if (mzYjReq.reqType == 2) {
  11475. hadJy = true;
  11476. } else if (mzYjReq.reqType == 3) {
  11477. hadJc = true;
  11478. }
  11479. }
  11480. if (hadJc) {
  11481. $("#printJcReq").removeClass("hide").addClass("in");
  11482. $("#printJcReq").off("click").on("click", function (t) {
  11483. printYjReq(patientId, times, 3, 1);
  11484. });
  11485. $("#printJcReqSetup").removeClass("hide").addClass("in");
  11486. $("#printJcReqSetup").off("click").on("click", function (t) {
  11487. printYjReq(patientId, times, 3, 2);
  11488. });
  11489. }
  11490. if (hadJy) {
  11491. $("#printJyReq").removeClass("hide").addClass("in");
  11492. $("#printJyReq").off("click").on("click", function (t) {
  11493. printYjReq(patientId, times, 2, 1);
  11494. });
  11495. $("#printJyReqSetup").removeClass("hide").addClass("in");
  11496. $("#printJyReqSetup").off("click").on("click", function (t) {
  11497. printYjReq(patientId, times, 2, 2);
  11498. });
  11499. }
  11500. }
  11501. if (jsonData.mzZyReq == null || jsonData.mzZyReq.reqDept == null || jsonData.mzZyReq.reqDept == "") {
  11502. $("#printZyReq").removeClass("in").addClass("hide");
  11503. $("#printZyReq").off("click");
  11504. $("#printZyReqSetup").removeClass("in").addClass("hide");
  11505. $("#printZyReqSetup").off("click");
  11506. } else {
  11507. $("#printZyReq").removeClass("hide").addClass("in");
  11508. $("#printZyReq").off("click").on("click", function (t) {
  11509. printZyReq(patientId, 1);
  11510. });
  11511. $("#printZyReqSetup").removeClass("hide").addClass("in");
  11512. $("#printZyReqSetup").off("click").on("click", function (t) {
  11513. printZyReq(patientId, 2);
  11514. });
  11515. }
  11516. //门诊手术
  11517. if (jsonData.opRecordList != null && jsonData.opRecordList.length > 0) {
  11518. $("#printOpRecord").removeClass("hide").addClass("in");
  11519. $("#printOpRecord").off("click").on("click", function (t) {
  11520. printOpRecord(patientId, times, 1);
  11521. });
  11522. $("#printOpRecordSetup").removeClass("hide").addClass("in");
  11523. $("#printOpRecordSetup").off("click").on("click", function (t) {
  11524. printOpRecord(patientId, times, 2);
  11525. });
  11526. } else {
  11527. $("#printOpRecord").removeClass("in").addClass("hide");
  11528. $("#printOpRecord").off("click");
  11529. $("#printOpRecordSetup").removeClass("in").addClass("hide");
  11530. $("#printOpRecordSetup").off("click");
  11531. }
  11532. //未缴费状态的时候可以删除处方
  11533. if (oriPayMark == 5 || oriPayMark == "5") {
  11534. $("#deletePrescription").removeClass("hide").addClass("in");
  11535. $("#deletePrescription").off("click").on("click", function (t) {
  11536. deletePrescription(clnicId);
  11537. });
  11538. }
  11539. //已诊列表发起会诊
  11540. $("#consultationCliniced").removeClass("hide").addClass("in");
  11541. $("#consultationCliniced").off("click").on("click", function (t) {
  11542. consultationCliniced(patientId);
  11543. });
  11544. //已诊列表发起预约挂号
  11545. $("#registration").off("click").on("click", function (t) {
  11546. registration(patientId);
  11547. });
  11548. } else {
  11549. $("#printPrescription").removeClass("in").addClass("hide");
  11550. $("#printZyReq").removeClass("in").addClass("hide");
  11551. $("#printBlRecord").removeClass("in").addClass("hide");
  11552. $("#printJcReq").removeClass("in").addClass("hide");
  11553. $("#printJyReq").removeClass("in").addClass("hide");
  11554. $("#registration").removeClass("in").addClass("hide");
  11555. $("#callPrescription").removeClass("hide").addClass("in");
  11556. $("#callPrescription").off("click").on("click", function (t) {
  11557. getMzPrescriptionVoPaid(patientId, times, clnicId);
  11558. });
  11559. }
  11560. if (oriPayMark == 1) {
  11561. $("#printPrescription").removeClass("in").addClass("hide");
  11562. $("#printPrescriptionSetup").removeClass("in").addClass("hide");
  11563. } else {
  11564. if ((jsonData.mzChargeDetailList == null || jsonData.mzChargeDetailList.length == 0) && (jsonData.mzYjReqList == null || jsonData.mzYjReqList.length == 0) && (jsonData.rxDruginfoList == null || jsonData.rxDruginfoList.length == 0)) {
  11565. $("#printPrescription").removeClass("in").addClass("hide");
  11566. $("#printPrescriptionSetup").removeClass("in").addClass("hide");
  11567. } else {
  11568. $("#printPrescription").removeClass("hide").addClass("in");
  11569. $("#printPrescription").off("click").on("click", function (t) {
  11570. printPrescription(patientId, times, clnicId, payMark, 1);
  11571. });
  11572. $("#printPrescriptionSetup").removeClass("hide").addClass("in");
  11573. $("#printPrescriptionSetup").off("click").on("click", function (t) {
  11574. printPrescription(patientId, times, clnicId, payMark, 2);
  11575. });
  11576. }
  11577. }
  11578. $("#previewBlbg").off("click").on("click", function (t) {
  11579. window.open("http://172.16.32.192:801/PIMSWebView.asp?mid=" + patientId);
  11580. });
  11581. $("#printBlRecord").removeClass("hide").addClass("in");
  11582. $("#printBlRecord").off("click").on("click", function (t) {
  11583. printBlRecord(patientId, times, 1);
  11584. });
  11585. $("#printBlRecordSetup").removeClass("hide").addClass("in");
  11586. $("#printBlRecordSetup").off("click").on("click", function (t) {
  11587. printBlRecord(patientId, times, 2);
  11588. });
  11589. $("#showMzBlRecordModal").removeClass("hide").addClass("in");
  11590. $("#showMzBlRecordModal").off("click").on("click", function (t) {
  11591. showMzBlRecordModal(patientId, times, 1);
  11592. });
  11593. if ($("#setupId").hasClass("fa-chevron-up")) {
  11594. //默认不展开打印设置
  11595. $("#setupId").parent().click();
  11596. }
  11597. // setTimeout(function () {
  11598. // if ($("#setupId").hasClass("fa-chevron-up")) {
  11599. // //默认不展开打印设置
  11600. // $("#setupId").parent().click();
  11601. // }
  11602. // }, 400);
  11603. //就诊详情的时候,隐藏复选框
  11604. if (type == 0) {
  11605. $("#visitingDetailModal").find("input[type=checkbox]").each(function (index, obj) {
  11606. $(obj).css("display", "none");
  11607. });
  11608. } else {
  11609. //历史处方显示复选框
  11610. $("#visitingDetailModal").find("input[type=checkbox]").each(function (index, obj) {
  11611. $(obj).css("display", "inline-block");
  11612. });
  11613. }
  11614. } else {
  11615. errorMesage(res);
  11616. }
  11617. }
  11618. });
  11619. $("#selfAmountView").html(0.00);
  11620. $("#fundPayView").html(0.00);
  11621. $("#acctPayView").html(0.00);
  11622. $("#totalAmountView").html(0.00);
  11623. $.ajax({
  11624. type: "GET",
  11625. url: '/thmz/getChargeDetailFee?patientId=&times=&receiptNo=&clnicId=' + clnicId,
  11626. contentType: "application/json;charset=UTF-8",
  11627. dataType: "json",
  11628. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  11629. async: true,
  11630. success: function (res) {
  11631. if (res == '401' || res == 401) {
  11632. window.location.href = '/thmz/login/view'
  11633. return;
  11634. }
  11635. if (res.code == 0) {
  11636. if (res.fundPay != undefined && res.fundPay != null) {
  11637. $("#fundPayView").text("¥" + res.fundPay);
  11638. }
  11639. if (res.acctPay != undefined && res.acctPay != null) {
  11640. $("#acctPayView").text("¥" + res.acctPay);
  11641. }
  11642. $("#selfAmountView").text("¥" + res.selfAmount);
  11643. $("#totalAmountView").text("¥" + res.totalAmount);
  11644. } else {
  11645. printIndex = -1;
  11646. }
  11647. }
  11648. });
  11649. }
  11650. /**
  11651. * 查询默认打印机
  11652. */
  11653. function setPrint() {
  11654. if (printIndex >= 0) {
  11655. return;
  11656. }
  11657. $.ajax({
  11658. type: "GET",
  11659. url: '/thmz/getLastWindowsByCurrentUser',
  11660. contentType: "application/json;charset=UTF-8",
  11661. dataType: "json",
  11662. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  11663. async: false,
  11664. success: function (res) {
  11665. if (res == '401' || res == 401) {
  11666. window.location.href = '/thmz/login/view'
  11667. return;
  11668. }
  11669. if (res.code == 0) {
  11670. printIndex = res.data.cgPrintIndex;
  11671. } else {
  11672. printIndex = -1;
  11673. }
  11674. }
  11675. });
  11676. }
  11677. //获取处方编码
  11678. function getOrderNum(patientId,times,prescriptionDetail) {
  11679. let num = '1'
  11680. if(prescriptionDetail.length > 0){
  11681. if(!stringIsBlank(prescriptionDetail[0].orderCode)){
  11682. num = prescriptionDetail[0].orderCode.split("_")[3]
  11683. }
  11684. }
  11685. return patientId + times + num;
  11686. }
  11687. //设置外配药打印页面
  11688. function setWpMedicineTableHtml(wpMedicinePrescription) {
  11689. let html = "";
  11690. for (let i = 0; i <wpMedicinePrescription.length ; i++) {
  11691. let detail = wpMedicinePrescription[i];
  11692. html += "<tr><td>" + (i+1) + "</td>";
  11693. html += "<td colspan='2'>";
  11694. html += detail.name + "(" + detail.drugSpec + ")";
  11695. html += "</td>";
  11696. html += "<td colspan='2'></td>";
  11697. html += "<td>X</td>";
  11698. html += "<td rowspan='2' style='height: 100%;line-height: 100%;font-size: 40px;'>";
  11699. html += "</td><td>" + detail.drugCnt + detail.drugDosunt + "</td>";
  11700. html += "</tr>";
  11701. html += "<tr><td></td>";
  11702. html += "<td></td>";
  11703. html += "<td style='font-weight: bold;text-align: right;'>用法:</td>";
  11704. html += "<td>" + detail.sinDoscnt + detail.sinDosunt + "/次</td>";
  11705. html += "<td>" + detail.usedFrquName + "</td>";
  11706. html += "<td>" + detail.medcDays + "天</td>";
  11707. html += "<td>" + detail.medcWayDscr + "</td>";
  11708. html += "</tr>";
  11709. }
  11710. return html;
  11711. }
  11712. function setTableHtml(prescriptionDetail) {
  11713. //设置成组处方符号
  11714. if (prescriptionDetail.length > 1) {
  11715. var map = new MyMap();
  11716. var groupOrderlist = [];
  11717. for (var j = 0; j < prescriptionDetail.length; j++) {
  11718. var detail = prescriptionDetail[j];
  11719. var list = map.get(detail.groupOrder);
  11720. if (list == null) {
  11721. list = [];
  11722. map.put(detail.groupOrder, list);
  11723. groupOrderlist[groupOrderlist.length] = detail.groupOrder;
  11724. }
  11725. list[list.length] = detail;
  11726. }
  11727. for (var j = 0; j < groupOrderlist.length; j++) {
  11728. var list = map.get(groupOrderlist[j]);
  11729. if (list.length == 1) {
  11730. continue;
  11731. }
  11732. list[0].groupFlag = "┒";
  11733. list[list.length - 1].groupFlag = "┛";
  11734. if (list.length > 2) {
  11735. for (var t = 1; t < list.length - 1; t++) {
  11736. list[t].groupFlag = "┃";
  11737. }
  11738. }
  11739. }
  11740. }
  11741. var html = "";
  11742. for (var j = 0; j < prescriptionDetail.length; j++) {
  11743. var detail = prescriptionDetail[j];
  11744. html += "<tr><td>" + (j+1) + "</td>";
  11745. html += "<td colspan='2'>";
  11746. html += detail.name + "(" + detail.specification + ")";
  11747. html += "</td>";
  11748. html += "<td colspan='2'></td>";
  11749. html += "<td>X</td>";
  11750. html += "<td rowspan='2' style='height: 100%;line-height: 100%;font-size: 40px;'>";
  11751. if (detail.groupFlag != undefined && detail.groupFlag != null) {
  11752. html += detail.groupFlag;
  11753. }
  11754. html += "</td><td>" + detail.quantity + detail.packUnit + "</td>";
  11755. html += "</tr>";
  11756. html += "<tr><td></td>";
  11757. if (detail.tryResult != undefined && detail.tryResult != null && detail.tryResult != "null" && detail.tryResult != "") {
  11758. html += "<td>" + detail.tryResult + "</td>";
  11759. } else if (detail.tryFlag != undefined && detail.tryFlag != null && detail.tryFlag != "null" && detail.tryFlag != "") {
  11760. html += "<td>" + detail.tryFlag + "</td>";
  11761. } else {
  11762. html += "<td></td>";
  11763. }
  11764. html += "<td style='font-weight: bold;text-align: right;'>用法:</td>";
  11765. html += "<td>" + detail.drugQuan + detail.unitDesc + "/次</td>";
  11766. html += "<td>" + detail.frequency + "</td>";
  11767. html += "<td>" + detail.orderDays + "天</td>";
  11768. html += "<td>" + detail.supplyName + "</td>";
  11769. html += "</tr>";
  11770. }
  11771. html += "<tr><td colspan='7'>&nbsp;&nbsp;&nbsp;&nbsp;------(以下空白)------</td></tr>";
  11772. return {html: html, j: j};
  11773. }
  11774. // /**
  11775. // * 打印门诊指引单
  11776. // * @param patientId
  11777. // * @param times
  11778. // */
  11779. // function printGuideCard(patientId, times) {
  11780. //
  11781. // }
  11782. /**
  11783. * 保存门诊处方打印记录
  11784. * @param patientId
  11785. * @param times
  11786. */
  11787. function saveMzPrescriptionPrint(patientId, times) {
  11788. postAjaxJsonHttpRequst("/thmz/mzPrescriptionPrint/saveData",{patientId:patientId,times:times},true,function (res) {
  11789. })
  11790. }
  11791. /**
  11792. * 打印门诊处方
  11793. * @param patientId
  11794. * @param times
  11795. * @param clnicId
  11796. * @param payMark
  11797. * @param printType 打印模式 1 预览打印 2 打印设置
  11798. */
  11799. function printPrescription(patientId, times, clnicId, payMark, printType) {
  11800. if(printType == 1){
  11801. saveMzPrescriptionPrint(patientId,times)
  11802. }
  11803. $.ajax({
  11804. type: "GET",
  11805. url: '/thmz/getMzPrescriptionVo?patientId=' + patientId + '&times=' + times + '&MzBlRecordFlag=false&payMark=' + payMark + '&clnicId=' + clnicId,
  11806. contentType: "application/json;charset=UTF-8",
  11807. dataType: "json",
  11808. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  11809. success: function (res) {
  11810. if (res == '401' || res == 401) {
  11811. window.location.href = '/thmz/login/view'
  11812. return;
  11813. }
  11814. if (res.code == 0) {
  11815. var prescriptionDetail = res.data.mzBlRecord.prescriptionDetail;
  11816. if (prescriptionDetail != null && prescriptionDetail != "") {
  11817. var prescriptionDetailJson = JSON.parse(prescriptionDetail);
  11818. //当前处方只开了住院证则只打印住院证
  11819. if (prescriptionDetailJson.xyPrescription.jePrescription.length == 0 && prescriptionDetailJson.xyPrescription.mjPrescription.length == 0 && prescriptionDetailJson.xyPrescription.pyPrescription.length == 0 && prescriptionDetailJson.xyPrescription.ycPrescription.length == 0 && prescriptionDetailJson.zlPrescription.length == 0 && prescriptionDetailJson.jcjyPrescription.length == 0 && prescriptionDetailJson.zyPrescription.length == 0 && prescriptionDetailJson.zyReqPrescription != null && prescriptionDetailJson.zyReqPrescription.length > 0) {
  11820. printZyReq(patientId, 1);
  11821. return;
  11822. }
  11823. var index = 0;
  11824. setPrint();
  11825. LODOP = getLodop();
  11826. LODOP.PRINT_INITA(6, 0, "148mm", "210mm", hospitalName+"处方笺");
  11827. LODOP.SET_PRINT_STYLE("FontSize", 9); //字体大小
  11828. //设置默认打印机
  11829. LODOP.SET_PRINTER_INDEX(printIndex);
  11830. LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "148mm");
  11831. LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "210mm");
  11832. LODOP.SET_PRINT_PAGESIZE(1, "148mm", "210mm", "CreateCustomPage");
  11833. //LODOP.SET_SHOW_MODE("SETUP_ENABLESS",getCheckSS());
  11834. LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "门诊处方笺");//对新建的纸张重命名
  11835. //intDispMode:预览比例,数字型,0-适高 1-正常大小 2-适宽
  11836. //intToolMode:工具条和按钮,数字型 0-显示(上方)工具栏 1-显示(下方)按钮栏 2-两个都显示 3-两个都不显示
  11837. //blDirectPrint: 打印按钮是否“直接打印” 1-是 0-否(弹出界面“选机打印”)
  11838. //intWidth,intHeight 窗口的宽和高,整数型,单位是px
  11839. //strTitleButtonCaptoin 预览窗口和打印按钮的名称组合,字符型,用“点”分隔
  11840. //LODOP.SET_PREVIEW_WINDOW(intDispMode,intToolMode,blDirectPrint,intWidth,intHeight,strTitleButtonCaptoin)
  11841. LODOP.SET_PREVIEW_WINDOW(0, 2, 0, 700, 900, "");
  11842. //LODOP.SET_PRINT_STYLE("FontSize", 8); //字体大小
  11843. var strStyle = "<style>table{width: 96%;} table,td,th {}</style>";
  11844. var mzPatientMi = res.mzPatientMi;
  11845. var deptName = res.deptName;
  11846. $("#patientNamePrescription").text(mzPatientMi.name);
  11847. $("#patientGenderPrescription").text(mzPatientMi.gender);
  11848. $("#patientAgePrescription").text(mzPatientMi.ageString);
  11849. $("#patientIdPrescription").text(mzPatientMi.patientId);
  11850. $("#deptPrescription").text(deptName);
  11851. // $("#doctorPrescription").text(res.doctorName);
  11852. getAjaxRequst("/thmz/getDoctorSignatureImage",{doctorCode:res.doctorCode},false,function (postRes) {
  11853. if(postRes.code ==0){
  11854. $("#doctorPrescription").html("<img src='" + postRes.data + "' style='width:100px;height:23px;'/>")
  11855. }else {
  11856. $("#doctorPrescription").text(res.doctorName);
  11857. }
  11858. })
  11859. $("#cfTime").text(res.opDate);
  11860. $("#socialNo").text(mzPatientMi.socialNo);
  11861. $("#sfTypeId").text(mzPatientMi.responseTypeName);
  11862. $("#zdPrescription").text(res.data.icdText);
  11863. $("#patientIdGuideCard").text(mzPatientMi.patientId);
  11864. $("#doctorGuideCard").text(res.data.mzBlRecord.doctorName);
  11865. $("#patientNameGuideCard").text(mzPatientMi.name);
  11866. $("#patientDateGuideCard").text(format(new Date(), "yyyy/MM/dd/HH:mm"));
  11867. JsBarcode("#cfBarcode", patientId, {
  11868. lineColor: '#333', //线条颜色
  11869. width: 1, //线宽
  11870. height: 26, //条码高度
  11871. displayValue: false, //是否显示文字信息
  11872. });
  11873. //普药处方
  11874. var pyPrescription = prescriptionDetailJson.xyPrescription.pyPrescription;
  11875. if (pyPrescription != null && pyPrescription.length > 0 && res.ypCfPrint != null && res.ypCfPrint.py_print =="1") {
  11876. for (var i = 0; i < pyPrescription.length; i++) {
  11877. if (index > 0) {
  11878. LODOP.NewPageA();
  11879. }
  11880. var prescriptionDetail = pyPrescription[i].detail;
  11881. var __ret = setTableHtml(prescriptionDetail);
  11882. var html = __ret.html;
  11883. var j = __ret.j;
  11884. if (res.deptName != undefined && res.deptName != null) {
  11885. if (res.deptName.indexOf("儿") > 0) {
  11886. $("#typePrescription").text("儿科");
  11887. $("#cfTitle").text("儿科");
  11888. } else if (res.deptName.indexOf("急诊科") > 0) {
  11889. $("#typePrescription").text("急诊");
  11890. $("#cfTitle").text("急诊");
  11891. } else {
  11892. $("#typePrescription").text("普通处方");
  11893. $("#cfTitle").text("普通");
  11894. }
  11895. }
  11896. $("#prescriptionDetail").html(html);
  11897. $("#cfAmountPrint").text(pyPrescription[i].amount + "元 (不含注射费)");
  11898. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("prescription_table").innerHTML);
  11899. index++;
  11900. }
  11901. }
  11902. let wpMedicinePrescription = prescriptionDetailJson.wpMedicinePrescription;
  11903. if(wpMedicinePrescription !=null && wpMedicinePrescription.length > 0){
  11904. if (index > 0) {
  11905. LODOP.NewPageA();
  11906. }
  11907. let _html = setWpMedicineTableHtml(wpMedicinePrescription);
  11908. $("#typePrescription").text("院外调配处方");
  11909. $("#cfTitle").text("院外调配");
  11910. $("#prescriptionDetail").html(_html);
  11911. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("prescription_table").innerHTML);
  11912. }
  11913. //医材处方
  11914. var ycPrescription = prescriptionDetailJson.xyPrescription.ycPrescription;
  11915. if (ycPrescription != null && ycPrescription.length > 0 && res.ypCfPrint != null && res.ypCfPrint.yc_print =="1") {
  11916. for (var i = 0; i < ycPrescription.length; i++) {
  11917. if (index > 0) {
  11918. LODOP.NewPageA();
  11919. }
  11920. var prescriptionDetail = ycPrescription[i].detail;
  11921. var __ret = setTableHtml(prescriptionDetail);
  11922. var html = __ret.html;
  11923. var j = __ret.j;
  11924. if (res.deptName != undefined && res.deptName != null) {
  11925. if (res.deptName.indexOf("儿") > 0) {
  11926. $("#typePrescription").text("儿科");
  11927. $("#cfTitle").text("儿科");
  11928. } else if (res.deptName.indexOf("急诊科") > 0) {
  11929. $("#typePrescription").text("急诊");
  11930. $("#cfTitle").text("急诊");
  11931. } else {
  11932. $("#typePrescription").text("医材处方");
  11933. $("#cfTitle").text("普通");
  11934. }
  11935. }
  11936. $("#prescriptionDetail").html(html);
  11937. $("#cfAmountPrint").text(ycPrescription[i].amount + "元 ");
  11938. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("prescription_table").innerHTML);
  11939. index++;
  11940. }
  11941. }
  11942. //麻精处方
  11943. var mjPrescription = prescriptionDetailJson.xyPrescription.mjPrescription;
  11944. if (mjPrescription != null && mjPrescription.length > 0 && res.ypCfPrint != null && res.ypCfPrint.mj_print =="1") {
  11945. for (var i = 0; i < mjPrescription.length; i++) {
  11946. if (index > 0) {
  11947. LODOP.NewPageA();
  11948. }
  11949. var prescriptionDetail = mjPrescription[i].detail;
  11950. var __ret = setTableHtml(prescriptionDetail);
  11951. var html = __ret.html;
  11952. var j = __ret.j;
  11953. $("#typePrescription").text("麻、精一处方");
  11954. $("#cfTitle").text("麻、精一");
  11955. $("#cfOrderNumTitle").text(getOrderNum(patientId,times,prescriptionDetail));
  11956. $("#prescriptionDetail").html(html);
  11957. $("#cfAmountPrint").text(mjPrescription[i].amount + "元 (不含注射费)");
  11958. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("prescription_table").innerHTML);
  11959. index++;
  11960. }
  11961. }
  11962. //精二处方
  11963. var jePrescription = prescriptionDetailJson.xyPrescription.jePrescription;
  11964. if (jePrescription != null && jePrescription.length > 0 && res.ypCfPrint != null && res.ypCfPrint.mj_print =="1") {
  11965. for (var i = 0; i < jePrescription.length; i++) {
  11966. if (index > 0) {
  11967. LODOP.NewPageA();
  11968. }
  11969. var prescriptionDetail = jePrescription[i].detail;
  11970. var __ret = setTableHtml(prescriptionDetail);
  11971. var html = __ret.html;
  11972. var j = __ret.j;
  11973. $("#typePrescription").text("精二处方");
  11974. $("#cfTitle").text("精二");
  11975. $("#cfOrderNumTitle").text(getOrderNum(patientId,times,prescriptionDetail));
  11976. $("#prescriptionDetail").html(html);
  11977. $("#cfAmountPrint").text(jePrescription[i].amount + "元 (不含注射费)");
  11978. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("prescription_table").innerHTML);
  11979. index++;
  11980. }
  11981. }
  11982. $("#cfOrderNumTitle").text(null)
  11983. //中药处方
  11984. if (prescriptionDetailJson.zyPrescription != null && prescriptionDetailJson.zyPrescription.length > 0 && res.ypCfPrint != null && res.ypCfPrint.zy_print =="1") {
  11985. var zyPrescription = prescriptionDetailJson.zyPrescription[0].detail;zyPrescription
  11986. var zyGroupNo = prescriptionDetailJson.zyPrescription[0].groupNo;
  11987. if (zyPrescription != null && zyPrescription.length > 0) {
  11988. var html = "";
  11989. for (var i = 0; i < zyPrescription.length; i++) {
  11990. if (i % 2 == 0) {
  11991. html += "<tr><td></td><td></td></tr><tr>";
  11992. }
  11993. html += "<td>";
  11994. html += zyPrescription[i].name;
  11995. if(zyPrescription[i].spec){
  11996. html += "("+zyPrescription[i].spec+")";
  11997. }
  11998. if(zyGroupNo=='83'){
  11999. html += zyPrescription[i].quantity + "袋";
  12000. }else {
  12001. html += zyPrescription[i].quantity + "g";
  12002. }
  12003. if (zyPrescription[i].instructionText != null) {
  12004. html += "[" + zyPrescription[i].instructionText + "]";
  12005. }
  12006. if (i % 2 == 1) {
  12007. html += "</td></tr>";
  12008. } else {
  12009. html += "</td>";
  12010. }
  12011. }
  12012. if (zyPrescription.length % 2 != 0) {
  12013. html += "</tr>";
  12014. }
  12015. html += "<tr><td></td><td>X " + prescriptionDetailJson.zyPrescription[0].zyfs + "付</td></tr>";
  12016. var cyMtjs = prescriptionDetailJson.zyPrescription[0].cyMtjs;
  12017. if (cyMtjs == null || cyMtjs == "null") {
  12018. cyMtjs = "";
  12019. }
  12020. var cyJssm = prescriptionDetailJson.zyPrescription[0].cyJssm;
  12021. if (cyJssm == null || cyJssm == "null") {
  12022. cyJssm = "";
  12023. }
  12024. var cyJsl = prescriptionDetailJson.zyPrescription[0].cyJsl;
  12025. if (cyJsl == null || cyJsl == "null") {
  12026. cyJsl = "";
  12027. }
  12028. var cyZql = prescriptionDetailJson.zyPrescription[0].cyZql;
  12029. if (cyZql == null || cyZql == "null") {
  12030. cyZql = "";
  12031. }
  12032. var cyFj = prescriptionDetailJson.zyPrescription[0].cyFj;
  12033. if (cyFj == null || cyFj == "null") {
  12034. cyFj = "";
  12035. }
  12036. var cyFfcs = prescriptionDetailJson.zyPrescription[0].cyFfcs;
  12037. if (cyFfcs == null || cyFfcs == "null") {
  12038. cyFfcs = "";
  12039. }
  12040. var cyFysm = prescriptionDetailJson.zyPrescription[0].cyFysm;
  12041. if (cyFysm == null || cyFysm == "null") {
  12042. cyFysm = "";
  12043. }
  12044. var cyDj = prescriptionDetailJson.zyPrescription[0].cyDj;
  12045. if (cyDj == null || cyDj == "null") {
  12046. cyDj = "";
  12047. } else {
  12048. cyDj = "(" + cyDj + ")";
  12049. }
  12050. if(zyGroupNo =='83'){
  12051. html += "<tr><td colspan='2'>每天" + cyMtjs + "剂," + cyJssm + cyJsl + "ml。分" + cyFfcs + "次" + cyFysm + "。</td></tr>";
  12052. }else {
  12053. html += "<tr><td colspan='2'>每天" + cyMtjs + "剂," + cyJssm + cyJsl + "ml,煮取量" + cyZql + "ml,复煎" + cyFj + "次。分" + cyFfcs + "次" + cyFysm + " " + cyDj + "。</td></tr>";
  12054. }
  12055. html += "<tr><td colspan='2'>&nbsp;&nbsp;&nbsp;&nbsp;------(以下空白)------</td></tr>";
  12056. if (index > 0) {
  12057. LODOP.NewPageA();
  12058. }
  12059. if (res.deptName != undefined && res.deptName != null) {
  12060. if (res.deptName.indexOf("儿") > 0) {
  12061. $("#typePrescription").text("儿科");
  12062. $("#cfTitle").text("儿科");
  12063. } else if (res.deptName.indexOf("急诊科") > 0) {
  12064. $("#typePrescription").text("急诊");
  12065. $("#cfTitle").text("急诊");
  12066. } else {
  12067. $("#typePrescription").text("中药处方");
  12068. $("#cfTitle").text("普通");
  12069. }
  12070. }
  12071. $("#prescriptionDetail").html(html);
  12072. $("#cfAmountPrint").text(prescriptionDetailJson.zyPrescription[0].amount + "元 (不含代煎费)");
  12073. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("prescription_table").innerHTML);
  12074. index++;
  12075. }
  12076. }
  12077. var printZlPrescription = $("#zlPrintFlagCheck").parent().hasClass("checked") == true ? true : false;
  12078. if (printZlPrescription) {
  12079. if (prescriptionDetailJson.zlPrescription != null && prescriptionDetailJson.zlPrescription.length > 0) {
  12080. //诊疗处方
  12081. var zlPrescription = prescriptionDetailJson.zlPrescription[0].detail;
  12082. if (zlPrescription != null && zlPrescription.length > 0) {
  12083. var html = "";
  12084. for (var i = 0; i < zlPrescription.length; i++) {
  12085. var zlPrescriptionTemp = zlPrescription[i];
  12086. html += "<tr>";
  12087. html += "<td colspan='2'>" + zlPrescriptionTemp.index + "." + zlPrescriptionTemp.name + "</td>";
  12088. html += "<td style='text-align: right;padding-right: 15px;'>X</td>";
  12089. html += "<td>总量:" + zlPrescriptionTemp.quantity + "</td>";
  12090. html += "</tr>";
  12091. html += "<tr>";
  12092. html += "<td width='40%'></td>";
  12093. html += "<td width='20%'>单量:" + zlPrescriptionTemp.drugQuan + "</td>";
  12094. html += "<td width='20%'>频率:" + zlPrescriptionTemp.frequency + "</td>";
  12095. html += "<td width='20%'>天数:" + zlPrescriptionTemp.orderDays + "天</td>";
  12096. html += "</tr>";
  12097. }
  12098. if (index > 0) {
  12099. LODOP.NewPageA();
  12100. }
  12101. if (res.deptName != undefined && res.deptName != null) {
  12102. if (res.deptName.indexOf("儿") > 0) {
  12103. $("#typePrescription").text("儿科");
  12104. $("#cfTitle").text("儿科");
  12105. } else if (res.deptName.indexOf("急诊科") > 0) {
  12106. $("#typePrescription").text("急诊");
  12107. $("#cfTitle").text("急诊");
  12108. } else {
  12109. $("#typePrescription").text("诊疗处方");
  12110. $("#cfTitle").text("普通");
  12111. }
  12112. }
  12113. $("#prescriptionDetail").html(html);
  12114. $("#cfAmountPrint").text(prescriptionDetailJson.zlPrescription[0].amount + "元 ");
  12115. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("prescription_table").innerHTML);
  12116. index++;
  12117. }
  12118. }
  12119. }
  12120. //检查申请单打印
  12121. var mzYjReqList = res.data.mzYjReqList;
  12122. if (mzYjReqList != null && mzYjReqList.length > 0) {
  12123. $("#patientIdJcReq").text(mzPatientMi.patientId);
  12124. $("#patientNameJcReq").text(mzPatientMi.name);
  12125. $("#patientGenderJcReq").text(mzPatientMi.gender);
  12126. $("#patientAgeJcReq").text(mzPatientMi.ageString);
  12127. $("#responseTypeJcReq").text(mzPatientMi.responseTypeName);
  12128. $("#patientCardNoJcReq").text(mzPatientMi.icCardNo);
  12129. $("#icdTextJcReq").text(res.data.icdText);
  12130. var mzBlRecord = res.data.mzBlRecord;
  12131. $("#jcReqEmrChiefComplaint").text(mzBlRecord.emrChiefComplaint);
  12132. $("#jcReqHis").text(mzBlRecord.emrHpi);
  12133. var tz = getTz(mzBlRecord);
  12134. $("#jcReqTz").text(tz);
  12135. $("#jcReqReqDept").text(res.deptName);
  12136. $("#jcReqReqDoctor").text(res.doctorName);
  12137. // $("#patientIdJyReq").text(mzPatientMi.patientId);
  12138. // $("#patientNameJyReq").text(mzPatientMi.name);
  12139. // $("#patientGenderJyReq").text(mzPatientMi.gender);
  12140. // $("#patientAgeJyReq").text(mzPatientMi.ageString);
  12141. // $("#patientCardNoJyReq").text(mzPatientMi.icCardNo);
  12142. // $("#responseTypeJyReq").text(mzPatientMi.responseTypeName);
  12143. // $("#icdTextJyReq").text(res.data.icdText);
  12144. // $("#jyReqEmrChiefComplaint").text(mzBlRecord.emrChiefComplaint);
  12145. // $("#jyReqHis").text(mzBlRecord.emrHpi);
  12146. // $("#jyReqTz").text(tz);
  12147. // $("#jyReqReqDept").text(res.deptName);
  12148. // $("#jyReqReqDoctor").text(res.doctorName);
  12149. for (var i = 0; i < mzYjReqList.length; i++) {
  12150. var mzYjReq = mzYjReqList[i];
  12151. if (mzYjReq == null) {
  12152. continue;
  12153. }
  12154. if (i == 0) {
  12155. var dateStr = format(mzYjReq.reqDate, "yyyy-MM-dd");
  12156. $("#jcReqReqDate").text(dateStr);
  12157. // $("#jyReqReqDoctor").text(dateStr);
  12158. }
  12159. if (mzYjReq.reqType == 2) {
  12160. continue;
  12161. }
  12162. if ((i == 0 && index > 0) || i > 0) {
  12163. LODOP.NewPageA();
  12164. }
  12165. JsBarcode("#JcBarcode", mzYjReq.reqNo, {
  12166. lineColor: '#333', //线条颜色
  12167. width: 1, //线宽
  12168. height: 26, //条码高度
  12169. displayValue: false, //是否显示文字信息
  12170. });
  12171. $("#reqNoJcReq").text(mzYjReq.reqNo);
  12172. $("#jcReqItem").text(mzYjReq.groupName);
  12173. $("#jcReqRemark").text(mzYjReq.jyRemark);
  12174. $("#jcComment8").text(mzYjReq.comment8);
  12175. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("jc_card_table").innerHTML);
  12176. index++;
  12177. }
  12178. }
  12179. //住院证打印
  12180. var mzZyReq = res.data.mzZyReq;
  12181. if (mzZyReq != null) {
  12182. $("#patientIdZyReq").text(mzPatientMi.patientId);
  12183. $("#patientNameZyReq").text(mzPatientMi.name);
  12184. $("#patientGenderZyReq").text(mzPatientMi.gender);
  12185. $("#patientAgeZyReq").text(mzPatientMi.ageString);
  12186. $("#sfzZyReq").text(mzPatientMi.socialNo);
  12187. $("#birthDateZyReq").text(format(mzPatientMi.birthDay, "yyyy-MM-dd"));
  12188. $("#phoneZyReq").text(mzPatientMi.phoneNo);
  12189. $("#responseTypeZyReq").text(mzPatientMi.responseTypeName);
  12190. $("#addressZyReq").text(mzPatientMi.address);
  12191. if (mzZyReq.icdCode == null || mzZyReq.icdCode == "" || mzZyReq.icdCode.length == 0) {
  12192. $("#icsCodeZyReq").html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
  12193. $("#icsTextZyReq").text(mzZyReq.icdText);
  12194. } else {
  12195. $("#icsCodeZyReq").text(mzZyReq.icdCode);
  12196. $("#icsTextZyReq").text(mzZyReq.icdText);
  12197. }
  12198. $("#reqDeptZyReq").text(mzZyReq.reqWardName);
  12199. $("#smallDeptZyReq").text(mzZyReq.smallDeptName);
  12200. $("#routeOfAdmissionName").text(mzZyReq.routeOfAdmissionName);
  12201. $("#depositZyReq").text(mzZyReq.deposit);
  12202. //$("#admissStatusZyReq").text(mzZyReq.admissStatus);
  12203. // $("input:checkbox[value='" + mzZyReq.admissStatus + "']").attr('checked', 'true');
  12204. $("input:checkbox[name='admissStatusZyReq']").each(function (i, e) {
  12205. $(this).removeAttr("checked");
  12206. if ($(this).val() == Number(mzZyReq.admissStatus) || $(this).val() == mzZyReq.admissStatus) {
  12207. $(this).attr("checked", true)
  12208. }
  12209. });
  12210. $("#visitDateZyReq").text(format(mzZyReq.visitDate, "yyyy-MM-dd HH:mm:ss"));
  12211. $("#deptCodeZyReq").text(mzZyReq.deptName);
  12212. getAjaxRequst("/thmz/getDoctorSignatureImage",{doctorCode:mzZyReq.doctorCode},false,function (signRes) {
  12213. if(signRes.code == 0){
  12214. $("#doctorCodeZyReq").html("<img src='" + signRes.data + "' style='width:100px;height:23px;'/>")
  12215. }else {
  12216. $("#doctorCodeZyReq").text(mzZyReq.doctorName);
  12217. }
  12218. })
  12219. if (index > 0) {
  12220. LODOP.NewPageA();
  12221. }
  12222. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("mz_zy_req_table").innerHTML);
  12223. index++;
  12224. }
  12225. //手术申请单打印
  12226. var opRecordList = res.data.opRecordList;
  12227. if (opRecordList != null && opRecordList.length > 0) {
  12228. $("#patientIdOpRecord").text(mzPatientMi.patientId);
  12229. $("#patientNameOpRecord").text(mzPatientMi.name);
  12230. $("#patientGenderOpRecord").text(mzPatientMi.gender);
  12231. $("#patientAgeOpRecord").text(mzPatientMi.ageString);
  12232. $("#responseTypeOpRecord").text(mzPatientMi.responseTypeName);
  12233. $("#patientCardNoOpRecord").text(mzPatientMi.icCardNo);
  12234. for (var i = 0; i < opRecordList.length; i++) {
  12235. var obj = opRecordList[i];
  12236. //$("#reqNoOpRecord").text(obj.recordId);
  12237. $("#icdTextOpRecord").text(obj.diagBeforeOp);
  12238. $("#opNameOpRecord").text(obj.opName);
  12239. $("#hocusCodeOpRecord").text(obj.hocusCodeName);
  12240. $("#opScaleOpRecord").text(obj.opScaleName);
  12241. var dateStr = format(obj.applyDate, "yyyy-MM-dd HH:mm:ss");
  12242. $("#applyDateOpRecord").text(dateStr);
  12243. $("#opDatetimeOpRecord").text(obj.opDatetimeStr);
  12244. $("#doctorZdOpRecord").text(obj.doctorZdName);
  12245. $("#remarkOpRecord").text(obj.remark);
  12246. if (index > 0) {
  12247. LODOP.NewPageA();
  12248. }
  12249. JsBarcode("#JcBarcode", obj.recordId, {
  12250. lineColor: '#333', //线条颜色
  12251. width: 1, //线宽
  12252. height: 26, //条码高度
  12253. displayValue: false, //是否显示文字信息
  12254. });
  12255. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("op_record_card_table").innerHTML);
  12256. index++;
  12257. }
  12258. }
  12259. // $("#selfAmountGuideCard").html(0.00);
  12260. // $("#fundPayGuideCard").html(0.00);
  12261. // $("#acctPayGuideCard").html(0.00);
  12262. $("#payQrcodeGuideCard").empty();
  12263. $("#selfPayDetail").empty();
  12264. $.ajax({
  12265. type: "GET",
  12266. url: '/thmz/getChargeDetailForGuideCard?patientId=' + patientId + '&times=' + times,
  12267. contentType: "application/json;charset=UTF-8",
  12268. dataType: "json",
  12269. headers: {
  12270. 'Accept': 'application/json',
  12271. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  12272. },
  12273. success: function (res) {
  12274. if (res == '401' || res == 401) {
  12275. window.location.href = '/thmz/login/view'
  12276. return;
  12277. }
  12278. if (res.code == 0) {
  12279. var selfPayList = res.selfPayList;
  12280. $("#zfcns_time").text("时间:" + res.zfcns_time);
  12281. if (selfPayList != null && selfPayList.length > 0) {
  12282. $("#patientNameSelfPay").text(mzPatientMi.name);
  12283. $("#patientGenderSelfPay").text(mzPatientMi.gender);
  12284. $("#patientAgeSelfPay").text(mzPatientMi.ageString);
  12285. $("#patientIdSelfPay").text(mzPatientMi.patientId);
  12286. $("#deptSelfPay").text(deptName);
  12287. $("#zdSelfPay").text(res.icdText);
  12288. var selfPayListHtml = "";
  12289. for (var i = 1; i <= selfPayList.length; i++) {
  12290. selfPayListHtml += "<tr><td>";
  12291. selfPayListHtml += i + "." + selfPayList[i - 1];
  12292. selfPayListHtml += "</td></tr>";
  12293. }
  12294. $("#selfPayDetail").html(selfPayListHtml);
  12295. if (index > 0) {
  12296. LODOP.NewPageA();
  12297. }
  12298. //view-source:http://www.c-lodop.com/demolist/PrintSample43.html 分页看这里
  12299. LODOP.ADD_PRINT_TABLE(158, "5%", "90%", 400, strStyle + document.getElementById("self_pay_table_body").innerHTML);
  12300. LODOP.SET_PRINT_STYLEA(0, "Vorient", 3);
  12301. LODOP.ADD_PRINT_HTM(26, "5%", "90%", 119, document.getElementById("self_pay_table_header").innerHTML);
  12302. LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
  12303. LODOP.SET_PRINT_STYLEA(0, "LinkedItem", -1);
  12304. LODOP.ADD_PRINT_HTM(560, "5%", "90%", 200, document.getElementById("self_pay_table_foot").innerHTML);
  12305. LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
  12306. LODOP.SET_PRINT_STYLEA(0, "LinkedItem", -1);
  12307. // LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("self_pay_table").innerHTML);
  12308. index++;
  12309. }
  12310. if (res.guideCardData != null && res.guideCardData.length > 0) {
  12311. let html = `<tr style="font-weight: 700"><td>类别</td> <td>名称/科室</td><td>地址</td></tr>`;
  12312. for (var i = 0; i < res.guideCardData.length; i++) {
  12313. html += "<tr><td>" + res.guideCardData[i].type + "</td><td>" + res.guideCardData[i].name + "</td><td>" + res.guideCardData[i].address + "</td></tr>"
  12314. }
  12315. $("#guideCardDetail").html(html);
  12316. }
  12317. if (res.payQrcode != null && res.payQrcode != "") {
  12318. new QRCode(document.getElementById("payQrcodeGuideCard"), res.payQrcode); // 设置要生成二维码的链接
  12319. $("canvas").attr("id", "erw");
  12320. let canvas = document.getElementById('erw');
  12321. let src = canvas.toDataURL("image/png");
  12322. let payQrcodeGuideCardHtml = `<img src="${src}" style="width: 100px;height: 100px"/><div style="width: 140px;margin-top: 2px;">微信支付(自费)</div>`;
  12323. $("#payQrcodeGuideCard").html(payQrcodeGuideCardHtml)
  12324. }
  12325. if(!stringIsBlank(res.healthEducationUrl)){
  12326. new QRCode(document.getElementById("healthEducationCard"), res.healthEducationUrl); // 设置要生成二维码的链接
  12327. $("canvas").attr("id", "erw");
  12328. let canvas = document.getElementById('erw');
  12329. let src = canvas.toDataURL("image/png");
  12330. let wxPayQrCardHtml =`<img src="${src}" style="width: 100px;height: 100px"/><div style="width: 120px;margin-top: 2px;">健康宣教</div>`;
  12331. $("#healthEducationCard").html(wxPayQrCardHtml);
  12332. }
  12333. if(!stringIsBlank(res.wxPayQrUrl)){
  12334. new QRCode(document.getElementById("wxPayQrCard"), res.wxPayQrUrl); // 设置要生成二维码的链接
  12335. $("canvas").attr("id", "erw");
  12336. let canvas = document.getElementById('erw');
  12337. let src = canvas.toDataURL("image/png");
  12338. let wxPayQrCardHtml =`<img src="${src}" style="width: 100px;height: 100px"/><div style="width: 140px;margin-top: 2px;">微信支付(医保统筹)</div>`;
  12339. $("#wxPayQrCard").html(wxPayQrCardHtml);
  12340. }
  12341. $("#totalAmountGuideCard").text("¥" + res.totalAmount+"元");
  12342. JsBarcode('#imgcode', patientId, {
  12343. lineColor: '#333', //线条颜色
  12344. width: 2, //线宽
  12345. height: 60, //条码高度
  12346. displayValue: false, //是否显示文字信息
  12347. });
  12348. if (index > 0) {
  12349. LODOP.NewPageA();
  12350. }
  12351. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("guide_card_table").innerHTML);
  12352. //LODOP.PRINT();
  12353. if (printType == 1) {
  12354. LODOP.PREVIEW();
  12355. } else if (printType == 2) {
  12356. LODOP.PRINT_SETUP();
  12357. }
  12358. } else if (res.code == -2) {
  12359. if (printType == 1) {
  12360. LODOP.PREVIEW();
  12361. } else if (printType == 2) {
  12362. LODOP.PRINT_SETUP();
  12363. }
  12364. } else {
  12365. errorMesage(res);
  12366. }
  12367. }
  12368. });
  12369. // printGuideCard(patientId, times);
  12370. }
  12371. } else {
  12372. errorMesage(res);
  12373. }
  12374. }
  12375. });
  12376. }
  12377. /**
  12378. * 构建体征描述
  12379. * @param mzBlRecord
  12380. * @returns {*}
  12381. */
  12382. function getTz(mzBlRecord) {
  12383. var tz = null;
  12384. if (mzBlRecord.weight != null && mzBlRecord.weight != 0) {
  12385. var temp = "体重:" + mzBlRecord.weight + "kg ";
  12386. if (tz == null) {
  12387. tz = temp;
  12388. } else {
  12389. tz += " " + temp;
  12390. }
  12391. }
  12392. if (mzBlRecord.temperature != null && mzBlRecord.temperature != 0) {
  12393. var temp = "体温:" + mzBlRecord.temperature + "℃ ";
  12394. if (tz == null) {
  12395. tz = temp;
  12396. } else {
  12397. tz += " " + temp;
  12398. }
  12399. }
  12400. if (mzBlRecord.sphygmus != null && mzBlRecord.sphygmus != 0) {
  12401. var temp = "脉搏:" + mzBlRecord.sphygmus + "次/分 ";
  12402. if (tz == null) {
  12403. tz = temp;
  12404. } else {
  12405. tz += " " + temp;
  12406. }
  12407. }
  12408. if (mzBlRecord.breathe != null && mzBlRecord.breathe != 0) {
  12409. var temp = "呼吸:" + mzBlRecord.breathe + "次/分 ";
  12410. if (tz == null) {
  12411. tz = temp;
  12412. } else {
  12413. tz += " " + temp;
  12414. }
  12415. }
  12416. if (mzBlRecord.pressureHigh != null && mzBlRecord.pressureFloor != null && mzBlRecord.pressureHigh != 0 && mzBlRecord.pressureFloor != 0) {
  12417. var temp = "血压:" + mzBlRecord.pressureHigh + "/" + mzBlRecord.pressureFloor + " mmhg";
  12418. if (tz == null) {
  12419. tz = temp;
  12420. } else {
  12421. tz += " " + temp;
  12422. }
  12423. }
  12424. if (mzBlRecord.pressureHighLeft != null && mzBlRecord.pressureFloorLeft != null && mzBlRecord.pressureHighLeft != 0 && mzBlRecord.pressureFloorLeft != 0) {
  12425. var temp = "左血压:" + mzBlRecord.pressureHighLeft + "/" + mzBlRecord.pressureFloorLeft;
  12426. if (tz == null) {
  12427. tz = temp;
  12428. } else {
  12429. tz += " " + temp;
  12430. }
  12431. }
  12432. if (mzBlRecord.emrPe != null && mzBlRecord.emrPe != "") {
  12433. if (tz == null) {
  12434. tz = mzBlRecord.emrPe;
  12435. } else {
  12436. tz += "," + mzBlRecord.emrPe;
  12437. }
  12438. }
  12439. return tz;
  12440. }
  12441. /**
  12442. * 打印医技申请单
  12443. * @param patientId
  12444. * @param times
  12445. * @param type 申请单类型:2:检验;3:检查
  12446. * @param printType 打印模式 1 预览打印 2 打印设置
  12447. */
  12448. function printYjReq(patientId, times, type, printType) {
  12449. $.ajax({
  12450. type: "GET",
  12451. url: '/thmz/printYjReq?patientId=' + patientId + '&times=' + times + "&reqType=" + type,
  12452. contentType: "application/json;charset=UTF-8",
  12453. dataType: "json",
  12454. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  12455. success: function (res) {
  12456. if (res == '401' || res == 401) {
  12457. window.location.href = '/thmz/login/view'
  12458. return;
  12459. }
  12460. if (res.code == 0) {
  12461. if (res.data == null || res.data.mzYjReqList == null || res.data.mzYjReqList.length == 0) {
  12462. errorMesageSimaple("没有医技申请单可以打印");
  12463. return;
  12464. }
  12465. setPrint();
  12466. LODOP = getLodop();
  12467. LODOP.PRINT_INITA(6, 0, "148mm", "210mm", hospitalName+"检查申请单");
  12468. LODOP.SET_PRINT_STYLE("FontSize", 9); //字体大小
  12469. //设置默认打印机
  12470. LODOP.SET_PRINTER_INDEX(printIndex);
  12471. LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "148mm");
  12472. LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "210mm");
  12473. LODOP.SET_PRINT_PAGESIZE(1, "148mm", "210mm", "CreateCustomPage");
  12474. LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "检查申请单");//对新建的纸张重命名
  12475. //intDispMode:预览比例,数字型,0-适高 1-正常大小 2-适宽
  12476. //intToolMode:工具条和按钮,数字型 0-显示(上方)工具栏 1-显示(下方)按钮栏 2-两个都显示 3-两个都不显示
  12477. //blDirectPrint: 打印按钮是否“直接打印” 1-是 0-否(弹出界面“选机打印”)
  12478. //intWidth,intHeight 窗口的宽和高,整数型,单位是px
  12479. //strTitleButtonCaptoin 预览窗口和打印按钮的名称组合,字符型,用“点”分隔
  12480. //LODOP.SET_PREVIEW_WINDOW(intDispMode,intToolMode,blDirectPrint,intWidth,intHeight,strTitleButtonCaptoin)
  12481. LODOP.SET_PREVIEW_WINDOW(0, 2, 0, 700, 900, "");
  12482. //LODOP.SET_PRINT_STYLE("FontSize", 8); //字体大小
  12483. var strStyle = "<style>table{width: 96%;} table,td,th {}</style>";
  12484. var mzPatientMi = res.data.mzPatientMi;
  12485. $("#patientIdJcReq").text(mzPatientMi.patientId);
  12486. $("#patientNameJcReq").text(mzPatientMi.name);
  12487. $("#patientGenderJcReq").text(mzPatientMi.gender);
  12488. $("#patientAgeJcReq").text(mzPatientMi.ageString);
  12489. $("#responseTypeJcReq").text(mzPatientMi.responseTypeName);
  12490. $("#patientCardNoJcReq").text(mzPatientMi.icCardNo);
  12491. $("#icdTextJcReq").text(res.data.icdText);
  12492. $("#patientIdJyReq").text(mzPatientMi.patientId);
  12493. $("#patientNameJyReq").text(mzPatientMi.name);
  12494. $("#patientGenderJyReq").text(mzPatientMi.gender);
  12495. $("#patientAgeJyReq").text(mzPatientMi.ageString);
  12496. $("#responseTypeJyReq").text(mzPatientMi.responseTypeName);
  12497. $("#patientCardNoJyReq").text(mzPatientMi.icCardNo);
  12498. $("#icdTextJyReq").text(res.data.icdText);
  12499. var mzBlRecord = res.data.mzBlRecord;
  12500. $("#jcReqEmrChiefComplaint").text(mzBlRecord.emrChiefComplaint);
  12501. $("#jcReqHis").text(mzBlRecord.emrHpi);
  12502. $("#jyReqEmrChiefComplaint").text(mzBlRecord.emrChiefComplaint);
  12503. $("#jyReqHis").text(mzBlRecord.emrHpi);
  12504. var tz = getTz(mzBlRecord);
  12505. $("#jcReqTz").text(tz);
  12506. $("#jcReqReqDept").text(res.data.deptName);
  12507. $("#jcReqReqDoctor").text(res.data.doctorName);
  12508. $("#jyReqTz").text(tz);
  12509. $("#jyReqReqDept").text(res.data.deptName);
  12510. $("#jyReqReqDoctor").text(res.data.doctorName);
  12511. //检验报告列表名
  12512. var jyTitle = '<tr><th style="min-height: 30px;border-bottom: 1px solid black;">执行科室</th><th style="min-height: 30px;border-bottom: 1px solid black;">检验项目</th><th style="min-height: 30px;border-bottom: 1px solid black;">标本</th><th style="min-height: 30px;border-bottom: 1px solid black;">单号</th></tr>';
  12513. var jyContent = "";
  12514. var needNewPageA = false;
  12515. for (var i = 0; i < res.data.mzYjReqList.length; i++) {
  12516. var obj = res.data.mzYjReqList[i];
  12517. if (i == 0) {
  12518. var dateStr = format(obj.reqDate, "yyyy-MM-dd");
  12519. $("#jcReqReqDate").text(dateStr);
  12520. $("#jyReqReqDate").text(dateStr);
  12521. }
  12522. if (obj.reqType == "3") {
  12523. if (i > 0) {
  12524. LODOP.NewPageA();
  12525. }
  12526. JsBarcode("#JcBarcode", obj.reqNo, {
  12527. lineColor: '#333', //线条颜色
  12528. width: 1, //线宽
  12529. height: 26, //条码高度
  12530. displayValue: false, //是否显示文字信息
  12531. });
  12532. $("#reqNoJcReq").text(obj.reqNo);
  12533. $("#jcReqItem").text(obj.groupName);
  12534. $("#jcReqRemark").text(obj.jyRemark);
  12535. $("#jcComment8").text(obj.comment8);
  12536. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("jc_card_table").innerHTML);
  12537. needNewPageA = true;
  12538. } else if (obj.reqType == "2") {
  12539. let inspectName = (obj.inspectName == null || obj.inspectName == "null") ? "" : obj.inspectName;
  12540. jyContent += '<tr><td>' + obj.execName + '</td><td style="min-height: 30px;">' + obj.groupName + '</td><td>' + inspectName + '</td><td>' + obj.reqNo + '</td></tr>';
  12541. JsBarcode("#JyBarcode", obj.reqNo, {
  12542. lineColor: '#333', //线条颜色
  12543. width: 1, //线宽
  12544. height: 26, //条码高度
  12545. displayValue: false, //是否显示文字信息
  12546. });
  12547. }
  12548. }
  12549. if (jyContent != null && jyContent != "" && jyContent.length > 0) {
  12550. if (needNewPageA) {
  12551. LODOP.NewPageA();
  12552. }
  12553. jyContent = jyTitle + jyContent;
  12554. $("#jyContent").html(jyContent);
  12555. //检验
  12556. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("jy_card_table").innerHTML);
  12557. }
  12558. if (printType == 1) {
  12559. LODOP.PREVIEW();
  12560. } else if (printType == 2) {
  12561. LODOP.PRINT_SETUP();
  12562. }
  12563. } else {
  12564. errorMesage(res);
  12565. }
  12566. }
  12567. });
  12568. }
  12569. /**
  12570. * 打印门诊病历
  12571. * @param patientId
  12572. * @param times
  12573. * @param clnicId
  12574. * @param payMark
  12575. * @param printType 打印模式 1 预览打印 2 打印设置
  12576. */
  12577. function printBlRecord(patientId, times, printType) {
  12578. if(printType == 1){
  12579. saveMzPrescriptionPrint(patientId,times)
  12580. }
  12581. $.ajax({
  12582. type: "GET",
  12583. url: '/thmz/getMzBlrecord?patientId=' + patientId + '&times=' + times,
  12584. contentType: "application/json;charset=UTF-8",
  12585. dataType: "json",
  12586. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  12587. success: function (res) {
  12588. if (res == '401' || res == 401) {
  12589. window.location.href = '/thmz/login/view'
  12590. return;
  12591. }
  12592. if (res.code == 0) {
  12593. setPrint();
  12594. LODOP = getLodop();
  12595. LODOP.PRINT_INITA(6, 0, "148mm", "210mm", hospitalName+"门诊病历");
  12596. LODOP.SET_PRINT_STYLE("FontSize", 9); //字体大小
  12597. //设置默认打印机
  12598. LODOP.SET_PRINTER_INDEX(printIndex);
  12599. LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "148mm");
  12600. LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "210mm");
  12601. LODOP.SET_PRINT_PAGESIZE(1, "148mm", "210mm", "CreateCustomPage");
  12602. LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "门诊病历");//对新建的纸张重命名
  12603. //intDispMode:预览比例,数字型,0-适高 1-正常大小 2-适宽
  12604. //intToolMode:工具条和按钮,数字型 0-显示(上方)工具栏 1-显示(下方)按钮栏 2-两个都显示 3-两个都不显示
  12605. //blDirectPrint: 打印按钮是否“直接打印” 1-是 0-否(弹出界面“选机打印”)
  12606. //intWidth,intHeight 窗口的宽和高,整数型,单位是px
  12607. //strTitleButtonCaptoin 预览窗口和打印按钮的名称组合,字符型,用“点”分隔
  12608. //LODOP.SET_PREVIEW_WINDOW(intDispMode,intToolMode,blDirectPrint,intWidth,intHeight,strTitleButtonCaptoin)
  12609. LODOP.SET_PREVIEW_WINDOW(0, 2, 0, 700, 900, "");
  12610. //LODOP.SET_PRINT_STYLE("FontSize", 8); //字体大小
  12611. var strStyle = "<style>table{width: 96%;} table,td,th {}</style>";
  12612. var mzPatientMi = res.mzPatientMi;
  12613. $("#patientIdBlrecord").text(mzPatientMi.patientId);
  12614. $("#patientNameBlrecord").text(mzPatientMi.name);
  12615. $("#patientGenderBlrecord").text(mzPatientMi.gender);
  12616. $("#patientAgeBlrecord").text(mzPatientMi.ageString);
  12617. var mzBlRecord = res.mzBlRecord;
  12618. if (mzBlRecord.firstOrNot == "1") {
  12619. $("#firstOrNotTitle").text("复诊");
  12620. } else {
  12621. $("#firstOrNotTitle").text("初诊");
  12622. }
  12623. if (mzBlRecord.emrChiefComplaint != null && mzBlRecord.emrChiefComplaint != "") {
  12624. $("#emrChiefComplaintBlrecord").text(mzBlRecord.emrChiefComplaint);
  12625. $("#emrChiefComplaintBlrecord").parent().css("display", "block");
  12626. } else {
  12627. $("#emrChiefComplaintBlrecord").parent().css("display", "none");
  12628. }
  12629. if (mzBlRecord.emrHpi != null && mzBlRecord.emrHpi != "") {
  12630. $("#emrHpiBlrecord").text(mzBlRecord.emrHpi);
  12631. $("#emrHpiBlrecord").parent().css("display", "block");
  12632. } else {
  12633. $("#emrHpiBlrecord").parent().css("display", "none");
  12634. }
  12635. if (mzBlRecord.emrPs != null && mzBlRecord.emrPs != "") {
  12636. $("#emrPsBlrecord").text(mzBlRecord.emrPs);
  12637. $("#emrPsBlrecord").parent().css("display", "block");
  12638. } else {
  12639. $("#emrPsBlrecord").parent().css("display", "none");
  12640. }
  12641. if (mzBlRecord.personalHistory != null && mzBlRecord.personalHistory != "") {
  12642. $("#personalHistoryBlrecord").text(mzBlRecord.personalHistory);
  12643. $("#personalHistoryBlrecord").parent().css("display", "block");
  12644. } else {
  12645. $("#personalHistoryBlrecord").parent().css("display", "none");
  12646. }
  12647. if (mzBlRecord.familyHistory != null && mzBlRecord.familyHistory != "") {
  12648. $("#familyHistoryBlrecord").text(mzBlRecord.familyHistory);
  12649. $("#familyHistoryBlrecord").parent().css("display", "block");
  12650. } else {
  12651. $("#familyHistoryBlrecord").parent().css("display", "none");
  12652. }
  12653. if (mzBlRecord.fzZl != null && mzBlRecord.fzZl != "") {
  12654. $("#fzZlBlrecord").text(mzBlRecord.fzZl);
  12655. $("#fzZlBlrecord").parent().css("display", "block");
  12656. } else {
  12657. $("#fzZlBlrecord").parent().css("display", "none");
  12658. }
  12659. if (mzBlRecord.crbHistory != null && mzBlRecord.crbHistory != "") {
  12660. $("#crbHistoryBlrecord").text(mzBlRecord.crbHistory);
  12661. } else {
  12662. $("#crbHistoryBlrecord").text('无');
  12663. }
  12664. if (mzBlRecord.obstericalHistory != null && mzBlRecord.obstericalHistory != "") {
  12665. $("#obstericalHistoryBlrecord").text(mzBlRecord.obstericalHistory);
  12666. $("#obstericalHistoryBlrecord").parent().css("display", "block");
  12667. } else {
  12668. $("#obstericalHistoryBlrecord").parent().css("display", "none");
  12669. }
  12670. var patientAllergenInfoList = res.patientAllergenInfoList;
  12671. if (patientAllergenInfoList != null && patientAllergenInfoList.length > 0) {
  12672. var zdAllergen = null;
  12673. for (var i = 0; i < patientAllergenInfoList.length; i++) {
  12674. var patientAllergenInfo = patientAllergenInfoList[i];
  12675. if (zdAllergen == null) {
  12676. zdAllergen = patientAllergenInfo.allergenName;
  12677. } else {
  12678. zdAllergen += "," + patientAllergenInfo.allergenName;
  12679. }
  12680. }
  12681. $("#zdAllergenBlrecord").text(zdAllergen);
  12682. } else {
  12683. $("#zdAllergenBlrecord").text('无');
  12684. }
  12685. var tz = getTz(mzBlRecord);
  12686. if (tz != null && tz != "") {
  12687. $("#emrPeBlrecord").text(tz);
  12688. $("#emrPeBlrecord").parent().css("display", "block");
  12689. } else {
  12690. $("#emrPeBlrecord").parent().css("display", "none");
  12691. }
  12692. // if (mzBlRecord.emrPe != null && mzBlRecord.emrPe != "") {
  12693. // $("#emrPeBlrecord").text(mzBlRecord.emrPe);
  12694. // $("#emrPeBlrecord").parent().css("display", "block");
  12695. // } else {
  12696. // $("#emrPeBlrecord").parent().css("display", "none");
  12697. // }
  12698. if (res.icdText != null && res.icdText != "") {
  12699. $("#icdTextBlrecord").text(res.icdText);
  12700. $("#icdTextBlrecord").parent().css("display", "block");
  12701. } else {
  12702. $("#icdTextBlrecord").parent().css("display", "none");
  12703. }
  12704. if (mzBlRecord.tcmIcdText != null && mzBlRecord.tcmIcdText != "") {
  12705. $("#tcmIcdTextBlrecord").text(mzBlRecord.tcmIcdText);
  12706. } else {
  12707. $("#tcmIcdTextBlrecord").text("无");
  12708. }
  12709. if (mzBlRecord.emrProcess != null && mzBlRecord.emrProcess != "") {
  12710. $("#emrProcessBlrecord").html(mzBlRecord.emrProcess);
  12711. $("#emrProcessBlrecord").parent().css("display", "block");
  12712. } else {
  12713. $("#emrProcessBlrecord").parent().css("display", "none");
  12714. }
  12715. if (mzBlRecord.emrJkjy != null && mzBlRecord.emrJkjy != "") {
  12716. $("#emrJkjyBlrecord").text(mzBlRecord.emrJkjy);
  12717. $("#emrJkjyBlrecord").parent().css("display", "block");
  12718. } else {
  12719. $("#emrJkjyBlrecord").parent().css("display", "none");
  12720. }
  12721. $("#visitDeptBlrecord").text(res.deptName);
  12722. $("#visitDateBlrecord").text(res.visitDate);
  12723. getAjaxRequst("/thmz/getDoctorSignatureImage",{doctorCode:mzBlRecord.doctorCode},false,function (hostRes) {
  12724. if(hostRes.code ==0){
  12725. $("#doctorSignBlrecord").html("<img src='" + hostRes.data + "' style='width:150px;height:25px;'/>")
  12726. }
  12727. })
  12728. //LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("mz_blrecord_card_table").innerHTML);
  12729. //上边距 左边距 宽 高
  12730. LODOP.ADD_PRINT_HTM("20mm", "5mm", "130mm", "168mm", strStyle + document.getElementById("mz_bl_content").innerHTML);
  12731. LODOP.SET_PRINT_STYLEA(0, "Vorient", 3);
  12732. LODOP.ADD_PRINT_HTM("0mm", "5mm", "130mm", "20mm", strStyle + document.getElementById("mz_bl_title").innerHTML);
  12733. LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
  12734. LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
  12735. LODOP.ADD_PRINT_HTM("190mm", "5mm", "130mm", "20mm", strStyle + document.getElementById("mz_bl_foot").innerHTML);
  12736. LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
  12737. LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
  12738. if (printType == 1) {
  12739. LODOP.PREVIEW();
  12740. } else if (printType == 2) {
  12741. LODOP.PRINT_SETUP();
  12742. }
  12743. } else {
  12744. errorMesage(res);
  12745. }
  12746. }
  12747. });
  12748. }
  12749. /**
  12750. * 打印入院通知单
  12751. * @param patientId
  12752. * @param times
  12753. * @param clnicId
  12754. * @param payMark
  12755. * @param printType 打印模式 1 预览打印 2 打印设置
  12756. */
  12757. function printZyReq(patientId, printType) {
  12758. $.ajax({
  12759. type: "GET",
  12760. url: '/thmz/printZyReq?patientId=' + patientId,
  12761. contentType: "application/json;charset=UTF-8",
  12762. dataType: "json",
  12763. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  12764. success: function (res) {
  12765. if (res == '401' || res == 401) {
  12766. window.location.href = '/thmz/login/view'
  12767. return;
  12768. }
  12769. if (res.code == 0) {
  12770. setPrint();
  12771. LODOP = getLodop();
  12772. LODOP.PRINT_INITA(6, 0, "148mm", "210mm", hospitalName+"入院通知单");
  12773. LODOP.SET_PRINT_STYLE("FontSize", 9); //字体大小
  12774. //设置默认打印机
  12775. LODOP.SET_PRINTER_INDEX(printIndex);
  12776. LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "148mm");
  12777. LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "210mm");
  12778. LODOP.SET_PRINT_PAGESIZE(1, "148mm", "210mm", "CreateCustomPage");
  12779. LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "入院通知单");//对新建的纸张重命名
  12780. //intDispMode:预览比例,数字型,0-适高 1-正常大小 2-适宽
  12781. //intToolMode:工具条和按钮,数字型 0-显示(上方)工具栏 1-显示(下方)按钮栏 2-两个都显示 3-两个都不显示
  12782. //blDirectPrint: 打印按钮是否“直接打印” 1-是 0-否(弹出界面“选机打印”)
  12783. //intWidth,intHeight 窗口的宽和高,整数型,单位是px
  12784. //strTitleButtonCaptoin 预览窗口和打印按钮的名称组合,字符型,用“点”分隔
  12785. //LODOP.SET_PREVIEW_WINDOW(intDispMode,intToolMode,blDirectPrint,intWidth,intHeight,strTitleButtonCaptoin)
  12786. LODOP.SET_PREVIEW_WINDOW(0, 2, 0, 700, 900, "");
  12787. //LODOP.SET_PRINT_STYLE("FontSize", 8); //字体大小
  12788. var strStyle = "<style>table{width: 96%;} table,td,th {}</style>";
  12789. var mzPatientMi = res.mzPatientMi;
  12790. var mzZyReq = res.mzZyReq;
  12791. $("#patientIdZyReq").text(mzPatientMi.patientId);
  12792. $("#patientNameZyReq").text(mzPatientMi.name);
  12793. $("#patientGenderZyReq").text(mzPatientMi.gender);
  12794. $("#patientAgeZyReq").text(mzPatientMi.ageString);
  12795. $("#sfzZyReq").text(mzPatientMi.socialNo);
  12796. $("#birthDateZyReq").text(format(mzPatientMi.birthDay, "yyyy-MM-dd"));
  12797. $("#phoneZyReq").text(mzPatientMi.phoneNo);
  12798. $("#responseTypeZyReq").text(mzPatientMi.responseTypeName);
  12799. $("#addressZyReq").text(mzPatientMi.address);
  12800. if (mzZyReq.icdCode == null || mzZyReq.icdCode == "" || mzZyReq.icdCode.length == 0) {
  12801. $("#icsCodeZyReq").html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
  12802. $("#icsTextZyReq").text(mzZyReq.icdText);
  12803. } else {
  12804. $("#icsCodeZyReq").text(mzZyReq.icdCode);
  12805. $("#icsTextZyReq").text(mzZyReq.icdText);
  12806. }
  12807. $("#reqDeptZyReq").text(mzZyReq.reqWardName);
  12808. $("#depositZyReq").text(mzZyReq.deposit);
  12809. $("#smallDeptZyReq").text(mzZyReq.smallDeptName);
  12810. $("#routeOfAdmissionName").text(mzZyReq.routeOfAdmissionName);
  12811. //$("#admissStatusZyReq").text(mzZyReq.admissStatus);
  12812. // $("input:checkbox[value='" + mzZyReq.admissStatus + "']").attr('checked', 'true');
  12813. $("input:checkbox[name='admissStatusZyReq']").each(function (i, e) {
  12814. $(this).removeAttr("checked");
  12815. if ($(this).val() == Number(mzZyReq.admissStatus) || $(this).val() == mzZyReq.admissStatus) {
  12816. $(this).attr("checked", true)
  12817. }
  12818. });
  12819. $("#visitDateZyReq").text(format(mzZyReq.visitDate, "yyyy-MM-dd HH:mm:ss"));
  12820. $("#deptCodeZyReq").text(mzZyReq.deptName);
  12821. getAjaxRequst("/thmz/getDoctorSignatureImage",{doctorCode:mzZyReq.doctorCode},false,function (signRes) {
  12822. if(signRes.code == 0){
  12823. $("#doctorCodeZyReq").html("<img src='" + signRes.data + "' style='width:100px;height:23px;'/>")
  12824. }else {
  12825. $("#doctorCodeZyReq").text(mzZyReq.doctorName);
  12826. }
  12827. })
  12828. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("mz_zy_req_table").innerHTML);
  12829. if (printType == 1) {
  12830. LODOP.PREVIEW();
  12831. } else if (printType == 2) {
  12832. LODOP.PRINT_SETUP();
  12833. }
  12834. } else {
  12835. errorMesage(res);
  12836. }
  12837. }
  12838. });
  12839. }
  12840. /**
  12841. * 打印门诊手术请单
  12842. * @param patientId
  12843. * @param times
  12844. * @param printType 打印模式 1 预览打印 2 打印设置
  12845. */
  12846. function printOpRecord(patientId, times, printType) {
  12847. $.ajax({
  12848. type: "GET",
  12849. url: '/thmz/printOpRecord?patientId=' + patientId + '&times=' + times,
  12850. contentType: "application/json;charset=UTF-8",
  12851. dataType: "json",
  12852. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  12853. success: function (res) {
  12854. if (res == '401' || res == 401) {
  12855. window.location.href = '/thmz/login/view'
  12856. return;
  12857. }
  12858. if (res.code == 0) {
  12859. if (res.data == null || res.data.length == 0) {
  12860. errorMesageSimaple("没有手术申请单可以打印");
  12861. return;
  12862. }
  12863. setPrint();
  12864. LODOP = getLodop();
  12865. LODOP.PRINT_INITA(6, 0, "148mm", "210mm",hospitalName+"门诊手术申请单");
  12866. LODOP.SET_PRINT_STYLE("FontSize", 13); //字体大小
  12867. //设置默认打印机
  12868. LODOP.SET_PRINTER_INDEX(printIndex);
  12869. LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "148mm");
  12870. LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "210mm");
  12871. LODOP.SET_PRINT_PAGESIZE(1, "148mm", "210mm", "CreateCustomPage");
  12872. LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "门诊手术申请单");//对新建的纸张重命名
  12873. //intDispMode:预览比例,数字型,0-适高 1-正常大小 2-适宽
  12874. //intToolMode:工具条和按钮,数字型 0-显示(上方)工具栏 1-显示(下方)按钮栏 2-两个都显示 3-两个都不显示
  12875. //blDirectPrint: 打印按钮是否“直接打印” 1-是 0-否(弹出界面“选机打印”)
  12876. //intWidth,intHeight 窗口的宽和高,整数型,单位是px
  12877. //strTitleButtonCaptoin 预览窗口和打印按钮的名称组合,字符型,用“点”分隔
  12878. //LODOP.SET_PREVIEW_WINDOW(intDispMode,intToolMode,blDirectPrint,intWidth,intHeight,strTitleButtonCaptoin)
  12879. LODOP.SET_PREVIEW_WINDOW(0, 2, 0, 700, 900, "");
  12880. //LODOP.SET_PRINT_STYLE("FontSize", 8); //字体大小
  12881. var strStyle = "<style>table{width: 96%;} table,td,th {}</style>";
  12882. var mzPatientMi = res.mzPatientMi;
  12883. $("#patientIdOpRecord").text(mzPatientMi.patientId);
  12884. $("#patientNameOpRecord").text(mzPatientMi.name);
  12885. $("#patientGenderOpRecord").text(mzPatientMi.gender);
  12886. $("#patientAgeOpRecord").text(mzPatientMi.ageString);
  12887. $("#responseTypeOpRecord").text(mzPatientMi.responseTypeName);
  12888. $("#patientCardNoOpRecord").text(mzPatientMi.icCardNo);
  12889. var needNewPageA = false;
  12890. for (var i = 0; i < res.data.length; i++) {
  12891. var obj = res.data[i];
  12892. //$("#reqNoOpRecord").text(obj.recordId);
  12893. $("#icdTextOpRecord").text(obj.diagBeforeOp);
  12894. $("#opNameOpRecord").text(obj.opName);
  12895. $("#hocusCodeOpRecord").text(obj.hocusCodeName);
  12896. $("#opScaleOpRecord").text(obj.opScaleName);
  12897. var dateStr = format(obj.applyDate, "yyyy-MM-dd HH:mm:ss");
  12898. $("#applyDateOpRecord").text(dateStr);
  12899. $("#opDatetimeOpRecord").text(obj.opDatetimeStr);
  12900. $("#doctorZdOpRecord").text(obj.doctorZdName);
  12901. $("#remarkOpRecord").text(obj.remark);
  12902. if (i > 0) {
  12903. LODOP.NewPageA();
  12904. }
  12905. JsBarcode("#JcBarcode", obj.recordId, {
  12906. lineColor: '#333', //线条颜色
  12907. width: 1, //线宽
  12908. height: 26, //条码高度
  12909. displayValue: false, //是否显示文字信息
  12910. });
  12911. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("op_record_card_table").innerHTML);
  12912. needNewPageA = true;
  12913. }
  12914. if (printType == 1) {
  12915. LODOP.PREVIEW();
  12916. } else if (printType == 2) {
  12917. LODOP.PRINT_SETUP();
  12918. }
  12919. } else {
  12920. errorMesage(res);
  12921. }
  12922. }
  12923. });
  12924. }
  12925. /**
  12926. * 打开查看检查检验报告窗口(含往期)
  12927. * @param patientId
  12928. */
  12929. function previewYjReqAll(patientId) {
  12930. $("#visitingDetailModal").modal("hide");
  12931. $("#previewYjReqModal").modal();
  12932. $("#previewYjReqModalPatientId").val(patientId);
  12933. $("#previewYjReqModalTimes").val(null);
  12934. //重置参数
  12935. retryCount = 0;
  12936. initJcJyTable();
  12937. }
  12938. /**
  12939. * 打开查看检查检验报告窗口
  12940. * @param patientId 门诊病人ID
  12941. * @param times 就诊次数
  12942. */
  12943. function previewYjReq(patientId, times) {
  12944. $("#visitingDetailModal").modal("hide");
  12945. $("#previewYjReqModal").modal();
  12946. $("#previewYjReqModalPatientId").val(patientId);
  12947. $("#previewYjReqModalTimes").val(times);
  12948. //重置参数
  12949. retryCount = 0;
  12950. initJcJyTable();
  12951. }
  12952. /**
  12953. * 删除本次处方
  12954. * @param clnicId 就诊记录id
  12955. */
  12956. function deletePrescription(clnicId) {
  12957. $("#visitingDetailModal").modal("hide");
  12958. $("#messageModal").modal();
  12959. $("#messageContent").html("确认要删除本次处方信息吗?");
  12960. $("#messageButton").off("click").on("click", function (t) {
  12961. $("#messageModal").modal("hide");
  12962. $.ajax({
  12963. type: "GET",
  12964. url: '/thmz/deletePrescription?clnicId=' + clnicId,
  12965. contentType: "application/json;charset=UTF-8",
  12966. dataType: "json",
  12967. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  12968. success: function (res) {
  12969. if (res == '401' || res == 401) {
  12970. window.location.href = '/thmz/login/view'
  12971. return;
  12972. }
  12973. if (res.code == 0) {
  12974. successMesage(res);
  12975. $("#tb_table_clinic").bootstrapTable('refresh');
  12976. } else {
  12977. errorMesage(res);
  12978. }
  12979. }
  12980. });
  12981. });
  12982. $("#cancelButton").off("click").on("click", function (t) {
  12983. $("#visitingDetailModal").modal();
  12984. });
  12985. ;
  12986. }
  12987. /**
  12988. * 检查检验列表类型按钮切换事件
  12989. * @param object
  12990. */
  12991. function jcjyButtonChange(object) {
  12992. $("#jcjy_group").find("button").each(function (index, element) {
  12993. if ($(element).hasClass("btn-primary")) {
  12994. $(element).removeClass("btn-primary").addClass("btn-default");
  12995. }
  12996. });
  12997. $(object).removeClass("btn-default").addClass("btn-primary");
  12998. initJcJyTable();
  12999. }
  13000. /**
  13001. * 初始化检查检验报告列表
  13002. */
  13003. function initJcJyTable() {
  13004. clearInspectionDetail();
  13005. clearJcDetail();
  13006. var typeIndex = getIndex("jcjy_group");
  13007. if (typeIndex == 0) {
  13008. //检查
  13009. $('#tb_jy_pName_table_list').bootstrapTable("destroy");
  13010. $('#tb_jy_table_list').bootstrapTable("destroy");
  13011. initJcListTable();
  13012. $("#jy_detail").removeClass("in").addClass("hide");
  13013. $("#jc_detail").removeClass("hide").addClass("in");
  13014. } else {
  13015. $('#tb_table_list').bootstrapTable("destroy");
  13016. initJyListTable();
  13017. $("#jc_detail").removeClass("in").addClass("hide");
  13018. $("#jy_detail").removeClass("hide").addClass("in");
  13019. }
  13020. }
  13021. /**
  13022. * 初始化检查报告列表
  13023. */
  13024. function initJcListTable() {
  13025. $('#tb_table_list').bootstrapTable("destroy");
  13026. $('#tb_table_list').bootstrapTable({
  13027. url: '/thmz/getJcJyList', //请求后台的URL(*)
  13028. method: 'post', //请求方式(*)
  13029. toolbar: '#toolbar', //工具按钮用哪个容器
  13030. striped: true, //是否显示行间隔色
  13031. cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  13032. pagination: true, //是否显示分页(*)
  13033. sortable: true, //是否启用排序
  13034. sortOrder: "asc", //排序方式
  13035. queryParams: queryParams, //传递参数(*)
  13036. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  13037. pageNumber: 1, //初始化加载第一页,默认第一页
  13038. pageSize: 5, //每页的记录行数(*)
  13039. pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  13040. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  13041. strictSearch: true,
  13042. showColumns: false, //是否显示所有的列
  13043. showRefresh: false, //是否显示刷新按钮
  13044. minimumCountColumns: 2, //最少允许的列数
  13045. clickToSelect: true, //是否启用点击选中行
  13046. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  13047. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  13048. cardView: false, //是否显示详细视图
  13049. detailView: false,
  13050. //rowStyle:rowStyle,//通过自定义函数设置行样式
  13051. ajaxOptions: {
  13052. headers: {
  13053. 'Accept': 'application/json',
  13054. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  13055. }
  13056. },
  13057. columns: [
  13058. {
  13059. field: 'groupName',
  13060. title: '项目名称',
  13061. align: "center",
  13062. valign: 'middle',
  13063. }, {
  13064. field: 'reqDate',
  13065. title: '申请时间',
  13066. align: "center",
  13067. valign: 'middle',
  13068. formatter: function (value, row, index) {
  13069. if (value == null || value == "") {
  13070. return "";
  13071. }
  13072. return format(value, "yyyy-MM-dd HH:mm:ss");
  13073. }
  13074. }
  13075. ],
  13076. onClickRow: function (row) {
  13077. clearJcDetail();
  13078. $("#patientId_t").text(row.patientId);
  13079. $("#name_t").text(row.patientName);
  13080. $("#date_t").text(format(row.reqDate, "yyyy-MM-dd HH:mm:ss"));
  13081. fitJcDetail(row.reqNo, row.patientId);
  13082. },
  13083. responseHandler: function (res) {
  13084. if (res == '401' || res == 401) {
  13085. window.location.href = '/thmz/login/view'
  13086. return;
  13087. }
  13088. var ress = eval(res);
  13089. if (ress.code == -1) {
  13090. if (ress.message != null && ress.message != '') {
  13091. errorMesage(ress);
  13092. }
  13093. if (retryCount == 0) {
  13094. retryCount++;
  13095. $("#jyButton").click();
  13096. return;
  13097. }
  13098. return {
  13099. "total": 0,//总页数
  13100. "rows": {} //数据
  13101. };
  13102. }
  13103. if (ress.count <= 0 && retryCount == 0) {
  13104. retryCount++;
  13105. $("#jyButton").click();
  13106. return;
  13107. }
  13108. //有数据的时候,计数也需要加1,防止这时医生自己候点击检验没数据又跳回检查
  13109. retryCount++;
  13110. return {
  13111. "total": ress.count,//总页数
  13112. "rows": ress.data //数据
  13113. };
  13114. },
  13115. onLoadSuccess: function (data) {
  13116. $(".pagination-detail").css("display", "none");
  13117. }
  13118. });
  13119. }
  13120. /**
  13121. * 构建列表查询参数
  13122. * @param params
  13123. * @returns {{mzChargeDetail: {patientId: string | number | string[] | undefined | jQuery, warnDept: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery, payMark: number}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}}
  13124. */
  13125. function queryParams(params) {
  13126. var patientId = $("#previewYjReqModalPatientId").val();
  13127. var times = $("#previewYjReqModalTimes").val();
  13128. return {
  13129. reqType: "3",
  13130. patientId: patientId,
  13131. times: times,
  13132. pageSize: params.limit, //页面大小
  13133. pageIndex: params.offset / params.limit //页码
  13134. };
  13135. };
  13136. /**
  13137. * 加载检查明细
  13138. * @param reqNo
  13139. */
  13140. function fitJcDetail(reqNo, patientId) {
  13141. $.ajax({
  13142. type: "GET",
  13143. url: '/thmz/getYjJcRecordReport?hisReqNo=' + reqNo + "&patientId=" + patientId,
  13144. contentType: "application/json;charset=UTF-8",
  13145. dataType: "json",
  13146. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  13147. success: function (res) {
  13148. if (res == '401' || res == 401) {
  13149. window.location.href = '/thmz/login/view'
  13150. return;
  13151. }
  13152. if (res.code == 0) {
  13153. canBePrintJc = true;
  13154. $("#jy_detail").removeClass("in").addClass("hide");
  13155. $("#jc_detail").removeClass("hide").addClass("in");
  13156. var mzPatientMi = res.data.mzPatientMi;
  13157. $("#gender_jc").text(mzPatientMi.gender);
  13158. $("#age_jc").text(mzPatientMi.ageString);
  13159. var yjJcRecordReport = res.data.yjJcRecordReport;
  13160. $("#groupName").text(res.data.groupName);
  13161. $("#textJc").text(yjJcRecordReport.textJc);
  13162. $("#textZd").text(yjJcRecordReport.textZd);
  13163. var jcRecord = res.data.jcRecord;
  13164. $("#report_no").text(jcRecord.reportNo);
  13165. $("#reportId").text(jcRecord.reportId);
  13166. if (jcRecord.reportDate == null || jcRecord.reportDate == "") {
  13167. $("#reportDate").html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
  13168. } else {
  13169. $("#reportDate").text(format(jcRecord.reportDate, "yyyy-MM-dd HH:mm:ss"));
  13170. }
  13171. $("#confirmId").text(jcRecord.confirmId);
  13172. if (jcRecord.confirmDate == null || jcRecord.confirmDate == "") {
  13173. $("#confirmDate").html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
  13174. } else {
  13175. $("#confirmDate").text(format(jcRecord.confirmDate, "yyyy-MM-dd HH:mm:ss"));
  13176. }
  13177. } else {
  13178. errorMesage(res);
  13179. }
  13180. }
  13181. });
  13182. }
  13183. /**
  13184. * 清空检查明细
  13185. * @param reqNo
  13186. */
  13187. function clearJcDetail() {
  13188. canBePrintJc = false;
  13189. $("#patientId_t").text("");
  13190. $("#name_t").text("");
  13191. $("#date_t").text("");
  13192. $("#gender_jc").text("");
  13193. $("#age_jc").text("");
  13194. $("#groupName").text("");
  13195. $("#textJc").text("");
  13196. $("#textZd").text("");
  13197. $("#report_no").text("");
  13198. $("#reportId").text("");
  13199. $("#reportDate").html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
  13200. $("#confirmId").text("");
  13201. $("#confirmDate").html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
  13202. }
  13203. /**
  13204. * 初始化检验报告列表
  13205. */
  13206. function initJyListTable() {
  13207. var patientId = $("#previewYjReqModalPatientId").val();
  13208. var times = $("#previewYjReqModalTimes").val();
  13209. $('#tb_table_list').bootstrapTable("destroy");
  13210. $('#tb_table_list').bootstrapTable({
  13211. url: '/thmz/getJyListByPatientIdAndTimes?patientId=' + patientId + "&times=" + times, //请求后台的URL(*)
  13212. method: 'get', //请求方式(*)
  13213. toolbar: '#toolbar', //工具按钮用哪个容器
  13214. striped: true, //是否显示行间隔色
  13215. cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  13216. pagination: true, //是否显示分页(*)
  13217. sortable: true, //是否启用排序
  13218. sortOrder: "asc", //排序方式
  13219. //queryParams: queryJyPNameParams, //传递参数(*)
  13220. sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
  13221. pageNumber: 1, //初始化加载第一页,默认第一页
  13222. pageSize: 5, //每页的记录行数(*)
  13223. pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  13224. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  13225. strictSearch: true,
  13226. showColumns: false, //是否显示所有的列
  13227. showRefresh: false, //是否显示刷新按钮
  13228. minimumCountColumns: 2, //最少允许的列数
  13229. clickToSelect: true, //是否启用点击选中行
  13230. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  13231. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  13232. cardView: false, //是否显示详细视图
  13233. detailView: false,
  13234. //rowStyle:rowStyle,//通过自定义函数设置行样式
  13235. ajaxOptions: {
  13236. headers: {
  13237. 'Accept': 'application/json',
  13238. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  13239. }
  13240. },
  13241. columns: [
  13242. {
  13243. field: 'aply_CTNT',
  13244. title: '检验名称',
  13245. align: "center",
  13246. valign: 'middle',
  13247. }, {
  13248. field: 'ordr_CREATE_DATE',
  13249. title: '检验时间',
  13250. align: "center",
  13251. valign: 'middle',
  13252. formatter: function (value, row, index) {
  13253. if (value == null || value == "") {
  13254. return "";
  13255. }
  13256. return format(value, "yyyy-MM-dd HH:mm:ss");
  13257. }
  13258. }
  13259. ],
  13260. onClickRow: function (row) {
  13261. queryInspectionDetail(row.ordr_ID);
  13262. },
  13263. responseHandler: function (res) {
  13264. if (res == '401' || res == 401) {
  13265. window.location.href = '/thmz/login/view'
  13266. return;
  13267. }
  13268. var ress = eval(res);
  13269. if (ress.code == -1) {
  13270. if (retryCount == 0) {
  13271. retryCount++;
  13272. $("#jcButton").click();
  13273. return;
  13274. }
  13275. if (ress.message != null && ress.message != '') {
  13276. errorMesage(ress);
  13277. }
  13278. return {
  13279. "total": ress.data.length,//总页数
  13280. "rows": ress.data //数据
  13281. };
  13282. }
  13283. if (ress.data.length <= 0 && retryCount == 0) {
  13284. retryCount++;
  13285. $("#jcButton").click();
  13286. return;
  13287. }
  13288. //有数据的时候,计数也需要加1,防止这时医生自己候点击检查没数据又跳回检验
  13289. retryCount++;
  13290. return {
  13291. "total": ress.data.length,//总页数
  13292. "rows": ress.data //数据
  13293. };
  13294. },
  13295. onLoadSuccess: function (data) {
  13296. $("#jy_table_table_div").find(".pagination-detail").css("display", "none");
  13297. }
  13298. });
  13299. }
  13300. /**
  13301. * 清空检验明细
  13302. * @param orderId
  13303. */
  13304. function clearInspectionDetail() {
  13305. canBePrintJy = false;
  13306. $("#patientId_t_jy").text("");
  13307. $("#name_t_jy").text("");
  13308. $("#gender_jy").text("");
  13309. $("#age_jy").text("");
  13310. $("#reqDept_t_jy").text("");
  13311. $("#bed_no_jy").text("");
  13312. $("#smpl_jy").text("");
  13313. $("#item_jy").text("");
  13314. $("#applyDate").text("");
  13315. $("#orderCreateDate").text("");
  13316. $("#auditTime").text("");
  13317. $("#orderUsrName").text("");
  13318. $("#testUsrName").text("");
  13319. $("#auditUsrName").text("");
  13320. $("#jyBody").html("");
  13321. }
  13322. /**
  13323. * 加载检验明细
  13324. * @param orderId
  13325. */
  13326. function queryInspectionDetail(orderId) {
  13327. clearInspectionDetail();
  13328. $.ajax({
  13329. type: "GET",
  13330. url: '/thmz/getInspectionDetail?orderId=' + orderId,
  13331. contentType: "application/json;charset=UTF-8",
  13332. dataType: "json",
  13333. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  13334. success: function (res) {
  13335. if (res == '401' || res == 401) {
  13336. window.location.href = '/thmz/login/view'
  13337. return;
  13338. }
  13339. if (res.code == 0) {
  13340. canBePrintJy = true;
  13341. $("#jc_detail").removeClass("in").addClass("hide");
  13342. $("#jy_detail").removeClass("hide").addClass("in");
  13343. var mzPatientMi = res.mzPatientMi;
  13344. $("#patientId_t_jy").text(mzPatientMi.patientId);
  13345. $("#name_t_jy").text(mzPatientMi.name);
  13346. $("#gender_jy").text(mzPatientMi.gender);
  13347. $("#age_jy").text(mzPatientMi.ageString);
  13348. var html = "";
  13349. if (res.data != null) {
  13350. var inspectionHeader = res.data.inspectionHeader;
  13351. $("#reqDept_t_jy").text(inspectionHeader.dept_NAME);
  13352. $("#bed_no_jy").text(inspectionHeader.ptnt_BED_NO);
  13353. $("#smpl_jy").text(inspectionHeader.smpl_NAME);
  13354. $("#item_jy").text(inspectionHeader.aply_CNTN);
  13355. $("#applyDate").text(format(inspectionHeader.aply_DATE, "yyyy-MM-dd HH:mm:ss"));
  13356. $("#orderCreateDate").text(format(inspectionHeader.ordr_CREATE_DATE, "yyyy-MM-dd HH:mm:ss"));
  13357. $("#auditTime").text(format(inspectionHeader.audt_TIME, "yyyy-MM-dd HH:mm:ss"));
  13358. $("#orderUsrName").text(inspectionHeader.doc_NAME);
  13359. $("#testUsrName").text(inspectionHeader.test_USR_NAME);
  13360. $("#auditUsrName").text(inspectionHeader.audt_USR_NAME);
  13361. var inspectionItems = res.data.inspectionItems;
  13362. if (inspectionItems != null && inspectionItems.length > 0) {
  13363. for (var i = 0; i < inspectionItems.length; i++) {
  13364. html += "<tr>";
  13365. var obj = inspectionItems[i];
  13366. var itm_VALUE = obj.itm_VALUE;
  13367. if (itm_VALUE == null || itm_VALUE == "null") {
  13368. itm_VALUE = "";
  13369. }
  13370. itm_VALUE += (obj.itm_STR_VALUE == null || obj.itm_STR_VALUE == "null") ? "" : obj.itm_STR_VALUE;
  13371. var range = obj.range;
  13372. if (range == null || range == "null") {
  13373. range = "";
  13374. }
  13375. range += (obj.range_STR == null || obj.range_STR == "null") ? "" : obj.range_STR;
  13376. html += "<td width='25%'>" + obj.itm_NAME + "</td>";
  13377. html += "<td width='16.66%'>" + itm_VALUE + "</td>";
  13378. html += "<td width='16.66%'>" + obj.itm_UNIT + "</td>";
  13379. if (obj.itm_ALERT == null || obj.itm_ALERT == "") {
  13380. html += "<td width='16.66%'><span style=\"color:#67C23A;font-weight:bold\"></span></td>";
  13381. } else if (obj.itm_ALERT == "H") {
  13382. html += "<td width='16.66%'><span style=\"color:#F56C6C;font-weight:bold\">↑</span></td>";
  13383. } else if (obj.itm_ALERT == "L") {
  13384. html += "<td width='16.66%'><span style=\"color:#F56C6C;font-weight:bold\">↓</span></td>";
  13385. }
  13386. html += "<td width='25%'>" + range + "</td>";
  13387. html += "</tr>";
  13388. var bacteriaResults = obj.bacteriaResults;
  13389. if (bacteriaResults == null || bacteriaResults.length == 0) {
  13390. continue;
  13391. }
  13392. var bacteriaResult = bacteriaResults[0];
  13393. if (bacteriaResult == null || bacteriaResult.length == 0) {
  13394. continue;
  13395. }
  13396. var antibioticResults = bacteriaResult.antibioticResults;
  13397. if (antibioticResults == null || antibioticResults.length == 0) {
  13398. continue;
  13399. }
  13400. html += '<tr><th width="35%;" style="text-align: left;padding-left: 2%;" >抗菌药物</th><th width="20%;" style="text-align: left;">药物编码</th><th width="30%;" style="text-align: left;">MIC值</th><th width="15%;" style="text-align: left;padding-right: 2%;">敏感性</th></tr>';
  13401. for (var j = 0; j < antibioticResults.length; j++) {
  13402. var antibioticResultsObj = antibioticResults[j];
  13403. html += "<tr>";
  13404. html += "<td width='35%' style='padding-left: 2%;";
  13405. if (j == 0) {
  13406. html += "border-top: 1px solid black;";
  13407. }
  13408. html += "'>" + antibioticResultsObj.anti_NAME_CN + "</td>";
  13409. html += "<td width='20%' ";
  13410. if (j == 0) {
  13411. html += "style='border-top: 1px solid black;'";
  13412. }
  13413. html += ">" + antibioticResultsObj.anti_ABB + "</td>";
  13414. html += "<td width='25%' ";
  13415. if (j == 0) {
  13416. html += "style='border-top: 1px solid black;'";
  13417. }
  13418. html += ">" + antibioticResultsObj.anti_MIC + "</td>";
  13419. html += "<td width='20%' style='padding-right: 2%;";
  13420. if (j == 0) {
  13421. html += "border-top: 1px solid black;";
  13422. }
  13423. html += "'>" + antibioticResultsObj.anti_VALUE + "</td>";
  13424. html += "</tr>";
  13425. }
  13426. }
  13427. }
  13428. }
  13429. $("#jyBody").html(html);
  13430. } else {
  13431. errorMesage(res);
  13432. }
  13433. }
  13434. });
  13435. }
  13436. /**
  13437. * 打印检查检验报告单
  13438. * @param printType 打印模式 1 预览打印 2 打印设置
  13439. */
  13440. function printJyJcReport(printType) {
  13441. var typeIndex = getIndex("jcjy_group");
  13442. var title = "检查报告单";
  13443. if (typeIndex == 1) {
  13444. title = "检验报告单"
  13445. if (!canBePrintJy) {
  13446. warningMesageSimaple("没有任何【" + title + "】可供打印!");
  13447. return;
  13448. }
  13449. } else {
  13450. if (!canBePrintJc) {
  13451. warningMesageSimaple("没有任何【" + title + "】可供打印!");
  13452. return;
  13453. }
  13454. }
  13455. setPrint();
  13456. LODOP = getLodop();
  13457. LODOP.PRINT_INITA(6, 0, "148mm", "210mm", hospitalName + title);
  13458. LODOP.SET_PRINT_STYLE("FontSize", 7); //字体大小
  13459. //设置默认打印机
  13460. LODOP.SET_PRINTER_INDEX(printIndex);
  13461. LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "148mm");
  13462. LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "210mm");
  13463. LODOP.SET_PRINT_PAGESIZE(1, "148mm", "210mm", "CreateCustomPage");
  13464. LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", title);//对新建的纸张重命名
  13465. //intDispMode:预览比例,数字型,0-适高 1-正常大小 2-适宽
  13466. //intToolMode:工具条和按钮,数字型 0-显示(上方)工具栏 1-显示(下方)按钮栏 2-两个都显示 3-两个都不显示
  13467. //blDirectPrint: 打印按钮是否“直接打印” 1-是 0-否(弹出界面“选机打印”)
  13468. //intWidth,intHeight 窗口的宽和高,整数型,单位是px
  13469. //strTitleButtonCaptoin 预览窗口和打印按钮的名称组合,字符型,用“点”分隔
  13470. //LODOP.SET_PREVIEW_WINDOW(intDispMode,intToolMode,blDirectPrint,intWidth,intHeight,strTitleButtonCaptoin)
  13471. LODOP.SET_PREVIEW_WINDOW(0, 2, 0, 700, 900, "");
  13472. //LODOP.SET_PRINT_STYLE("FontSize", 8); //字体大小
  13473. var strStyle = "<style>table{width: 96%;} #jy_detail_content thead {border-bottom: 1px solid black;border-collapse: collapse;}</style>";
  13474. if (typeIndex == 0) {
  13475. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("jc_detail").innerHTML);
  13476. }
  13477. if (typeIndex == 1) {
  13478. LODOP.ADD_PRINT_TABLE("37mm", "5mm", "130mm", "138mm", strStyle + document.getElementById("jy_detail_content").innerHTML);
  13479. LODOP.SET_PRINT_STYLEA(0, "Vorient", 3);
  13480. LODOP.ADD_PRINT_HTM("0mm", "5mm", "130mm", "200mm", strStyle + document.getElementById("jy_detail_title").innerHTML);
  13481. LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
  13482. LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
  13483. LODOP.ADD_PRINT_HTM("177mm", "5mm", "130mm", "200mm", strStyle + document.getElementById("jy_detail_foot").innerHTML);
  13484. LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
  13485. LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
  13486. }
  13487. if (printType == 1) {
  13488. LODOP.PREVIEW();
  13489. } else if (printType == 2) {
  13490. LODOP.PRINT_SETUP();
  13491. }
  13492. }
  13493. /**
  13494. * 初始化科室下拉选
  13495. */
  13496. function initExecUnit() {
  13497. //父科室列表
  13498. $.ajax({
  13499. type: "GET",
  13500. url: '/thmz/allUnitCode',
  13501. dataType: "json",
  13502. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  13503. success: function (data) {
  13504. if (data == '401' || data == 401) {
  13505. window.location.href = '/thmz/login/view'
  13506. return;
  13507. }
  13508. $('#execUnit').empty(); //清空resText里面的所有内容
  13509. $('#zlExecUnit').empty(); //清空resText里面的所有内容
  13510. var html = '';
  13511. $.each(data.data, function (commentIndex, comment) {
  13512. html += '<option value="' + comment.code + '">' + comment.name + '(' + comment.pyCode + '-' + comment.code + ')</option>';
  13513. });
  13514. $('#execUnit').html(html);
  13515. $('#execUnit').selectpicker('refresh');
  13516. $('#zlExecUnit').html(html);
  13517. $('#zlExecUnit').selectpicker('refresh');
  13518. }
  13519. });
  13520. }
  13521. /**
  13522. * 初始化证件类型下拉选
  13523. */
  13524. function initCertificateTypeSelect() {
  13525. $.ajax({
  13526. type: "GET",
  13527. url: '/thmz/listCertificateType',
  13528. contentType: "application/json;charset=UTF-8",
  13529. dataType: "json",
  13530. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  13531. success: function (res) {
  13532. if (res == '401' || res == 401) {
  13533. window.location.href = '/thmz/login/view'
  13534. return;
  13535. }
  13536. if (res.code == 0) {
  13537. res.data.forEach(function (item, index) {
  13538. var html = '<option value="' + item.code + '">' + item.name + '</option>';
  13539. $('#rapidAcceptsUserCertificateType').append(html);
  13540. $('#editUserCertificateType').append(html);
  13541. $('#crbMainCardCertificateType').append(html);
  13542. });
  13543. $('#rapidAcceptsUserCertificateType').selectpicker('refresh');
  13544. $('#editUserCertificateType').selectpicker('refresh');
  13545. $('#crbMainCardCertificateType').selectpicker('refresh');
  13546. } else {
  13547. errorMesage(res);
  13548. }
  13549. }
  13550. });
  13551. }
  13552. /**
  13553. * 加载病历信息编辑预览
  13554. * @param patientId
  13555. * @param times
  13556. * @param type 1 编辑 2 预览
  13557. */
  13558. function showMzBlRecordModal(patientId, times, type) {
  13559. $.ajax({
  13560. type: "GET",
  13561. url: '/thmz/getMzBlrecord?patientId=' + patientId + '&times=' + times+'&type='+type,
  13562. contentType: "application/json;charset=UTF-8",
  13563. dataType: "json",
  13564. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  13565. success: function (res) {
  13566. if (res == '401' || res == 401) {
  13567. window.location.href = '/thmz/login/view'
  13568. return;
  13569. }
  13570. if (res.code == 0) {
  13571. var mzPatientMi = res.mzPatientMi;
  13572. $("#editPatientId").text(mzPatientMi.patientId);
  13573. $("#editPatientName").text(mzPatientMi.name);
  13574. $("#editPatientGender").text(mzPatientMi.gender);
  13575. $("#editPatientAge").text(mzPatientMi.ageString);
  13576. var mzBlRecord = res.mzBlRecord;
  13577. $("#editEmrChiefComplaint").val(mzBlRecord.emrChiefComplaint == null ? "" : mzBlRecord.emrChiefComplaint);
  13578. $("#editEmrHpi").val(mzBlRecord.emrHpi == null ? "" : mzBlRecord.emrHpi);
  13579. $("#editEmrPs").val(mzBlRecord.emrPs == null ? "" : mzBlRecord.emrPs);
  13580. $("#editPersonalHistory").val(mzBlRecord.personalHistory == null ? "" : mzBlRecord.personalHistory);
  13581. $("#editFamilyHistory").val(mzBlRecord.familyHistory == null ? "" : mzBlRecord.familyHistory);
  13582. $("#editFzZl").val(mzBlRecord.fzZl == null ? "" : mzBlRecord.fzZl);
  13583. $("#editCrbHistory").val(mzBlRecord.crbHistory == null ? "" : mzBlRecord.crbHistory);
  13584. $("#editObstericalHistory").val(mzBlRecord.obstericalHistory == null ? "" : mzBlRecord.obstericalHistory);
  13585. $("#editQtjc").val(mzBlRecord.emrPe == null ? "" : mzBlRecord.emrPe);
  13586. setSelectedAttr("editZd", mzBlRecord.icdCode, mzBlRecord.icdText);
  13587. setSelectedAttr("editTcmZd", mzBlRecord.tcmIcdCode, mzBlRecord.tcmIcdText);
  13588. var patientAllergenInfoList = res.patientAllergenInfoList;
  13589. if (patientAllergenInfoList != null && patientAllergenInfoList.length > 0) {
  13590. var zdAllergen = [];
  13591. var ypDitList = [];
  13592. var zdAllergenHtml = '';
  13593. var ypDitListHtml = '';
  13594. var zdAllergeCodes = null;
  13595. var zdAllergeTexts = null;
  13596. var ypDitListodes = null;
  13597. var ypDitListTexts = null;
  13598. for (var i = 0; i < patientAllergenInfoList.length; i++) {
  13599. var patientAllergenInfo = patientAllergenInfoList[i];
  13600. if (patientAllergenInfo.type == 0 || patientAllergenInfo.type == '0') {
  13601. zdAllergen[zdAllergen.length] = patientAllergenInfo.allergenCode;
  13602. zdAllergenHtml += '<option value="' + patientAllergenInfo.allergenCode + '">' + patientAllergenInfo.allergenName + '</option>';
  13603. if (zdAllergeCodes == null) {
  13604. zdAllergeCodes = patientAllergenInfo.allergenCode;
  13605. zdAllergeTexts = patientAllergenInfo.allergenName;
  13606. } else {
  13607. zdAllergeCodes += "," + patientAllergenInfo.allergenCode;
  13608. zdAllergeTexts += "," + patientAllergenInfo.allergenName;
  13609. }
  13610. } else if (patientAllergenInfo.type == 1 || patientAllergenInfo.type == '1') {
  13611. ypDitList[ypDitList.length] = patientAllergenInfo.allergenCode;
  13612. ypDitListHtml += '<option value="' + patientAllergenInfo.allergenCode + '">' + patientAllergenInfo.allergenName + '</option>';
  13613. if (zdAllergeCodes == null) {
  13614. ypDitListodes = patientAllergenInfo.allergenCode;
  13615. ypDitListTexts = patientAllergenInfo.allergenName;
  13616. } else {
  13617. ypDitListodes += "," + patientAllergenInfo.allergenCode;
  13618. ypDitListTexts += "," + patientAllergenInfo.allergenName;
  13619. }
  13620. }
  13621. }
  13622. $("#editZdAllergen").empty();
  13623. $('#editZdAllergen').append(zdAllergenHtml);
  13624. $('#editZdAllergen').selectpicker('refresh');
  13625. $("#editYpDitList").empty();
  13626. $('#editYpDitList').append(ypDitListHtml);
  13627. $('#editYpDitList').selectpicker('refresh');
  13628. $("#editZdAllergen").selectpicker('val', zdAllergen);
  13629. $("#editZdAllergen").selectpicker('refresh');
  13630. $("#editYpDitList").selectpicker('val', ypDitList);
  13631. $("#editYpDitList").selectpicker('refresh');
  13632. $("#editZdAllergen").attr("selectedCodes", zdAllergeCodes);
  13633. $("#editZdAllergen").attr("selectedTexts", zdAllergeTexts);
  13634. $("#editYpDitList").attr("selectedCodes", ypDitListodes);
  13635. $("#editYpDitList").attr("selectedTexts", ypDitListTexts);
  13636. }
  13637. var tentativeDiagnosis = mzBlRecord.tentativeDiagnosis == null ? "" : mzBlRecord.tentativeDiagnosis;
  13638. if ((mzBlRecord.icdCode == null || mzBlRecord.icdCode == "") && mzBlRecord.icdText != null && mzBlRecord.icdText != "") {
  13639. if (tentativeDiagnosis == null || tentativeDiagnosis == "") {
  13640. tentativeDiagnosis = mzBlRecord.icdText;
  13641. } else {
  13642. tentativeDiagnosis = mzBlRecord.icdText + " " + tentativeDiagnosis;
  13643. }
  13644. }
  13645. $("#edittentativeDiagnosis").val(tentativeDiagnosis);
  13646. $("#editEmrJkjy").val(mzBlRecord.emrJkjy == null ? "" : mzBlRecord.emrJkjy);
  13647. $("#bl_weight").val(mzBlRecord.weight == 0 ? null : mzBlRecord.weight);
  13648. $("#bl_temperature").val(mzBlRecord.temperature == 0 ? null : mzBlRecord.temperature);
  13649. $("#bl_sphygmus").val(mzBlRecord.sphygmus == 0 ? null : mzBlRecord.sphygmus);
  13650. $("#bl_breathe").val(mzBlRecord.breathe == 0 ? null : mzBlRecord.breathe);
  13651. $("#bl_pressure_high").val(mzBlRecord.pressureHigh == 0 ? null : mzBlRecord.pressureHigh);
  13652. $("#bl_pressure_floor").val(mzBlRecord.pressureFloor == 0 ? null : mzBlRecord.pressureFloor);
  13653. $("#bl_pressure_high_left").val(mzBlRecord.pressureHighLeft == 0 ? null : mzBlRecord.pressureHighLeft);
  13654. $("#bl_pressure_floor_left").val(mzBlRecord.pressureFloorLeft == 0 ? null : mzBlRecord.pressureFloorLeft);
  13655. if (mzBlRecord.emrProcess != null && mzBlRecord.emrProcess != "") {
  13656. var reg = new RegExp("</br>", "g");//g,表示全部替换。
  13657. var editEmrProcess = mzBlRecord.emrProcess.replace(reg, "\n");
  13658. reg = new RegExp("&nbsp;", "g");//g,表示全部替换。
  13659. editEmrProcess = editEmrProcess.replace(reg, "");
  13660. $("#editEmrProcess").val(editEmrProcess);
  13661. } else {
  13662. $("#editEmrProcess").val("");
  13663. }
  13664. if (type == 1) {
  13665. $("#mzBlRecorTitle").html("门诊病历【编辑】");
  13666. $("#setOtherEmrProcess").removeClass("in").addClass("hide");
  13667. $("#openBlRecordModel").removeClass("hide").addClass("in");
  13668. $("#setEmrProcess").removeClass("hide").addClass("in");
  13669. $("#visitingDetailModal").modal("hide");
  13670. } else if (type == 2) {
  13671. $("#mzBlRecorTitle").html("门诊病历【预览】");
  13672. $("#setOtherEmrProcess").removeClass("hide").addClass("in");
  13673. $("#openBlRecordModel").removeClass("in").addClass("hide");
  13674. $("#setEmrProcess").removeClass("in").addClass("hide");
  13675. //因为预览的时候,关闭预览框没有清空数据,且 此时基础数据的病历次数被清空
  13676. if ($("#mzBlTimes").val() != null && $("#mzBlTimes").val() != "" && ($("#baseMzBlTimes").val() == null || $("#baseMzBlTimes").val() == "")) {
  13677. $("#baseMzBlTimes").val($("#mzBlTimes").val());
  13678. }
  13679. $("#otherBlRecordModal").modal("hide");
  13680. }
  13681. $("#mzBlTimes").val(mzBlRecord.times);
  13682. $("#editMzBlRecordModal").modal();
  13683. } else {
  13684. errorMesage(res);
  13685. }
  13686. }
  13687. });
  13688. }
  13689. /**
  13690. * 清空区域
  13691. */
  13692. function clearInput() {
  13693. //编辑病历的时候,没有基础病历的就诊次数,如果是预览病历的时候,有基础病历的次数
  13694. var baseMzBlTimes = $("#baseMzBlTimes").val();
  13695. $("#editPatientId").text(null);
  13696. $("#editPatientName").text(null);
  13697. $("#editPatientGender").text(null);
  13698. $("#editPatientAge").text(null);
  13699. $("#editEmrChiefComplaint").val(null);
  13700. $("#editEmrHpi").val(null);
  13701. $("#editEmrPs").val(null);
  13702. $("#editPersonalHistory").val(null);
  13703. $("#editFamilyHistory").val(null);
  13704. $("#editFzZl").val(null);
  13705. $("#editCrbHistory").val(null);
  13706. $("#editObstericalHistory").val(null);
  13707. $("#bl_weight").val(null);
  13708. $("#bl_sphygmus").val(null);
  13709. $("#bl_breathe").val(null);
  13710. $("#bl_pressure_high").val(null);
  13711. $("#bl_pressure_floor").val(null);
  13712. $("#bl_pressure_high_left").val(null);
  13713. $("#bl_pressure_floor_left").val(null);
  13714. $("#editQtjc").val(null);
  13715. $("#editZd").selectpicker('val', null);
  13716. $("#editZd").selectpicker('refresh');
  13717. $("#editTcmZd").selectpicker('val', null);
  13718. $("#editTcmZd").selectpicker('refresh');
  13719. $("#edittentativeDiagnosis").val(null);
  13720. $("#editEmrProcess").val(null);
  13721. $("#editEmrJkjy").val(null);
  13722. $("#mzBlTimes").val(null);
  13723. if (baseMzBlTimes != null && baseMzBlTimes != "") {
  13724. $("#otherBlRecordModal").modal();
  13725. }
  13726. }
  13727. /**
  13728. * 保存门诊病历
  13729. */
  13730. function setEmrProcess() {
  13731. $("#editMzBlRecordModal").modal("hide");
  13732. $("#messageModal").modal();
  13733. $("#messageContent").html("确认修改当前门诊病历吗?");
  13734. $("#messageButton").off("click").on("click", function (t) {
  13735. $("#messageModal").modal("hide");
  13736. sendEmrProcess();
  13737. });
  13738. $("#cancelButton").off("click").on("click", function (t) {
  13739. $("#editMzBlRecordModal").modal();
  13740. });
  13741. }
  13742. /**
  13743. * 提交保存门诊病历
  13744. */
  13745. function sendEmrProcess() {
  13746. //修改告警人员
  13747. var icdCodes = $("#editZd").val();
  13748. var icdCodeStr = null;
  13749. if (icdCodes != null && icdCodes.length > 0) {
  13750. for (var i = 0; i < icdCodes.length; i++) {
  13751. if (icdCodeStr == null) {
  13752. icdCodeStr = icdCodes[i];
  13753. } else {
  13754. icdCodeStr += "," + icdCodes[i];
  13755. }
  13756. }
  13757. }
  13758. //中医诊断
  13759. let tcmIcdCodes = $("#editTcmZd").val();
  13760. let tcmIcdCodeStr = null;
  13761. if (tcmIcdCodes != null && tcmIcdCodes.length > 0) {
  13762. for (let i = 0; i < tcmIcdCodes.length; i++) {
  13763. if (tcmIcdCodeStr == null) {
  13764. tcmIcdCodeStr = tcmIcdCodes[i];
  13765. } else {
  13766. tcmIcdCodeStr += "," + tcmIcdCodes[i];
  13767. }
  13768. }
  13769. }
  13770. //设置过敏源
  13771. var patientAllergenInfoList = [];
  13772. var zdAllergen = $("#editZdAllergen").val();
  13773. var ypDitList = $("#editYpDitList").val();
  13774. if (zdAllergen != null && zdAllergen.length > 0) {
  13775. for (var i = 0; i < zdAllergen.length; i++) {
  13776. var tempJson = JSON.parse('{}');
  13777. tempJson.allergenCode = zdAllergen[i];
  13778. tempJson.type = 0;
  13779. patientAllergenInfoList[patientAllergenInfoList.length] = tempJson;
  13780. }
  13781. }
  13782. if (ypDitList != null && ypDitList.length > 0) {
  13783. for (var i = 0; i < ypDitList.length; i++) {
  13784. var tempJson = JSON.parse('{}');
  13785. tempJson.allergenCode = ypDitList[i];
  13786. tempJson.type = 1;
  13787. patientAllergenInfoList[patientAllergenInfoList.length] = tempJson;
  13788. }
  13789. }
  13790. $.ajax({
  13791. type: "POST",
  13792. url: '/thmz/setEmrProcess',
  13793. contentType: "application/json;charset=UTF-8",
  13794. dataType: "json",
  13795. data: JSON.stringify({
  13796. "patientId": $("#editPatientId").text(),
  13797. "times": $("#mzBlTimes").val(),
  13798. "emrChiefComplaint": $("#editEmrChiefComplaint").val(),
  13799. "emrHpi": $("#editEmrHpi").val(),
  13800. "emrPs": $("#editEmrPs").val(),
  13801. "personalHistory": $("#editPersonalHistory").val(),
  13802. "familyHistory": $("#editFamilyHistory").val(),
  13803. "fzZl": $("#editFzZl").val(),
  13804. "crbHistory": $("#editCrbHistory").val(),
  13805. "obstericalHistory": $("#editObstericalHistory").val(),
  13806. "emrPe": $("#editQtjc").val(),
  13807. "weight": $("#bl_weight").val(),
  13808. "temperature": $("#bl_temperature").val(),
  13809. "sphygmus": $("#bl_sphygmus").val(),
  13810. "breathe": $("#bl_breathe").val(),
  13811. "pressureHigh": $("#bl_pressure_high").val(),
  13812. "pressureFloor": $("#bl_pressure_floor").val(),
  13813. "pressureHighLeft": $("#bl_pressure_high_left").val(),
  13814. "pressureFloorLeft": $("#bl_pressure_floor_left").val(),
  13815. "icdCode": icdCodeStr,
  13816. "tcmIcdCode": tcmIcdCodeStr,
  13817. "icdText": $('#editZd').next().attr("title"),
  13818. "tcmIcdText": $('#editTcmZd').next().attr("title"),
  13819. "tentativeDiagnosis": $("#edittentativeDiagnosis").val(),
  13820. "emrJkjy": $("#editEmrJkjy").val(),
  13821. "emrProcess": $("#editEmrProcess").val(),
  13822. "patientAllergenInfoList": patientAllergenInfoList
  13823. }),
  13824. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  13825. success: function (res) {
  13826. if (res == '401' || res == 401) {
  13827. window.location.href = '/thmz/login/view'
  13828. return;
  13829. }
  13830. if (res.code == 0) {
  13831. clearInput();
  13832. successMesage(res);
  13833. $("#editMzBlRecordModal").modal("hide");
  13834. } else {
  13835. errorMesage(res);
  13836. }
  13837. }
  13838. });
  13839. }
  13840. /**
  13841. * 打开待合并病历列表弹框
  13842. */
  13843. function openBlRecordModel() {
  13844. $("#editMzBlRecordModal").modal("hide");
  13845. $("#otherBlRecordModal").modal();
  13846. initOtherMzBlRecordList();
  13847. }
  13848. /**
  13849. * 关闭待合并病历列表
  13850. */
  13851. function closeBlRecordModel() {
  13852. $('#baseMzBlTimes').val(null);
  13853. $("#visitingDetailModal").modal();
  13854. }
  13855. /**
  13856. * 病历列表
  13857. */
  13858. function initOtherMzBlRecordList() {
  13859. $('#other_bl_record_table').bootstrapTable("destroy");
  13860. $('#other_bl_record_table').bootstrapTable({
  13861. url: '/thmz/getMzBlRecordList', //请求后台的URL(*)
  13862. method: 'post', //请求方式(*)
  13863. toolbar: '#toolbar', //工具按钮用哪个容器
  13864. striped: true, //是否显示行间隔色
  13865. cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  13866. pagination: true, //是否显示分页(*)
  13867. sortable: true, //是否启用排序
  13868. sortOrder: "desc", //排序方式
  13869. queryParams: queryOtherParams, //传递参数(*)
  13870. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  13871. pageNumber: 1, //初始化加载第一页,默认第一页
  13872. pageSize: 5, //每页的记录行数(*)
  13873. pageList: [10, 15, 25, 50, 100], //可供选择的每页的行数(*)
  13874. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  13875. strictSearch: true,
  13876. showColumns: false, //是否显示所有的列
  13877. showRefresh: false, //是否显示刷新按钮
  13878. minimumCountColumns: 2, //最少允许的列数
  13879. clickToSelect: true, //是否启用点击选中行
  13880. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  13881. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  13882. cardView: false, //是否显示详细视图
  13883. detailView: false,
  13884. //rowStyle:rowStyle,//通过自定义函数设置行样式
  13885. ajaxOptions: {
  13886. headers: {
  13887. 'Accept': 'application/json',
  13888. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  13889. }
  13890. },
  13891. columns: [
  13892. {
  13893. title: '操作',
  13894. field: 'op',
  13895. align: "center",
  13896. valign: 'middle',
  13897. formatter: function (value, row, index) {
  13898. var str = '<button type="button" class="btn btn-primary btn-sm" onclick="showMzBlRecordModal(\'' + row.patientId + '\',' + row.times + ',2)">预览<i class="fa fa-edit" style="margin-left: 10px;"></i></button>';
  13899. return [str].join('');
  13900. }
  13901. },
  13902. {
  13903. field: 'patientId',
  13904. title: '门诊ID',
  13905. align: "center",
  13906. valign: 'middle'
  13907. }, {
  13908. field: 'patientName',
  13909. title: '患者姓名',
  13910. align: "center",
  13911. valign: 'middle'
  13912. }, {
  13913. field: 'deptCode',
  13914. title: '就诊科室',
  13915. align: "center",
  13916. valign: 'middle'
  13917. }, {
  13918. field: 'doctorCode',
  13919. title: '接诊医师',
  13920. align: "center",
  13921. valign: 'middle'
  13922. }, {
  13923. field: 'firstOrNot',
  13924. title: '初/复诊',
  13925. align: "center",
  13926. valign: 'middle',
  13927. formatter: function (value, row, index) {
  13928. if (value == '1') {
  13929. return "复诊";
  13930. }
  13931. return "初诊";
  13932. }
  13933. }
  13934. , {
  13935. field: 'visitDate',
  13936. title: '就诊时间',
  13937. align: "center",
  13938. valign: 'middle',
  13939. formatter: function (value, row, index) {
  13940. if (value == null || value == "") {
  13941. return "";
  13942. }
  13943. return format(value, "yyyy-MM-dd HH:mm:ss");
  13944. }
  13945. }
  13946. ],
  13947. responseHandler: function (res) {
  13948. if (res == '401' || res == 401) {
  13949. window.location.href = '/thmz/login/view'
  13950. return;
  13951. }
  13952. var ress = eval(res);
  13953. if (ress.code == -1) {
  13954. if (ress.message != null && ress.message != '') {
  13955. errorMesage(ress);
  13956. }
  13957. return {
  13958. "total": 0,//总页数
  13959. "rows": {} //数据
  13960. };
  13961. }
  13962. return {
  13963. "total": ress.total,//总页数
  13964. "rows": ress.data //数据
  13965. };
  13966. },
  13967. });
  13968. }
  13969. /**
  13970. * 构建列表查询参数
  13971. * @param params
  13972. * @returns {{mzChargeDetail: {patientId: string | number | string[] | undefined | jQuery, warnDept: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery, payMark: number}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}}
  13973. */
  13974. function queryOtherParams(params) {
  13975. var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
  13976. patientId: $("#editPatientId").text(),
  13977. exceptTimes: $("#mzBlTimes").val(),
  13978. pageSize: params.limit, //页面大小
  13979. pageIndex: params.offset / params.limit, //页码
  13980. };
  13981. return temp;
  13982. }
  13983. /**
  13984. * 提取处理意见保存
  13985. */
  13986. function setOtherEmrProcess() {
  13987. $("#editMzBlRecordModal").modal("hide");
  13988. $("#messageModal").modal();
  13989. $("#messageContent").html("确定要执行此次提取处理意见操作吗?");
  13990. $("#messageButton").off("click").on("click", function (t) {
  13991. $("#messageModal").modal("hide");
  13992. $.ajax({
  13993. type: "GET",
  13994. url: '/thmz/extractEmrProcess?patientId=' + $("#editPatientId").html() + '&baseTimes=' + $("#baseMzBlTimes").val() + '&times=' + $("#mzBlTimes").val(),
  13995. contentType: "application/json;charset=UTF-8",
  13996. dataType: "json",
  13997. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  13998. success: function (res) {
  13999. if (res == '401' || res == 401) {
  14000. window.location.href = '/thmz/login/view'
  14001. return;
  14002. }
  14003. if (res.code == 0) {
  14004. successMesage(res);
  14005. $("#editMzBlRecordModal").modal("hide");
  14006. } else {
  14007. errorMesage(res);
  14008. }
  14009. }
  14010. });
  14011. });
  14012. $("#cancelButton").off("click").on("click", function (t) {
  14013. $("#editMzBlRecordModal").modal();
  14014. });
  14015. }
  14016. /**
  14017. * 医保电子凭证读卡
  14018. * @param params
  14019. */
  14020. function siReadCard(params) {
  14021. $.ajax({
  14022. type: "GET",
  14023. url: params && params.startsWith('jiangsu_qrcode') ? 'http://localhost:8321/api/entry?param=' + params : 'http://localhost:8321/readcard/entry?param=' + params,
  14024. contentType: "application/json;charset=UTF-8",
  14025. dataType: "json",
  14026. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14027. success: function (res) {
  14028. if (res == '401' || res == 401) {
  14029. window.location.href = '/thmz/login/view'
  14030. return;
  14031. }
  14032. //console.log(res);
  14033. if (res.code == 200) {
  14034. var data = JSON.parse(res.data);
  14035. queryUserInfoBySocialNoNotFillPatient('rapidAcceptsUserCardNo', "" + data.data.idNo + "", queryUserInfoByCardNo, 'rapidAcceptsModal');
  14036. } else {
  14037. errorMesage(res);
  14038. }
  14039. }
  14040. });
  14041. // window.open('ReadCard://'+prm, '_self')
  14042. }
  14043. /**
  14044. * 西药品类按钮点击事件 因为原插件有点未解决bug,点击title的时候,加载的列表非对应的,
  14045. * @param paneId
  14046. */
  14047. function xyTableOnClick(paneId) {
  14048. setTimeout(function () {
  14049. $("#xyTabContent div.tab-pane").each(function (index, obj) {
  14050. var targetId = $(obj).attr("id");
  14051. //如果处方内容是空的,就删除没有处方
  14052. if ($(obj).find("div.cf_content").children().length == 0) {
  14053. $(obj).remove();
  14054. $("[href='#" + targetId + "']").parent().remove();
  14055. } else if (targetId == paneId) {
  14056. $(obj).addClass("active").addClass("in");
  14057. } else {
  14058. $(obj).removeClass("active").removeClass("in");
  14059. }
  14060. });
  14061. }, 400);
  14062. }
  14063. /**
  14064. * 打开转诊弹层
  14065. */
  14066. function transferTreatment() {
  14067. $("#turnDept").selectpicker({
  14068. size: 5
  14069. });
  14070. $("#turnToConsultationTitle").html("转诊");
  14071. $("#opType").val(1);
  14072. $("#turnToConsultationDoctorDiv").removeClass("hide").addClass("in");
  14073. $("#turnDeptDiv").removeClass("hide").addClass("in");
  14074. $("#consultationDeptDiv").removeClass("in").addClass("hide");
  14075. //科室列表
  14076. $.ajax({
  14077. type: "GET",
  14078. url: '/thmz/getUnitCodeByRequestDay',
  14079. dataType: "json",
  14080. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14081. success: function (data) {
  14082. if (data == '401' || data == 401) {
  14083. window.location.href = '/thmz/login/view'
  14084. return;
  14085. }
  14086. var html = '';
  14087. $.each(data.data, function (commentIndex, comment) {
  14088. html += '<option value="' + comment.code + '">' + comment.name + '(' + comment.pyCode + ')</option>';
  14089. });
  14090. $('#turnDept').empty();
  14091. $('#turnDept').html(html);
  14092. $('#turnDept').selectpicker('refresh');
  14093. }
  14094. });
  14095. $("#turnToConsultationModal").modal();
  14096. }
  14097. /**
  14098. * 打开会诊弹层
  14099. */
  14100. function consultation() {
  14101. $("#consultationDept").selectpicker({
  14102. size: 5
  14103. });
  14104. $("#turnToConsultationTitle").html("发起会诊");
  14105. $("#opType").val(2);
  14106. $("#turnToConsultationDoctorDiv").removeClass("in").addClass("hide");
  14107. $("#consultationDeptDiv").removeClass("hide").addClass("in");
  14108. $("#turnDeptDiv").removeClass("in").addClass("hide");
  14109. //科室列表
  14110. $.ajax({
  14111. type: "GET",
  14112. url: '/thmz/allMzUnitCode',
  14113. dataType: "json",
  14114. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14115. success: function (res) {
  14116. if (res == '401' || res == 401) {
  14117. window.location.href = '/thmz/login/view'
  14118. return;
  14119. }
  14120. var html = '';
  14121. $.each(res.data, function (commentIndex, comment) {
  14122. html += '<option value="' + comment.code + '">' + comment.name + '(' + comment.pyCode + ')</option>';
  14123. });
  14124. $('#consultationDept').empty();
  14125. $('#consultationDept').html(html);
  14126. $('#consultationDept').selectpicker('refresh');
  14127. $.ajax({
  14128. type: "GET",
  14129. url: '/thmz/getUnConsultation?serialNo=' + $("#mzfzSerialNoInClick").val(),
  14130. dataType: "json",
  14131. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14132. success: function (res) {
  14133. if (res == '401' || res == 401) {
  14134. window.location.href = '/thmz/login/view'
  14135. return;
  14136. }
  14137. var data = res.data;
  14138. if (data != null && data.length > 0) {
  14139. $('#consultationDept').selectpicker('val', data);
  14140. $('#consultationDept').selectpicker('refresh');
  14141. }
  14142. }
  14143. });
  14144. }
  14145. });
  14146. $("#turnToConsultationModal").modal();
  14147. }
  14148. /**
  14149. * 清空转诊和发起会诊区域
  14150. */
  14151. function clearTurnToConsultationInput() {
  14152. $("#turnDept").selectpicker('val', null);
  14153. $("#turnDept").selectpicker('refresh');
  14154. $("#consultationDept").selectpicker('val', null);
  14155. $("#consultationDept").selectpicker('refresh');
  14156. $("#turnToConsultationDoctor").selectpicker('val', null);
  14157. $("#turnToConsultationDoctor").selectpicker('refresh');
  14158. $("#turnToConsultationId").val(null);
  14159. $("#opType").val(null);
  14160. $("#turnToConsultationDoctorDiv").removeClass("in").addClass("hide");
  14161. $("#turnDeptDiv").removeClass("in").addClass("hide");
  14162. $("#consultationDeptDiv").removeClass("in").addClass("hide");
  14163. }
  14164. /**
  14165. * 清空门诊统筹额外内容区域
  14166. */
  14167. function clearExpContentRequired() {
  14168. $("#mdtrtGrpType").selectpicker('val', null);
  14169. $("#mdtrtGrpType").selectpicker('refresh');
  14170. $("#trumFlag").selectpicker('val', null);
  14171. $("#trumFlag").selectpicker('refresh');
  14172. $("#relTtpFlag").selectpicker('val', null);
  14173. $("#relTtpFlag").selectpicker('refresh');
  14174. $("#otpErReflFlag").selectpicker('val', null);
  14175. $("#otpErReflFlag").selectpicker('refresh');
  14176. }
  14177. /**
  14178. * 清空门诊统筹支付参数区域
  14179. */
  14180. function clearZgtczfInput() {
  14181. $("#zgmztczf").selectpicker('val', null);
  14182. $("#zgmztczf").selectpicker('refresh');
  14183. $("#grzhzf").selectpicker('val', null);
  14184. $("#grzhzf").selectpicker('refresh');
  14185. $("#readCardResult").val(null);
  14186. }
  14187. /**
  14188. * 保存转诊/会诊
  14189. */
  14190. function setTurnToConsultation() {
  14191. $("#turnToConsultationModal").modal("hide");
  14192. $("#messageModal").modal();
  14193. var opType = $("#opType").val();
  14194. var targetDeptNo = $("#turnDept").val();
  14195. var title = "确认提交转诊操作吗,提交后您将无法继续接诊该患者?";
  14196. if (opType == 2 || opType == "2") {
  14197. title = "确认提交本次会诊操作吗?";
  14198. var consultationDept = $("#consultationDept").val();
  14199. if (consultationDept != null && consultationDept.length > 0) {
  14200. targetDeptNo = null;
  14201. for (var i = 0; i < consultationDept.length; i++) {
  14202. if (targetDeptNo == null) {
  14203. targetDeptNo = consultationDept[i];
  14204. } else {
  14205. targetDeptNo += "," + consultationDept[i];
  14206. }
  14207. }
  14208. }
  14209. }
  14210. $("#messageContent").html(title);
  14211. $("#messageButton").off("click").on("click", function (t) {
  14212. $("#messageModal").modal("hide");
  14213. $.ajax({
  14214. type: "POST",
  14215. url: '/thmz/saveTurnToConsultation',
  14216. contentType: "application/json;charset=UTF-8",
  14217. dataType: "json",
  14218. data: JSON.stringify({
  14219. "id": $("#turnToConsultationId").val(),
  14220. "opType": opType,
  14221. "targetDeptNo": targetDeptNo,
  14222. "targetDoctorNo": $("#turnToConsultationDoctor").val(),
  14223. "serialNo": $("#mzfzSerialNoInClick").val(),
  14224. "remark": $("#turnToConsultationRemark").val(),
  14225. }),
  14226. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14227. success: function (res) {
  14228. if (res == '401' || res == 401) {
  14229. window.location.href = '/thmz/login/view'
  14230. return;
  14231. }
  14232. if (res.code == 0) {
  14233. successMesage(res);
  14234. clearTurnToConsultationInput();
  14235. if (opType == 1 || opType == "1") {
  14236. //加载候诊患者列表
  14237. loadUnClinicTableList();
  14238. //加载接诊中患者列表
  14239. loadInClinicTableList();
  14240. clearWorkSpace();
  14241. }
  14242. } else {
  14243. $("#turnToConsultationModal").modal();
  14244. errorMesage(res);
  14245. }
  14246. }
  14247. });
  14248. });
  14249. $("#cancelButton").off("click");
  14250. }
  14251. /**
  14252. * 初始医生下拉选
  14253. * @param ampm 时间段区间
  14254. */
  14255. function initEmployee() {
  14256. var opType = $("#opType").val();
  14257. if (opType == 2) {
  14258. return;
  14259. }
  14260. $("#turnToConsultationDoctor").selectpicker({
  14261. size: 5
  14262. });
  14263. //医生列表
  14264. $.ajax({
  14265. type: "GET",
  14266. url: '/thmz/getDoctorCodeByRequestDay?unitCode=' + $('#turnDept').val(),
  14267. dataType: "json",
  14268. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14269. success: function (res) {
  14270. if (res == '401' || res == 401) {
  14271. window.location.href = '/thmz/login/view'
  14272. return;
  14273. }
  14274. var html = '';
  14275. var defaultCode = null;
  14276. $.each(res.data, function (commentIndex, comment) {
  14277. var employeeName = comment.employee.employeeName;
  14278. if (comment.leftNum != null) {
  14279. employeeName = employeeName + " 余号(" + comment.leftNum + ")"
  14280. }
  14281. html += '<option value="' + comment.employee.employeeCode + '" data-chargeType="' + comment.chargeType + '" data-checkFee="' + comment.checkFee + '" data-mzyRequestId="' + comment.mzyRequestId + '">' + employeeName + '</option>';
  14282. if (res.data.length == 1) {
  14283. //如果只有一个号别,默认选中
  14284. defaultCode = comment.employee.employeeCode;
  14285. }
  14286. });
  14287. $('#turnToConsultationDoctor').empty();
  14288. $('#turnToConsultationDoctor').html(html);
  14289. $('#turnToConsultationDoctor').selectpicker('refresh');
  14290. if (defaultCode != null) {
  14291. //如果有无需选择医生的选项,默认选择
  14292. $('#turnToConsultationDoctor').selectpicker('val', defaultCode);
  14293. $('#turnToConsultationDoctor').selectpicker('refresh');
  14294. }
  14295. }
  14296. });
  14297. }
  14298. /**
  14299. * 设置挂号号别
  14300. * @param patientId
  14301. * @param times
  14302. * @param reqType
  14303. */
  14304. function setMzReqType(patientId,times,reqType) {
  14305. if(stringIsBlank(reqType)){
  14306. postAjaxJsonHttpRequst("/thmz/queryMzOrderDetails",{patientId:patientId,times:times},true,function (res) {
  14307. if(res.code == 0 && res.data != null){
  14308. $("#mzReqTypeName").text(res.data.reqTypeName)
  14309. $("#mzReqType").val(res.data.reqType)
  14310. if(res.data.reqType == '45') {
  14311. $("#mzOrderTypeSelect").val('4');
  14312. $('#mzOrderTypeSelect').selectpicker('refresh');
  14313. }
  14314. }
  14315. })
  14316. }else {
  14317. getAjaxRequst("/thmz/getMzChargeTypeByCode",{code:reqType},true,function (res) {
  14318. if(res.code == 0 && res.data != null){
  14319. $("#mzReqType").val(reqType)
  14320. $("#mzReqTypeName").text(res.data.name)
  14321. if(reqType == '45'){
  14322. $("#mzOrderTypeSelect").val('4');
  14323. $('#mzOrderTypeSelect').selectpicker('refresh');
  14324. }
  14325. }
  14326. })
  14327. }
  14328. }
  14329. /**
  14330. * 选择处方类型进行效验
  14331. */
  14332. function verifyMzOrderType() {
  14333. let mzOrderTypeSelectVal = $("#mzOrderTypeSelect").val();
  14334. if(mzOrderTypeSelectVal == '3'){
  14335. if(stringIsBlank(curOpspDiseCode)){
  14336. errorMesageSimaple('不是特门病人,请先点击[查询特门]并选中特门编码!')
  14337. $("#mzOrderTypeSelect").val('1');
  14338. $('#mzOrderTypeSelect').selectpicker('refresh');
  14339. return
  14340. }
  14341. }
  14342. let mzReqTypeVal = $("#mzReqType").val()
  14343. if(mzOrderTypeSelectVal == '4' && mzReqTypeVal != '45'){
  14344. errorMesageSimaple('当前病人不是GCP实验类型,不能选择该选项!')
  14345. $("#mzOrderTypeSelect").val('1');
  14346. $('#mzOrderTypeSelect').selectpicker('refresh');
  14347. return
  14348. }
  14349. }
  14350. /**
  14351. * 初始化门诊处方类型下拉框
  14352. */
  14353. function initMzOrderTypeSelect() {
  14354. getAjaxRequst("/thmz/queryMzOrderType",{},true,function (res) {
  14355. let html = ''
  14356. $.each(res.data, function (commentIndex, comment) {
  14357. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  14358. });
  14359. $('#mzOrderTypeSelect').empty();
  14360. $('#mzOrderTypeSelect').html(html);
  14361. $('#mzOrderTypeSelect').selectpicker('refresh');
  14362. $('#mzOrderTypeSelect').val('1');
  14363. $('#mzOrderTypeSelect').selectpicker('refresh');
  14364. })
  14365. }
  14366. /**
  14367. * 选择门诊统筹支付时校验门诊诊断是否是标准诊断,校验医生是否具有医保编码
  14368. */
  14369. function verifyInsuranceInfo() {
  14370. var zgmztczf = $("#zgmztczf").val();
  14371. if (zgmztczf != null && (zgmztczf == 1 || zgmztczf == "1")) {
  14372. $('#mzOrderTypeSelect').val('2');
  14373. $('#mzOrderTypeSelect').selectpicker('refresh');
  14374. postAjaxJsonHttpRequst("/thmz/queryVisitTypeName",{patientId:$("#patientId").text()},true,function (res) {
  14375. if(res.code ==0){
  14376. if(!stringIsBlank(res.data)){
  14377. warningMesageSimaple("该患者为股东卡用户,选择医保门诊统筹将不能享受股东卡优惠,请告知患者,请悉知!")
  14378. }
  14379. }
  14380. })
  14381. var diagnoseValue = $("#diagnoseValue").val();
  14382. if (diagnoseValue == null || diagnoseValue == "" || diagnoseValue.length == 0) {
  14383. errorMesageSimaple("门诊统筹就诊必须使用标准的医保诊断,请修改诊断或者消门诊统筹选项");
  14384. // $("#zgmztczf").selectpicker('val', null);
  14385. // $("#zgmztczf").selectpicker('refresh');
  14386. return false;
  14387. }
  14388. diagnoseValue = diagnoseValue.replace(/,/g, "");
  14389. if (diagnoseValue == null || diagnoseValue == "" || diagnoseValue.length == 0) {
  14390. errorMesageSimaple("门诊统筹就诊必须使用标准的医保诊断,请修改诊断或者消门诊统筹选项");
  14391. // $("#zgmztczf").selectpicker('val', null);
  14392. // $("#zgmztczf").selectpicker('refresh');
  14393. return false;
  14394. }
  14395. var ybCode = localStorage.getItem("ybCode");
  14396. if (ybCode == null || ybCode == "" || ybCode.length == 0) {
  14397. errorMesageSimaple("您还没有医保赋码,无法进行门诊统筹接诊,请取消门诊统筹选项");
  14398. // $("#zgmztczf").selectpicker('val', null);
  14399. // $("#zgmztczf").selectpicker('refresh');
  14400. return false;
  14401. }
  14402. }else {
  14403. if($('#mzOrderTypeSelect').val() =='2'){
  14404. $('#mzOrderTypeSelect').val('1');
  14405. $('#mzOrderTypeSelect').selectpicker('refresh');
  14406. }
  14407. }
  14408. return true;
  14409. }
  14410. /**
  14411. * 已诊列表发起会诊
  14412. * @param patientId
  14413. */
  14414. function consultationCliniced(patientId) {
  14415. $.ajax({
  14416. type: "GET",
  14417. url: '/thmz/getLastClinicedFzOrder?patientId=' + patientId,
  14418. dataType: "json",
  14419. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14420. success: function (res) {
  14421. if (res == '401' || res == 401) {
  14422. window.location.href = '/thmz/login/view'
  14423. return;
  14424. }
  14425. if (res.code == 0) {
  14426. $("#visitingDetailModal").modal("hide");
  14427. $("#mzfzSerialNoInClick").val(res.data.serialNo);
  14428. consultation();
  14429. } else {
  14430. errorMesage(res);
  14431. }
  14432. }
  14433. });
  14434. }
  14435. /**
  14436. * 计算诊疗金额
  14437. * @param flag true ,直接计算总价, false 还要计算总量
  14438. */
  14439. function calculateZl(flag) {
  14440. if (!flag) {
  14441. var itemQuantity = $("#itemQuantity").val();
  14442. if (itemQuantity == null) {
  14443. return;
  14444. }
  14445. var dayZlNum = $("#dayZlNum").val();
  14446. if (dayZlNum == null) {
  14447. return;
  14448. }
  14449. //频率
  14450. var times = $('#orderFrequencyZl').find("option:selected").attr('desc');
  14451. if (times == null) {
  14452. return;
  14453. }
  14454. var totalNumZl = Multiply(Multiply(itemQuantity, dayZlNum), times);
  14455. $("#totalNumZl").val(totalNumZl);
  14456. }
  14457. //总量
  14458. var totalNumZl = $("#totalNumZl").val();
  14459. if (totalNumZl == null) {
  14460. return;
  14461. }
  14462. //单价
  14463. var zlItemPrice = $("#zlItemPrice").val();
  14464. if (zlItemPrice == null) {
  14465. return;
  14466. }
  14467. $("#totalAmountZl").val(Multiply(totalNumZl, zlItemPrice));
  14468. }
  14469. /**
  14470. *打印外伤无第三方责任承诺书
  14471. */
  14472. function printNoThirdParty() {
  14473. printNoThirdPartyCommon(1);
  14474. }
  14475. /**
  14476. * 打印外伤无第三方责任承诺书
  14477. * @param printType 打印模式 1 预览打印 2 打印设置
  14478. */
  14479. function printNoThirdPartyCommon(printType) {
  14480. warningMesageSimaple("请提醒患者至医保窗口审核,审核通过方能报销!");
  14481. var title = "外伤无第三方责任承诺书";
  14482. setPrint();
  14483. LODOP = getLodop();
  14484. LODOP.PRINT_INITA(6, 0, "148mm", "210mm", hospitalName + title);
  14485. LODOP.SET_PRINT_STYLE("FontSize", 7); //字体大小
  14486. //设置默认打印机
  14487. LODOP.SET_PRINTER_INDEX(printIndex);
  14488. LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "148mm");
  14489. LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "210mm");
  14490. LODOP.SET_PRINT_PAGESIZE(1, "148mm", "210mm", "CreateCustomPage");
  14491. LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", title);//对新建的纸张重命名
  14492. LODOP.SET_PREVIEW_WINDOW(0, 2, 0, 700, 900, "");
  14493. //LODOP.SET_PRINT_STYLE("FontSize", 8); //字体大小
  14494. // var strStyle = "<style>table{width: 96%;}</style>";
  14495. var strStyle = "<style>table{width: 96%;margin-top: 20px;margin-bottom: 10px;} table,th {border-width: 1px;border-style: solid;border-collapse: collapse}</style>";
  14496. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("print_no_third_party_table").innerHTML);
  14497. if (printType == 1) {
  14498. LODOP.PREVIEW();
  14499. } else if (printType == 2) {
  14500. LODOP.PRINT_SETUP();
  14501. }
  14502. }
  14503. /**
  14504. * 打印自费承诺书
  14505. */
  14506. function printSelfPay() {
  14507. printSelfPayCommon(1);
  14508. }
  14509. /**
  14510. * 打印自费承诺书
  14511. * @param printType 打印模式 1 预览打印 2 打印设置
  14512. */
  14513. function printSelfPayCommon(printType) {
  14514. var title = "参保人员门诊统筹医保支付告知审核表";
  14515. setPrint();
  14516. LODOP = getLodop();
  14517. LODOP.PRINT_INITA(6, 0, "148mm", "210mm", hospitalName + title);
  14518. LODOP.SET_PRINT_STYLE("FontSize", 7); //字体大小
  14519. //设置默认打印机
  14520. LODOP.SET_PRINTER_INDEX(printIndex);
  14521. LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "148mm");
  14522. LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "210mm");
  14523. LODOP.SET_PRINT_PAGESIZE(1, "148mm", "210mm", "CreateCustomPage");
  14524. LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", title);//对新建的纸张重命名
  14525. LODOP.SET_PREVIEW_WINDOW(0, 2, 0, 700, 900, "");
  14526. //LODOP.SET_PRINT_STYLE("FontSize", 8); //字体大小
  14527. // var strStyle = "<style>table{width: 96%;}</style>";
  14528. //table,th {border-width: 1px;border-style: solid;border-collapse: collapse}
  14529. var strStyle = "<style>table{width: 96%;margin-top: 20px;margin-bottom: 10px;} </style>";
  14530. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("self_pay_table").innerHTML);
  14531. if (printType == 1) {
  14532. LODOP.PREVIEW();
  14533. } else if (printType == 2) {
  14534. LODOP.PRINT_SETUP();
  14535. }
  14536. }
  14537. /**
  14538. * 将科室缓存到内存中
  14539. */
  14540. function saveDeptConfig() {
  14541. var clinicDeptNo = $("#clinicDeptNo").val();
  14542. if (clinicDeptNo != null && clinicDeptNo != "") {
  14543. var userIdCode = localStorage.getItem("userIdCode");
  14544. localStorage.setItem(userIdCode, clinicDeptNo);
  14545. }
  14546. $("#selectDeptModal").modal("hide");
  14547. }
  14548. /**
  14549. * 合理用药药品说明书
  14550. */
  14551. function hlyyypsms() {
  14552. $("#western_medicine_name").webuiPopover('hide');
  14553. var code = $("#western_medicine_current_code").val();
  14554. var serial = $("#western_medicine_current_serial").val();
  14555. $("#hlyyTitle").html("药品说明书");
  14556. showHlyyModel('hlyysmsDiv', 'hlyysmsLoading', 'hlyysmsModal', "http://172.16.32.121:9097/web/sms/hpms_medi_show.aspx?his_code=" + code + "_" + serial);
  14557. }
  14558. /**
  14559. * 预约挂号
  14560. * @param patientId
  14561. */
  14562. function registration(patientId) {
  14563. clearRegistrationModal();
  14564. $("#patientIdRegistration").val(patientId);
  14565. $("#visitingDetailModal").modal('hide');
  14566. $("#registrationModal").modal();
  14567. }
  14568. /**
  14569. * 初始门诊时间区间下拉选
  14570. */
  14571. function initMzWorkTime() {
  14572. $("#ampm").selectpicker({
  14573. size: 10
  14574. });
  14575. $.ajax({
  14576. type: "GET",
  14577. url: '/thmz/getMzWorkTime',
  14578. dataType: "json",
  14579. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14580. success: function (res) {
  14581. if (res == '401' || res == 401) {
  14582. window.location.href = '/thmz/login/view'
  14583. return;
  14584. }
  14585. var html = '';
  14586. var ampm = null;
  14587. $.each(res.data, function (commentIndex, comment) {
  14588. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  14589. // if (ampm == null || (ampm != "a" && ampm != "p")) {
  14590. // var startTime = paseToFullTime(comment.startTime);
  14591. // var endTime = paseToFullTime(comment.endTime);
  14592. // if (range(startTime, endTime)) {
  14593. // ampm = comment.code;
  14594. // }
  14595. // }
  14596. });
  14597. $('#ampm').empty(); //清空resText里面的所有内容
  14598. $('#ampm').html(html);
  14599. $('#ampm').selectpicker('refresh');
  14600. // $("#ampm").selectpicker('val', ampm);
  14601. // $('#ampm').selectpicker('refresh');
  14602. initDeptPlus(1);
  14603. }
  14604. });
  14605. }
  14606. /**
  14607. * 初始科室下拉选
  14608. * @param ampm 时间段区间
  14609. */
  14610. function initDeptPlus(type) {
  14611. var ampm = $("#ampm").val();
  14612. if (type == 1) {
  14613. setAmTimes(ampm);
  14614. }
  14615. $("#deptNo").selectpicker({
  14616. size: 10
  14617. });
  14618. var apTimes = $("#apTimes").val();
  14619. //科室列表
  14620. $.ajax({
  14621. type: "GET",
  14622. url: '/thmz/getUnitCodeByRequestDayAndAmpm?ampm=' + $("#ampm").val() + '&date=' + $("#registrationTime").val() + "&apTimes=" + apTimes,
  14623. dataType: "json",
  14624. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14625. success: function (data) {
  14626. if (data == '401' || data == 401) {
  14627. window.location.href = '/thmz/login/view'
  14628. return;
  14629. }
  14630. var html = '';
  14631. $.each(data.data, function (commentIndex, comment) {
  14632. html += '<option value="' + comment.code + '">' + comment.name + '(' + comment.pyCode + ')</option>';
  14633. });
  14634. $('#deptNo').empty();
  14635. $('#deptNo').html(html);
  14636. $('#deptNo').selectpicker('refresh');
  14637. $('#chargeType').empty();
  14638. $('#chargeType').selectpicker('refresh');
  14639. emptyInput();
  14640. }
  14641. });
  14642. }
  14643. /**
  14644. * 设置时间下拉选
  14645. * @param ampm
  14646. */
  14647. function setAmTimes(ampm) {
  14648. if (ampm == "a" || ampm == "p") {
  14649. $("#apTimesDiv").removeClass("hide").addClass("in");
  14650. $("#doctorDiv").css("margin-top", "10px");
  14651. var timeHtml = null;
  14652. var defaultTime = null;
  14653. var date = new Date($("#registrationTime").val());
  14654. var currentDate = getCurrentDate();
  14655. var afterToday = date.getTime() > currentDate.getTime();
  14656. if (ampm == "a") {
  14657. if (afterToday || range(paseToFullTime("00:00"), paseToFullTime("08:30"))) {
  14658. defaultTime = "a1";
  14659. timeHtml = '<option value="a1">08:00-08:30</option><option value="a2">08:30-09:00</option><option value="a3">09:00-09:30</option><option value="a4">09:30-10:00</option><option value="a5">10:00-10:30</option><option value="a6">10:30-11:00</option><option value="a7">11:00-11:30</option><option value="a8">11:30-12:00</option>';
  14660. } else if (range(paseToFullTime("08:30"), paseToFullTime("09:00"))) {
  14661. defaultTime = "a2";
  14662. timeHtml = '<option value="a2">08:30-09:00</option><option value="a3">09:00-09:30</option><option value="a4">09:30-10:00</option><option value="a5">10:00-10:30</option><option value="a6">10:30-11:00</option><option value="a7">11:00-11:30</option><option value="a8">11:30-12:00</option>';
  14663. } else if (range(paseToFullTime("09:00"), paseToFullTime("09:30"))) {
  14664. defaultTime = "a3";
  14665. timeHtml = '<option value="a3">09:00-09:30</option><option value="a4">09:30-10:00</option><option value="a5">10:00-10:30</option><option value="a6">10:30-11:00</option><option value="a7">11:00-11:30</option><option value="a8">11:30-12:00</option>';
  14666. } else if (range(paseToFullTime("09:30"), paseToFullTime("10:00"))) {
  14667. defaultTime = "a4";
  14668. timeHtml = '<option value="a4">09:30-10:00</option><option value="a5">10:00-10:30</option><option value="a6">10:30-11:00</option><option value="a7">11:00-11:30</option><option value="a8">11:30-12:00</option>';
  14669. } else if (range(paseToFullTime("10:00"), paseToFullTime("10:30"))) {
  14670. defaultTime = "a5";
  14671. timeHtml = '<option value="a5">10:00-10:30</option><option value="a6">10:30-11:00</option><option value="a7">11:00-11:30</option><option value="a8">11:30-12:00</option>';
  14672. } else if (range(paseToFullTime("10:30"), paseToFullTime("11:00"))) {
  14673. defaultTime = "a6";
  14674. timeHtml = '<option value="a6">10:30-11:00</option><option value="a7">11:00-11:30</option><option value="a8">11:30-12:00</option>';
  14675. } else if (range(paseToFullTime("11:00"), paseToFullTime("11:30"))) {
  14676. defaultTime = "a7";
  14677. timeHtml = '<option value="a7">11:00-11:30</option><option value="a8">11:30-12:00</option>';
  14678. } else if (range(paseToFullTime("11:30"), paseToFullTime("12:00"))) {
  14679. defaultTime = "a8";
  14680. timeHtml = '<option value="a8">11:30-12:00</option>';
  14681. }
  14682. } else {
  14683. if (afterToday || range(paseToFullTime("00:00"), paseToFullTime("14:30"))) {
  14684. defaultTime = "p1";
  14685. timeHtml = '<option value="p1">14:00-14:30</option><option value="p2">14:30-15:00</option><option value="p3">15:00-15:30</option><option value="p4">15:30-16:00</option><option value="p5">16:00-16:30</option><option value="p6">16:30-17:00</option><option value="p7">17:00-17:30</option>';
  14686. } else if (range(paseToFullTime("14:30"), paseToFullTime("15:00"))) {
  14687. defaultTime = "p2";
  14688. timeHtml = '<option value="p2">14:30-15:00</option><option value="p3">15:00-15:30</option><option value="p4">15:30-16:00</option><option value="p5">16:00-16:30</option><option value="p6">16:30-17:00</option><option value="p7">17:00-17:30</option>';
  14689. } else if (range(paseToFullTime("15:00"), paseToFullTime("15:30"))) {
  14690. defaultTime = "p3";
  14691. timeHtml = '<option value="p3">15:00-15:30</option><option value="p4">15:30-16:00</option><option value="p5">16:00-16:30</option><option value="p6">16:30-17:00</option><option value="p7">17:00-17:30</option>';
  14692. } else if (range(paseToFullTime("15:30"), paseToFullTime("16:00"))) {
  14693. defaultTime = "p4";
  14694. timeHtml = '<option value="p4">15:30-16:00</option><option value="p5">16:00-16:30</option><option value="p6">16:30-17:00</option><option value="p7">17:00-17:30</option>';
  14695. } else if (range(paseToFullTime("16:00"), paseToFullTime("16:30"))) {
  14696. defaultTime = "p5";
  14697. timeHtml = '<option value="p5">16:00-16:30</option><option value="p6">16:30-17:00</option><option value="p7">17:00-17:30</option>';
  14698. } else if (range(paseToFullTime("16:30"), paseToFullTime("17:00"))) {
  14699. defaultTime = "p6";
  14700. timeHtml = '<option value="p6">16:30-17:00</option><option value="p7">17:00-17:30</option>';
  14701. } else if (range(paseToFullTime("17:00"), paseToFullTime("17:30"))) {
  14702. defaultTime = "p7";
  14703. timeHtml = '<option value="p7">17:00-17:30</option>';
  14704. }
  14705. }
  14706. $('#apTimes').html(timeHtml);
  14707. $('#apTimes').selectpicker('refresh');
  14708. $("#apTimes").selectpicker('val', defaultTime);
  14709. $('#apTimes').selectpicker('refresh');
  14710. $("#chargeTypeDiv").css("margin-top", "10px");
  14711. $("#apTimesDiv").removeClass("hide").addClass("in");
  14712. } else {
  14713. $("#apTimes").selectpicker('val', null);
  14714. $('#apTimes').selectpicker('refresh');
  14715. $("#apTimesDiv").removeClass("in").addClass("hide");
  14716. $("#chargeTypeDiv").css("margin-top", "0px");
  14717. }
  14718. }
  14719. /**
  14720. * 初始门诊号别下拉选
  14721. */
  14722. function initChargeType() {
  14723. $.ajax({
  14724. type: "GET",
  14725. url: '/thmz/getChargeTypeByRequestDayAndDoctor?unitCode=' + $('#deptNo').val() + "&ampm=" + $("#ampm").val() + '&date=' + $("#registrationTime").val() + "&apTime=" + $("#apTimes").val(),
  14726. dataType: "json",
  14727. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14728. success: function (res) {
  14729. if (res == '401' || res == 401) {
  14730. window.location.href = '/thmz/login/view'
  14731. return;
  14732. }
  14733. var html = '';
  14734. var defaultCode = null;
  14735. $.each(res.data, function (commentIndex, comment) {
  14736. if (res.data.length == 1) {
  14737. //如果只有一个号别,默认选中
  14738. defaultCode = comment.code;
  14739. }
  14740. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  14741. });
  14742. $('#chargeType').empty(); //清空resText里面的所有内容
  14743. $('#chargeType').html(html);
  14744. $('#chargeType').selectpicker('refresh');
  14745. if (defaultCode != null) {
  14746. //如果有默认选项,默认选择
  14747. $('#chargeType').selectpicker('val', defaultCode);
  14748. $('#chargeType').selectpicker('refresh');
  14749. initDoctorInfo();
  14750. }
  14751. emptyInput();
  14752. }
  14753. });
  14754. }
  14755. /**
  14756. * 初始医生下拉选
  14757. * @param ampm 时间段区间
  14758. */
  14759. function initDoctorInfo() {
  14760. $("#doctorInfo").selectpicker({
  14761. size: 10
  14762. });
  14763. //医生列表
  14764. $.ajax({
  14765. type: "GET",
  14766. url: '/thmz/getDoctorCodeByRequestDayAndDoctor?unitCode=' + $('#deptNo').val() + "&ampm=" + $("#ampm").val() + "&chargeType=" + $("#chargeType").val() + '&date=' + $("#registrationTime").val() + "&apTime=" + $("#apTimes").val(),
  14767. dataType: "json",
  14768. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14769. success: function (res) {
  14770. if (res == '401' || res == 401) {
  14771. window.location.href = '/thmz/login/view'
  14772. return;
  14773. }
  14774. var html = '';
  14775. var defaultCode = null;
  14776. $.each(res.data, function (commentIndex, comment) {
  14777. var employeeName = comment.employee.employeeName;
  14778. if (comment.leftNum != null) {
  14779. employeeName = employeeName + " 余号(" + comment.leftNum + ")"
  14780. }
  14781. html += '<option value="' + comment.employee.employeeCode + '" data-chargeType="' + comment.chargeType + '" data-checkFee="' + comment.checkFee + '" data-mzyRequestId="' + comment.mzyRequestId + '">' + employeeName + '</option>';
  14782. if (res.data.length == 1) {
  14783. //如果只有一个号别,默认选中
  14784. defaultCode = comment.employee.employeeCode;
  14785. }
  14786. });
  14787. $('#doctorInfo').empty();
  14788. $('#doctorInfo').html(html);
  14789. $('#doctorInfo').selectpicker('refresh');
  14790. //validator.checkAll($("#regi_form"));
  14791. if (defaultCode != null) {
  14792. //如果有无需选择医生的选项,默认选择
  14793. $('#doctorInfo').selectpicker('val', defaultCode);
  14794. $('#doctorInfo').selectpicker('refresh');
  14795. fitFee();
  14796. }
  14797. }
  14798. });
  14799. }
  14800. /**
  14801. * 设置挂号费等费用
  14802. */
  14803. function fitFee() {
  14804. var mzyRequestId = $('#doctorInfo').find("option:selected").attr('data-mzyRequestId');
  14805. var checkFee = $('#doctorInfo').find("option:selected").attr('data-checkFee');
  14806. $("#checkFee").val(checkFee);
  14807. $("#totalFee").val(checkFee);
  14808. $.ajax({
  14809. type: "GET",
  14810. url: '/thmz/getMzChargeTypeByMzyRequestId?mzyRequestId=' + mzyRequestId + "&birthDay=&patientId=" + $("#patientIdRegistration").val(),
  14811. dataType: "json",
  14812. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14813. success: function (res) {
  14814. if (res == '401' || res == 401) {
  14815. window.location.href = '/thmz/login/view'
  14816. return;
  14817. }
  14818. $("#registrationFee").val(res.data.reqFee);
  14819. $("#hospitalFee").val(res.data.clinicFee);
  14820. $("#othFee").val(parseFloat(res.data.othFee) - parseFloat(checkFee));
  14821. checkFee = parseFloat(res.data.reqFee) + parseFloat(res.data.clinicFee) + parseFloat(res.data.othFee);
  14822. $("#totalFee").val(checkFee);
  14823. }
  14824. });
  14825. }
  14826. /**
  14827. * 科室与时间区间下拉选改变时清空输入框内容
  14828. */
  14829. function emptyInput() {
  14830. $('#doctorInfo').empty();
  14831. $('#doctorInfo').selectpicker('refresh');
  14832. $("#registrationFee").val(0.00);
  14833. $("#hospitalFee").val(0.00);
  14834. $("#checkFee").val(0.00);
  14835. $("#othFee").val(0.00);
  14836. $("#totalFee").val(0.00);
  14837. }
  14838. /**
  14839. * 科室与时间区间下拉选改变时清空输入框内容
  14840. */
  14841. function clearRegistrationModal() {
  14842. $("#patientIdRegistration").val(null);
  14843. $("#registrationTime").val(null);
  14844. $('#ampm').selectpicker('val', null);
  14845. $('#ampm').selectpicker('refresh');
  14846. $('#deptNo').empty();
  14847. $('#deptNo').selectpicker('refresh');
  14848. $('#chargeType').empty();
  14849. $('#chargeType').selectpicker('refresh');
  14850. $('#doctorInfo').empty();
  14851. $('#doctorInfo').selectpicker('refresh');
  14852. $('#apTimes').empty();
  14853. $('#apTimes').selectpicker('refresh');
  14854. $("#registrationFee").val(0.00);
  14855. $("#hospitalFee").val(0.00);
  14856. $("#checkFee").val(0.00);
  14857. $("#othFee").val(0.00);
  14858. $("#totalFee").val(0.00);
  14859. }
  14860. /**
  14861. * 保存挂号信息
  14862. */
  14863. function saveMzyReqrecUnPay() {
  14864. $("#registrationModal").modal('hide');
  14865. $("#messageModal").modal();
  14866. $("#messageContent").html("确定提交本次预约挂号申请吗?");
  14867. $("#messageButton").off("click").bind("click", function (t) {
  14868. $("#messageModal").modal('hide');
  14869. realSaveMzyReqrecUnPay();
  14870. });
  14871. $("#cancelButton").off("click").bind("click", function (t) {
  14872. $("#messageModal").modal('hide');
  14873. $("#registrationModal").modal();
  14874. });
  14875. }
  14876. /**
  14877. * 保存挂号信息
  14878. */
  14879. function realSaveMzyReqrecUnPay() {
  14880. $("#saveRegistration").attr("disabled", true);
  14881. var mzyRequestId = $('#doctorInfo').find("option:selected").attr('data-mzyRequestId');
  14882. var patientId = $("#patientIdRegistration").val();
  14883. var totalFee = $("#totalFee").val();
  14884. $.ajax({
  14885. type: "POST",
  14886. url: '/thmz/saveMzyReqrec',
  14887. contentType: "application/json;charset=UTF-8",
  14888. dataType: "json",
  14889. data: JSON.stringify({
  14890. "mzyReqrec": {
  14891. "patientId": patientId,
  14892. "ampm": $("#ampm").val(),
  14893. "apTime": $("#apTimes").val(),
  14894. "unitCode": $("#deptNo").val(),
  14895. "chargeType": $("#chargeType").val(),
  14896. "requestDayStr": $("#registrationTime").val()
  14897. }, "mzyRequestId": mzyRequestId, "totalFee": totalFee, "payMark": "5"
  14898. }),
  14899. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14900. success: function (res) {
  14901. if (res == '401' || res == 401) {
  14902. window.location.href = '/thmz/login/view'
  14903. return;
  14904. }
  14905. if (res.code == 0) {
  14906. successMesage(res);
  14907. clearRegistrationModal();
  14908. $("#registrationModal").modal('hide');
  14909. } else {
  14910. errorMesage(res);
  14911. }
  14912. $("#saveRegistration").attr("disabled", false);
  14913. }
  14914. });
  14915. }
  14916. //打开门诊电子病历
  14917. function openEmr() {
  14918. $.ajax({
  14919. type: "GET",
  14920. url: '/thmz/getMzjsdHost',
  14921. dataType: "json",
  14922. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  14923. success: function (res) {
  14924. if (res == '401' || res == 401) {
  14925. window.location.href = '/thmz/login/view'
  14926. return;
  14927. }
  14928. if (res.code == 0) {
  14929. let times = $("#visitTimes").val();
  14930. let patientId = $("#patientId").text();
  14931. if(stringIsBlank(patientId)){
  14932. return errorMesageSimaple('门诊号不能为空,请先接诊')
  14933. }
  14934. let age = $("#patientAge").text();
  14935. let sex= $("#patientGender").text();
  14936. let userIdCode = localStorage.getItem("userIdCode");
  14937. let patNo = window.btoa(JSON.stringify({
  14938. patientId:patientId,
  14939. times: Number(times),
  14940. userIdCode:userIdCode
  14941. })
  14942. )
  14943. window.open(`${res.data}/mzEmr/${patNo}`, '_blank');
  14944. }
  14945. }
  14946. });
  14947. }
  14948. //打开pacs检查
  14949. function openPacsJc() {
  14950. getAjaxRequst("/thmz/getPacsUrl",{},true,function (res) {
  14951. if (res == '401' || res == 401) {
  14952. window.location.href = '/thmz/login/view'
  14953. return;
  14954. }
  14955. if(res.code == 0 ){
  14956. let patientId = $("#patientId").text();
  14957. let pacsurl = res.data +"/Index.htm?CLINICALNUM="+patientId
  14958. window.open(pacsurl, '_blank');
  14959. }else {
  14960. errorMesage(res)
  14961. }
  14962. })
  14963. }
  14964. //打开检查检验
  14965. function openJcJyPacsModal() {
  14966. $("#previewJcJyPacsModal").modal()
  14967. getAjaxRequst("/thmz/getMzjsdHost",{},true,function (res) {
  14968. if (res == '401' || res == 401) {
  14969. window.location.href = '/thmz/login/view'
  14970. return;
  14971. }
  14972. if(res.code == 0){
  14973. let userIdCode = localStorage.getItem("userIdCode");
  14974. let patNo = $("#patientId").text();
  14975. let end = format(new Date(),'yyyy-MM-dd')
  14976. let start = format(getPreviousDays(new Date(),30),'yyyy-MM-dd')
  14977. let showUrl = `${res.data}/jumpRedirect?url=%2FinspectionResult%3FpatNo%3D${patNo}%26start%3D${start}%26end%3D${end}&code=${userIdCode}`
  14978. $("#jyjcpacsDiv").attr("src", showUrl);
  14979. }
  14980. })
  14981. }
  14982. function openDiscountLv() {
  14983. $("#discountLvModal").modal();
  14984. postAjaxJsonHttpRequst("/thmz/queryDiscountLv",{patientId: $("#patientId").text()},true,function (res) {
  14985. if(res.code == 0){
  14986. if(res.data != null){
  14987. $("#discountLv").val(res.data)
  14988. $('#discountLv').selectpicker('refresh');
  14989. }
  14990. }else {
  14991. errorMesage(res)
  14992. }
  14993. })
  14994. }
  14995. //保存股东卡优先级
  14996. function saveDiscountLv() {
  14997. postAjaxJsonHttpRequst("/thmz/updateDiscountLv",{patientId: $("#patientId").text(),discountLv : $("#discountLv").val()},true,function (res) {
  14998. if(res.code == 0){
  14999. successMesageSimaple("修改成功")
  15000. $("#discountLvModal").modal("hide");
  15001. }else {
  15002. errorMesage(res)
  15003. }
  15004. })
  15005. }
  15006. //打开医技预约
  15007. function openYjYyModal() {
  15008. getAjaxRequst("/thmz/getYjYyUrl",{},true,function (res) {
  15009. if (res == '401' || res == 401) {
  15010. window.location.href = '/thmz/login/view'
  15011. return;
  15012. }
  15013. if(res.code == 0 ){
  15014. let patientId = $("#patientId").text();
  15015. let yjyyUrl = res.data +"?MZH="+patientId
  15016. window.open(yjyyUrl, '_blank');
  15017. }else {
  15018. errorMesage(res)
  15019. }
  15020. })
  15021. }
  15022. function getPreviousDays(date, days) {
  15023. var prevDate = new Date(date); // 创建一个与指定日期相同的新日期对象
  15024. prevDate.setDate(date.getDate() - days); // 将日期设置为前几天(days)的日期
  15025. return prevDate;
  15026. }
  15027. function stringIsBlank(val) {
  15028. try {
  15029. val = val.trim()
  15030. } catch {
  15031. }
  15032. return typeof val === 'undefined' || val === null || val === ''
  15033. }
  15034. //是否开启复制粘贴
  15035. function initCopy() {
  15036. getAjaxRequst("/thmz/initCopy",{},true,function (res) {
  15037. if(res.code == -1){
  15038. document.oncontextmenu = function(event){
  15039. event.returnValue = false;
  15040. }
  15041. document.onkeydown = function(event){
  15042. if(event.ctrlKey && window.event.keyCode == 67){
  15043. return false;
  15044. }
  15045. if(event.ctrlKey && window.event.keyCode == 86){
  15046. return false;
  15047. }
  15048. }
  15049. }else {
  15050. document.oncontextmenu = function(event){
  15051. event.returnValue = true;
  15052. }
  15053. document.onkeydown = function(event){
  15054. if(event.ctrlKey && window.event.keyCode == 67){
  15055. return true;
  15056. }
  15057. if(event.ctrlKey && window.event.keyCode == 86){
  15058. return true;
  15059. }
  15060. }
  15061. }
  15062. })
  15063. }