移动端
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

index.vue 160 KiB

3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766
  1. <template>
  2. <div class="app-container" :style="{ height: windowHeight + 'px' }">
  3. <div style="display: none">
  4. <select id="zhen"></select>
  5. <select id="cun" autofocus></select>
  6. <input id="texiao_fang" type="button" value="特效农房" /> 
  7. <input id="texiao_di" type="button" value="特效农地" /> 
  8. <input id="qingchu" type="button" value="清除" /> 
  9. <button id="drawPolygon">绘制地图</button>
  10. <button id="drawRemove">清除画图</button>
  11. <button id="drawReset">还原之前图层</button>
  12. </div>
  13. <div class="map_area" id="mapWrap"></div>
  14. <!--列表 定位-->
  15. <div class="rightIcon_wrap">
  16. <!-- <div class="positioning_wrap">
  17. <div class="icon"></div>
  18. </div> -->
  19. <div class="selectionIcon_wrap" @click="selectionPush">
  20. <div class="icon"></div>
  21. <div class="text">列表</div>
  22. </div>
  23. </div>
  24. <van-overlay :show="selectionIconShow" @click="homesteadListShrink" />
  25. <!--放大缩小-->
  26. <div class="rightZoom_wrap">
  27. <div class="amplification" ref="sliderBig"></div>
  28. <div class="narrow" ref="sliderSmall"></div>
  29. </div>
  30. <!--列表拉取详情-->
  31. <div class="homesteadList_wrap" v-show="homesteadListStatus">
  32. <div class="main_m" v-if="statusList == 0">
  33. <div class="title_m">
  34. <div class="more_icon" @click="homesteadListShrink"></div>
  35. <div class="name">农房列表</div>
  36. </div>
  37. <!--1-->
  38. <div
  39. class="flex_block"
  40. v-for="(items, index) in hcBottonHouseArr"
  41. :key="index"
  42. :class="{ active: selectChooseOrder == index }"
  43. @click="housingSerial(items, index)"
  44. >
  45. <div class="name_text">{{ items.name }}</div>
  46. <div class="square_text">{{ items.mj }}㎡</div>
  47. <div class="operation_mian">
  48. <div
  49. class="describe"
  50. :class="[
  51. items.xzqk == '已盘活' ? 'yph' : '',
  52. items.xzqk == '待流转待盘活' ? 'dlzdph' : '',
  53. //items.xzqk == '已流转' ? 'ylz' : '',
  54. //items.xzqk == '待流转' ? 'dlz' : '',
  55. items.xzqk == '已流转待盘活' ? 'ylzdph' : '',
  56. items.xzqk == '自用' ? 'zy' : '',
  57. items.xzqk == '闲置' ? 'xz' : '',
  58. items.xzqk == '残垣断壁' ? 'chdb' : '',
  59. ]"
  60. >
  61. {{ items.xzqk }}
  62. </div>
  63. </div>
  64. </div>
  65. <div v-if="hcBottonHouseArr.length == 0" class="noInfo_data">
  66. 暂无农房信息
  67. </div>
  68. </div>
  69. <div class="main_m" v-if="statusList == 1">
  70. <div class="title_m">
  71. <div class="more_icon" @click="homesteadListShrink"></div>
  72. <div class="name">农地列表</div>
  73. </div>
  74. <!--1-->
  75. <div
  76. class="flex_block"
  77. v-for="(items, index) in hcBottonLandArr"
  78. :key="index"
  79. :class="{ active: selectChooseOrder == index }"
  80. @click="housingSerial(items, index)"
  81. >
  82. <div class="name_text">{{ items.name }}</div>
  83. <div class="square_text">{{ items.mj }}亩</div>
  84. <div class="operation_mian">
  85. <div
  86. class="describe"
  87. :class="[
  88. items.xzqk == '已盘活' ? 'yph' : '',
  89. items.xzqk == '待流转待盘活' ? 'dlzdph' : '',
  90. items.xzqk == '已流转' ? 'ylz' : '',
  91. items.xzqk == '待流转' ? 'dlz' : '',
  92. ]"
  93. >
  94. {{ items.xzqk }}
  95. </div>
  96. </div>
  97. </div>
  98. <div v-if="hcBottonLandArr.length == 0" class="noInfo_data">
  99. 暂无农地信息
  100. </div>
  101. </div>
  102. <!-- //待租列表 房
  103. hcBottonHouseArr: [],
  104. //待租列表 地
  105. hcBottonLandArr: [], -->
  106. <div class="footerBtn_wrap">
  107. <div
  108. class="options"
  109. :class="{ active: statusList == 0 }"
  110. @click="housingTypes('0')"
  111. >
  112. 农房
  113. </div>
  114. <div
  115. class="options"
  116. :class="{ active: statusList == 1 }"
  117. @click="housingTypes('1')"
  118. >
  119. 农地
  120. </div>
  121. </div>
  122. </div>
  123. <!--选择地址-->
  124. <div class="address_wrap">
  125. <div class="address_item">
  126. <div class="portrait cun" @click="villageVisbileFun">村</div>
  127. <div class="name" @click="villageVisbileFun">
  128. {{ villageDataObj.deptName }}
  129. </div>
  130. </div>
  131. </div>
  132. <van-popup v-model="villageVisbile" round position="bottom">
  133. <van-cascader
  134. v-model="villageValue"
  135. title="请选择所在村"
  136. :options="hcAreaInfoOption"
  137. @close="hcAreaInfoClose"
  138. @finish="hcAreaInfoFinish"
  139. active-color="#1989fa"
  140. :field-names="hcAreaInfoFieldName"
  141. />
  142. </van-popup>
  143. <!--搜索栏目-->
  144. <div class="searchBar_wrap">
  145. <div class="actionBar_wrap" v-if="searchBarOperVisbile">
  146. <!-- <div class="m_list">
  147. <div class="positioning">
  148. <div class="icon"></div>
  149. </div>
  150. </div>
  151. <div class="m_list">
  152. <div class="spacing">
  153. <div class="icon"></div>
  154. </div>
  155. </div>
  156. <div class="m_list">
  157. <div class="scale">
  158. <div class="icon"></div>
  159. </div>
  160. </div> -->
  161. <div class="m_list">
  162. <div class="closes gray" @click="searchBarOperFun('false')">
  163. <div class="icon"></div>
  164. </div>
  165. </div>
  166. <div class="m_list">
  167. <div
  168. class="tensile"
  169. :class="{ active: draw.drawMapPolygon }"
  170. @click="drawMapPolygonFun"
  171. >
  172. <div class="icon"></div>
  173. </div>
  174. </div>
  175. <div class="m_list" @click="farmlandEditSwitchFun">
  176. <div class="correct"></div>
  177. </div>
  178. </div>
  179. <div class="searchBar_area">
  180. <div class="bar_icon"></div>
  181. <div class="bar_ipt">
  182. <input
  183. type="text"
  184. v-model="seachText"
  185. placeholder="请输入宗地或权利人信息"
  186. />
  187. </div>
  188. <div id="query" class="bar_text">搜索</div>
  189. </div>
  190. <div class="searchBar_more" @click="searchBarOperFun('true')"></div>
  191. </div>
  192. <!--点击房地-显示的搜索--->
  193. <div class="landHomestead_wrap">
  194. <div class="landHomestead_search">
  195. <div class="bar_icon"></div>
  196. <div class="bar_ipt">
  197. <input
  198. type="text"
  199. v-model="seachText"
  200. placeholder="请输入宗地或权利人信息"
  201. />
  202. </div>
  203. <div class="bar_text" @click="toggleSearch">搜索</div>
  204. </div>
  205. <div class="landHomestead_body">
  206. <!--0-农房-->
  207. <div class="body_flex" v-if="farmhouseStatus == 0">
  208. <div class="attribute" @click="houseLandLookInfo('show', 'house')">
  209. <div class="names">{{ houseInfoList.fwsyrmc }}</div>
  210. <div class="address">{{ houseInfoList.dz }}</div>
  211. <div class="nature">性质:{{ houseInfoList.tdxz }}</div>
  212. </div>
  213. <div class="distance" @click="houseLandLookInfo('show', 'house')">
  214. <div class="size">{{ houseInfoList.xh }}</div>
  215. <div class="probably">大约{{ houseInfoList.jzmj }}㎡</div>
  216. </div>
  217. <div class="others">
  218. <div class="information">
  219. <!-- <div
  220. class="location"
  221. @click="landHomeSerial('house', houseInfoList)"
  222. ></div> -->
  223. <div class="status_text">{{ houseInfoList.xzqk }}</div>
  224. </div>
  225. <div class="editor">
  226. <div class="editor_icon" @click="editnfdInfo"></div>
  227. <div class="delete_icon" @click="deletefdInfo"></div>
  228. </div>
  229. </div>
  230. </div>
  231. <!--1-农地-->
  232. <div class="body_flex" v-if="farmhouseStatus == 1">
  233. <div class="attribute" @click="houseLandLookInfo('show', 'land')">
  234. <div class="names">{{ landInfoList.syrmc }}</div>
  235. <div class="address">{{ landInfoList.cm }}</div>
  236. <div class="nature">性质:{{ landInfoList.nydlx }}</div>
  237. </div>
  238. <div class="distance" @click="houseLandLookInfo('show', 'land')">
  239. <div class="size">{{ landInfoList.xh }}</div>
  240. <div class="probably">大约{{ landInfoList.mj }}㎡</div>
  241. </div>
  242. <div class="others">
  243. <div class="information">
  244. <!-- <div
  245. class="location"
  246. @click="landHomeSerial('land', landInfoList)"
  247. ></div> -->
  248. <div class="status_text">{{ landInfoList.xzqk }}</div>
  249. </div>
  250. <div class="editor">
  251. <div class="editor_icon" @click="editnfdInfo"></div>
  252. <div class="delete_icon" @click="deletefdInfo"></div>
  253. </div>
  254. </div>
  255. </div>
  256. </div>
  257. </div>
  258. <div id="info" style="display: none"></div>
  259. <!--房地全部信息展示-->
  260. <div
  261. class="landHomesteadDetails_wrap"
  262. v-show="landHomesteadDetailsVisibile"
  263. >
  264. <!---农房-->
  265. <div class="content_mian" v-if="farmhouseStatus == 0">
  266. <!--内容-->
  267. <div class="serial_flex">
  268. <div class="number">
  269. 农房编号<span>{{ houseInfoLookList.xh }}</span>
  270. </div>
  271. <div class="localhref" @click="houseLandLookInfo('hide')"></div>
  272. </div>
  273. <!--1-->
  274. <div class="flex_block">
  275. <span class="describe">房屋所有人名称</span
  276. ><span class="content">{{ houseInfoLookList.fwsyrmc }}</span>
  277. </div>
  278. <!--1-->
  279. <div class="flex_block">
  280. <span class="describe">村名</span
  281. ><span class="content">{{ houseInfoLookList.cm }}</span>
  282. </div>
  283. <!--1-->
  284. <div class="flex_block">
  285. <span class="describe">地址</span
  286. ><span class="content">{{ houseInfoLookList.dz }}</span>
  287. </div>
  288. <!--1-->
  289. <div class="flex_block">
  290. <span class="describe">是否有审批手续</span
  291. ><span class="content">{{ houseInfoLookList.sfyspsx }}</span>
  292. </div>
  293. <!--1-->
  294. <div class="flex_block">
  295. <span class="describe">房屋所有权证号</span
  296. ><span class="content">{{ houseInfoLookList.fwsyqh }}</span>
  297. </div>
  298. <!--1-->
  299. <div class="flex_block">
  300. <span class="describe">建筑面积</span
  301. ><span class="content">大约{{ houseInfoLookList.jzmj }}㎡</span>
  302. </div>
  303. <!--1-->
  304. <div class="flex_block">
  305. <span class="describe">土地证号</span
  306. ><span class="content">{{ houseInfoLookList.tdzh }}</span>
  307. </div>
  308. <!--1-->
  309. <div class="flex_block">
  310. <span class="describe">土地性质</span
  311. ><span class="content">{{ houseInfoLookList.tdxz }}</span>
  312. </div>
  313. <!--1-->
  314. <div class="flex_block">
  315. <span class="describe">土地面积</span
  316. ><span class="content">大约{{ houseInfoLookList.tdmj }}㎡</span>
  317. </div>
  318. <!--1-->
  319. <div class="flex_block">
  320. <span class="describe">现状情况</span
  321. ><span class="content">{{ houseInfoLookList.xzqk }}</span>
  322. </div>
  323. <!--1-->
  324. <div class="flex_block">
  325. <span class="describe">是否有流转意向</span
  326. ><span class="content">{{ houseInfoLookList.xzfwsfylzy }}</span>
  327. </div>
  328. <!--1-->
  329. <div class="flex_block">
  330. <span class="describe">租赁人</span
  331. ><span class="content">{{ houseInfoLookList.zlrxm }}</span>
  332. </div>
  333. <!--1-->
  334. <div class="flex_block">
  335. <span class="describe">租赁剩余年限</span
  336. ><span class="content">{{ houseInfoLookList.zlsynx }}年</span>
  337. </div>
  338. <!--1-->
  339. <div class="flex_block">
  340. <span class="describe">租赁合同截止日期</span
  341. ><span class="content">{{ houseInfoLookList.zlhtjzrq }}</span>
  342. </div>
  343. <!--上传图片-->
  344. <div class="uploadPictures_block">
  345. <div class="statusQuo">
  346. <div
  347. class="picture"
  348. v-if="houseInfoLookList.behindHouse == ''"
  349. ></div>
  350. <div
  351. class="picture"
  352. v-if="houseInfoLookList.behindHouse != ''"
  353. @click="previewZoomImage(houseInfoLookList.behindHouse)"
  354. >
  355. <img :src="houseInfoLookList.behindHouse" />
  356. </div>
  357. <div class="describe">现<br />状<br />图<br />片</div>
  358. </div>
  359. <div class="statusQuo">
  360. <div
  361. class="picture"
  362. v-if="houseInfoLookList.frontHouse == ''"
  363. ></div>
  364. <div
  365. class="picture"
  366. v-if="houseInfoLookList.frontHouse != ''"
  367. @click="previewZoomImage(houseInfoLookList.frontHouse)"
  368. >
  369. <img :src="houseInfoLookList.frontHouse" />
  370. </div>
  371. <div class="describe">历<br />史<br />图<br />片</div>
  372. </div>
  373. </div>
  374. <!--编辑-->
  375. <div class="editor_block">
  376. <div class="editor_icon" @click="editnfdInfo"></div>
  377. </div>
  378. </div>
  379. <!---农地-->
  380. <div class="content_mian" v-else-if="farmhouseStatus == 1">
  381. <!--内容-->
  382. <div class="serial_flex">
  383. <div class="number">
  384. 农地编号<span>{{ landInfoLookList.xh }}</span>
  385. </div>
  386. <div class="localhref" @click="houseLandLookInfo('hide')"></div>
  387. </div>
  388. <!--1-->
  389. <div class="flex_block">
  390. <span class="describe">农地使用人名称</span
  391. ><span class="content">{{ landInfoLookList.syrmc }}</span>
  392. </div>
  393. <!--1-->
  394. <div class="flex_block">
  395. <span class="describe">村名</span
  396. ><span class="content">{{ landInfoLookList.cm }}</span>
  397. </div>
  398. <!--1-->
  399. <div class="flex_block">
  400. <span class="describe">是否有流转意向</span
  401. ><span class="content">{{ landInfoLookList.sfylzyx }}</span>
  402. </div>
  403. <!--1-->
  404. <div class="flex_block">
  405. <span class="describe">土地面积</span
  406. ><span class="content">大约{{ landInfoLookList.mj }}亩</span>
  407. </div>
  408. <!--1-->
  409. <div class="flex_block">
  410. <span class="describe">农用地类型</span
  411. ><span class="content">大约{{ landInfoLookList.nydlx }}</span>
  412. </div>
  413. <!--1-->
  414. <div class="flex_block">
  415. <span class="describe">现状情况</span
  416. ><span class="content">{{ landInfoLookList.xzqk }}</span>
  417. </div>
  418. <!--1-->
  419. <div class="flex_block">
  420. <span class="describe">承包人</span
  421. ><span class="content">{{ landInfoLookList.cbrmc }}</span>
  422. </div>
  423. <!--1-->
  424. <div class="flex_block">
  425. <span class="describe">流转剩余年限</span
  426. ><span class="content">{{ landInfoLookList.lzsynx }}年</span>
  427. </div>
  428. <!--1-->
  429. <div class="flex_block">
  430. <span class="describe">流转合同截止日期</span
  431. ><span class="content">{{ landInfoLookList.lzhtjzrq }}</span>
  432. </div>
  433. <!--上传图片-->
  434. <div class="uploadPictures_block">
  435. <div class="statusQuo">
  436. <div class="picture" v-if="landInfoLookList.behindland == ''"></div>
  437. <div
  438. class="picture"
  439. v-if="landInfoLookList.behindland != ''"
  440. @click="previewZoomImage(landInfoLookList.behindland)"
  441. >
  442. <img :src="landInfoLookList.behindland" />
  443. </div>
  444. <div class="describe">现<br />状<br />图<br />片</div>
  445. </div>
  446. <div class="statusQuo">
  447. <div class="picture" v-if="landInfoLookList.frontland == ''"></div>
  448. <div
  449. class="picture"
  450. v-if="landInfoLookList.frontland != ''"
  451. @click="previewZoomImage(landInfoLookList.frontland)"
  452. >
  453. <img :src="landInfoLookList.frontland" />
  454. </div>
  455. <div class="describe">历<br />史<br />图<br />片</div>
  456. </div>
  457. </div>
  458. <!--编辑-->
  459. <div class="editor_block">
  460. <div class="editor_icon" @click="editnfdInfo"></div>
  461. </div>
  462. </div>
  463. </div>
  464. <!--房地全部信息编辑-->
  465. <van-overlay
  466. :show="landHomesteadEditVisbile"
  467. @click="landHomesteadEditCancel"
  468. />
  469. <div
  470. class="landHomesteadEdit_wrap"
  471. v-show="landHomesteadEditVisbile"
  472. style="bottom: 0"
  473. >
  474. <div class="content_mian" ref="landHomesteadEditWrap">
  475. <div class="info_title">
  476. {{ this.farmhouseStatus == 0 ? "录入宗地信息" : "录入农地信息" }}
  477. </div>
  478. <!-- 农房 -->
  479. <div
  480. class="flex_main"
  481. v-if="this.farmhouseStatus == 0"
  482. :style="{ height: landHomesteadEditWrapHeight + 'px' }"
  483. >
  484. <div class="flex_block">
  485. <div class="number_s50 mr50">
  486. <div class="title_m">农房编号</div>
  487. <div class="input_m">
  488. <van-field
  489. v-model="houseInfoList.xh"
  490. placeholder="农房编号"
  491. class="landHomesteadEdit_input"
  492. />
  493. </div>
  494. </div>
  495. <div class="number_s50">
  496. <div class="title_m">房屋所有人名称</div>
  497. <div class="input_m">
  498. <van-field
  499. v-model="houseInfoList.fwsyrmc"
  500. placeholder="房屋所有人名称"
  501. class="landHomesteadEdit_input"
  502. />
  503. </div>
  504. </div>
  505. </div>
  506. <!--1-->
  507. <div class="flex_block">
  508. <div class="number_s60 mr50">
  509. <div class="title_m">地址</div>
  510. <div class="input_m">
  511. <van-field
  512. v-model="houseInfoList.dz"
  513. placeholder="地址"
  514. class="landHomesteadEdit_input"
  515. />
  516. </div>
  517. </div>
  518. <div class="number_s40">
  519. <div class="title_m">土地性质</div>
  520. <div class="input_m select">
  521. <i class="dropDown_icon"></i>
  522. <van-field
  523. v-model="houseInfoList.tdxz"
  524. readonly
  525. clickable
  526. name="picker"
  527. placeholder="土地性质"
  528. class="landHomesteadEdit_input"
  529. @click="tdxzOptionsVibile = true"
  530. />
  531. <van-popup v-model="tdxzOptionsVibile" position="bottom">
  532. <van-picker
  533. show-toolbar
  534. :columns="tdxzOptions"
  535. value-key="dictLabel"
  536. @confirm="tdxzOptionsFun"
  537. @cancel="tdxzOptionsVibile = false"
  538. />
  539. </van-popup>
  540. </div>
  541. </div>
  542. </div>
  543. <!--1-->
  544. <div class="flex_block">
  545. <div class="number_s35 mr50">
  546. <div class="title_m">是否有审批手续</div>
  547. <div class="input_m select">
  548. <i class="dropDown_icon"></i>
  549. <van-field
  550. v-model="houseInfoList.sfyspsx"
  551. readonly
  552. clickable
  553. name="picker"
  554. placeholder="审批手续"
  555. class="landHomesteadEdit_input"
  556. @click="xfCirculationVisbile = true"
  557. />
  558. <van-popup v-model="xfCirculationVisbile" position="bottom">
  559. <van-picker
  560. show-toolbar
  561. :columns="xfApprovalOptions"
  562. @confirm="xfCirculationFun"
  563. @cancel="xfCirculationVisbile = false"
  564. />
  565. </van-popup>
  566. </div>
  567. </div>
  568. <div class="number_s35 mr50">
  569. <div class="title_m">建筑面积</div>
  570. <div class="input_m about">
  571. <span class="about_symbol">≈</span>
  572. <van-field
  573. v-model="houseInfoList.jzmj"
  574. placeholder="建筑面积"
  575. type="number"
  576. class="landHomesteadEdit_input"
  577. />
  578. </div>
  579. </div>
  580. <div class="number_s30">
  581. <div class="title_m">现状情况</div>
  582. <div class="input_m select">
  583. <i class="dropDown_icon"></i>
  584. <!-- -->
  585. <van-field
  586. v-model="houseInfoList.xzqk"
  587. readonly
  588. clickable
  589. name="picker"
  590. placeholder="现状情况"
  591. class="landHomesteadEdit_input"
  592. @click="xzqkOptionsVisbile = true"
  593. />
  594. <van-popup v-model="xzqkOptionsVisbile" position="bottom">
  595. <van-picker
  596. show-toolbar
  597. :columns="xzqkOptions"
  598. @confirm="xzqkOptionsFun"
  599. value-key="dictLabel"
  600. @cancel="xzqkOptionsVisbile = false"
  601. />
  602. </van-popup>
  603. </div>
  604. </div>
  605. </div>
  606. <!--1-->
  607. <div class="flex_block">
  608. <div class="number_s50 mr50">
  609. <div class="title_m">房屋所有权证号</div>
  610. <div class="input_m">
  611. <van-field
  612. v-model="houseInfoList.fwsyqh"
  613. placeholder="房屋所有权证号"
  614. class="landHomesteadEdit_input"
  615. />
  616. </div>
  617. </div>
  618. <div class="number_s50">
  619. <div class="title_m">土地证号</div>
  620. <div class="input_m">
  621. <van-field
  622. v-model="houseInfoList.tdzh"
  623. placeholder="土地证号"
  624. class="landHomesteadEdit_input"
  625. />
  626. </div>
  627. </div>
  628. </div>
  629. <!--1-->
  630. <div class="flex_block">
  631. <div class="number_s35 mr50">
  632. <div class="title_m">房屋类型</div>
  633. <div class="input_m select">
  634. <i class="dropDown_icon"></i>
  635. <van-field
  636. v-model="houseInfoList.tdfl"
  637. readonly
  638. clickable
  639. name="picker"
  640. placeholder="房屋类型"
  641. class="landHomesteadEdit_input"
  642. @click="fwdlxOptionsVibile = true"
  643. />
  644. <van-popup v-model="fwdlxOptionsVibile" position="bottom">
  645. <van-picker
  646. show-toolbar
  647. :columns="fwdlxOptions"
  648. value-key="dictLabel"
  649. @confirm="fwdlxOptionsFun"
  650. @cancel="fwdlxOptionsVibile = false"
  651. />
  652. </van-popup>
  653. </div>
  654. </div>
  655. <div class="number_s35 mr50">
  656. <div class="title_m">土地面积</div>
  657. <div class="input_m about">
  658. <span class="about_symbol">≈</span>
  659. <van-field
  660. v-model="houseInfoList.tdmj"
  661. placeholder="土地面积"
  662. type="number"
  663. class="landHomesteadEdit_input"
  664. />
  665. </div>
  666. </div>
  667. <div class="number_s30">
  668. <div class="title_m">是否有流转意向</div>
  669. <div class="input_m select">
  670. <i class="dropDown_icon"></i>
  671. <van-field
  672. v-model="houseInfoList.xzfwsfylzy"
  673. readonly
  674. clickable
  675. name="picker"
  676. placeholder="是否有流转意向"
  677. class="landHomesteadEdit_input"
  678. @click="xflzCirculationVisbile = true"
  679. />
  680. <van-popup v-model="xflzCirculationVisbile" position="bottom">
  681. <van-picker
  682. show-toolbar
  683. :columns="xfCirculationOptions"
  684. @confirm="xflzCirculationFun"
  685. @cancel="xflzCirculationVisbile = false"
  686. />
  687. </van-popup>
  688. </div>
  689. </div>
  690. </div>
  691. <!--1-->
  692. <div class="flex_block">
  693. <div class="number_s50 mr50">
  694. <div class="title_m">租赁人</div>
  695. <div class="input_m">
  696. <van-field
  697. v-model="houseInfoList.zlrxm"
  698. placeholder="租赁人"
  699. class="landHomesteadEdit_input"
  700. />
  701. </div>
  702. </div>
  703. <div class="number_s50">
  704. <div class="title_m">租赁年限</div>
  705. <div class="input_m">
  706. <van-field
  707. v-model="houseInfoList.zlsynx"
  708. placeholder="租赁年限"
  709. class="landHomesteadEdit_input"
  710. />
  711. </div>
  712. </div>
  713. </div>
  714. <!--1-->
  715. <div class="flex_block">
  716. <div class="number_s100">
  717. <div class="title_m">租赁合同截止日期</div>
  718. <div class="input_m">
  719. <van-field
  720. v-model="houseInfoList.zlhtjzrq"
  721. placeholder="流转合同截止日期"
  722. class="landHomesteadEdit_input"
  723. readonly
  724. @click="houseHomesteadEditcalendar = true"
  725. />
  726. <van-calendar
  727. v-model="houseHomesteadEditcalendar"
  728. @confirm="houseHomesteadEdConfirm"
  729. :max-date="new Date(2025, 0, 31)"
  730. />
  731. </div>
  732. </div>
  733. </div>
  734. <!--2-->
  735. <div class="uploadPicturesFlex_block">
  736. <div class="statusQuo">
  737. <div class="picture">
  738. <van-uploader
  739. v-model="nfAddfileListNow"
  740. :after-read="nfAddimgonReadNow"
  741. :before-delete="nfAddimgonReadNowDelete"
  742. class="uploads_main"
  743. :max-count="1"
  744. accept="image/gif, image/jpeg, image/png"
  745. >
  746. <div
  747. v-if="
  748. houseInfoList.behindHouse != null &&
  749. houseInfoList.behindHouse != ''
  750. "
  751. >
  752. <img :src="houseInfoList.behindHouse" alt="等待传图" />
  753. </div>
  754. </van-uploader>
  755. </div>
  756. <div class="describe">
  757. 上<br />传<br />现<br />状<br />图<br />片
  758. </div>
  759. </div>
  760. <div class="statusQuo">
  761. <div class="picture">
  762. <van-uploader
  763. v-model="nfAddfileListHistory"
  764. :after-read="nfAddimgonReadHistory"
  765. :before-delete="nfAddimgonReadHistoryDelete"
  766. :max-count="1"
  767. class="uploads_main"
  768. accept="image/gif, image/jpeg, image/png"
  769. >
  770. <div
  771. v-if="
  772. houseInfoList.frontHouse != null &&
  773. houseInfoList.frontHouse != ''
  774. "
  775. >
  776. <img :src="houseInfoList.frontHouse" alt="等待传图" />
  777. </div>
  778. </van-uploader>
  779. </div>
  780. <div class="describe">
  781. 上<br />传<br />历<br />史<br />图<br />片
  782. </div>
  783. </div>
  784. </div>
  785. </div>
  786. <!-- 农地 -->
  787. <div
  788. class="flex_main"
  789. v-else-if="this.farmhouseStatus == 1"
  790. :style="{ height: landHomesteadEditWrapHeight + 'px' }"
  791. >
  792. <!--1-->
  793. <div class="flex_block">
  794. <div class="number_s50 mr50">
  795. <div class="title_m">农地编号</div>
  796. <div class="input_m">
  797. <van-field
  798. v-model="landInfoList.xh"
  799. placeholder="农地编号"
  800. class="landHomesteadEdit_input"
  801. />
  802. </div>
  803. </div>
  804. <div class="number_s50">
  805. <div class="title_m">农地使用人名称</div>
  806. <div class="input_m">
  807. <van-field
  808. v-model="landInfoList.syrmc"
  809. placeholder="农地使用人名称"
  810. class="landHomesteadEdit_input"
  811. />
  812. </div>
  813. </div>
  814. </div>
  815. <!--1-->
  816. <div class="flex_block">
  817. <div class="number_s60 mr50">
  818. <div class="title_m">现状情况</div>
  819. <div class="input_m select">
  820. <i class="dropDown_icon"></i>
  821. <van-field
  822. v-model="landInfoList.xzqk"
  823. readonly
  824. clickable
  825. name="picker"
  826. placeholder="现状情况"
  827. class="landHomesteadEdit_input"
  828. @click="ndxzqkOptionsVisbile = true"
  829. />
  830. <van-popup v-model="ndxzqkOptionsVisbile" position="bottom">
  831. <van-picker
  832. show-toolbar
  833. :columns="ndxzqkOptions"
  834. @confirm="ndxzqkOptionsFun"
  835. value-key="dictLabel"
  836. @cancel="ndxzqkOptionsVisbile = false"
  837. />
  838. </van-popup>
  839. </div>
  840. </div>
  841. <div class="number_s40">
  842. <div class="title_m">农用地类型</div>
  843. <div class="input_m select">
  844. <i class="dropDown_icon"></i>
  845. <van-field
  846. v-model="landInfoList.nydlx"
  847. readonly
  848. clickable
  849. name="picker"
  850. placeholder="农用地类型"
  851. class="landHomesteadEdit_input"
  852. @click="nydlxOptionsVibile = true"
  853. />
  854. <van-popup v-model="nydlxOptionsVibile" position="bottom">
  855. <van-picker
  856. show-toolbar
  857. :columns="nydlxOptions"
  858. value-key="dictLabel"
  859. @confirm="nydlxOptionsFun"
  860. @cancel="nydlxOptionsVibile = false"
  861. />
  862. </van-popup>
  863. </div>
  864. </div>
  865. </div>
  866. <!--1-->
  867. <div class="flex_block">
  868. <div class="number_s50 mr50">
  869. <div class="title_m">土地面积</div>
  870. <div class="input_m about">
  871. <span class="about_symbol">≈</span>
  872. <van-field
  873. v-model="landInfoList.mj"
  874. placeholder="土地面积"
  875. type="number"
  876. class="landHomesteadEdit_input"
  877. />
  878. </div>
  879. </div>
  880. <div class="number_s50">
  881. <div class="title_m">是否有流转意向</div>
  882. <div class="input_m select">
  883. <i class="dropDown_icon"></i>
  884. <van-field
  885. v-model="landInfoList.sfylzyx"
  886. readonly
  887. clickable
  888. name="picker"
  889. placeholder="是否有流转意向"
  890. class="landHomesteadEdit_input"
  891. @click="xdlzCirculationVisbile = true"
  892. />
  893. <van-popup v-model="xdlzCirculationVisbile" position="bottom">
  894. <van-picker
  895. show-toolbar
  896. :columns="xdCirculationOptions"
  897. @confirm="xdCirculationOptionsFun"
  898. @cancel="xdlzCirculationVisbile = false"
  899. />
  900. </van-popup>
  901. </div>
  902. </div>
  903. </div>
  904. <!--1-->
  905. <div class="flex_block">
  906. <div class="number_s50 mr50">
  907. <div class="title_m">承包人</div>
  908. <div class="input_m">
  909. <van-field
  910. v-model="landInfoList.cbrmc"
  911. placeholder="承包人"
  912. class="landHomesteadEdit_input"
  913. />
  914. </div>
  915. </div>
  916. <div class="number_s50">
  917. <div class="title_m">流转剩余年限</div>
  918. <div class="input_m">
  919. <van-field
  920. v-model="landInfoList.lzsynx"
  921. placeholder="流转剩余年限"
  922. class="landHomesteadEdit_input"
  923. />
  924. </div>
  925. </div>
  926. </div>
  927. <!--1-->
  928. <div class="flex_block">
  929. <div class="number_s100">
  930. <div class="title_m">流转合同截止日期</div>
  931. <div class="input_m">
  932. <van-field
  933. v-model="landInfoList.lzhtjzrq"
  934. placeholder="流转合同截止日期"
  935. class="landHomesteadEdit_input"
  936. readonly
  937. @click="landHomesteadEditcalendar = true"
  938. />
  939. <van-calendar
  940. v-model="landHomesteadEditcalendar"
  941. @confirm="landHomesteadEdConfirm"
  942. :max-date="new Date(2025, 0, 31)"
  943. />
  944. </div>
  945. </div>
  946. </div>
  947. <!--2-->
  948. <div class="uploadPicturesFlex_block">
  949. <div class="statusQuo">
  950. <div class="picture">
  951. <van-uploader
  952. v-model="ndAddfileListNow"
  953. :after-read="ndAddimgonReadNow"
  954. :before-delete="ndAddimgonReadNowDelete"
  955. :max-count="1"
  956. class="uploads_main"
  957. accept="image/gif, image/jpeg, image/png"
  958. >
  959. <div
  960. v-if="
  961. landInfoList.behindland != null &&
  962. landInfoList.behindland != ''
  963. "
  964. >
  965. <img :src="landInfoList.behindland" alt="等待传图" />
  966. </div>
  967. </van-uploader>
  968. </div>
  969. <div class="describe">
  970. 上<br />传<br />现<br />状<br />图<br />片
  971. </div>
  972. </div>
  973. <div class="statusQuo">
  974. <div class="picture">
  975. <van-uploader
  976. v-model="ndAddfileListHistory"
  977. class="uploads_main"
  978. :after-read="ndAddimgonReadHistory"
  979. :before-delete="ndAddimgonReadHistoryDelete"
  980. :max-count="1"
  981. accept="image/gif, image/jpeg, image/png"
  982. >
  983. <div
  984. v-if="
  985. landInfoList.frontland != null &&
  986. landInfoList.frontland != ''
  987. "
  988. >
  989. <img :src="landInfoList.frontland" alt="等待传图" />
  990. </div>
  991. </van-uploader>
  992. </div>
  993. <div class="describe">
  994. 上<br />传<br />历<br />史<br />图<br />片
  995. </div>
  996. </div>
  997. </div>
  998. <!-- <div class="uploadPicturesFlex_block">
  999. <div class="title_m">上传现状图片</div>
  1000. <div class="main_m">
  1001. <van-uploader
  1002. v-model="ndAddfileListNow"
  1003. :after-read="ndAddimgonReadNow"
  1004. :max-count="1"
  1005. class="uploads_main"
  1006. accept="image/gif, image/jpeg, image/png"
  1007. >
  1008. <div v-if="landInfoList.behindland != null">
  1009. <img :src="landInfoList.behindland" alt="等待传图" />
  1010. </div>
  1011. </van-uploader>
  1012. </div>
  1013. </div>
  1014. <div class="uploadPicturesFlex_block">
  1015. <div class="title_m">上传历史图片</div>
  1016. <div class="main_m">
  1017. <van-uploader
  1018. v-model="ndAddfileListHistory"
  1019. class="uploads_main"
  1020. :after-read="ndAddimgonReadHistory"
  1021. :max-count="1"
  1022. accept="image/gif, image/jpeg, image/png"
  1023. >
  1024. <div v-if="landInfoList.frontland != null">
  1025. <img :src="landInfoList.frontland" alt="等待传图" />
  1026. </div>
  1027. </van-uploader>
  1028. </div>
  1029. </div> -->
  1030. </div>
  1031. </div>
  1032. <div class="footer_main">
  1033. <div class="cancel" @click="landHomesteadEditCancel">取消</div>
  1034. <div class="save" @click="landHomesteadEditSave">保存</div>
  1035. </div>
  1036. </div>
  1037. <!--农地农房选择-->
  1038. <div class="farmlandEditSwitch_wrap" v-show="farmlandEditSwitchVisbule">
  1039. <div class="mains">
  1040. <div class="close_btn" @click="farmlandEditFun"></div>
  1041. <div class="farmhouse" @click="addNewPlot('farmhouse')">
  1042. <div class="icons"></div>
  1043. <p class="names">农房</p>
  1044. </div>
  1045. <div class="farmland" @click="addNewPlot('land')">
  1046. <div class="icons"></div>
  1047. <p class="names">农地</p>
  1048. </div>
  1049. </div>
  1050. </div>
  1051. <!---查看大图-->
  1052. <van-overlay
  1053. :show="previewZoomImageVisbile"
  1054. @click="previewZoomImageFun"
  1055. class="previewZoomImage_wrap"
  1056. >
  1057. <div class="previewZoomImage_main">
  1058. <img :src="previewZoomImageValue" class="previewImg" />
  1059. </div>
  1060. </van-overlay>
  1061. </div>
  1062. </template>
  1063. <script>
  1064. import $ from "jquery";
  1065. import {
  1066. hcBottomSearch,
  1067. //commonUpload,
  1068. houseAdd,
  1069. landAdd,
  1070. treeselectByUser,
  1071. deptGetId,
  1072. houseEdit,
  1073. landEdit,
  1074. getLand,
  1075. getHouse,
  1076. currentLocation,
  1077. coordinatesUpdateGeo,
  1078. houseRemove,
  1079. landRemove,
  1080. } from "@/api/homestead/index";
  1081. import { uploadFileBase } from "../../api/authenticRight";
  1082. import request from "@/utils/request";
  1083. export default {
  1084. name: "homesteadLogin",
  1085. data() {
  1086. return {
  1087. //搜索
  1088. seachText: "",
  1089. selectionIconShow: false,
  1090. //省市区区级list
  1091. hcAreaInfoOption: [],
  1092. //省市区区级显示
  1093. villageVisbile: false,
  1094. //选中的值
  1095. villageValue: "",
  1096. //选中村相关信息
  1097. villageDataObj: {
  1098. deptName: "  ", //村名
  1099. },
  1100. hcAreaInfoFieldName: {
  1101. text: "label",
  1102. value: "value",
  1103. children: "children",
  1104. },
  1105. tGeoOrganization: {
  1106. orgCode: "",
  1107. },
  1108. // 待租列表显示
  1109. ishcBotton: false,
  1110. // 待租列表 类型 0 农房 1 农地
  1111. statusList: 0,
  1112. //待租列表 房
  1113. hcBottonHouseArr: [],
  1114. //待租列表 地
  1115. hcBottonLandArr: [],
  1116. //搜索栏目-操作栏显隐
  1117. searchBarOperVisbile: false,
  1118. //地图绘制状态
  1119. draw: {
  1120. drawMapPolygon: false, //绘制地图
  1121. },
  1122. //地图绘制坐标存储
  1123. coordinateList: "",
  1124. //判断新增还是编辑 0 新增 1编辑
  1125. currentType: 0,
  1126. //新建选择农房土地弹窗 显隐
  1127. farmlandEditSwitchVisbule: false, //false
  1128. //编辑房屋土地块高度
  1129. landHomesteadEditWrapHeight: 0,
  1130. //编辑房屋土地信息--显隐
  1131. landHomesteadEditVisbile: false,
  1132. //查看编辑房屋、土地--类型 0 农房 1 农地
  1133. farmhouseStatus: 0,
  1134. //新增农房日历显影
  1135. houseHomesteadEditcalendar: false,
  1136. //新增农地日历显影
  1137. landHomesteadEditcalendar: false,
  1138. //选择顺序
  1139. selectChooseOrder: 0,
  1140. //农地新增、修改保存数据
  1141. landInfoList: {
  1142. id: "", //String 是 主键id
  1143. orgCode: "", // String 否 行政区代码
  1144. cdm: "", // String 否 村代码
  1145. cm: "", //String 否 村名
  1146. xh: "", // String 否 序号
  1147. cbrmc: "", //String 否 承包人名称
  1148. syrmc: "", //String 否 使用人名称
  1149. nydlx: "", // String 否 农用地类型
  1150. mj: "", // String 否 面积
  1151. lzsynx: "", // String 否 流转剩余年限
  1152. lzhtjzrq: "", // String 否 日期
  1153. sfylzyx: "", // String 否 是否流转意向
  1154. xzqk: "", // String 否 现状情况
  1155. theGeom: "", //String 否 空间坐标
  1156. xzqkKey: "", // String 否 忽略
  1157. nydlxKey: "", // String 否 忽略
  1158. frontland: "", //String 否 图片前
  1159. behindland: "", //String 否 图片后
  1160. },
  1161. //农房新增、修改保存数据
  1162. houseInfoList: {
  1163. id: "", // String 是 主键id
  1164. orgCode: "", // String 否 行政区代码
  1165. cdm: "", // String 否 村代码
  1166. cm: "", // String 否 村名
  1167. xh: "", // String 否 序号
  1168. tdxz: "", //土地性质
  1169. fwsyrmc: "", // String 否 房屋所有人名称
  1170. fwsyqh: "", // String 否 房屋所有权证号
  1171. tdzh: "", // String 否 土地证号
  1172. jzmj: "", // String 否 建筑面积
  1173. tdmj: "", // String 否 土地面积
  1174. sfyspsx: "", // String 否 是否有审批手续
  1175. xzqk: "", // String 否 现状情况
  1176. theGeom: "", // String 否 空间坐标
  1177. xzqkKey: "", // String 否 忽略传null
  1178. tdxzKey: "", // String 否 忽略传null
  1179. frontHouse: "", // String 否 图片前
  1180. behindHouse: "", // String 否 图片后
  1181. dz: "", // String 否 地址
  1182. zlrxm: "", // String 否 租赁人姓名
  1183. zlhtjzrq: "", // 租赁合同截止日期
  1184. zlsynx: "", // 租赁剩余年限
  1185. xzfwsfylzy: "", // 闲置房屋是否有流转意愿
  1186. tdfl: "", // 集体/个人
  1187. },
  1188. //农地查看数据
  1189. landInfoLookList: {},
  1190. //农房查看数据
  1191. houseInfoLookList: {},
  1192. //农房 - 农房权属
  1193. tdxzOptions: [],
  1194. tdxzOptionsVibile: false, //农房 - 农房权属 -弹窗
  1195. tdxzOptionsValue: "", //农房 - 农房权属 值
  1196. //农房 - 房屋类型
  1197. fwdlxOptions: ["个人", "集体"],
  1198. fwdlxOptionsVibile: false, // 农地 -- 农用地类型--弹窗
  1199. //农房 - 现状情况
  1200. xzqkOptions: [],
  1201. xzqkOptionsVisbile: false, //农房 - 现状情况 弹窗
  1202. //农房 - 是否有流转
  1203. xfCirculationOptions: ["是", "否"],
  1204. xflzCirculationVisbile: false, //农房 - 是否有流转 弹窗
  1205. //农房 - 是否有审批
  1206. xfApprovalOptions: ["是", "否"],
  1207. xfCirculationVisbile: false, //农房 - 是否有审批 -弹窗
  1208. //农地 -- 现状情况
  1209. ndxzqkOptions: [],
  1210. ndxzqkOptionsVisbile: false,
  1211. //农地 -- 农用地类型
  1212. nydlxOptions: [],
  1213. nydlxOptionsVibile: false, // 农地 -- 农用地类型--弹窗
  1214. nydlxOptionsValue: "", // 农地 -- 农用地类型--值
  1215. //农地 -- 是否有流转意向
  1216. xdCirculationOptions: ["是", "否"],
  1217. xdlzCirculationVisbile: false, //农房 - 是否有流转 弹窗
  1218. //农房上传图片附件
  1219. //nfAddfileList: [],
  1220. //农房上传历史图片
  1221. nfAddfileListHistory: [],
  1222. //农房上传现状图片
  1223. nfAddfileListNow: [],
  1224. //农地上传图片附件
  1225. //ndAddfileList: [],
  1226. ndAddfileListHistory: [],
  1227. ndAddfileListNow: [],
  1228. // 当前是否地图点击状态
  1229. hasTable: false,
  1230. //查看农地\农房 显隐
  1231. landHomesteadDetailsVisibile: false,
  1232. windowHeight: 0,
  1233. //农房列表 显影
  1234. homesteadListStatus: false,
  1235. geoJson: "",
  1236. //放大预览图片弹窗
  1237. previewZoomImageVisbile: false,
  1238. previewZoomImageValue: "",
  1239. };
  1240. },
  1241. mounted() {
  1242. this.initAxios();
  1243. let windowHeight = document.documentElement.clientHeight;
  1244. this.windowHeight = windowHeight;
  1245. },
  1246. methods: {
  1247. previewZoomImageFun() {
  1248. this.previewZoomImageVisbile = false;
  1249. this.previewZoomImageValue = "";
  1250. },
  1251. //放大预览图片
  1252. previewZoomImage(imagesUrl) {
  1253. this.previewZoomImageVisbile = true;
  1254. this.previewZoomImageValue = imagesUrl;
  1255. console.log(imagesUrl);
  1256. },
  1257. //删除农地信息
  1258. deletefdInfo() {
  1259. this.$dialog
  1260. .confirm({
  1261. title: "确认执行删除操作?",
  1262. message: "删除后内容不可恢复",
  1263. })
  1264. .then(() => {
  1265. console.log(this.farmhouseStatus);
  1266. if (this.farmhouseStatus == 0) {
  1267. //农房
  1268. houseRemove(this.houseInfoList.id).then((res) => {
  1269. if (res.code == 200) {
  1270. this.hideEditNav();
  1271. this.tGeoOrganization.orgCode = this.houseInfoList.orgCode;
  1272. coordinatesUpdateGeo(this.tGeoOrganization).then((res) => {});
  1273. }
  1274. });
  1275. } else {
  1276. //农地
  1277. landRemove(this.landInfoList.id).then((res) => {
  1278. if (res.code == 200) {
  1279. this.hideEditNav();
  1280. this.tGeoOrganization.orgCode = this.landInfoList.orgCode;
  1281. coordinatesUpdateGeo(this.tGeoOrganization).then((res) => {});
  1282. }
  1283. });
  1284. }
  1285. })
  1286. .catch(() => {
  1287. // on cancel
  1288. });
  1289. },
  1290. //隐藏编辑农地状态
  1291. hideEditNav() {
  1292. this.hasTable = false;
  1293. if ($(".searchBar_wrap").css("bottom") != "0px") {
  1294. $(".landHomestead_wrap").css({ bottom: "0" });
  1295. $(".landHomestead_wrap").animate(
  1296. {
  1297. bottom: "-100%",
  1298. },
  1299. 300
  1300. );
  1301. $(".searchBar_wrap").css({ bottom: "-100%" });
  1302. $(".searchBar_wrap").animate(
  1303. {
  1304. bottom: "0",
  1305. },
  1306. 400
  1307. );
  1308. let searchBarWrapPadding = $(".searchBar_wrap")
  1309. .css("paddingTop")
  1310. .replace("px", "");
  1311. let searchBarWrapHeight = $(".searchBar_wrap").height();
  1312. $(".rightIcon_wrap").animate(
  1313. {
  1314. bottom: searchBarWrapHeight + searchBarWrapPadding * 2 + 10 + "px",
  1315. },
  1316. 200
  1317. );
  1318. }
  1319. },
  1320. //编辑农地信息
  1321. editnfdInfo(type) {
  1322. this.currentType = 1;
  1323. this.farmlandEditSwitchVisbuleFun("hide");
  1324. this.landHomesteadEditVisbileFun("show");
  1325. },
  1326. //显示农地\农房详情
  1327. houseLandLookInfo(type, status) {
  1328. if (type == "show") {
  1329. if (status == "house") {
  1330. $("#texiao_fang").val(this.houseInfoList.fwsyrmc);
  1331. $("#texiao_fang").trigger("click");
  1332. } else {
  1333. $("#texiao_di").val(this.landInfoList.syrmc);
  1334. $("#texiao_di").trigger("click");
  1335. }
  1336. this.houseLandLookAnmitFun("show");
  1337. } else {
  1338. this.houseLandLookAnmitFun("hide");
  1339. }
  1340. },
  1341. toggleSearch() {
  1342. $("#query").trigger("click");
  1343. },
  1344. //显示农地\农房详情 动画
  1345. houseLandLookAnmitFun(type) {
  1346. if (type == "show") {
  1347. this.landHomesteadDetailsVisibile = true;
  1348. $(".landHomesteadDetails_wrap").css({ bottom: "-100vh" });
  1349. $(".landHomesteadDetails_wrap").animate(
  1350. {
  1351. bottom: "0",
  1352. },
  1353. 300
  1354. );
  1355. } else {
  1356. $(".landHomesteadDetails_wrap").css({ bottom: "0" });
  1357. $(".landHomesteadDetails_wrap").animate(
  1358. {
  1359. bottom: "-100vh",
  1360. },
  1361. 300
  1362. );
  1363. setTimeout(() => {
  1364. this.landHomesteadDetailsVisibile = false;
  1365. }, 300);
  1366. }
  1367. },
  1368. //绘制多边形地图
  1369. drawMapPolygonFun() {
  1370. let drawMapPolygon = this.draw.drawMapPolygon;
  1371. if (drawMapPolygon == false) {
  1372. if (this.coordinateList == "") {
  1373. this.$set(this.draw, "drawMapPolygon", true);
  1374. $("#drawPolygon").trigger("click");
  1375. } else {
  1376. this.$dialog
  1377. .confirm({
  1378. title: "提示",
  1379. message: "是否重新绘制画图",
  1380. })
  1381. .then(() => {
  1382. // on confirm
  1383. this.coordinateList = "";
  1384. this.$set(this.draw, "drawMapPolygon", true);
  1385. $("#drawPolygon").trigger("click");
  1386. })
  1387. .catch(() => {
  1388. // on cancel
  1389. });
  1390. }
  1391. } else {
  1392. $("#drawRemove").trigger("click");
  1393. this.$set(this.draw, "drawMapPolygon", false);
  1394. }
  1395. },
  1396. //新建选择农房土地弹窗
  1397. farmlandEditSwitchFun() {
  1398. if (this.coordinateList == "") {
  1399. this.$toast("请先完成绘制");
  1400. return false;
  1401. }
  1402. this.currentType = 0;
  1403. this.farmlandEditSwitchVisbuleFun("show");
  1404. // this.searchBarOperVisbile = false;
  1405. },
  1406. //关闭选择农房土地
  1407. farmlandEditFun() {
  1408. this.farmlandEditSwitchVisbuleFun("hide");
  1409. //初始化地图
  1410. this.initDraw();
  1411. },
  1412. addNewPlot(type) {
  1413. this.farmlandEditSwitchVisbuleFun("hide");
  1414. this.landHomesteadEditVisbileFun("show");
  1415. //farmhouse农房 land农地
  1416. if (type == "farmhouse") {
  1417. this.farmhouseStatus = 0;
  1418. this.houseInfoList.behindHouse = null;
  1419. this.houseInfoList.frontHouse = null;
  1420. } else if (type == "land") {
  1421. this.landInfoList.frontland = null;
  1422. this.landInfoList.behindland = null;
  1423. this.farmhouseStatus = 1;
  1424. }
  1425. },
  1426. //新增地块 编辑页 显影
  1427. landHomesteadEditVisbileFun(type) {
  1428. if (type == "show") {
  1429. this.landHomesteadEditVisbile = true;
  1430. $(".landHomesteadEdit_wrap").css({ bottom: "-100vh" });
  1431. $(".landHomesteadEdit_wrap").animate(
  1432. {
  1433. bottom: "0",
  1434. },
  1435. 300
  1436. );
  1437. } else {
  1438. $(".landHomesteadEdit_wrap").css({ bottom: "0" });
  1439. $(".landHomesteadEdit_wrap").animate(
  1440. {
  1441. bottom: "-100vh",
  1442. },
  1443. 300
  1444. );
  1445. setTimeout(() => {
  1446. this.landHomesteadEditVisbile = false;
  1447. }, 300);
  1448. }
  1449. setTimeout(() => {
  1450. //新建土地、房屋高度
  1451. let landHomesteadEditWrap =
  1452. this.$refs.landHomesteadEditWrap.offsetHeight;
  1453. let landHomesteadEditWrapPdg = $(
  1454. ".landHomesteadEdit_wrap .content_mian"
  1455. )
  1456. .css("paddingTop")
  1457. .replace("px", "");
  1458. let landHomesteadEditWrapTitHei = $(
  1459. ".landHomesteadEdit_wrap .info_title"
  1460. )
  1461. .css("height")
  1462. .replace("px", "");
  1463. if (
  1464. landHomesteadEditWrap &&
  1465. landHomesteadEditWrapPdg &&
  1466. landHomesteadEditWrapTitHei
  1467. ) {
  1468. this.landHomesteadEditWrapHeight =
  1469. landHomesteadEditWrap -
  1470. landHomesteadEditWrapPdg * 2 -
  1471. landHomesteadEditWrapTitHei -
  1472. 10;
  1473. }
  1474. }, 301);
  1475. },
  1476. //选择农地 农房显影
  1477. farmlandEditSwitchVisbuleFun(type) {
  1478. if (type == "show") {
  1479. this.farmlandEditSwitchVisbule = true;
  1480. $(".farmlandEditSwitch_wrap").css({ opacity: "0" });
  1481. $(".farmlandEditSwitch_wrap").animate(
  1482. {
  1483. opacity: "1",
  1484. },
  1485. 300
  1486. );
  1487. } else {
  1488. $(".farmlandEditSwitch_wrap").css({ opacity: "1" });
  1489. $(".farmlandEditSwitch_wrap").animate(
  1490. {
  1491. opacity: "0",
  1492. },
  1493. 300
  1494. );
  1495. setTimeout(() => {
  1496. this.farmlandEditSwitchVisbule = false;
  1497. }, 300);
  1498. }
  1499. },
  1500. //新增地块 编辑页 取消
  1501. landHomesteadEditCancel() {
  1502. this.landHomesteadEditVisbileFun("hide");
  1503. //新增信息显示
  1504. if (this.currentType == 0) {
  1505. this.farmlandEditSwitchVisbuleFun("show");
  1506. }
  1507. },
  1508. //新增地块 编辑页 保存
  1509. landHomesteadEditSave() {
  1510. if (this.farmhouseStatus == 0) {
  1511. //农房
  1512. let houseInfoList = this.houseInfoList;
  1513. houseInfoList.theGeom = this.coordinateList;
  1514. houseInfoList.orgCode = this.villageDataObj.orgCode;
  1515. houseInfoList.cdm = this.villageDataObj.orgCode;
  1516. houseInfoList.cm = this.villageDataObj.deptName;
  1517. if (houseInfoList.xh == undefined || houseInfoList.xh == "") {
  1518. this.$toast("请填写农房编号");
  1519. return false;
  1520. } else if (
  1521. houseInfoList.fwsyrmc == undefined ||
  1522. houseInfoList.fwsyrmc == ""
  1523. ) {
  1524. this.$toast("请填写房屋所有人名称");
  1525. return false;
  1526. } else if (houseInfoList.dz == undefined || houseInfoList.dz == "") {
  1527. this.$toast("请填写地址");
  1528. return false;
  1529. } else if (
  1530. houseInfoList.tdxz == undefined ||
  1531. houseInfoList.tdxz == ""
  1532. ) {
  1533. this.$toast("请选择土地性质");
  1534. return false;
  1535. } else if (
  1536. houseInfoList.sfyspsx == undefined ||
  1537. houseInfoList.sfyspsx == ""
  1538. ) {
  1539. this.$toast("请选择是否有审批手续");
  1540. return false;
  1541. } else if (
  1542. houseInfoList.jzmj == undefined ||
  1543. houseInfoList.jzmj == ""
  1544. ) {
  1545. this.$toast("请填写建筑面积");
  1546. return false;
  1547. } else if (
  1548. houseInfoList.xzqk == undefined ||
  1549. houseInfoList.xzqk == ""
  1550. ) {
  1551. this.$toast("请选择现状情况");
  1552. return false;
  1553. } else if (
  1554. houseInfoList.fwsyqh == undefined ||
  1555. houseInfoList.fwsyqh == ""
  1556. ) {
  1557. this.$toast("请填写房屋所有权证号");
  1558. return false;
  1559. } else if (
  1560. houseInfoList.tdzh == undefined ||
  1561. houseInfoList.tdzh == ""
  1562. ) {
  1563. this.$toast("请填写土地证号");
  1564. return false;
  1565. } else if (
  1566. houseInfoList.tdmj == undefined ||
  1567. houseInfoList.tdmj == ""
  1568. ) {
  1569. this.$toast("请填写土地面积");
  1570. return false;
  1571. } else if (
  1572. houseInfoList.xzfwsfylzy == undefined ||
  1573. houseInfoList.xzfwsfylzy == ""
  1574. ) {
  1575. this.$toast("请选择是否有流转意愿");
  1576. return false;
  1577. } else if (
  1578. houseInfoList.tdfl == undefined ||
  1579. houseInfoList.tdfl == ""
  1580. ) {
  1581. this.$toast("请选择房屋类型");
  1582. return false;
  1583. }
  1584. //新增
  1585. if (this.currentType == 0) {
  1586. if (houseInfoList.theGeom == "") {
  1587. this.$toast("请选择地图坐标");
  1588. return false;
  1589. }
  1590. this.$dialog
  1591. .confirm({
  1592. title: "新建农房信息",
  1593. message: "是否保存信息或修改信息",
  1594. })
  1595. .then(() => {
  1596. // on confirm
  1597. houseInfoList.theGeom = "[" + houseInfoList.theGeom + "]";
  1598. //houseInfoList.frontHouse = location.protocol+"//"+location.host+request.defaults.baseURL+ this.houseInfoList.frontHouse;
  1599. console.log("地址" + houseInfoList.frontHouse);
  1600. console.log("地址" + houseInfoList.behindHouse);
  1601. houseAdd(houseInfoList).then((res) => {
  1602. if (res.code == 200) {
  1603. this.landHomesteadEditVisbileFun("hide");
  1604. //新增
  1605. this.$toast("新建农房信息成功");
  1606. this.initDraw();
  1607. $("#drawRemove").trigger("click");
  1608. $("#drawReset").trigger("click");
  1609. this.coordinateList = "";
  1610. // getHouse(houseInfoList.id).then((res) => {
  1611. // if (res.code == 200) {
  1612. // this.farmhouseStatus=0;
  1613. // this.houseInfoList.frontHouse =res.data.frontHouse;
  1614. // this.houseInfoList.behindHouse =res.data.behindHouse;
  1615. // }
  1616. // })
  1617. this.switchLoad();
  1618. this.tGeoOrganization.orgCode = houseInfoList.orgCode;
  1619. coordinatesUpdateGeo(this.tGeoOrganization).then((res) => {});
  1620. }
  1621. });
  1622. })
  1623. .catch(() => {
  1624. // on cancel
  1625. });
  1626. } else {
  1627. this.$dialog
  1628. .confirm({
  1629. title: "修改农房信息",
  1630. message: "是否保存信息或修改信息",
  1631. })
  1632. .then(() => {
  1633. // on confirm
  1634. //houseInfoList.frontHouse = location.protocol+"//"+location.host+request.defaults.baseURL+ this.houseInfoList.frontHouse;
  1635. console.log("修改地址" + houseInfoList.frontHouse);
  1636. houseInfoList.behindHouse = this.houseInfoList.behindHouse;
  1637. console.log("修改地址" + houseInfoList.behindHouse);
  1638. houseEdit(houseInfoList).then((res) => {
  1639. if (res.code == 200) {
  1640. this.landHomesteadEditVisbileFun("hide");
  1641. this.$toast("修改农房信息成功");
  1642. getHouse(houseInfoList.id).then((res) => {
  1643. if (res.code == 200) {
  1644. this.farmhouseStatus = 0;
  1645. this.houseInfoList.frontHouse = res.data.frontHouse;
  1646. this.houseInfoList.behindHouse = res.data.behindHouse;
  1647. }
  1648. });
  1649. this.houseInfoLookList = this.houseInfoList;
  1650. // this.initDraw();
  1651. $("#drawRemove").trigger("click");
  1652. $("#drawReset").trigger("click");
  1653. this.coordinateList = "";
  1654. }
  1655. });
  1656. })
  1657. .catch(() => {
  1658. // on cancel
  1659. });
  1660. //编辑
  1661. }
  1662. } else if (this.farmhouseStatus == 1) {
  1663. // orgCode: "", // String 否 行政区代码
  1664. // cdm: "", // String 否 村代码
  1665. // cm: "", //String 否 村名
  1666. //农地
  1667. let landInfoList = this.landInfoList;
  1668. landInfoList.theGeom = this.coordinateList;
  1669. landInfoList.orgCode = this.villageDataObj.orgCode;
  1670. landInfoList.cdm = this.villageDataObj.orgCode;
  1671. landInfoList.cm = this.villageDataObj.deptName;
  1672. if (landInfoList.xh == undefined || landInfoList.xh == "") {
  1673. this.$toast("请填写农地编号");
  1674. return false;
  1675. } else if (
  1676. landInfoList.syrmc == undefined ||
  1677. landInfoList.syrmc == ""
  1678. ) {
  1679. this.$toast("请填写农地使用人名称");
  1680. return false;
  1681. } else if (landInfoList.xzqk == undefined || landInfoList.xzqk == "") {
  1682. this.$toast("请填写现状情况");
  1683. return false;
  1684. } else if (
  1685. landInfoList.nydlx == undefined ||
  1686. landInfoList.nydlx == ""
  1687. ) {
  1688. this.$toast("请选择农用地类型");
  1689. return false;
  1690. } else if (landInfoList.mj == undefined || landInfoList.mj == "") {
  1691. this.$toast("请填写土地面积");
  1692. return false;
  1693. } else if (
  1694. landInfoList.sfylzyx == undefined ||
  1695. landInfoList.sfylzyx == ""
  1696. ) {
  1697. this.$toast("请选择是否流转意向");
  1698. return false;
  1699. }
  1700. //新增
  1701. if (this.currentType == 0) {
  1702. if (landInfoList.theGeom == "") {
  1703. this.$toast("请选择空间坐标");
  1704. return false;
  1705. }
  1706. this.$dialog
  1707. .confirm({
  1708. title: "新建农地信息",
  1709. message: "是否保存信息或修改信息",
  1710. })
  1711. .then(() => {
  1712. // on confirm
  1713. landInfoList.theGeom = "[" + landInfoList.theGeom + "]";
  1714. //landInfoList.frontland = location.protocol+"//"+location.host+request.defaults.baseURL+ this.landInfoList.frontland;
  1715. //console.log("修改新增"+landInfoList.frontland)
  1716. landAdd(landInfoList).then((res) => {
  1717. if (res.code == 200) {
  1718. this.landHomesteadEditVisbileFun("hide");
  1719. //新增
  1720. this.initDraw();
  1721. $("#drawRemove").trigger("click");
  1722. $("#drawReset").trigger("click");
  1723. this.coordinateList = "";
  1724. this.$toast("新建农地信息成功");
  1725. //查询图层
  1726. // if(landInfoList.id !=null && landInfoList.id != ""){
  1727. // console.log(landInfoList.id );
  1728. // getLand(landInfoList.id).then((res) => {
  1729. // console.log(res);
  1730. // console.log(res.data.frontland);
  1731. // if (res.code == 200) {
  1732. // this.farmhouseStatus=1;
  1733. // this.landInfoList.frontland =res.data.frontland;
  1734. // this.landInfoList.behindland =res.data.behindland;
  1735. // }
  1736. // })
  1737. // }
  1738. //列表更新
  1739. this.switchLoad();
  1740. this.tGeoOrganization.orgCode = landInfoList.orgCode;
  1741. coordinatesUpdateGeo(this.tGeoOrganization).then((res) => {});
  1742. }
  1743. });
  1744. })
  1745. .catch(() => {
  1746. // on cancel
  1747. });
  1748. } else {
  1749. this.$dialog
  1750. .confirm({
  1751. title: "修改农地信息",
  1752. message: "是否保存信息或修改信息",
  1753. })
  1754. .then(() => {
  1755. // on confirm
  1756. //landInfoList.frontland = location.protocol+"//"+location.host+request.defaults.baseURL+ this.landInfoList.frontland;
  1757. console.log("修改农地" + landInfoList.frontland);
  1758. landEdit(landInfoList).then((res) => {
  1759. if (res.code == 200) {
  1760. this.landHomesteadEditVisbileFun("hide");
  1761. this.$toast("修改农地信息成功");
  1762. //this.initDraw();
  1763. getLand(landInfoList.id).then((res) => {
  1764. if (res.code == 200) {
  1765. this.farmhouseStatus = 1;
  1766. this.landInfoList.frontland = res.data.frontland;
  1767. this.landInfoList.behindland = res.data.behindland;
  1768. }
  1769. });
  1770. this.landInfoLookList = this.landInfoList;
  1771. $("#drawRemove").trigger("click");
  1772. $("#drawReset").trigger("click");
  1773. this.coordinateList = "";
  1774. }
  1775. });
  1776. })
  1777. .catch(() => {
  1778. // on cancel
  1779. });
  1780. }
  1781. }
  1782. //保存成功触发
  1783. },
  1784. landHomesteadEdConfirm(value) {
  1785. //农地
  1786. this.landHomesteadEditcalendar = false;
  1787. this.landInfoList.lzhtjzrq = this.getDate(new Date(value));
  1788. },
  1789. houseHomesteadEdConfirm(value) {
  1790. //农房
  1791. this.houseHomesteadEditcalendar = false;
  1792. this.houseInfoList.zlhtjzrq = this.getDate(new Date(value));
  1793. },
  1794. getDate(date) {
  1795. //date是传过来的时间戳,注意需为13位,10位需*1000
  1796. //也可以不传,获取的就是当前时间
  1797. var time = new Date(date);
  1798. var year = time.getFullYear(); //年
  1799. var month = ("0" + (time.getMonth() + 1)).slice(-2); //月
  1800. var day = ("0" + time.getDate()).slice(-2); //日
  1801. var mydate = year + "-" + month + "-" + day;
  1802. return mydate;
  1803. },
  1804. //初始化绘制
  1805. initDraw() {
  1806. //清除数据
  1807. // $("#drawRemove").trigger("click");
  1808. // $("#drawReset").trigger("click");
  1809. // this.coordinateList = "";
  1810. //农地数据初始化
  1811. this.landInfoList = {
  1812. id: "", //String 是 主键id
  1813. orgCode: "", // String 否 行政区代码
  1814. cdm: "", // String 否 村代码
  1815. cm: "", //String 否 村名
  1816. xh: "", // String 否 序号
  1817. cbrmc: "", //String 否 承包人名称
  1818. syrmc: "", //String 否 使用人名称
  1819. nydlx: "", // String 否 农用地类型
  1820. mj: "", // String 否 面积
  1821. lzsynx: "", // String 否 流转剩余年限
  1822. zlhtjzrq: "", // String 否 日期
  1823. sfylzyx: "", // String 否 是否流转意向
  1824. xzqk: "", // String 否 现状情况
  1825. theGeom: "", //String 否 空间坐标
  1826. xzqkKey: "", // String 否 忽略
  1827. nydlxKey: "", // String 否 忽略
  1828. frontland: "", //String 否 图片前
  1829. behindland: "", //String 否 图片后
  1830. };
  1831. //农房数据初始化
  1832. this.houseInfoList = {
  1833. id: "", // String 是 主键id
  1834. orgCode: "", // String 否 行政区代码
  1835. cdm: "", // String 否 村代码
  1836. cm: "", // String 否 村名
  1837. xh: "", // String 否 序号
  1838. tdxz: "", //土地性质
  1839. fwsyrmc: "", // String 否 房屋所有人名称
  1840. fwsyqh: "", // String 否 房屋所有权证号
  1841. tdzh: "", // String 否 土地证号
  1842. jzmj: "", // String 否 建筑面积
  1843. tdmj: "", // String 否 土地面积
  1844. sfyspsx: "", // String 否 是否有审批手续
  1845. xzqk: "", // String 否 现状情况
  1846. theGeom: "", // String 否 空间坐标
  1847. xzqkKey: "", // String 否 忽略传null
  1848. tdxzKey: "", // String 否 忽略传null
  1849. frontHouse: "", // String 否 图片前
  1850. behindHouse: "", // String 否 图片后
  1851. dz: "", // String 否 地址
  1852. zlrxm: "", // String 否 租赁人姓名
  1853. zlhtjzrq: "", // 租赁合同截止日期
  1854. zlsynx: "", // 租赁剩余年限
  1855. xzfwsfylzy: "", // 闲置房屋是否有流转意愿
  1856. tdfl: "", // 集体/个人
  1857. };
  1858. //农房上传图片附件
  1859. this.nfAddfileListHistory = [];
  1860. this.nfAddfileListNow = [];
  1861. //农地上传图片附件
  1862. this.ndAddfileListHistory = [];
  1863. this.ndAddfileListNow = [];
  1864. //隐藏下方绘制地图操作栏
  1865. this.searchBarOperVisbile = false;
  1866. this.draw.drawMapPolygon = false; //绘制地图
  1867. },
  1868. initAxios() {
  1869. //获取区镇村
  1870. this.mapAreaSelectValue();
  1871. //农房---字典项
  1872. this.nfDictionary();
  1873. //农地---字典项
  1874. this.ndDictionary();
  1875. },
  1876. nfDictionary() {
  1877. //农房权属
  1878. this.getDicts("build_land_type").then((response) => {
  1879. this.tdxzOptions = response.data;
  1880. });
  1881. //农房情况
  1882. this.getDicts("geo_hc_house").then((response) => {
  1883. this.xzqkOptions = response.data;
  1884. });
  1885. },
  1886. ndDictionary() {
  1887. //农用地类型
  1888. this.getDicts("sub_object_type").then((response) => {
  1889. this.nydlxOptions = response.data;
  1890. });
  1891. //现状情况
  1892. this.getDicts("geo_hc_land").then((response) => {
  1893. this.ndxzqkOptions = response.data;
  1894. });
  1895. },
  1896. styleSteup() {
  1897. let smallTop = this.$refs.sliderSmall.getBoundingClientRect().top;
  1898. let smallLeft = this.$refs.sliderSmall.getBoundingClientRect().left;
  1899. $(".ol-zoom-out").css({
  1900. position: "absolute",
  1901. left: smallLeft + "px",
  1902. top: smallTop + "px",
  1903. width: "40px",
  1904. height: "26px",
  1905. zIndex: "999999",
  1906. cursor: "pointer",
  1907. opacity: "0",
  1908. });
  1909. $(".ol-overlaycontainer-stopevent").css({
  1910. zIndex: 9999,
  1911. });
  1912. let bigTop = this.$refs.sliderBig.getBoundingClientRect().top;
  1913. let bigLeft = this.$refs.sliderBig.getBoundingClientRect().left;
  1914. $(".ol-zoom-in").css({
  1915. position: "absolute",
  1916. left: bigLeft + "px",
  1917. top: bigTop + "px",
  1918. width: "40px",
  1919. height: "26px",
  1920. zIndex: "1005",
  1921. cursor: "pointer",
  1922. opacity: "0",
  1923. });
  1924. $(".ol-hidden ,.ol-collapsed").hide();
  1925. },
  1926. switchLoad() {
  1927. let objData = {
  1928. orgCode: this.villageDataObj.orgCode,
  1929. statusList: "1,2,3,4,5,6,7,8",
  1930. };
  1931. // //右侧详情农房农地列表
  1932. hcBottomSearch(objData).then((res) => {
  1933. let content = res.data;
  1934. //房
  1935. let houseArr = [];
  1936. let landArr = [];
  1937. //地
  1938. content.forEach((v, i) => {
  1939. if (v.type == "house") {
  1940. houseArr.push({
  1941. geo: v.geo,
  1942. mj: v.mj,
  1943. name: v.name,
  1944. type: v.type,
  1945. xh: v.xh,
  1946. xzqk: v.xzqk,
  1947. });
  1948. } else {
  1949. landArr.push({
  1950. geo: v.geo,
  1951. mj: v.mj,
  1952. name: v.name,
  1953. type: v.type,
  1954. xh: v.xh,
  1955. xzqk: v.xzqk,
  1956. });
  1957. }
  1958. });
  1959. this.hcBottonHouseArr = houseArr;
  1960. this.hcBottonLandArr = landArr;
  1961. this.ishcBotton = true;
  1962. });
  1963. },
  1964. mapAreaSelectValue() {
  1965. treeselectByUser().then((res) => {
  1966. if (res.code == 200) {
  1967. let content = res.data;
  1968. this.hcAreaInfoOption = content;
  1969. let currDeptId; //;= "169"
  1970. if (content[0].children && content[0].children.length != 0) {
  1971. if (
  1972. content[0].children[0].children &&
  1973. content[0].children[0].children.length != 0
  1974. ) {
  1975. if (
  1976. content[0].children[0].children[0].children &&
  1977. content[0].children[0].children[0].children.length != 0
  1978. ) {
  1979. currDeptId =
  1980. content[0].children[0].children[0].children[0].value;
  1981. } else {
  1982. currDeptId = content[0].children[0].children[0].value;
  1983. }
  1984. } else {
  1985. currDeptId = content[0].children[0].value;
  1986. }
  1987. } else {
  1988. currDeptId = content[0].value;
  1989. }
  1990. // console.log(currDeptId);
  1991. currentLocation().then((res) => {
  1992. if (res.code == 200) {
  1993. let content = res.data;
  1994. this.geoJson = content.geoJson;
  1995. //获取村详细信息
  1996. this.deptGetFun(currDeptId);
  1997. //获取地图
  1998. this.mapBackground();
  1999. //设置缩放按钮位置
  2000. this.styleSteup();
  2001. }
  2002. });
  2003. }
  2004. });
  2005. },
  2006. //选择村
  2007. hcAreaInfoFinish({ value, selectedOptions, tabIndex }) {
  2008. this.deptGetFun(value);
  2009. },
  2010. //通过deptId获取经纬度
  2011. deptGetFun(value) {
  2012. deptGetId(value).then((res) => {
  2013. this.villageVisbile = false;
  2014. let content = res.data;
  2015. this.villageDataObj = content;
  2016. this.initDraw();
  2017. $("#cun").trigger("change");
  2018. this.switchLoad();
  2019. });
  2020. },
  2021. searchBarOperFun(statue) {
  2022. if (statue == "true") {
  2023. this.searchBarOperVisbile = true;
  2024. } else {
  2025. this.searchBarOperVisbile = false;
  2026. //初始化绘制
  2027. // this.coordinateList = "";
  2028. this.initDraw();
  2029. }
  2030. },
  2031. /*右侧列表 --展开收缩*/
  2032. selectionPush() {
  2033. this.selectionIconShow = true;
  2034. this.homesteadListStatus = true;
  2035. $(".homesteadList_wrap").animate(
  2036. {
  2037. right: "0",
  2038. },
  2039. 300
  2040. );
  2041. },
  2042. homesteadListShrink() {
  2043. this.selectionIconShow = false;
  2044. $(".homesteadList_wrap").animate(
  2045. {
  2046. right: "-300px",
  2047. },
  2048. 300
  2049. );
  2050. setTimeout(() => {
  2051. this.homesteadListStatus = false;
  2052. }, 300);
  2053. },
  2054. villageVisbileFun() {
  2055. this.villageVisbile = true;
  2056. },
  2057. housingTypes(type) {
  2058. // if (type == "0") {
  2059. this.statusList = type;
  2060. this.selectChooseOrder = 0;
  2061. },
  2062. housingSerial(item, index) {
  2063. this.selectChooseOrder = index;
  2064. if (item.type == "house") {
  2065. $("#texiao_fang").val(item.name);
  2066. $("#texiao_fang").trigger("click");
  2067. } else {
  2068. $("#texiao_di").val(item.name);
  2069. $("#texiao_di").trigger("click");
  2070. }
  2071. },
  2072. //关闭选择地址弹窗
  2073. hcAreaInfoClose() {
  2074. this.villageVisbile = false;
  2075. },
  2076. //加载地图
  2077. mapBackground() {
  2078. let _this = this;
  2079. var projection = new ol.proj.Projection({
  2080. //地图投影类型
  2081. code: "EPSG:3857",
  2082. units: "degrees",
  2083. //extent:extent
  2084. });
  2085. //影像图 -----------------------------start
  2086. var attributions =
  2087. '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
  2088. '<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
  2089. var aerial = new ol.layer.Tile({
  2090. source: new ol.source.XYZ({
  2091. attributions: attributions,
  2092. url: "http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067",
  2093. }),
  2094. isGroup: true,
  2095. visible: true,
  2096. name: "天地图路网-卫星影像图",
  2097. });
  2098. var map = new ol.Map({
  2099. layers: [aerial],
  2100. //layers: [newwms],
  2101. projection: projection,
  2102. target: "mapWrap",
  2103. view: new ol.View({
  2104. center: ol.proj.fromLonLat([122.145662, 37.369575]),
  2105. zoom: 10.2,
  2106. minZoom: 10, //地图缩小限制
  2107. maxZoom: 18.9, //地图放大限制
  2108. }),
  2109. });
  2110. //地图属性定义
  2111. var nongZt = ["house", "land"];
  2112. var texiao_layer_fang;
  2113. var texiao_layer_di;
  2114. var delete_map = ["mapHouse", "mapLand"];
  2115. //业务图层 wfs服务 属性查询开始 ------------------start
  2116. /**
  2117. * @api wfs服务空间查询
  2118. * @param {*} wfsurl
  2119. * @param {*} srsName
  2120. * @param {*} typeName
  2121. * @param {*} drawType
  2122. * @param {option 可选} geometryField
  2123. */
  2124. var wmsSource = new ol.source.TileWMS({
  2125. //url: 'http://192.168.31.150:8888/geoserver/mywork_mysql/wms',
  2126. url: "http://116.255.135.38:8080/geoserver/nsgk_hc/wms",
  2127. //url: 'http://localhost:8888/geoserver/mywork_mysql/wms',
  2128. params: {
  2129. LAYERS: "nsgk_hc:nsgk_hc_all",
  2130. //'LAYERS': 'mywork_mysql:t_geo_hc_land',
  2131. TILED: true,
  2132. SRID: 3857,
  2133. serverType: "geoserver",
  2134. crossOrigin: "anonymous",
  2135. },
  2136. });
  2137. map.on("pointermove", function (evt) {
  2138. if (evt.dragging) {
  2139. return;
  2140. }
  2141. var pixel = map.getEventPixel(evt.originalEvent);
  2142. var hit = map.forEachLayerAtPixel(pixel, function () {
  2143. return true;
  2144. });
  2145. map.getTargetElement().style.cursor = hit ? "pointer" : "";
  2146. });
  2147. //属性查询结束 ------------------end
  2148. var shitu;
  2149. require(["@/assets/maps/plotPremises_" + _this.geoJson], function (data) {
  2150. shitu = new ol.layer.Vector({
  2151. title: "add Layer",
  2152. source: new ol.source.Vector({
  2153. projection: projection,
  2154. // url: "http://116.255.135.38:8081/nsgk_test/profile/geojson/huancui.json", //GeoJSON的文件路径,用户可以根据需求而改变
  2155. // format: new ol.format.GeoJSON(),
  2156. features: new ol.format.GeoJSON().readFeatures(data),
  2157. }),
  2158. style: new ol.style.Style({
  2159. fill: new ol.style.Fill({
  2160. //矢量图层填充颜色,以及透明度
  2161. color: "rgba(0,0,0,0)",
  2162. }),
  2163. stroke: new ol.style.Stroke({
  2164. //边界样式
  2165. color: "#47c68f",
  2166. width: 3,
  2167. }),
  2168. }),
  2169. });
  2170. // console.log(shitu);
  2171. map.addLayer(shitu);
  2172. });
  2173. var huancui_zhen;
  2174. require(["@/assets/maps/qu_" + _this.geoJson], function (data) {
  2175. huancui_zhen = new ol.layer.Vector({
  2176. title: "add huancui_zhen",
  2177. source: new ol.source.Vector({
  2178. projection: projection,
  2179. features: new ol.format.GeoJSON().readFeatures(data),
  2180. }),
  2181. style: new ol.style.Style({
  2182. fill: new ol.style.Fill({
  2183. //矢量图层填充颜色,以及透明度
  2184. color: "rgba(27,50,56,0.8)",
  2185. }),
  2186. }),
  2187. });
  2188. map.addLayer(huancui_zhen);
  2189. });
  2190. // var shitu = new ol.layer.Vector({
  2191. // title: "add Layer",
  2192. // source: new ol.source.Vector({
  2193. // projection: projection,
  2194. // url: "http://116.255.135.38:8081/nsgk_test/profile/geojson/huancui.json", //GeoJSON的文件路径,用户可以根据需求而改变
  2195. // format: new ol.format.GeoJSON(),
  2196. // }),
  2197. // style: new ol.style.Style({
  2198. // fill: new ol.style.Fill({
  2199. // //矢量图层填充颜色,以及透明度
  2200. // color: "rgba(0,0,0,0)",
  2201. // }),
  2202. // stroke: new ol.style.Stroke({
  2203. // //边界样式
  2204. // color: "#47c68f",
  2205. // width: 3,
  2206. // }),
  2207. // }),
  2208. // });
  2209. // map.addLayer(shitu);
  2210. // var huancui_zhen = new ol.layer.Vector({
  2211. // title: "add huancui_zhen",
  2212. // source: new ol.source.Vector({
  2213. // projection: projection,
  2214. // url: "http://116.255.135.38:8081/nsgk_test/profile/geojson/huancui_zhen.json", //GeoJSON的文件路径,用户可以根据需求而改变
  2215. // format: new ol.format.GeoJSON(),
  2216. // }),
  2217. // style: new ol.style.Style({
  2218. // fill: new ol.style.Fill({
  2219. // //矢量图层填充颜色,以及透明度
  2220. // color: "rgba(27,50,56,0.8)",
  2221. // }),
  2222. // }),
  2223. // });
  2224. // map.addLayer(huancui_zhen);
  2225. ///-----------乡---------------------------------------------------------------------------------------------------------
  2226. var villageVectorLayer; //村标记
  2227. async function villageDiagram() {
  2228. villageDataFun(_this.villageDataObj);
  2229. }
  2230. //村数据处理
  2231. function villageDataFun(villageMapData) {
  2232. let arrDatas = [];
  2233. // for (let i = 0; i < villageMapData.length; i++) {
  2234. let varName = "iconFeature0";
  2235. window[varName] = new ol.Feature({
  2236. geometry: new ol.geom.Point(
  2237. ol.proj.fromLonLat([villageMapData.lng, villageMapData.lat])
  2238. ),
  2239. name:
  2240. villageMapData.name == undefined
  2241. ? villageMapData.deptName
  2242. : villageMapData.name, //名称属性
  2243. orgCode: villageMapData.orgCode, //人口数(万)
  2244. lat: villageMapData.lat,
  2245. lng: villageMapData.lng,
  2246. type: "村",
  2247. zhenOrgCode: villageMapData.zhenOrgCode,
  2248. });
  2249. window[varName].setStyle(visCreateLabelStyle(window[varName]));
  2250. arrDatas.push(window[varName]);
  2251. // }
  2252. var vectorSource = new ol.source.Vector({
  2253. features: arrDatas,
  2254. });
  2255. // //矢量标注图层
  2256. villageVectorLayer = new ol.layer.Vector({
  2257. source: vectorSource,
  2258. });
  2259. map.addLayer(villageVectorLayer);
  2260. }
  2261. //矢量标注样式设置函数,设置image为图标ol.style.Icon
  2262. function visCreateLabelStyle(feature) {
  2263. return new ol.style.Style({
  2264. image: new ol.style.Icon({
  2265. //设置图标偏移
  2266. anchor: [0.5, 1],
  2267. //标注样式的起点位置
  2268. anchorOrigin: "top-right",
  2269. //X方向单位:分数
  2270. anchorXUnits: "fraction",
  2271. //Y方向单位:像素
  2272. anchorYUnits: "pixels",
  2273. //偏移起点位置的方向
  2274. offsetOrigin: "top-right",
  2275. //透明度
  2276. opacity: 0.9,
  2277. //图片路径
  2278. //src: 'images/map.png'
  2279. src: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
  2280. }),
  2281. text: new ol.style.Text({
  2282. textAlign: "center", //位置
  2283. textBaseline: "bottom", //基准线
  2284. font: "normal 12px 微软雅黑", //文字样式
  2285. text: feature.get("name"), //文本内容
  2286. fill: new ol.style.Fill({
  2287. //文本填充样式(即文字颜色)
  2288. color: "#ffffff",
  2289. }),
  2290. }),
  2291. zIndex: 9999,
  2292. });
  2293. }
  2294. // map.on("moveend", function (evt) {
  2295. // var zoom = map.getView().getZoom();
  2296. // if (zoom < 13) {
  2297. // if (villageVectorLayer != undefined) {
  2298. // map.removeLayer(villageVectorLayer);
  2299. // map.removeLayer(shitu);
  2300. // map.addLayer(shitu);
  2301. // map.removeLayer(townVectorLayer);
  2302. // townDiagram();
  2303. // }
  2304. // }
  2305. // });
  2306. map.on("singleclick", function (evt) {
  2307. let feature = map.forEachFeatureAtPixel(
  2308. evt.pixel,
  2309. (feature) => feature
  2310. );
  2311. if (feature) {
  2312. }
  2313. document.getElementById("info").innerHTML = "";
  2314. var viewResolution = map.getView().getResolution(); ///** @type {number} */ (view.getResolution());
  2315. var zb = evt.coordinate;
  2316. var url = wmsSource.getFeatureInfoUrl(
  2317. evt.coordinate,
  2318. viewResolution,
  2319. "EPSG:3857",
  2320. { INFO_FORMAT: "text/html" }
  2321. );
  2322. if (url) {
  2323. fetch(url)
  2324. .then(function (response) {
  2325. return response.text();
  2326. })
  2327. .then(function (html) {
  2328. //农房上传图片附件
  2329. _this.nfAddfileListHistory = [];
  2330. _this.nfAddfileListNow = [];
  2331. //农地上传图片附件
  2332. _this.ndAddfileListHistory = [];
  2333. _this.ndAddfileListNow = [];
  2334. if (html.indexOf("<table") != -1) {
  2335. setTimeout(() => {
  2336. map.removeLayer(texiao_layer_fang);
  2337. map.removeLayer(texiao_layer_di);
  2338. //特效动画实现 -----------------------------start
  2339. texiao_layer_fang = new ol.layer.Vector({
  2340. source: new ol.source.Vector(),
  2341. });
  2342. map.addLayer(texiao_layer_fang);
  2343. var deptmap = [zb[0], zb[1]];
  2344. //var center = ol.extent.getCenter(deptmap); //获取边界区域的中心位置
  2345. var circle = new ol.Feature({
  2346. geometry: new ol.geom.Point(deptmap), //ol.proj.transform([104, 30], 'EPSG:4326', 'EPSG:3857') //投影坐标转为地理坐标
  2347. });
  2348. //var out =new ol.coordinate.Coordinate(datamap);
  2349. //var extent = ol.extent.boundingExtent(feature.getGeometry().getCoordinates()[datamap]); //获取一个坐标数组的边界,格式为[minx,miny,maxx,maxy]
  2350. //var center = ol.extent.getCenter(extent); //获取边界区域的中心位置
  2351. //map.getView().setCenter(center); //设置当前地图的显示中心位置
  2352. circle.setStyle(
  2353. new ol.style.Style({
  2354. image: new ol.style.Circle({
  2355. radius: 0,
  2356. stroke: new ol.style.Stroke({
  2357. color: "yellow",
  2358. size: 1,
  2359. }),
  2360. }),
  2361. })
  2362. );
  2363. texiao_layer_fang.getSource().addFeature(circle);
  2364. // 关键的地方在此:监听postcompose事件,在里面重新设置circle的样式
  2365. var radius = 0;
  2366. map.on("postcompose", function () {
  2367. // 增大半径,最大20
  2368. radius++;
  2369. radius = radius % 10;
  2370. // 设置样式
  2371. circle.setStyle(
  2372. new ol.style.Style({
  2373. image: new ol.style.Circle({
  2374. radius: radius,
  2375. stroke: new ol.style.Stroke({
  2376. color: "yellow",
  2377. size: 1,
  2378. }),
  2379. }),
  2380. })
  2381. );
  2382. });
  2383. //特效动画实现 -----------------------------end
  2384. _this.hasTable = true;
  2385. document.getElementById("info").innerHTML = html;
  2386. if (html.indexOf("house") != -1) {
  2387. //农房
  2388. _this.farmhouseStatus = 0;
  2389. let obj = {};
  2390. let trs = $("#info .featureInfo").find("tr:eq(1)");
  2391. let zjId = trs.find("td").eq(0).text();
  2392. let zjIdNum = zjId.replace("t_geo_hc_house.", "");
  2393. obj.id = zjIdNum; // 主键id
  2394. obj.fwsyrmc = trs.find("td").eq(1).text(); //房屋所有人名称
  2395. obj.cm = trs.find("td").eq(2).text(); //村名
  2396. obj.cdm = trs.find("td").eq(3).text(); //村代码
  2397. obj.dz = trs.find("td").eq(4).text(); //地址
  2398. obj.sfyspsx = trs.find("td").eq(5).text(); //是否有审批手续
  2399. obj.fwsyqh = trs.find("td").eq(6).text(); //房屋所有权证号
  2400. obj.jzmj = trs.find("td").eq(7).text(); //建筑面积
  2401. obj.tdzh = trs.find("td").eq(8).text(); //建筑面积
  2402. obj.tdxz = trs.find("td").eq(9).text(); //土地性质
  2403. obj.tdmj = trs.find("td").eq(10).text(); //土地面积
  2404. obj.xzqk = trs.find("td").eq(11).text(); //现状情况
  2405. obj.zlrxm = trs.find("td").eq(12).text(); //租赁人姓名
  2406. obj.zlhtjzrq = trs.find("td").eq(13).text(); //租赁合同截止日期
  2407. obj.zlsynx = trs.find("td").eq(14).text(); //租赁剩余年限
  2408. obj.xzfwsfylzy = trs.find("td").eq(15).text(); //闲置房屋是否有流转意愿
  2409. obj.xh = trs.find("td").eq(16).text(); //农房编号
  2410. obj.orgCode = trs.find("td").eq(20).text(); //行政区代码
  2411. obj.tdfl = trs.find("td").eq(23).text(); //集体/个人
  2412. obj.frontHouse = trs.find("td").eq(24).text(); //图片前
  2413. obj.behindHouse = trs.find("td").eq(25).text(); //图片后
  2414. let cloneObj = JSON.parse(JSON.stringify(obj));
  2415. _this.houseInfoList = cloneObj;
  2416. // _this.houseInfoList.frontland = "";
  2417. // _this.houseInfoList.behindland = "";
  2418. _this.houseInfoLookList = obj;
  2419. } else {
  2420. _this.farmhouseStatus = 1;
  2421. //农地
  2422. let obj = {};
  2423. let trs = $("#info .featureInfo").find("tr:eq(1)");
  2424. let zjId = trs.find("td").eq(0).text();
  2425. let zjIdNum = zjId.replace("t_geo_hc_land.", "");
  2426. obj.id = zjIdNum; // 主键id
  2427. obj.xh = trs.find("td").eq(1).text(); //序号
  2428. obj.cm = trs.find("td").eq(2).text(); //村名
  2429. obj.cbrmc = trs.find("td").eq(3).text(); //承包人名称
  2430. obj.syrmc = trs.find("td").eq(4).text(); //使用人名称
  2431. obj.nydlx = trs.find("td").eq(5).text(); //农用地类型
  2432. obj.mj = trs.find("td").eq(6).text(); //面积
  2433. obj.xzqk = trs.find("td").eq(7).text(); //现状情况
  2434. obj.lzhtjzrq = trs.find("td").eq(8).text(); //流转合同截止时间
  2435. obj.lzsynx = trs.find("td").eq(9).text(); //流转剩余年限
  2436. obj.sfylzyx = trs.find("td").eq(10).text(); //是否流转意向
  2437. obj.cdm = trs.find("td").eq(11).text(); //村代码
  2438. obj.orgCode = trs.find("td").eq(15).text(); //行政区化代码
  2439. obj.frontland = trs.find("td").eq(18).text(); //图片前
  2440. obj.behindland = trs.find("td").eq(19).text(); //图片后
  2441. _this.nydlxOptionsValue = trs.find("td").eq(5).text(); //农用地类型
  2442. let cloneObj = JSON.parse(JSON.stringify(obj));
  2443. _this.landInfoList = cloneObj;
  2444. //编辑图片清空
  2445. // _this.landInfoList.frontland = "";
  2446. // _this.landInfoList.behindland = "";
  2447. _this.landInfoLookList = obj;
  2448. }
  2449. }, 300);
  2450. if (
  2451. _this.draw.drawMapPolygon == false &&
  2452. _this.searchBarOperVisbile == false
  2453. ) {
  2454. //判断不在绘制地图进入
  2455. if ($(".landHomestead_wrap").css("bottom") != "0px") {
  2456. $(".searchBar_wrap").css({ bottom: "0" });
  2457. $(".searchBar_wrap").animate(
  2458. {
  2459. bottom: "-100%",
  2460. },
  2461. 300
  2462. );
  2463. $(".landHomestead_wrap").css({ bottom: "-100%" });
  2464. $(".landHomestead_wrap").animate(
  2465. {
  2466. bottom: "0",
  2467. },
  2468. 400
  2469. );
  2470. $(".rightIcon_wrap").animate(
  2471. {
  2472. bottom: $(".landHomestead_wrap").height() + 10 + "px",
  2473. },
  2474. 200
  2475. );
  2476. }
  2477. }
  2478. } else {
  2479. _this.hasTable = false;
  2480. if ($(".searchBar_wrap").css("bottom") != "0px") {
  2481. $(".landHomestead_wrap").css({ bottom: "0" });
  2482. $(".landHomestead_wrap").animate(
  2483. {
  2484. bottom: "-100%",
  2485. },
  2486. 300
  2487. );
  2488. $(".searchBar_wrap").css({ bottom: "-100%" });
  2489. $(".searchBar_wrap").animate(
  2490. {
  2491. bottom: "0",
  2492. },
  2493. 400
  2494. );
  2495. let searchBarWrapPadding = $(".searchBar_wrap")
  2496. .css("paddingTop")
  2497. .replace("px", "");
  2498. let searchBarWrapHeight = $(".searchBar_wrap").height();
  2499. $(".rightIcon_wrap").animate(
  2500. {
  2501. bottom:
  2502. searchBarWrapHeight +
  2503. searchBarWrapPadding * 2 +
  2504. 10 +
  2505. "px",
  2506. },
  2507. 200
  2508. );
  2509. }
  2510. //非编辑情况初始化
  2511. if (_this.landHomesteadEditVisbile == false) {
  2512. //农地数据初始化
  2513. _this.landInfoList = {
  2514. id: "", //String 是 主键id
  2515. orgCode: "", // String 否 行政区代码
  2516. cdm: "", // String 否 村代码
  2517. cm: "", //String 否 村名
  2518. xh: "", // String 否 序号
  2519. cbrmc: "", //String 否 承包人名称
  2520. syrmc: "", //String 否 使用人名称
  2521. nydlx: "", // String 否 农用地类型
  2522. mj: "", // String 否 面积
  2523. lzsynx: "", // String 否 流转剩余年限
  2524. zlhtjzrq: "", // String 否 日期
  2525. sfylzyx: "", // String 否 是否流转意向
  2526. xzqk: "", // String 否 现状情况
  2527. theGeom: "", //String 否 空间坐标
  2528. xzqkKey: "", // String 否 忽略
  2529. nydlxKey: "", // String 否 忽略
  2530. frontland: "", //String 否 图片前
  2531. behindland: "", //String 否 图片后
  2532. };
  2533. //农房数据初始化
  2534. _this.houseInfoList = {
  2535. id: "", // String 是 主键id
  2536. orgCode: "", // String 否 行政区代码
  2537. cdm: "", // String 否 村代码
  2538. cm: "", // String 否 村名
  2539. xh: "", // String 否 序号
  2540. tdxz: "", //土地性质
  2541. fwsyrmc: "", // String 否 房屋所有人名称
  2542. fwsyqh: "", // String 否 房屋所有权证号
  2543. tdzh: "", // String 否 土地证号
  2544. jzmj: "", // String 否 建筑面积
  2545. tdmj: "", // String 否 土地面积
  2546. sfyspsx: "", // String 否 是否有审批手续
  2547. xzqk: "", // String 否 现状情况
  2548. theGeom: "", // String 否 空间坐标
  2549. xzqkKey: "", // String 否 忽略传null
  2550. tdxzKey: "", // String 否 忽略传null
  2551. frontHouse: "", // String 否 图片前
  2552. behindHouse: "", // String 否 图片后
  2553. dz: "", // String 否 地址
  2554. zlrxm: "", // String 否 租赁人姓名
  2555. zlhtjzrq: "", // 租赁合同截止日期
  2556. zlsynx: "", // 租赁剩余年限
  2557. xzfwsfylzy: "", // 闲置房屋是否有流转意愿
  2558. tdfl: "", // 集体/个人
  2559. };
  2560. }
  2561. }
  2562. });
  2563. }
  2564. });
  2565. map.on("pointermove", function (evt) {
  2566. if (evt.dragging) {
  2567. return;
  2568. }
  2569. var pixel = map.getEventPixel(evt.originalEvent);
  2570. var hit = map.forEachLayerAtPixel(pixel, function () {
  2571. return true;
  2572. });
  2573. map.getTargetElement().style.cursor = hit ? "pointer" : "";
  2574. });
  2575. //属性查询结束 ------------------end
  2576. //按照分类查询 村定位地图-----------------start
  2577. $("#cun").on("change", function () {
  2578. /**
  2579. * @api wfs服务空间查询
  2580. * @param {*} wfsurl
  2581. * @param {*} srsName
  2582. * @param {*} typeName
  2583. * @param {*} drawType
  2584. * @param {option 可选} geometryField
  2585. */
  2586. var cun = _this.villageDataObj.deptName;
  2587. //定位个人地图
  2588. map.removeLayer(texiao_layer_fang);
  2589. map.removeLayer(texiao_layer_di);
  2590. //删除之前加载的图层
  2591. let currObjNum = _this.villageDataObj;
  2592. map.getView().animate({
  2593. // 只设置需要的属性即可
  2594. center: ol.proj.fromLonLat([currObjNum.lng, currObjNum.lat]), // 中心点
  2595. zoom: 14.5, // 缩放级别
  2596. rotation: undefined, // 缩放完成view视图旋转弧度
  2597. duration: 1000, // 缩放持续时间,默认不需要设置
  2598. });
  2599. map.removeLayer(nongZt[0]);
  2600. map.removeLayer(nongZt[1]);
  2601. map.removeLayer(delete_map[0]);
  2602. map.removeLayer(delete_map[1]);
  2603. //村的数据判断
  2604. map.removeLayer(villageVectorLayer);
  2605. villageDiagram();
  2606. setTimeout(() => {
  2607. //map.removeLayer(shitu);
  2608. }, 1000);
  2609. //查询条件
  2610. var cql_filter;
  2611. //图层加载
  2612. //地的数据判断
  2613. var difang = ["nsgk_hc:t_geo_hc_house", "nsgk_hc:t_geo_hc_land"];
  2614. //业务图层 wms服务
  2615. for (var i = 0; i < difang.length; i++) {
  2616. if (difang[i] == "nsgk_hc:t_geo_hc_house") {
  2617. cql_filter = "CM='" + cun + "'";
  2618. } else {
  2619. cql_filter = "CM='" + cun + "'";
  2620. }
  2621. nongZt[i] = new ol.layer.Tile({
  2622. source: new ol.source.TileWMS({
  2623. //url: 'http://192.168.31.150:8888/geoserver/mywork_mysql/wms',
  2624. url: "http://116.255.135.38:8080/geoserver/nsgk_hc/wms",
  2625. //url: 'http://localhost:8888/geoserver/mywork_mysql/wms',
  2626. //url: 'http://localhost:8888/geoserver/new_shp/wms',
  2627. params: {
  2628. LAYERS: difang[i],
  2629. //'LAYERS': 'new_shp:new_shp_all',
  2630. TILED: true,
  2631. cql_filter: cql_filter,
  2632. SRID: 3857,
  2633. },
  2634. }),
  2635. });
  2636. //}
  2637. //定位查询位置
  2638. let param_dw = {
  2639. srsName: "EPSG:3857",
  2640. service: "WFS",
  2641. version: "1.0.0",
  2642. request: "GetFeature",
  2643. typename: difang[i],
  2644. //featureNS: 'nsgk_hc',//命名空间 URI
  2645. cql_filter: cql_filter,
  2646. //featurePrefix: 'nationalwater',//工作区名称
  2647. //featureTypes: ['nationalwater:01fir'],//查询图层,可以是同一个工作区下多个图层,逗号隔开
  2648. outputFormat: "application/json",
  2649. //filter: ol.format.filter.equalTo(t,e,r)//前者是属性名,后者是对应值
  2650. };
  2651. let url_dw = "http://116.255.135.38:8080/geoserver/nsgk_hc/wfs"; //wfsurl;
  2652. url_dw = url_dw + "?";
  2653. for (let key in param_dw) {
  2654. url_dw = url_dw + key + "=" + param_dw[key] + "&";
  2655. }
  2656. url_dw = url_dw.substr(0, url_dw.length - 1);
  2657. fetch(url_dw, {
  2658. method: "POST", // *GET, POST, PUT, DELETE, etc.
  2659. })
  2660. .then((res) => {
  2661. var geojsonmap = res.json();
  2662. return geojsonmap;
  2663. })
  2664. .then((data) => {
  2665. //var datamap = data.bbox;
  2666. // var datamap = data.features[0].bbox;
  2667. // map.getView().animate({
  2668. // // 只设置需要的属性即可
  2669. // center: datamap, // 中心点
  2670. // zoom: 15, // 缩放级别
  2671. // rotation: undefined, // 缩放完成view视图旋转弧度
  2672. // duration: 1000, // 缩放持续时间,默认不需要设置
  2673. // });
  2674. })
  2675. .catch((error) => {
  2676. console.log("【异常】", error);
  2677. });
  2678. map.addLayer(nongZt[i]);
  2679. //切换村底部盒子隐藏
  2680. _this.hasTable = false;
  2681. if ($(".searchBar_wrap").css("bottom") != "0px") {
  2682. $(".landHomestead_wrap").css({ bottom: "0" });
  2683. $(".landHomestead_wrap").animate(
  2684. {
  2685. bottom: "-100%",
  2686. },
  2687. 300
  2688. );
  2689. $(".searchBar_wrap").css({ bottom: "-100%" });
  2690. $(".searchBar_wrap").animate(
  2691. {
  2692. bottom: "0",
  2693. },
  2694. 400
  2695. );
  2696. let searchBarWrapPadding = $(".searchBar_wrap")
  2697. .css("paddingTop")
  2698. .replace("px", "");
  2699. let searchBarWrapHeight = $(".searchBar_wrap").height();
  2700. $(".rightIcon_wrap").animate(
  2701. {
  2702. bottom:
  2703. searchBarWrapHeight + searchBarWrapPadding * 2 + 10 + "px",
  2704. },
  2705. 200
  2706. );
  2707. }
  2708. }
  2709. });
  2710. //村定位查询-------------------------------------end
  2711. //按照查询条件人名 定位地图-----------------start
  2712. $("#query").on("click", function () {
  2713. /**
  2714. * @api wfs服务空间查询
  2715. * @param {*} wfsurl
  2716. * @param {*} srsName
  2717. * @param {*} typeName
  2718. * @param {*} drawType
  2719. * @param {option 可选} geometryField
  2720. */
  2721. var val = _this.seachText;
  2722. if (val == "") {
  2723. alert("请填写查询条件在查询");
  2724. } else {
  2725. //分类查询查询农地、农房
  2726. var difang;
  2727. //var di = document.getElementById('di');
  2728. //删除矢量图层json
  2729. //map.removeLayer(shitu);
  2730. //删除之前图层 --------------------start
  2731. //属性查询删除
  2732. //map.removeLayer(nongZt[0]);
  2733. //map.removeLayer(nongZt[1]);
  2734. //map.removeLayer(delete_map[0]);
  2735. //map.removeLayer(delete_map[1]);
  2736. map.removeLayer(texiao_layer_fang);
  2737. map.removeLayer(texiao_layer_di);
  2738. //删除之前图层 -------------------end
  2739. //查询条件
  2740. var cql_filter;
  2741. var cun = _this.villageDataObj.deptName;
  2742. difang = ["nsgk_hc:t_geo_hc_house", "nsgk_hc:t_geo_hc_land"];
  2743. var tach = 0;
  2744. var once = 0;
  2745. for (var i = 0; i < difang.length; i++) {
  2746. map.removeLayer(delete_map[i]);
  2747. // 数字验证!
  2748. var reg = /\d/;
  2749. //验证汉子
  2750. //var han = /^[\u4e00-\u9fa5]+$/;
  2751. if (reg.test(val)) {
  2752. //循环判断查询条件
  2753. cql_filter = "XH='" + val + "'" + "and CM='" + cun + "'";
  2754. } else {
  2755. //循环判断查询条件
  2756. if (cun != "all" && cun != "") {
  2757. if (difang[i] == "nsgk_hc:t_geo_hc_house") {
  2758. cql_filter = "FWSYRMC='" + val + "'" + "and CM='" + cun + "'";
  2759. } else {
  2760. cql_filter = "SYRMC='" + val + "'" + "and CM='" + cun + "'";
  2761. }
  2762. } else {
  2763. if (difang[i] == "nsgk_hc:t_geo_hc_house") {
  2764. cql_filter = "FWSYRMC='" + val + "'";
  2765. } else {
  2766. cql_filter = "SYRMC='" + val + "'";
  2767. }
  2768. }
  2769. }
  2770. //for(var i=0; i< difang.length; i++){
  2771. //cql_filter = "CM='"+cun +"'"+ "and XZQK='待流转待盘活'";
  2772. //图层加载
  2773. //业务图层 wms服务
  2774. delete_map[i] = new ol.layer.Tile({
  2775. source: new ol.source.TileWMS({
  2776. //url: 'http://192.168.31.150:8888/geoserver/mywork_mysql/wms',
  2777. url: "http://116.255.135.38:8080/geoserver/nsgk_hc/wms",
  2778. //url: 'http://localhost:8888/geoserver/mywork_mysql/wms',
  2779. //url: 'http://localhost:8888/geoserver/new_shp/wms',
  2780. params: {
  2781. LAYERS: difang[i],
  2782. //'LAYERS': 'new_shp:new_shp_all',
  2783. TILED: true,
  2784. cql_filter: cql_filter,
  2785. SRID: 3857,
  2786. },
  2787. }),
  2788. });
  2789. //}
  2790. //定位查询位置
  2791. let param_dw = {
  2792. srsName: "EPSG:3857",
  2793. service: "WFS",
  2794. version: "1.0.0",
  2795. request: "GetFeature",
  2796. typename: difang[i],
  2797. //featureNS: 'nsgk_hc',//命名空间 URI
  2798. cql_filter: cql_filter,
  2799. //featurePrefix: 'nationalwater',//工作区名称
  2800. //featureTypes: ['nationalwater:01fir'],//查询图层,可以是同一个工作区下多个图层,逗号隔开
  2801. outputFormat: "application/json",
  2802. //filter: ol.format.filter.equalTo(t,e,r)//前者是属性名,后者是对应值
  2803. };
  2804. let url_dw = "http://116.255.135.38:8080/geoserver/nsgk_hc/wfs"; //wfsurl;
  2805. url_dw = url_dw + "?";
  2806. for (let key in param_dw) {
  2807. url_dw = url_dw + key + "=" + param_dw[key] + "&";
  2808. }
  2809. url_dw = url_dw.substr(0, url_dw.length - 1);
  2810. fetch(url_dw, {
  2811. method: "POST", // *GET, POST, PUT, DELETE, etc.
  2812. })
  2813. .then((res) => {
  2814. var geojsonmap = res.json();
  2815. return geojsonmap;
  2816. })
  2817. .then((data) => {
  2818. tach = tach + 1;
  2819. if (data.features != null && data.features != "") {
  2820. //var datamap = data.bbox;
  2821. var datamap = data.features[0].bbox;
  2822. map.getView().animate({
  2823. // 只设置需要的属性即可
  2824. center: datamap, // 中心点
  2825. zoom: 17, // 缩放级别
  2826. rotation: undefined, // 缩放完成view视图旋转弧度
  2827. duration: 1000, // 缩放持续时间,默认不需要设置
  2828. });
  2829. //特效动画实现 -----------------------------start
  2830. if (tach == 1 && once == 0) {
  2831. texiao_layer_fang = new ol.layer.Vector({
  2832. source: new ol.source.Vector(),
  2833. });
  2834. map.addLayer(texiao_layer_fang);
  2835. var center = ol.extent.getCenter(datamap); //获取边界区域的中心位置
  2836. var circle = new ol.Feature({
  2837. geometry: new ol.geom.Point(center), //ol.proj.transform([104, 30], 'EPSG:4326', 'EPSG:3857') //投影坐标转为地理坐标
  2838. });
  2839. //var out =new ol.coordinate.Coordinate(datamap);
  2840. //var extent = ol.extent.boundingExtent(feature.getGeometry().getCoordinates()[datamap]); //获取一个坐标数组的边界,格式为[minx,miny,maxx,maxy]
  2841. //var center = ol.extent.getCenter(extent); //获取边界区域的中心位置
  2842. //map.getView().setCenter(center); //设置当前地图的显示中心位置
  2843. circle.setStyle(
  2844. new ol.style.Style({
  2845. image: new ol.style.Circle({
  2846. radius: 0,
  2847. stroke: new ol.style.Stroke({
  2848. color: "yellow",
  2849. size: 1,
  2850. }),
  2851. }),
  2852. })
  2853. );
  2854. texiao_layer_fang.getSource().addFeature(circle);
  2855. // 关键的地方在此:监听postcompose事件,在里面重新设置circle的样式
  2856. var radius = 0;
  2857. map.on("postcompose", function () {
  2858. // 增大半径,最大20
  2859. radius++;
  2860. radius = radius % 10;
  2861. // 设置样式
  2862. circle.setStyle(
  2863. new ol.style.Style({
  2864. image: new ol.style.Circle({
  2865. radius: radius,
  2866. stroke: new ol.style.Stroke({
  2867. color: "yellow",
  2868. size: 1,
  2869. }),
  2870. }),
  2871. })
  2872. );
  2873. });
  2874. } else {
  2875. texiao_layer_di = new ol.layer.Vector({
  2876. source: new ol.source.Vector(),
  2877. });
  2878. map.addLayer(texiao_layer_di);
  2879. var center = ol.extent.getCenter(datamap); //获取边界区域的中心位置
  2880. var circle = new ol.Feature({
  2881. geometry: new ol.geom.Point(center), //ol.proj.transform([104, 30], 'EPSG:4326', 'EPSG:3857') //投影坐标转为地理坐标
  2882. });
  2883. //var out =new ol.coordinate.Coordinate(datamap);
  2884. //var extent = ol.extent.boundingExtent(feature.getGeometry().getCoordinates()[datamap]); //获取一个坐标数组的边界,格式为[minx,miny,maxx,maxy]
  2885. //var center = ol.extent.getCenter(extent); //获取边界区域的中心位置
  2886. //map.getView().setCenter(center); //设置当前地图的显示中心位置
  2887. circle.setStyle(
  2888. new ol.style.Style({
  2889. image: new ol.style.Circle({
  2890. radius: 0,
  2891. stroke: new ol.style.Stroke({
  2892. color: "yellow",
  2893. size: 1,
  2894. }),
  2895. }),
  2896. })
  2897. );
  2898. texiao_layer_di.getSource().addFeature(circle);
  2899. // 关键的地方在此:监听postcompose事件,在里面重新设置circle的样式
  2900. var radius = 0;
  2901. map.on("postcompose", function () {
  2902. // 增大半径,最大20
  2903. radius++;
  2904. radius = radius % 10;
  2905. // 设置样式
  2906. circle.setStyle(
  2907. new ol.style.Style({
  2908. image: new ol.style.Circle({
  2909. radius: radius,
  2910. stroke: new ol.style.Stroke({
  2911. color: "yellow",
  2912. size: 1,
  2913. }),
  2914. }),
  2915. })
  2916. );
  2917. });
  2918. }
  2919. //特效动画实现 -----------------------------end
  2920. } else if (tach == 1) {
  2921. once = once + 1;
  2922. } else {
  2923. if (tach == 2 && once == 1) {
  2924. alert("没有找到相关人员农房农地信息");
  2925. }
  2926. }
  2927. })
  2928. .catch((error) => {
  2929. console.log("【异常】", error);
  2930. });
  2931. map.addLayer(delete_map[i]);
  2932. }
  2933. }
  2934. });
  2935. //按照查询 定位地图-----------------end
  2936. //开始绘制地图 ------------------- start
  2937. var vector_drawing;
  2938. var draw;
  2939. //开始绘制地图
  2940. $("#drawPolygon").click(function () {
  2941. //map.removeLayer(zjd_land);
  2942. map.removeLayer(vector_drawing);
  2943. //var source = new ol.source.Vector({wrapX: false});
  2944. vector_drawing = new ol.layer.Vector({
  2945. source: new ol.source.Vector(),
  2946. });
  2947. map.addLayer(vector_drawing);
  2948. function addInteraction() {
  2949. draw = new ol.interaction.Draw({
  2950. source: vector_drawing.getSource(),
  2951. type: "Polygon",
  2952. });
  2953. draw.on("drawend", function (evt) {
  2954. var feature = evt.feature;
  2955. var geometry = feature.getGeometry();
  2956. var coordinate = geometry.getCoordinates();
  2957. _this.coordinateList = coordinate.toString();
  2958. $("#drawRemove").trigger("click");
  2959. _this.$set(_this.draw, "drawMapPolygon", false);
  2960. //that.drawInsert = coordinate;
  2961. });
  2962. map.addInteraction(draw);
  2963. }
  2964. addInteraction();
  2965. });
  2966. //清除画图鼠标点击事件
  2967. $("#drawRemove").click(function () {
  2968. map.removeInteraction(draw);
  2969. });
  2970. //还原之前图层
  2971. $("#drawReset").click(function () {
  2972. map.removeLayer(vector_drawing);
  2973. //map.addLayer(zjd_land);
  2974. });
  2975. //开始绘制地图 ------------------- end
  2976. //特效实现
  2977. $("#texiao_fang").on("click", function () {
  2978. /**
  2979. * @api wfs服务空间查询
  2980. * @param {*} wfsurl
  2981. * @param {*} srsName
  2982. * @param {*} typeName
  2983. * @param {*} drawType
  2984. * @param {option 可选} geometryField
  2985. */
  2986. //alert("进入分类");
  2987. //删除之前加载的图层
  2988. map.removeLayer(texiao_layer_fang);
  2989. map.removeLayer(texiao_layer_di);
  2990. var cun = _this.villageDataObj.deptName;
  2991. _this.homesteadListShrink();
  2992. //删除之前加载的图层
  2993. //map.removeLayer(dishitu);
  2994. //map.removeLayer(cunshitu);
  2995. //分类查询查询农地、农房
  2996. var difang;
  2997. //地的数据判断
  2998. difang = "nsgk_hc:t_geo_hc_house";
  2999. //查询条件
  3000. var cql_filter;
  3001. //村的数据判断
  3002. var val = $("#texiao_fang").val();
  3003. if (val == "") {
  3004. alert("请填写查询条件在查询");
  3005. }
  3006. //for(var i=0; i< difang.length; i++){
  3007. //cql_filter = "CM='"+cun +"'"+ "and FWSYRMC='"+query_mz.value;
  3008. cql_filter = "FWSYRMC='" + val + "' and CM='" + cun + "'";
  3009. //图层加载
  3010. //地的数据判断
  3011. //定位查询位置
  3012. let param_dw = {
  3013. srsName: "EPSG:3857",
  3014. service: "WFS",
  3015. version: "1.0.0",
  3016. request: "GetFeature",
  3017. typename: difang,
  3018. //featureNS: 'nsgk_hc',//命名空间 URI
  3019. cql_filter: cql_filter,
  3020. //featurePrefix: 'nationalwater',//工作区名称
  3021. //featureTypes: ['nationalwater:01fir'],//查询图层,可以是同一个工作区下多个图层,逗号隔开
  3022. outputFormat: "application/json",
  3023. //filter: ol.format.filter.equalTo(t,e,r)//前者是属性名,后者是对应值
  3024. };
  3025. let url_dw = "http://116.255.135.38:8080/geoserver/nsgk_hc/wfs"; //wfsurl;
  3026. url_dw = url_dw + "?";
  3027. for (let key in param_dw) {
  3028. url_dw = url_dw + key + "=" + param_dw[key] + "&";
  3029. }
  3030. url_dw = url_dw.substr(0, url_dw.length - 1);
  3031. fetch(url_dw, {
  3032. method: "POST", // *GET, POST, PUT, DELETE, etc.
  3033. })
  3034. .then((res) => {
  3035. var geojsonmap = res.json();
  3036. return geojsonmap;
  3037. })
  3038. .then((data) => {
  3039. //关联查询农房信息---------------start
  3040. document.getElementById("info").innerHTML = "";
  3041. var select_fang = (document.getElementById("info").innerHTML =
  3042. data.features[0].properties);
  3043. _this.farmhouseStatus = 0;
  3044. let obj = {};
  3045. let zjId = data.features[0].id;
  3046. let zjIdNum = zjId.replace("t_geo_hc_house.", "");
  3047. obj.id = zjIdNum; // 主键id
  3048. obj.fwsyrmc = select_fang.FWSYRMC; //房屋所有人名称
  3049. obj.cm = select_fang.CM; //村名
  3050. obj.cdm = select_fang.CDM; //村代码
  3051. obj.dz = select_fang.DZ; //地址
  3052. obj.sfyspsx = select_fang.SFYSPSX; //是否有审批手续
  3053. obj.fwsyqh = select_fang.FWSYQH; //房屋所有权证号
  3054. obj.jzmj = select_fang.JZMJ; //建筑面积
  3055. obj.tdzh = select_fang.TDZH; //建筑面积
  3056. obj.tdxz = select_fang.TDXZ; //土地性质
  3057. obj.tdmj = select_fang.TDMJ; //土地面积
  3058. obj.xzqk = select_fang.XZQK; //现状情况
  3059. obj.zlrxm = select_fang.ZLRXM; //租赁人姓名
  3060. obj.zlhtjzrq = select_fang.ZLHTJZRQ; //租赁合同截止日期
  3061. obj.zlsynx = select_fang.ZLSYNX; //租赁剩余年限
  3062. obj.xzfwsfylzy = select_fang.XZFWSFYLZY; //闲置房屋是否有流转意愿
  3063. obj.xh = select_fang.XH; //农房编号
  3064. obj.orgCode = select_fang.org_code; //行政区代码
  3065. obj.tdfl = select_fang.TDFL; //集体/个人
  3066. obj.frontHouse = select_fang.front_house; //图片前
  3067. obj.behindHouse = select_fang.behind_house; //图片后
  3068. let cloneObj = JSON.parse(JSON.stringify(obj));
  3069. _this.houseInfoList = cloneObj;
  3070. // _this.houseInfoList.frontland = "";
  3071. // _this.houseInfoList.behindland = "";
  3072. _this.houseInfoLookList = obj;
  3073. //关联查询农房信息---------------end
  3074. //定位结束 --------------start
  3075. //var datamap = data.bbox;
  3076. var datamap = data.features[0].bbox;
  3077. map.getView().animate({
  3078. // 只设置需要的属性即可
  3079. center: datamap, // 中心点
  3080. zoom: 18, // 缩放级别
  3081. rotation: undefined, // 缩放完成view视图旋转弧度
  3082. duration: 1000, // 缩放持续时间,默认不需要设置
  3083. });
  3084. //定位结束 --------------end
  3085. //特效动画实现 -----------------------------start
  3086. texiao_layer_fang = new ol.layer.Vector({
  3087. source: new ol.source.Vector(),
  3088. });
  3089. map.addLayer(texiao_layer_fang);
  3090. var center = ol.extent.getCenter(datamap); //获取边界区域的中心位置
  3091. var circle = new ol.Feature({
  3092. geometry: new ol.geom.Point(center), //ol.proj.transform([104, 30], 'EPSG:4326', 'EPSG:3857') //投影坐标转为地理坐标
  3093. });
  3094. //var out =new ol.coordinate.Coordinate(datamap);
  3095. //var extent = ol.extent.boundingExtent(feature.getGeometry().getCoordinates()[datamap]); //获取一个坐标数组的边界,格式为[minx,miny,maxx,maxy]
  3096. //var center = ol.extent.getCenter(extent); //获取边界区域的中心位置
  3097. //map.getView().setCenter(center); //设置当前地图的显示中心位置
  3098. circle.setStyle(
  3099. new ol.style.Style({
  3100. image: new ol.style.Circle({
  3101. radius: 0,
  3102. stroke: new ol.style.Stroke({
  3103. color: "yellow",
  3104. size: 1,
  3105. }),
  3106. }),
  3107. })
  3108. );
  3109. texiao_layer_fang.getSource().addFeature(circle);
  3110. // 关键的地方在此:监听postcompose事件,在里面重新设置circle的样式
  3111. var radius = 0;
  3112. map.on("postcompose", function () {
  3113. // 增大半径,最大20
  3114. radius++;
  3115. radius = radius % 10;
  3116. // 设置样式
  3117. circle.setStyle(
  3118. new ol.style.Style({
  3119. image: new ol.style.Circle({
  3120. radius: radius,
  3121. stroke: new ol.style.Stroke({
  3122. color: "yellow",
  3123. size: 1,
  3124. }),
  3125. }),
  3126. })
  3127. );
  3128. });
  3129. //特效动画实现 -----------------------------end
  3130. })
  3131. .catch((error) => {
  3132. console.log("【异常】", error);
  3133. });
  3134. });
  3135. //-----------------------------------------------------------------------------特效农房加载结束 end
  3136. //-----------------------------------------------------------------------------特效农地加载开始 start
  3137. //特效实现
  3138. $("#texiao_di").on("click", function () {
  3139. /**
  3140. * @api wfs服务空间查询
  3141. * @param {*} wfsurl
  3142. * @param {*} srsName
  3143. * @param {*} typeName
  3144. * @param {*} drawType
  3145. * @param {option 可选} geometryField
  3146. */
  3147. //alert("进入分类");
  3148. //删除之前加载的图层
  3149. map.removeLayer(texiao_layer_di);
  3150. map.removeLayer(texiao_layer_fang);
  3151. _this.homesteadListShrink();
  3152. var cun = _this.villageDataObj.deptName;
  3153. //删除之前加载的图层
  3154. //map.removeLayer(dishitu);
  3155. //map.removeLayer(cunshitu);
  3156. //分类查询查询农地、农房
  3157. var difang;
  3158. //地的数据判断
  3159. difang = "nsgk_hc:t_geo_hc_land";
  3160. //查询条件
  3161. var cql_filter;
  3162. //村的数据判断
  3163. var val = $("#texiao_di").val();
  3164. if (val == "") {
  3165. alert("请填写查询条件在查询");
  3166. }
  3167. //for(var i=0; i< difang.length; i++){
  3168. //cql_filter = "CM='"+cun +"'"+ "and FWSYRMC='"+query_mz.value;
  3169. cql_filter = "SYRMC='" + val + "' and CM='" + cun + "'";
  3170. //图层加载
  3171. //定位查询位置
  3172. let param_dw = {
  3173. srsName: "EPSG:3857",
  3174. service: "WFS",
  3175. version: "1.0.0",
  3176. request: "GetFeature",
  3177. typename: difang,
  3178. INFO_FORMAT: "text/html",
  3179. //featureNS: 'nsgk_hc',//命名空间 URI
  3180. cql_filter: cql_filter,
  3181. //featurePrefix: 'nationalwater',//工作区名称
  3182. //featureTypes: ['nationalwater:01fir'],//查询图层,可以是同一个工作区下多个图层,逗号隔开
  3183. outputFormat: "application/json",
  3184. //filter: ol.format.filter.equalTo(t,e,r)//前者是属性名,后者是对应值
  3185. };
  3186. let url_dw = "http://116.255.135.38:8080/geoserver/nsgk_hc/wfs"; //wfsurl;
  3187. url_dw = url_dw + "?";
  3188. for (let key in param_dw) {
  3189. url_dw = url_dw + key + "=" + param_dw[key] + "&";
  3190. }
  3191. url_dw = url_dw.substr(0, url_dw.length - 1);
  3192. fetch(url_dw, {
  3193. method: "POST", // *GET, POST, PUT, DELETE, etc.
  3194. })
  3195. .then((res) => {
  3196. var geojsonmap = res.json();
  3197. return geojsonmap;
  3198. })
  3199. .then((data) => {
  3200. //获取坐标定位开始----------start
  3201. //var datamap = data.bbox;
  3202. var datamap = data.features[0].bbox;
  3203. map.getView().animate({
  3204. // 只设置需要的属性即可
  3205. center: datamap, // 中心点
  3206. zoom: 16, // 缩放级别
  3207. rotation: undefined, // 缩放完成view视图旋转弧度
  3208. duration: 1000, // 缩放持续时间,默认不需要设置
  3209. });
  3210. //获取坐标定位开始----------end
  3211. //特效动画实现 -----------------------------start
  3212. texiao_layer_di = new ol.layer.Vector({
  3213. source: new ol.source.Vector(),
  3214. });
  3215. map.addLayer(texiao_layer_di);
  3216. var center = ol.extent.getCenter(datamap); //获取边界区域的中心位置
  3217. var circle = new ol.Feature({
  3218. geometry: new ol.geom.Point(center), //ol.proj.transform([104, 30], 'EPSG:4326', 'EPSG:3857') //投影坐标转为地理坐标
  3219. });
  3220. //var out =new ol.coordinate.Coordinate(datamap);
  3221. //var extent = ol.extent.boundingExtent(feature.getGeometry().getCoordinates()[datamap]); //获取一个坐标数组的边界,格式为[minx,miny,maxx,maxy]
  3222. //var center = ol.extent.getCenter(extent); //获取边界区域的中心位置
  3223. //map.getView().setCenter(center); //设置当前地图的显示中心位置
  3224. circle.setStyle(
  3225. new ol.style.Style({
  3226. image: new ol.style.Circle({
  3227. radius: 0,
  3228. stroke: new ol.style.Stroke({
  3229. color: "#ef5b9c",
  3230. size: 1,
  3231. }),
  3232. }),
  3233. })
  3234. );
  3235. texiao_layer_di.getSource().addFeature(circle);
  3236. // 关键的地方在此:监听postcompose事件,在里面重新设置circle的样式
  3237. var radius = 0;
  3238. map.on("postcompose", function () {
  3239. // 增大半径,最大20
  3240. radius++;
  3241. radius = radius % 10;
  3242. // 设置样式
  3243. circle.setStyle(
  3244. new ol.style.Style({
  3245. image: new ol.style.Circle({
  3246. radius: radius,
  3247. stroke: new ol.style.Stroke({
  3248. color: "#ef5b9c",
  3249. size: 1,
  3250. }),
  3251. }),
  3252. })
  3253. );
  3254. });
  3255. //特效动画实现 -----------------------------end
  3256. //关联查询农地信息 ----------start
  3257. document.getElementById("info").innerHTML = "";
  3258. var select_di = (document.getElementById("info").innerHTML =
  3259. data.features[0].properties);
  3260. _this.farmhouseStatus = 1;
  3261. let obj = {};
  3262. let zjId = data.features[0].id;
  3263. let zjIdNum = zjId.replace("t_geo_hc_land.", "");
  3264. obj.id = zjIdNum; // 主键id
  3265. obj.xh = select_di.XH; //序号
  3266. obj.cm = select_di.CM; //村名
  3267. obj.cbrmc = select_di.CBRMC; //承包人名称
  3268. obj.syrmc = select_di.SYRMC; //使用人名称
  3269. obj.nydlx = select_di.NYDLX; //农用地类型
  3270. obj.mj = select_di.MJ; //面积
  3271. obj.xzqk = select_di.XZQK; //现状情况
  3272. obj.lzhtjzrq = select_di.LZHTJZRQ; //流转合同截止时间
  3273. obj.lzsynx = select_di.LZSYNX; //流转剩余年限
  3274. obj.sfylzyx = select_di.SFYLZYX; //是否流转意向
  3275. obj.cdm = select_di.CDM; //村代码
  3276. obj.orgCode = select_di.org_code; //行政区化代码
  3277. obj.frontland = select_di.front_land; //图片前
  3278. obj.behindland = select_di.behind_land; //图片后
  3279. // // _this.nydlxOptionsValue = trs.find("td").eq(5).text(); //农用地类型
  3280. let cloneObj = JSON.parse(JSON.stringify(obj));
  3281. _this.landInfoList = cloneObj;
  3282. // _this.landInfoList.frontland = "";
  3283. // _this.landInfoList.behindland = "";
  3284. _this.landInfoLookList = obj;
  3285. //关联查询农地信息 ----------end
  3286. })
  3287. .catch((error) => {
  3288. console.log("【异常】", error);
  3289. });
  3290. });
  3291. //-----------------------------------------------------------------------------特效农地加载结束 end
  3292. },
  3293. //农房 - 土地性质 选择值
  3294. tdxzOptionsFun(value) {
  3295. this.houseInfoList.tdxz = value.dictLabel;
  3296. this.tdxzOptionsVibile = false;
  3297. },
  3298. //农房 - 是否有审批 选择值
  3299. xfCirculationFun(value) {
  3300. this.xfCirculationVisbile = false;
  3301. this.houseInfoList.sfyspsx = value;
  3302. },
  3303. //农房 - 现状情况 选择值
  3304. xzqkOptionsFun(value) {
  3305. this.houseInfoList.xzqk = value.dictValue;
  3306. this.xzqkOptionsVisbile = false;
  3307. },
  3308. //农房 - 是否有流转 选择值
  3309. xflzCirculationFun(value) {
  3310. this.xflzCirculationVisbile = false;
  3311. this.houseInfoList.xzfwsfylzy = value;
  3312. },
  3313. //农房 - 房屋类型
  3314. fwdlxOptionsFun(value) {
  3315. this.houseInfoList.tdfl = value;
  3316. this.fwdlxOptionsVibile = false;
  3317. },
  3318. //农地 - 现状情况 选择值
  3319. ndxzqkOptionsFun(value) {
  3320. this.landInfoList.xzqk = value.dictValue;
  3321. this.ndxzqkOptionsVisbile = false;
  3322. },
  3323. //农地 - 农用地类型 选择值
  3324. nydlxOptionsFun(value) {
  3325. this.landInfoList.nydlx = value.dictLabel;
  3326. // this.nydlxOptionsValue = value.dictLabel;
  3327. this.nydlxOptionsVibile = false;
  3328. },
  3329. //农地 - 是否有流转 选择值
  3330. xdCirculationOptionsFun(value) {
  3331. this.xdlzCirculationVisbile = false;
  3332. this.landInfoList.sfylzyx = value;
  3333. },
  3334. //农房 -- 新建 上传图片方法
  3335. // nfAddimgonRead(file) {
  3336. // var formData = new FormData(); //构造一个 FormData,把后台需要发送的参数添加
  3337. // formData.append("file", file.file); //接口需要传的参数
  3338. // console.log(formData);
  3339. // commonUpload(formData).then((res) => {
  3340. // this.houseInfoList.frontHouse = res.url;
  3341. // });
  3342. // },
  3343. nfAddimgonReadHistoryDelete() {
  3344. this.nfAddfileListHistory = [];
  3345. this.houseInfoList.frontHouse = "";
  3346. },
  3347. nfAddimgonReadHistory(file) {
  3348. // 创建Canvas对象(画布)
  3349. let canvas = document.createElement("canvas");
  3350. // 获取对应的CanvasRenderingContext2D对象(画笔)
  3351. let context = canvas.getContext("2d");
  3352. // 创建新的图片对象
  3353. let img = new Image();
  3354. // 指定图片的DataURL(图片的base64编码数据)
  3355. img.src = file.content;
  3356. img.onload = () => {
  3357. const h = img.height;
  3358. const w = img.width;
  3359. let ch = img.height / 4;
  3360. let cw = img.width / 4;
  3361. let canvas = document.createElement("canvas");
  3362. let ctx = canvas.getContext("2d");
  3363. canvas.height = ch;
  3364. canvas.width = cw;
  3365. ctx.clearRect(0, 0, cw, ch);
  3366. ctx.drawImage(img, 0, 0, cw, ch);
  3367. let base_img = canvas.toDataURL("image/jpeg");
  3368. const blobBin = atob(base_img.split(",")[1]);
  3369. let d = [];
  3370. for (let i = 0; i < blobBin.length; i++) {
  3371. d.push(blobBin.charCodeAt(i));
  3372. }
  3373. const data2 = new FormData();
  3374. data2.append(
  3375. "file",
  3376. new Blob([new Uint8Array(d)], { type: "image/jpeg" })
  3377. );
  3378. uploadFileBase(data2).then((res) => {
  3379. //this.houseInfoList.frontHouse =res.fileName
  3380. if (res.code == 200) {
  3381. this.houseInfoList.frontHouse =
  3382. location.protocol +
  3383. "//" +
  3384. location.host +
  3385. request.defaults.baseURL +
  3386. res.fileName;
  3387. console.log("历史" + this.houseInfoList.frontHouse);
  3388. } else {
  3389. return "图片上传失败";
  3390. }
  3391. });
  3392. };
  3393. },
  3394. nfAddimgonReadNowDelete() {
  3395. this.nfAddfileListNow = [];
  3396. this.houseInfoList.behindHouse = "";
  3397. },
  3398. nfAddimgonReadNow(file) {
  3399. // 创建Canvas对象(画布)
  3400. let canvas = document.createElement("canvas");
  3401. // 获取对应的CanvasRenderingContext2D对象(画笔)
  3402. let context = canvas.getContext("2d");
  3403. // 创建新的图片对象
  3404. let img = new Image();
  3405. // 指定图片的DataURL(图片的base64编码数据)
  3406. img.src = file.content;
  3407. img.onload = () => {
  3408. const h = img.height;
  3409. const w = img.width;
  3410. let ch = img.height / 4;
  3411. let cw = img.width / 4;
  3412. let canvas = document.createElement("canvas");
  3413. let ctx = canvas.getContext("2d");
  3414. canvas.height = ch;
  3415. canvas.width = cw;
  3416. ctx.clearRect(0, 0, cw, ch);
  3417. ctx.drawImage(img, 0, 0, cw, ch);
  3418. let base_img = canvas.toDataURL("image/jpeg");
  3419. const blobBin = atob(base_img.split(",")[1]);
  3420. let d = [];
  3421. for (let i = 0; i < blobBin.length; i++) {
  3422. d.push(blobBin.charCodeAt(i));
  3423. }
  3424. const data2 = new FormData();
  3425. data2.append(
  3426. "file",
  3427. new Blob([new Uint8Array(d)], { type: "image/jpeg" })
  3428. );
  3429. uploadFileBase(data2).then((res) => {
  3430. if (res.code == 200) {
  3431. this.houseInfoList.behindHouse =
  3432. location.protocol +
  3433. "//" +
  3434. location.host +
  3435. request.defaults.baseURL +
  3436. res.fileName;
  3437. } else {
  3438. return "图片上传失败";
  3439. }
  3440. });
  3441. };
  3442. },
  3443. //农地 -- 新建 上传图片方法
  3444. // ndAddimgonRead(file) {
  3445. // var formData = new FormData(); //构造一个 FormData,把后台需要发送的参数添加
  3446. // formData.append("file", file.file); //接口需要传的参数
  3447. // commonUpload(formData).then((res) => {
  3448. // this.landInfoList.frontland = res.url;
  3449. // console.log(this.landInfoList.frontland);
  3450. // });
  3451. // },
  3452. ndAddimgonReadHistoryDelete() {
  3453. this.ndAddfileListHistory = [];
  3454. this.landInfoList.frontland = "";
  3455. },
  3456. ndAddimgonReadHistory(file) {
  3457. // 创建Canvas对象(画布)
  3458. let canvas = document.createElement("canvas");
  3459. // 获取对应的CanvasRenderingContext2D对象(画笔)
  3460. let context = canvas.getContext("2d");
  3461. // 创建新的图片对象
  3462. let img = new Image();
  3463. // 指定图片的DataURL(图片的base64编码数据)
  3464. img.src = file.content;
  3465. img.onload = () => {
  3466. const h = img.height;
  3467. const w = img.width;
  3468. let ch = img.height / 4;
  3469. let cw = img.width / 4;
  3470. let canvas = document.createElement("canvas");
  3471. let ctx = canvas.getContext("2d");
  3472. canvas.height = ch;
  3473. canvas.width = cw;
  3474. ctx.clearRect(0, 0, cw, ch);
  3475. ctx.drawImage(img, 0, 0, cw, ch);
  3476. let base_img = canvas.toDataURL("image/jpeg");
  3477. const blobBin = atob(base_img.split(",")[1]);
  3478. let d = [];
  3479. for (let i = 0; i < blobBin.length; i++) {
  3480. d.push(blobBin.charCodeAt(i));
  3481. }
  3482. const data2 = new FormData();
  3483. data2.append(
  3484. "file",
  3485. new Blob([new Uint8Array(d)], { type: "image/jpeg" })
  3486. );
  3487. uploadFileBase(data2).then((res) => {
  3488. if (res.code == 200) {
  3489. this.landInfoList.frontland =
  3490. location.protocol +
  3491. "//" +
  3492. location.host +
  3493. request.defaults.baseURL +
  3494. res.fileName;
  3495. } else {
  3496. return "图片上传失败";
  3497. }
  3498. });
  3499. };
  3500. },
  3501. ndAddimgonReadNowDelete() {
  3502. this.ndAddfileListNow = [];
  3503. this.landInfoList.behindland = "";
  3504. },
  3505. ndAddimgonReadNow(file) {
  3506. // 创建Canvas对象(画布)
  3507. let canvas = document.createElement("canvas");
  3508. // 获取对应的CanvasRenderingContext2D对象(画笔)
  3509. let context = canvas.getContext("2d");
  3510. // 创建新的图片对象
  3511. let img = new Image();
  3512. // 指定图片的DataURL(图片的base64编码数据)
  3513. img.src = file.content;
  3514. img.onload = () => {
  3515. const h = img.height;
  3516. const w = img.width;
  3517. let ch = img.height / 4;
  3518. let cw = img.width / 4;
  3519. let canvas = document.createElement("canvas");
  3520. let ctx = canvas.getContext("2d");
  3521. canvas.height = ch;
  3522. canvas.width = cw;
  3523. ctx.clearRect(0, 0, cw, ch);
  3524. ctx.drawImage(img, 0, 0, cw, ch);
  3525. let base_img = canvas.toDataURL("image/jpeg");
  3526. const blobBin = atob(base_img.split(",")[1]);
  3527. let d = [];
  3528. for (let i = 0; i < blobBin.length; i++) {
  3529. d.push(blobBin.charCodeAt(i));
  3530. }
  3531. const data2 = new FormData();
  3532. data2.append(
  3533. "file",
  3534. new Blob([new Uint8Array(d)], { type: "image/jpeg" })
  3535. );
  3536. uploadFileBase(data2).then((res) => {
  3537. if (res.code == 200) {
  3538. this.landInfoList.behindland =
  3539. location.protocol +
  3540. "//" +
  3541. location.host +
  3542. request.defaults.baseURL +
  3543. res.fileName;
  3544. } else {
  3545. return "图片上传失败";
  3546. }
  3547. });
  3548. };
  3549. },
  3550. },
  3551. };
  3552. </script>
  3553. <style scoped lang="scss">
  3554. .app-container {
  3555. width: 100vw;
  3556. height: 100vh;
  3557. position: relative;
  3558. .previewZoomImage_wrap {
  3559. z-index: 99;
  3560. .previewZoomImage_main {
  3561. display: flex;
  3562. align-items: center;
  3563. justify-content: center;
  3564. height: 100%;
  3565. .previewImg {
  3566. max-width: 90vw;
  3567. max-height: 90vh;
  3568. }
  3569. }
  3570. }
  3571. .rightIcon_wrap {
  3572. position: absolute;
  3573. right: 16px;
  3574. bottom: 160px;
  3575. .selectionIcon_wrap {
  3576. width: 74px;
  3577. background: #fff;
  3578. border-radius: 10px;
  3579. padding: 14px 0;
  3580. .icon {
  3581. width: 38px;
  3582. height: 38px;
  3583. background: url("../../assets/images/homestead/selection_icon.png")
  3584. no-repeat;
  3585. background-size: 100% 100%;
  3586. margin: 0 auto 4px;
  3587. }
  3588. .text {
  3589. font-size: 24px;
  3590. text-align: center;
  3591. }
  3592. }
  3593. .positioning_wrap {
  3594. width: 74px;
  3595. background: #fff;
  3596. margin-bottom: 16px;
  3597. border-radius: 10px;
  3598. height: 74px;
  3599. display: flex;
  3600. justify-content: center; /* 相对父元素水平居中 */
  3601. align-items: center; /* 子元素相对父元素垂直居中*/
  3602. .icon {
  3603. width: 38px;
  3604. height: 38px;
  3605. background: url("../../assets/images/homestead/positioning_icon.png")
  3606. no-repeat;
  3607. background-size: 100% 100%;
  3608. margin: 0 auto;
  3609. }
  3610. }
  3611. }
  3612. .rightZoom_wrap {
  3613. position: absolute;
  3614. right: 16px;
  3615. top: 50%;
  3616. width: 74px;
  3617. margin-top: -200px;
  3618. background: #fff;
  3619. margin-bottom: 16px;
  3620. border-radius: 10px;
  3621. height: 100px;
  3622. .amplification,
  3623. .narrow {
  3624. height: 50px;
  3625. width: 74px;
  3626. }
  3627. .amplification {
  3628. background: url("../../assets/images/homestead/jia.png") center center
  3629. no-repeat;
  3630. // background-size: 40% auto;
  3631. }
  3632. .narrow {
  3633. background: url("../../assets/images/homestead/jian.png") center center
  3634. no-repeat;
  3635. // background-size: 40% auto;
  3636. }
  3637. }
  3638. // <div class="rightZoom_wrap">
  3639. // <div class="amplification"></div>
  3640. // <div class="narrow"></div>
  3641. // </div>
  3642. .homesteadList_wrap {
  3643. // display: none;
  3644. display: flex;
  3645. position: absolute;
  3646. right: -536px;
  3647. top: 20px;
  3648. bottom: 160px;
  3649. width: 536px;
  3650. background: #fff;
  3651. z-index: 999;
  3652. border-top-left-radius: 15px;
  3653. border-bottom-left-radius: 15px;
  3654. flex-direction: column;
  3655. .noInfo_data {
  3656. font-size: 28px;
  3657. text-align: center;
  3658. height: 300px;
  3659. line-height: 300px;
  3660. color: #666;
  3661. }
  3662. .title_m {
  3663. color: #333;
  3664. line-height: 36px;
  3665. padding: 20px 40px 22px;
  3666. .name {
  3667. font-size: 40px;
  3668. line-height: 42px;
  3669. height: 42px;
  3670. }
  3671. .more_icon {
  3672. width: 38px;
  3673. height: 38px;
  3674. background: url("../../assets/images/homestead/selectionNext_icon.png")
  3675. no-repeat;
  3676. float: right;
  3677. margin-top: 2px;
  3678. }
  3679. }
  3680. .main_m {
  3681. overflow-y: auto;
  3682. padding: 10px 0;
  3683. // height: 300px;
  3684. flex: 1;
  3685. .flex_block {
  3686. height: 70px;
  3687. display: flex;
  3688. // justify-content: center; /* 相对父元素水平居中 */
  3689. align-items: center; /* 子元素相对父元素垂直居中 */
  3690. padding: 0 40px;
  3691. &.active {
  3692. box-shadow: 0px 0px 10px rgba(24, 45, 51, 0.5);
  3693. }
  3694. .name_text {
  3695. font-size: 28px;
  3696. flex: 0.5;
  3697. overflow: hidden; /*超出部分隐藏*/
  3698. white-space: nowrap; /*不换行*/
  3699. text-overflow: ellipsis; /*超出部分文字以...显示*/
  3700. }
  3701. .square_text {
  3702. font-size: 28px;
  3703. flex: 0.4;
  3704. }
  3705. .operation_mian {
  3706. flex: 0 0 150px;
  3707. .describe {
  3708. font-size: 20px;
  3709. padding: 6px 5px;
  3710. float: right;
  3711. color: #fff;
  3712. border-radius: 30px;
  3713. overflow: hidden;
  3714. text-overflow: ellipsis;
  3715. white-space: nowrap;
  3716. max-width: 150px;
  3717. &.yph {
  3718. background: #b026ff;
  3719. }
  3720. &.dlzdph {
  3721. background: #ff6f36;
  3722. }
  3723. &.ylz {
  3724. background: #7fff4c;
  3725. }
  3726. &.dlz {
  3727. background: rgb(255, 232, 76);
  3728. }
  3729. &.ylzdph {
  3730. background: #ff7dd0;
  3731. }
  3732. &.zy {
  3733. background: rgb(100, 30, 100);
  3734. }
  3735. &.xz {
  3736. background: rgb(60, 100, 180);
  3737. }
  3738. &.chdb {
  3739. background: #fe0303;
  3740. }
  3741. }
  3742. }
  3743. }
  3744. }
  3745. .footerBtn_wrap {
  3746. flex: 0 0 90px;
  3747. display: flex;
  3748. justify-content: center; /* 相对父元素水平居中 */
  3749. align-items: center; /* 子元素相对父元素垂直居中 */
  3750. .options {
  3751. flex: 1;
  3752. font-size: 38px;
  3753. display: flex;
  3754. justify-content: center; /* 相对父元素水平居中 */
  3755. align-items: center; /* 子元素相对父元素垂直居中 */
  3756. height: 90px;
  3757. &:first-child {
  3758. border-bottom-left-radius: 15px;
  3759. }
  3760. &.active {
  3761. background: #3cbf5b;
  3762. color: #fff;
  3763. }
  3764. }
  3765. }
  3766. }
  3767. .map_area {
  3768. width: 100vw;
  3769. height: 100vh;
  3770. background: #ddd;
  3771. position: absolute;
  3772. left: 0;
  3773. top: 0;
  3774. }
  3775. .address_wrap {
  3776. position: fixed;
  3777. // z-index: 9;
  3778. top: 24px;
  3779. left: 16px;
  3780. display: flex;
  3781. .address_item {
  3782. display: flex;
  3783. flex-direction: column;
  3784. margin-right: 8px;
  3785. justify-content: center; /* 相对父元素水平居中 */
  3786. align-items: center; /* 子元素相对父元素垂直居中 */
  3787. position: relative;
  3788. .portrait {
  3789. width: 86px;
  3790. height: 86px;
  3791. background: #000;
  3792. border-radius: 50%;
  3793. margin-bottom: 18px;
  3794. font-size: 30px;
  3795. color: #fff;
  3796. text-align: center;
  3797. line-height: 65px;
  3798. color: #fff;
  3799. &.zhen,
  3800. &.cun {
  3801. border: 5px solid rgba(255, 255, 255, 0.6);
  3802. }
  3803. &.zhen {
  3804. background: url("../../assets/images/homestead/zhen.jpg") top center
  3805. no-repeat;
  3806. background-size: 100% 100%;
  3807. }
  3808. &.cun {
  3809. background: url("../../assets/images/homestead/cun.jpg") top center
  3810. no-repeat;
  3811. background-size: 100% 100%;
  3812. }
  3813. }
  3814. .name {
  3815. font-size: 22px;
  3816. background: #fff;
  3817. padding: 4px 6px;
  3818. border-radius: 8px;
  3819. }
  3820. &.more {
  3821. .portrait {
  3822. width: 40px;
  3823. background: none;
  3824. }
  3825. .name {
  3826. background: url("../../assets/images/homestead/address_more.png")
  3827. no-repeat;
  3828. background-size: 100% 100%;
  3829. width: 40px;
  3830. height: 40px;
  3831. padding: 0;
  3832. &.shrink {
  3833. transform: rotate(180deg);
  3834. }
  3835. }
  3836. }
  3837. .address_suspension {
  3838. position: absolute;
  3839. left: calc(100% + 8px);
  3840. top: 100px;
  3841. z-index: 10;
  3842. padding: 10px 8px 10px 15px;
  3843. background: #fff;
  3844. border-radius: 10px;
  3845. width: auto;
  3846. .address_suspension_scroll {
  3847. height: 200px;
  3848. overflow-y: auto;
  3849. padding-right: 8px;
  3850. }
  3851. .items {
  3852. white-space: nowrap;
  3853. }
  3854. }
  3855. }
  3856. }
  3857. .searchBar_wrap {
  3858. // display: none;
  3859. display: flex;
  3860. position: fixed;
  3861. bottom: 0%;
  3862. left: 0;
  3863. width: 100%;
  3864. padding: 28px 16px 28px 13px;
  3865. background: #fff;
  3866. border-top-left-radius: 15px;
  3867. border-top-right-radius: 15px;
  3868. .actionBar_wrap {
  3869. display: flex;
  3870. position: absolute;
  3871. top: 0;
  3872. left: 0;
  3873. width: 100%;
  3874. height: 100%;
  3875. background: #fff;
  3876. border-top-left-radius: 15px;
  3877. border-top-right-radius: 15px;
  3878. .m_list {
  3879. flex: 1;
  3880. display: flex;
  3881. justify-content: center; /* 相对父元素水平居中 */
  3882. align-items: center; /* 子元素相对父元素垂直居中 */
  3883. .tensile,
  3884. .positioning,
  3885. .spacing,
  3886. .scale {
  3887. width: 76px;
  3888. height: 72px;
  3889. background: #ffffff;
  3890. border-radius: 8px;
  3891. box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.16);
  3892. .icon {
  3893. width: 76px;
  3894. height: 72px;
  3895. }
  3896. &.active {
  3897. background: #333;
  3898. &.tensile {
  3899. .icon {
  3900. background: url("../../assets/images/homestead/operation/tensile_active.png")
  3901. center center no-repeat;
  3902. background-size: 38px 50px;
  3903. }
  3904. }
  3905. &.positioning {
  3906. .icon {
  3907. background: url("../../assets/images/homestead/operation/positioning_active.png")
  3908. center center no-repeat;
  3909. background-size: 38px 48px;
  3910. }
  3911. }
  3912. &.spacing {
  3913. .icon {
  3914. background: url("../../assets/images/homestead/operation/spacing_active.png")
  3915. center center no-repeat;
  3916. background-size: 46px 46px;
  3917. }
  3918. }
  3919. &.scale {
  3920. .icon {
  3921. background: url("../../assets/images/homestead/operation/scale_active.png")
  3922. center center no-repeat;
  3923. background-size: 48px 48px;
  3924. }
  3925. }
  3926. }
  3927. }
  3928. .tensile {
  3929. .icon {
  3930. background: url("../../assets/images/homestead/operation/tensile.png")
  3931. center center no-repeat;
  3932. background-size: 38px 50px;
  3933. }
  3934. }
  3935. .positioning {
  3936. .icon {
  3937. background: url("../../assets/images/homestead/operation/positioning.png")
  3938. center center no-repeat;
  3939. background-size: 38px 48px;
  3940. }
  3941. }
  3942. .spacing {
  3943. .icon {
  3944. background: url("../../assets/images/homestead/operation/spacing.png")
  3945. center center no-repeat;
  3946. background-size: 46px 46px;
  3947. }
  3948. }
  3949. .scale {
  3950. .icon {
  3951. background: url("../../assets/images/homestead/operation/scale.png")
  3952. center center no-repeat;
  3953. background-size: 48px 48px;
  3954. }
  3955. }
  3956. .closes {
  3957. background: url("../../assets/images/homestead/searchBar_close.png")
  3958. no-repeat;
  3959. background-size: 100% 100%;
  3960. width: 72px;
  3961. height: 72px;
  3962. &.gray {
  3963. background: url("../../assets/images/homestead/searchBar_close_gray.png")
  3964. no-repeat;
  3965. background-size: 100% 100%;
  3966. }
  3967. }
  3968. .correct {
  3969. background: url("../../assets/images/homestead/searchBar_save.png")
  3970. no-repeat;
  3971. background-size: 100% 100%;
  3972. width: 72px;
  3973. height: 72px;
  3974. }
  3975. }
  3976. }
  3977. .searchBar_area {
  3978. flex: 1;
  3979. height: 80px;
  3980. background: #f1f1f1;
  3981. border: 1px solid #dfdfdf;
  3982. border-radius: 10px;
  3983. padding: 0 28px;
  3984. display: flex;
  3985. .bar_icon {
  3986. width: 50px;
  3987. height: 50px;
  3988. background: url("../../assets/images/homestead/searchBar_bar.png")
  3989. center center no-repeat;
  3990. background-size: 100% 100%;
  3991. margin-top: 14px;
  3992. margin-right: 15px;
  3993. }
  3994. .bar_ipt {
  3995. flex: 1;
  3996. input {
  3997. width: 100%;
  3998. height: 100%;
  3999. background: none;
  4000. border: 0 none;
  4001. font-size: 32px;
  4002. }
  4003. }
  4004. .bar_text {
  4005. flex: 0 0 80px;
  4006. font-size: 32px;
  4007. color: #333333;
  4008. font-family: PingFang SC, PingFang SC-Regular;
  4009. font-weight: 400;
  4010. display: flex;
  4011. justify-content: center; /* 相对父元素水平居中 */
  4012. align-items: center; /* 子元素相对父元素垂直居中 */
  4013. }
  4014. }
  4015. .searchBar_more {
  4016. flex: 0 0 80px;
  4017. background: url("../../assets/images/homestead/searchBar_add.png") center
  4018. center no-repeat;
  4019. background-size: 80% 80%;
  4020. margin-left: 15px;
  4021. }
  4022. }
  4023. .landHomestead_wrap {
  4024. position: fixed;
  4025. bottom: -100%;
  4026. left: 0;
  4027. width: 100%;
  4028. padding: 0 16px;
  4029. .landHomestead_search {
  4030. height: 80px;
  4031. background: #f1f1f1;
  4032. border: 1px solid #dfdfdf;
  4033. border-radius: 10px;
  4034. padding: 0 28px;
  4035. display: flex;
  4036. margin-bottom: 10px;
  4037. .bar_icon {
  4038. width: 50px;
  4039. height: 50px;
  4040. background: url("../../assets/images/homestead/searchBar_bar.png")
  4041. center center no-repeat;
  4042. background-size: 95% 95%;
  4043. margin-top: 14px;
  4044. margin-right: 15px;
  4045. }
  4046. .bar_ipt {
  4047. flex: 1;
  4048. input {
  4049. width: 100%;
  4050. height: 100%;
  4051. background: none;
  4052. border: 0 none;
  4053. font-size: 32px;
  4054. }
  4055. }
  4056. .bar_text {
  4057. flex: 0 0 80px;
  4058. font-size: 32px;
  4059. color: #333333;
  4060. font-family: PingFang SC, PingFang SC-Regular;
  4061. font-weight: 400;
  4062. display: flex;
  4063. justify-content: center; /* 相对父元素水平居中 */
  4064. align-items: center; /* 子元素相对父元素垂直居中 */
  4065. }
  4066. }
  4067. .landHomestead_body {
  4068. background: #fff;
  4069. padding: 30px 20px;
  4070. border-top-left-radius: 12px;
  4071. border-top-right-radius: 12px;
  4072. position: relative;
  4073. .body_flex {
  4074. display: block;
  4075. overflow: hidden;
  4076. .attribute {
  4077. width: 42%;
  4078. float: left;
  4079. .names {
  4080. height: 54px;
  4081. padding-left: 46px;
  4082. background: url("../../assets/images/homestead/landHomestead_home.png")
  4083. left center no-repeat;
  4084. background-size: 38px 36px;
  4085. font-size: 32px;
  4086. line-height: 54px;
  4087. color: #333333;
  4088. margin-bottom: 12px;
  4089. overflow: hidden;
  4090. text-overflow: ellipsis;
  4091. white-space: nowrap;
  4092. }
  4093. .address {
  4094. height: 48px;
  4095. line-height: 48px;
  4096. font-size: 28px;
  4097. white-space: nowrap;
  4098. text-overflow: ellipsis;
  4099. overflow: hidden;
  4100. word-break: break-all;
  4101. margin-right: 8px;
  4102. }
  4103. .nature {
  4104. height: 48px;
  4105. font-size: 28px;
  4106. }
  4107. }
  4108. .distance {
  4109. width: 29%;
  4110. float: left;
  4111. .size {
  4112. height: 54px;
  4113. line-height: 54px;
  4114. font-size: 40px;
  4115. color: #333333;
  4116. margin-bottom: 12px;
  4117. }
  4118. .probably {
  4119. line-height: 48px;
  4120. font-size: 28px;
  4121. height: 48px;
  4122. }
  4123. }
  4124. .others {
  4125. width: 29%;
  4126. float: left;
  4127. .information {
  4128. height: 54px;
  4129. margin-bottom: 12px;
  4130. .status_text {
  4131. color: #fff;
  4132. font-size: 24px;
  4133. background: #3cbf5b;
  4134. border-radius: 20px;
  4135. padding: 8px 15px;
  4136. float: right;
  4137. max-width: calc(100% - 56px);
  4138. overflow: hidden;
  4139. text-overflow: ellipsis;
  4140. white-space: nowrap;
  4141. }
  4142. .location {
  4143. width: 36px;
  4144. height: 36px;
  4145. background: url("../../assets/images/homestead/others_location.png")
  4146. no-repeat;
  4147. float: right;
  4148. margin: 8px 0 0 20px;
  4149. }
  4150. }
  4151. .editor {
  4152. height: 96px;
  4153. .editor_icon {
  4154. width: 72px;
  4155. height: 72px;
  4156. float: right;
  4157. background: url("../../assets/images/homestead/edit_icon.png")
  4158. no-repeat;
  4159. background-size: 100% 100%;
  4160. margin-top: 14px;
  4161. box-shadow: 3px 3px 5px rgba(60, 191, 91, 0.3);
  4162. border-radius: 50%;
  4163. }
  4164. .delete_icon {
  4165. width: 72px;
  4166. height: 72px;
  4167. float: right;
  4168. background: url("../../assets/images/homestead/delete_icon.png")
  4169. no-repeat;
  4170. background-size: 100% 100%;
  4171. margin-top: 14px;
  4172. margin-right: 20px;
  4173. box-shadow: 3px 3px 5px rgba(212, 42, 42, 0.3);
  4174. border-radius: 50%;
  4175. }
  4176. }
  4177. }
  4178. }
  4179. }
  4180. }
  4181. .landHomesteadDetails_wrap {
  4182. display: flex;
  4183. position: absolute;
  4184. left: 0;
  4185. bottom: 0;
  4186. width: 100%;
  4187. z-index: 99;
  4188. height: calc(100% - 190px);
  4189. .content_mian {
  4190. flex: 1;
  4191. margin: 0 16px;
  4192. padding: 28px 40px 28px 40px;
  4193. background: #fff;
  4194. border-top-left-radius: 15px;
  4195. border-top-right-radius: 15px;
  4196. display: flex;
  4197. flex-direction: column;
  4198. .serial_flex {
  4199. flex: 0 0 60px;
  4200. margin-bottom: 15px;
  4201. font-size: 40px;
  4202. justify-content: center; /* 相对父元素水平居中 */
  4203. align-items: center; /* 子元素相对父元素垂直居中 */
  4204. color: #333;
  4205. display: flex;
  4206. .number {
  4207. flex: 1;
  4208. span {
  4209. padding-left: 30px;
  4210. }
  4211. }
  4212. .localhref {
  4213. height: 36px;
  4214. flex: 0 0 36px;
  4215. background: url("../../assets/images/homestead/farmlandEditSwitch_close.png")
  4216. no-repeat;
  4217. background-size: 100% 100%;
  4218. }
  4219. }
  4220. .flex_block {
  4221. flex: 1;
  4222. font-size: 28px;
  4223. .describe {
  4224. color: #555;
  4225. padding-right: 30px;
  4226. }
  4227. .content {
  4228. font-size: #333;
  4229. }
  4230. }
  4231. .uploadPictures_block {
  4232. flex: 0 0 200px;
  4233. max-height: 200px;
  4234. display: flex;
  4235. max-width: 90%;
  4236. .statusQuo {
  4237. flex: 1;
  4238. display: flex;
  4239. &:first-child {
  4240. margin-right: 20px;
  4241. }
  4242. .picture {
  4243. flex: 1;
  4244. background: url("../../assets/images/homestead/no_img.png") center
  4245. center no-repeat;
  4246. background-size: 90% auto;
  4247. padding-left: 10px;
  4248. img {
  4249. width: 100%;
  4250. height: 100%;
  4251. }
  4252. }
  4253. .describe {
  4254. flex: 0 0 32px;
  4255. display: flex;
  4256. justify-content: center; /* 相对父元素水平居中 */
  4257. align-items: center; /* 子元素相对父元素垂直居中 */
  4258. margin-left: 6px;
  4259. padding-left: 10px;
  4260. .uploads_main {
  4261. width: 200px;
  4262. height: 200px;
  4263. ::v-deep {
  4264. .van-uploader__input-wrapper {
  4265. width: 200px;
  4266. height: 200px;
  4267. }
  4268. }
  4269. }
  4270. }
  4271. }
  4272. }
  4273. .editor_block {
  4274. flex: 0 0 72px;
  4275. margin-top: 20px;
  4276. display: flex;
  4277. justify-content: flex-end;
  4278. .editor_icon {
  4279. width: 70px;
  4280. height: 70px;
  4281. background: url("../../assets/images/homestead/edit_icon.png")
  4282. no-repeat;
  4283. background-size: 100% 100%;
  4284. }
  4285. }
  4286. }
  4287. }
  4288. .landHomesteadEdit_wrap {
  4289. display: flex;
  4290. position: absolute;
  4291. left: 0;
  4292. bottom: -100vh;
  4293. z-index: 100;
  4294. width: 100%;
  4295. height: calc(100% - 190px);
  4296. flex-direction: column;
  4297. .content_mian {
  4298. flex: 1;
  4299. margin: 0 16px;
  4300. padding: 28px 25px 28px 40px;
  4301. background: #fff;
  4302. border-top-left-radius: 15px;
  4303. border-top-right-radius: 15px;
  4304. display: flex;
  4305. flex-direction: column;
  4306. .info_title {
  4307. flex: 0 0 60px;
  4308. margin-bottom: 15px;
  4309. font-size: 40px;
  4310. justify-content: center; /* 相对父元素水平居中 */
  4311. align-items: center; /* 子元素相对父元素垂直居中 */
  4312. color: #333;
  4313. }
  4314. .flex_main {
  4315. height: 890px;
  4316. padding-right: 15px;
  4317. overflow-y: auto;
  4318. }
  4319. .flex_block {
  4320. height: 100px;
  4321. margin-bottom: 20px;
  4322. .number_s50 {
  4323. width: 50%;
  4324. display: flex;
  4325. float: left;
  4326. flex-direction: column;
  4327. }
  4328. .number_s100 {
  4329. width: 100%;
  4330. float: left;
  4331. display: flex;
  4332. flex-direction: column;
  4333. }
  4334. .number_s60 {
  4335. // flex: 0.6;
  4336. width: 60%;
  4337. float: left;
  4338. display: flex;
  4339. flex-direction: column;
  4340. }
  4341. .number_s40 {
  4342. // flex: 0.4;
  4343. width: 40%;
  4344. display: flex;
  4345. flex-direction: column;
  4346. }
  4347. .number_s35 {
  4348. width: 35%;
  4349. float: left;
  4350. display: flex;
  4351. flex-direction: column;
  4352. }
  4353. .number_s30 {
  4354. width: 30%;
  4355. display: flex;
  4356. float: left;
  4357. flex-direction: column;
  4358. }
  4359. .title_m {
  4360. font-size: 28px;
  4361. flex: 0 0 50px;
  4362. white-space: nowrap;
  4363. text-overflow: ellipsis;
  4364. overflow: hidden;
  4365. word-break: break-all;
  4366. align-items: center; /* 子元素相对父元素垂直居中 */
  4367. }
  4368. .input_m {
  4369. &.select {
  4370. position: relative;
  4371. .dropDown_icon {
  4372. width: 20px;
  4373. height: 16px;
  4374. background: url("../../assets/images/homestead/drop-down.png")
  4375. no-repeat;
  4376. background-size: 100% 100%;
  4377. display: block;
  4378. position: absolute;
  4379. right: 8px;
  4380. top: 12px;
  4381. z-index: 99;
  4382. }
  4383. }
  4384. &.about {
  4385. position: relative;
  4386. .about_symbol {
  4387. position: absolute;
  4388. left: 8px;
  4389. top: 5px;
  4390. z-index: 99;
  4391. }
  4392. /deep/ {
  4393. .van-field__control {
  4394. padding-left: 38px;
  4395. }
  4396. }
  4397. }
  4398. .van-cell {
  4399. padding: 0;
  4400. /deep/ {
  4401. .van-field__control {
  4402. border-bottom: 1px solid #707070;
  4403. &:focus {
  4404. border-color: #3cbf5b;
  4405. color: #3cbf5b;
  4406. }
  4407. }
  4408. }
  4409. }
  4410. }
  4411. .mr50 {
  4412. padding-right: 50px;
  4413. }
  4414. }
  4415. .uploadPicturesFlex_block {
  4416. flex: 0 0 250px;
  4417. max-height: 280px;
  4418. display: flex;
  4419. padding-top: 30px;
  4420. // max-width: 90%;
  4421. .statusQuo {
  4422. flex: 1;
  4423. display: flex;
  4424. &:first-child {
  4425. margin-right: 30px;
  4426. }
  4427. .picture {
  4428. flex: 1;
  4429. display: flex;
  4430. // background: url("../../assets/images/homestead/no_img.png") center
  4431. // center no-repeat;
  4432. // background-size: 90% auto;
  4433. img {
  4434. width: 100%;
  4435. height: 230px;
  4436. }
  4437. .uploads_main {
  4438. width: 100%;
  4439. display: flex;
  4440. flex: 1;
  4441. /deep/ {
  4442. .van-uploader__wrapper {
  4443. flex: 1;
  4444. display: flex;
  4445. .van-uploader__preview {
  4446. flex: 1;
  4447. margin: 0;
  4448. display: flex;
  4449. .van-uploader__preview-image {
  4450. flex: 1;
  4451. width: initial;
  4452. height: initial;
  4453. .van-image__img {
  4454. height: 230px;
  4455. }
  4456. }
  4457. }
  4458. }
  4459. .van-uploader__input-wrapper {
  4460. width: 100%;
  4461. }
  4462. .van-uploader__upload {
  4463. // width: 100%;
  4464. // height: 200px;
  4465. width: initial;
  4466. height: initial;
  4467. flex: 1;
  4468. margin: 0;
  4469. }
  4470. }
  4471. }
  4472. }
  4473. .describe {
  4474. flex: 0 0 32px;
  4475. display: flex;
  4476. justify-content: center; /* 相对父元素水平居中 */
  4477. align-items: center; /* 子元素相对父元素垂直居中 */
  4478. margin-left: 15px;
  4479. }
  4480. }
  4481. // .title_m {
  4482. // font-size: 28px;
  4483. // flex: 0 0 50px;
  4484. // white-space: nowrap;
  4485. // text-overflow: ellipsis;
  4486. // overflow: hidden;
  4487. // word-break: break-all;
  4488. // align-items: center; /* 子元素相对父元素垂直居中 */
  4489. // margin-bottom: 20px;
  4490. // }
  4491. // .main_m {
  4492. // width: 200px;
  4493. // height: 200px;
  4494. // .uploads_main {
  4495. // width: 100%;
  4496. // height: 100%;
  4497. // img {
  4498. // width: 200px;
  4499. // height: 200px;
  4500. // }
  4501. // }
  4502. // }
  4503. }
  4504. }
  4505. .footer_main {
  4506. flex: 0 0 120px;
  4507. background: #fff;
  4508. display: flex;
  4509. justify-content: center; /* 相对父元素水平居中 */
  4510. align-items: center; /* 子元素相对父元素垂直居中 */
  4511. .cancel,
  4512. .save {
  4513. width: 260px;
  4514. height: 75px;
  4515. border-radius: 75px;
  4516. background: #cccccc;
  4517. font-size: 32px;
  4518. color: #fff;
  4519. display: flex;
  4520. justify-content: center; /* 相对父元素水平居中 */
  4521. align-items: center; /* 子元素相对父元素垂直居中 */
  4522. }
  4523. .save {
  4524. background: #3cbf5b;
  4525. margin-left: 50px;
  4526. }
  4527. }
  4528. }
  4529. .farmlandEditSwitch_wrap {
  4530. width: 100vw;
  4531. height: 100vh;
  4532. background: url("../../assets/images/homestead/farmlandEditSwitch_bg.png")
  4533. no-repeat;
  4534. background-size: 100% 100%;
  4535. position: absolute;
  4536. left: 0;
  4537. top: 0;
  4538. z-index: 1001;
  4539. .mains {
  4540. width: 544px;
  4541. height: 480px;
  4542. background: #fff;
  4543. position: absolute;
  4544. left: 50%;
  4545. top: 50%;
  4546. margin: -272px 0 0 -272px;
  4547. z-index: 1002;
  4548. border-radius: 30px;
  4549. padding: 0 30px;
  4550. display: flex;
  4551. justify-content: center; /* 相对父元素水平居中 */
  4552. align-items: center; /* 子元素相对父元素垂直居中 */
  4553. .close_btn {
  4554. position: absolute;
  4555. width: 28px;
  4556. height: 28px;
  4557. background: url("../../assets/images/homestead/farmlandEditSwitch_close.png")
  4558. no-repeat;
  4559. background-size: 100% 100%;
  4560. right: 40px;
  4561. top: 40px;
  4562. }
  4563. .farmhouse {
  4564. flex: 1;
  4565. display: flex;
  4566. justify-content: center; /* 相对父元素水平居中 */
  4567. align-items: center; /* 子元素相对父元素垂直居中 */
  4568. }
  4569. .farmland {
  4570. flex: 1;
  4571. display: flex;
  4572. justify-content: center; /* 相对父元素水平居中 */
  4573. align-items: center; /* 子元素相对父元素垂直居中 */
  4574. }
  4575. .farmhouse,
  4576. .farmland {
  4577. flex-direction: column;
  4578. .icons {
  4579. width: 146px;
  4580. height: 146px;
  4581. margin-bottom: 14px;
  4582. }
  4583. .names {
  4584. font-size: 40px;
  4585. color: #3cbf5b;
  4586. }
  4587. }
  4588. .farmhouse {
  4589. .icons {
  4590. background: url("../../assets/images/homestead/nf.png") no-repeat;
  4591. background-size: 100% 100%;
  4592. }
  4593. }
  4594. .farmland {
  4595. .icons {
  4596. background: url("../../assets/images/homestead/nd.png") no-repeat;
  4597. background-size: 100% 100%;
  4598. }
  4599. }
  4600. // <div class="farmhouse">
  4601. // <div class="icons"></div>
  4602. // <p class="names">农房</p>
  4603. // </div>
  4604. // <div class="farmland">
  4605. // <div class="icons"></div>
  4606. // <p class="names">农地</p>
  4607. // </div>
  4608. }
  4609. }
  4610. }
  4611. ::-webkit-scrollbar {
  4612. -webkit-appearance: none;
  4613. }
  4614. ::-webkit-scrollbar:vertical {
  4615. width: 10px;
  4616. border-radius: 10px;
  4617. }
  4618. ::-webkit-scrollbar:horizontal {
  4619. height: 10px;
  4620. border-radius: 10px;
  4621. }
  4622. ::-webkit-scrollbar-thumb {
  4623. background-color: #eee;
  4624. border-radius: 10px;
  4625. border: 3px solid #ffffff;
  4626. }
  4627. ::-webkit-scrollbar-track {
  4628. border-radius: 10px;
  4629. background-color: #ffffff;
  4630. }
  4631. ::v-deep {
  4632. .van-overlay {
  4633. background-color: rgba(0, 0, 0, 0.2);
  4634. }
  4635. }
  4636. </style>