index.vue 226 KB

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