index.vue 242 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469
  1. <template>
  2. <div class="app-container">
  3. <el-form
  4. :model="queryParams"
  5. ref="queryForm"
  6. :inline="true"
  7. v-show="showSearch"
  8. label-width="88px"
  9. >
  10. <el-form-item label="业务编号" prop="fBillno">
  11. <el-input
  12. v-model="queryParams.fBillno"
  13. placeholder="请输入业务编号"
  14. style="width: 200px"
  15. clearable
  16. size="small"
  17. @keyup.enter.native="handleQuery"
  18. />
  19. </el-form-item>
  20. <el-form-item label="制单人" prop="createBy">
  21. <el-select
  22. v-model="queryParams.createBy"
  23. filterable
  24. remote
  25. clearable
  26. style="width: 200px"
  27. :remote-method="userRemoteMethod"
  28. placeholder="请选择制单人"
  29. >
  30. <el-option
  31. v-for="(dict, index) in userOptions"
  32. :key="index.userName"
  33. :label="dict.nickName"
  34. :value="dict.userName"
  35. ></el-option>
  36. </el-select>
  37. </el-form-item>
  38. <el-form-item label="贸易方式" prop="fTrademodeid">
  39. <el-select
  40. v-model="queryParams.fTrademodeid"
  41. placeholder="请选择贸易方式"
  42. clearable
  43. style="width: 200px"
  44. @keyup.enter.native="handleQuery"
  45. >
  46. <el-option
  47. v-for="(dict, index) in fTrademodeidOptions"
  48. :key="index.dictValue"
  49. :label="dict.dictLabel"
  50. :value="dict.dictValue"
  51. />
  52. </el-select>
  53. </el-form-item>
  54. <el-form-item label="货权方" prop="fCorpid">
  55. <el-select
  56. v-model="queryParams.fCorpid"
  57. filterable
  58. remote
  59. clearable
  60. style="width: 200px"
  61. @keyup.enter.native="handleQuery"
  62. :remote-method="corpsRemoteMethod"
  63. placeholder="请选择货权方"
  64. >
  65. <el-option
  66. v-for="(dict, index) in fMblnoOptions"
  67. :key="index.fId"
  68. :label="dict.fName"
  69. :value="dict.fId"
  70. ></el-option>
  71. </el-select>
  72. </el-form-item>
  73. <el-form-item label="提单号" prop="fMblno">
  74. <el-input
  75. v-model="queryParams.fMblno"
  76. placeholder="请输入提单号"
  77. clearable
  78. style="width: 200px"
  79. size="small"
  80. @keyup.enter.native="handleQuery"
  81. />
  82. </el-form-item>
  83. <el-form-item label="经营单位" prop="fSbu">
  84. <el-select
  85. v-model="queryParams.fSbu"
  86. filterable
  87. remote
  88. clearable
  89. :remote-method="fSbuRemoteMethod"
  90. @keyup.enter.native="handleQuery"
  91. style="width: 200px"
  92. placeholder="请选择经营单位"
  93. >
  94. <el-option
  95. v-for="(dict, index) in fSbuOptions"
  96. :key="index.fId"
  97. :label="dict.fName"
  98. :value="dict.fId"
  99. ></el-option>
  100. </el-select>
  101. </el-form-item>
  102. <el-form-item label="货物名称" prop="fGoodsid">
  103. <el-select
  104. v-model="queryParams.fGoodsid"
  105. filterable
  106. remote
  107. clearable
  108. style="width: 200px"
  109. :remote-method="goodsRemoteMethod"
  110. @keyup.enter.native="handleQuery"
  111. placeholder="请选择货物名称"
  112. >
  113. <el-option
  114. v-for="(dict, index) in goodsOptions"
  115. :key="index.fId"
  116. :label="dict.fName"
  117. :value="dict.fId"
  118. ></el-option>
  119. </el-select>
  120. </el-form-item>
  121. <el-form-item label="仓库" prop="fWarehouseid">
  122. <el-select
  123. v-model="queryParams.fWarehouseid"
  124. filterable
  125. remote
  126. @select="treeseLect"
  127. :disabled="browseStatus || formBrowseStatus"
  128. style="width: 200px"
  129. @keyup.enter.native="handleQuery"
  130. placeholder="请选择"
  131. >
  132. <el-option
  133. v-for="(dict, index) in warehouseOptions"
  134. :key="index.fId"
  135. :label="dict.fName"
  136. :value="dict.fId"
  137. ></el-option>
  138. </el-select>
  139. </el-form-item>
  140. <el-form-item label="品牌" prop="fMarks">
  141. <el-input
  142. v-model="queryParams.fMarks"
  143. placeholder="请输入品牌"
  144. clearable
  145. size="small"
  146. style="width: 200px"
  147. @keyup.enter.native="handleQuery"
  148. />
  149. </el-form-item>
  150. <el-form-item label="费用状态" prop="fBillstatus">
  151. <el-select
  152. style="width: 200px"
  153. v-model="queryParams.fBillstatus"
  154. placeholder="请输入费用状态"
  155. >
  156. <el-option label="录入" value="1"></el-option>
  157. <el-option label="暂存" value="2"></el-option>
  158. <el-option label="驳回" value="3"></el-option>
  159. <el-option label="请核" value="4"></el-option>
  160. <el-option label="审核中" value="5"></el-option>
  161. <el-option label="全部入账" value="6"></el-option>
  162. </el-select>
  163. </el-form-item>
  164. <el-form-item label="出库状态" prop="fItemsStatus">
  165. <el-select
  166. style="width: 200px"
  167. v-model="queryParams.fItemsStatus"
  168. placeholder="请输出库状态"
  169. >
  170. <el-option label="计划" value="1" />
  171. <el-option label="卸货中" value="2" />
  172. <el-option label="已装货" value="3" />
  173. <el-option label="已出库" value="4" />
  174. </el-select>
  175. </el-form-item>
  176. <el-form-item label="出库日期" prop="timeInterval">
  177. <el-date-picker
  178. v-model="queryParams.timeInterval"
  179. type="daterange"
  180. value-format="yyyy-MM-dd"
  181. clearable
  182. style="width: 240px"
  183. range-separator="至"
  184. start-placeholder="开始日期"
  185. end-placeholder="结束日期"
  186. @keyup.enter.native="handleQuery"
  187. >
  188. </el-date-picker>
  189. </el-form-item>
  190. <el-form-item>
  191. <el-button
  192. type="cyan"
  193. icon="el-icon-search"
  194. size="mini"
  195. @click="handleQuery"
  196. >搜索
  197. </el-button>
  198. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
  199. >重置
  200. </el-button>
  201. </el-form-item>
  202. </el-form>
  203. <el-row :gutter="10" class="mb8">
  204. <el-col :span="1.5">
  205. <el-button
  206. type="primary"
  207. icon="el-icon-plus"
  208. size="mini"
  209. @click="handleAdd(false)"
  210. v-hasPermi="['warehouseBusiness:outStock:add']"
  211. >新增
  212. </el-button>
  213. </el-col>
  214. <el-col :span="1.5">
  215. <el-button
  216. type="success"
  217. icon="el-icon-edit"
  218. size="mini"
  219. :disabled="single"
  220. @click="handleUpdate"
  221. v-hasPermi="['warehouseBusiness:outStock:edit']"
  222. >修改
  223. </el-button>
  224. </el-col>
  225. <el-col :span="1.5">
  226. <el-button
  227. type="warning"
  228. icon="el-icon-download"
  229. size="mini"
  230. @click="handleExport"
  231. v-hasPermi="['warehouseBusiness:outStock:export']"
  232. >导出
  233. </el-button>
  234. </el-col>
  235. <el-col :span="1.5">
  236. <el-button
  237. type="warning"
  238. icon="el-icon-download"
  239. size="mini"
  240. @click="handleExport"
  241. :disabled="multiple"
  242. v-hasPermi="['warehouseBusiness:outStock:export']"
  243. >导入
  244. </el-button>
  245. </el-col>
  246. <el-col :span="1.5">
  247. <el-button
  248. type="info"
  249. icon="el-icon-download"
  250. size="mini"
  251. :disabled="single"
  252. @click="handleUpdate(null, 2)"
  253. v-hasPermi="['agreement:agreementStorage:export']"
  254. >复制新增
  255. </el-button>
  256. </el-col>
  257. <div class="tabSetting">
  258. <right-toolbar
  259. :showSearch.sync="showSearch"
  260. @queryTable="getList"
  261. ></right-toolbar>
  262. <div style="margin: 0 12px">
  263. <el-button
  264. icon="el-icon-setting"
  265. size="mini"
  266. circle
  267. @click="showSetting = !showSetting"
  268. ></el-button>
  269. </div>
  270. </div>
  271. </el-row>
  272. <el-dialog
  273. title="自定义列显示"
  274. :visible.sync="showSetting"
  275. width="700px"
  276. v-dialogDrag
  277. >
  278. <template slot="title">
  279. <div class="avue-crud__dialog__header">
  280. <span class="el-dialog__title">
  281. <span
  282. style="
  283. display: inline-block;
  284. width: 3px;
  285. height: 20px;
  286. margin-right: 5px;
  287. float: left;
  288. margin-top: 2px;
  289. "
  290. ></span>
  291. </span>
  292. </div>
  293. </template>
  294. <div>配置排序列数据(拖动调整顺序)</div>
  295. <div style="margin-left: 17px">
  296. <el-checkbox
  297. v-model="allCheck"
  298. label="全选"
  299. @change="allChecked"
  300. ></el-checkbox>
  301. </div>
  302. <div style="padding: 4px; display: flex; justify-content: center">
  303. <draggable
  304. v-model="setRowList"
  305. group="site"
  306. animation="300"
  307. @start="onStart"
  308. @end="onEnd"
  309. handle=".indraggable"
  310. >
  311. <transition-group>
  312. <div
  313. v-for="item in setRowList"
  314. :key="item.surface"
  315. class="listStyle"
  316. >
  317. <div style="width: 500px" class="indraggable">
  318. <div class="progress" :style="{ width: item.width + 'px' }">
  319. <el-checkbox
  320. :label="item.name"
  321. v-model="item.checked"
  322. :true-label="0"
  323. :false-label="1"
  324. >{{ item.name }}
  325. </el-checkbox>
  326. </div>
  327. </div>
  328. <el-input-number
  329. v-model.number="item.width"
  330. controls-position="right"
  331. :min="1"
  332. :max="500"
  333. size="mini"
  334. ></el-input-number>
  335. </div>
  336. </transition-group>
  337. </draggable>
  338. </div>
  339. <span slot="footer" class="dialog-footer">
  340. <el-button @click="showSetting = false">取 消</el-button>
  341. <el-button @click="delRow" type="danger">重 置</el-button>
  342. <el-button type="primary" @click="save()">确 定</el-button>
  343. </span>
  344. </el-dialog>
  345. <el-table
  346. v-loading="loading"
  347. :data="warehousebillsList"
  348. @selection-change="handleSelectionChange"
  349. show-summary
  350. :summary-method="getSum"
  351. >
  352. <el-table-column type="selection" width="60" fixed align="center" />
  353. <el-table-column type="index" label="行号" fixed align="center" />
  354. <el-table-column
  355. label="提单号"
  356. width="220"
  357. align="center"
  358. :show-overflow-tooltip="true"
  359. sortable
  360. fixed="left"
  361. prop="fMblno"
  362. >
  363. <template slot-scope="scope">
  364. <el-link :underline="false" type="primary"
  365. ><div @click="handleUpdate(scope.row)">
  366. {{ scope.row.fMblno }}
  367. </div></el-link
  368. >
  369. </template>
  370. </el-table-column>
  371. <el-table-column
  372. v-for="(item, index) in getRowList"
  373. :key="index"
  374. :label="item.name"
  375. :width="item.width"
  376. :prop="item.label"
  377. align="center"
  378. :fixed="item.fixed"
  379. :show-overflow-tooltip="true"
  380. sortable
  381. />
  382. <!-- <el-table-column label="制单人" align="center" prop="createBy" fixed/>-->
  383. <!-- <el-table-column label="仓管员" width="100" align="center" sortable prop="fStorekeeper" fixed/>-->
  384. <!-- <el-table-column width="100" label="出库状态" fixed sortable align="center" prop="fItemsStatus">-->
  385. <!-- <template slot-scope="scope">-->
  386. <!-- <span v-if="scope.row.fItemsStatus === 1">计划</span>-->
  387. <!-- <span v-if="scope.row.fItemsStatus === 2">卸货中</span>-->
  388. <!-- <span v-if="scope.row.fItemsStatus === 3">已装货</span>-->
  389. <!-- <span v-if="scope.row.fItemsStatus === 4">已出库</span>-->
  390. <!-- </template>-->
  391. <!-- </el-table-column>-->
  392. <!-- <el-table-column width="220" label="货权方" fixed sortable align="center" prop="fCorpid"/>-->
  393. <!-- <el-table-column label="提单号" sortable width="216" align="center" prop="fMblno" fixed show-overflow-tooltip/>-->
  394. <!-- <el-table-column label="品名" :show-overflow-tooltip="true" fixed align="ceter" prop="fProductName" />-->
  395. <!-- <el-table-column label="品牌" align="center" fixed prop="fMarks" />-->
  396. <!-- <el-table-column label="出库日期" align="center" fixed sortable prop="createTime" style="width: 60%" width="100" show-overflow-tooltip>-->
  397. <!-- <template slot-scope="scope">-->
  398. <!-- <span>{{ parseTime(scope.row.fBsdate, "{y}-{m}-{d}") }}</span>-->
  399. <!-- </template>-->
  400. <!-- </el-table-column>-->
  401. <!-- <el-table-column label="仓库" sortable fixed align="center" prop="fWarehouseid" />-->
  402. <!-- <el-table-column label="计划件数" align="center" prop="fPlanqty" />-->
  403. <!-- <el-table-column label="出库件数" align="center" prop="fQty" />-->
  404. <!-- <el-table-column label="出库毛重(kg)" align="center" prop="fGrossweight" width="100"/>-->
  405. <!-- <el-table-column label="出库净重(kg)" align="center" prop="fNetweight" width="100"/>-->
  406. <!-- <el-table-column label="车号" align="center" prop="fTruckno" width="100"/>-->
  407. <!-- <el-table-column label="司机" align="center" prop="fDriverName" />-->
  408. <!-- <el-table-column label="司机电话" align="center" prop="fDriverTel" width="120" show-overflow-tooltip/>-->
  409. <!-- <el-table-column label="司机身份证" align="center" prop="fDriverIdCar" width="180" show-overflow-tooltip/>-->
  410. <!-- <el-table-column label="业务类别" align="center" prop="fBusinessType" :formatter="fBusinessTypeFormat"/>-->
  411. <!-- <el-table-column width="100" label="费用状态" align="center" prop="fBillstatus">-->
  412. <!-- <template slot-scope="scope">-->
  413. <!-- <span v-if="scope.row.fBillstatus === 1">录入</span>-->
  414. <!-- <span v-if="scope.row.fBillstatus === 2">录入</span>-->
  415. <!-- <span v-if="scope.row.fBillstatus === 3">驳回</span>-->
  416. <!-- <span v-if="scope.row.fBillstatus === 4">请核</span>-->
  417. <!-- <span v-if="scope.row.fBillstatus === 5">审核中</span>-->
  418. <!-- <span v-if="scope.row.fBillstatus === 6">全部入账</span>-->
  419. <!-- </template>-->
  420. <!-- </el-table-column>-->
  421. <el-table-column
  422. label="操作"
  423. align="center"
  424. class-name="small-padding fixed-width"
  425. min-width="180"
  426. >
  427. <template slot-scope="scope">
  428. <el-button
  429. size="mini"
  430. type="text"
  431. icon="el-icon-edit"
  432. @click="handleUpdate(scope.row, true)"
  433. v-hasPermi="['warehouseBusiness:outStock:edit']"
  434. >查看
  435. </el-button>
  436. <el-button
  437. size="mini"
  438. type="text"
  439. icon="el-icon-edit"
  440. v-if="
  441. scope.row.fBillstatus == '录入' ||
  442. scope.row.fBillstatus == '暂存' ||
  443. scope.row.fBillstatus == '驳回'
  444. "
  445. @click="handleUpdate(scope.row, false)"
  446. v-hasPermi="['warehouseBusiness:outStock:edit']"
  447. >修改
  448. </el-button>
  449. <el-button
  450. size="mini"
  451. type="text"
  452. icon="el-icon-delete"
  453. v-if="scope.row.fItemsStatus == '计划'"
  454. @click="handleDelete(scope.row)"
  455. v-hasPermi="['warehouseBusiness:outStock:remove']"
  456. >删除
  457. </el-button>
  458. <el-button
  459. size="mini"
  460. type="text"
  461. icon="el-icon-delete"
  462. v-if="
  463. scope.row.fBillstatus == '请核' ||
  464. scope.row.fBillstatus == '审核中'
  465. "
  466. @click="handleUpdate(scope.row, true)"
  467. >审核进度
  468. </el-button>
  469. </template>
  470. </el-table-column>
  471. </el-table>
  472. <add-or-update
  473. v-if="addOrUpdateVisible"
  474. ref="addOrUpdate"
  475. @refreshDataList="getDataList"
  476. ></add-or-update>
  477. <approval-comments
  478. v-if="addOrUpdateVisib"
  479. ref="ApprovalComments"
  480. @refreshDataList="returnData"
  481. ></approval-comments>
  482. <pagination
  483. v-show="total > 0"
  484. :total="total"
  485. :page.sync="queryParams.pageNum"
  486. :limit.sync="queryParams.pageSize"
  487. @pagination="getList"
  488. />
  489. <!-- 新增或修改仓库主(出入库)对话框 -->
  490. <el-dialog
  491. v-dialogDrag
  492. :visible.sync="open"
  493. :close-on-click-modal="false"
  494. @close="addCloseDialog"
  495. :show-close="closeButton"
  496. :fullscreen="dialogFull"
  497. width="80%"
  498. append-to-body
  499. >
  500. <template slot="title">
  501. <div class="avue-crud__dialog__header">
  502. <span class="el-dialog__title">
  503. <span
  504. style="
  505. display: inline-block;
  506. width: 3px;
  507. height: 20px;
  508. margin-right: 5px;
  509. float: left;
  510. margin-top: 2px;
  511. "
  512. ></span>
  513. </span>
  514. <div class="avue-crud__dialog__menu enlarge" @click="full">
  515. <i
  516. style="
  517. cursor: pointer;
  518. display: block;
  519. width: 12px;
  520. height: 12px;
  521. border: 1px solid #909399;
  522. border-top: 3px solid #909399;
  523. margin-top: -3px;
  524. "
  525. ></i>
  526. </div>
  527. </div>
  528. </template>
  529. <el-form ref="form" :model="form" :rules="rules" label-width="120px">
  530. <el-row>
  531. <el-col :span="8">
  532. <el-form-item label="货权方" prop="fCorpid">
  533. <el-select
  534. v-model="form.fCorpid"
  535. filterable
  536. remote
  537. :disabled="browseStatus || formBrowseStatus"
  538. @change="changefCorpid(form)"
  539. style="width: 80%"
  540. :remote-method="corpsRemoteMethod"
  541. placeholder="请输入模糊查找"
  542. >
  543. <el-option
  544. v-for="(dict, index) in fMblnoOptions"
  545. :key="index.fId"
  546. :label="dict.fName"
  547. :value="dict.fId"
  548. ></el-option>
  549. </el-select>
  550. </el-form-item>
  551. </el-col>
  552. <el-col :span="8">
  553. <el-form-item label="结算方式" prop="fstltypeid">
  554. <el-select
  555. v-model="form.fStltypeid"
  556. placeholder="请选择结算方式"
  557. :disabled="browseStatus || formBrowseStatus"
  558. clearable
  559. style="width: 80%"
  560. >
  561. <el-option
  562. v-for="(dict, index) in fStltypeOptions"
  563. :key="index.dictValue"
  564. :label="dict.dictLabel"
  565. :value="dict.dictValue"
  566. />
  567. </el-select>
  568. </el-form-item>
  569. </el-col>
  570. <el-col :span="8">
  571. <el-form-item label="提单号" prop="fMblno">
  572. <el-input
  573. v-model="form.fMblno"
  574. style="width: 80%"
  575. disabled
  576. placeholder=""
  577. />
  578. </el-form-item>
  579. </el-col>
  580. </el-row>
  581. <el-row>
  582. <el-col :span="8">
  583. <el-form-item label="业务日期" prop="fBsdate">
  584. <el-date-picker
  585. v-model="form.fBsdate"
  586. style="width: 80%"
  587. type="date"
  588. :disabled="browseStatus || formBrowseStatus"
  589. @change="changefBsdate"
  590. value-format="timestamp"
  591. placeholder="业务日期"
  592. >
  593. </el-date-picker>
  594. </el-form-item>
  595. </el-col>
  596. <el-col :span="8">
  597. <el-form-item label="业务时间" prop="fBstime">
  598. <el-time-picker
  599. style="width: 80%"
  600. :disabled="browseStatus || formBrowseStatus"
  601. v-model="form.fBstime"
  602. :picker-options="{
  603. selectableRange: '00:00:01 - 23:59:59',
  604. }"
  605. placeholder="任意时间点"
  606. >
  607. </el-time-picker>
  608. </el-form-item>
  609. </el-col>
  610. <el-col :span="8">
  611. <el-form-item label="车辆类型" prop="fCartype">
  612. <el-select
  613. style="width: 80%"
  614. v-model="form.fCartype"
  615. :disabled="contrOl"
  616. >
  617. <el-option
  618. v-for="(dict, index) in fCartypeOptions"
  619. :key="index.dictValue"
  620. :label="dict.dictLabel"
  621. :value="dict.dictValue"
  622. ></el-option>
  623. </el-select>
  624. </el-form-item>
  625. </el-col>
  626. </el-row>
  627. <el-row>
  628. <el-col :span="8">
  629. <el-form-item label="仓管员" prop="fStorekeeper">
  630. <el-select
  631. v-model="form.fStorekeeper"
  632. filterable
  633. remote
  634. :disabled="browseStatus || formBrowseStatus"
  635. style="width: 80%"
  636. :remote-method="userRemoteMethod"
  637. placeholder="请输入模糊查找"
  638. >
  639. <el-option
  640. v-for="(dict, index) in userOptions"
  641. :key="index.userName"
  642. :label="dict.nickName"
  643. :value="dict.userName"
  644. ></el-option>
  645. </el-select>
  646. </el-form-item>
  647. </el-col>
  648. <el-col :span="8">
  649. <el-form-item label="仓库" prop="fWarehouseid">
  650. <el-select
  651. v-model="form.fWarehouseid"
  652. filterable
  653. remote
  654. @change="warwhouseTel"
  655. :disabled="browseStatus || formBrowseStatus"
  656. style="width: 80%"
  657. @keyup.enter.native="handleQuery"
  658. placeholder="请选择"
  659. >
  660. <el-option
  661. v-for="(dict, index) in warehouseOptions"
  662. :key="index.fId"
  663. :label="dict.fName"
  664. :value="dict.fId"
  665. ></el-option>
  666. </el-select>
  667. </el-form-item>
  668. </el-col>
  669. <el-col :span="8">
  670. <el-form-item label="计费单位" prop="fFeetunit">
  671. <el-select
  672. v-model="form.fFeetunit"
  673. placeholder="请选择计费单位"
  674. :disabled="browseStatus || formBrowseStatus"
  675. clearable
  676. style="width: 80%"
  677. >
  678. <el-option
  679. v-for="(dict, index) in jFeetunitOptions"
  680. :key="index.dictValue"
  681. :label="dict.dictLabel"
  682. :value="dict.dictValue"
  683. />
  684. </el-select>
  685. </el-form-item>
  686. </el-col>
  687. </el-row>
  688. <el-row>
  689. <el-col :span="8">
  690. <el-form-item label="计划件数">
  691. <el-input
  692. v-model="form.fPlanqty"
  693. style="width: 80%"
  694. laceholder="计划件数"
  695. maxlength="9"
  696. oninput='this.value=this.value.replace(/\D/g,"")'
  697. :disabled="browseStatus || current !== before"
  698. />
  699. </el-form-item>
  700. </el-col>
  701. <el-col :span="8">
  702. <el-form-item label="计划净重(kg)" prop="fPlannetweight">
  703. <el-input
  704. v-model="form.fPlannetweight"
  705. style="width: 80%"
  706. maxlength="9"
  707. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  708. laceholder="计划净重"
  709. :disabled="browseStatus || current !== before"
  710. />
  711. </el-form-item>
  712. </el-col>
  713. <el-col :span="8">
  714. <el-form-item label="计划毛重(kg)" prop="fPlangrossweight">
  715. <el-input
  716. v-model="form.fPlangrossweight"
  717. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  718. style="width: 80%"
  719. maxlength="9"
  720. laceholder="计划毛重"
  721. :disabled="browseStatus || current !== before"
  722. />
  723. </el-form-item>
  724. </el-col>
  725. </el-row>
  726. <el-row>
  727. <el-col :span="8">
  728. <el-form-item label="作业类型" prop="fBusinessType">
  729. <el-select
  730. style="width: 80%"
  731. v-model="form.fBusinessType"
  732. filterable
  733. :disabled="contrOl"
  734. @change="educationChange"
  735. >
  736. <el-option
  737. v-for="(dict, index) in businessTypeOption"
  738. :key="index.dictValue"
  739. :label="dict.dictLabel"
  740. :value="dict.dictValue"
  741. ></el-option>
  742. </el-select>
  743. </el-form-item>
  744. </el-col>
  745. <el-col :span="8">
  746. <el-form-item
  747. label="劳务公司"
  748. prop="fLabour"
  749. :rules="{
  750. required: isrequired_l === 1 ? true : false,
  751. message: '请选择',
  752. trigger: ['blur', 'change'],
  753. }"
  754. >
  755. <el-select
  756. style="width: 80%"
  757. v-model="form.fLabour"
  758. @keyup.enter.native="handleQuery"
  759. :remote-method="flabourRemoteMethod"
  760. remote
  761. filterable
  762. :disabled="contrOl"
  763. placeholder="请输入劳务公司"
  764. >
  765. <el-option
  766. v-for="(dict, index) in fCompanyOptIons"
  767. :key="index.fId"
  768. :label="dict.fName"
  769. :value="dict.fId"
  770. ></el-option>
  771. </el-select>
  772. </el-form-item>
  773. </el-col>
  774. <el-col :span="8">
  775. <el-form-item
  776. label="车队"
  777. prop="fFleet"
  778. :rules="{
  779. required: isrequired === 1 ? true : false,
  780. message: '请选择',
  781. trigger: ['blur', 'change'],
  782. }"
  783. >
  784. <el-select
  785. style="width: 80%"
  786. v-model="form.fFleet"
  787. @keyup.enter.native="handleQuery"
  788. :remote-method="fleetRemoteMethod"
  789. filterable
  790. remote
  791. :disabled="contrOl"
  792. placeholder="请输入车队"
  793. >
  794. <el-option
  795. v-for="(dict, index) in fleetOptions"
  796. :key="index.fId"
  797. :label="dict.fName"
  798. :value="dict.fId"
  799. ></el-option>
  800. </el-select>
  801. </el-form-item>
  802. </el-col>
  803. </el-row>
  804. <el-row>
  805. <el-col :span="8">
  806. <el-form-item
  807. label="车号"
  808. prop="fTruckno"
  809. :rules="{
  810. required: isrequired_s === 1 ? true : false,
  811. message: '请选择',
  812. trigger: ['blur', 'change'],
  813. }"
  814. >
  815. <el-input
  816. v-model="form.fTruckno"
  817. :disabled="browseStatus || formBrowseStatus"
  818. style="width: 80%"
  819. placeholder="请输货车车号"
  820. @change="changeInformation(whgenlegList)"
  821. />
  822. </el-form-item>
  823. </el-col>
  824. <el-col :span="8">
  825. <el-form-item
  826. label="司机"
  827. prop="fDriverName"
  828. :rules="{
  829. required: isrequired_s === 1 ? true : false,
  830. message: '请选择',
  831. trigger: ['blur', 'change'],
  832. }"
  833. >
  834. <el-input
  835. v-model="form.fDriverName"
  836. :disabled="browseStatus || formBrowseStatus"
  837. style="width: 80%"
  838. placeholder="请输司机姓名"
  839. />
  840. </el-form-item>
  841. </el-col>
  842. <el-col :span="8">
  843. <el-form-item
  844. label="司机电话"
  845. prop="fDriverTel"
  846. :rules="{
  847. required: isrequired_s === 1 ? true : false,
  848. message: '请选择',
  849. trigger: ['blur', 'change'],
  850. }"
  851. >
  852. <el-input
  853. oninput='this.value=this.value.replace(/[^\-?\d]/g,"")'
  854. v-model="form.fDriverTel"
  855. :disabled="browseStatus || formBrowseStatus"
  856. style="width: 80%"
  857. placeholder="请输司机电话"
  858. />
  859. </el-form-item>
  860. </el-col>
  861. </el-row>
  862. <el-row>
  863. <el-col :span="16">
  864. <el-row>
  865. <el-col :span="12">
  866. <el-form-item
  867. label="司机身份证"
  868. prop="fDriverIdCar"
  869. :rules="{
  870. required: isrequired_s === 1 ? true : false,
  871. message: '请选择',
  872. trigger: ['blur', 'change'],
  873. }"
  874. >
  875. <el-input
  876. v-model="form.fDriverIdCar"
  877. :disabled="browseStatus || formBrowseStatus"
  878. style="width: 80%"
  879. placeholder="请输司机身份证"
  880. />
  881. </el-form-item>
  882. </el-col>
  883. </el-row>
  884. <el-row>
  885. <el-col :span="24">
  886. <el-form-item label="备注" prop="remark">
  887. <el-input
  888. style="width: 92%"
  889. v-model="form.remark"
  890. type="textarea"
  891. :disabled="browseStatus"
  892. placeholder="请输入内容"
  893. />
  894. </el-form-item>
  895. </el-col>
  896. </el-row>
  897. <el-row>
  898. <el-col :offset="16" :span="2">
  899. <el-form-item>
  900. <el-button
  901. @click="
  902. detailsHidden
  903. ? (detailsHidden = false)
  904. : (detailsHidden = true)
  905. "
  906. >{{ detailsHidden ? "隐藏" : "展开" }}</el-button
  907. >
  908. </el-form-item>
  909. </el-col>
  910. </el-row>
  911. </el-col>
  912. <el-col :span="8">
  913. <el-form-item>
  914. <el-table
  915. :data="CntrTable"
  916. style="width: 80%"
  917. :header-cell-style="{ lineHeight: '16px' }"
  918. height="139"
  919. >
  920. <el-table-column
  921. prop="fCntrid "
  922. label="箱型"
  923. header-align="center"
  924. align="center"
  925. >
  926. <template slot-scope="scope">
  927. <el-select
  928. placeholder="请选择箱型"
  929. v-model="scope.row.fCntrid"
  930. size="mini"
  931. >
  932. <el-option
  933. v-for="(item,index) in fCntridlist"
  934. :key="index.value"
  935. :label="item.label"
  936. :value="item.value"
  937. >
  938. </el-option>
  939. </el-select>
  940. </template>
  941. </el-table-column>
  942. <el-table-column
  943. prop="fCntrcount"
  944. label="箱量"
  945. header-align="center"
  946. align="center"
  947. >
  948. <template slot-scope="scope">
  949. <el-input
  950. placeholder="请输入箱量"
  951. v-model="scope.row.fCntrcount"
  952. size="mini"
  953. >
  954. </el-input>
  955. </template>
  956. </el-table-column>
  957. <el-table-column
  958. prop="fCntrcount"
  959. label="操作"
  960. header-align="center"
  961. align="center"
  962. width="50"
  963. >
  964. <template slot-scope="scope">
  965. <el-button
  966. size="mini"
  967. type="text"
  968. @click.native.prevent="deleteRow(scope.$index, CntrTable)"
  969. icon="el-icon-delete"
  970. ></el-button>
  971. </template>
  972. </el-table-column>
  973. </el-table>
  974. <div style="display: flex; justify-content: center; width: 80%">
  975. <el-tag class="tag-hover" @click="addRow"
  976. ><i class="el-icon-plus"></i
  977. ></el-tag>
  978. </div>
  979. </el-form-item>
  980. </el-col>
  981. </el-row>
  982. <div v-if="detailsHidden">
  983. <el-row style="margin-top: 30px">
  984. <el-col :span="8">
  985. <el-form-item label="仓库联系人" prop="fContacts">
  986. <el-input
  987. v-model="form.fContacts"
  988. :disabled="browseStatus || formBrowseStatus"
  989. style="width: 80%"
  990. placeholder="仓库联系人"
  991. />
  992. </el-form-item>
  993. </el-col>
  994. <el-col :span="8">
  995. <el-form-item label="仓库电话" prop="fTel">
  996. <el-input
  997. v-model="form.fTel"
  998. :disabled="browseStatus || formBrowseStatus"
  999. style="width: 80%"
  1000. placeholder="请输仓库入电话"
  1001. />
  1002. </el-form-item>
  1003. </el-col>
  1004. <el-col :span="8">
  1005. <el-form-item label="贸易方式" prop="fTrademodeid">
  1006. <el-select
  1007. v-model="form.fTrademodeid"
  1008. placeholder="请选择贸易方式"
  1009. :disabled="browseStatus || formBrowseStatus"
  1010. clearable
  1011. style="width: 80%"
  1012. >
  1013. <el-option
  1014. v-for="(dict, index) in fTrademodeidOptions"
  1015. :key="index.dictValue"
  1016. :label="dict.dictLabel"
  1017. :value="dict.dictValue"
  1018. />
  1019. </el-select>
  1020. </el-form-item>
  1021. </el-col>
  1022. </el-row>
  1023. <el-row>
  1024. <el-col :span="8">
  1025. <el-form-item label="单据编号" prop="fBillno">
  1026. <el-input
  1027. v-model="form.fBillno"
  1028. style="width: 80%"
  1029. disabled
  1030. placeholder="单据编号"
  1031. />
  1032. </el-form-item>
  1033. </el-col>
  1034. <el-col :span="8">
  1035. <el-form-item label="破损" prop="fifdamage">
  1036. <el-select
  1037. v-model="form.fIfdamage"
  1038. placeholder="请选择是否破损"
  1039. :disabled="browseStatus || formBrowseStatus"
  1040. clearable
  1041. style="width: 80%"
  1042. >
  1043. <el-option
  1044. v-for="(dict, index) in fIfdamageOptions"
  1045. :key="index.dictValue"
  1046. :label="dict.dictLabel"
  1047. :value="dict.dictValue"
  1048. />
  1049. </el-select>
  1050. </el-form-item>
  1051. </el-col>
  1052. <el-col :span="8">
  1053. <el-form-item label="过磅" prop="fifweigh">
  1054. <el-select
  1055. v-model="form.fIfweigh"
  1056. placeholder="请选择是否过磅"
  1057. :disabled="browseStatus || formBrowseStatus"
  1058. clearable
  1059. style="width: 80%"
  1060. >
  1061. <el-option
  1062. v-for="(dict, index) in fIfweighOptions"
  1063. :key="index.dictValue"
  1064. :label="dict.dictLabel"
  1065. :value="dict.dictValue"
  1066. />
  1067. </el-select>
  1068. </el-form-item>
  1069. </el-col>
  1070. </el-row>
  1071. <el-row>
  1072. <el-col :span="8">
  1073. <el-form-item label="制单人" prop="createBy">
  1074. <el-input
  1075. disabled
  1076. v-model="form.createBy"
  1077. style="width: 80%"
  1078. placeholder="制单人"
  1079. />
  1080. </el-form-item>
  1081. </el-col>
  1082. <el-col :span="8">
  1083. <el-form-item label="制单部门" prop="fDeptid">
  1084. <el-select
  1085. v-model="form.fDeptid"
  1086. filterable
  1087. disabled
  1088. style="width: 80%"
  1089. remote
  1090. >
  1091. <el-option
  1092. v-for="(dict, index) in deptOptions"
  1093. :key="index.deptId"
  1094. :label="dict.deptName"
  1095. :value="dict.deptId"
  1096. ></el-option>
  1097. </el-select>
  1098. </el-form-item>
  1099. </el-col>
  1100. <el-col :span="8">
  1101. <el-form-item disabled label="制单日期" prop="fbilldate">
  1102. <el-date-picker
  1103. v-model="form.createTime"
  1104. size="large"
  1105. type="date"
  1106. disabled
  1107. value-format="timestamp"
  1108. placeholder="制单日期"
  1109. >
  1110. </el-date-picker>
  1111. </el-form-item>
  1112. </el-col>
  1113. <el-col :span="8">
  1114. <el-form-item label="品牌" prop="fMarks">
  1115. <el-input
  1116. v-model="form.fMarks"
  1117. style="width: 80%"
  1118. disabled
  1119. placeholder="品牌"
  1120. />
  1121. </el-form-item>
  1122. </el-col>
  1123. <el-col :span="8">
  1124. <el-form-item label="品名" prop="fProductName">
  1125. <el-input
  1126. v-model="form.fProductName"
  1127. style="width: 80%"
  1128. disabled
  1129. placeholder="品名"
  1130. />
  1131. </el-form-item>
  1132. </el-col>
  1133. </el-row>
  1134. </div>
  1135. </el-form>
  1136. <el-collapse v-model="activeNames">
  1137. <el-collapse-item name="1">
  1138. <template slot="title">
  1139. <i class="el-icon-s-home"></i>出库明细
  1140. </template>
  1141. <div
  1142. style="
  1143. display: flex;
  1144. justify-content: space-between;
  1145. align-items: center;
  1146. margin: 10px 0;
  1147. "
  1148. >
  1149. <div>
  1150. <el-button
  1151. type="primary"
  1152. :disabled="browseStatus"
  1153. @click.prevent="addRelevant(10)"
  1154. >新行
  1155. </el-button>
  1156. <!-- <el-button :disabled="browseStatus" @click.prevent="deleteRow(warehouseDrList)"
  1157. >删除
  1158. </el-button> -->
  1159. <el-button
  1160. type="primary"
  1161. :disabled="browseStatus"
  1162. @click="saveForm"
  1163. >保 存</el-button
  1164. >
  1165. </div>
  1166. <div style="display: flex">
  1167. <el-button
  1168. type="info"
  1169. :disabled="printinglist.length <= 0 || browseStatus"
  1170. prop="打印"
  1171. @click="printJobSheet"
  1172. >作业单</el-button
  1173. >
  1174. <el-button
  1175. :disabled="printinglist.length <= 0 || browseStatus"
  1176. @click="discharge"
  1177. >叫车进场</el-button
  1178. >
  1179. <el-button
  1180. :disabled="dataListSelection.length <= 0 || browseStatus"
  1181. @click.prevent="creditClick"
  1182. >出库确认
  1183. </el-button>
  1184. <el-button
  1185. :disabled="dataWithdrawList.length <= 0 || browseStatus"
  1186. @click.prevent="withdrawClick"
  1187. >撤回出库</el-button
  1188. >
  1189. <!-- <el-button
  1190. type="warning"
  1191. prop="打印"
  1192. :disabled="printinglist.length <= 0 || browseStatus"
  1193. @click="showEditDialog_s"
  1194. >出库单
  1195. </el-button> -->
  1196. <el-dropdown @command="handleCommand">
  1197. <el-button
  1198. type="warning"
  1199. :disabled="printinglist.length <= 0 || browseStatus"
  1200. >
  1201. 打印单据<i class="el-icon-arrow-down el-icon--right"></i>
  1202. </el-button>
  1203. <el-dropdown-menu slot="dropdown">
  1204. <el-dropdown-item command="a">出库单</el-dropdown-item>
  1205. <el-dropdown-item command="b">理货单</el-dropdown-item>
  1206. <el-dropdown-item command="c">出库确认</el-dropdown-item>
  1207. <el-dropdown-item command="d">劳务确认</el-dropdown-item>
  1208. </el-dropdown-menu>
  1209. </el-dropdown>
  1210. <!-- <el-button type="primary" :disabled="browseStatus" @click="saveForm">保 存</el-button> -->
  1211. <el-button
  1212. style="background-color: #008000; color: #fff"
  1213. @click="submitForm"
  1214. :disabled="browseStatus"
  1215. >请核</el-button
  1216. >
  1217. </div>
  1218. <!--点击展开-->
  1219. </div>
  1220. <el-table
  1221. :data="dataList"
  1222. ref="tableList"
  1223. tooltip-effect="dark"
  1224. border
  1225. stripe
  1226. :summary-method="getSummaries"
  1227. @selection-change="selectinventory"
  1228. show-summary
  1229. >
  1230. <el-table-column type="selection" width="55" fixed align="center" />
  1231. <el-table-column label="序号" type="index" fixed width="80">
  1232. </el-table-column>
  1233. <el-table-column
  1234. prop="fBillstatus"
  1235. header-align="center"
  1236. width="150px"
  1237. fixed
  1238. align="center"
  1239. label="状态"
  1240. >
  1241. <template slot-scope="scope">
  1242. <span v-if="form.fBusinessType === '5'">
  1243. <span v-if="scope.row.fBillstatus === 40">已装箱</span>
  1244. <span v-if="scope.row.fBillstatus === 20">待装箱</span>
  1245. <span v-if="scope.row.fBillstatus === 30">装箱中</span>
  1246. <span v-if="scope.row.fBillstatus === 10">计划</span>
  1247. </span>
  1248. <span v-if="form.fBusinessType !== '5'">
  1249. <span v-if="scope.row.fBillstatus === 40">已出库</span>
  1250. <span v-if="scope.row.fBillstatus === 20">待出库</span>
  1251. <span v-if="scope.row.fBillstatus === 30">出库中</span>
  1252. <span v-if="scope.row.fBillstatus === 10">计划</span>
  1253. </span>
  1254. </template>
  1255. </el-table-column>
  1256. <el-table-column
  1257. prop="fBsdate"
  1258. header-align="center"
  1259. align="center"
  1260. fixed
  1261. width="150px"
  1262. label="出库日期"
  1263. >
  1264. <template slot-scope="scope">
  1265. <el-date-picker
  1266. v-model="scope.row.fBsdate"
  1267. style="width: 138px"
  1268. :disabled="
  1269. browseStatus ||
  1270. scope.row.fBillstatus === 20 ||
  1271. scope.row.fBillstatus === 30 ||
  1272. scope.row.fBillstatus === 40
  1273. "
  1274. type="date"
  1275. value-format="timestamp"
  1276. placeholder="业务日期"
  1277. >
  1278. </el-date-picker>
  1279. </template>
  1280. </el-table-column>
  1281. <el-table-column
  1282. prop="fMblno"
  1283. header-align="center"
  1284. align="center"
  1285. width="140px"
  1286. label="提单号"
  1287. >
  1288. </el-table-column>
  1289. <el-table-column
  1290. prop="fGoodsids"
  1291. header-align="center"
  1292. align="center"
  1293. width="140px"
  1294. label="*品名"
  1295. >
  1296. </el-table-column>
  1297. <el-table-column
  1298. prop="fBusinessType"
  1299. header-align="center"
  1300. width="140px"
  1301. align="center"
  1302. label="*货物属性"
  1303. >
  1304. <template slot-scope="scope">
  1305. <el-select
  1306. v-model="scope.row.fBusinessType"
  1307. filterable
  1308. disabled
  1309. :remote-method="kqhouseRemoteMethod"
  1310. placeholder="请选择商品属性"
  1311. >
  1312. <el-option
  1313. v-for="(dict, index) in fStorageTypeOptions"
  1314. :key="index.dictValue"
  1315. :label="dict.dictLabel"
  1316. :value="dict.dictValue"
  1317. />
  1318. </el-select>
  1319. </template>
  1320. </el-table-column>
  1321. <el-table-column
  1322. prop="fMarks"
  1323. header-align="center"
  1324. align="center"
  1325. width="140px"
  1326. label="*属性详情"
  1327. >
  1328. </el-table-column>
  1329. <el-table-column
  1330. prop="fWarehouseInformation"
  1331. header-align="center"
  1332. width="240px"
  1333. align="center"
  1334. label="*库区"
  1335. >
  1336. <template slot-scope="scope">
  1337. <el-input
  1338. placeholder="请选择"
  1339. disabled
  1340. v-model="scope.row.fWarehouseInformation"
  1341. @focus="getTreeselect(scope)"
  1342. >
  1343. </el-input>
  1344. </template>
  1345. </el-table-column>
  1346. <el-table-column
  1347. prop="fPlanqty"
  1348. header-align="center"
  1349. align="center"
  1350. width="180px"
  1351. label="*结余库存"
  1352. >
  1353. </el-table-column>
  1354. <el-table-column
  1355. prop="fPlangrossweight"
  1356. header-align="center"
  1357. align="center"
  1358. width="180px"
  1359. label="*结余毛重(kg)"
  1360. >
  1361. </el-table-column>
  1362. <el-table-column
  1363. prop="fPlannetweight"
  1364. header-align="center"
  1365. align="center"
  1366. width="180px"
  1367. label="*结余净重(kg)"
  1368. >
  1369. </el-table-column>
  1370. <el-table-column
  1371. prop="fQty"
  1372. header-align="center"
  1373. width="180px"
  1374. align="center"
  1375. label="*出库件数"
  1376. >
  1377. <template slot-scope="scope">
  1378. <el-input
  1379. oninput='this.value=this.value.replace(/[^\-?\d]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "")'
  1380. @change="qtyChange(scope.row)"
  1381. v-model="scope.row.fQty"
  1382. :disabled="browseStatus || scope.row.fBillstatus === 40"
  1383. placeholder="出库件数"
  1384. show-word-limit
  1385. />
  1386. </template>
  1387. </el-table-column>
  1388. <el-table-column
  1389. prop="fGrossweight"
  1390. header-align="center"
  1391. width="180px"
  1392. align="center"
  1393. label="*出库毛重(kg)"
  1394. >
  1395. <template slot-scope="scope">
  1396. <el-input
  1397. :disabled="browseStatus || scope.row.fBillstatus === 40"
  1398. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1399. v-model="scope.row.fGrossweight"
  1400. @change="changeOutStock(scope.row)"
  1401. placeholder="出库毛重"
  1402. show-word-limit
  1403. />
  1404. </template>
  1405. </el-table-column>
  1406. <el-table-column
  1407. prop="fNetweight"
  1408. header-align="center"
  1409. width="180px"
  1410. align="center"
  1411. label="*出库净重(kg)"
  1412. >
  1413. <template slot-scope="scope">
  1414. <el-input
  1415. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1416. v-model="scope.row.fNetweight"
  1417. :disabled="browseStatus || scope.row.fBillstatus === 40"
  1418. @change="changeOutStock(scope.row)"
  1419. placeholder="出库净重"
  1420. show-word-limit
  1421. />
  1422. </template>
  1423. </el-table-column>
  1424. <el-table-column
  1425. prop="fPackagespecs"
  1426. header-align="center"
  1427. width="180px"
  1428. align="center"
  1429. label="*包装规格"
  1430. >
  1431. <template slot-scope="scope">
  1432. <el-input
  1433. v-model="scope.row.fPackagespecs"
  1434. :disabled="
  1435. browseStatus ||
  1436. scope.row.fBillstatus === 20 ||
  1437. scope.row.fBillstatus === 30 ||
  1438. scope.row.fBillstatus === 40
  1439. "
  1440. placeholder="包装规格"
  1441. show-word-limit
  1442. />
  1443. </template>
  1444. </el-table-column>
  1445. <el-table-column
  1446. prop="fCntrtype"
  1447. header-align="center"
  1448. align="center"
  1449. width="140px"
  1450. label="箱型"
  1451. >
  1452. <template slot-scope="scope">
  1453. <el-input
  1454. v-model="scope.row.fCntrtype"
  1455. :disabled="
  1456. browseStatus ||
  1457. scope.row.fBillstatus === 20 ||
  1458. scope.row.fBillstatus === 30 ||
  1459. scope.row.fBillstatus === 40
  1460. "
  1461. placeholder="箱型"
  1462. show-word-limit
  1463. />
  1464. </template>
  1465. </el-table-column>
  1466. <el-table-column
  1467. prop="fCntqty"
  1468. header-align="center"
  1469. align="center"
  1470. width="140px"
  1471. label="箱量"
  1472. >
  1473. <template slot-scope="scope">
  1474. <el-input
  1475. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1476. v-model="scope.row.fCntqty"
  1477. placeholder="箱量"
  1478. :disabled="
  1479. browseStatus ||
  1480. scope.row.fBillstatus === 20 ||
  1481. scope.row.fBillstatus === 30 ||
  1482. scope.row.fBillstatus === 40
  1483. "
  1484. show-word-limit
  1485. />
  1486. </template>
  1487. </el-table-column>
  1488. <el-table-column
  1489. prop="fCntrno"
  1490. header-align="center"
  1491. width="150px"
  1492. align="center"
  1493. label="箱号"
  1494. >
  1495. <template slot-scope="scope">
  1496. <el-input
  1497. v-model="scope.row.fCntrno"
  1498. placeholder="箱号"
  1499. :disabled="
  1500. browseStatus ||
  1501. scope.row.fBillstatus === 20 ||
  1502. scope.row.fBillstatus === 30 ||
  1503. scope.row.fBillstatus === 40
  1504. "
  1505. show-word-limit
  1506. />
  1507. </template>
  1508. </el-table-column>
  1509. <el-table-column
  1510. prop="fGoodsval"
  1511. header-align="center"
  1512. width="150px"
  1513. align="center"
  1514. label="货值"
  1515. >
  1516. <template slot-scope="scope">
  1517. <el-input
  1518. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/, "$1$2.$3")'
  1519. v-model="scope.row.fGoodsval"
  1520. placeholder="货值"
  1521. :disabled="
  1522. browseStatus ||
  1523. scope.row.fBillstatus === 20 ||
  1524. scope.row.fBillstatus === 30 ||
  1525. scope.row.fBillstatus === 40
  1526. "
  1527. show-word-limit
  1528. />
  1529. </template>
  1530. </el-table-column>
  1531. <el-table-column
  1532. prop="ftruckno"
  1533. header-align="center"
  1534. width="150px"
  1535. align="center"
  1536. label="*车号"
  1537. >
  1538. <template slot-scope="scope">
  1539. <el-input
  1540. v-model="scope.row.fTruckno"
  1541. placeholder="车号"
  1542. :disabled="
  1543. browseStatus ||
  1544. scope.row.fBillstatus === 20 ||
  1545. scope.row.fBillstatus === 30 ||
  1546. scope.row.fBillstatus === 40
  1547. "
  1548. show-word-limit
  1549. />
  1550. </template>
  1551. </el-table-column>
  1552. <el-table-column
  1553. prop="fDriverName"
  1554. header-align="center"
  1555. width="130px"
  1556. align="center"
  1557. label="司机名"
  1558. >
  1559. <template slot-scope="scope">
  1560. <el-input
  1561. v-model="scope.row.fDriverName"
  1562. placeholder="司机名"
  1563. :disabled="
  1564. browseStatus ||
  1565. scope.row.fBillstatus === 20 ||
  1566. scope.row.fBillstatus === 30 ||
  1567. scope.row.fBillstatus === 40
  1568. "
  1569. show-word-limit
  1570. />
  1571. </template>
  1572. </el-table-column>
  1573. <el-table-column
  1574. prop="fDriverTel"
  1575. header-align="center"
  1576. width="130px"
  1577. align="center"
  1578. label="司机电话"
  1579. >
  1580. <template slot-scope="scope">
  1581. <el-input
  1582. oninput='this.value=this.value.replace(/[^\-?\d]/g,"")'
  1583. v-model="scope.row.fDriverTel"
  1584. placeholder="司机电话"
  1585. :disabled="
  1586. browseStatus ||
  1587. scope.row.fBillstatus === 20 ||
  1588. scope.row.fBillstatus === 30 ||
  1589. scope.row.fBillstatus === 40
  1590. "
  1591. show-word-limit
  1592. />
  1593. </template>
  1594. </el-table-column>
  1595. <el-table-column
  1596. prop="fDriverIdCar"
  1597. header-align="center"
  1598. width="200px"
  1599. align="center"
  1600. label="司机身份证"
  1601. >
  1602. <template slot-scope="scope">
  1603. <el-input
  1604. v-model="scope.row.fDriverIdCar"
  1605. placeholder="司机身份证"
  1606. :disabled="
  1607. browseStatus ||
  1608. scope.row.fBillstatus === 20 ||
  1609. scope.row.fBillstatus === 30 ||
  1610. scope.row.fBillstatus === 40
  1611. "
  1612. show-word-limit
  1613. />
  1614. </template>
  1615. </el-table-column>
  1616. <el-table-column
  1617. prop="fIsPass"
  1618. header-align="center"
  1619. width="130px"
  1620. align="center"
  1621. label="是否放行"
  1622. >
  1623. <template slot-scope="scope">
  1624. <el-select
  1625. v-model="scope.row.fIsPass"
  1626. placeholder="是否放行"
  1627. :disabled="browseStatus || scope.row.fBillstatus === 40"
  1628. style="width: 80%"
  1629. >
  1630. <el-option
  1631. v-for="(dict, index) in releaseList"
  1632. :key="index.dictValue"
  1633. :label="dict.dictLabel"
  1634. :value="dict.dictValue"
  1635. />
  1636. </el-select>
  1637. </template>
  1638. </el-table-column>
  1639. <el-table-column
  1640. prop="fSerialNumber"
  1641. header-align="center"
  1642. width="160px"
  1643. align="center"
  1644. label="流水号"
  1645. >
  1646. </el-table-column>
  1647. <el-table-column
  1648. prop="remark"
  1649. header-align="center"
  1650. width="150px"
  1651. align="center"
  1652. label="备注"
  1653. >
  1654. <template slot-scope="scope">
  1655. <el-input
  1656. v-model="scope.row.remark"
  1657. placeholder="备注"
  1658. :disabled="browseStatus"
  1659. show-word-limit
  1660. />
  1661. </template>
  1662. </el-table-column>
  1663. <el-table-column
  1664. header-align="center"
  1665. align="center"
  1666. label="操作"
  1667. width="130PX"
  1668. >
  1669. <template slot-scope="scope">
  1670. <el-button
  1671. @click.native.prevent="deleteRow(scope.$index, dataList)"
  1672. size="small"
  1673. :disabled="
  1674. browseStatus ||
  1675. scope.row.fBillstatus === 20 ||
  1676. scope.row.fBillstatus === 30 ||
  1677. scope.row.fBillstatus === 40
  1678. "
  1679. >移除
  1680. </el-button>
  1681. </template>
  1682. </el-table-column>
  1683. </el-table>
  1684. </el-collapse-item>
  1685. <el-collapse-item>
  1686. <template slot="title">
  1687. <i class="el-icon-s-order"></i>附件明细
  1688. </template>
  1689. <div
  1690. class="dialogTableTitle flex a-center jlr"
  1691. style="
  1692. display: flex;
  1693. justify-content: space-between;
  1694. align-items: center;
  1695. margin: 10px 0;
  1696. "
  1697. >
  1698. <div>
  1699. <el-button :disabled="browseStatus" @click.prevent="addRelevt()"
  1700. >新行
  1701. </el-button>
  1702. </div>
  1703. </div>
  1704. <el-table
  1705. :data="relevantAttachments"
  1706. ref="table"
  1707. tooltip-effect="dark"
  1708. border
  1709. stripe
  1710. style="width: 100%"
  1711. height="150"
  1712. >
  1713. <el-table-column label="序号" type="index" width="80">
  1714. </el-table-column>
  1715. <el-table-column
  1716. prop="fName"
  1717. header-align="center"
  1718. align="center"
  1719. width="250px"
  1720. label="附件名称"
  1721. >
  1722. <template slot-scope="scope">
  1723. <el-input
  1724. v-model="scope.row.fName"
  1725. :disabled="browseStatus"
  1726. placeholder="附件名称"
  1727. show-word-limit
  1728. />
  1729. </template>
  1730. </el-table-column>
  1731. <el-table-column
  1732. prop="createBy"
  1733. header-align="center"
  1734. align="center"
  1735. width="250px"
  1736. label="上传人"
  1737. >
  1738. <template slot-scope="scope">
  1739. <el-input
  1740. v-model="scope.row.createBy"
  1741. disabled
  1742. placeholder="上传人"
  1743. show-word-limit
  1744. />
  1745. </template>
  1746. </el-table-column>
  1747. <el-table-column
  1748. prop="createTime"
  1749. header-align="center"
  1750. align="center"
  1751. label="上传时间"
  1752. >
  1753. <template slot-scope="scope">
  1754. <el-date-picker
  1755. v-model="scope.row.createTime"
  1756. type="date"
  1757. disabled
  1758. placeholder="上传时间"
  1759. format="yyyy-MM-dd HH:mm"
  1760. value-format="timestamp"
  1761. ></el-date-picker>
  1762. </template>
  1763. </el-table-column>
  1764. <el-table-column
  1765. prop="fUrl"
  1766. header-align="center"
  1767. align="center"
  1768. width="300px"
  1769. label="上传附件"
  1770. >
  1771. <template slot-scope="scope">
  1772. <el-upload
  1773. class="upload-demo"
  1774. :action="uploadImgUrl"
  1775. :on-success="
  1776. (res, file) => {
  1777. handleSucces(scope, res, file);
  1778. }
  1779. "
  1780. :headers="headers"
  1781. style="width: 25%; float: left"
  1782. :disabled="browseStatus"
  1783. :show-file-list="false"
  1784. :limit="1"
  1785. >
  1786. <el-button
  1787. size="small"
  1788. type="primary"
  1789. :disabled="browseStatus"
  1790. >点击上传</el-button
  1791. >
  1792. </el-upload>
  1793. <el-button size="small" type="primary" @click="checkFile(scope)"
  1794. >查看</el-button
  1795. >
  1796. <el-button
  1797. size="small"
  1798. type="primary"
  1799. :disabled="browseStatus"
  1800. @click="deleteFile(scope)"
  1801. >删除</el-button
  1802. >
  1803. </template>
  1804. </el-table-column>
  1805. <el-table-column header-align="center" align="center" label="操作">
  1806. <template slot-scope="scope">
  1807. <el-button
  1808. @click.native.prevent="
  1809. deleteRow(scope.$index, relevantAttachments)
  1810. "
  1811. :disabled="browseStatus"
  1812. size="small"
  1813. >移除
  1814. </el-button>
  1815. </template>
  1816. </el-table-column>
  1817. </el-table>
  1818. </el-collapse-item>
  1819. <el-collapse-item>
  1820. <template slot="title">
  1821. <i class="el-icon-circle-plus"></i>收款信息
  1822. </template>
  1823. <div
  1824. class="dialogTableTitle flex a-center jlr"
  1825. style="
  1826. display: flex;
  1827. justify-content: space-between;
  1828. align-items: center;
  1829. margin: 10px 0;
  1830. "
  1831. >
  1832. <div>
  1833. <el-button
  1834. :disabled="browseStatus"
  1835. @click.prevent="addCollection()"
  1836. >新行
  1837. </el-button>
  1838. <el-button
  1839. type="primary"
  1840. :disabled="browseStatus"
  1841. @click="saveForm"
  1842. >保 存</el-button
  1843. >
  1844. <!--暂时隐藏-->
  1845. <!-- <el-button type="warning" @click.prevent="addStorages('Dr')">仓储费协议</el-button >-->
  1846. <el-button
  1847. type="danger"
  1848. :disabled="browseStatus"
  1849. @click.prevent="addAgreement('Dr', 3)"
  1850. >作业费协议</el-button
  1851. >
  1852. </div>
  1853. </div>
  1854. <el-table
  1855. :data="warehouseDrList"
  1856. ref="tableDr"
  1857. tooltip-effect="dark"
  1858. border
  1859. stripe
  1860. show-summary
  1861. @selection-change="collectionoptions"
  1862. :summary-method="warehouseDrSummaries"
  1863. >
  1864. <el-table-column type="selection" width="55" align="center" />
  1865. <el-table-column label="序号" type="index" width="80">
  1866. </el-table-column>
  1867. <el-table-column
  1868. prop="fCorpid"
  1869. header-align="center"
  1870. align="center"
  1871. width="180px"
  1872. label="客户名称"
  1873. >
  1874. <template slot-scope="scope">
  1875. <el-select
  1876. v-model="scope.row.fCorpid"
  1877. filterable
  1878. remote
  1879. :disabled="browseStatus"
  1880. :remote-method="corpsRemoteMethod"
  1881. placeholder="客户名称"
  1882. >
  1883. <el-option
  1884. v-for="(dict, index) in KHblnoOptions"
  1885. :key="index.fId"
  1886. :label="dict.fName"
  1887. :value="dict.fId"
  1888. ></el-option>
  1889. </el-select>
  1890. </template>
  1891. </el-table-column>
  1892. <el-table-column
  1893. prop="fFeeid"
  1894. header-align="center"
  1895. align="center"
  1896. width="180px"
  1897. label="费用名称"
  1898. >
  1899. <template slot-scope="scope">
  1900. <el-select
  1901. v-model="scope.row.fFeeid"
  1902. filterable
  1903. remote
  1904. :disabled="browseStatus"
  1905. :remote-method="fWRemoteMethod"
  1906. @change="changeFeeId(scope.row)"
  1907. placeholder="费用名称"
  1908. >
  1909. <el-option
  1910. v-for="(dict, index) in fDNameOptions"
  1911. :key="index.fId"
  1912. :label="dict.fName"
  1913. :value="dict.fId"
  1914. ></el-option>
  1915. </el-select>
  1916. </template>
  1917. </el-table-column>
  1918. <el-table-column
  1919. prop="fBusinessType"
  1920. header-align="center"
  1921. align="center"
  1922. width="180px"
  1923. label="作业类型"
  1924. >
  1925. <template slot-scope="scope">
  1926. <el-select
  1927. style="width: 80%"
  1928. v-model="scope.row.fBusinessType"
  1929. filterable
  1930. disabled
  1931. >
  1932. <el-option
  1933. v-for="(dict, index) in businessTypeOption"
  1934. :key="index.dictValue"
  1935. :label="dict.dictLabel"
  1936. :value="dict.dictValue"
  1937. ></el-option>
  1938. </el-select>
  1939. </template>
  1940. </el-table-column>
  1941. <el-table-column
  1942. prop="fFeeunitid"
  1943. header-align="center"
  1944. align="center"
  1945. width="180px"
  1946. label="计价单位"
  1947. >
  1948. <template slot-scope="scope">
  1949. <el-select
  1950. v-model="scope.row.fFeeunitid"
  1951. placeholder="请选择计费单位"
  1952. @change="changeFeeUnit(scope.row)"
  1953. :disabled="browseStatus"
  1954. clearable
  1955. >
  1956. <el-option
  1957. v-for="(dict, index) in jFeetunitOptions"
  1958. :key="index.dictValue"
  1959. :label="dict.dictLabel"
  1960. :value="dict.dictValue"
  1961. />
  1962. </el-select>
  1963. </template>
  1964. </el-table-column>
  1965. <el-table-column
  1966. prop="fQty"
  1967. header-align="center"
  1968. align="center"
  1969. width="150px"
  1970. label="数量"
  1971. >
  1972. <template slot-scope="scope">
  1973. <el-input
  1974. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1975. v-model="scope.row.fQty"
  1976. placeholder="数量"
  1977. :disabled="browseStatus"
  1978. @change="changeContractAmt(scope.row)"
  1979. show-word-limit
  1980. />
  1981. </template>
  1982. </el-table-column>
  1983. <el-table-column
  1984. prop="funitprice"
  1985. header-align="center"
  1986. align="center"
  1987. width="150px"
  1988. label="单价"
  1989. >
  1990. <template slot-scope="scope">
  1991. <el-input
  1992. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1993. v-model="scope.row.fUnitprice"
  1994. placeholder="单价"
  1995. :disabled="browseStatus || scope.row.fSrcTypeId !== 0"
  1996. @change="changeContractAmt(scope.row)"
  1997. show-word-limit
  1998. />
  1999. </template>
  2000. </el-table-column>
  2001. <el-table-column
  2002. prop="fAmount"
  2003. header-align="center"
  2004. align="center"
  2005. width="150px"
  2006. label="金额"
  2007. >
  2008. <template slot-scope="scope">
  2009. <el-input
  2010. disabled
  2011. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  2012. v-model="scope.row.fAmount"
  2013. placeholder="金额"
  2014. show-word-limit
  2015. />
  2016. </template>
  2017. </el-table-column>
  2018. <el-table-column
  2019. prop="fStltypeid"
  2020. header-align="center"
  2021. align="center"
  2022. width="130px"
  2023. label="结算方式"
  2024. >
  2025. <template slot-scope="scope">
  2026. <el-select
  2027. v-model="scope.row.fStltypeid"
  2028. placeholder="请选择结算表票结、月结"
  2029. :disabled="browseStatus"
  2030. >
  2031. <el-option
  2032. v-for="dict in fStltypeOptions"
  2033. :key="dict.dictValue"
  2034. :label="dict.dictLabel"
  2035. :value="parseInt(dict.dictValue)"
  2036. ></el-option>
  2037. </el-select>
  2038. </template>
  2039. </el-table-column>
  2040. <el-table-column
  2041. prop="fCurrency"
  2042. header-align="center"
  2043. align="center"
  2044. width="150px"
  2045. label="币别"
  2046. >
  2047. <template slot-scope="scope">
  2048. <el-input
  2049. v-model="scope.row.fCurrency"
  2050. :disabled="browseStatus"
  2051. placeholder="币别"
  2052. show-word-limit
  2053. />
  2054. </template>
  2055. </el-table-column>
  2056. <el-table-column
  2057. prop="fExrate"
  2058. header-align="center"
  2059. align="center"
  2060. width="150px"
  2061. label="汇率"
  2062. >
  2063. <template slot-scope="scope">
  2064. <el-input
  2065. v-model="scope.row.fExrate"
  2066. :disabled="browseStatus"
  2067. placeholder="汇率"
  2068. show-word-limit
  2069. />
  2070. </template>
  2071. </el-table-column>
  2072. <el-table-column
  2073. prop="fTaxrate"
  2074. header-align="center"
  2075. align="center"
  2076. width="150px"
  2077. label="税率"
  2078. >
  2079. <template slot-scope="scope">
  2080. <el-input
  2081. v-model="scope.row.fTaxrate"
  2082. :disabled="browseStatus"
  2083. placeholder="税率"
  2084. show-word-limit
  2085. />
  2086. </template>
  2087. </el-table-column>
  2088. <el-table-column
  2089. prop="fMblno"
  2090. header-align="center"
  2091. align="center"
  2092. width="130px"
  2093. label="提单号"
  2094. >
  2095. <template slot-scope="scope">
  2096. <el-input
  2097. v-model="scope.row.fMblno"
  2098. :disabled="browseStatus"
  2099. placeholder="提单号"
  2100. show-word-limit
  2101. />
  2102. </template>
  2103. </el-table-column>
  2104. <el-table-column
  2105. prop="fProductName"
  2106. header-align="center"
  2107. align="center"
  2108. width="140px"
  2109. label="品名"
  2110. >
  2111. <template slot-scope="scope">
  2112. <el-input
  2113. v-model="scope.row.fProductName"
  2114. :disabled="browseStatus"
  2115. placeholder="品名"
  2116. show-word-limit
  2117. />
  2118. </template>
  2119. </el-table-column>
  2120. <el-table-column
  2121. prop="fMarks"
  2122. header-align="center"
  2123. align="center"
  2124. width="130px"
  2125. label="品牌"
  2126. >
  2127. <template slot-scope="scope">
  2128. <el-input
  2129. v-model="scope.row.fMarks"
  2130. :disabled="browseStatus"
  2131. placeholder="品牌"
  2132. show-word-limit
  2133. />
  2134. </template>
  2135. </el-table-column>
  2136. <el-table-column
  2137. prop="fSrcTypeId"
  2138. header-align="center"
  2139. align="center"
  2140. width="130px"
  2141. label="来源"
  2142. >
  2143. <template slot-scope="scope">
  2144. <span v-if="scope.row.fSrcTypeId === 0">录入</span>
  2145. <span v-if="scope.row.fSrcTypeId !== 0">协议</span>
  2146. </template>
  2147. </el-table-column>
  2148. <el-table-column
  2149. prop="remarks"
  2150. header-align="center"
  2151. align="center"
  2152. width="150px"
  2153. label="备注"
  2154. >
  2155. <template slot-scope="scope">
  2156. <el-input
  2157. v-model="scope.row.remarks"
  2158. :disabled="browseStatus"
  2159. placeholder="备注"
  2160. show-word-limit
  2161. />
  2162. </template>
  2163. </el-table-column>
  2164. <el-table-column
  2165. header-align="center"
  2166. align="center"
  2167. label="操作"
  2168. width="200px"
  2169. >
  2170. <template slot-scope="scope">
  2171. <el-button
  2172. @click.native.prevent="
  2173. deleteRow(scope.$index, warehouseDrList)
  2174. "
  2175. size="small"
  2176. :disabled="browseStatus"
  2177. >移除</el-button
  2178. >
  2179. </template>
  2180. </el-table-column>
  2181. </el-table>
  2182. </el-collapse-item>
  2183. <el-collapse-item>
  2184. <template slot="title">
  2185. <i class="el-icon-remove"></i>付款信息
  2186. </template>
  2187. <div
  2188. class="dialogTableTitle flex a-center jlr"
  2189. style="
  2190. display: flex;
  2191. justify-content: space-between;
  2192. align-items: center;
  2193. margin: 10px 0;
  2194. "
  2195. >
  2196. <div>
  2197. <el-button :disabled="browseStatus" @click.prevent="addpayment()"
  2198. >新行
  2199. </el-button>
  2200. <!-- <el-button :disabled="browseStatus" @click.prevent="deleteRow(warehouseDrList)"
  2201. >删除
  2202. </el-button> -->
  2203. <el-button
  2204. type="primary"
  2205. :disabled="browseStatus"
  2206. @click="saveForm"
  2207. >保 存</el-button
  2208. >
  2209. <!--暂时隐藏-->
  2210. <!-- <el-button type="warning" @click.prevent="addStorages('Cr')">仓储费协议</el-button>-->
  2211. <el-button
  2212. type="danger"
  2213. :disabled="browseStatus"
  2214. @click.prevent="addAgreement(1, 'Cr')"
  2215. >作业费协议</el-button
  2216. >
  2217. </div>
  2218. </div>
  2219. <el-table
  2220. :data="warehouseCrList"
  2221. ref="table"
  2222. tooltip-effect="dark"
  2223. border
  2224. stripe
  2225. show-summary
  2226. @selection-change="collectionoptions"
  2227. :summary-method="warehouseDrSummaries"
  2228. >
  2229. <el-table-column type="selection" width="55" align="center" />
  2230. <el-table-column label="序号" type="index" width="80">
  2231. </el-table-column>
  2232. <el-table-column
  2233. prop="fCorpid"
  2234. header-align="center"
  2235. align="center"
  2236. width="180px"
  2237. label="客户名称"
  2238. >
  2239. <template slot-scope="scope">
  2240. <el-select
  2241. v-model="scope.row.fCorpid"
  2242. filterable
  2243. remote
  2244. :disabled="browseStatus"
  2245. :remote-method="corpsRemoteMethod"
  2246. placeholder="客户名称"
  2247. >
  2248. <el-option
  2249. v-for="(dict, index) in KHblnoOptions"
  2250. :key="index.fId"
  2251. :label="dict.fName"
  2252. :value="dict.fId"
  2253. ></el-option>
  2254. </el-select>
  2255. </template>
  2256. </el-table-column>
  2257. <el-table-column
  2258. prop="fFeeid"
  2259. header-align="center"
  2260. align="center"
  2261. width="180px"
  2262. label="费用名称"
  2263. >
  2264. <template slot-scope="scope">
  2265. <el-select
  2266. v-model="scope.row.fFeeid"
  2267. filterable
  2268. remote
  2269. :disabled="browseStatus"
  2270. :remote-method="fWRemoteMethod"
  2271. @change="changeFeeId(scope.row)"
  2272. placeholder="费用名称"
  2273. >
  2274. <el-option
  2275. v-for="(dict, index) in fCNameOptions"
  2276. :key="index.fId"
  2277. :label="dict.fName"
  2278. :value="dict.fId"
  2279. ></el-option>
  2280. </el-select>
  2281. </template>
  2282. </el-table-column>
  2283. <el-table-column
  2284. prop="fBusinessType"
  2285. header-align="center"
  2286. align="center"
  2287. width="180px"
  2288. label="作业类型"
  2289. >
  2290. <template slot-scope="scope">
  2291. <el-select
  2292. style="width: 80%"
  2293. v-model="scope.row.fBusinessType"
  2294. filterable
  2295. disabled
  2296. >
  2297. <el-option
  2298. v-for="(dict, index) in businessTypeOption"
  2299. :key="index.dictValue"
  2300. :label="dict.dictLabel"
  2301. :value="dict.dictValue"
  2302. ></el-option>
  2303. </el-select>
  2304. </template>
  2305. </el-table-column>
  2306. <el-table-column
  2307. prop="fFeeunitid"
  2308. header-align="center"
  2309. align="center"
  2310. width="180px"
  2311. label="计价单位"
  2312. >
  2313. <template slot-scope="scope">
  2314. <el-select
  2315. v-model="scope.row.fFeeunitid"
  2316. placeholder="请选择计费单位"
  2317. @change="changeFeeUnit(scope.row)"
  2318. :disabled="browseStatus"
  2319. clearable
  2320. >
  2321. <el-option
  2322. v-for="(dict, index) in jFeetunitOptions"
  2323. :key="index.dictValue"
  2324. :label="dict.dictLabel"
  2325. :value="dict.dictValue"
  2326. ></el-option>
  2327. </el-select>
  2328. </template>
  2329. </el-table-column>
  2330. <el-table-column
  2331. prop="fQty"
  2332. header-align="center"
  2333. align="center"
  2334. width="150px"
  2335. label="数量"
  2336. >
  2337. <template slot-scope="scope">
  2338. <el-input
  2339. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  2340. v-model="scope.row.fQty"
  2341. @change="changeContractAmt(scope.row)"
  2342. :disabled="browseStatus"
  2343. placeholder="数量"
  2344. show-word-limit
  2345. />
  2346. </template>
  2347. </el-table-column>
  2348. <el-table-column
  2349. prop="funitprice"
  2350. header-align="center"
  2351. align="center"
  2352. width="150px"
  2353. label="单价"
  2354. >
  2355. <template slot-scope="scope">
  2356. <el-input
  2357. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  2358. v-model="scope.row.fUnitprice"
  2359. @change="changeContractAmt(scope.row)"
  2360. :disabled="browseStatus || scope.row.fSrcTypeId !== 0"
  2361. placeholder="单价"
  2362. show-word-limit
  2363. />
  2364. </template>
  2365. </el-table-column>
  2366. <el-table-column
  2367. prop="fAmount"
  2368. header-align="center"
  2369. align="center"
  2370. width="150px"
  2371. label="金额"
  2372. >
  2373. <template slot-scope="scope">
  2374. <el-input
  2375. disabled
  2376. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  2377. v-model="scope.row.fAmount"
  2378. placeholder="金额"
  2379. show-word-limit
  2380. />
  2381. </template>
  2382. </el-table-column>
  2383. <el-table-column
  2384. prop="fStltypeid"
  2385. header-align="center"
  2386. align="center"
  2387. width="130px"
  2388. label="结算方式"
  2389. >
  2390. <template slot-scope="scope">
  2391. <el-select
  2392. v-model="scope.row.fStltypeid"
  2393. placeholder="请选择结算表票结、月结"
  2394. :disabled="browseStatus"
  2395. >
  2396. <el-option
  2397. v-for="dict in fStltypeOptions"
  2398. :key="dict.dictValue"
  2399. :label="dict.dictLabel"
  2400. :value="parseInt(dict.dictValue)"
  2401. ></el-option>
  2402. </el-select>
  2403. </template>
  2404. </el-table-column>
  2405. <el-table-column
  2406. prop="fCurrency"
  2407. header-align="center"
  2408. align="center"
  2409. width="150px"
  2410. label="币别"
  2411. >
  2412. <template slot-scope="scope">
  2413. <el-input
  2414. v-model="scope.row.fCurrency"
  2415. :disabled="browseStatus"
  2416. placeholder="币别"
  2417. show-word-limit
  2418. />
  2419. </template>
  2420. </el-table-column>
  2421. <el-table-column
  2422. prop="fExrate"
  2423. header-align="center"
  2424. align="center"
  2425. width="150px"
  2426. label="汇率"
  2427. >
  2428. <template slot-scope="scope">
  2429. <el-input
  2430. v-model="scope.row.fExrate"
  2431. :disabled="browseStatus"
  2432. placeholder="汇率"
  2433. show-word-limit
  2434. />
  2435. </template>
  2436. </el-table-column>
  2437. <el-table-column
  2438. prop="fTaxrate"
  2439. header-align="center"
  2440. align="center"
  2441. width="150px"
  2442. label="税率"
  2443. >
  2444. <template slot-scope="scope">
  2445. <el-input
  2446. v-model="scope.row.fTaxrate"
  2447. :disabled="browseStatus"
  2448. placeholder="税率"
  2449. show-word-limit
  2450. />
  2451. </template>
  2452. </el-table-column>
  2453. <el-table-column
  2454. prop="fMblno"
  2455. header-align="center"
  2456. align="center"
  2457. width="130px"
  2458. label="提单号"
  2459. >
  2460. <template slot-scope="scope">
  2461. <el-input
  2462. v-model="scope.row.fMblno"
  2463. :disabled="browseStatus"
  2464. placeholder="提单号"
  2465. show-word-limit
  2466. />
  2467. </template>
  2468. </el-table-column>
  2469. <el-table-column
  2470. prop="fProductName"
  2471. header-align="center"
  2472. align="center"
  2473. width="140px"
  2474. label="品名"
  2475. >
  2476. <template slot-scope="scope">
  2477. <el-input
  2478. v-model="scope.row.fProductName"
  2479. :disabled="browseStatus"
  2480. placeholder="品名"
  2481. show-word-limit
  2482. />
  2483. </template>
  2484. </el-table-column>
  2485. <el-table-column
  2486. prop="fMarks"
  2487. header-align="center"
  2488. align="center"
  2489. width="130px"
  2490. label="品牌"
  2491. >
  2492. <template slot-scope="scope">
  2493. <el-input
  2494. v-model="scope.row.fMarks"
  2495. :disabled="browseStatus"
  2496. placeholder="品牌"
  2497. show-word-limit
  2498. />
  2499. </template>
  2500. </el-table-column>
  2501. <el-table-column
  2502. prop="fSrcTypeId"
  2503. header-align="center"
  2504. align="center"
  2505. width="130px"
  2506. label="来源"
  2507. >
  2508. <template slot-scope="scope">
  2509. <span v-if="scope.row.fSrcTypeId === 0">录入</span>
  2510. <span v-if="scope.row.fSrcTypeId !== 0">协议</span>
  2511. </template>
  2512. </el-table-column>
  2513. <el-table-column
  2514. prop="remarks"
  2515. header-align="center"
  2516. align="center"
  2517. width="150px"
  2518. label="备注"
  2519. >
  2520. <template slot-scope="scope">
  2521. <el-input
  2522. v-model="scope.row.remarks"
  2523. :disabled="browseStatus"
  2524. placeholder="备注"
  2525. show-word-limit
  2526. />
  2527. </template>
  2528. </el-table-column>
  2529. <el-table-column
  2530. header-align="center"
  2531. align="center"
  2532. width="200px"
  2533. label="操作"
  2534. >
  2535. <template slot-scope="scope">
  2536. <el-button
  2537. @click.native.prevent="
  2538. deleteRow(scope.$index, warehouseCrList)
  2539. "
  2540. size="small"
  2541. :disabled="browseStatus"
  2542. >移除</el-button
  2543. >
  2544. </template>
  2545. </el-table-column>
  2546. </el-table>
  2547. </el-collapse-item>
  2548. </el-collapse>
  2549. <div slot="footer" class="dialog-footer">
  2550. <!-- <el-button type="success" prop="打印" @click="showEditDialog_ss"
  2551. >收货单
  2552. </el-button> -->
  2553. <el-button
  2554. type="primary"
  2555. :disabled="approvalStatus"
  2556. @click="addOrUpdateHandle(form)"
  2557. v-if="form.fBillstatus > 3"
  2558. >查看审批</el-button
  2559. >
  2560. <el-button
  2561. type="primary"
  2562. v-if="approVal === true"
  2563. @click="addOrUpdateHand(form)"
  2564. >审批</el-button
  2565. >
  2566. <el-button
  2567. type="warning"
  2568. prop="打印"
  2569. :disabled="printinglist.length <= 0 || browseStatus"
  2570. @click="showEditDialog_s"
  2571. >出库单
  2572. </el-button>
  2573. <el-button
  2574. :disabled="printinglist.length <= 0 || browseStatus"
  2575. @click="discharge"
  2576. >装货</el-button
  2577. >
  2578. <el-button
  2579. type="info"
  2580. prop="打印"
  2581. :disabled="printinglist.length <= 0 || browseStatus"
  2582. @click="printJobSheet"
  2583. >作业单
  2584. </el-button>
  2585. <el-button type="primary" :disabled="browseStatus" @click="saveForm"
  2586. >保 存</el-button
  2587. >
  2588. <el-button
  2589. style="background-color: #008000; color: #fff"
  2590. @click="submitForm"
  2591. :disabled="browseStatus"
  2592. >请核</el-button
  2593. >
  2594. <el-button type="danger" v-if="form.fBillstatus === 6" @click="revoke"
  2595. >撤销请核</el-button
  2596. >
  2597. <el-button
  2598. type="danger"
  2599. v-if="form.fBillstatus === 4 && current === before"
  2600. :disabled="doNot"
  2601. @click="revokeTwo"
  2602. >撤销审批</el-button
  2603. >
  2604. <el-button @click="cancelTwo" v-if="approVal === true">取 消</el-button>
  2605. <el-button @click="cancel" v-else>取 消</el-button>
  2606. </div>
  2607. <!-- 选择库存总账数据 -->
  2608. <el-dialog
  2609. title="库存总账"
  2610. :modal="false"
  2611. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  2612. :visible.sync="whgenlegVisible"
  2613. width="70%"
  2614. >
  2615. <el-table
  2616. :data="whgenlegList"
  2617. ref="table"
  2618. tooltip-effect="dark"
  2619. width="100%"
  2620. border
  2621. stripe
  2622. @selection-change="whgenlegSelectionChange"
  2623. >
  2624. <el-table-column type="selection" width="55"> </el-table-column>
  2625. <el-table-column
  2626. prop="fMblno"
  2627. header-align="center"
  2628. align="center"
  2629. label="提单号"
  2630. >
  2631. </el-table-column>
  2632. <el-table-column
  2633. prop="fOriginalbilldate"
  2634. header-align="center"
  2635. align="center"
  2636. width="180px"
  2637. label="入库日期"
  2638. >
  2639. </el-table-column>
  2640. <el-table-column
  2641. prop="fGoodsids"
  2642. header-align="center"
  2643. align="center"
  2644. label="品名"
  2645. >
  2646. </el-table-column>
  2647. <el-table-column
  2648. prop="fCntrno"
  2649. header-align="center"
  2650. align="center"
  2651. label="箱号"
  2652. />
  2653. <el-table-column
  2654. prop="fGrossweightblc"
  2655. header-align="center"
  2656. align="center"
  2657. label="毛重"
  2658. />
  2659. <el-table-column
  2660. prop="fNetweightblc"
  2661. header-align="center"
  2662. align="center"
  2663. label="净重"
  2664. />
  2665. <el-table-column
  2666. prop="fQtyblc"
  2667. header-align="center"
  2668. align="center"
  2669. label="结余数量"
  2670. >
  2671. </el-table-column>
  2672. <!-- <el-table-column-->
  2673. <!-- prop="fWarehouseid"-->
  2674. <!-- header-align="center"-->
  2675. <!-- align="center"-->
  2676. <!-- label="仓库"-->
  2677. <!-- >-->
  2678. <!-- </el-table-column>-->
  2679. <el-table-column
  2680. prop="fWarehouseids"
  2681. header-align="center"
  2682. align="center"
  2683. label="库位"
  2684. >
  2685. </el-table-column>
  2686. <el-table-column
  2687. prop="fMarks"
  2688. header-align="center"
  2689. align="center"
  2690. label="品牌"
  2691. >
  2692. </el-table-column>
  2693. </el-table>
  2694. <pagination
  2695. v-show="whgenlegTotal > 0"
  2696. :total="whgenlegTotal"
  2697. :page.sync="whgenlegParams.pageNum"
  2698. :limit.sync="whgenlegParams.pageSize"
  2699. @pagination="getWhgenlegList"
  2700. />
  2701. <div slot="footer" class="dialog-footer">
  2702. <el-button type="primary" @click="whgenlegData"
  2703. >导入库存总账</el-button
  2704. >
  2705. <el-button @click="whgenlegVisible = false">取 消</el-button>
  2706. </div>
  2707. </el-dialog>
  2708. <!-- 选择作业费协议数据 -->
  2709. <el-dialog
  2710. v-dialogDrag
  2711. title="作业费协议"
  2712. :modal="false"
  2713. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  2714. :visible.sync="warehousingagreements"
  2715. width="70%"
  2716. >
  2717. <template slot="作业费协议">
  2718. <div class="avue-crud__dialog__header">
  2719. <span class="el-dialog__title">
  2720. <span
  2721. style="
  2722. display: inline-block;
  2723. width: 3px;
  2724. height: 20px;
  2725. margin-right: 5px;
  2726. float: left;
  2727. margin-top: 2px;
  2728. "
  2729. ></span>
  2730. </span>
  2731. </div>
  2732. </template>
  2733. <el-menu
  2734. :default-active="activeIndex"
  2735. v-if="Navigation === true"
  2736. class="el-menu-demo"
  2737. mode="horizontal"
  2738. @select="handleSelect"
  2739. >
  2740. <el-menu-item index="1">车队作业费</el-menu-item>
  2741. <el-menu-item index="2">劳务作业费</el-menu-item>
  2742. </el-menu>
  2743. <el-table
  2744. :data="tasklegList"
  2745. ref="table"
  2746. tooltip-effect="dark"
  2747. width="100%"
  2748. border
  2749. stripe
  2750. @selection-change="whgenlegSelectionChange"
  2751. >
  2752. <el-table-column type="selection" width="55"> </el-table-column>
  2753. <el-table-column label="行号" type="index" width="80">
  2754. </el-table-column>
  2755. <el-table-column
  2756. prop="fCorpname"
  2757. header-align="center"
  2758. align="center"
  2759. label="客户名称"
  2760. >
  2761. </el-table-column>
  2762. <el-table-column
  2763. prop="fName"
  2764. header-align="center"
  2765. align="center"
  2766. width="180px"
  2767. label="费用名称"
  2768. >
  2769. </el-table-column>
  2770. <el-table-column
  2771. prop="fFeeUnitid"
  2772. header-align="center"
  2773. align="center"
  2774. label="计价单位"
  2775. >
  2776. <template slot-scope="scope">
  2777. <span v-if="scope.row.fFeeUnitid === 1">件数</span>
  2778. <span v-if="scope.row.fFeeUnitid === 2">毛重</span>
  2779. <span v-if="scope.row.fFeeUnitid === 3">净重</span>
  2780. <span v-if="scope.row.fFeeUnitid === 4">尺码</span>
  2781. <span v-if="scope.row.fFeeUnitid === 5">固定</span>
  2782. <span v-if="scope.row.fFeeUnitid === 5">其他</span>
  2783. <span v-if="scope.row.fFeeUnitid === 7">箱量</span>
  2784. </template>
  2785. </el-table-column>
  2786. <el-table-column
  2787. prop="fPrice"
  2788. header-align="center"
  2789. align="center"
  2790. label="单价"
  2791. >
  2792. </el-table-column>
  2793. </el-table>
  2794. <pagination
  2795. v-show="whgenlegTotal > 0"
  2796. :total="whgenlegTotal"
  2797. :page.sync="queryParams.pageNum"
  2798. :limit.sync="queryParams.pageSize"
  2799. @pagination="getWhgenlegList"
  2800. />
  2801. <div slot="footer" class="dialog-footer">
  2802. <el-button type="primary" @click="zhgenlegData">导入作业费</el-button>
  2803. <el-button
  2804. @click="
  2805. warehousingagreements = false;
  2806. Navigation = false;
  2807. "
  2808. >取 消</el-button
  2809. >
  2810. </div>
  2811. </el-dialog>
  2812. <!-- 选择仓储费协议数据 -->
  2813. <el-dialog
  2814. title="仓储费协议"
  2815. :modal="false"
  2816. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  2817. :visible.sync="storageAgreements"
  2818. width="70%"
  2819. >
  2820. <el-table
  2821. :data="tasklegList"
  2822. ref="table"
  2823. tooltip-effect="dark"
  2824. width="100%"
  2825. border
  2826. stripe
  2827. @selection-change="whgenlegSelectionChange"
  2828. >
  2829. <el-table-column type="selection" width="55"> </el-table-column>
  2830. <el-table-column
  2831. label="行号"
  2832. type="index"
  2833. width="80"
  2834. ></el-table-column>
  2835. <el-table-column
  2836. prop="fContractno"
  2837. header-align="center"
  2838. align="center"
  2839. label="提单号"
  2840. >
  2841. </el-table-column>
  2842. <el-table-column
  2843. prop="fCorpid"
  2844. header-align="center"
  2845. align="center"
  2846. label="客户名称"
  2847. >
  2848. </el-table-column>
  2849. <el-table-column
  2850. prop="fGoodsids"
  2851. header-align="center"
  2852. align="center"
  2853. label="品名"
  2854. >
  2855. </el-table-column>
  2856. <el-table-column
  2857. prop="fBegindate"
  2858. header-align="center"
  2859. align="center"
  2860. width="180px"
  2861. label="入库日期"
  2862. >
  2863. </el-table-column>
  2864. </el-table>
  2865. <pagination
  2866. v-show="whgenlegTotal > 0"
  2867. :total="whgenlegTotal"
  2868. :page.sync="whgenlegParams.pageNum"
  2869. :limit.sync="whgenlegParams.pageSize"
  2870. @pagination="getWhgenlegList"
  2871. />
  2872. <div slot="footer" class="dialog-footer">
  2873. <el-button type="primary" @click="storageFeeExport"
  2874. >导入仓储费</el-button
  2875. >
  2876. <el-button @click="storageAgreements = false">取 消</el-button>
  2877. </div>
  2878. </el-dialog>
  2879. <el-dialog
  2880. title="出库页面"
  2881. :modal="false"
  2882. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  2883. :visible.sync="editDialogVisible_s"
  2884. :close-on-click-modal="false"
  2885. width="70%"
  2886. >
  2887. <table
  2888. id="print_area"
  2889. class="biaoge zzss"
  2890. border="1"
  2891. style="border-collapse: collapse; border: none"
  2892. >
  2893. <tr>
  2894. <td
  2895. width="100"
  2896. colspan="7"
  2897. class="zzss"
  2898. style="font-size: 28px; font-weight: bold; border: none"
  2899. >
  2900. {{ company }}进仓单
  2901. </td>
  2902. </tr>
  2903. <tr>
  2904. <td
  2905. width="100"
  2906. colspan="7"
  2907. class="zzss"
  2908. style="font-size: 28px; font-weight: bold; border: none"
  2909. >
  2910. &nbsp;
  2911. </td>
  2912. </tr>
  2913. <tr>
  2914. <td width="450" colspan="2" class="zzss">
  2915. 货权方:{{ form.fCorpName }}
  2916. </td>
  2917. <td width="450" colspan="2" class="zzss">
  2918. 仓库:{{ form.fWarehouseids }}
  2919. </td>
  2920. <td width="450" colspan="3" class="zzss">地址:{{ fAddr }}</td>
  2921. </tr>
  2922. <tr>
  2923. <td width="200" colspan="2" class="zzss">
  2924. 保管方:{{ company }}有限公司
  2925. </td>
  2926. <td width="200" colspan="2" class="zzss">
  2927. 联系人:{{ form.fContacts }}
  2928. </td>
  2929. <td width="200" colspan="3" class="zzss">电话:{{ form.fTel }}</td>
  2930. </tr>
  2931. <tr>
  2932. <td width="100" border="1">提单号</td>
  2933. <td width="100">品名</td>
  2934. <td width="100">箱型</td>
  2935. <td width="100">品牌</td>
  2936. <td width="100">件数</td>
  2937. <td width="100">重量</td>
  2938. <td width="100">包装规格</td>
  2939. </tr>
  2940. <tr>
  2941. <td width="100">{{ form.fMblno }}</td>
  2942. <td width="100">{{ form.fProductName }}</td>
  2943. <td width="100">{{ dataList.fCntrtype }}</td>
  2944. <td width="100">{{ form.fMarks }}</td>
  2945. <td width="100">包</td>
  2946. <td width="100">吨</td>
  2947. <td width="100" v-if="dataList.length !== 0">
  2948. {{ dataList[0].fPackagespecs }}
  2949. </td>
  2950. <td width="100" v-else></td>
  2951. </tr>
  2952. <tr>
  2953. <td width="100">序号</td>
  2954. <td width="100">入货日期</td>
  2955. <td width="100">箱量(20GP)</td>
  2956. <td width="100">重量</td>
  2957. <td width="100">件数</td>
  2958. <td width="100">入库重量</td>
  2959. <td width="100">入库件数</td>
  2960. </tr>
  2961. <tr v-for="(item, index) in printinglist" :key="index">
  2962. <td width="100">{{ index + 1 }}</td>
  2963. <td width="100">{{ item.fChargedate }}</td>
  2964. <td width="100">{{ item.fCntqty }}</td>
  2965. <td width="100">{{ item.fGrossweight }}</td>
  2966. <td width="100">{{ item.fPlanqty }}</td>
  2967. <td width="100">{{ item.fNetweight }}</td>
  2968. <td width="100">{{ item.fQty }}</td>
  2969. </tr>
  2970. <tr>
  2971. <td width="100" colspan="2">合计:</td>
  2972. <td width="100">{{ fCntqty }}</td>
  2973. <td width="100">{{ fGrossweight }}</td>
  2974. <td width="100">{{ fPlanqty }}</td>
  2975. <td width="100">{{ fNetweight }}</td>
  2976. <td width="100">{{ fQty }}</td>
  2977. </tr>
  2978. <tr>
  2979. <td width="100">备注:</td>
  2980. <td width="100" colspan="6"></td>
  2981. </tr>
  2982. <tr>
  2983. <td width="100" colspan="7" class="zzss">
  2984. 本进仓单经仓管员签字并经保管方盖章后即专项作为货物所有人的货权证明,本单据不得转让。
  2985. </td>
  2986. </tr>
  2987. <tr style="border: none">
  2988. <td width="100" colspan="2" class="zzss" style="border: none">
  2989. 开单员:
  2990. </td>
  2991. <td width="100" colspan="3" class="zzss" style="border: none">
  2992. {{ form.createBy }}
  2993. </td>
  2994. <td width="100" colspan="2" class="zzss" style="border: none">
  2995. 仓管员:{{ form.fStorekeeper }}
  2996. </td>
  2997. </tr>
  2998. <tr style="border: none">
  2999. <td width="100" colspan="2" class="zzss" style="border: none">
  3000. 开单时间:
  3001. </td>
  3002. <td width="100" colspan="3" class="zzss" style="border: none">
  3003. {{ fBsdate }}
  3004. </td>
  3005. <td width="100" colspan="2" class="zzss" style="border: none">
  3006. (盖章)
  3007. </td>
  3008. </tr>
  3009. </table>
  3010. <button @click="printSomething">打印</button>
  3011. </el-dialog>
  3012. <el-dialog
  3013. title="收货单打印"
  3014. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  3015. :visible.sync="editDialogVisible_ss"
  3016. :close-on-click-modal="false"
  3017. width="70%"
  3018. :modal="false"
  3019. >
  3020. <table
  3021. id="print_area"
  3022. class="biaoge zzss"
  3023. border="1"
  3024. style="border-collapse: collapse; border: none; margin-top: 100px"
  3025. >
  3026. <tr>
  3027. <td
  3028. width="1400"
  3029. colspan="6"
  3030. class="zzss"
  3031. style="font-size: 26px; font-weight: bold; border: none"
  3032. >
  3033. {{ company }}有限公司收货单
  3034. </td>
  3035. </tr>
  3036. <!-- <div v-for="{{}}" :key="index"> -->
  3037. <tr>
  3038. <td width="400">车号:</td>
  3039. <td width="400">{{ fTruckno }}</td>
  3040. <td
  3041. width="500"
  3042. colspan="2"
  3043. style="padding-bottom: 0px; font-weight: bold; border: none"
  3044. class="zzss"
  3045. >
  3046. 日期:
  3047. </td>
  3048. <td
  3049. width="500"
  3050. colspan="2"
  3051. style="padding-bottom: 0px; font-weight: bold; border: none"
  3052. class="zzss"
  3053. >
  3054. {{ fBsdate }}
  3055. </td>
  3056. </tr>
  3057. <tr v-for="(item, index) in printinglist" :key="index">
  3058. <td width="250">货物品名:</td>
  3059. <td width="250">{{ item.fGoodsids }}</td>
  3060. <td width="250">白色聚吕</td>
  3061. <!-- <td width="200" colspan="2">件数: 161件</td> -->
  3062. <!-- <td width="200"></td> -->
  3063. <td width="200" colspan="4" class="zzss">
  3064. 件数: {{ item.fQty }}件
  3065. </td>
  3066. </tr>
  3067. <!-- <tr>
  3068. <td width="1400" colspan="6">&nbsp;</td>
  3069. </tr> -->
  3070. <tr v-for="(item, index) in printinglist" :key="index">
  3071. <td>备注:</td>
  3072. <td colspan="5">{{ item.remark }}</td>
  3073. </tr>
  3074. <tr>
  3075. <td>司机签字:</td>
  3076. <td></td>
  3077. <td colspan="2">司机电话:</td>
  3078. <td colspan="2">{{ form.fTel }}</td>
  3079. </tr>
  3080. <tr>
  3081. <td>制单人:</td>
  3082. <td>{{ form.createBy }}</td>
  3083. <td colspan="2">收货人:</td>
  3084. <td colspan="2">{{ form.fContacts }}</td>
  3085. </tr>
  3086. <!-- <tr>
  3087. <td colspan="6" class="zzss">&nbsp;</td>
  3088. </tr> -->
  3089. <tr>
  3090. <td width="280" class="zzss"></td>
  3091. <td width="280" class="zzss"></td>
  3092. <td width="280" class="zzss"></td>
  3093. <td width="280" class="zzss"></td>
  3094. <td width="290" class="zzss">地址:{{ fAddr }}</td>
  3095. <td width="290" class="zzss">电话:{{ form.fTel }}</td>
  3096. </tr>
  3097. <!-- </div> -->
  3098. </table>
  3099. <button @click="printSomething">打印</button>
  3100. </el-dialog>
  3101. <el-dialog
  3102. title="出库作业单打印"
  3103. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  3104. :visible.sync="openPrintJobSheet"
  3105. :close-on-click-modal="false"
  3106. width="70%"
  3107. :modal="false"
  3108. >
  3109. <table
  3110. id="print_area"
  3111. class="biaoge zzss"
  3112. border="1"
  3113. style="border-collapse: collapse; border: none"
  3114. >
  3115. <tr>
  3116. <td
  3117. width="1400"
  3118. colspan="6"
  3119. class="zzss"
  3120. style="font-size: 20px; font-weight: bold; border: none"
  3121. >
  3122. {{ company }}有限公司作业单
  3123. </td>
  3124. </tr>
  3125. <tr>
  3126. <td
  3127. colspan="5"
  3128. style="font-size: 20px; font-weight: bold; border: none"
  3129. ></td>
  3130. <td
  3131. v-if="!fSerialNumber"
  3132. style="font-size: 20px; font-weight: bold; border: none"
  3133. >
  3134. 流水号:
  3135. </td>
  3136. <td v-else style="font-size: 20px; font-weight: bold; border: none">
  3137. 流水号:{{ fSerialNumber.slice(8, 11) }}
  3138. </td>
  3139. </tr>
  3140. <tr>
  3141. <td
  3142. width="900"
  3143. colspan="2"
  3144. class="zzss"
  3145. style="padding: 6px; font-weight: bold"
  3146. >
  3147. 车辆类型:{{ fCartype }}
  3148. </td>
  3149. <td
  3150. colspan="2"
  3151. class="zzss"
  3152. style="padding: 6px; font-weight: bold"
  3153. >
  3154. 作业类型:{{ businessType }}
  3155. </td>
  3156. <td
  3157. width="500"
  3158. v-if="!fBsdate || !fBstime"
  3159. colspan="2"
  3160. style="padding-bottom: 0; font-weight: bold"
  3161. >
  3162. 入库时间:
  3163. </td>
  3164. <td
  3165. v-else
  3166. width="500"
  3167. colspan="2"
  3168. style="padding: 6px; font-weight: bold"
  3169. class="zzss"
  3170. >
  3171. 出库日期:{{ fBsdate }} {{ fBstime.slice(11, 19) }}
  3172. </td>
  3173. </tr>
  3174. <!-- <tr v-for="(item, index) in printinglist" :key="index">-->
  3175. <!-- <td width="200">车号</td>-->
  3176. <!-- <td width="200">{{ item.fTruckno }}</td>-->
  3177. <!-- <td width="200">货物品名</td>-->
  3178. <!-- <td width="200">{{ item.fGoodsids }}</td>-->
  3179. <!-- <td width="200">{{item.fBusinessTypes}}</td>-->
  3180. <!-- <td width="200">{{item.fMarks}}</td>-->
  3181. <!-- </tr>-->
  3182. <tr>
  3183. <td width="200">车号</td>
  3184. <td width="200">货物品名</td>
  3185. <td width="200">提单号</td>
  3186. <td width="200">品牌/规格/产地</td>
  3187. <td width="200">净重(kg)</td>
  3188. <td width="200">件数/规格</td>
  3189. </tr>
  3190. <tr v-for="(item, index) in printinglist" :key="index">
  3191. <td width="200">{{ item.fTruckno }}</td>
  3192. <td width="200">{{ item.fGoodsids }}</td>
  3193. <td width="200">{{ item.fMblno }}</td>
  3194. <td width="200">{{ item.fBusinessTypes }}/{{ item.fMarks }}</td>
  3195. <td width="200">{{ item.fNetweight }}</td>
  3196. <td width="200">{{ item.fQty }}/{{ item.fPackagespecs }}</td>
  3197. </tr>
  3198. <tr>
  3199. <td width="1400" colspan="6">&nbsp;</td>
  3200. </tr>
  3201. <tr>
  3202. <td>备注:</td>
  3203. <td colspan="5">{{ form.remark }}</td>
  3204. </tr>
  3205. <tr v-for="(item, index) in feelDrSelection" :key="'info2-' + index">
  3206. <td width="200">收费</td>
  3207. <td width="200">{{ item.fFeeName }}</td>
  3208. <td width="200">货物品名</td>
  3209. <td width="200">元</td>
  3210. <td width="200">{{ item.fAmount }}</td>
  3211. </tr>
  3212. <tr>
  3213. <td>司机签字:</td>
  3214. <td></td>
  3215. <td>电话</td>
  3216. <td colspan="1" v-if="dataList.length !== 0">
  3217. {{ dataList[0].fDriverTel }}
  3218. </td>
  3219. <td colspan="1" v-else>1</td>
  3220. <td colspan="2" rowspan="2">
  3221. 确认货物数量无误,包装于货物完好!<br />出库盖好篷布,如有违背责任自负<br />装卸工是否收小费
  3222. </td>
  3223. </tr>
  3224. <tr>
  3225. <td>制表:</td>
  3226. <td>{{ form.createBy }}</td>
  3227. <td>机械/人工:</td>
  3228. <td>{{ form.fContacts }}</td>
  3229. </tr>
  3230. <!-- <tr>-->
  3231. <!-- <td colspan="6" class="zzss">&nbsp;</td>-->
  3232. <!-- </tr>-->
  3233. <tr>
  3234. <td width="290" class="zzss" colspan="2">地址:{{ fAddr }}</td>
  3235. <td width="290" class="zzss" colspan="2">电话:{{ form.fTel }}</td>
  3236. <td width="280" class="zzss"></td>
  3237. <td width="280" class="zzss"></td>
  3238. </tr>
  3239. </table>
  3240. <div>
  3241. <el-button type="primary" @click="addList">打印</el-button>
  3242. <el-button @click="closeWindow">取消</el-button>
  3243. </div>
  3244. </el-dialog>
  3245. <el-dialog
  3246. :visible.sync="print_lhd"
  3247. width="70%"
  3248. :close-on-click-modal="false"
  3249. :modal="false"
  3250. >
  3251. <div id="print_area1" class="print-div">
  3252. <div
  3253. class="print-title"
  3254. style="
  3255. display: flex;
  3256. justify-content: center;
  3257. font-size: 24px;
  3258. margin-bottom: 5px;
  3259. "
  3260. >
  3261. {{ company }}有限公司
  3262. </div>
  3263. <div
  3264. style="
  3265. display: flex;
  3266. justify-content: center;
  3267. font-size: 18px;
  3268. margin-bottom: 5px;
  3269. "
  3270. >
  3271. <div>出&nbsp;库&nbsp;计&nbsp;划&nbsp;单</div>
  3272. </div>
  3273. <div
  3274. style="
  3275. display: flex;
  3276. justify-content: space-between;
  3277. margin-bottom: 5px;
  3278. "
  3279. class="print_form"
  3280. >
  3281. <div>
  3282. <div>客户名称:{{ form.fCorpidName }}</div>
  3283. </div>
  3284. <div>
  3285. <div>存放仓库:{{ stockName }}</div>
  3286. </div>
  3287. </div>
  3288. <div class="print_table" style="display: flex">
  3289. <table
  3290. border="0"
  3291. cellspacing="0"
  3292. cellpadding="0"
  3293. style="width: 100%"
  3294. >
  3295. <tr>
  3296. <td>品名</td>
  3297. <td colspan="3">{{ form.fProductName }}</td>
  3298. <td colspan="2">清单号</td>
  3299. <td colspan="3">{{ form.fCustomno }}</td>
  3300. </tr>
  3301. <tr>
  3302. <td>提单号</td>
  3303. <td colspan="3">{{ form.fMblno }}</td>
  3304. <td colspan="2">预计出库日期</td>
  3305. <td colspan="3">{{ form.fChargedate }}</td>
  3306. </tr>
  3307. <tr>
  3308. <td>原入库箱号</td>
  3309. <td>出库车号</td>
  3310. <td>垛位</td>
  3311. <td>件数</td>
  3312. <td>净重</td>
  3313. <td>提货人签字手印</td>
  3314. <td>提货人电话</td>
  3315. <td>所收费用</td>
  3316. <td>备注</td>
  3317. </tr>
  3318. <tr v-for="(item, index) in printinglist" :key="index">
  3319. <td>{{ item.fCntrno }}</td>
  3320. <td>{{ item.fTruckno }}</td>
  3321. <td>{{ item.fWarehouseInformation }}</td>
  3322. <td>{{ item.fQty }}</td>
  3323. <td>{{ item.fNetweight }}</td>
  3324. <td></td>
  3325. <td></td>
  3326. <td></td>
  3327. <td></td>
  3328. </tr>
  3329. <tr>
  3330. <td colspan="3">合计</td>
  3331. <td>{{ allFqty }}</td>
  3332. <td>{{ allfNetweight }}</td>
  3333. <td></td>
  3334. <td></td>
  3335. <td></td>
  3336. <td></td>
  3337. </tr>
  3338. </table>
  3339. </div>
  3340. <div
  3341. style="
  3342. display: flex;
  3343. justify-content: space-between;
  3344. font-size: 12px;
  3345. "
  3346. >
  3347. <div>库管:{{ form.fContacts }}</div>
  3348. <div>制单人:{{ form.createBy }}</div>
  3349. <div style="width: 150px">叉车:</div>
  3350. </div>
  3351. <div
  3352. style="
  3353. display: flex;
  3354. justify-content: space-between;
  3355. font-size: 12px;
  3356. "
  3357. >
  3358. <div>初始审核人:</div>
  3359. <div style="width: 150px">复式审核人:</div>
  3360. </div>
  3361. </div>
  3362. <span slot="footer" class="dialog-footer">
  3363. <el-button type="primary" :disabled="browseStatus" @click="addprint"
  3364. >打印
  3365. </el-button>
  3366. <el-button @click="print_lhd = false">取消 </el-button>
  3367. </span>
  3368. </el-dialog>
  3369. <el-dialog
  3370. :visible.sync="print_hwqr"
  3371. width="70%"
  3372. :close-on-click-modal="false"
  3373. :modal="false"
  3374. >
  3375. <div id="print_area1" class="print-div">
  3376. <div
  3377. class="print-title"
  3378. style="
  3379. display: flex;
  3380. justify-content: center;
  3381. font-size: 24px;
  3382. margin-bottom: 5px;
  3383. "
  3384. >
  3385. {{ company }}有限公司
  3386. </div>
  3387. <div
  3388. style="
  3389. display: flex;
  3390. justify-content: center;
  3391. font-size: 18px;
  3392. margin-bottom: 5px;
  3393. "
  3394. >
  3395. <div>出&nbsp;库&nbsp;单</div>
  3396. </div>
  3397. <div style="margin-bottom: 5px" class="print_form">
  3398. <div style="width: 150px">存货地点:</div>
  3399. </div>
  3400. <div class="print_table" style="display: flex">
  3401. <table
  3402. border="0"
  3403. cellspacing="0"
  3404. cellpadding="0"
  3405. style="width: 100%"
  3406. >
  3407. <tr>
  3408. <td>品名</td>
  3409. <td colspan="2">{{ form.fProductName }}</td>
  3410. <td colspan="1">清单号</td>
  3411. <td colspan="3">{{ form.fCustomno }}</td>
  3412. </tr>
  3413. <tr>
  3414. <td>提单号</td>
  3415. <td colspan="2">{{ form.fMblno }}</td>
  3416. <td colspan="1">预计出库日期</td>
  3417. <td colspan="3">{{ form.fChargedate }}</td>
  3418. </tr>
  3419. <tr>
  3420. <td>原入库箱号</td>
  3421. <td>出库车号</td>
  3422. <td>铅封号</td>
  3423. <td>垛位</td>
  3424. <td>件数</td>
  3425. <td>净重</td>
  3426. <td>备注</td>
  3427. </tr>
  3428. <tr v-for="(item, index) in printinglist" :key="index">
  3429. <td></td>
  3430. <td>{{ item.fTruckno }}</td>
  3431. <td></td>
  3432. <td>{{ item.fWarehouseInformation }}</td>
  3433. <td>{{ item.fQty }}</td>
  3434. <td>{{ item.fNetweight }}</td>
  3435. <td>{{ item.remark }}</td>
  3436. </tr>
  3437. <tr>
  3438. <td colspan="3">合计:</td>
  3439. <td></td>
  3440. <td>{{ allFqty }}</td>
  3441. <td>{{ allfNetweight }}</td>
  3442. <td></td>
  3443. </tr>
  3444. </table>
  3445. </div>
  3446. <div
  3447. style="
  3448. display: flex;
  3449. justify-content: space-between;
  3450. font-size: 12px;
  3451. "
  3452. >
  3453. <div>制单人:{{ form.createBy }}</div>
  3454. <div style="width: 100px">审核人:</div>
  3455. </div>
  3456. </div>
  3457. <span slot="footer" class="dialog-footer">
  3458. <el-button type="primary" :disabled="browseStatus" @click="addprint"
  3459. >打印
  3460. </el-button>
  3461. <el-button @click="print_hwqr = false">取消 </el-button>
  3462. </span>
  3463. </el-dialog>
  3464. <el-dialog
  3465. :visible.sync="print_lwqr"
  3466. width="70%"
  3467. :close-on-click-modal="false"
  3468. :modal="false"
  3469. >
  3470. <div id="print_area1" class="print-div">
  3471. <div
  3472. class="print-title"
  3473. style="
  3474. display: flex;
  3475. justify-content: center;
  3476. font-size: 24px;
  3477. margin-bottom: 5px;
  3478. "
  3479. >
  3480. {{ company }}有限公司
  3481. </div>
  3482. <div
  3483. style="
  3484. display: flex;
  3485. justify-content: center;
  3486. font-size: 18px;
  3487. margin-bottom: 5px;
  3488. "
  3489. >
  3490. <div>出&nbsp;库&nbsp;单</div>
  3491. </div>
  3492. <div
  3493. style="display: flex; justify-content: flex-end; margin-bottom: 5px"
  3494. >
  3495. <div>
  3496. <div style="width: 150px">存货地点:</div>
  3497. </div>
  3498. </div>
  3499. <div class="print_table" style="display: flex">
  3500. <table
  3501. border="0"
  3502. cellspacing="0"
  3503. cellpadding="0"
  3504. style="width: 100%"
  3505. >
  3506. <tr>
  3507. <td>品名</td>
  3508. <td colspan="2">{{ form.fProductName }}</td>
  3509. <td colspan="1">清单号</td>
  3510. <td colspan="3">{{ form.fCustomno }}</td>
  3511. </tr>
  3512. <tr>
  3513. <td>提单号</td>
  3514. <td colspan="2">{{ form.fMblno }}</td>
  3515. <td colspan="1">预计出库日期</td>
  3516. <td colspan="3">{{ form.fChargedate }}</td>
  3517. </tr>
  3518. <tr>
  3519. <td>原入库箱号</td>
  3520. <td>出库车号</td>
  3521. <td>铅封号</td>
  3522. <td>垛位</td>
  3523. <td>件数</td>
  3524. <td>净重</td>
  3525. <td>备注</td>
  3526. </tr>
  3527. <tr v-for="(item, index) in printinglist" :key="index">
  3528. <td></td>
  3529. <td>{{ item.fTruckno }}</td>
  3530. <td></td>
  3531. <td>{{ item.fWarehouseInformation }}</td>
  3532. <td>{{ item.fQty }}</td>
  3533. <td>{{ item.fNetweight }}</td>
  3534. <td>{{ item.remark }}</td>
  3535. </tr>
  3536. <tr>
  3537. <td colspan="3">合计:</td>
  3538. <td></td>
  3539. <td>{{ allFqty }}</td>
  3540. <td>{{ allfNetweight }}</td>
  3541. <td></td>
  3542. </tr>
  3543. </table>
  3544. </div>
  3545. <div
  3546. style="
  3547. display: flex;
  3548. justify-content: space-between;
  3549. font-size: 12px;
  3550. "
  3551. >
  3552. <div>库管:{{ form.fContacts }}</div>
  3553. <div>制单人:{{ form.createBy }}</div>
  3554. <div style="width: 150px">叉车:</div>
  3555. </div>
  3556. <div
  3557. style="
  3558. display: flex;
  3559. justify-content: space-between;
  3560. font-size: 12px;
  3561. "
  3562. >
  3563. <div>初始审核人:</div>
  3564. <div style="width: 150px">复式审核人:</div>
  3565. </div>
  3566. </div>
  3567. <span slot="footer" class="dialog-footer">
  3568. <el-button type="primary" :disabled="browseStatus" @click="addprint"
  3569. >打印
  3570. </el-button>
  3571. <el-button @click="print_lwqr = false">取消 </el-button>
  3572. </span>
  3573. </el-dialog>
  3574. </el-dialog>
  3575. <el-dialog
  3576. title="选择库位"
  3577. :data="treeselectList"
  3578. :visible.sync="choiceWarehouse"
  3579. width="30%"
  3580. :before-close="hanDleclose"
  3581. >
  3582. <treeselect
  3583. v-model="treeselectList.fWarehouselocid"
  3584. @select="getAlltree"
  3585. :options="fWarehouseidOptions"
  3586. :show-count="true"
  3587. :disable-branch-nodes="true"
  3588. placeholder="请选择归属库区"
  3589. />
  3590. <div>{{ Warehouse }}</div>
  3591. <span slot="footer" class="dialog-footer">
  3592. <el-button @click="choiceWarehouse = false">取 消</el-button>
  3593. <el-button type="primary" @click="confirm">确 定</el-button>
  3594. </span>
  3595. </el-dialog>
  3596. </div>
  3597. </template>
  3598. <script>
  3599. import print from "print-js";
  3600. import {
  3601. addWhgenleg,
  3602. listWarehousebills,
  3603. getWarehousebills,
  3604. delWarehousebills,
  3605. addWarehousebills,
  3606. updateCredit,
  3607. addJoblist,
  3608. disChargelist,
  3609. warehouseSubmission,
  3610. updateWarehousebills,
  3611. exportWarehousebills,
  3612. revokeTwo,
  3613. revoke,
  3614. delOutStock_s,
  3615. serialNumber,
  3616. } from "@/api/warehouseBusiness/warehouseOutStock";
  3617. import { listAgreement, operationAgreement } from "@/api/agreement/agreement";
  3618. import { listAgreements } from "@/api/warehouseBusiness/agreement";
  3619. import { listCorps } from "@/api/basicdata/corps";
  3620. import { listFees, getFees } from "@/api/basicdata/fees";
  3621. import {
  3622. listWarehouse,
  3623. listWarehousesss,
  3624. treeselect,
  3625. } from "@/api/basicdata/warehouse";
  3626. import { listArea } from "@/api/basicdata/area";
  3627. import { listGoods } from "@/api/basicdata/goods";
  3628. import { listUser, queryUserVal } from "@/api/system/user";
  3629. import { listWhgenleg } from "@/api/reportManagement/whgenleg";
  3630. import Global from "@/layout/components/global";
  3631. import ApprovalComments from "@/views/startApproval";
  3632. import AddOrUpdate from "@/views/viewApproval";
  3633. import Treeselect from "@riophae/vue-treeselect";
  3634. import "@riophae/vue-treeselect/dist/vue-treeselect.css";
  3635. import { getToken } from "@/utils/auth";
  3636. import Cookies from "js-cookie";
  3637. import { addSet, select, resetModule } from "@/api/system/set";
  3638. import draggable from "vuedraggable";
  3639. import Vue from "vue";
  3640. Vue.directive("dialogDrag", {
  3641. bind(el, binding, vnode, oldVnode) {
  3642. const dialogHeaderEl = el.querySelector(".el-dialog__header");
  3643. const dragDom = el.querySelector(".el-dialog");
  3644. const enlarge = el.querySelector(".enlarge");
  3645. dialogHeaderEl.style.cursor = "move";
  3646. // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
  3647. const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
  3648. if (enlarge) {
  3649. enlarge.onclick = (e) => {
  3650. dragDom.style.top = "0px";
  3651. dragDom.style.left = "0px";
  3652. };
  3653. }
  3654. dialogHeaderEl.onmousedown = (e) => {
  3655. // 鼠标按下,计算当前元素距离可视区的距离
  3656. const disX = e.clientX - dialogHeaderEl.offsetLeft;
  3657. const disY = e.clientY - dialogHeaderEl.offsetTop;
  3658. // 获取到的值带px 正则匹配替换
  3659. let styL, styT;
  3660. // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
  3661. if (sty.left.includes("%")) {
  3662. styL =
  3663. +document.body.clientWidth * (+sty.left.replace(/\%/g, "") / 100);
  3664. styT =
  3665. +document.body.clientHeight * (+sty.top.replace(/\%/g, "") / 100);
  3666. } else {
  3667. styL = +sty.left.replace(/\px/g, "");
  3668. styT = +sty.top.replace(/\px/g, "");
  3669. }
  3670. document.onmousemove = function (e) {
  3671. // 通过事件委托,计算移动的距离
  3672. const l = e.clientX - disX;
  3673. const t = e.clientY - disY;
  3674. // 移动当前元素
  3675. if (t + styT >= 0) {
  3676. dragDom.style.top = `${t + styT}px`;
  3677. }
  3678. dragDom.style.left = `${l + styL}px`;
  3679. // 将此时的位置传出去
  3680. // binding.value({x:e.pageX,y:e.pageY})
  3681. };
  3682. document.onmouseup = function (e) {
  3683. document.onmousemove = null;
  3684. document.onmouseup = null;
  3685. };
  3686. };
  3687. },
  3688. });
  3689. export default {
  3690. name: "Warehousebills",
  3691. components: {
  3692. AddOrUpdate,
  3693. draggable,
  3694. ApprovalComments,
  3695. Treeselect,
  3696. },
  3697. data() {
  3698. return {
  3699. fCntridlist:[],
  3700. idCopy: "",
  3701. //全屏放大
  3702. dialogFull: false,
  3703. drag: false,
  3704. allFqty: 0,
  3705. allfGrossweight: 0,
  3706. allfNetweight: 0,
  3707. print_lhd: false,
  3708. print_hwqr: false,
  3709. print_lwqr: false,
  3710. print_dpxx: false,
  3711. stockName: "",
  3712. makeDate: "",
  3713. tableDate:[
  3714. {
  3715. surface: "1",
  3716. label: "createBy",
  3717. name: "制单人",
  3718. checked: 0,
  3719. width: 100,
  3720. },
  3721. {
  3722. surface: "2",
  3723. label: "fStorekeeper",
  3724. name: "仓管员",
  3725. checked: 0,
  3726. width: 100,
  3727. },
  3728. {
  3729. surface: "3",
  3730. label: "fItemsStatus",
  3731. name: "出库状态",
  3732. checked: 0,
  3733. width: 100,
  3734. },
  3735. {
  3736. surface: "4",
  3737. label: "fCorpid",
  3738. name: "货权方",
  3739. checked: 0,
  3740. width: 100,
  3741. },
  3742. {
  3743. surface: "6",
  3744. label: "fProductName",
  3745. name: "品名",
  3746. checked: 0,
  3747. width: 100,
  3748. },
  3749. {
  3750. surface: "7",
  3751. label: "fMarks",
  3752. name: "品牌",
  3753. checked: 0,
  3754. width: 100,
  3755. },
  3756. {
  3757. surface: "8",
  3758. label: "fBsdate",
  3759. name: "出库日期",
  3760. checked: 0,
  3761. width: 100,
  3762. },
  3763. {
  3764. surface: "9",
  3765. label: "fWarehouseid",
  3766. name: "仓库",
  3767. checked: 0,
  3768. width: 100,
  3769. },
  3770. {
  3771. surface: "10",
  3772. label: "fPlanqty",
  3773. name: "计划件数",
  3774. checked: 0,
  3775. width: 100,
  3776. },
  3777. {
  3778. surface: "11",
  3779. label: "fQty",
  3780. name: "出库件数",
  3781. checked: 0,
  3782. width: 100,
  3783. },
  3784. {
  3785. surface: "12",
  3786. label: "fGrossweight",
  3787. name: "出库毛重",
  3788. checked: 0,
  3789. width: 100,
  3790. },
  3791. {
  3792. surface: "13",
  3793. label: "fNetweight",
  3794. name: "出库净重",
  3795. checked: 0,
  3796. width: 100,
  3797. },
  3798. {
  3799. surface: "14",
  3800. label: "fTruckno",
  3801. name: "车号",
  3802. checked: 0,
  3803. width: 100,
  3804. },
  3805. {
  3806. surface: "15",
  3807. label: "fDriverName",
  3808. name: "司机名称",
  3809. checked: 0,
  3810. width: 100,
  3811. },
  3812. {
  3813. surface: "16",
  3814. label: "fDriverTel",
  3815. name: "司机电话",
  3816. checked: 0,
  3817. width: 100,
  3818. },
  3819. {
  3820. surface: "17",
  3821. label: "fDriverIdCar",
  3822. name: "司机身份证",
  3823. checked: 0,
  3824. width: 100,
  3825. },
  3826. {
  3827. surface: "18",
  3828. label: "fBusinessType",
  3829. name: "业务类别",
  3830. checked: 0,
  3831. width: 100,
  3832. },
  3833. {
  3834. surface: "19",
  3835. label: "fBillstatus",
  3836. name: "费用状态",
  3837. checked: 0,
  3838. width: 100,
  3839. },
  3840. ],
  3841. setRowList: [
  3842. {
  3843. surface: "1",
  3844. label: "createBy",
  3845. name: "制单人",
  3846. checked: 0,
  3847. width: 100,
  3848. },
  3849. {
  3850. surface: "2",
  3851. label: "fStorekeeper",
  3852. name: "仓管员",
  3853. checked: 0,
  3854. width: 100,
  3855. },
  3856. {
  3857. surface: "3",
  3858. label: "fItemsStatus",
  3859. name: "出库状态",
  3860. checked: 0,
  3861. width: 100,
  3862. },
  3863. {
  3864. surface: "4",
  3865. label: "fCorpid",
  3866. name: "货权方",
  3867. checked: 0,
  3868. width: 100,
  3869. },
  3870. {
  3871. surface: "6",
  3872. label: "fProductName",
  3873. name: "品名",
  3874. checked: 0,
  3875. width: 100,
  3876. },
  3877. {
  3878. surface: "7",
  3879. label: "fMarks",
  3880. name: "品牌",
  3881. checked: 0,
  3882. width: 100,
  3883. },
  3884. {
  3885. surface: "8",
  3886. label: "fBsdate",
  3887. name: "出库日期",
  3888. checked: 0,
  3889. width: 100,
  3890. },
  3891. {
  3892. surface: "9",
  3893. label: "fWarehouseid",
  3894. name: "仓库",
  3895. checked: 0,
  3896. width: 100,
  3897. },
  3898. {
  3899. surface: "10",
  3900. label: "fPlanqty",
  3901. name: "计划件数",
  3902. checked: 0,
  3903. width: 100,
  3904. },
  3905. {
  3906. surface: "11",
  3907. label: "fQty",
  3908. name: "出库件数",
  3909. checked: 0,
  3910. width: 100,
  3911. },
  3912. {
  3913. surface: "12",
  3914. label: "fGrossweight",
  3915. name: "出库毛重",
  3916. checked: 0,
  3917. width: 100,
  3918. },
  3919. {
  3920. surface: "13",
  3921. label: "fNetweight",
  3922. name: "出库净重",
  3923. checked: 0,
  3924. width: 100,
  3925. },
  3926. {
  3927. surface: "14",
  3928. label: "fTruckno",
  3929. name: "车号",
  3930. checked: 0,
  3931. width: 100,
  3932. },
  3933. {
  3934. surface: "15",
  3935. label: "fDriverName",
  3936. name: "司机名称",
  3937. checked: 0,
  3938. width: 100,
  3939. },
  3940. {
  3941. surface: "16",
  3942. label: "fDriverTel",
  3943. name: "司机电话",
  3944. checked: 0,
  3945. width: 100,
  3946. },
  3947. {
  3948. surface: "17",
  3949. label: "fDriverIdCar",
  3950. name: "司机身份证",
  3951. checked: 0,
  3952. width: 100,
  3953. },
  3954. {
  3955. surface: "18",
  3956. label: "fBusinessType",
  3957. name: "业务类别",
  3958. checked: 0,
  3959. width: 100,
  3960. },
  3961. {
  3962. surface: "19",
  3963. label: "fBillstatus",
  3964. name: "费用状态",
  3965. checked: 0,
  3966. width: 100,
  3967. },
  3968. ],
  3969. getRowList: [],
  3970. allCheck: false,
  3971. showSetting: false,
  3972. headers: {
  3973. Authorization: "Bearer " + getToken(),
  3974. },
  3975. uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
  3976. company: "",
  3977. fSerialNumber: "",
  3978. fDNameOptions: [],
  3979. fCNameOptions: [],
  3980. closeButton: true,
  3981. businessType: "",
  3982. fCartype: "",
  3983. fBstime: "",
  3984. browseStatu: false,
  3985. key_s: "",
  3986. // 劳务公司
  3987. fCompanyOptIons: [],
  3988. Navigation: false,
  3989. fleetOptions: [],
  3990. activeIndex: "1",
  3991. activeIndex2: "1",
  3992. //控制选择库位弹出
  3993. choiceWarehouse: false,
  3994. information: "",
  3995. informationId: "",
  3996. inDex: "",
  3997. Warehouse: "",
  3998. treeselectList: {
  3999. fWarehouselocid: null,
  4000. },
  4001. // 部门树选项
  4002. fWarehouseidOptions: [],
  4003. fWarehouseidOption: [],
  4004. //控制作业类型校验
  4005. isrequired: 2,
  4006. isrequired_s: 2,
  4007. isrequired_l: 2,
  4008. activeNames: ["1"],
  4009. doNot: false,
  4010. WarehouseInformation: [],
  4011. addOrUpdateVisible: false,
  4012. addOrUpdateVisib: false,
  4013. fFeeUnitid: null,
  4014. fFeeUnitids: null,
  4015. formBrowseStatus: false,
  4016. detailsHidden: false,
  4017. warehousingagreements: false,
  4018. fTruckno: null,
  4019. fBsdate: null,
  4020. fCntrtype: null,
  4021. fGoodsids: null,
  4022. fPlanqty: null,
  4023. fPlannetweight: null,
  4024. fPlanvolumn: null,
  4025. fGrossweight: 0,
  4026. fCntqty: 0,
  4027. fNetweight: 0,
  4028. fVolumn: 0,
  4029. fid: 0,
  4030. fQty: 0,
  4031. fSbu: 0,
  4032. before: "",
  4033. // 遮罩层
  4034. loading: true,
  4035. // 打印地址
  4036. fAddr: "",
  4037. // 税率
  4038. fTaxrate: null,
  4039. // 选中数组
  4040. ids: [],
  4041. userVal: {
  4042. userName: null,
  4043. nickName: null,
  4044. deptId: null,
  4045. },
  4046. queryForm: {},
  4047. // 费用状态
  4048. costStatus: "Dr",
  4049. // 库存总账表
  4050. whgenlegList: [],
  4051. whgenlegTotal: 0,
  4052. // 弹窗库存总账数据
  4053. dialogWhgenlegList: [],
  4054. // 库存总账对话框
  4055. whgenlegVisible: false,
  4056. // 收费多选框
  4057. feelDrSelection: [],
  4058. approvalStatus: false,
  4059. // 新增用户对话框
  4060. editDialogVisible_s: false,
  4061. editDialogVisible_ss: false,
  4062. openPrintJobSheet: false,
  4063. editDialogClosed_ss: false,
  4064. storageAgreements: false,
  4065. dataList: [],
  4066. warehouseCrList: [],
  4067. current: "",
  4068. warehouseDrList: [],
  4069. printinglist: [],
  4070. browseStatus: false,
  4071. contrOl: false,
  4072. relevantAttachments: [],
  4073. // 非单个禁用
  4074. single: true,
  4075. // 非多个禁用
  4076. multiple: true,
  4077. // 显示搜索条件
  4078. showSearch: true,
  4079. // 总条数
  4080. total: 0,
  4081. // 仓库主(出入库)表格数据
  4082. warehousebillsList: [],
  4083. // 弹出层标题
  4084. title: "",
  4085. // 是否显示弹出层
  4086. open: false,
  4087. // 货权方(客户数据)
  4088. fMblnoOptions: [],
  4089. // 货权方(客户数据)
  4090. // 客户名称
  4091. KHblnoOptions: [],
  4092. // 作业费协议
  4093. tasklegList: [],
  4094. fSbuOptions: [],
  4095. // 操作员
  4096. userOptions: [],
  4097. // 操作员
  4098. goodsOptions: [],
  4099. // 制单部门
  4100. deptOptions: [],
  4101. // 主表状态
  4102. businessTypeOption: [],
  4103. typeVal: {
  4104. dictLabel: null,
  4105. },
  4106. //车辆类型字典表
  4107. fCartypeOptions: [],
  4108. // 仓库(仓库数据)
  4109. warehouseOptions: [],
  4110. // 库存明细入账数组
  4111. dataListSelection: [],
  4112. // 库存明细撤回入账数组
  4113. dataWithdrawList: [],
  4114. kqhouseOptions: [],
  4115. // 仓储类型 入库时选择 产地 规格 品牌 所用,对应storage_type 字典
  4116. fStorageTypeOptions: [],
  4117. // 贸易方式(数据字典),对应t_trademodels 字典
  4118. fTrademodeidOptions: [],
  4119. //结算方式对应字典表
  4120. fStltypeidOptions: [],
  4121. // 是否放行
  4122. releaseList: [
  4123. { dictLabel: "已放行", dictValue: "T" },
  4124. { dictLabel: "未放行", dictValue: "F" },
  4125. ],
  4126. // 结算方式(数据字典),下拉选择字典
  4127. fStltypeOptions: [],
  4128. // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典
  4129. fIfweighOptions: [],
  4130. // 是否破损(数据字典),默认F否则T字典
  4131. fIfdamageOptions: [],
  4132. // 单据类型(数据字典)SJRK字典
  4133. fBilltypeOptions: [],
  4134. // 状态(数据字典),N 入字典
  4135. fBillstatusOptions: [],
  4136. // 费用名称
  4137. fWbuOptions: [],
  4138. CntrTable: [{}],
  4139. approVal: false,
  4140. // 计价单位
  4141. jFeetunitOptions: [],
  4142. mblnoStatus: "",
  4143. // 查询参数
  4144. queryParams: {
  4145. fWarehouselocid: null,
  4146. pageNum: 1,
  4147. pageSize: 10,
  4148. fBillno: null,
  4149. createBy: null,
  4150. createTime: null,
  4151. fCustomsdeclartion: null,
  4152. fOriginalbillno: null,
  4153. fDeptid: null,
  4154. fBsdeptid: null,
  4155. fContacts: null,
  4156. fTel: null,
  4157. fCorpid: null,
  4158. fTocorpid: null,
  4159. fStltypeid: null,
  4160. fBscorpno: null,
  4161. fWarehouseid: null,
  4162. fStorekeeper: null,
  4163. fBsdate: null,
  4164. fPlanqty: null,
  4165. fPlangrossweight: null,
  4166. fPlannetweight: null,
  4167. fPlanvolumn: null,
  4168. fQty: null,
  4169. fGrossweight: null,
  4170. fNetweight: null,
  4171. fVolumn: null,
  4172. fTrademodeid: null,
  4173. fSbu: null,
  4174. fFeetunit: null,
  4175. fMblno: null,
  4176. fVslvoy: null,
  4177. fEta: null,
  4178. fCustomno: null,
  4179. fIfweigh: null,
  4180. fIfpledge: null,
  4181. fIfdamage: null,
  4182. fBankcorpid: null,
  4183. fBilltype: null,
  4184. fBillstatus: null,
  4185. fCreateby: null,
  4186. fCreatetime: null,
  4187. fGoodsid: null,
  4188. fCntrtype: null,
  4189. fCntqty: null,
  4190. },
  4191. // 库存总账参数
  4192. whgenlegParams: {
  4193. pageNum: 1,
  4194. pageSize: 10,
  4195. fMblno: null,
  4196. fCorpid: null,
  4197. fWarehouseid: null,
  4198. fTruckno: null,
  4199. },
  4200. // 表单参数
  4201. form: {
  4202. fMblno: null,
  4203. fCorpid: null,
  4204. fTrademodeid: null,
  4205. fWarehouseid: null,
  4206. fBusinessType: null,
  4207. fCartype: 0,
  4208. fBstime: "",
  4209. },
  4210. // 表单校验
  4211. rules: {
  4212. fDeptid: [{ required: true, message: " ", trigger: "blur" }],
  4213. fBsdeptid: [{ required: true, message: " ", trigger: "blur" }],
  4214. fCorpid: [{ required: true, message: " ", trigger: "blur" }],
  4215. fFeeUnitid: [{ required: true, message: " ", trigger: "blur" }],
  4216. fChargedate: [{ required: true, message: " ", trigger: "blur" }],
  4217. fBillingway: [{ required: true, message: " ", trigger: "blur" }],
  4218. fBsdate: [{ required: true, message: " ", trigger: "blur" }],
  4219. fTrademodeid: [{ required: true, message: " ", trigger: "blur" }],
  4220. fSbu: [{ required: true, message: " ", trigger: "blur" }],
  4221. fStorekeeper: {
  4222. required: true,
  4223. message: " ",
  4224. trigger: "blur",
  4225. },
  4226. fBusinessType: [{ required: true, message: " ", trigger: "blur" }],
  4227. fWarehouseid: [{ required: true, message: " ", trigger: "blur" }],
  4228. // fBscorpno: [
  4229. // { required: true, message: "请输入存货编号", trigger: "blur" },
  4230. // ],
  4231. fbillingway: [
  4232. {
  4233. required: true,
  4234. message: " ",
  4235. trigger: "blur",
  4236. },
  4237. ],
  4238. fTocorpid: [
  4239. {
  4240. required: true,
  4241. message: " ",
  4242. trigger: "blur",
  4243. },
  4244. ],
  4245. },
  4246. };
  4247. },
  4248. created() {
  4249. this.setRowList = this.tableDate;
  4250. this.getRowList = this.tableDate;
  4251. this.getList();
  4252. this.getDicts("storage_type").then((response) => {
  4253. this.fStorageTypeOptions = response.data;
  4254. });
  4255. this.getDicts("data_trademodes").then((response) => {
  4256. this.fTrademodeidOptions = response.data;
  4257. });
  4258. this.getDicts("data_stltype_type").then((response) => {
  4259. this.fStltypeOptions = response.data;
  4260. });
  4261. this.getDicts("tax_rate").then((response) => {
  4262. this.fTaxrate = response.data[0].dictValue;
  4263. });
  4264. this.getDicts("data_ifweigh_status").then((response) => {
  4265. this.fIfweighOptions = response.data;
  4266. });
  4267. this.getDicts("data_ifdamage_status").then((response) => {
  4268. this.fIfdamageOptions = response.data;
  4269. });
  4270. this.getDicts("data_billtype_type").then((response) => {
  4271. this.fBilltypeOptions = response.data;
  4272. });
  4273. this.getDicts("sys_common_status").then((response) => {
  4274. this.fBillstatusOptions = response.data;
  4275. });
  4276. this.getDicts("data_unitfees").then((response) => {
  4277. this.jFeetunitOptions = response.data;
  4278. });
  4279. this.getDicts("st_out_type").then((response) => {
  4280. this.businessTypeOption = response.data;
  4281. });
  4282. this.getDicts("sys_car_type").then((response) => {
  4283. console.log(response);
  4284. this.fCartypeOptions = response.data;
  4285. });
  4286. treeselect().then((response) => {
  4287. this.warehouseOptions = response.data;
  4288. });
  4289. this.warehousesssMethod();
  4290. this.company = localStorage.getItem("companyName");
  4291. this.getRow();
  4292. },
  4293. activated() {
  4294. this.adoPt();
  4295. if (this.$route.query.id) {
  4296. this.adoPt2();
  4297. }
  4298. },
  4299. methods: {
  4300. addRow() {
  4301. var obj = {};
  4302. this.CntrTable.push(obj);
  4303. },
  4304. handleCommand(command) {
  4305. console.log(command);
  4306. for (let corp in this.fMblnoOptions) {
  4307. if (this.form.fCorpid === this.fMblnoOptions[corp].fId) {
  4308. this.$set(this.form, "fCorpidName", this.fMblnoOptions[corp].fName);
  4309. }
  4310. }
  4311. this.stockName = this.warehouseOptions[0].fName;
  4312. this.makeDate = this.warehouseOptions[0].createTime;
  4313. if (this.printinglist.length > 0) {
  4314. this.$refs["form"].validate((valid) => {
  4315. if (valid) {
  4316. if (command == "a") {
  4317. this.showEditDialog_s();
  4318. } else if (command == "b") {
  4319. this.print_lhd = true;
  4320. } else if (command == "c") {
  4321. this.print_hwqr = true;
  4322. } else if (command == "d") {
  4323. this.print_lwqr = true;
  4324. }
  4325. }
  4326. });
  4327. } else {
  4328. this.$message.error("请选择需要打印的明细!");
  4329. }
  4330. },
  4331. //打印
  4332. addprint() {
  4333. const style =
  4334. "@page { } " +
  4335. "@media print { .print-div{ padding:8px;background-color:#cccccc;} .print-title{display:flex;justify-content: center;font-size:24px} .print_form{font-size:12px} .print_table table {border-right: 1px solid #000;border-bottom: 1px solid #000;font-size:12px} .print_table table td {border-left: 1px solid #000;border-top: 1px solid #000;padding:2px;vertical-align:middle;text-align: center;}";
  4336. print({
  4337. printable: "print_area1",
  4338. type: "html",
  4339. style: style, // 亦可使用引入的外部css;
  4340. scanStyles: false,
  4341. });
  4342. },
  4343. full() {
  4344. this.dialogFull = !this.dialogFull;
  4345. },
  4346. //列设置全选
  4347. allChecked() {
  4348. if (this.allCheck == true) {
  4349. this.setRowList.map((e) => {
  4350. return (e.checked = 0);
  4351. });
  4352. } else {
  4353. this.setRowList.map((e) => {
  4354. return (e.checked = 1);
  4355. });
  4356. }
  4357. },
  4358. //查询列数据
  4359. getRow() {
  4360. let that = this;
  4361. this.data = {
  4362. tableName: "出库",
  4363. userId: Cookies.get("userName"),
  4364. };
  4365. select(this.data).then((res) => {
  4366. if (res.data.length != 0) {
  4367. this.getRowList = res.data.filter((e) => e.checked == 0);
  4368. this.setRowList = res.data;
  4369. this.setRowList = this.setRowList.reduce((res, item) => {
  4370. res.push({
  4371. surface: item.surface,
  4372. label: item.label,
  4373. name: item.name,
  4374. checked: item.checked,
  4375. width: item.width,
  4376. fixed: item.fixed,
  4377. });
  4378. return res;
  4379. }, []);
  4380. }
  4381. });
  4382. },
  4383. //重置列表
  4384. delRow() {
  4385. this.data = {
  4386. tableName: "出库",
  4387. userId: Cookies.get("userName"),
  4388. };
  4389. resetModule(this.data).then((res) => {
  4390. if (res.code == 200) {
  4391. this.showSetting = false;
  4392. this.setRowList = this.tableDate;
  4393. this.getRowList = this.tableDate;
  4394. }
  4395. });
  4396. },
  4397. //保存列设置
  4398. save() {
  4399. this.showSetting = false;
  4400. this.data = {
  4401. tableName: "出库",
  4402. userId: Cookies.get("userName"),
  4403. sysTableSetList: this.setRowList,
  4404. };
  4405. addSet(this.data).then((res) => {
  4406. if (res.code == 200) {
  4407. this.showSetting = false;
  4408. this.getRowList = this.setRowList.filter((e) => e.checked == 0);
  4409. }
  4410. });
  4411. },
  4412. //开始拖拽事件
  4413. onStart() {
  4414. this.drag = true;
  4415. },
  4416. //拖拽结束事件
  4417. onEnd() {
  4418. this.drag = false;
  4419. },
  4420. //附件删除
  4421. deleteFile(scope) {
  4422. this.relevantAttachments[scope.$index].fName = "";
  4423. this.relevantAttachments[scope.$index].fUrl = "";
  4424. if (this.relevantAttachments[scope.$index].fUrl === "") {
  4425. this.$message.success("删除成功");
  4426. } else {
  4427. this.$message.error("未知错误,删除失败");
  4428. }
  4429. },
  4430. //附件查看
  4431. checkFile(scope) {
  4432. if (this.relevantAttachments[scope.$index].fUrl) {
  4433. window.open(this.relevantAttachments[scope.$index].fUrl);
  4434. } else {
  4435. this.$message.error("请上传附件");
  4436. }
  4437. },
  4438. //附件上传
  4439. handleSucces(scope, res, file) {
  4440. this.relevantAttachments[scope.$index].fName = res.fileName;
  4441. this.relevantAttachments[scope.$index].fUrl = res.url;
  4442. if (this.relevantAttachments[scope.$index].fUrl === "") {
  4443. this.$message.error("上传失败");
  4444. } else {
  4445. this.$message.success("上传成功");
  4446. }
  4447. },
  4448. //合计
  4449. getSum(param) {
  4450. const { columns, data } = param;
  4451. const sums = [];
  4452. columns.forEach((column, index) => {
  4453. if (index === 0) {
  4454. sums[index] = "总计";
  4455. } else if (
  4456. index === 14 ||
  4457. index === 13 ||
  4458. index === 10 ||
  4459. index === 11 ||
  4460. index === 12
  4461. ) {
  4462. const values = data.map((item) => Number(item[column.property]));
  4463. if (!values.every((value) => isNaN(value))) {
  4464. sums[index] = values.reduce((prev, curr) => {
  4465. const value = Number(curr);
  4466. if (!isNaN(value)) {
  4467. return prev + curr;
  4468. } else {
  4469. return prev;
  4470. }
  4471. }, 0);
  4472. if (index === 13 || index === 14) {
  4473. sums[index] = (sums[index] / 1000).toFixed(2) + "(吨)";
  4474. }
  4475. if (index === 12) {
  4476. sums[index] = sums[index];
  4477. }
  4478. }
  4479. }
  4480. });
  4481. return sums;
  4482. },
  4483. handleSelect(key, keyPath) {
  4484. this.addAgreement(key);
  4485. this.addAgreements(key);
  4486. },
  4487. // 新增付款作业费协议
  4488. addAgreements(kye) {
  4489. if (!this.form.fCorpid) {
  4490. this.$message({
  4491. message: "请维护货权方",
  4492. type: "warning",
  4493. });
  4494. } else if (this.form.fProductName == undefined) {
  4495. this.$message({
  4496. message: "请维护入库明细品名",
  4497. type: "warning",
  4498. });
  4499. } else {
  4500. this.whgenlegList = [];
  4501. this.dialogWhgenlegList = [];
  4502. this.whgenlegTotal = 0;
  4503. this.warehousingagreements = true;
  4504. this.getWhgenlegList(kye);
  4505. }
  4506. },
  4507. hanDleclose(done) {
  4508. this.$confirm("确认关闭?")
  4509. .then((_) => {
  4510. done();
  4511. })
  4512. .catch((_) => {});
  4513. },
  4514. /** 查询部门下拉树结构 */
  4515. treeseLect(tree) {
  4516. this.queryParams.fWarehouselocid = tree.id;
  4517. },
  4518. getTreeselect(row) {
  4519. this.treeselectList.fWarehouselocid = null;
  4520. this.inDex = row.$index;
  4521. this.choiceWarehouse = true;
  4522. treeselect(this.form.fWarehouseid).then((response) => {
  4523. this.fWarehouseidOptions = response.data;
  4524. this.fWarehouseidOption = response.data;
  4525. });
  4526. this.Warehouse = this.dataList[this.inDex].fWarehouseInformation;
  4527. },
  4528. getAlltree(tree) {
  4529. this.information = tree.fWarehouseInformation;
  4530. this.informationId = tree.id;
  4531. },
  4532. confirm() {
  4533. this.$set(
  4534. this.dataList[this.inDex],
  4535. "fWarehouseInformation",
  4536. this.information
  4537. );
  4538. this.$set(
  4539. this.dataList[this.inDex],
  4540. "fWarehouselocid",
  4541. this.informationId
  4542. );
  4543. this.choiceWarehouse = false;
  4544. },
  4545. //审批页面跳转
  4546. adoPt() {
  4547. this.approval = this.$route.query.data;
  4548. if (this.approval) {
  4549. let queryParams = { pageNum: 1, fDc: "C" };
  4550. listFees(queryParams).then((response) => {
  4551. this.fCNameOptions = response.rows;
  4552. });
  4553. let query = { pageNum: 1, fDc: "D" };
  4554. listFees(query).then((response) => {
  4555. this.fDNameOptions = response.rows;
  4556. });
  4557. this.reset();
  4558. this.doNot = true;
  4559. this.closeButton = false;
  4560. this.approval = JSON.parse(this.approval);
  4561. this.approVal = true;
  4562. this.browseStatus = status;
  4563. this.contrOl = true;
  4564. this.detailsHidden = false;
  4565. this.formBrowseStatus = false;
  4566. this.dataList = [];
  4567. getWarehousebills(this.approval.billId).then((response) => {
  4568. if (response.data.warehousebills) {
  4569. this.form = response.data.warehousebills;
  4570. if (this.form.fBillstatus > 2) {
  4571. this.approvalStatus = false;
  4572. } else {
  4573. this.approvalStatus = true;
  4574. }
  4575. }
  4576. if (response.data.warehouseBillsItem) {
  4577. this.dataList = response.data.warehouseBillsItem;
  4578. for (let list in this.dataList) {
  4579. if (this.dataList[list].fBillstatus > 10) {
  4580. this.formBrowseStatus = true;
  4581. }
  4582. }
  4583. }
  4584. if (response.data.corps) {
  4585. this.fMblnoOptions = response.data.corps;
  4586. this.KHblnoOptions = response.data.corps;
  4587. this.fCompanyOptIons = response.data.corps;
  4588. }
  4589. if (response.data.feesList) {
  4590. this.fWbuOptions = response.data.feesList;
  4591. }
  4592. if (response.data.warehouse) {
  4593. this.warehouseOptions = response.data.warehouse;
  4594. }
  4595. if (response.data.warehouseBillsItem) {
  4596. this.dataList = response.data.warehouseBillsItem;
  4597. }
  4598. if (response.data.enclosures) {
  4599. this.relevantAttachments = response.data.enclosures;
  4600. }
  4601. this.$set(
  4602. this.form,
  4603. "fCartype",
  4604. response.data.warehousebills.fCartype + ""
  4605. );
  4606. this.$set(this.form, "fStltypeid", this.form.fStltypeid + "");
  4607. this.$set(this.form, "fEta", Date.parse(this.form.fEta));
  4608. this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
  4609. this.$set(this.form, "createTime", Date.parse(this.form.createTime));
  4610. this.$set(this.form, "fTrademodeid", this.form.fTrademodeid + "");
  4611. this.$set(this.form, "fPlannetweight", this.form.fPlannetweight);
  4612. this.$set(this.form, "fPlangrossweight", this.form.fPlangrossweight);
  4613. for (let list in this.dataList) {
  4614. this.$set(
  4615. this.dataList[list],
  4616. "fBsdate",
  4617. Date.parse(this.dataList[list].fBsdate)
  4618. );
  4619. this.$set(
  4620. this.dataList[list],
  4621. "fBusinessType",
  4622. this.dataList[list].fBusinessType + ""
  4623. );
  4624. }
  4625. this.goodsOptions = response.data.goodsList;
  4626. this.kqhouseOptions = response.data.warehouseAreas;
  4627. this.warehouseDrList = response.data.warehousebillsfeesDr;
  4628. for (let dr in this.warehouseDrList) {
  4629. this.$set(
  4630. this.warehouseDrList[dr],
  4631. "fFeeunitid",
  4632. this.warehouseDrList[dr].fFeeunitid + ""
  4633. );
  4634. this.$set(
  4635. this.warehouseDrList[dr],
  4636. "fQty",
  4637. this.warehouseDrList[dr].fQty.toFixed(2)
  4638. );
  4639. this.$set(
  4640. this.warehouseDrList[dr],
  4641. "fAmount",
  4642. this.warehouseDrList[dr].fAmount.toFixed(2)
  4643. );
  4644. }
  4645. this.warehouseCrList = response.data.warehousebillsfeesCr;
  4646. for (let cr in this.warehouseCrList) {
  4647. this.$set(
  4648. this.warehouseCrList[cr],
  4649. "fFeeunitid",
  4650. this.warehouseCrList[cr].fFeeunitid + ""
  4651. );
  4652. }
  4653. this.userOptions = response.data.sysUser;
  4654. this.open = true;
  4655. this.title = "修改仓入库";
  4656. });
  4657. }
  4658. },
  4659. //审批页面跳转
  4660. adoPt2() {
  4661. let queryParams = { pageNum: 1, fDc: "C" };
  4662. listFees(queryParams).then((response) => {
  4663. this.fCNameOptions = response.rows;
  4664. });
  4665. let query = { pageNum: 1, fDc: "D" };
  4666. listFees(query).then((response) => {
  4667. this.fDNameOptions = response.rows;
  4668. });
  4669. this.dataList = [];
  4670. this.reset();
  4671. this.browseStatus = status;
  4672. this.contrOl = status;
  4673. this.detailsHidden = false;
  4674. this.formBrowseStatus = false;
  4675. this.goodsRemoteMethod();
  4676. getWarehousebills(this.$route.query.id).then((response) => {
  4677. if (response.data.warehousebills) {
  4678. this.form = response.data.warehousebills;
  4679. this.before = this.form.createBy;
  4680. this.$set(
  4681. this.form,
  4682. "fCartype",
  4683. response.data.warehousebills.fCartype + ""
  4684. );
  4685. this.$set(this.form, "fEta", Date.parse(this.form.fEta));
  4686. this.$set(this.form, "fStltypeid", this.form.fStltypeid + "");
  4687. this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
  4688. this.$set(this.form, "createTime", Date.parse(this.form.createTime));
  4689. this.$set(this.form, "fTrademodeid", this.form.fTrademodeid + "");
  4690. if (this.form.fBillstatus > 2) {
  4691. this.approvalStatus = false;
  4692. } else {
  4693. this.approvalStatus = true;
  4694. }
  4695. }
  4696. if (response.data.warehouseBillsItem) {
  4697. this.dataList = response.data.warehouseBillsItem;
  4698. for (let list in this.dataList) {
  4699. this.$set(
  4700. this.dataList[list],
  4701. "fBusinessType",
  4702. this.dataList[list].fBusinessType + ""
  4703. );
  4704. if (this.dataList[list].fBillstatus > 10) {
  4705. this.formBrowseStatus = true;
  4706. this.$set(
  4707. this.dataList[list],
  4708. "fBusinessType",
  4709. this.dataList[list].fBusinessType + ""
  4710. );
  4711. }
  4712. if (this.dataList[list].fBillstatus === 40) {
  4713. this.contrOl = true;
  4714. }
  4715. }
  4716. }
  4717. if (response.data.corps) {
  4718. this.fMblnoOptions = response.data.corps;
  4719. this.KHblnoOptions = response.data.corps;
  4720. }
  4721. if (response.data.feesList) {
  4722. this.fWbuOptions = response.data.feesList;
  4723. }
  4724. if (response.data.warehouse) {
  4725. this.warehouseOptions = response.data.warehouse;
  4726. }
  4727. if (response.data.warehouseBillsItem) {
  4728. this.dataList = response.data.warehouseBillsItem;
  4729. for (let list in this.dataList) {
  4730. this.$set(
  4731. this.dataList[list],
  4732. "fBsdate",
  4733. Date.parse(this.dataList[list].fBsdate)
  4734. );
  4735. }
  4736. }
  4737. if (response.data.enclosures) {
  4738. this.relevantAttachments = response.data.enclosures;
  4739. }
  4740. this.goodsOptions = response.data.goodsList;
  4741. this.kqhouseOptions = response.data.warehouseAreas;
  4742. this.warehouseDrList = response.data.warehousebillsfeesDr;
  4743. for (let dr in this.warehouseDrList) {
  4744. if (this.warehouseDrList[dr].fFeeunitid !== null) {
  4745. this.$set(
  4746. this.warehouseDrList[dr],
  4747. "fFeeunitid",
  4748. this.warehouseDrList[dr].fFeeunitid + ""
  4749. );
  4750. }
  4751. this.$set(
  4752. this.warehouseDrList[dr],
  4753. "fQty",
  4754. this.warehouseDrList[dr].fQty.toFixed(2)
  4755. );
  4756. this.$set(
  4757. this.warehouseDrList[dr],
  4758. "fAmount",
  4759. this.warehouseDrList[dr].fAmount.toFixed(2)
  4760. );
  4761. }
  4762. this.warehouseCrList = response.data.warehousebillsfeesCr;
  4763. for (let cr in this.warehouseCrList) {
  4764. if (this.warehouseCrList[cr].fFeeunitid !== null) {
  4765. this.$set(
  4766. this.warehouseCrList[cr],
  4767. "fFeeunitid",
  4768. this.warehouseCrList[cr].fFeeunitid + ""
  4769. );
  4770. }
  4771. // this.$set(this.warehouseCrList[cr], "fBusinessType", response.data.warehousebillsfeesCr);
  4772. }
  4773. this.userOptions = response.data.sysUser;
  4774. this.open = true;
  4775. this.title = "修改仓入库";
  4776. this.warehousesssMethod();
  4777. this.fWbuOptions = [];
  4778. let queryParams = { pageNum: 1 };
  4779. listFees(queryParams).then((response) => {
  4780. this.fWbuOptions = response.rows;
  4781. });
  4782. });
  4783. queryUserVal().then((response) => {
  4784. this.current = response.user.userName;
  4785. });
  4786. },
  4787. getDataList() {
  4788. this.addOrUpdateVisible = false;
  4789. },
  4790. returnData() {
  4791. this.addOrUpdateVisib = false;
  4792. this.cancelTwo();
  4793. },
  4794. addOrUpdateHandle(form) {
  4795. this.addOrUpdateVisible = true;
  4796. this.$nextTick(() => {
  4797. this.$refs.addOrUpdate.init(form.fId, 120);
  4798. });
  4799. },
  4800. addOrUpdateHand(form) {
  4801. this.addOrUpdateVisib = true;
  4802. this.$nextTick(() => {
  4803. this.$refs.ApprovalComments.init(form.fId, 120);
  4804. });
  4805. },
  4806. cancelTwo() {
  4807. this.mblnoStatus = "";
  4808. this.open = false;
  4809. let view = {
  4810. fullPath: "/business/outStock",
  4811. hash: "",
  4812. matched: Array(2),
  4813. meta: Object,
  4814. name: "OutStock",
  4815. params: Object,
  4816. path: "/business/outStock",
  4817. query: Object,
  4818. title: "出库",
  4819. };
  4820. this.$router.push({ path: "/index" });
  4821. this.$store
  4822. .dispatch("tagsView/delView", view)
  4823. .then(({ visitedViews }) => {
  4824. if (this.isActive(view)) {
  4825. this.toLastView(visitedViews, view);
  4826. }
  4827. });
  4828. Global.$emit("removeCache", "closeSelectedTag", view);
  4829. },
  4830. //关闭弹框的事件
  4831. addCloseDialog() {
  4832. this.mblnoStatus = "";
  4833. this.getList();
  4834. },
  4835. // 上传成功返回数据
  4836. showFile(row) {
  4837. for (let list in this.relevantAttachments) {
  4838. this.$set(this.relevantAttachments[list], "fUrl", row.url);
  4839. this.$set(this.relevantAttachments[list], "fName", row.fileName);
  4840. }
  4841. },
  4842. revoke() {
  4843. revoke(this.form.fId).then((data) => {
  4844. if (data.code == 200) {
  4845. this.open = false;
  4846. this.getList();
  4847. }
  4848. });
  4849. },
  4850. printSomething() {
  4851. // 此处的style即为打印时的样式
  4852. const style =
  4853. "@media print { .print-div{ border:1px solid #000;padding:8px;background-color:#cccccc;line-height:12px } .red{ color:#f00} .green{color:green} td{text-align: center;border:1px solid #000}}";
  4854. print({
  4855. printable: "print_area",
  4856. type: "html",
  4857. style: style, // 亦可使用引入的外部css;
  4858. scanStyles: false,
  4859. });
  4860. this.openPrintJobSheet = false;
  4861. },
  4862. // 关闭二级弹窗
  4863. closeWindow() {
  4864. this.openPrintJobSheet = false;
  4865. },
  4866. // 新增附件上传
  4867. addRelevt() {
  4868. this.relevantAttachments.push({
  4869. fUrl: null,
  4870. fName: null,
  4871. createBy: this.form.createBy,
  4872. createTime: Date.parse(new Date()),
  4873. });
  4874. },
  4875. // 新增作业费协议
  4876. addAgreement(kye, status) {
  4877. this.costStatus = status;
  4878. if (!this.form.fCorpid) {
  4879. this.$message({ message: "请维护货权方", type: "warning" });
  4880. }
  4881. // else if(this.form.fProductName == undefined) {
  4882. // this.$message({
  4883. // message: "请维护入库明细品名",
  4884. // type: "warning",
  4885. // });
  4886. // }
  4887. else {
  4888. this.whgenlegList = [];
  4889. this.dialogWhgenlegList = [];
  4890. this.whgenlegTotal = 0;
  4891. this.warehousingagreements = true;
  4892. this.getWhgenlegListt(kye);
  4893. }
  4894. },
  4895. // 新增仓储费协议
  4896. addStorages() {
  4897. if (!this.form.fCorpid) {
  4898. this.$message({ message: "请维护货权方", type: "warning" });
  4899. return false;
  4900. }
  4901. this.whgenlegList = [];
  4902. this.dialogWhgenlegList = [];
  4903. this.whgenlegTotal = 0;
  4904. this.storageAgreements = true;
  4905. this.getAgreement();
  4906. },
  4907. // 查询仓储费协议
  4908. getAgreement() {
  4909. this.queryParams.fCorpid = this.form.fCorpid;
  4910. listAgreements(this.queryParams).then((response) => {
  4911. this.tasklegList = response.rows;
  4912. this.whgenlegTotal = response.total;
  4913. });
  4914. },
  4915. // 查询作业费信息
  4916. getWhgenlegListt(kye) {
  4917. let data = {};
  4918. let fTaskType = kye;
  4919. if (kye == 2) {
  4920. this.Navigation = true;
  4921. data = {
  4922. pageNum: 1,
  4923. pageSize: 10,
  4924. fTaskType: Number(fTaskType),
  4925. fLabour: this.form.fLabour,
  4926. };
  4927. this.key_s = kye;
  4928. } else if (kye == 1) {
  4929. this.Navigation = true;
  4930. data = {
  4931. pageNum: 1,
  4932. pageSize: 10,
  4933. fTaskType: Number(fTaskType),
  4934. fFleet: this.form.fFleet,
  4935. fBilltype: "SJCK",
  4936. };
  4937. this.key_s = kye;
  4938. } else {
  4939. this.Navigation = false;
  4940. data = {
  4941. pageNum: 1,
  4942. pageSize: 10,
  4943. fCorpid: this.form.fCorpid,
  4944. };
  4945. this.key_s = kye;
  4946. }
  4947. operationAgreement(data).then((response) => {
  4948. this.tasklegList = response.rows;
  4949. this.whgenlegTotal = response.total;
  4950. });
  4951. },
  4952. revokeTwo() {
  4953. let data = {
  4954. actId: 120,
  4955. billId: this.form.fId,
  4956. id: this.form.fId,
  4957. };
  4958. revokeTwo(data).then((data) => {
  4959. if (data.code === 200) {
  4960. this.msgSuccess("撤销成功");
  4961. this.open = false;
  4962. this.getList();
  4963. this.reset();
  4964. }
  4965. });
  4966. },
  4967. // 导入付款信息
  4968. whgenlegDatas() {
  4969. if (this.dialogWhgenlegList.length === 0) {
  4970. this.$message({
  4971. message: "请选择需要导入的数据",
  4972. type: "warning",
  4973. });
  4974. } else {
  4975. for (let whgen in this.dialogWhgenlegList) {
  4976. let feeId = this.dialogWhgenlegList[whgen].feeFId;
  4977. getFees(feeId).then((response) => {
  4978. this.fWbuOptions.push(response.data);
  4979. });
  4980. this.warehouseDrList.push({
  4981. fCorpid: this.dialogWhgenlegList[whgen].fCorpid,
  4982. fFeeid: feeId,
  4983. fFeeUnitid: this.dialogWhgenlegList[whgen].fFeeUnitid + "",
  4984. fUnitprice: this.dialogWhgenlegList[whgen].fPrice,
  4985. fCurrency: "RMB",
  4986. fExrate: 1,
  4987. fTaxrate: this.fTaxrate,
  4988. });
  4989. }
  4990. this.warehousingagreements = false;
  4991. }
  4992. },
  4993. // 导出作业费
  4994. zhgenlegData() {
  4995. if (this.dialogWhgenlegList.length === 0) {
  4996. this.$message({ message: "请选择需要导入的数据", type: "warning" });
  4997. return false;
  4998. }
  4999. for (let zhgen in this.dialogWhgenlegList) {
  5000. let haveGoods = false;
  5001. let feeId = this.dialogWhgenlegList[zhgen].feeFId;
  5002. if (this.fWbuOptions.length !== 0) {
  5003. for (let wbu in this.fWbuOptions) {
  5004. if (this.fWbuOptions[wbu].fId === feeId) {
  5005. haveGoods = true;
  5006. break;
  5007. }
  5008. }
  5009. }
  5010. getFees(feeId).then((response) => {
  5011. this.fWbuOptions = [];
  5012. let queryParams = { pageNum: 1 };
  5013. listFees(queryParams).then((response) => {
  5014. this.fWbuOptions = response.rows;
  5015. });
  5016. });
  5017. let qty = 1;
  5018. if (this.dialogWhgenlegList[zhgen].fFeeUnitid === 1) {
  5019. qty = this.fQty;
  5020. } else if (this.dialogWhgenlegList[zhgen].fFeeUnitid === 2) {
  5021. qty = (this.fGrossweight / 1000).toFixed(2);
  5022. } else if (this.dialogWhgenlegList[zhgen].fFeeUnitid === 3) {
  5023. qty = (this.fNetweight / 1000).toFixed(2);
  5024. } else if (this.dialogWhgenlegList[zhgen].fFeeUnitid === 4) {
  5025. qty = this.fVolumn;
  5026. }
  5027. // qty=(qty/1000).toFixed(2);
  5028. let fAmount = parseFloat(
  5029. Number(this.dialogWhgenlegList[zhgen].fPrice) * Number(qty)
  5030. ).toFixed(2);
  5031. if (this.costStatus == "3") {
  5032. let queryParams = { pageNum: 1, fDc: "D" };
  5033. listFees(queryParams).then((response) => {
  5034. this.fDNameOptions = response.rows;
  5035. });
  5036. this.warehouseDrList.push({
  5037. fQty: qty,
  5038. fCorpid: this.dialogWhgenlegList[zhgen].fCorpid,
  5039. fFeeid: feeId,
  5040. fFeeunitid: this.dialogWhgenlegList[zhgen].fFeeUnitid + "",
  5041. fUnitprice: this.dialogWhgenlegList[zhgen].fPrice,
  5042. fCurrency: "RMB",
  5043. fExrate: 1,
  5044. fAmount: fAmount,
  5045. fTaxrate: this.fTaxrate,
  5046. fMblno: this.form.fMblno,
  5047. fProductName: this.form.fProductName,
  5048. fMarks: this.form.fMarks,
  5049. fBusinessType: this.$set(
  5050. this.warehouseDrList,
  5051. "fBusinessType",
  5052. this.form.fBusinessType
  5053. ),
  5054. fSrcTypeId: this.dialogWhgenlegList[zhgen].fId,
  5055. });
  5056. } else {
  5057. let queryParams = { pageNum: 1, fDc: "C" };
  5058. listFees(queryParams).then((response) => {
  5059. this.fCNameOptions = response.rows;
  5060. });
  5061. this.warehouseCrList.push({
  5062. fQty: qty,
  5063. fCorpid: this.dialogWhgenlegList[zhgen].fCorpid,
  5064. fFeeid: feeId,
  5065. fFeeunitid: this.dialogWhgenlegList[zhgen].fFeeUnitid + "",
  5066. fUnitprice: this.dialogWhgenlegList[zhgen].fPrice,
  5067. fCurrency: "RMB",
  5068. fExrate: 1,
  5069. fAmount: fAmount,
  5070. fTaxrate: this.fTaxrate,
  5071. fMblno: this.form.fMblno,
  5072. fProductName: this.form.fProductName,
  5073. fMarks: this.form.fMarks,
  5074. fBusinessType: this.$set(
  5075. this.warehouseCrList,
  5076. "fBusinessType",
  5077. this.form.fBusinessType
  5078. ),
  5079. fSrcTypeId: this.dialogWhgenlegList[zhgen].fId,
  5080. });
  5081. console.log(this.dialogWhgenlegList[zhgen]);
  5082. }
  5083. // if (this.costStatus === 'Cr' ) {
  5084. // this.warehouseCrList.push({
  5085. // fQty: qty,
  5086. // fCorpid: this.dialogWhgenlegList[zhgen].fCorpid,
  5087. // fFeeid: feeId,
  5088. // fFeeunitid: this.dialogWhgenlegList[zhgen].fFeeUnitid + '',
  5089. // fUnitprice: this.dialogWhgenlegList[zhgen].fPrice,
  5090. // fCurrency: 'RMB',
  5091. // fExrate: 1,
  5092. // fAmount: fAmount,
  5093. // fTaxrate: this.fTaxrate,
  5094. // fMblno:this.form.fMblno,
  5095. // fProductName:this.form.fProductName,
  5096. // fMarks:this.form.fMarks,
  5097. // fBusinessType:this.$set(this.warehouseCrList,'fBusinessType',this.form.fBusinessType)
  5098. // })
  5099. // } else {
  5100. // this.warehouseDrList.push({
  5101. // fQty: qty,
  5102. // fCorpid: this.dialogWhgenlegList[zhgen].fCorpid,
  5103. // fFeeid: feeId,
  5104. // fFeeunitid: this.dialogWhgenlegList[zhgen].fFeeUnitid + '',
  5105. // fUnitprice: this.dialogWhgenlegList[zhgen].fPrice,
  5106. // fCurrency: 'RMB',
  5107. // fExrate: 1,
  5108. // fAmount: fAmount,
  5109. // fTaxrate: this.fTaxrate,
  5110. // fMblno:this.form.fMblno,
  5111. // fProductName:this.form.fProductName,
  5112. // fMarks:this.form.fMarks,
  5113. // fBusinessType:this.$set(this.warehouseDrList,'fBusinessType',this.form.fBusinessType)
  5114. // })
  5115. // }
  5116. }
  5117. this.warehousingagreements = false;
  5118. },
  5119. // 导出仓储费
  5120. storageFeeExport() {
  5121. if (this.dialogWhgenlegList.length === 0) {
  5122. this.$message({ message: "请选择需要导入的数据", type: "warning" });
  5123. return false;
  5124. }
  5125. for (let zhgen in this.dialogWhgenlegList) {
  5126. let haveGoods = false;
  5127. if (this.fWbuOptions.length !== 0) {
  5128. for (let wbu in this.fWbuOptions) {
  5129. if (
  5130. this.fWbuOptions[wbu].fId ===
  5131. this.dialogWhgenlegList[zhgen].fGoodsid
  5132. ) {
  5133. haveGoods = true;
  5134. break;
  5135. }
  5136. }
  5137. }
  5138. if (!haveGoods) {
  5139. let feeId = this.dialogWhgenlegList[zhgen].feeFId;
  5140. getFees(feeId).then((response) => {
  5141. this.fWbuOptions.push(response.data);
  5142. });
  5143. }
  5144. if (this.costStatus === "Cr") {
  5145. this.warehouseCrList.push({
  5146. fQty: 0,
  5147. fCorpid: this.dialogWhgenlegList[zhgen].fCorpid,
  5148. fFeeid: null,
  5149. fFeeunitid: this.dialogWhgenlegList[zhgen].fFeeUnitid,
  5150. fUnitprice: this.dialogWhgenlegList[zhgen].fPrice,
  5151. fCurrency: "RMB",
  5152. fExrate: 1,
  5153. fAmount: 0,
  5154. fTaxrate: this.fTaxrate,
  5155. });
  5156. } else {
  5157. this.warehouseDrList.push({
  5158. fQty: 0,
  5159. fCorpid: this.dialogWhgenlegList[zhgen].fCorpid,
  5160. fFeeid: null,
  5161. fFeeunitid: this.dialogWhgenlegList[zhgen].fFeeUnitid,
  5162. fUnitprice: this.dialogWhgenlegList[zhgen].fPrice,
  5163. fCurrency: "RMB",
  5164. fExrate: 1,
  5165. fAmount: 0,
  5166. fTaxrate: this.fTaxrate,
  5167. });
  5168. }
  5169. }
  5170. this.storageAgreements = false;
  5171. },
  5172. // 新增list
  5173. addRelevant() {
  5174. this.$refs["form"].validate((valid) => {
  5175. if (valid) {
  5176. this.whgenlegList = [];
  5177. this.dialogWhgenlegList = [];
  5178. this.whgenlegTotal = 0;
  5179. this.whgenlegVisible = true;
  5180. this.getWhgenlegList();
  5181. // this.changeInformation()
  5182. }
  5183. });
  5184. },
  5185. // 库存总账导出数据
  5186. whgenlegData() {
  5187. if (this.dialogWhgenlegList.length === 0) {
  5188. this.$message({ message: "未勾选信息", type: "warning" });
  5189. return false;
  5190. }
  5191. for (let whgen in this.dialogWhgenlegList) {
  5192. if (!this.form.fMblno || this.form.fMblno === "") {
  5193. this.$set(this.form, "fMblno", this.dialogWhgenlegList[whgen].fMblno);
  5194. }
  5195. this.changeInformation();
  5196. // for (let list in this.fStorageTypeOptions) {
  5197. // if (this.dialogWhgenlegList[whgen].fBusinessType === this.fStorageTypeOptions[list].dictValue) {
  5198. // this.$set(this.dialogWhgenlegList[whgen], 'fBusinessType', this.fStorageTypeOptions[list].dictLabel)
  5199. // break
  5200. // }
  5201. // }
  5202. this.dataList.push({
  5203. fBsdate: this.form.fBsdate,
  5204. fId: null,
  5205. fMblno: this.dialogWhgenlegList[whgen].fMblno,
  5206. fGoodsid: this.dialogWhgenlegList[whgen].fGoodsid,
  5207. fCntrtype: null,
  5208. fPlanqty: this.dialogWhgenlegList[whgen].fQtyblc,
  5209. fPlannetweight: this.dialogWhgenlegList[whgen].fNetweightblc,
  5210. fPlangrossweight: this.dialogWhgenlegList[whgen].fGrossweightblc,
  5211. fWarehouseLocationids: this.dialogWhgenlegList[whgen]
  5212. .fWarehouseLocationids,
  5213. fGoodsids: this.dialogWhgenlegList[whgen].fGoodsids,
  5214. fBillingway: this.dialogWhgenlegList[whgen].fBillingway,
  5215. fChargedate: this.dialogWhgenlegList[whgen].fChargedate,
  5216. fMarks: this.dialogWhgenlegList[whgen].fMarks,
  5217. fOriginalbilldate: this.dialogWhgenlegList[whgen].fOriginalbilldate,
  5218. fOriginalbillno: this.dialogWhgenlegList[whgen].fOriginalbillno,
  5219. fPackagespecs: this.dialogWhgenlegList[whgen].fPackagespecs,
  5220. fVolumn: this.dialogWhgenlegList[whgen].fVolumnblc,
  5221. fGrossweight: 0,
  5222. fNetweight: 0,
  5223. fQty: 0,
  5224. fCntqty: 1,
  5225. fBillstatus: 10,
  5226. fWarehouselocid: this.dialogWhgenlegList[whgen].fWarehouseLocationid,
  5227. fWarehouselocids: this.dialogWhgenlegList[whgen]
  5228. .fWarehouseLocationids,
  5229. fCntrno: this.dialogWhgenlegList[whgen].fCntrno,
  5230. fGoodsval: null,
  5231. fTruckno: this.whgenlegList.fTruckno,
  5232. remark: null,
  5233. fIsPass: "F",
  5234. fDriverName: this.whgenlegList.fDriverName,
  5235. fDriverTel: this.whgenlegList.fDriverTel,
  5236. fDriverIdCar: this.whgenlegList.fDriverIdCar,
  5237. fBusinessType: this.dialogWhgenlegList[whgen].fBusinessType + "",
  5238. fWarehouseInformation: this.dialogWhgenlegList[whgen].fWarehouseids,
  5239. });
  5240. }
  5241. this.whgenlegVisible = false;
  5242. // this.contrOl = true
  5243. },
  5244. // 收货单打印界面
  5245. showEditDialog_s() {
  5246. if (this.printinglist.length <= 0) {
  5247. this.$message.error("请选择需要打印的明细!");
  5248. return false;
  5249. }
  5250. for (let aorp in this.printinglist) {
  5251. var date = new Date(this.printinglist[aorp].fBsdate);
  5252. var Y = date.getFullYear() + "-";
  5253. var M =
  5254. (date.getMonth() + 1 < 10
  5255. ? "0" + (date.getMonth() + 1)
  5256. : date.getMonth() + 1) + "-";
  5257. var D =
  5258. (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
  5259. this.$set(this.printinglist[aorp], "fBsdates", Y + M + D);
  5260. }
  5261. this.editDialogVisible_s = true;
  5262. for (let corp in this.fMblnoOptions) {
  5263. if (this.form.fCorpid === this.fMblnoOptions[corp].fId) {
  5264. this.$set(this.form, "fCorpName", this.fMblnoOptions[corp].fName);
  5265. }
  5266. }
  5267. for (let sorp in this.warehouseOptions) {
  5268. if (this.form.fWarehouseid === this.warehouseOptions[sorp].fId) {
  5269. this.$set(
  5270. this.form,
  5271. "fWarehouseids",
  5272. this.warehouseOptions[sorp].fName
  5273. );
  5274. }
  5275. }
  5276. },
  5277. // 作业单打印
  5278. printJobSheet() {
  5279. for (let item in this.fCartypeOptions) {
  5280. if (this.form.fCartype == this.fCartypeOptions[item].dictValue) {
  5281. this.fCartype = this.fCartypeOptions[item].dictLabel;
  5282. }
  5283. }
  5284. if (this.printinglist.length <= 0) {
  5285. this.$message.error("请维护出库明细!");
  5286. return false;
  5287. }
  5288. let fTruckno = this.printinglist[0].fTruckno;
  5289. let fDriverName = this.printinglist[0].fDriverName;
  5290. for (let li in this.printinglist) {
  5291. for (let list in this.fStorageTypeOptions) {
  5292. if (
  5293. this.printinglist[li].fBusinessType ===
  5294. this.fStorageTypeOptions[list].dictValue
  5295. ) {
  5296. this.$set(
  5297. this.printinglist[li],
  5298. "fBusinessTypes",
  5299. this.fStorageTypeOptions[list].dictLabel
  5300. );
  5301. break;
  5302. }
  5303. }
  5304. if (!this.printinglist[li].fId) {
  5305. this.$message.error("请先保存!");
  5306. return false;
  5307. }
  5308. if (this.form.fFeetunit > 3) {
  5309. this.$message.error("请维护主表计费单位为件数、毛重(kg)或净重(kg)");
  5310. return false;
  5311. }
  5312. if (
  5313. !this.printinglist[li].fTruckno ||
  5314. this.printinglist[li].fTruckno !== fTruckno
  5315. ) {
  5316. this.$message.error("请填写车号或选择车相同车号");
  5317. return false;
  5318. // } else if (!this.printinglist[li].fDriverName || this.printinglist[li].fDriverName !== fDriverName) {
  5319. // this.$message.error('请填写司机姓名选择相同司机姓名')
  5320. // return false
  5321. // } else if (!this.printinglist[li].fDriverTel) {
  5322. // this.$message.error('请选填写司机电话')
  5323. // return false
  5324. // } else if (!this.printinglist[li].fDriverIdCar) {
  5325. // this.$message.error('请选填写司机身份证')
  5326. // return false
  5327. // } else if (!this.printinglist[li].fDriverName) {
  5328. // this.$message.error('请输入司机姓名')
  5329. // return false
  5330. // } else if (!this.printinglist[li].fDriverTel) {
  5331. // this.$message.error('请输入司机电话')
  5332. // return false
  5333. }
  5334. }
  5335. if (
  5336. this.dataWithdrawList.length > 0 ||
  5337. this.dataListSelection.length > 0
  5338. ) {
  5339. for (let item in this.warehouseOptions) {
  5340. if (this.form.fWarehouseid == this.warehouseOptions[item].fId) {
  5341. this.fAddr = this.warehouseOptions[item].fAddr;
  5342. }
  5343. }
  5344. }
  5345. // 获取业务日期
  5346. var date = new Date(this.form.fBsdate);
  5347. var Y = date.getFullYear() + "-";
  5348. var M =
  5349. (date.getMonth() + 1 < 10
  5350. ? "0" + (date.getMonth() + 1)
  5351. : date.getMonth() + 1) + "-";
  5352. var D =
  5353. (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
  5354. this.fBsdate = Y + M + D;
  5355. for (let dr in this.feelDrSelection) {
  5356. for (let opt in this.fWbuOptions) {
  5357. if (this.fWbuOptions[opt].fId === this.feelDrSelection[dr].fFeeid) {
  5358. this.$set(
  5359. this.feelDrSelection[dr],
  5360. "fFeeName",
  5361. this.fWbuOptions[opt].fName
  5362. );
  5363. break;
  5364. }
  5365. }
  5366. }
  5367. setTimeout(() => {
  5368. console.log("111");
  5369. this.openPrintJobSheet = true;
  5370. this.fBstime = this.form.fBstime;
  5371. }, 200);
  5372. // if(!this.dataListSelection[0].fSerialNumber){
  5373. // serialNumber().then(response =>{
  5374. // this.fSerialNumber = response.data.fSerialNumber
  5375. // })
  5376. // }else{
  5377. // this.fSerialNumber = this.dataListSelection[0].fSerialNumber
  5378. // }
  5379. for (let item in this.businessTypeOption) {
  5380. if (
  5381. this.form.fBusinessType == this.businessTypeOption[item].dictValue
  5382. ) {
  5383. this.businessType = this.businessTypeOption[item].dictLabel;
  5384. }
  5385. }
  5386. this.fSerialNumber = this.printinglist[0].fSerialNumber;
  5387. },
  5388. showEditDialog_ss() {
  5389. if (this.printinglist.length > 0) {
  5390. for (let warehouseCr in this.printinglist) {
  5391. if (
  5392. this.printinglist[warehouseCr].fTruckno !==
  5393. this.printinglist[0].fTruckno
  5394. ) {
  5395. this.$message.error("请选择车相同车号");
  5396. return false;
  5397. }
  5398. if (!this.printinglist[warehouseCr].fGoodsid) {
  5399. this.$message.error("请选择品名");
  5400. return false;
  5401. }
  5402. if (!this.printinglist[warehouseCr].fWarehouselocids) {
  5403. this.$message.error("请选择库区");
  5404. return false;
  5405. }
  5406. if (!this.printinglist[warehouseCr].fGrossweight) {
  5407. this.$message.error("请选择入库毛重(kg)");
  5408. return false;
  5409. }
  5410. if (!this.printinglist[warehouseCr].fNetweight) {
  5411. this.$message.error("请选择入库净重(kg)");
  5412. return false;
  5413. }
  5414. if (this.printinglist[warehouseCr].fQty) {
  5415. this.$message.error("请选择入库件数");
  5416. return false;
  5417. }
  5418. // if (!this.printinglist[warehouseCr].fDriverName) {
  5419. // this.$message.error("请输入司机姓名");
  5420. // return false;
  5421. // }
  5422. // if (!this.printinglist[warehouseCr].fDriverTel) {
  5423. // this.$message.error("请输入司机电话");
  5424. // return false;
  5425. // }
  5426. }
  5427. this.openPrintJobSheet = true;
  5428. } else {
  5429. this.$message.error("请选择需要打印的明细!");
  5430. }
  5431. },
  5432. // 收款信息
  5433. addCollection() {
  5434. this.$refs["form"].validate((valid) => {
  5435. if (valid) {
  5436. if (this.form.fBusinessType == null) {
  5437. this.$message.error("请维护作业类型");
  5438. return false;
  5439. } else {
  5440. this.warehouseDrList.push({
  5441. fcorpid: this.form.fCorpid,
  5442. ffeeid: null,
  5443. fFeeunitid: "",
  5444. fQty: "",
  5445. funitprice: "",
  5446. fAmount: 0,
  5447. fCurrency: "RMB",
  5448. fExrate: 1,
  5449. fTaxrate: this.fTaxrate,
  5450. remarks: null,
  5451. fMblno: this.form.fMblno,
  5452. fProductName: this.form.fProductName,
  5453. fMarks: this.form.fMarks,
  5454. fBusinessType: this.form.fBusinessType,
  5455. fSrcTypeId: 0,
  5456. });
  5457. this.fWbuOptions = [];
  5458. let queryParams = { pageNum: 1, fDc: "D" };
  5459. listFees(queryParams).then((response) => {
  5460. this.fDNameOptions = response.rows;
  5461. });
  5462. }
  5463. }
  5464. });
  5465. },
  5466. //仓库电话、仓库联系人带入
  5467. warwhouseTel() {
  5468. for (let item in this.warehouseOptions) {
  5469. if (this.form.fWarehouseid == this.warehouseOptions[item].fId) {
  5470. this.form.fTel = this.warehouseOptions[item].fTel;
  5471. this.form.fContacts = this.warehouseOptions[item].fContacts;
  5472. }
  5473. }
  5474. },
  5475. addpayment() {
  5476. this.$refs["form"].validate((valid) => {
  5477. if (valid) {
  5478. if (this.form.fBusinessType == null) {
  5479. this.$message.error("请维护作业类型");
  5480. return false;
  5481. } else {
  5482. this.warehouseCrList.push({
  5483. fcorpid: this.form.fCorpid,
  5484. ffeeid: null,
  5485. fFeeunitid: "",
  5486. fQty: 0,
  5487. funitprice: 0,
  5488. fAmount: 0,
  5489. fCurrency: "RMB",
  5490. fExrate: 1,
  5491. fTaxrate: this.fTaxrate,
  5492. remarks: null,
  5493. fMblno: this.form.fMblno,
  5494. fProductName: this.form.fProductName,
  5495. fMarks: this.form.fMarks,
  5496. fBusinessType: this.form.fBusinessType,
  5497. fSrcTypeId: 0,
  5498. });
  5499. this.fWbuOptions = [];
  5500. let queryParams = { pageNum: 1, fDc: "C" };
  5501. listFees(queryParams).then((response) => {
  5502. this.fCNameOptions = response.rows;
  5503. });
  5504. }
  5505. }
  5506. });
  5507. },
  5508. queryUser() {
  5509. queryUserVal().then((response) => {
  5510. if (response.user !== null) {
  5511. this.userVal = response.user;
  5512. this.$set(this.form, "fDeptid", this.userVal.deptId);
  5513. this.$set(this.form, "createBy", this.userVal.userName);
  5514. this.$set(this.form, "fStorekeeper", this.userVal.nickName);
  5515. this.$set(this.form, "fIfdamage", "1");
  5516. this.$set(this.form, "fIfweigh", "1");
  5517. this.$set(this.form, "fTrademodeid", "1");
  5518. this.$set(this.form, "createTime", Date.parse(new Date()));
  5519. }
  5520. if (response.dept !== null) {
  5521. this.deptOptions = [];
  5522. this.deptOptions.push(response.dept);
  5523. }
  5524. });
  5525. },
  5526. /** 查询仓库主(出入库)列表 */
  5527. getList() {
  5528. let queryParams = { pageNum: 1, fTypeid: 6 };
  5529. listCorps(queryParams).then((response) => {
  5530. this.fCompanyOptIons = response.rows;
  5531. });
  5532. let params = { pageNum: 1, fTypeid: 2 };
  5533. listCorps(params).then((response) => {
  5534. this.fleetOptions = response.rows;
  5535. });
  5536. this.loading = true;
  5537. listWarehousebills(this.queryParams).then((response) => {
  5538. this.warehousebillsList = response.rows;
  5539. this.total = response.total;
  5540. this.loading = false;
  5541. });
  5542. // for(let li in this.warehousebillsList){
  5543. // }
  5544. },
  5545. // 查询库存总账信息
  5546. getWhgenlegList() {
  5547. // this.whgenlegParams.fMblno = this.form.fMblno;
  5548. this.whgenlegParams.fCorpid = this.form.fCorpid;
  5549. this.whgenlegParams.fWarehouseid = this.form.fWarehouseid;
  5550. this.whgenlegParams.fTrademodeid = this.form.fTrademodeid;
  5551. listWhgenleg(this.whgenlegParams).then((response) => {
  5552. this.whgenlegList = response.rows;
  5553. this.whgenlegTotal = response.total;
  5554. });
  5555. },
  5556. // 作业类型(数据字典),对应st_out_type 字典翻译
  5557. fBusinessTypeFormat(row, column) {
  5558. return this.selectDictLabel(this.businessTypeOption, row.fBusinessType);
  5559. },
  5560. // 贸易方式(数据字典),对应t_trademodels 字典翻译
  5561. fTrademodeidFormat(row, column) {
  5562. return this.selectDictLabel(this.fTrademodeidOptions, row.fTrademodeid);
  5563. },
  5564. // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典翻译
  5565. fIfweighFormat(row, column) {
  5566. return this.selectDictLabel(this.fIfweighOptions, row.fIfweigh);
  5567. },
  5568. // 是否破损(数据字典),默认F否则T字典翻译
  5569. fIfdamageFormat(row, column) {
  5570. return this.selectDictLabel(this.fIfdamageOptions, row.fIfdamage);
  5571. },
  5572. // 单据类型(数据字典)SJRK字典翻译
  5573. fBilltypeFormat(row, column) {
  5574. return this.selectDictLabel(this.fBilltypeOptions, row.fBilltype);
  5575. },
  5576. // 状态(数据字典),N 入字典翻译
  5577. fBillstatusFormat(row, column) {
  5578. return this.selectDictLabel(this.fBillstatusOptions, row.fBillstatus);
  5579. },
  5580. // 取消按钮
  5581. cancel() {
  5582. this.mblnoStatus = "";
  5583. this.idCopy = null;
  5584. this.open = false;
  5585. this.fGrossweight = 0;
  5586. this.fNetweight = 0;
  5587. this.fQty = 0;
  5588. this.reset();
  5589. this.getList();
  5590. },
  5591. // 表单重置
  5592. reset() {
  5593. this.form = {
  5594. fId: null,
  5595. fBillno: null,
  5596. fCustomsdeclartion: null,
  5597. fOriginalbillno: null,
  5598. fDeptid: null,
  5599. fBsdeptid: null,
  5600. fContacts: null,
  5601. fTel: null,
  5602. fCorpid: null,
  5603. fTocorpid: null,
  5604. fStltypeid: null,
  5605. fBscorpno: null,
  5606. fWarehouseid: null,
  5607. fStorekeeper: null,
  5608. fBsdate: null,
  5609. fPlanqty: null,
  5610. fPlangrossweight: null,
  5611. fPlannetweight: null,
  5612. fPlanvolumn: null,
  5613. fQty: null,
  5614. fGrossweight: null,
  5615. fNetweight: null,
  5616. fVolumn: null,
  5617. fTrademodeid: null,
  5618. fSbu: null,
  5619. fFeetunit: null,
  5620. fMblno: null,
  5621. fVslvoy: null,
  5622. fEta: null,
  5623. fCustomno: null,
  5624. fIfweigh: null,
  5625. fIfpledge: null,
  5626. fIfdamage: null,
  5627. fBankcorpid: null,
  5628. fBilltype: null,
  5629. fBillstatus: null,
  5630. delFlag: null,
  5631. createBy: null,
  5632. createTime: null,
  5633. updateBy: null,
  5634. updateTime: null,
  5635. remark: null,
  5636. fCreateby: null,
  5637. fCreatetime: null,
  5638. fGoodsid: null,
  5639. fCntrtype: null,
  5640. fCntqty: null,
  5641. fBusinessType: null,
  5642. };
  5643. this.mblnoStatus = "";
  5644. this.deptOptions = [];
  5645. this.userOptions = [];
  5646. this.fSbuOptions = [];
  5647. this.fWbuOptions = [];
  5648. this.goodsOptions = [];
  5649. this.KHblnoOptions = [];
  5650. this.fMblnoOptions = [];
  5651. this.kqhouseOptions = [];
  5652. this.addOrUpdateVisible = false;
  5653. this.addOrUpdateVisib = false;
  5654. this.formBrowseStatus = false;
  5655. this.detailsHidden = false;
  5656. this.warehousingagreements = false;
  5657. this.whgenlegVisible = false;
  5658. this.approvalStatus = false;
  5659. this.editDialogVisible_s = false;
  5660. this.editDialogVisible_ss = false;
  5661. this.openPrintJobSheet = false;
  5662. this.editDialogClosed_ss = false;
  5663. this.storageAgreements = false;
  5664. this.browseStatus = false;
  5665. this.CntrTable = [{}];
  5666. this.doNot = false;
  5667. this.resetForm("form");
  5668. },
  5669. /** 搜索按钮操作 */
  5670. handleQuery() {
  5671. this.queryParams.pageNum = 1;
  5672. this.getList();
  5673. },
  5674. /** 重置按钮操作 */
  5675. resetQuery() {
  5676. this.queryParams = {
  5677. fBillno: null,
  5678. createBy: null,
  5679. timeInterval: null,
  5680. fTrademodeid: null,
  5681. fCorpid: null,
  5682. fMblno: null,
  5683. fSbu: null,
  5684. fGoodsid: null,
  5685. fWarehouseid: null,
  5686. fMarks: null,
  5687. fBillstatus: null,
  5688. };
  5689. this.resetForm("queryForm");
  5690. this.handleQuery();
  5691. },
  5692. // 多选框选中数据
  5693. handleSelectionChange(selection) {
  5694. // this.ids = selection;
  5695. this.ids = selection.map((item) => item.fId);
  5696. this.idCopy = this.ids[0];
  5697. console.log(this.idCopy);
  5698. this.single =
  5699. selection.length !== 1 ||
  5700. selection.map((item) => item.fBillstatus) == 6 ||
  5701. selection.map((item) => item.fBillstatus) == 4;
  5702. this.multiple = !selection.length;
  5703. },
  5704. // 库存总账多选框
  5705. whgenlegSelectionChange(selection) {
  5706. this.dialogWhgenlegList = selection;
  5707. },
  5708. /** 新增按钮操作 */
  5709. handleAdd(status) {
  5710. this.before = "";
  5711. this.current = "";
  5712. this.reset();
  5713. this.browseStatus = status;
  5714. this.queryUser();
  5715. this.warehousesssMethod();
  5716. this.open = true;
  5717. this.detailsHidden = false;
  5718. this.dataList = [];
  5719. this.warehouseCrList = [];
  5720. this.warehouseDrList = [];
  5721. this.relevantAttachments = [];
  5722. this.title = "出库单";
  5723. this.formBrowseStatus = false;
  5724. this.form = {
  5725. fFeetunit: "2",
  5726. fCartype: "0",
  5727. fBstime: new Date(),
  5728. };
  5729. this.contrOl = false;
  5730. },
  5731. /** 修改按钮操作 */
  5732. handleUpdate(row, status) {
  5733. let queryParams = { pageNum: 1, fDc: "C" };
  5734. listFees(queryParams).then((response) => {
  5735. this.fCNameOptions = response.rows;
  5736. });
  5737. let query = { pageNum: 1, fDc: "D" };
  5738. listFees(query).then((response) => {
  5739. this.fDNameOptions = response.rows;
  5740. });
  5741. if (status === 2) {
  5742. this.goodsRemoteMethod();
  5743. getWarehousebills(this.idCopy).then((response) => {
  5744. if (response.data.warehousebills) {
  5745. this.form = response.data.warehousebills;
  5746. this.form.fProductName = "";
  5747. this.form.fMarks = "";
  5748. this.form.fMblno = "";
  5749. queryUserVal().then((response) => {
  5750. this.current = response.user.userName;
  5751. this.form.fStorekeeper = response.user.nickName;
  5752. this.form.createBy = response.user.userName;
  5753. this.before = this.form.createBy;
  5754. });
  5755. this.form.fId = null;
  5756. this.form.fBillstatus = 1;
  5757. this.$set(
  5758. this.form,
  5759. "fCartype",
  5760. response.data.warehousebills.fCartype + ""
  5761. );
  5762. this.$set(this.form, "fEta", Date.parse(this.form.fEta));
  5763. this.$set(this.form, "fStltypeid", this.form.fStltypeid + "");
  5764. this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
  5765. this.$set(
  5766. this.form,
  5767. "createTime",
  5768. Date.parse(this.form.createTime)
  5769. );
  5770. this.$set(this.form, "fTrademodeid", this.form.fTrademodeid + "");
  5771. this.$set(this.form, "fBillno", null);
  5772. }
  5773. if (response.data.warehouseBillsItem) {
  5774. this.dataList = [];
  5775. for (let list in this.dataList) {
  5776. this.$set(this.dataList[list], "fBillstatus", 10);
  5777. this.$set(
  5778. this.dataList[list],
  5779. "fBusinessType",
  5780. this.dataList[list].fBusinessType + ""
  5781. );
  5782. this.$set(
  5783. this.dataList[list],
  5784. "fBsdate",
  5785. Date.parse(this.dataList[list].fBsdate)
  5786. );
  5787. this.$set(this.dataList[list], "fSerialNumber", null);
  5788. this.$set(this.dataList[list], "fId", null);
  5789. }
  5790. }
  5791. if (response.data.corps) {
  5792. this.fMblnoOptions = response.data.corps;
  5793. this.KHblnoOptions = response.data.corps;
  5794. }
  5795. if (response.data.feesList) {
  5796. this.fWbuOptions = response.data.feesList;
  5797. }
  5798. if (response.data.warehouse) {
  5799. this.warehouseOptions = response.data.warehouse;
  5800. }
  5801. this.goodsOptions = response.data.goodsList;
  5802. this.kqhouseOptions = response.data.warehouseAreas;
  5803. if (response.data.warehousebillsfeesDr) {
  5804. this.warehouseDrList = response.data.warehousebillsfeesDr;
  5805. for (let dr in this.warehouseDrList) {
  5806. console.log(this.warehouseDrList[dr]);
  5807. this.$set(this.warehouseDrList[dr], "fBillstatus", 1);
  5808. if (this.warehouseDrList[dr].fFeeunitid !== null) {
  5809. this.$set(
  5810. this.warehouseDrList[dr],
  5811. "fFeeunitid",
  5812. this.warehouseDrList[dr].fFeeunitid + ""
  5813. );
  5814. }
  5815. this.$set(
  5816. this.warehouseDrList[dr],
  5817. "fQty",
  5818. this.warehouseDrList[dr].fQty.toFixed(2)
  5819. );
  5820. this.$set(
  5821. this.warehouseDrList[dr],
  5822. "fAmount",
  5823. this.warehouseDrList[dr].fAmount.toFixed(2)
  5824. );
  5825. this.$set(this.warehouseDrList[dr], "fId", null);
  5826. }
  5827. }
  5828. if (response.data.warehousebillsfeesCr) {
  5829. this.warehouseCrList = response.data.warehousebillsfeesCr;
  5830. for (let cr in this.warehouseCrList) {
  5831. this.$set(this.warehouseCrList[cr], "fBillstatus", 1);
  5832. if (this.warehouseCrList[cr].fFeeunitid !== null) {
  5833. this.$set(
  5834. this.warehouseCrList[cr],
  5835. "fFeeunitid",
  5836. this.warehouseCrList[cr].fFeeunitid + ""
  5837. );
  5838. }
  5839. this.$set(this.warehouseCrList[cr], "fId", null);
  5840. }
  5841. }
  5842. this.userOptions = response.data.sysUser;
  5843. this.open = true;
  5844. this.title = "修改仓入库";
  5845. this.warehousesssMethod();
  5846. this.fWbuOptions = [];
  5847. let queryParams = { pageNum: 1 };
  5848. listFees(queryParams).then((response) => {
  5849. this.fWbuOptions = response.rows;
  5850. });
  5851. });
  5852. } else {
  5853. this.dataList = [];
  5854. this.reset();
  5855. this.browseStatus = status;
  5856. this.contrOl = status;
  5857. this.detailsHidden = false;
  5858. this.formBrowseStatus = false;
  5859. let fId = row.fId || this.ids;
  5860. this.goodsRemoteMethod();
  5861. // if (fId.length === 1){
  5862. // fId = fId[0].fId
  5863. // }
  5864. getWarehousebills(fId).then((response) => {
  5865. if (response.data.warehousebills) {
  5866. this.form = response.data.warehousebills;
  5867. this.before = this.form.createBy;
  5868. this.$set(
  5869. this.form,
  5870. "fCartype",
  5871. response.data.warehousebills.fCartype + ""
  5872. );
  5873. this.$set(this.form, "fEta", Date.parse(this.form.fEta));
  5874. this.$set(this.form, "fStltypeid", this.form.fStltypeid + "");
  5875. this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
  5876. this.$set(
  5877. this.form,
  5878. "createTime",
  5879. Date.parse(this.form.createTime)
  5880. );
  5881. this.$set(this.form, "fTrademodeid", this.form.fTrademodeid + "");
  5882. if (this.form.fBillstatus > 2) {
  5883. this.approvalStatus = false;
  5884. } else {
  5885. this.approvalStatus = true;
  5886. }
  5887. }
  5888. if (response.data.warehouseBillsItem) {
  5889. this.dataList = response.data.warehouseBillsItem;
  5890. if (!this.dataList.length) {
  5891. this.form.fProductName = "";
  5892. this.form.fMarks = "";
  5893. }
  5894. for (let list in this.dataList) {
  5895. this.$set(
  5896. this.dataList[list],
  5897. "fBusinessType",
  5898. this.dataList[list].fBusinessType + ""
  5899. );
  5900. if (this.dataList[list].fBillstatus > 10) {
  5901. this.formBrowseStatus = true;
  5902. this.$set(
  5903. this.dataList[list],
  5904. "fBusinessType",
  5905. this.dataList[list].fBusinessType + ""
  5906. );
  5907. }
  5908. if (this.dataList[list].fBillstatus === 40) {
  5909. this.contrOl = true;
  5910. }
  5911. }
  5912. }
  5913. if (response.data.corps) {
  5914. this.fMblnoOptions = response.data.corps;
  5915. this.KHblnoOptions = response.data.corps;
  5916. }
  5917. if (response.data.feesList) {
  5918. this.fWbuOptions = response.data.feesList;
  5919. }
  5920. if (response.data.warehouse) {
  5921. this.warehouseOptions = response.data.warehouse;
  5922. }
  5923. if (response.data.warehouseBillsItem) {
  5924. this.dataList = response.data.warehouseBillsItem;
  5925. for (let list in this.dataList) {
  5926. this.$set(
  5927. this.dataList[list],
  5928. "fBsdate",
  5929. Date.parse(this.dataList[list].fBsdate)
  5930. );
  5931. }
  5932. }
  5933. if (response.data.enclosures) {
  5934. this.relevantAttachments = response.data.enclosures;
  5935. }
  5936. this.goodsOptions = response.data.goodsList;
  5937. this.kqhouseOptions = response.data.warehouseAreas;
  5938. this.warehouseDrList = response.data.warehousebillsfeesDr;
  5939. for (let dr in this.warehouseDrList) {
  5940. if (this.warehouseDrList[dr].fFeeunitid !== null) {
  5941. this.$set(
  5942. this.warehouseDrList[dr],
  5943. "fFeeunitid",
  5944. this.warehouseDrList[dr].fFeeunitid + ""
  5945. );
  5946. }
  5947. this.$set(
  5948. this.warehouseDrList[dr],
  5949. "fQty",
  5950. this.warehouseDrList[dr].fQty.toFixed(2)
  5951. );
  5952. this.$set(
  5953. this.warehouseDrList[dr],
  5954. "fAmount",
  5955. this.warehouseDrList[dr].fAmount.toFixed(2)
  5956. );
  5957. }
  5958. this.warehouseCrList = response.data.warehousebillsfeesCr;
  5959. for (let cr in this.warehouseCrList) {
  5960. if (this.warehouseCrList[cr].fFeeunitid !== null) {
  5961. this.$set(
  5962. this.warehouseCrList[cr],
  5963. "fFeeunitid",
  5964. this.warehouseCrList[cr].fFeeunitid + ""
  5965. );
  5966. }
  5967. // this.$set(this.warehouseCrList[cr], "fBusinessType", response.data.warehousebillsfeesCr);
  5968. }
  5969. this.userOptions = response.data.sysUser;
  5970. this.open = true;
  5971. this.title = "修改仓入库";
  5972. this.warehousesssMethod();
  5973. this.fWbuOptions = [];
  5974. let queryParams = { pageNum: 1 };
  5975. listFees(queryParams).then((response) => {
  5976. this.fWbuOptions = response.rows;
  5977. });
  5978. });
  5979. queryUserVal().then((response) => {
  5980. this.current = response.user.userName;
  5981. });
  5982. }
  5983. },
  5984. // 数量计算
  5985. changeContractAmt(row) {
  5986. let fQty = 0;
  5987. let fUnitprice = 0;
  5988. if (row.fUnitprice) {
  5989. fUnitprice = row.fUnitprice;
  5990. }
  5991. if (row.fQty) {
  5992. fQty = row.fQty;
  5993. }
  5994. this.$set(
  5995. row,
  5996. "fAmount",
  5997. parseFloat(Number(fUnitprice) * Number(fQty)).toFixed(2)
  5998. );
  5999. },
  6000. changefBsdate(row) {
  6001. if (this.dataList.length > 0) {
  6002. for (var i = 0; i < this.dataList.length; i++) {
  6003. this.$set(this.dataList[i], "fBsdate", row);
  6004. }
  6005. }
  6006. },
  6007. // change仓库
  6008. changefWarehouseid(row) {
  6009. for (let corp in this.warehouseOptions) {
  6010. if (row.fWarehouseid === this.warehouseOptions[corp].fId) {
  6011. this.$set(
  6012. this.form,
  6013. "fContacts",
  6014. this.warehouseOptions[corp].fContacts
  6015. );
  6016. this.$set(this.form, "fTel", this.warehouseOptions[corp].fTel);
  6017. this.fAddr = this.warehouseOptions[corp].fAddr;
  6018. }
  6019. }
  6020. },
  6021. //change司机信息
  6022. changeInformation() {
  6023. if (this.form.fTruckno !== null) {
  6024. this.$set(this.whgenlegList, "fTruckno", this.form.fTruckno);
  6025. }
  6026. if (this.form.fDriverName !== null) {
  6027. this.$set(this.whgenlegList, "fDriverName", this.form.fDriverName);
  6028. }
  6029. if (this.form.fDriverTel !== null) {
  6030. this.$set(this.whgenlegList, "fDriverTel", this.form.fDriverTel);
  6031. }
  6032. if (this.form.fDriverIdCar !== null) {
  6033. this.$set(this.whgenlegList, "fDriverIdCar", this.form.fDriverIdCar);
  6034. }
  6035. },
  6036. // 选择按钮
  6037. collectionoptions(selection) {
  6038. this.feelDrSelection = selection;
  6039. },
  6040. changefCorpid(row) {
  6041. this.$set(row, "fSbu", row.fCorpid);
  6042. for (let corp in this.fMblnoOptions) {
  6043. if (row.fCorpid === this.fMblnoOptions[corp].fId) {
  6044. this.$set(
  6045. this.form,
  6046. "fStltypeid",
  6047. this.fMblnoOptions[corp].fStltypeid + ""
  6048. );
  6049. }
  6050. }
  6051. },
  6052. // 合计
  6053. getSummaries(param) {
  6054. const { columns, data } = param;
  6055. const sums = [];
  6056. var values = [];
  6057. columns.forEach((column, index) => {
  6058. if (index === 0) {
  6059. sums[index] = "合计";
  6060. return;
  6061. }
  6062. if (column.property === "fGrossweight") {
  6063. values = data.map((item) => Number(item["fGrossweight"]));
  6064. }
  6065. if (column.property === "fNetweight") {
  6066. values = data.map((item) => Number(item["fNetweight"]));
  6067. }
  6068. if (column.property === "fQty") {
  6069. values = data.map((item) => Number(item["fQty"]));
  6070. }
  6071. if (column.property === "fCntqty") {
  6072. values = data.map((item) => Number(item["fCntqty"]));
  6073. } // const values = data.map(item => Number(item[column.property]))
  6074. if (
  6075. column.property === "fGrossweight" ||
  6076. column.property === "fNetweight" ||
  6077. column.property === "fQty" ||
  6078. column.property === "fCntqty"
  6079. ) {
  6080. sums[index] = values.reduce((prev, curr) => {
  6081. const value = Number(curr);
  6082. if (!isNaN(value)) {
  6083. if (column.property === "fGrossweight") {
  6084. this.fGrossweight = prev + curr;
  6085. }
  6086. if (column.property === "fNetweight") {
  6087. this.fNetweight = prev + curr;
  6088. }
  6089. if (column.property === "fVolumn") {
  6090. this.fVolumn = prev + curr;
  6091. }
  6092. if (column.property === "fQty") {
  6093. this.fQty = prev + curr;
  6094. }
  6095. if (column.property === "fCntqty") {
  6096. this.fCntqty = prev + curr;
  6097. }
  6098. return prev + curr;
  6099. } else {
  6100. return prev;
  6101. }
  6102. }, 0); // sums[index]
  6103. sums[index] = sums[index].toFixed(2);
  6104. }
  6105. });
  6106. this.sums = sums;
  6107. return sums;
  6108. },
  6109. // 付款合计
  6110. warehouseDrSummaries(param) {
  6111. const { columns, data } = param;
  6112. const sums = [];
  6113. columns.forEach((column, index) => {
  6114. if (index === 0) {
  6115. sums[index] = "合计";
  6116. return;
  6117. }
  6118. const values = data.map((item) => Number(item[column.property]));
  6119. if (
  6120. column.property === "fUnitprice" ||
  6121. column.property === "fAmount" ||
  6122. column.property === "fQty" ||
  6123. column.property === "fQty"
  6124. ) {
  6125. sums[index] = values.reduce((prev, curr) => {
  6126. const value = Number(curr);
  6127. if (!isNaN(value)) {
  6128. return prev + curr;
  6129. } else {
  6130. return prev;
  6131. }
  6132. }, 0); // sums[index]
  6133. sums[index] = sums[index].toFixed(2);
  6134. }
  6135. });
  6136. return sums;
  6137. },
  6138. // 库存明细多选框结果
  6139. dataListChange(row) {
  6140. this.dataListSelection = row;
  6141. },
  6142. // 变更计价单位
  6143. changeFeeUnit(row) {
  6144. if (!row.fFeeunitid) {
  6145. return false;
  6146. }
  6147. let fQty = 0;
  6148. let fGrossweight = 0;
  6149. let fNetweight = 0;
  6150. let fCntqty = 0;
  6151. let fixed = 1;
  6152. for (let li in this.dataList) {
  6153. if (this.dataList[li].fQty) {
  6154. fQty = Number(fQty) + Number(this.dataList[li].fQty);
  6155. }
  6156. if (this.dataList[li].fGrossweight) {
  6157. fGrossweight = parseFloat(
  6158. Number(fGrossweight) + Number(this.dataList[li].fGrossweight)
  6159. ).toFixed(2);
  6160. }
  6161. if (this.dataList[li].fNetweight) {
  6162. fNetweight = parseFloat(
  6163. Number(fNetweight) + Number(this.dataList[li].fNetweight)
  6164. ).toFixed(2);
  6165. }
  6166. if (this.dataList[li].fCntqty) {
  6167. fCntqty = parseFloat(
  6168. Number(fCntqty) + Number(this.dataList[li].fCntqty)
  6169. ).toFixed(2);
  6170. }
  6171. }
  6172. if (row.fFeeunitid == "1") {
  6173. this.$set(row, "fQty", fQty.toFixed(2));
  6174. } else if (row.fFeeunitid == "2") {
  6175. this.$set(row, "fQty", (fGrossweight / 1000).toFixed(2));
  6176. } else if (row.fFeeunitid == "3") {
  6177. this.$set(row, "fQty", (fNetweight / 1000).toFixed(2));
  6178. } else if (row.fFeeunitid == "7") {
  6179. this.$set(row, "fQty", fCntqty);
  6180. } else {
  6181. this.$set(row, "fQty", 0);
  6182. }
  6183. if (row.fUnitprice) {
  6184. this.$set(
  6185. row,
  6186. "fAmount",
  6187. parseFloat(Number(row.fUnitprice) * Number(row.fQty)).toFixed(2)
  6188. );
  6189. }
  6190. },
  6191. // 出库确认
  6192. creditClick() {
  6193. this.$refs["form"].validate((valid) => {
  6194. for (let warehouseCr in this.dataListSelection) {
  6195. if (this.form.fFeetunit > 3) {
  6196. this.$message.error("请维护主表计费单位为件数、毛重(kg)或净重(kg)");
  6197. return false;
  6198. }
  6199. if (this.dataListSelection[warehouseCr].fBillstatus === 10) {
  6200. this.$message.error("请先打印作业单");
  6201. return false;
  6202. } else if (this.dataListSelection[warehouseCr].fBillstatus === 20) {
  6203. this.$message.error("请先装货");
  6204. return false;
  6205. } else if (
  6206. !this.dataListSelection[warehouseCr].fQty ||
  6207. this.dataListSelection[warehouseCr].fQty === 0
  6208. ) {
  6209. this.$message.error("请维护出库件数");
  6210. return false;
  6211. } else if (
  6212. !this.dataListSelection[warehouseCr].fGrossweight ||
  6213. this.dataListSelection[warehouseCr].fGrossweight === 0
  6214. ) {
  6215. this.$message.error("请维护出库毛重(kg)");
  6216. return false;
  6217. } else if (
  6218. !this.dataListSelection[warehouseCr].fNetweight ||
  6219. this.dataListSelection[warehouseCr].fNetweight === 0
  6220. ) {
  6221. this.$message.error("请维护出库净重(kg)");
  6222. return false;
  6223. } else if (!this.dataListSelection[warehouseCr].fBusinessType) {
  6224. this.$message.error("请维护业务类型");
  6225. return false;
  6226. } else if (!this.dataListSelection[warehouseCr].fMarks) {
  6227. this.$message.error("请维护业务详情");
  6228. return false;
  6229. } else if (!this.dataListSelection[warehouseCr].fGrossweight) {
  6230. this.$message.error("请选择入库毛重(kg)");
  6231. return false;
  6232. } else if (!this.dataListSelection[warehouseCr].fNetweight) {
  6233. this.$message.error("请选择入库净重(kg)");
  6234. return false;
  6235. } else if (!this.dataListSelection[warehouseCr].fQty) {
  6236. this.$message.error("请维护出库件数");
  6237. return false;
  6238. } else if (this.dataListSelection[warehouseCr].fIsPass !== "T") {
  6239. this.$message.error("请放行才能出库");
  6240. return false;
  6241. }
  6242. }
  6243. if (valid) {
  6244. let listSelection = JSON.parse(
  6245. JSON.stringify(this.dataListSelection)
  6246. );
  6247. let formData = new window.FormData();
  6248. formData.append("warehouseBills", JSON.stringify(this.form));
  6249. formData.append(
  6250. "tEnclosure",
  6251. JSON.stringify(this.relevantAttachments)
  6252. );
  6253. formData.append(
  6254. "warehousebillsitems",
  6255. JSON.stringify(this.dataListSelection)
  6256. );
  6257. formData.append(
  6258. "warehousebillsfeesCr",
  6259. JSON.stringify(this.warehouseCrList)
  6260. );
  6261. formData.append(
  6262. "warehousebillsfeesDr",
  6263. JSON.stringify(this.warehouseDrList)
  6264. );
  6265. addWhgenleg(formData).then((response) => {
  6266. this.fid = response.data.fPid;
  6267. // 暂时注释掉,后续可能会加回来 仓储费得出的明细
  6268. /* this.fWbuOptions = response.data.fees;
  6269. let warehousebillsfees = response.data.warehousebillsfees;
  6270. for (let fees in warehousebillsfees) {
  6271. this.$set(warehousebillsfees[fees], "fFeeid", warehousebillsfees[fees].fFeeid + "");
  6272. this.$set(warehousebillsfees[fees], "fCorpid", warehousebillsfees[fees].fCorpid + "");
  6273. this.$set(warehousebillsfees[fees], "fFeeUnitid", warehousebillsfees[fees].fFeeUnitid + "");
  6274. this.warehouseDrList.push(warehousebillsfees[fees]);
  6275. } */
  6276. this.dataWithdrawList = [];
  6277. this.dataListSelection = [];
  6278. this.msgSuccess("出库成功");
  6279. this.$refs.tableList.clearSelection();
  6280. this.formBrowseStatus = true;
  6281. this.contrOl = true;
  6282. for (let li in listSelection) {
  6283. for (let i in this.dataList) {
  6284. if (listSelection[li].fId == this.dataList[i].fId) {
  6285. this.$set(this.dataList[i], "fBillstatus", 40);
  6286. }
  6287. }
  6288. }
  6289. getWarehousebills(this.form.fId).then((response) => {
  6290. if (response.data.warehousebills) {
  6291. this.form = response.data.warehousebills;
  6292. this.before = this.form.createBy;
  6293. this.$set(
  6294. this.form,
  6295. "fCartype",
  6296. response.data.warehousebills.fCartype + ""
  6297. );
  6298. this.$set(this.form, "fEta", Date.parse(this.form.fEta));
  6299. this.$set(this.form, "fStltypeid", this.form.fStltypeid + "");
  6300. this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
  6301. this.$set(
  6302. this.form,
  6303. "createTime",
  6304. Date.parse(this.form.createTime)
  6305. );
  6306. this.$set(
  6307. this.form,
  6308. "fTrademodeid",
  6309. this.form.fTrademodeid + ""
  6310. );
  6311. if (this.form.fBillstatus > 2) {
  6312. this.approvalStatus = false;
  6313. } else {
  6314. this.approvalStatus = true;
  6315. }
  6316. }
  6317. if (response.data.warehouseBillsItem) {
  6318. this.dataList = response.data.warehouseBillsItem;
  6319. for (let list in this.dataList) {
  6320. this.$set(
  6321. this.dataList[list],
  6322. "fBusinessType",
  6323. this.dataList[list].fBusinessType + ""
  6324. );
  6325. if (this.dataList[list].fBillstatus > 10) {
  6326. this.formBrowseStatus = true;
  6327. this.$set(
  6328. this.dataList[list],
  6329. "fBusinessType",
  6330. this.dataList[list].fBusinessType + ""
  6331. );
  6332. }
  6333. if (this.dataList[list].fBillstatus === 40) {
  6334. this.contrOl = true;
  6335. }
  6336. }
  6337. }
  6338. if (response.data.corps) {
  6339. this.fMblnoOptions = response.data.corps;
  6340. this.KHblnoOptions = response.data.corps;
  6341. }
  6342. if (response.data.feesList) {
  6343. this.fWbuOptions = response.data.feesList;
  6344. }
  6345. if (response.data.warehouse) {
  6346. this.warehouseOptions = response.data.warehouse;
  6347. }
  6348. if (response.data.warehouseBillsItem) {
  6349. this.dataList = response.data.warehouseBillsItem;
  6350. for (let list in this.dataList) {
  6351. this.$set(
  6352. this.dataList[list],
  6353. "fBsdate",
  6354. Date.parse(this.dataList[list].fBsdate)
  6355. );
  6356. }
  6357. }
  6358. if (response.data.enclosures) {
  6359. this.relevantAttachments = response.data.enclosures;
  6360. }
  6361. this.goodsOptions = response.data.goodsList;
  6362. this.kqhouseOptions = response.data.warehouseAreas;
  6363. this.warehouseDrList = response.data.warehousebillsfeesDr;
  6364. for (let dr in this.warehouseDrList) {
  6365. this.$set(
  6366. this.warehouseDrList[dr],
  6367. "fFeeunitid",
  6368. this.warehouseDrList[dr].fFeeunitid + ""
  6369. );
  6370. this.$set(
  6371. this.warehouseDrList[dr],
  6372. "fQty",
  6373. this.warehouseDrList[dr].fQty.toFixed(2)
  6374. );
  6375. this.$set(
  6376. this.warehouseDrList[dr],
  6377. "fAmount",
  6378. this.warehouseDrList[dr].fAmount.toFixed(2)
  6379. );
  6380. }
  6381. this.warehouseCrList = response.data.warehousebillsfeesCr;
  6382. for (let cr in this.warehouseCrList) {
  6383. this.$set(
  6384. this.warehouseCrList[cr],
  6385. "fFeeunitid",
  6386. this.warehouseCrList[cr].fFeeunitid + ""
  6387. );
  6388. // this.$set(this.warehouseCrList[cr], "fBusinessType", response.data.warehousebillsfeesCr);
  6389. }
  6390. this.userOptions = response.data.sysUser;
  6391. this.open = true;
  6392. this.title = "修改仓入库";
  6393. this.warehousesssMethod();
  6394. });
  6395. this.$refs["form"].validate((valid) => {
  6396. for (let li in this.dataList) {
  6397. for (let list in this.fStorageTypeOptions) {
  6398. if (
  6399. this.dataList[li].fBusinessType ===
  6400. this.fStorageTypeOptions[list].dictLabel
  6401. ) {
  6402. this.$set(
  6403. this.dataList[li],
  6404. "fBusinessType",
  6405. this.fStorageTypeOptions[list].dictValue
  6406. );
  6407. break;
  6408. }
  6409. }
  6410. }
  6411. if (valid) {
  6412. this.form.fNetweight = this.fNetweight;
  6413. this.form.fGrossweight = this.fGrossweight;
  6414. this.form.fQty = this.fQty;
  6415. setTimeout(() => {
  6416. let formData = new window.FormData();
  6417. this.form.fItemsStatus = 4;
  6418. formData.append("warehouseBills", JSON.stringify(this.form));
  6419. formData.append(
  6420. "warehousebillsitems",
  6421. JSON.stringify(this.dataList)
  6422. );
  6423. formData.append(
  6424. "tEnclosure",
  6425. JSON.stringify(this.relevantAttachments)
  6426. );
  6427. formData.append(
  6428. "warehousebillsfeesCr",
  6429. JSON.stringify(this.warehouseCrList)
  6430. );
  6431. formData.append(
  6432. "warehousebillsfeesDr",
  6433. JSON.stringify(this.warehouseDrList)
  6434. );
  6435. formData.append("mblnoStatus", this.mblnoStatus);
  6436. addWarehousebills(formData).then((response) => {
  6437. this.form = response.data.warehouseBills;
  6438. this.$set(
  6439. this.form,
  6440. "fCartype",
  6441. response.data.warehouseBills.fCartype + ""
  6442. );
  6443. this.$set(this.form, "fEta", Date.parse(this.form.fEta));
  6444. this.$set(
  6445. this.form,
  6446. "fTrademodeid",
  6447. this.form.fTrademodeid + ""
  6448. );
  6449. this.$set(
  6450. this.form,
  6451. "fStltypeid",
  6452. this.form.fStltypeid + ""
  6453. );
  6454. this.$set(this.form, "fFeetunit", this.form.fFeetunit + "");
  6455. this.$set(
  6456. this.form,
  6457. "fBsdate",
  6458. Date.parse(this.form.fBsdate)
  6459. );
  6460. this.$set(
  6461. this.form,
  6462. "createTime",
  6463. Date.parse(this.form.createTime)
  6464. );
  6465. this.$set(
  6466. this.form,
  6467. "fChargedate",
  6468. Date.parse(this.form.fChargedate)
  6469. );
  6470. this.dataList = response.data.warehousebillsitems;
  6471. for (let list in this.dataList) {
  6472. this.$set(
  6473. this.dataList[list],
  6474. "fBsdate",
  6475. Date.parse(this.dataList[list].fBsdate)
  6476. );
  6477. this.$set(
  6478. this.dataList[list],
  6479. "fBusinessType",
  6480. this.dataList[list].fBusinessType + ""
  6481. );
  6482. }
  6483. });
  6484. }, 200);
  6485. }
  6486. });
  6487. });
  6488. }
  6489. });
  6490. },
  6491. // 打印作业单
  6492. addList() {
  6493. console.log(this.printinglist);
  6494. this.$refs["form"].validate((valid) => {
  6495. if (valid) {
  6496. let dataList = [];
  6497. for (let se in this.dataListSelection) {
  6498. if (Number(this.dataListSelection[se].fBillstatus) <= 10) {
  6499. dataList.push(this.dataListSelection[se]);
  6500. }
  6501. }
  6502. if (dataList.length !== 0) {
  6503. let formData = new window.FormData();
  6504. formData.append("warehouseBills", JSON.stringify(this.form));
  6505. formData.append(
  6506. "tEnclosure",
  6507. JSON.stringify(this.relevantAttachments)
  6508. );
  6509. formData.append("warehousebillsitems", JSON.stringify(dataList));
  6510. formData.append(
  6511. "warehousebillsfeesCr",
  6512. JSON.stringify(this.warehouseCrList)
  6513. );
  6514. formData.append(
  6515. "warehousebillsfeesDr",
  6516. JSON.stringify(this.warehouseDrList)
  6517. );
  6518. addJoblist(formData).then((response) => {
  6519. if (response.code == 200) {
  6520. for (let li in response.data.warehousebillsitems) {
  6521. for (let item in this.printinglist) {
  6522. // if (this.Printinglist[item].fId == response.data.warehousebillsitems[li].fId) {
  6523. // this.Printinglist[item] = response.data.warehousebillsitems[li]
  6524. // }
  6525. if (!this.printinglist[0].fSerialNumber) {
  6526. this.fSerialNumber =
  6527. response.data.warehousebillsitems[0].fSerialNumber;
  6528. } else {
  6529. this.fSerialNumber = this.printinglist[0].fSerialNumber;
  6530. }
  6531. }
  6532. for (let index in this.dataList) {
  6533. if (
  6534. response.data.warehousebillsitems[li].fId ==
  6535. this.dataList[index].fId
  6536. ) {
  6537. this.dataList[index].fSerialNumber =
  6538. response.data.warehousebillsitems[li].fSerialNumber;
  6539. this.dataList[index].fBillstatus =
  6540. response.data.warehousebillsitems[li].fBillstatus;
  6541. }
  6542. }
  6543. }
  6544. setTimeout(function () {
  6545. // 此处的style即为打印时的样式
  6546. const style =
  6547. "@media print { .print-div{ border:1px solid #000;padding:8px;background-color:#cccccc;line-height:12px } .red{ color:#f00} .green{color:green} td{text-align: center;border:1px solid #000}}";
  6548. print({
  6549. printable: "print_area",
  6550. type: "html",
  6551. style: style, // 亦可使用引入的外部css;
  6552. scanStyles: false,
  6553. });
  6554. this.openPrintJobSheet = false;
  6555. }, 100);
  6556. } else {
  6557. return;
  6558. }
  6559. });
  6560. } else {
  6561. this.printSomething();
  6562. }
  6563. }
  6564. });
  6565. },
  6566. // 撤回入账
  6567. withdrawClick() {
  6568. for (let li in this.dataWithdrawList) {
  6569. if (this.dataWithdrawList[li].fBillstatus < 40) {
  6570. this.$message.error("所选信息中存在未出库数据!");
  6571. return false;
  6572. }
  6573. }
  6574. let formData = new window.FormData();
  6575. // 撤回入库
  6576. let withdrawList = JSON.parse(JSON.stringify(this.dataWithdrawList));
  6577. formData.append("warehouseBills", JSON.stringify(this.form));
  6578. formData.append("tEnclosure", JSON.stringify(this.relevantAttachments));
  6579. formData.append(
  6580. "warehousebillsitems",
  6581. JSON.stringify(this.dataWithdrawList)
  6582. );
  6583. formData.append(
  6584. "warehousebillsfeesCr",
  6585. JSON.stringify(this.warehouseCrList)
  6586. );
  6587. formData.append(
  6588. "warehousebillsfeesDr",
  6589. JSON.stringify(this.warehouseDrList)
  6590. );
  6591. updateCredit(formData).then((response) => {
  6592. this.fid = response.data;
  6593. this.formBrowseStatus = false;
  6594. this.msgSuccess("撤销入账成功");
  6595. this.contrOl = false;
  6596. this.$refs.tableList.clearSelection();
  6597. let mun = 0;
  6598. for (let i in this.dataList) {
  6599. for (let li in withdrawList) {
  6600. if (withdrawList[li].fId === this.dataList[i].fId) {
  6601. this.$set(this.dataList[i], "fBillstatus", 10);
  6602. }
  6603. }
  6604. if (
  6605. this.dataList[i].fBillstatus &&
  6606. this.dataList[i].fBillstatus > 10
  6607. ) {
  6608. mun++;
  6609. }
  6610. }
  6611. if (mun > 0) {
  6612. this.formBrowseStatus = true;
  6613. } else {
  6614. this.formBrowseStatus = false;
  6615. }
  6616. });
  6617. },
  6618. // 装货按钮
  6619. discharge() {
  6620. if (this.printinglist.length <= 0) {
  6621. this.$message.error("请选择需要装货的明细!");
  6622. return false;
  6623. }
  6624. if (this.printinglist.length > 0) {
  6625. if (this.dataListSelection) {
  6626. for (let li in this.dataListSelection) {
  6627. if (!this.dataListSelection[li].fId) {
  6628. this.$message.error("请先保存!");
  6629. return false;
  6630. } else if (this.dataListSelection[li].fBillstatus === 10) {
  6631. this.$message.error("请先打印");
  6632. return false;
  6633. }
  6634. if (this.dataListSelection[li].fBillstatus >= 30) {
  6635. this.$message.error("请勿重复装货");
  6636. return false;
  6637. }
  6638. }
  6639. }
  6640. if (this.dataWithdrawList) {
  6641. for (let li in this.dataWithdrawList) {
  6642. if (this.dataWithdrawList[li].fBillstatus >= 30) {
  6643. this.$message.error("请勿重复装货");
  6644. return false;
  6645. }
  6646. }
  6647. }
  6648. }
  6649. this.$refs["form"].validate((valid) => {
  6650. if (valid) {
  6651. let withdrawList = JSON.parse(JSON.stringify(this.dataListSelection));
  6652. let formData = new window.FormData();
  6653. formData.append("warehouseBills", JSON.stringify(this.form));
  6654. formData.append(
  6655. "tEnclosure",
  6656. JSON.stringify(this.relevantAttachments)
  6657. );
  6658. formData.append(
  6659. "warehousebillsitems",
  6660. JSON.stringify(this.dataListSelection)
  6661. );
  6662. formData.append(
  6663. "warehousebillsfeesCr",
  6664. JSON.stringify(this.warehouseCrList)
  6665. );
  6666. formData.append(
  6667. "warehousebillsfeesDr",
  6668. JSON.stringify(this.warehouseDrList)
  6669. );
  6670. this.formBrowseStatus = true;
  6671. this.$refs.tableList.clearSelection();
  6672. disChargelist(formData).then((response) => {
  6673. for (let li in withdrawList) {
  6674. for (let i in this.dataList) {
  6675. if (withdrawList[li].fId === this.dataList[i].fId) {
  6676. this.$set(this.dataList[i], "fBillstatus", 30);
  6677. }
  6678. }
  6679. }
  6680. this.msgSuccess("装货成功");
  6681. });
  6682. }
  6683. });
  6684. },
  6685. // 付款信息计价单位合计
  6686. getwarehouseCrList(param) {
  6687. const { columns, data } = param;
  6688. const sums = [];
  6689. var values = [];
  6690. columns.forEach((column, index) => {
  6691. if (index === 0) {
  6692. sums[index] = "合计";
  6693. return;
  6694. }
  6695. if (index === 3) {
  6696. // values = data.map((item) => Number(item["fFeeUnitid"]));
  6697. sums[index] = this.fFeeUnitids;
  6698. return;
  6699. }
  6700. });
  6701. this.sums = sums;
  6702. return sums;
  6703. },
  6704. // 库存明细多选
  6705. selectinventory(selection) {
  6706. this.printinglist = selection;
  6707. this.dataWithdrawList = [];
  6708. this.dataListSelection = [];
  6709. if (!selection || selection.length === 0) {
  6710. return false;
  6711. } else {
  6712. for (let se in selection) {
  6713. if (!selection[se].fBillstatus || selection[se].fBillstatus !== 40) {
  6714. this.dataListSelection.push(selection[se]);
  6715. } else if (
  6716. selection[se].fBillstatus &&
  6717. selection[se].fBillstatus === 40
  6718. ) {
  6719. this.dataWithdrawList.push(selection[se]);
  6720. }
  6721. }
  6722. }
  6723. this.fTruckno = selection[0].fTruckno;
  6724. this.fCntrtype = selection[0].fCntrtype;
  6725. this.fGoodsids = selection[0].fGoodsids;
  6726. // 打印回显仓库
  6727. for (let corp in this.warehouseOptions) {
  6728. this.fAddr = this.warehouseOptions[corp].fAddr;
  6729. }
  6730. // 合计
  6731. this.allFqty = 0;
  6732. this.allfGrossweight = 0;
  6733. this.allfNetweight = 0;
  6734. for (let corp in this.printinglist) {
  6735. this.allFqty += this.printinglist[corp].fQty;
  6736. this.allfGrossweight += this.printinglist[corp].fGrossweight;
  6737. this.allfNetweight += this.printinglist[corp].fNetweight;
  6738. }
  6739. },
  6740. // 更新主表品名并去重
  6741. updateDeduplication: function () {
  6742. if (this.dataList.length === 0) {
  6743. return false;
  6744. }
  6745. let fMarks = [];
  6746. let fProductName = [];
  6747. let fMblno = [];
  6748. for (let li in this.dataList) {
  6749. fMarks.push(this.dataList[li].fMarks);
  6750. fProductName.push(this.dataList[li].fGoodsids);
  6751. fMblno.push(this.dataList[li].fMblno);
  6752. }
  6753. this.$set(this.form, "fMarks", Array.from(new Set(fMarks)).join(","));
  6754. this.$set(
  6755. this.form,
  6756. "fProductName",
  6757. Array.from(new Set(fProductName)).join(",")
  6758. );
  6759. this.$set(this.form, "fMblno", Array.from(new Set(fMblno)).join(","));
  6760. },
  6761. // 保存
  6762. saveForm() {
  6763. this.updateDeduplication();
  6764. this.$refs["form"].validate((valid) => {
  6765. // if (this.dataList.length === 0) {
  6766. // this.$message.error('请添加库存明细!')
  6767. // return false
  6768. // }
  6769. for (let li in this.dataList) {
  6770. for (let list in this.fStorageTypeOptions) {
  6771. if (
  6772. this.dataList[li].fBusinessType ===
  6773. this.fStorageTypeOptions[list].dictLabel
  6774. ) {
  6775. // this.$set(this.dataList[li], 'fBusinessType', this.fStorageTypeOptions[list].dictValue)
  6776. break;
  6777. }
  6778. }
  6779. }
  6780. // for (let list in this.dataList) {
  6781. // this.changeOutStock(this.dataList[list])
  6782. // if (!this.dataList[list].fQty || Number(this.dataList[list].fQty) === 0) {
  6783. // this.$message.error('请维护序号为' + (Number(list) + 1) + '的出库件数!')
  6784. // return false
  6785. // }
  6786. // if (!this.dataList[list].fGrossweight || Number(this.dataList[list].fGrossweight) === 0) {
  6787. // this.$message.error('请维护序号为' + (Number(list) + 1) + '的出库毛重!')
  6788. // return false
  6789. // }
  6790. // if (!this.dataList[list].fNetweight || Number(this.dataList[list].fNetweight) === 0) {
  6791. // this.$message.error('请维护序号为' + (Number(list) + 1) + '的出库净重!')
  6792. // return false
  6793. // }
  6794. // }
  6795. if (valid) {
  6796. if (!this.dataList.length) {
  6797. this.form.fProductName = "";
  6798. this.form.fMarks = "";
  6799. }
  6800. this.form.fNetweight = this.fNetweight;
  6801. this.form.fGrossweight = this.fGrossweight;
  6802. this.form.fQty = this.fQty;
  6803. setTimeout(() => {
  6804. this.form.fBillstatus = 2;
  6805. let formData = new window.FormData();
  6806. formData.append("warehouseBills", JSON.stringify(this.form));
  6807. formData.append(
  6808. "warehousebillsitems",
  6809. JSON.stringify(this.dataList)
  6810. );
  6811. formData.append(
  6812. "tEnclosure",
  6813. JSON.stringify(this.relevantAttachments)
  6814. );
  6815. formData.append(
  6816. "warehousebillsfeesCr",
  6817. JSON.stringify(this.warehouseCrList)
  6818. );
  6819. formData.append(
  6820. "warehousebillsfeesDr",
  6821. JSON.stringify(this.warehouseDrList)
  6822. );
  6823. formData.append("mblnoStatus", this.mblnoStatus);
  6824. addWarehousebills(formData).then((response) => {
  6825. if (response.data == false) {
  6826. this.$confirm(response.msg, "提示", {
  6827. confirmButtonText: "确定",
  6828. cancelButtonText: "取消",
  6829. type: "warning",
  6830. })
  6831. .then(() => {
  6832. this.mblnoStatus = true;
  6833. this.preservation();
  6834. })
  6835. .catch(() => {
  6836. this.$message({
  6837. type: "info",
  6838. message: "已取消",
  6839. });
  6840. });
  6841. } else {
  6842. this.mblnoStatus = "";
  6843. this.msgSuccess("保存成功");
  6844. this.form = response.data.warehouseBills;
  6845. this.$set(
  6846. this.form,
  6847. "fCartype",
  6848. response.data.warehouseBills.fCartype + ""
  6849. );
  6850. this.$set(this.form, "fEta", Date.parse(this.form.fEta));
  6851. this.$set(
  6852. this.form,
  6853. "fTrademodeid",
  6854. this.form.fTrademodeid + ""
  6855. );
  6856. this.$set(this.form, "fStltypeid", this.form.fStltypeid + "");
  6857. this.$set(this.form, "fFeetunit", this.form.fFeetunit + "");
  6858. this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
  6859. this.$set(
  6860. this.form,
  6861. "createTime",
  6862. Date.parse(this.form.createTime)
  6863. );
  6864. this.$set(
  6865. this.form,
  6866. "fChargedate",
  6867. Date.parse(this.form.fChargedate)
  6868. );
  6869. this.$set(
  6870. this.form,
  6871. "fBusinessType",
  6872. this.form.fBusinessType + ""
  6873. );
  6874. this.dataList = response.data.warehousebillsitems;
  6875. for (let list in this.dataList) {
  6876. this.$set(
  6877. this.dataList[list],
  6878. "fBsdate",
  6879. Date.parse(this.dataList[list].fBsdate)
  6880. );
  6881. this.$set(
  6882. this.dataList[list],
  6883. "fBusinessType",
  6884. this.dataList[list].fBusinessType + ""
  6885. );
  6886. }
  6887. }
  6888. });
  6889. }, 200);
  6890. }
  6891. });
  6892. },
  6893. /** 提交按钮 */
  6894. //作业类型校验
  6895. educationChange() {
  6896. if (this.form.fBusinessType === "0" || this.form.fBusinessType === "1") {
  6897. this.isrequired = 1;
  6898. } else if (this.form.fBusinessType === "5") {
  6899. this.isrequired = 1;
  6900. this.isrequired_l = 1;
  6901. this.isrequired_s = 2;
  6902. } else if (
  6903. this.form.fBusinessType === "2" ||
  6904. this.form.fBusinessType === "3" ||
  6905. this.form.fBusinessType === "4"
  6906. ) {
  6907. this.isrequired_s = 1;
  6908. this.isrequired = 2;
  6909. } else {
  6910. this.isrequired = 2;
  6911. this.isrequired_l = 2;
  6912. this.isrequired_s = 2;
  6913. }
  6914. },
  6915. submitForm() {
  6916. this.updateDeduplication();
  6917. this.$refs["form"].validate((valid) => {
  6918. if (this.dataList.length === 0) {
  6919. this.$message.error("请新增库存明细!");
  6920. return false;
  6921. }
  6922. for (let list in this.dataList) {
  6923. this.changeOutStock(this.dataList[list]);
  6924. if (this.dataList[list].fQty === 0) {
  6925. this.$message.error("请输入出库件数!");
  6926. return false;
  6927. }
  6928. if (this.dataList[list].fNetweight === 0) {
  6929. this.$message.error("请输入出库净重!");
  6930. return false;
  6931. }
  6932. if (this.dataList[list].fGrossweight === 0) {
  6933. this.$message.error("请输入出库毛重!");
  6934. return false;
  6935. }
  6936. if (this.dataList[list].fBillstatus !== 40) {
  6937. this.$message.error("请入账库存明细!");
  6938. return false;
  6939. }
  6940. }
  6941. for (let item in this.warehouseDrList) {
  6942. if (!this.warehouseDrList[item].fCorpid) {
  6943. if (item === "fBusinessType") {
  6944. } else {
  6945. this.$message.error(
  6946. "请维护收款信息第" + (Number(item) + 1) + "行客户名称"
  6947. );
  6948. return false;
  6949. }
  6950. }
  6951. if (!this.warehouseDrList[item].fFeeid) {
  6952. if (item === "fBusinessType") {
  6953. } else {
  6954. this.$message.error(
  6955. "请维护收款信息第" + (Number(item) + 1) + "行费用名称"
  6956. );
  6957. return false;
  6958. }
  6959. }
  6960. if (!this.warehouseDrList[item].fFeeunitid) {
  6961. if (item === "fBusinessType") {
  6962. } else {
  6963. this.$message.error(
  6964. "请维护收款信息第" + (Number(item) + 1) + "行计价单位"
  6965. );
  6966. return false;
  6967. }
  6968. }
  6969. }
  6970. for (let item in this.warehouseCrList) {
  6971. if (!this.warehouseCrList[item].fCorpid) {
  6972. if (item === "fBusinessType") {
  6973. } else {
  6974. this.$message.error(
  6975. "请维护付款信息第" + (Number(item) + 1) + "行客户名称"
  6976. );
  6977. return false;
  6978. }
  6979. }
  6980. if (!this.warehouseCrList[item].fFeeid) {
  6981. if (item === "fBusinessType") {
  6982. } else {
  6983. this.$message.error(
  6984. "请维护付款信息第" + (Number(item) + 1) + "行费用名称"
  6985. );
  6986. return false;
  6987. }
  6988. }
  6989. if (!this.warehouseCrList[item].fFeeunitid) {
  6990. if (item === "fBusinessType") {
  6991. } else {
  6992. this.$message.error(
  6993. "请维护付款信息第" + (Number(item) + 1) + "行计价单位"
  6994. );
  6995. return false;
  6996. }
  6997. }
  6998. }
  6999. if (valid) {
  7000. setTimeout(() => {
  7001. this.form.fBillstatus = status;
  7002. this.form.fNetweight = this.fNetweight;
  7003. this.form.fPlangrossweight = this.fPlangrossweight;
  7004. this.form.fPlannetweight = this.fPlannetweight;
  7005. this.form.fPlanvolumn = this.fPlanvolumn;
  7006. this.form.fPlanqty = this.fPlanqty;
  7007. this.form.fGrossweight = this.fGrossweight;
  7008. this.form.fQty = this.fQty;
  7009. if (!this.form.fId) {
  7010. this.form.fId = this.fid;
  7011. }
  7012. let formData = new window.FormData();
  7013. formData.append("warehouseBills", JSON.stringify(this.form));
  7014. formData.append(
  7015. "warehousebillsitems",
  7016. JSON.stringify(this.dataList)
  7017. );
  7018. formData.append(
  7019. "tEnclosure",
  7020. JSON.stringify(this.relevantAttachments)
  7021. );
  7022. formData.append(
  7023. "warehousebillsfeesCr",
  7024. JSON.stringify(this.warehouseCrList)
  7025. );
  7026. formData.append(
  7027. "warehousebillsfeesDr",
  7028. JSON.stringify(this.warehouseDrList)
  7029. );
  7030. warehouseSubmission(formData).then((response) => {
  7031. this.msgSuccess("提交成功");
  7032. this.cancel();
  7033. this.getList();
  7034. });
  7035. }, 200);
  7036. }
  7037. });
  7038. },
  7039. /** 删除按钮操作 */
  7040. handleDelete(row) {
  7041. const fIds = row.fId || this.ids.fId;
  7042. let tips = "";
  7043. delOutStock_s(fIds).then((data) => {
  7044. switch (data.msg) {
  7045. case "0": {
  7046. this.$message.error("当前数据已被其他操作员操作请刷新页面");
  7047. break;
  7048. }
  7049. case "1": {
  7050. tips = "当前主表有数据从表无数据是否删除";
  7051. this.delete_S(fIds, tips);
  7052. break;
  7053. }
  7054. case "2": {
  7055. tips = "当前主表有数据从表有数据是否删除";
  7056. this.delete_S(fIds, tips);
  7057. break;
  7058. }
  7059. default: {
  7060. return this.$message.error("未知错误,无状态");
  7061. }
  7062. }
  7063. });
  7064. },
  7065. delete_S(fIds, tips) {
  7066. this.$confirm(tips, "警告", {
  7067. confirmButtonText: "确定",
  7068. cancelButtonText: "取消",
  7069. type: "warning",
  7070. })
  7071. .then(function () {
  7072. return delWarehousebills(fIds);
  7073. })
  7074. .then(() => {
  7075. this.getList();
  7076. this.msgSuccess("删除成功");
  7077. });
  7078. },
  7079. /** 导出按钮操作 */
  7080. handleExport() {
  7081. const queryParams = this.queryParams;
  7082. this.$confirm("是否确认导出所有仓库主(出入库)数据项?", "警告", {
  7083. confirmButtonText: "确定",
  7084. cancelButtonText: "取消",
  7085. type: "warning",
  7086. })
  7087. .then(function () {
  7088. return exportWarehousebills(queryParams);
  7089. })
  7090. .then((response) => {
  7091. this.download(response.msg);
  7092. });
  7093. },
  7094. // 出库件数的计算
  7095. qtyChange(row) {
  7096. if (!row.fQty || row.fQty === "") {
  7097. this.$set(row, "fNetweight", 0);
  7098. this.$set(row, "fGrossweight", 0);
  7099. return false;
  7100. }
  7101. if (row.fPlanqty < row.fQty) {
  7102. this.$message.error("出库件数超出结余件数!");
  7103. this.$set(row, "fQty", 0);
  7104. this.$set(row, "fNetweight", 0);
  7105. this.$set(row, "fGrossweight", 0);
  7106. return false;
  7107. }
  7108. // 净重 fPlannetweight
  7109. // 毛重 fPlangrossweight
  7110. let fVolumn = parseFloat(
  7111. Number(row.fVolumn) / Number(row.fPlanqty)
  7112. ).toFixed(2);
  7113. let netweight = parseFloat(
  7114. Number(row.fPlannetweight) / Number(row.fPlanqty)
  7115. ).toFixed(2);
  7116. let grossweigh = parseFloat(
  7117. Number(row.fPlangrossweight) / Number(row.fPlanqty)
  7118. ).toFixed(2);
  7119. this.$set(
  7120. row,
  7121. "fVolumn",
  7122. parseFloat(Number(fVolumn) * Number(row.fQty)).toFixed(2)
  7123. );
  7124. this.$set(
  7125. row,
  7126. "fNetweight",
  7127. parseFloat(Number(netweight) * Number(row.fQty)).toFixed(2)
  7128. );
  7129. this.$set(
  7130. row,
  7131. "fGrossweight",
  7132. parseFloat(Number(grossweigh) * Number(row.fQty)).toFixed(2)
  7133. );
  7134. },
  7135. // 修改毛重净重
  7136. changeOutStock(row) {
  7137. let fNetweight = 0;
  7138. let fGrossweight = 0;
  7139. if (row.fNetweight) {
  7140. fNetweight = row.fNetweight;
  7141. }
  7142. if (row.fGrossweight) {
  7143. fGrossweight = row.fGrossweight;
  7144. }
  7145. if (row.fPlannetweight < fNetweight) {
  7146. this.$message({ message: "出库净重超出结余净重", type: "warning" });
  7147. return false;
  7148. }
  7149. if (row.fPlangrossweight < fGrossweight) {
  7150. this.$message({ message: "出库毛重超出结余毛重", type: "warning" });
  7151. return false;
  7152. }
  7153. },
  7154. deleteRow(index, rows) {
  7155. rows.splice(index, 1);
  7156. if (this.dataList.length === 0) {
  7157. this.form.fProductName = "";
  7158. this.form.fMarks= "";
  7159. this.formBrowseStatus = false;
  7160. this.contrOl = false;
  7161. return false;
  7162. }
  7163. for (let li in this.dataList) {
  7164. if (this.dataList[li].fBillstatus > 10) {
  7165. this.formBrowseStatus = true;
  7166. return false;
  7167. }
  7168. }
  7169. },
  7170. /* 远程模糊查询用户 */
  7171. corpsRemoteMethod(name) {
  7172. if (name == null || name === "") {
  7173. return false;
  7174. }
  7175. let queryParams = { pageNum: 1, fName: name };
  7176. listCorps(queryParams).then((response) => {
  7177. this.fMblnoOptions = response.rows;
  7178. this.KHblnoOptions = response.rows;
  7179. });
  7180. },
  7181. /* 远程模糊查询劳务公司 */
  7182. flabourRemoteMethod(name) {
  7183. if (name == null || name === "") {
  7184. return false;
  7185. }
  7186. let queryParams = { pageNum: 1, fName: name, fTypeid: 6 };
  7187. listCorps(queryParams).then((response) => {
  7188. this.fCompanyOptIons = response.rows;
  7189. });
  7190. },
  7191. /* 远程模糊查询车队 */
  7192. fleetRemoteMethod(name) {
  7193. if (name == null || name === "") {
  7194. return false;
  7195. }
  7196. let queryParams = { pageNum: 1, fName: name, fTypeid: 2 };
  7197. listCorps(queryParams).then((response) => {
  7198. this.fleetOptions = response.rows;
  7199. });
  7200. },
  7201. /* 远程模糊查询商品 */
  7202. goodsRemoteMethod(name) {
  7203. if (name == null || name === "") {
  7204. return false;
  7205. }
  7206. let queryParams = { pageNum: 1, fName: name };
  7207. listGoods(queryParams).then((response) => {
  7208. this.goodsOptions = response.rows;
  7209. });
  7210. },
  7211. // 选择费用信息时获取计价单位
  7212. changeFeeId(row) {
  7213. for (let li in this.fWbuOptions) {
  7214. if (row.fFeeid === this.fWbuOptions[li].fId) {
  7215. this.$set(row, "fFeeUnitid", this.fWbuOptions[li].fFeeunitid + "");
  7216. this.changeFeeUnit(row);
  7217. break;
  7218. }
  7219. }
  7220. },
  7221. // 远程模糊查询费用名称
  7222. fWRemoteMethod(name) {
  7223. if (name == null || name === "") {
  7224. return false;
  7225. }
  7226. let queryParams = { pageNum: 1, fDc: "C", fName: name };
  7227. listFees(queryParams).then((response) => {
  7228. this.fCNameOptions = response.rows;
  7229. });
  7230. let query = { pageNum: 1, fDc: "D", fName: name };
  7231. listFees(query).then((response) => {
  7232. this.fDNameOptions = response.rows;
  7233. });
  7234. },
  7235. /* 远程模糊查询经营单位 */
  7236. fSbuRemoteMethod(name) {
  7237. if (name == null || name === "") {
  7238. return false;
  7239. }
  7240. let queryParams = { pageNum: 1, fName: name };
  7241. listCorps(queryParams).then((response) => {
  7242. this.fSbuOptions = response.rows;
  7243. });
  7244. },
  7245. /* 远程模糊查询仓库 */
  7246. warehouseRemoteMethod(name) {
  7247. if (name == null || name === "") {
  7248. return false;
  7249. }
  7250. let queryParams = { pageNum: 1, fName: name };
  7251. listWarehouse(queryParams).then((response) => {
  7252. this.warehouseOptions = response.rows;
  7253. });
  7254. },
  7255. /* 获取所有仓库信息 */
  7256. warehousesssMethod() {
  7257. let queryParams = { pageNum: 1, fStatus: 0, delFlag: 0 };
  7258. listWarehousesss(queryParams).then((response) => {
  7259. this.warehouseOptions = response.rows;
  7260. });
  7261. },
  7262. /* 远程模糊查询库区 */
  7263. kqhouseRemoteMethod(name) {
  7264. if (name == null || name === "") {
  7265. return false;
  7266. }
  7267. if (!this.form.fWarehouseid) {
  7268. this.$message.error("请输入仓库!");
  7269. return false;
  7270. }
  7271. let queryParams = {
  7272. pageNum: 1,
  7273. fWarehouseid: this.form.fWarehouseid,
  7274. fName: name,
  7275. };
  7276. listArea(queryParams).then((response) => {
  7277. this.kqhouseOptions = response.rows;
  7278. });
  7279. },
  7280. /* 远程模糊查询操作用户 */
  7281. userRemoteMethod(name) {
  7282. if (name == null || name === "") {
  7283. return false;
  7284. }
  7285. let queryParams = { pageNum: 1, userName: name };
  7286. listUser(queryParams).then((response) => {
  7287. this.userOptions = response.rows;
  7288. });
  7289. },
  7290. },
  7291. };
  7292. </script>
  7293. <style lang="scss">
  7294. @import "src/assets/styles/element-variables.scss";
  7295. .juzhong > th {
  7296. text-align: center;
  7297. }
  7298. .biaoge > tr > td {
  7299. height: 50px;
  7300. text-align: center;
  7301. border-right: 1px solid #dfe6ec !important;
  7302. // order-bottom: 1px solid #dfe6ec !important;
  7303. border-bottom: 1px solid #dfe6ec !important;
  7304. }
  7305. .el-table thead th {
  7306. background: #1890ff;
  7307. color: #fff;
  7308. }
  7309. .upload-demo {
  7310. margin-left: 50px;
  7311. }
  7312. .el-form-item {
  7313. margin-bottom: 5px !important;
  7314. }
  7315. .el-form-item__label {
  7316. font-size: 12px !important;
  7317. }
  7318. .el-collapse-item__header {
  7319. font-size: 16px;
  7320. font-weight: bolder;
  7321. padding-left: 5px;
  7322. }
  7323. .el-icon-s-home,
  7324. .el-icon-s-order,
  7325. .el-icon-circle-plus,
  7326. .el-icon-remove {
  7327. padding-right: 5px;
  7328. }
  7329. .el-table {
  7330. .el-table__body-wrapper {
  7331. z-index: 2;
  7332. }
  7333. }
  7334. .tabSetting {
  7335. display: flex;
  7336. justify-content: flex-end;
  7337. }
  7338. .listStyle {
  7339. display: flex;
  7340. border-top: 1px solid #dcdfe6;
  7341. border-left: 1px solid #dcdfe6;
  7342. border-right: 1px solid #dcdfe6;
  7343. }
  7344. .listStyle:last-child {
  7345. border-bottom: 1px solid #dcdfe6;
  7346. }
  7347. .progress {
  7348. display: flex;
  7349. align-items: center;
  7350. padding: 2px;
  7351. background-color: rgba(0, 0, 0, 0.05);
  7352. height: 100%;
  7353. }
  7354. .avue-crud__dialog__header {
  7355. display: -webkit-box;
  7356. display: -ms-flexbox;
  7357. display: flex;
  7358. -webkit-box-align: center;
  7359. -ms-flex-align: center;
  7360. align-items: center;
  7361. -webkit-box-pack: justify;
  7362. -ms-flex-pack: justify;
  7363. justify-content: space-between;
  7364. }
  7365. .el-dialog__title {
  7366. color: rgba(0, 0, 0, 0.85);
  7367. font-weight: 500;
  7368. word-wrap: break-word;
  7369. }
  7370. .avue-crud__dialog__menu {
  7371. padding-right: 20px;
  7372. float: left;
  7373. }
  7374. .avue-crud__dialog__menu i {
  7375. color: #909399;
  7376. font-size: 15px;
  7377. }
  7378. .el-icon-full-screen {
  7379. cursor: pointer;
  7380. }
  7381. .el-icon-full-screen:before {
  7382. content: "\e719";
  7383. }
  7384. .print-div {
  7385. color: #000;
  7386. }
  7387. .print_table {
  7388. table {
  7389. border-right: 1px solid #000;
  7390. border-bottom: 1px solid #000;
  7391. font-size: 12px;
  7392. margin-bottom: 5px;
  7393. }
  7394. table td {
  7395. border-left: 1px solid #000;
  7396. border-top: 1px solid #000;
  7397. vertical-align: middle;
  7398. padding: 2px;
  7399. text-align: center;
  7400. }
  7401. }
  7402. .print_form {
  7403. font-size: 12px;
  7404. }
  7405. .tag-hover:hover {
  7406. background-color: #d9ebfb;
  7407. }
  7408. .tag-hover {
  7409. border-top-left-radius: 0;
  7410. border-top-right-radius: 0;
  7411. height: 15px;
  7412. padding: 0px 4px;
  7413. line-height: 12px;
  7414. }
  7415. </style>