TaskUploadData.vue 165 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581
  1. <template>
  2. <div>
  3. <a-spin :spinning="uploading" size="large" tip="正在提交资料,请勿关闭当前网页...">
  4. <a-page-header
  5. style="background-color: #FFFFFF;margin-bottom:10px"
  6. title="上传资料"
  7. :sub-title="notes"
  8. @back="goBack"
  9. >
  10. <a-form-model
  11. ref="form"
  12. :model="infoModel"
  13. :rules="rules"
  14. >
  15. <a-card style="margin-bottom:10px;color: #000000d9;font-size: 15px;line-height: 2.5;">
  16. <div>
  17. <span>1.请选择客户类型</span>
  18. </div>
  19. <a-radio-group style="position: relative;left: 30px"
  20. @change="controlChange" prop='customType' v-model:value="infoModel.customType">
  21. <a-radio :value="0">一类客户(党政军、大型企事业单位)</a-radio>
  22. <a-radio :value="1">二类客户(其余用户)</a-radio>
  23. </a-radio-group>
  24. <a-tooltip placement="topLeft" >
  25. <template slot="title">
  26. <span>1、不管是一类还是二类客户,场景为经营性呼叫中心和经营性会议电话的,还需提供短号码证书或者400接入合同,注意事项:必须使用400(95/96,12等)服务号码开通外呼功能,不可以使用八位用户服务号码进行外呼,须签署本地中继线和短号码接入合同后,在单独签署外显合同,短号码不可授权使用。
  27. </span>
  28. </template>
  29. <template slot="title">
  30. <span> 2、不管是一类还是二类客户,场景为自用型呼叫中心的,还需提供短号码证书或者400接入合同,注意事项:如果有短号码外呼,需要提供短号码证书或者400接入合同,同时须签署本地中继线和短号码接入合同后,在单独签署外显合同,短号码不可授权使用。</span>
  31. </template>
  32. <a-icon type="question-circle" style='margin-left: 30px;color: red' />
  33. </a-tooltip>
  34. <div>
  35. <span style="display: block">2.请选择使用场景</span>
  36. <a-radio-group style="position: relative;left: 30px;"
  37. @change="controlChange" v-model:value="infoModel.scene" prop='scene'>
  38. <a-radio :value="'0'">办公自用</a-radio>
  39. <a-radio :value="'1'">自用型呼叫中心</a-radio>
  40. <a-radio :value="'2'">经营型呼叫中心</a-radio>
  41. <a-radio :value="'3'">经营型会议电话</a-radio>
  42. </a-radio-group>
  43. </div>
  44. <div>
  45. <span style="display: block">3.是否突破价格管控</span>
  46. <a-radio-group style="position: relative;left: 30px;"
  47. @change="controlChange" v-model:value="infoModel.control" prop='scene'>
  48. <a-radio :value="'0'">否</a-radio>
  49. <a-radio :value="'1'">是</a-radio>
  50. </a-radio-group>
  51. </div>
  52. </a-card>
  53. <a-card style="margin-bottom:10px;color: #000000d9;font-size: 15px;line-height: 2.5;">
  54. <a-row>
  55. <a-col :span="6">
  56. <a-form-model-item label="客户编号"prop="customerNo" v-bind="labelCol4" >
  57. <a-input class="cornflowerblue" v-model="infoModel.customerNo" placeholder="客户编号" :disabled='true'></a-input>
  58. </a-form-model-item>
  59. </a-col>
  60. <!-- <a-col :span="6">-->
  61. <!-- <a-form-model-item label="用户编号" v-bind="labelCol4" >-->
  62. <!-- <a-input v-model="infoModel.userNo" placeholder="用户编号" :disabled='true'></a-input>-->
  63. <!-- </a-form-model-item>-->
  64. <!-- </a-col>-->
  65. <a-col :span="6">
  66. <a-form-model-item label="用户发展员工" prop="staffNo" v-bind="labelCol4">
  67. <a-input class="cornflowerblue" :disabled='true' v-model="infoModel.staffNo" placeholder="用户发展员工" ></a-input>
  68. </a-form-model-item>
  69. </a-col>
  70. <a-col :span="6">
  71. <a-form-model-item label="发展员工姓名" prop="staffNo" v-bind="labelCol4">
  72. <a-input class="cornflowerblue" :disabled='true' v-model="infoModel.staffName" placeholder="发展员工姓名" ></a-input>
  73. </a-form-model-item>
  74. </a-col>
  75. <!-- <a-col :span="6">-->
  76. <!-- <a-form-model-item label="用户号码" prop="userCode" v-bind="labelCol4">-->
  77. <!-- <a-input :disabled='true' v-model="infoModel.userCode" placeholder="用户号码" ></a-input>-->
  78. <!-- </a-form-model-item>-->
  79. <!-- </a-col>-->
  80. <a-col :span="6">
  81. <a-form-model-item label="用户编号" v-bind="labelCol4" >
  82. <a-input class="cornflowerblue" v-model="infoModel.userNo" placeholder="用户编号" :disabled='true'></a-input>
  83. </a-form-model-item>
  84. </a-col>
  85. <a-col :span="6">
  86. <a-form-model-item label="入网时间" prop="networkAccessTime" v-bind="labelCol4" >
  87. <a-input class="cornflowerblue" v-model="infoModel.networkAccessTime" placeholder="入网时间" :disabled='true'></a-input>
  88. </a-form-model-item>
  89. </a-col>
  90. <a-col :span="6">
  91. <a-form-model-item label="首次激活时间" prop="firstActivationDate" v-bind="labelCol4">
  92. <a-input class="cornflowerblue" :disabled='true' v-model="infoModel.firstActivationDate" placeholder="首次激活时间"></a-input>
  93. </a-form-model-item>
  94. </a-col>
  95. <a-col :span="6">
  96. <a-form-model-item label="账户编码" prop="accountCode" v-bind="labelCol4">
  97. <a-input class="cornflowerblue" :disabled='true' v-model="infoModel.accountCode" placeholder="账户编码"></a-input>
  98. </a-form-model-item>
  99. </a-col>
  100. <a-col :span="6">
  101. <a-form-model-item label="楼宇名称" prop="floorName" v-bind="labelCol4">
  102. <a-input class="cornflowerblue" :disabled='true' v-model="infoModel.floorName" placeholder="楼宇名称"></a-input>
  103. </a-form-model-item>
  104. </a-col>
  105. <a-col :span="6">
  106. <a-form-item label="用户状态"v-bind="labelCol4" prop="userState" >
  107. <j-dict-select-tag placeholder="请选择用户状态" v-model="infoModel.userState" dictCode="user_status_2"/>
  108. </a-form-item>
  109. </a-col>
  110. <a-col :span="6">
  111. <a-form-model-item label="客户名称(全)" prop="customerName" v-bind="labelCol4">
  112. <a-input v-model="infoModel.customerName" placeholder="客户名称/使用人名称"></a-input>
  113. </a-form-model-item>
  114. </a-col>
  115. <!-- <a-col :span="6">-->
  116. <!-- <a-form-model-item label="楼宇编号" prop="floorCode" v-bind="labelCol4">-->
  117. <!-- <a-input v-model="infoModel.floorCode" placeholder="楼宇编号"></a-input>-->
  118. <!-- </a-form-model-item>-->
  119. <!-- </a-col>-->
  120. <a-col :span="6">
  121. <a-form-model-item label="客户经理手机号" prop="managePhone" v-bind="labelCol4">
  122. <a-input v-model="infoModel.managePhone" placeholder="客户经理手机号"></a-input>
  123. </a-form-model-item>
  124. </a-col>
  125. <a-col :span="6">
  126. <a-form-model-item label="实际装机地址" prop="installationAddress" v-bind="labelCol4">
  127. <a-input v-model="infoModel.installationAddress" placeholder="实际装机地址"></a-input>
  128. </a-form-model-item>
  129. </a-col>
  130. <!--风险评估等级(非办公自用需提供)-->
  131. <a-col :span="9" v-if='infoModel.contractDateIs==="" || infoModel.contractDateIs===null || infoModel.contractDateIs==="1" '>
  132. <a-form-model-item label="合同到期时间是否长期" prop="contractDateIs" v-bind="labelCol5">
  133. <a-radio-group v-model="infoModel.contractDateIs" button-style="solid" >
  134. <a-radio-button value="0">否</a-radio-button>
  135. <a-radio-button value="1">是</a-radio-button>
  136. </a-radio-group>
  137. </a-form-model-item>
  138. </a-col>
  139. <a-col :span="9" v-if='infoModel.contractDateIs==="0" ' >
  140. <a-form-model-item label="合同到期时间" prop="contractDate" v-bind="labelCol6">
  141. <a-date-picker style="min-width:50px; width: 67% " v-model="infoModel.contractDate"
  142. format="YYYY-MM-DD"
  143. showTime valueFormat="YYYY-MM-DD"/>
  144. <a-button @click="back('contractDate')" >长期</a-button>
  145. </a-form-model-item>
  146. </a-col>
  147. <a-col :span="9" v-if='infoModel.businessLicenseDateIs==="" || infoModel.businessLicenseDateIs===null || infoModel.businessLicenseDateIs==="1" '>
  148. <a-form-model-item label="营业执照有效期是否长期" prop="businessLicenseDateIs" v-bind="labelCol5">
  149. <a-radio-group v-model="infoModel.businessLicenseDateIs" button-style="solid" >
  150. <a-radio-button value="0">否</a-radio-button>
  151. <a-radio-button value="1">是</a-radio-button>
  152. </a-radio-group>
  153. </a-form-model-item>
  154. </a-col>
  155. <a-col :span="9" v-if='infoModel.businessLicenseDateIs==="0"'>
  156. <a-form-model-item label="营业执照到期时间" prop="businessLicenseDate" v-bind="labelCol4">
  157. <a-date-picker style="min-width:50px; width: 67% " v-model="infoModel.businessLicenseDate"
  158. format="YYYY-MM-DD"
  159. showTime valueFormat="YYYY-MM-DD"/>
  160. <a-button @click="back('businessLicenseDate')" >长期</a-button>
  161. </a-form-model-item>
  162. </a-col>
  163. <!-- (第一类客户办公自用除外,不需提供)-->
  164. <a-col :span="10" v-if='infoModel.customType=="1"'>
  165. <a-form-model-item label="房屋租赁合同到期时间" prop="houseDate" v-bind="labelCol4">
  166. <a-date-picker style="width: 210px" v-model="infoModel.houseDate"
  167. format="YYYY-MM-DD"
  168. showTime valueFormat="YYYY-MM-DD"/>
  169. </a-form-model-item>
  170. </a-col>
  171. <a-col :span="11" v-if='infoModel.scene==="2" ||infoModel.scene==="3" '>
  172. <a-form-model-item label="经营型呼叫中心增值许可证到期日 " prop="zZBusinessLicenseDate" v-bind="labelCol4">
  173. <a-date-picker style="width: 210px" v-model="infoModel.zZBusinessLicenseDate"
  174. format="YYYY-MM-DD"
  175. showTime valueFormat="YYYY-MM-DD"/>
  176. </a-form-model-item>
  177. </a-col>
  178. <a-col :span="13" v-if='infoModel.scene!=="0"'>
  179. <a-form-model-item label="风险评估等级(非办公自用需提供)" prop="riskGrade" v-bind="labelCol4">
  180. <a-radio-group v-model="infoModel.riskGrade" button-style="solid" >
  181. <a-radio-button value="0">较低风险</a-radio-button>
  182. <a-radio-button value="1">低风险</a-radio-button>
  183. <a-radio-button value="2">中风险</a-radio-button>
  184. <a-radio-button value="3">高风险</a-radio-button>
  185. </a-radio-group>
  186. </a-form-model-item>
  187. </a-col>
  188. </a-row>
  189. </a-card>
  190. </a-form-model>
  191. </a-page-header>
  192. </a-spin>
  193. <!-- 步骤条-->
  194. <a-card style="margin-bottom:10px;width: 15%;float: left">
  195. <a-steps direction="vertical" :current="steps.current" size="small" @change="stepsClick">
  196. <a-step v-for="item in steps.stepsNow" :key="item.title" :title="item.title" :status="item.status"/>
  197. </a-steps>
  198. <a-button @click="addIsStaging" style="width: 100%" type="warn">暂存</a-button>
  199. <a-button @click="submitAuditLot" style="width: 100%;position: relative;top: 10px" type="primary">提交申请</a-button>
  200. </a-card>
  201. <!-- 入网申请签报 -->
  202. <a-card v-if="steps.currentId === 'applySign'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  203. <div slot="title">
  204. <span style="float: left;position: relative;top: 4px">入网申请签报</span>
  205. </div>
  206. <div class="a-card-25">
  207. <a-alert
  208. message="注意事项(必看)"
  209. type="warning"
  210. style="height: 100vh"
  211. >
  212. <div slot="description" class="markdown" style="position: relative;top:30px">
  213. <ul>
  214. <li>1)18年9月以后入网的需要</li>
  215. </ul>
  216. </div>
  217. </a-alert>
  218. </div>
  219. <div class="a-card-70">
  220. <div>
  221. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  222. <a-textarea class="a-textarea-line-30"
  223. v-model="infoModel.applySignRemark"
  224. @change="textareaChange('applySign','applySignRemark')"
  225. placeholder="如没有上传资料备注,需要说明原因"
  226. />
  227. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  228. </a-form-model-item>
  229. </div>
  230. <a-upload
  231. name="file"
  232. :multiple="true"
  233. :action="importMinioUploadAction"
  234. :customRequest="e => selfUploadContract(e, 'applySign')"
  235. :headers="tokenHeader"
  236. :showUploadList="false"
  237. :beforeUpload="importBeforeUpload"
  238. @change="importHandleChange"
  239. style='margin-left: 125px;line-height: 50px'
  240. >
  241. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  242. </a-upload>
  243. <div style="height: 70%">
  244. <div class="thumb-example">
  245. <swiper
  246. class="swiper gallery-top"
  247. :options="swiperOptionTop"
  248. ref="swiperTop"
  249. >
  250. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.applySign" :key="item.id">
  251. <iframe
  252. v-if="item.urlBase"
  253. frameborder="1"
  254. :src="item.urlBase"
  255. ref="ifr"
  256. width="70%"
  257. height="500px"
  258. scrolling="auto">
  259. </iframe>
  260. <img style="width: 70%;height: 70%;border: 1px solid;"
  261. v-if="!item.urlBase" :src="noDataPng" border="1">
  262. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  263. danger @click="removeFile(item,'applySign')">移除
  264. </a-button>
  265. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  266. v-if=" item.urlBase"
  267. @click="jumpUrl(item.urlBase)">预览
  268. </a-button></div>
  269. </swiper-slide>
  270. <div
  271. class="swiper-button-next swiper-button-white"
  272. slot="button-next"
  273. ></div>
  274. <div
  275. class="swiper-button-prev swiper-button-white"
  276. slot="button-prev"
  277. ></div>
  278. </swiper>
  279. <!-- swiper2 Thumbs -->
  280. <swiper
  281. class="swiper gallery-thumbs"
  282. :options="swiperOptionThumbs"
  283. ref="swiperThumbs"
  284. >
  285. <swiper-slide
  286. class="slide"
  287. style="width:100px;height:100px;"
  288. v-for="(item, index) in infoModel.applySign"
  289. :key="item.id"
  290. >
  291. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  292. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  293. </div>
  294. <img style="width: 100%;height: 96px"
  295. v-if="!item.urlBase" :src="noDataPng" border="1">
  296. </swiper-slide>
  297. <!-- 点我上传文件按钮-->
  298. <div class="clearfix">
  299. <a-upload
  300. listType="picture-card"
  301. name="file"
  302. :multiple="false"
  303. :action="importMinioUploadAction"
  304. :customRequest="e => selfUploadContract(e, 'applySign')"
  305. :headers="tokenHeader"
  306. :showUploadList="false"
  307. :beforeUpload="importBeforeUpload"
  308. @change="importHandleChange"
  309. >
  310. <div>
  311. <a-icon type="plus"/>
  312. <div class="ant-upload-text">点我上传</div>
  313. </div>
  314. </a-upload>
  315. </div>
  316. <div class="swiper-button-next swiper-button-white" slot="button-next">
  317. <div>
  318. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  319. </div>
  320. </div>
  321. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  322. <div>
  323. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  324. </div>
  325. </div>
  326. </swiper>
  327. </div>
  328. </div>
  329. </div>
  330. </a-card>
  331. <!-- 中继线营业执照 -->
  332. <a-card v-if="steps.currentId === 'businessLicense'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  333. <div slot="title">
  334. <span style="float: left;position: relative;top: 4px">中继线营业执照</span>
  335. </div>
  336. <div class="a-card-25">
  337. <a-alert
  338. message="注意事项(必看)"
  339. type="warning"
  340. style="height: 100vh"
  341. >
  342. <div slot="description" class="markdown" style="position: relative;top:30px">
  343. <ul>
  344. <li>1)请按材料如实上传</li>
  345. </ul>
  346. </div>
  347. </a-alert>
  348. </div>
  349. <div class="a-card-70">
  350. <div>
  351. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  352. <a-textarea class="a-textarea-line-30"
  353. v-model="infoModel.businessLicenseRemark"
  354. @change="textareaChange('businessLicense','businessLicenseRemark')"
  355. placeholder="如没有上传资料备注,需要说明原因"
  356. />
  357. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  358. </a-form-model-item>
  359. </div>
  360. <a-upload
  361. name="file"
  362. :multiple="true"
  363. :action="importMinioUploadAction"
  364. :customRequest="e => selfUploadContract(e, 'businessLicense')"
  365. :headers="tokenHeader"
  366. :showUploadList="false"
  367. :beforeUpload="importBeforeUpload"
  368. @change="importHandleChange"
  369. style='margin-left: 125px;line-height: 50px'
  370. >
  371. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  372. </a-upload>
  373. <div style="height: 70%">
  374. <div class="thumb-example">
  375. <swiper
  376. class="swiper gallery-top"
  377. :options="swiperOptionTop"
  378. ref="swiperTop"
  379. >
  380. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.businessLicense" :key="item.id">
  381. <iframe
  382. v-if="item.urlBase"
  383. frameborder="1"
  384. :src="item.urlBase"
  385. ref="ifr"
  386. width="70%"
  387. height="500px"
  388. scrolling="auto">
  389. </iframe>
  390. <img style="width: 70%;height: 70%;border: 1px solid;"
  391. v-if="!item.urlBase" :src="noDataPng" border="1">
  392. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  393. danger @click="removeFile(item,'businessLicense')">移除
  394. </a-button>
  395. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  396. v-if=" item.urlBase"
  397. @click="jumpUrl(item.urlBase)">预览
  398. </a-button></div>
  399. </swiper-slide>
  400. <div
  401. class="swiper-button-next swiper-button-white"
  402. slot="button-next"
  403. ></div>
  404. <div
  405. class="swiper-button-prev swiper-button-white"
  406. slot="button-prev"
  407. ></div>
  408. </swiper>
  409. <!-- swiper2 Thumbs -->
  410. <swiper
  411. class="swiper gallery-thumbs"
  412. :options="swiperOptionThumbs"
  413. ref="swiperThumbs"
  414. >
  415. <swiper-slide
  416. class="slide"
  417. style="width:100px;height:100px;"
  418. v-for="(item, index) in infoModel.businessLicense"
  419. :key="item.id"
  420. >
  421. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  422. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  423. </div>
  424. <img style="width: 100%;height: 96px"
  425. v-if="!item.urlBase" :src="noDataPng" border="1">
  426. </swiper-slide>
  427. <!-- 点我上传文件按钮-->
  428. <div class="clearfix">
  429. <a-upload
  430. listType="picture-card"
  431. name="file"
  432. :multiple="false"
  433. :action="importMinioUploadAction"
  434. :customRequest="e => selfUploadContract(e, 'businessLicense')"
  435. :headers="tokenHeader"
  436. :showUploadList="false"
  437. :beforeUpload="importBeforeUpload"
  438. @change="importHandleChange"
  439. >
  440. <div>
  441. <a-icon type="plus"/>
  442. <div class="ant-upload-text">点我上传</div>
  443. </div>
  444. </a-upload>
  445. </div>
  446. <div class="swiper-button-next swiper-button-white" slot="button-next">
  447. <div>
  448. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  449. </div>
  450. </div>
  451. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  452. <div>
  453. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  454. </div>
  455. </div>
  456. </swiper>
  457. </div>
  458. </div>
  459. </div>
  460. </a-card>
  461. <!-- 三张现场照片 -->
  462. <a-card v-if="steps.currentId === 'threePhotos'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  463. <div slot="title">
  464. <span style="float: left;position: relative;top: 4px">三张现场照片</span>
  465. </div>
  466. <div class="a-card-25">
  467. <a-alert
  468. message="注意事项(必看)"
  469. type="warning"
  470. style="height: 100vh"
  471. >
  472. <div slot="description" class="markdown" style="position: relative;top:30px">
  473. <ul>
  474. <li >1) 客户办公现场、装机地址(交换机和配线架等)、公司logo照片(客户经理必须到现场,照片客户经理需体现)</li>
  475. </ul>
  476. </div>
  477. </a-alert>
  478. </div>
  479. <div class="a-card-70">
  480. <div>
  481. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  482. <a-textarea class="a-textarea-line-30"
  483. v-model="infoModel.threePhotosRemark"
  484. @change="textareaChange('threePhotos','threePhotosRemark')"
  485. placeholder="如没有上传资料备注,需要说明原因"
  486. />
  487. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  488. </a-form-model-item>
  489. </div>
  490. <a-upload
  491. name="file"
  492. :multiple="true"
  493. :action="importMinioUploadAction"
  494. :customRequest="e => selfUploadContract(e, 'threePhotos')"
  495. :headers="tokenHeader"
  496. :showUploadList="false"
  497. :beforeUpload="importBeforeUpload"
  498. @change="importHandleChange"
  499. style='margin-left: 125px;line-height: 50px'
  500. >
  501. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  502. </a-upload>
  503. <div style="height: 70%">
  504. <div class="thumb-example">
  505. <swiper
  506. class="swiper gallery-top"
  507. :options="swiperOptionTop"
  508. ref="swiperTop"
  509. >
  510. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.threePhotos" :key="item.id">
  511. <iframe
  512. v-if="item.urlBase"
  513. frameborder="1"
  514. :src="item.urlBase"
  515. ref="ifr"
  516. width="70%"
  517. height="500px"
  518. scrolling="auto">
  519. </iframe>
  520. <img style="width: 70%;height: 70%;border: 1px solid;"
  521. v-if="!item.urlBase" :src="noDataPng" border="1">
  522. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  523. danger @click="removeFile(item,'threePhotos')">移除
  524. </a-button>
  525. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  526. v-if=" item.urlBase"
  527. @click="jumpUrl(item.urlBase)">预览
  528. </a-button></div>
  529. </swiper-slide>
  530. <div
  531. class="swiper-button-next swiper-button-white"
  532. slot="button-next"
  533. ></div>
  534. <div
  535. class="swiper-button-prev swiper-button-white"
  536. slot="button-prev"
  537. ></div>
  538. </swiper>
  539. <!-- swiper2 Thumbs -->
  540. <swiper
  541. class="swiper gallery-thumbs"
  542. :options="swiperOptionThumbs"
  543. ref="swiperThumbs"
  544. >
  545. <swiper-slide
  546. class="slide"
  547. style="width:100px;height:100px;"
  548. v-for="(item, index) in infoModel.threePhotos"
  549. :key="item.id"
  550. >
  551. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  552. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  553. </div>
  554. <img style="width: 100%;height: 96px"
  555. v-if="!item.urlBase" :src="noDataPng" border="1">
  556. </swiper-slide>
  557. <!-- 点我上传文件按钮-->
  558. <div class="clearfix">
  559. <a-upload
  560. listType="picture-card"
  561. name="file"
  562. :multiple="false"
  563. :action="importMinioUploadAction"
  564. :customRequest="e => selfUploadContract(e, 'threePhotos')"
  565. :headers="tokenHeader"
  566. :showUploadList="false"
  567. :beforeUpload="importBeforeUpload"
  568. @change="importHandleChange"
  569. >
  570. <div>
  571. <a-icon type="plus"/>
  572. <div class="ant-upload-text">点我上传</div>
  573. </div>
  574. </a-upload>
  575. </div>
  576. <div class="swiper-button-next swiper-button-white" slot="button-next">
  577. <div>
  578. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  579. </div>
  580. </div>
  581. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  582. <div>
  583. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  584. </div>
  585. </div>
  586. </swiper>
  587. </div>
  588. </div>
  589. </div>
  590. </a-card>
  591. <!-- DID(含中继线)业务的责任承诺函-->
  592. <a-card v-if="steps.currentId === 'commitmentBook'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  593. <div slot="title">
  594. <span style="float: left;position: relative;top: 4px">DID(含中继线)业务的责任承诺函</span>
  595. </div>
  596. <div class="a-card-25">
  597. <a-alert
  598. message="注意事项(必看)"
  599. type="warning"
  600. style="height: 100vh"
  601. >
  602. <div slot="description" class="markdown" style="position: relative;top:30px">
  603. <ul>
  604. <li >1) 需写明使用号段、中继线引示号、中继线条数等信息,盖公章。</li>
  605. </ul>
  606. </div>
  607. </a-alert>
  608. </div>
  609. <div class="a-card-70">
  610. <div>
  611. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  612. <a-textarea class="a-textarea-line-30"
  613. v-model="infoModel.commitmentBookRemark"
  614. @change="textareaChange('commitmentBook','commitmentBookRemark')"
  615. placeholder="如没有上传资料备注,需要说明原因"
  616. />
  617. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  618. </a-form-model-item>
  619. </div>
  620. <a-upload
  621. name="file"
  622. :multiple="true"
  623. :action="importMinioUploadAction"
  624. :customRequest="e => selfUploadContract(e, 'commitmentBook')"
  625. :headers="tokenHeader"
  626. :showUploadList="false"
  627. :beforeUpload="importBeforeUpload"
  628. @change="importHandleChange"
  629. style='margin-left: 125px;line-height: 50px'
  630. >
  631. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  632. </a-upload>
  633. <div style="height: 70%">
  634. <div class="thumb-example">
  635. <swiper
  636. class="swiper gallery-top"
  637. :options="swiperOptionTop"
  638. ref="swiperTop"
  639. >
  640. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.commitmentBook" :key="item.id">
  641. <iframe
  642. v-if="item.urlBase"
  643. frameborder="1"
  644. :src="item.urlBase"
  645. ref="ifr"
  646. width="70%"
  647. height="500px"
  648. scrolling="auto">
  649. </iframe>
  650. <img style="width: 70%;height: 70%;border: 1px solid;"
  651. v-if="!item.urlBase" :src="noDataPng" border="1">
  652. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  653. danger @click="removeFile(item,'commitmentBook')">移除
  654. </a-button>
  655. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  656. v-if=" item.urlBase"
  657. @click="jumpUrl(item.urlBase)">预览
  658. </a-button></div>
  659. </swiper-slide>
  660. <div
  661. class="swiper-button-next swiper-button-white"
  662. slot="button-next"
  663. ></div>
  664. <div
  665. class="swiper-button-prev swiper-button-white"
  666. slot="button-prev"
  667. ></div>
  668. </swiper>
  669. <!-- swiper2 Thumbs -->
  670. <swiper
  671. class="swiper gallery-thumbs"
  672. :options="swiperOptionThumbs"
  673. ref="swiperThumbs"
  674. >
  675. <swiper-slide
  676. class="slide"
  677. style="width:100px;height:100px;"
  678. v-for="(item, index) in infoModel.commitmentBook"
  679. :key="item.id"
  680. >
  681. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  682. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  683. </div>
  684. <img style="width: 100%;height: 96px"
  685. v-if="!item.urlBase" :src="noDataPng" border="1">
  686. </swiper-slide>
  687. <!-- 点我上传文件按钮-->
  688. <div class="clearfix">
  689. <a-upload
  690. listType="picture-card"
  691. name="file"
  692. :multiple="false"
  693. :action="importMinioUploadAction"
  694. :customRequest="e => selfUploadContract(e, 'commitmentBook')"
  695. :headers="tokenHeader"
  696. :showUploadList="false"
  697. :beforeUpload="importBeforeUpload"
  698. @change="importHandleChange"
  699. >
  700. <div>
  701. <a-icon type="plus"/>
  702. <div class="ant-upload-text">点我上传</div>
  703. </div>
  704. </a-upload>
  705. </div>
  706. <div class="swiper-button-next swiper-button-white" slot="button-next">
  707. <div>
  708. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  709. </div>
  710. </div>
  711. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  712. <div>
  713. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  714. </div>
  715. </div>
  716. </swiper>
  717. </div>
  718. </div>
  719. </div>
  720. </a-card>
  721. <!-- 价格审批表-->
  722. <a-card v-if="steps.currentId === 'isPriceApproval'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  723. <div slot="title">
  724. <span style="float: left;position: relative;top: 4px">价格审批表</span>
  725. </div>
  726. <div class="a-card-25">
  727. <a-alert
  728. message="注意事项(必看)"
  729. type="warning"
  730. style="height: 100vh"
  731. >
  732. <div slot="description" class="markdown" style="position: relative;top:30px">
  733. <ul>
  734. <li >1)如有价格审批表请进行上传</li>
  735. </ul>
  736. </div>
  737. </a-alert>
  738. </div>
  739. <div class="a-card-70">
  740. <div>
  741. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  742. <a-textarea class="a-textarea-line-30"
  743. v-model="infoModel.isPriceApprovalRemark"
  744. @change="textareaChange('isPriceApproval','isPriceApprovalRemark')"
  745. placeholder="如没有上传资料备注,需要说明原因"
  746. />
  747. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  748. </a-form-model-item>
  749. </div>
  750. <a-upload
  751. name="file"
  752. :multiple="true"
  753. :action="importMinioUploadAction"
  754. :customRequest="e => selfUploadContract(e, 'isPriceApproval')"
  755. :headers="tokenHeader"
  756. :showUploadList="false"
  757. :beforeUpload="importBeforeUpload"
  758. @change="importHandleChange"
  759. style='margin-left: 125px;line-height: 50px'
  760. >
  761. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  762. </a-upload>
  763. <div style="height: 70%">
  764. <div class="thumb-example">
  765. <swiper
  766. class="swiper gallery-top"
  767. :options="swiperOptionTop"
  768. ref="swiperTop"
  769. >
  770. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.isPriceApproval" :key="item.id">
  771. <iframe
  772. v-if="item.urlBase"
  773. frameborder="1"
  774. :src="item.urlBase"
  775. ref="ifr"
  776. width="70%"
  777. height="500px"
  778. scrolling="auto">
  779. </iframe>
  780. <img style="width: 70%;height: 70%;border: 1px solid;"
  781. v-if="!item.urlBase" :src="noDataPng" border="1">
  782. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  783. danger @click="removeFile(item,'isPriceApproval')">移除
  784. </a-button>
  785. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  786. v-if=" item.urlBase"
  787. @click="jumpUrl(item.urlBase)">预览
  788. </a-button></div>
  789. </swiper-slide>
  790. <div
  791. class="swiper-button-next swiper-button-white"
  792. slot="button-next"
  793. ></div>
  794. <div
  795. class="swiper-button-prev swiper-button-white"
  796. slot="button-prev"
  797. ></div>
  798. </swiper>
  799. <!-- swiper2 Thumbs -->
  800. <swiper
  801. class="swiper gallery-thumbs"
  802. :options="swiperOptionThumbs"
  803. ref="swiperThumbs"
  804. >
  805. <swiper-slide
  806. class="slide"
  807. style="width:100px;height:100px;"
  808. v-for="(item, index) in infoModel.isPriceApproval"
  809. :key="item.id"
  810. >
  811. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  812. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  813. </div>
  814. <img style="width: 100%;height: 96px"
  815. v-if="!item.urlBase" :src="noDataPng" border="1">
  816. </swiper-slide>
  817. <!-- 点我上传文件按钮-->
  818. <div class="clearfix">
  819. <a-upload
  820. listType="picture-card"
  821. name="file"
  822. :multiple="false"
  823. :action="importMinioUploadAction"
  824. :customRequest="e => selfUploadContract(e, 'isPriceApproval')"
  825. :headers="tokenHeader"
  826. :showUploadList="false"
  827. :beforeUpload="importBeforeUpload"
  828. @change="importHandleChange"
  829. >
  830. <div>
  831. <a-icon type="plus"/>
  832. <div class="ant-upload-text">点我上传</div>
  833. </div>
  834. </a-upload>
  835. </div>
  836. <div class="swiper-button-next swiper-button-white" slot="button-next">
  837. <div>
  838. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  839. </div>
  840. </div>
  841. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  842. <div>
  843. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  844. </div>
  845. </div>
  846. </swiper>
  847. </div>
  848. </div>
  849. </div>
  850. </a-card>
  851. <!-- 法人身份证-->
  852. <a-card v-if="steps.currentId === 'legalIdCard'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  853. <div slot="title">
  854. <span style="float: left;position: relative;top: 4px">法人身份证</span>
  855. </div>
  856. <div class="a-card-25">
  857. <a-alert
  858. message="注意事项(必看)"
  859. type="warning"
  860. style="height: 100vh"
  861. >
  862. <div slot="description" class="markdown" style="position: relative;top:30px">
  863. <ul>
  864. <li >非党政军客户需具备</li>
  865. </ul>
  866. </div>
  867. </a-alert>
  868. </div>
  869. <div class="a-card-70">
  870. <div>
  871. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  872. <a-textarea class="a-textarea-line-30"
  873. v-model="infoModel.legalIdCardRemark"
  874. @change="textareaChange('legalIdCard','legalIdCardRemark')"
  875. placeholder="如没有上传资料备注,需要说明原因"
  876. />
  877. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  878. </a-form-model-item>
  879. </div>
  880. <a-upload
  881. name="file"
  882. :multiple="true"
  883. :action="importMinioUploadAction"
  884. :customRequest="e => selfUploadContract(e, 'legalIdCard')"
  885. :headers="tokenHeader"
  886. :showUploadList="false"
  887. :beforeUpload="importBeforeUpload"
  888. @change="importHandleChange"
  889. style='margin-left: 125px;line-height: 50px'
  890. >
  891. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  892. </a-upload>
  893. <div style="height: 70%">
  894. <div class="thumb-example">
  895. <swiper
  896. class="swiper gallery-top"
  897. :options="swiperOptionTop"
  898. ref="swiperTop"
  899. >
  900. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.legalIdCard" :key="item.id">
  901. <iframe
  902. v-if="item.urlBase"
  903. frameborder="1"
  904. :src="item.urlBase"
  905. ref="ifr"
  906. width="70%"
  907. height="500px"
  908. scrolling="auto">
  909. </iframe>
  910. <img style="width: 70%;height: 70%;border: 1px solid;"
  911. v-if="!item.urlBase" :src="noDataPng" border="1">
  912. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  913. danger @click="removeFile(item,'legalIdCard')">移除
  914. </a-button>
  915. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  916. v-if=" item.urlBase"
  917. @click="jumpUrl(item.urlBase)">预览
  918. </a-button></div>
  919. </swiper-slide>
  920. <div
  921. class="swiper-button-next swiper-button-white"
  922. slot="button-next"
  923. ></div>
  924. <div
  925. class="swiper-button-prev swiper-button-white"
  926. slot="button-prev"
  927. ></div>
  928. </swiper>
  929. <!-- swiper2 Thumbs -->
  930. <swiper
  931. class="swiper gallery-thumbs"
  932. :options="swiperOptionThumbs"
  933. ref="swiperThumbs"
  934. >
  935. <swiper-slide
  936. class="slide"
  937. style="width:100px;height:100px;"
  938. v-for="(item, index) in infoModel.legalIdCard"
  939. :key="item.id"
  940. >
  941. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  942. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  943. </div>
  944. <img style="width: 100%;height: 96px"
  945. v-if="!item.urlBase" :src="noDataPng" border="1">
  946. </swiper-slide>
  947. <!-- 点我上传文件按钮-->
  948. <div class="clearfix">
  949. <a-upload
  950. listType="picture-card"
  951. name="file"
  952. :multiple="false"
  953. :action="importMinioUploadAction"
  954. :customRequest="e => selfUploadContract(e, 'legalIdCard')"
  955. :headers="tokenHeader"
  956. :showUploadList="false"
  957. :beforeUpload="importBeforeUpload"
  958. @change="importHandleChange"
  959. >
  960. <div>
  961. <a-icon type="plus"/>
  962. <div class="ant-upload-text">点我上传</div>
  963. </div>
  964. </a-upload>
  965. </div>
  966. <div class="swiper-button-next swiper-button-white" slot="button-next">
  967. <div>
  968. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  969. </div>
  970. </div>
  971. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  972. <div>
  973. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  974. </div>
  975. </div>
  976. </swiper>
  977. </div>
  978. </div>
  979. </div>
  980. </a-card>
  981. <!-- 经办人身份证-->
  982. <a-card v-if="steps.currentId === 'operatorIdCard'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  983. <div slot="title">
  984. <span style="float: left;position: relative;top: 4px">经办人身份证</span>
  985. </div>
  986. <div class="a-card-25">
  987. <a-alert
  988. message="注意事项(必看)"
  989. type="warning"
  990. style="height: 100vh"
  991. >
  992. <div slot="description" class="markdown" style="position: relative;top:30px">
  993. <ul>
  994. <li >1)如有经办人身份证请进行上传</li>
  995. </ul>
  996. </div>
  997. </a-alert>
  998. </div>
  999. <div class="a-card-70">
  1000. <div>
  1001. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  1002. <a-textarea class="a-textarea-line-30"
  1003. v-model="infoModel.operatorIdCardRemark"
  1004. @change="textareaChange('operatorIdCard','operatorIdCardRemark')"
  1005. placeholder="如没有上传资料备注,需要说明原因"
  1006. />
  1007. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1008. </a-form-model-item>
  1009. </div>
  1010. <a-upload
  1011. name="file"
  1012. :multiple="true"
  1013. :action="importMinioUploadAction"
  1014. :customRequest="e => selfUploadContract(e, 'operatorIdCard')"
  1015. :headers="tokenHeader"
  1016. :showUploadList="false"
  1017. :beforeUpload="importBeforeUpload"
  1018. @change="importHandleChange"
  1019. style='margin-left: 125px;line-height: 50px'
  1020. >
  1021. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1022. </a-upload>
  1023. <div style="height: 70%">
  1024. <div class="thumb-example">
  1025. <swiper
  1026. class="swiper gallery-top"
  1027. :options="swiperOptionTop"
  1028. ref="swiperTop"
  1029. >
  1030. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.operatorIdCard" :key="item.id">
  1031. <iframe
  1032. v-if="item.urlBase"
  1033. frameborder="1"
  1034. :src="item.urlBase"
  1035. ref="ifr"
  1036. width="70%"
  1037. height="500px"
  1038. scrolling="auto">
  1039. </iframe>
  1040. <img style="width: 70%;height: 70%;border: 1px solid;"
  1041. v-if="!item.urlBase" :src="noDataPng" border="1">
  1042. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  1043. danger @click="removeFile(item,'operatorIdCard')">移除
  1044. </a-button>
  1045. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1046. v-if=" item.urlBase"
  1047. @click="jumpUrl(item.urlBase)">预览
  1048. </a-button></div>
  1049. </swiper-slide>
  1050. <div
  1051. class="swiper-button-next swiper-button-white"
  1052. slot="button-next"
  1053. ></div>
  1054. <div
  1055. class="swiper-button-prev swiper-button-white"
  1056. slot="button-prev"
  1057. ></div>
  1058. </swiper>
  1059. <!-- swiper2 Thumbs -->
  1060. <swiper
  1061. class="swiper gallery-thumbs"
  1062. :options="swiperOptionThumbs"
  1063. ref="swiperThumbs"
  1064. >
  1065. <swiper-slide
  1066. class="slide"
  1067. style="width:100px;height:100px;"
  1068. v-for="(item, index) in infoModel.operatorIdCard"
  1069. :key="item.id"
  1070. >
  1071. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1072. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1073. </div>
  1074. <img style="width: 100%;height: 96px"
  1075. v-if="!item.urlBase" :src="noDataPng" border="1">
  1076. </swiper-slide>
  1077. <!-- 点我上传文件按钮-->
  1078. <div class="clearfix">
  1079. <a-upload
  1080. listType="picture-card"
  1081. name="file"
  1082. :multiple="false"
  1083. :action="importMinioUploadAction"
  1084. :customRequest="e => selfUploadContract(e, 'operatorIdCard')"
  1085. :headers="tokenHeader"
  1086. :showUploadList="false"
  1087. :beforeUpload="importBeforeUpload"
  1088. @change="importHandleChange"
  1089. >
  1090. <div>
  1091. <a-icon type="plus"/>
  1092. <div class="ant-upload-text">点我上传</div>
  1093. </div>
  1094. </a-upload>
  1095. </div>
  1096. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1097. <div>
  1098. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1099. </div>
  1100. </div>
  1101. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1102. <div>
  1103. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1104. </div>
  1105. </div>
  1106. </swiper>
  1107. </div>
  1108. </div>
  1109. </div>
  1110. </a-card>
  1111. <!-- 授权函-->
  1112. <a-card v-if="steps.currentId === 'authorizeBook'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  1113. <div slot="title">
  1114. <span style="float: left;position: relative;top: 4px">授权函</span>
  1115. </div>
  1116. <div class="a-card-25">
  1117. <a-alert
  1118. message="注意事项(必看)"
  1119. type="warning"
  1120. style="height: 100vh"
  1121. >
  1122. <div slot="description" class="markdown" style="position: relative;top:30px">
  1123. <ul>
  1124. <li >1)如有授权函请进行上传</li>
  1125. </ul>
  1126. </div>
  1127. </a-alert>
  1128. </div>
  1129. <div class="a-card-70">
  1130. <div>
  1131. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  1132. <a-textarea class="a-textarea-line-30"
  1133. v-model="infoModel.authorizeBookRemark"
  1134. @change="textareaChange('authorizeBook','authorizeBookRemark')"
  1135. placeholder="如没有上传资料备注,需要说明原因"
  1136. />
  1137. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1138. </a-form-model-item>
  1139. </div>
  1140. <a-upload
  1141. name="file"
  1142. :multiple="true"
  1143. :action="importMinioUploadAction"
  1144. :customRequest="e => selfUploadContract(e, 'authorizeBook')"
  1145. :headers="tokenHeader"
  1146. :showUploadList="false"
  1147. :beforeUpload="importBeforeUpload"
  1148. @change="importHandleChange"
  1149. style='margin-left: 125px;line-height: 50px'
  1150. >
  1151. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1152. </a-upload>
  1153. <div style="height: 70%">
  1154. <div class="thumb-example">
  1155. <swiper
  1156. class="swiper gallery-top"
  1157. :options="swiperOptionTop"
  1158. ref="swiperTop"
  1159. >
  1160. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.authorizeBook" :key="item.id">
  1161. <iframe
  1162. v-if="item.urlBase"
  1163. frameborder="1"
  1164. :src="item.urlBase"
  1165. ref="ifr"
  1166. width="70%"
  1167. height="500px"
  1168. scrolling="auto">
  1169. </iframe>
  1170. <img style="width: 70%;height: 70%;border: 1px solid;"
  1171. v-if="!item.urlBase" :src="noDataPng" border="1">
  1172. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  1173. danger @click="removeFile(item,'authorizeBook')">移除
  1174. </a-button>
  1175. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1176. v-if=" item.urlBase"
  1177. @click="jumpUrl(item.urlBase)">预览
  1178. </a-button></div>
  1179. </swiper-slide>
  1180. <div
  1181. class="swiper-button-next swiper-button-white"
  1182. slot="button-next"
  1183. ></div>
  1184. <div
  1185. class="swiper-button-prev swiper-button-white"
  1186. slot="button-prev"
  1187. ></div>
  1188. </swiper>
  1189. <!-- swiper2 Thumbs -->
  1190. <swiper
  1191. class="swiper gallery-thumbs"
  1192. :options="swiperOptionThumbs"
  1193. ref="swiperThumbs"
  1194. >
  1195. <swiper-slide
  1196. class="slide"
  1197. style="width:100px;height:100px;"
  1198. v-for="(item, index) in infoModel.authorizeBook"
  1199. :key="item.id"
  1200. >
  1201. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1202. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1203. </div>
  1204. <img style="width: 100%;height: 96px"
  1205. v-if="!item.urlBase" :src="noDataPng" border="1">
  1206. </swiper-slide>
  1207. <!-- 点我上传文件按钮-->
  1208. <div class="clearfix">
  1209. <a-upload
  1210. listType="picture-card"
  1211. name="file"
  1212. :multiple="false"
  1213. :action="importMinioUploadAction"
  1214. :customRequest="e => selfUploadContract(e, 'authorizeBook')"
  1215. :headers="tokenHeader"
  1216. :showUploadList="false"
  1217. :beforeUpload="importBeforeUpload"
  1218. @change="importHandleChange"
  1219. >
  1220. <div>
  1221. <a-icon type="plus"/>
  1222. <div class="ant-upload-text">点我上传</div>
  1223. </div>
  1224. </a-upload>
  1225. </div>
  1226. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1227. <div>
  1228. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1229. </div>
  1230. </div>
  1231. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1232. <div>
  1233. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1234. </div>
  1235. </div>
  1236. </swiper>
  1237. </div>
  1238. </div>
  1239. </div>
  1240. </a-card>
  1241. <!-- 经营性呼叫中心增值业务许可证-->
  1242. <a-card v-if="steps.currentId === 'zZBusinessLicense'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  1243. <div slot="title">
  1244. <span style="float: left;position: relative;top: 4px">经营性呼叫中心增值业务许可证</span>
  1245. </div>
  1246. <div class="a-card-25">
  1247. <a-alert
  1248. message="注意事项(必看)"
  1249. type="warning"
  1250. style="height: 100vh"
  1251. >
  1252. <div slot="description" class="markdown" style="position: relative;top:30px">
  1253. <ul>
  1254. <li >1)需在有效期内</li>
  1255. </ul>
  1256. </div>
  1257. </a-alert>
  1258. </div>
  1259. <div class="a-card-70">
  1260. <div>
  1261. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  1262. <a-textarea class="a-textarea-line-30"
  1263. v-model="infoModel.zZBusinessLicenseRemark"
  1264. @change="textareaChange('zZBusinessLicense','zZBusinessLicenseRemark')"
  1265. placeholder="如没有上传资料备注,需要说明原因"
  1266. />
  1267. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1268. </a-form-model-item>
  1269. </div>
  1270. <a-upload
  1271. name="file"
  1272. :multiple="true"
  1273. :action="importMinioUploadAction"
  1274. :customRequest="e => selfUploadContract(e, 'zZBusinessLicense')"
  1275. :headers="tokenHeader"
  1276. :showUploadList="false"
  1277. :beforeUpload="importBeforeUpload"
  1278. @change="importHandleChange"
  1279. style='margin-left: 125px;line-height: 50px'
  1280. >
  1281. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1282. </a-upload>
  1283. <div style="height: 70%">
  1284. <div class="thumb-example">
  1285. <swiper
  1286. class="swiper gallery-top"
  1287. :options="swiperOptionTop"
  1288. ref="swiperTop"
  1289. >
  1290. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.zZBusinessLicense" :key="item.id">
  1291. <iframe
  1292. v-if="item.urlBase"
  1293. frameborder="1"
  1294. :src="item.urlBase"
  1295. ref="ifr"
  1296. width="70%"
  1297. height="500px"
  1298. scrolling="auto">
  1299. </iframe>
  1300. <img style="width: 70%;height: 70%;border: 1px solid;"
  1301. v-if="!item.urlBase" :src="noDataPng" border="1">
  1302. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  1303. danger @click="removeFile(item,'zZBusinessLicense')">移除
  1304. </a-button>
  1305. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1306. v-if=" item.urlBase"
  1307. @click="jumpUrl(item.urlBase)">预览
  1308. </a-button></div>
  1309. </swiper-slide>
  1310. <div
  1311. class="swiper-button-next swiper-button-white"
  1312. slot="button-next"
  1313. ></div>
  1314. <div
  1315. class="swiper-button-prev swiper-button-white"
  1316. slot="button-prev"
  1317. ></div>
  1318. </swiper>
  1319. <!-- swiper2 Thumbs -->
  1320. <swiper
  1321. class="swiper gallery-thumbs"
  1322. :options="swiperOptionThumbs"
  1323. ref="swiperThumbs"
  1324. >
  1325. <swiper-slide
  1326. class="slide"
  1327. style="width:100px;height:100px;"
  1328. v-for="(item, index) in infoModel.zZBusinessLicense"
  1329. :key="item.id"
  1330. >
  1331. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1332. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1333. </div>
  1334. <img style="width: 100%;height: 96px"
  1335. v-if="!item.urlBase" :src="noDataPng" border="1">
  1336. </swiper-slide>
  1337. <!-- 点我上传文件按钮-->
  1338. <div class="clearfix">
  1339. <a-upload
  1340. listType="picture-card"
  1341. name="file"
  1342. :multiple="false"
  1343. :action="importMinioUploadAction"
  1344. :customRequest="e => selfUploadContract(e, 'zZBusinessLicense')"
  1345. :headers="tokenHeader"
  1346. :showUploadList="false"
  1347. :beforeUpload="importBeforeUpload"
  1348. @change="importHandleChange"
  1349. >
  1350. <div>
  1351. <a-icon type="plus"/>
  1352. <div class="ant-upload-text">点我上传</div>
  1353. </div>
  1354. </a-upload>
  1355. </div>
  1356. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1357. <div>
  1358. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1359. </div>
  1360. </div>
  1361. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1362. <div>
  1363. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1364. </div>
  1365. </div>
  1366. </swiper>
  1367. </div>
  1368. </div>
  1369. </div>
  1370. </a-card>
  1371. <!-- 呼叫中心业务说明-->
  1372. <a-card v-if="steps.currentId === 'centerBusiness'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  1373. <div slot="title">
  1374. <span style="float: left;position: relative;top: 4px">呼叫中心业务说明</span>
  1375. </div>
  1376. <div class="a-card-25">
  1377. <a-alert
  1378. message="注意事项(必看)"
  1379. type="warning"
  1380. style="height: 100vh"
  1381. >
  1382. <div slot="description" class="markdown" style="position: relative;top:30px">
  1383. <ul>
  1384. <li >自用型呼叫中心、经营型呼叫中心、经营型会议电话均需提供</li>
  1385. </ul>
  1386. </div>
  1387. </a-alert>
  1388. </div>
  1389. <div class="a-card-70">
  1390. <div>
  1391. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  1392. <a-textarea class="a-textarea-line-30"
  1393. v-model="infoModel.centerBusinessRemark"
  1394. @change="textareaChange('centerBusiness','centerBusinessRemark')"
  1395. placeholder="如没有上传资料备注,需要说明原因"
  1396. />
  1397. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1398. </a-form-model-item>
  1399. </div>
  1400. <a-upload
  1401. name="file"
  1402. :multiple="true"
  1403. :action="importMinioUploadAction"
  1404. :customRequest="e => selfUploadContract(e, 'centerBusiness')"
  1405. :headers="tokenHeader"
  1406. :showUploadList="false"
  1407. :beforeUpload="importBeforeUpload"
  1408. @change="importHandleChange"
  1409. style='margin-left: 125px;line-height: 50px'
  1410. >
  1411. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1412. </a-upload>
  1413. <div style="height: 70%">
  1414. <div class="thumb-example">
  1415. <swiper
  1416. class="swiper gallery-top"
  1417. :options="swiperOptionTop"
  1418. ref="swiperTop"
  1419. >
  1420. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.centerBusiness" :key="item.id">
  1421. <iframe
  1422. v-if="item.urlBase"
  1423. frameborder="1"
  1424. :src="item.urlBase"
  1425. ref="ifr"
  1426. width="70%"
  1427. height="500px"
  1428. scrolling="auto">
  1429. </iframe>
  1430. <img style="width: 70%;height: 70%;border: 1px solid;"
  1431. v-if="!item.urlBase" :src="noDataPng" border="1">
  1432. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  1433. danger @click="removeFile(item,'centerBusiness')">移除
  1434. </a-button>
  1435. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1436. v-if=" item.urlBase"
  1437. @click="jumpUrl(item.urlBase)">预览
  1438. </a-button></div>
  1439. </swiper-slide>
  1440. <div
  1441. class="swiper-button-next swiper-button-white"
  1442. slot="button-next"
  1443. ></div>
  1444. <div
  1445. class="swiper-button-prev swiper-button-white"
  1446. slot="button-prev"
  1447. ></div>
  1448. </swiper>
  1449. <!-- swiper2 Thumbs -->
  1450. <swiper
  1451. class="swiper gallery-thumbs"
  1452. :options="swiperOptionThumbs"
  1453. ref="swiperThumbs"
  1454. >
  1455. <swiper-slide
  1456. class="slide"
  1457. style="width:100px;height:100px;"
  1458. v-for="(item, index) in infoModel.centerBusiness"
  1459. :key="item.id"
  1460. >
  1461. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1462. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1463. </div>
  1464. <img style="width: 100%;height: 96px"
  1465. v-if="!item.urlBase" :src="noDataPng" border="1">
  1466. </swiper-slide>
  1467. <!-- 点我上传文件按钮-->
  1468. <div class="clearfix">
  1469. <a-upload
  1470. listType="picture-card"
  1471. name="file"
  1472. :multiple="false"
  1473. :action="importMinioUploadAction"
  1474. :customRequest="e => selfUploadContract(e, 'centerBusiness')"
  1475. :headers="tokenHeader"
  1476. :showUploadList="false"
  1477. :beforeUpload="importBeforeUpload"
  1478. @change="importHandleChange"
  1479. >
  1480. <div>
  1481. <a-icon type="plus"/>
  1482. <div class="ant-upload-text">点我上传</div>
  1483. </div>
  1484. </a-upload>
  1485. </div>
  1486. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1487. <div>
  1488. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1489. </div>
  1490. </div>
  1491. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1492. <div>
  1493. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1494. </div>
  1495. </div>
  1496. </swiper>
  1497. </div>
  1498. </div>
  1499. </div>
  1500. </a-card>
  1501. <!-- 房屋租赁合同或房产证明-->
  1502. <a-card v-if="steps.currentId === 'contractOrProve'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  1503. <div slot="title">
  1504. <span style="float: left;position: relative;top: 4px">房屋租赁合同或房产证明</span>
  1505. </div>
  1506. <div class="a-card-25">
  1507. <a-alert
  1508. message="注意事项(必看)"
  1509. type="warning"
  1510. style="height: 100vh"
  1511. >
  1512. <div slot="description" class="markdown" style="position: relative;top:30px">
  1513. <ul>
  1514. <li >1)二类客户需具备</li>
  1515. <li >2)需在有效期内</li>
  1516. <li>3)房屋租赁合同或房屋产权证明(加盖公章)</li>
  1517. </ul>
  1518. </div>
  1519. </a-alert>
  1520. </div>
  1521. <div class="a-card-70">
  1522. <div>
  1523. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  1524. <a-textarea class="a-textarea-line-30"
  1525. v-model="infoModel.contractOrProveRemark"
  1526. @change="textareaChange('contractOrProve','contractOrProveRemark')"
  1527. placeholder="如没有上传资料备注,需要说明原因"
  1528. />
  1529. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1530. </a-form-model-item>
  1531. </div>
  1532. <a-upload
  1533. name="file"
  1534. :multiple="true"
  1535. :action="importMinioUploadAction"
  1536. :customRequest="e => selfUploadContract(e, 'contractOrProve')"
  1537. :headers="tokenHeader"
  1538. :showUploadList="false"
  1539. :beforeUpload="importBeforeUpload"
  1540. @change="importHandleChange"
  1541. style='margin-left: 125px;line-height: 50px'
  1542. >
  1543. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1544. </a-upload>
  1545. <div style="height: 70%">
  1546. <div class="thumb-example">
  1547. <swiper
  1548. class="swiper gallery-top"
  1549. :options="swiperOptionTop"
  1550. ref="swiperTop"
  1551. >
  1552. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.contractOrProve" :key="item.id">
  1553. <iframe
  1554. v-if="item.urlBase"
  1555. frameborder="1"
  1556. :src="item.urlBase"
  1557. ref="ifr"
  1558. width="70%"
  1559. height="500px"
  1560. scrolling="auto">
  1561. </iframe>
  1562. <img style="width: 70%;height: 70%;border: 1px solid;"
  1563. v-if="!item.urlBase" :src="noDataPng" border="1">
  1564. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  1565. danger @click="removeFile(item,'contractOrProve')">移除
  1566. </a-button>
  1567. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1568. v-if=" item.urlBase"
  1569. @click="jumpUrl(item.urlBase)">预览
  1570. </a-button></div>
  1571. </swiper-slide>
  1572. <div
  1573. class="swiper-button-next swiper-button-white"
  1574. slot="button-next"
  1575. ></div>
  1576. <div
  1577. class="swiper-button-prev swiper-button-white"
  1578. slot="button-prev"
  1579. ></div>
  1580. </swiper>
  1581. <!-- swiper2 Thumbs -->
  1582. <swiper
  1583. class="swiper gallery-thumbs"
  1584. :options="swiperOptionThumbs"
  1585. ref="swiperThumbs"
  1586. >
  1587. <swiper-slide
  1588. class="slide"
  1589. style="width:100px;height:100px;"
  1590. v-for="(item, index) in infoModel.contractOrProve"
  1591. :key="item.id"
  1592. >
  1593. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1594. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1595. </div>
  1596. <img style="width: 100%;height: 96px"
  1597. v-if="!item.urlBase" :src="noDataPng" border="1">
  1598. </swiper-slide>
  1599. <!-- 点我上传文件按钮-->
  1600. <div class="clearfix">
  1601. <a-upload
  1602. listType="picture-card"
  1603. name="file"
  1604. :multiple="false"
  1605. :action="importMinioUploadAction"
  1606. :customRequest="e => selfUploadContract(e, 'contractOrProve')"
  1607. :headers="tokenHeader"
  1608. :showUploadList="false"
  1609. :beforeUpload="importBeforeUpload"
  1610. @change="importHandleChange"
  1611. >
  1612. <div>
  1613. <a-icon type="plus"/>
  1614. <div class="ant-upload-text">点我上传</div>
  1615. </div>
  1616. </a-upload>
  1617. </div>
  1618. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1619. <div>
  1620. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1621. </div>
  1622. </div>
  1623. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1624. <div>
  1625. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1626. </div>
  1627. </div>
  1628. </swiper>
  1629. </div>
  1630. </div>
  1631. </div>
  1632. </a-card>
  1633. <!-- 风险评估表-->
  1634. <a-card v-if="steps.currentId === 'riskTable'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  1635. <div slot="title">
  1636. <span style="float: left;position: relative;top: 4px">风险评估表</span>
  1637. </div>
  1638. <div class="a-card-25">
  1639. <a-alert
  1640. message="注意事项(必看)"
  1641. type="warning"
  1642. style="height: 100vh"
  1643. >
  1644. <div slot="description" class="markdown" style="position: relative;top:30px">
  1645. <ul>
  1646. <li >非办公自用需提供</li>
  1647. </ul>
  1648. </div>
  1649. </a-alert>
  1650. </div>
  1651. <div class="a-card-70">
  1652. <div>
  1653. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  1654. <a-textarea class="a-textarea-line-30"
  1655. v-model="infoModel.riskTableRemark"
  1656. @change="textareaChange('riskTable','riskTableRemark')"
  1657. placeholder="如没有上传资料备注,需要说明原因"
  1658. />
  1659. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1660. </a-form-model-item>
  1661. </div>
  1662. <a-upload
  1663. name="file"
  1664. :multiple="true"
  1665. :action="importMinioUploadAction"
  1666. :customRequest="e => selfUploadContract(e, 'riskTable')"
  1667. :headers="tokenHeader"
  1668. :showUploadList="false"
  1669. :beforeUpload="importBeforeUpload"
  1670. @change="importHandleChange"
  1671. style='margin-left: 125px;line-height: 50px'
  1672. >
  1673. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1674. </a-upload>
  1675. <div style="height: 70%">
  1676. <div class="thumb-example">
  1677. <swiper
  1678. class="swiper gallery-top"
  1679. :options="swiperOptionTop"
  1680. ref="swiperTop"
  1681. >
  1682. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.riskTable" :key="item.id">
  1683. <iframe
  1684. v-if="item.urlBase"
  1685. frameborder="1"
  1686. :src="item.urlBase"
  1687. ref="ifr"
  1688. width="70%"
  1689. height="500px"
  1690. scrolling="auto">
  1691. </iframe>
  1692. <img style="width: 70%;height: 70%;border: 1px solid;"
  1693. v-if="!item.urlBase" :src="noDataPng" border="1">
  1694. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  1695. danger @click="removeFile(item,'riskTable')">移除
  1696. </a-button>
  1697. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1698. v-if=" item.urlBase"
  1699. @click="jumpUrl(item.urlBase)">预览
  1700. </a-button></div>
  1701. </swiper-slide>
  1702. <div
  1703. class="swiper-button-next swiper-button-white"
  1704. slot="button-next"
  1705. ></div>
  1706. <div
  1707. class="swiper-button-prev swiper-button-white"
  1708. slot="button-prev"
  1709. ></div>
  1710. </swiper>
  1711. <!-- swiper2 Thumbs -->
  1712. <swiper
  1713. class="swiper gallery-thumbs"
  1714. :options="swiperOptionThumbs"
  1715. ref="swiperThumbs"
  1716. >
  1717. <swiper-slide
  1718. class="slide"
  1719. style="width:100px;height:100px;"
  1720. v-for="(item, index) in infoModel.riskTable"
  1721. :key="item.id"
  1722. >
  1723. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1724. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1725. </div>
  1726. <img style="width: 100%;height: 96px"
  1727. v-if="!item.urlBase" :src="noDataPng" border="1">
  1728. </swiper-slide>
  1729. <!-- 点我上传文件按钮-->
  1730. <div class="clearfix">
  1731. <a-upload
  1732. listType="picture-card"
  1733. name="file"
  1734. :multiple="false"
  1735. :action="importMinioUploadAction"
  1736. :customRequest="e => selfUploadContract(e, 'riskTable')"
  1737. :headers="tokenHeader"
  1738. :showUploadList="false"
  1739. :beforeUpload="importBeforeUpload"
  1740. @change="importHandleChange"
  1741. >
  1742. <div>
  1743. <a-icon type="plus"/>
  1744. <div class="ant-upload-text">点我上传</div>
  1745. </div>
  1746. </a-upload>
  1747. </div>
  1748. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1749. <div>
  1750. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1751. </div>
  1752. </div>
  1753. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1754. <div>
  1755. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1756. </div>
  1757. </div>
  1758. </swiper>
  1759. </div>
  1760. </div>
  1761. </div>
  1762. </a-card>
  1763. <!-- 中继线预审表-->
  1764. <a-card v-if="steps.currentId === 'trunkTable'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  1765. <div slot="title">
  1766. <span style="float: left;position: relative;top: 4px">中继线预审表</span>
  1767. </div>
  1768. <div class="a-card-25">
  1769. <a-alert
  1770. message="注意事项(必看)"
  1771. type="warning"
  1772. style="height: 100vh"
  1773. >
  1774. <div slot="description" class="markdown" style="position: relative;top:30px">
  1775. <ul>
  1776. <li >1)如有中继线预审表请进行上传</li>
  1777. </ul>
  1778. </div>
  1779. </a-alert>
  1780. </div>
  1781. <div class="a-card-70">
  1782. <div>
  1783. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  1784. <a-textarea class="a-textarea-line-30"
  1785. v-model="infoModel.trunkTableRemark"
  1786. @change="textareaChange('trunkTable','trunkTableRemark')"
  1787. placeholder="如没有上传资料备注,需要说明原因"
  1788. />
  1789. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1790. </a-form-model-item>
  1791. </div>
  1792. <a-upload
  1793. name="file"
  1794. :multiple="true"
  1795. :action="importMinioUploadAction"
  1796. :customRequest="e => selfUploadContract(e, 'trunkTable')"
  1797. :headers="tokenHeader"
  1798. :showUploadList="false"
  1799. :beforeUpload="importBeforeUpload"
  1800. @change="importHandleChange"
  1801. style='margin-left: 125px;line-height: 50px'
  1802. >
  1803. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1804. </a-upload>
  1805. <div style="height: 70%">
  1806. <div class="thumb-example">
  1807. <swiper
  1808. class="swiper gallery-top"
  1809. :options="swiperOptionTop"
  1810. ref="swiperTop"
  1811. >
  1812. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.trunkTable" :key="item.id">
  1813. <iframe
  1814. v-if="item.urlBase"
  1815. frameborder="1"
  1816. :src="item.urlBase"
  1817. ref="ifr"
  1818. width="70%"
  1819. height="500px"
  1820. scrolling="auto">
  1821. </iframe>
  1822. <img style="width: 70%;height: 70%;border: 1px solid;"
  1823. v-if="!item.urlBase" :src="noDataPng" border="1">
  1824. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  1825. danger @click="removeFile(item,'trunkTable')">移除
  1826. </a-button>
  1827. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1828. v-if=" item.urlBase"
  1829. @click="jumpUrl(item.urlBase)">预览
  1830. </a-button></div>
  1831. </swiper-slide>
  1832. <div
  1833. class="swiper-button-next swiper-button-white"
  1834. slot="button-next"
  1835. ></div>
  1836. <div
  1837. class="swiper-button-prev swiper-button-white"
  1838. slot="button-prev"
  1839. ></div>
  1840. </swiper>
  1841. <!-- swiper2 Thumbs -->
  1842. <swiper
  1843. class="swiper gallery-thumbs"
  1844. :options="swiperOptionThumbs"
  1845. ref="swiperThumbs"
  1846. >
  1847. <swiper-slide
  1848. class="slide"
  1849. style="width:100px;height:100px;"
  1850. v-for="(item, index) in infoModel.trunkTable"
  1851. :key="item.id"
  1852. >
  1853. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1854. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1855. </div>
  1856. <img style="width: 100%;height: 96px"
  1857. v-if="!item.urlBase" :src="noDataPng" border="1">
  1858. </swiper-slide>
  1859. <!-- 点我上传文件按钮-->
  1860. <div class="clearfix">
  1861. <a-upload
  1862. listType="picture-card"
  1863. name="file"
  1864. :multiple="false"
  1865. :action="importMinioUploadAction"
  1866. :customRequest="e => selfUploadContract(e, 'trunkTable')"
  1867. :headers="tokenHeader"
  1868. :showUploadList="false"
  1869. :beforeUpload="importBeforeUpload"
  1870. @change="importHandleChange"
  1871. >
  1872. <div>
  1873. <a-icon type="plus"/>
  1874. <div class="ant-upload-text">点我上传</div>
  1875. </div>
  1876. </a-upload>
  1877. </div>
  1878. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1879. <div>
  1880. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1881. </div>
  1882. </div>
  1883. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1884. <div>
  1885. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1886. </div>
  1887. </div>
  1888. </swiper>
  1889. </div>
  1890. </div>
  1891. </div>
  1892. </a-card>
  1893. <!-- 中继线合同-->
  1894. <a-card v-if="steps.currentId === 'trunkContract'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  1895. <div slot="title">
  1896. <span style="float: left;position: relative;top: 4px">中继线合同</span>
  1897. </div>
  1898. <div class="a-card-25">
  1899. <a-alert
  1900. message="注意事项(必看)"
  1901. type="warning"
  1902. style="height: 100vh"
  1903. >
  1904. <div slot="description" class="markdown" style="position: relative;top:30px">
  1905. <ul>
  1906. <li> 1)必须是正规合同,不能是业务申请单</li>
  1907. <li>2)标准文本合同(明确装机地址、分配号段、交换机型号、业务类型和防范通讯信息诈骗的相关责任条款)</li>
  1908. </ul>
  1909. </div>
  1910. </a-alert>
  1911. </div>
  1912. <div class="a-card-70">
  1913. <div>
  1914. <a-form-model-item style="left: -2%;" label="上传资料备注:" v-bind="labelCol1Note">
  1915. <a-textarea class="a-textarea-line-30"
  1916. v-model="infoModel.trunkContractRemark"
  1917. @change="textareaChange('trunkContract','trunkContractRemark')"
  1918. placeholder="如没有上传资料备注,需要说明原因"
  1919. />
  1920. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1921. </a-form-model-item>
  1922. </div>
  1923. <a-upload
  1924. name="file"
  1925. :multiple="true"
  1926. :action="importMinioUploadAction"
  1927. :customRequest="e => selfUploadContract(e, 'trunkContract')"
  1928. :headers="tokenHeader"
  1929. :showUploadList="false"
  1930. :beforeUpload="importBeforeUpload"
  1931. @change="importHandleChange"
  1932. class="a-upload-line-30"
  1933. >
  1934. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1935. </a-upload>
  1936. <div style="height: 70%">
  1937. <div class="thumb-example">
  1938. <swiper
  1939. class="swiper gallery-top"
  1940. :options="swiperOptionTop"
  1941. ref="swiperTop"
  1942. >
  1943. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.trunkContract" :key="item.id">
  1944. <iframe
  1945. v-if="item.urlBase"
  1946. frameborder="1"
  1947. :src="item.urlBase"
  1948. ref="ifr"
  1949. width="70%"
  1950. height="500px"
  1951. scrolling="auto">
  1952. </iframe>
  1953. <img style="width: 70%;height: 70%;border: 1px solid;"
  1954. v-if="!item.urlBase" :src="noDataPng" border="1">
  1955. <div>
  1956. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  1957. danger @click="removeFile(item,'trunkContract')">移除
  1958. </a-button>
  1959. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1960. v-if=" item.urlBase"
  1961. @click="jumpUrl(item.urlBase)">预览
  1962. </a-button></div>
  1963. </div>
  1964. </swiper-slide>
  1965. <div
  1966. class="swiper-button-next swiper-button-white"
  1967. slot="button-next"
  1968. ></div>
  1969. <div
  1970. class="swiper-button-prev swiper-button-white"
  1971. slot="button-prev"
  1972. ></div>
  1973. </swiper>
  1974. <!-- swiper2 Thumbs -->
  1975. <swiper
  1976. class="swiper gallery-thumbs"
  1977. :options="swiperOptionThumbs"
  1978. ref="swiperThumbs"
  1979. >
  1980. <swiper-slide
  1981. class="slide"
  1982. style="width:100px;height:100px;"
  1983. v-for="(item, index) in infoModel.trunkContract"
  1984. :key="item.id"
  1985. >
  1986. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1987. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1988. </div>
  1989. <img style="width: 100%;height: 96px"
  1990. v-if="!item.urlBase" :src="noDataPng" border="1">
  1991. </swiper-slide>
  1992. <!-- 点我上传文件按钮-->
  1993. <div class="clearfix">
  1994. <a-upload
  1995. listType="picture-card"
  1996. name="file"
  1997. :multiple="false"
  1998. :action="importMinioUploadAction"
  1999. :customRequest="e => selfUploadContract(e, 'trunkContract')"
  2000. :headers="tokenHeader"
  2001. :showUploadList="false"
  2002. :beforeUpload="importBeforeUpload"
  2003. @change="importHandleChange"
  2004. >
  2005. <div>
  2006. <a-icon type="plus"/>
  2007. <div class="ant-upload-text">点我上传</div>
  2008. </div>
  2009. </a-upload>
  2010. </div>
  2011. <div class="swiper-button-next swiper-button-white" slot="button-next">
  2012. <div>
  2013. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  2014. </div>
  2015. </div>
  2016. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  2017. <div>
  2018. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  2019. </div>
  2020. </div>
  2021. </swiper>
  2022. </div>
  2023. </div>
  2024. </div>
  2025. </a-card>
  2026. <!-- 回访表-->
  2027. <a-card v-if="steps.currentId === 'accessTable'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  2028. <div slot="title">
  2029. <span style="float: left;position: relative;top: 4px">回访表</span>
  2030. </div>
  2031. <div class="a-card-25">
  2032. <a-alert
  2033. message="注意事项(必看)"
  2034. type="warning"
  2035. style="height: 100vh"
  2036. >
  2037. <div slot="description" class="markdown" style="position: relative;top:30px">
  2038. <ul>
  2039. <li >2023年7月26日后入网的需要</li>
  2040. </ul>
  2041. </div>
  2042. </a-alert>
  2043. </div>
  2044. <div class="a-card-70">
  2045. <div>
  2046. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  2047. <a-textarea class="a-textarea-line-30"
  2048. v-model="infoModel.accessTableRemark"
  2049. @change="textareaChange('accessTable','accessTableRemark')"
  2050. placeholder="如没有上传资料备注,需要说明原因"
  2051. />
  2052. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  2053. </a-form-model-item>
  2054. </div>
  2055. <a-upload
  2056. name="file"
  2057. :multiple="true"
  2058. :action="importMinioUploadAction"
  2059. :customRequest="e => selfUploadContract(e, 'accessTable')"
  2060. :headers="tokenHeader"
  2061. :showUploadList="false"
  2062. :beforeUpload="importBeforeUpload"
  2063. @change="importHandleChange"
  2064. style='margin-left: 125px;line-height: 50px'
  2065. >
  2066. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  2067. </a-upload>
  2068. <div style="height: 70%">
  2069. <div class="thumb-example">
  2070. <swiper
  2071. class="swiper gallery-top"
  2072. :options="swiperOptionTop"
  2073. ref="swiperTop"
  2074. >
  2075. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.accessTable" :key="item.id">
  2076. <iframe
  2077. v-if="item.urlBase"
  2078. frameborder="1"
  2079. :src="item.urlBase"
  2080. ref="ifr"
  2081. width="70%"
  2082. height="500px"
  2083. scrolling="auto">
  2084. </iframe>
  2085. <img style="width: 70%;height: 70%;border: 1px solid;"
  2086. v-if="!item.urlBase" :src="noDataPng" border="1">
  2087. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  2088. danger @click="removeFile(item,'accessTable')">移除
  2089. </a-button>
  2090. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  2091. v-if=" item.urlBase"
  2092. @click="jumpUrl(item.urlBase)">预览
  2093. </a-button></div>
  2094. </swiper-slide>
  2095. <div
  2096. class="swiper-button-next swiper-button-white"
  2097. slot="button-next"
  2098. ></div>
  2099. <div
  2100. class="swiper-button-prev swiper-button-white"
  2101. slot="button-prev"
  2102. ></div>
  2103. </swiper>
  2104. <!-- swiper2 Thumbs -->
  2105. <swiper
  2106. class="swiper gallery-thumbs"
  2107. :options="swiperOptionThumbs"
  2108. ref="swiperThumbs"
  2109. >
  2110. <swiper-slide
  2111. class="slide"
  2112. style="width:100px;height:100px;"
  2113. v-for="(item, index) in infoModel.accessTable"
  2114. :key="item.id"
  2115. >
  2116. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  2117. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  2118. </div>
  2119. <img style="width: 100%;height: 96px"
  2120. v-if="!item.urlBase" :src="noDataPng" border="1">
  2121. </swiper-slide>
  2122. <!-- 点我上传文件按钮-->
  2123. <div class="clearfix">
  2124. <a-upload
  2125. listType="picture-card"
  2126. name="file"
  2127. :multiple="false"
  2128. :action="importMinioUploadAction"
  2129. :customRequest="e => selfUploadContract(e, 'accessTable')"
  2130. :headers="tokenHeader"
  2131. :showUploadList="false"
  2132. :beforeUpload="importBeforeUpload"
  2133. @change="importHandleChange"
  2134. >
  2135. <div>
  2136. <a-icon type="plus"/>
  2137. <div class="ant-upload-text">点我上传</div>
  2138. </div>
  2139. </a-upload>
  2140. </div>
  2141. <div class="swiper-button-next swiper-button-white" slot="button-next">
  2142. <div>
  2143. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  2144. </div>
  2145. </div>
  2146. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  2147. <div>
  2148. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  2149. </div>
  2150. </div>
  2151. </swiper>
  2152. </div>
  2153. </div>
  2154. </div>
  2155. </a-card>
  2156. <!-- 电话回访截图-->
  2157. <a-card v-if="steps.currentId === 'accessPhone'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  2158. <div slot="title">
  2159. <span style="float: left;position: relative;top: 4px">电话回访截图</span>
  2160. </div>
  2161. <div class="a-card-25">
  2162. <a-alert
  2163. message="注意事项(必看)"
  2164. type="warning"
  2165. style="height: 100vh"
  2166. >
  2167. <div slot="description" class="markdown" style="position: relative;top:30px">
  2168. <ul>
  2169. <li >客户经理在业务开通后48小时内完成电话回访,存在无人接听、持续忙音、回铃音异常等异常情况的,予以停机核验。</li>
  2170. </ul>
  2171. </div>
  2172. </a-alert>
  2173. </div>
  2174. <div class="a-card-70">
  2175. <div>
  2176. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  2177. <a-textarea class="a-textarea-line-30"
  2178. v-model="infoModel.accessPhoneRemark"
  2179. @change="textareaChange('accessPhone','accessPhoneRemark')"
  2180. placeholder="如没有上传资料备注,需要说明原因"
  2181. />
  2182. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  2183. </a-form-model-item>
  2184. </div>
  2185. <a-upload
  2186. name="file"
  2187. :multiple="true"
  2188. :action="importMinioUploadAction"
  2189. :customRequest="e => selfUploadContract(e, 'accessPhone')"
  2190. :headers="tokenHeader"
  2191. :showUploadList="false"
  2192. :beforeUpload="importBeforeUpload"
  2193. @change="importHandleChange"
  2194. style='margin-left: 125px;line-height: 50px'
  2195. >
  2196. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  2197. </a-upload>
  2198. <div style="height: 70%">
  2199. <div class="thumb-example">
  2200. <swiper
  2201. class="swiper gallery-top"
  2202. :options="swiperOptionTop"
  2203. ref="swiperTop"
  2204. >
  2205. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.accessPhone" :key="item.id">
  2206. <iframe
  2207. v-if="item.urlBase"
  2208. frameborder="1"
  2209. :src="item.urlBase"
  2210. ref="ifr"
  2211. width="70%"
  2212. height="500px"
  2213. scrolling="auto">
  2214. </iframe>
  2215. <img style="width: 70%;height: 70%;border: 1px solid;"
  2216. v-if="!item.urlBase" :src="noDataPng" border="1">
  2217. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  2218. danger @click="removeFile(item,'accessPhone')">移除
  2219. </a-button>
  2220. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  2221. v-if=" item.urlBase"
  2222. @click="jumpUrl(item.urlBase)">预览
  2223. </a-button></div>
  2224. </swiper-slide>
  2225. <div
  2226. class="swiper-button-next swiper-button-white"
  2227. slot="button-next"
  2228. ></div>
  2229. <div
  2230. class="swiper-button-prev swiper-button-white"
  2231. slot="button-prev"
  2232. ></div>
  2233. </swiper>
  2234. <!-- swiper2 Thumbs -->
  2235. <swiper
  2236. class="swiper gallery-thumbs"
  2237. :options="swiperOptionThumbs"
  2238. ref="swiperThumbs"
  2239. >
  2240. <swiper-slide
  2241. class="slide"
  2242. style="width:100px;height:100px;"
  2243. v-for="(item, index) in infoModel.accessPhone"
  2244. :key="item.id"
  2245. >
  2246. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  2247. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  2248. </div>
  2249. <img style="width: 100%;height: 96px"
  2250. v-if="!item.urlBase" :src="noDataPng" border="1">
  2251. </swiper-slide>
  2252. <!-- 点我上传文件按钮-->
  2253. <div class="clearfix">
  2254. <a-upload
  2255. listType="picture-card"
  2256. name="file"
  2257. :multiple="false"
  2258. :action="importMinioUploadAction"
  2259. :customRequest="e => selfUploadContract(e, 'accessPhone')"
  2260. :headers="tokenHeader"
  2261. :showUploadList="false"
  2262. :beforeUpload="importBeforeUpload"
  2263. @change="importHandleChange"
  2264. >
  2265. <div>
  2266. <a-icon type="plus"/>
  2267. <div class="ant-upload-text">点我上传</div>
  2268. </div>
  2269. </a-upload>
  2270. </div>
  2271. <div class="swiper-button-next swiper-button-white" slot="button-next">
  2272. <div>
  2273. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  2274. </div>
  2275. </div>
  2276. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  2277. <div>
  2278. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  2279. </div>
  2280. </div>
  2281. </swiper>
  2282. </div>
  2283. </div>
  2284. </div>
  2285. </a-card>
  2286. <!-- 现场回访照片-->
  2287. <a-card v-if="steps.currentId === 'accessPhoto'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  2288. <div slot="title">
  2289. <span style="float: left;position: relative;top: 4px">现场回访照片</span>
  2290. </div>
  2291. <div class="a-card-25">
  2292. <a-alert
  2293. message="注意事项(必看)"
  2294. type="warning"
  2295. style="height: 100vh"
  2296. >
  2297. <div slot="description" class="markdown" style="position: relative;top:30px">
  2298. <ul>
  2299. <li >1)客户经理在业务开通后3日内的工作时间里完成客户装机现场复核,客户使用场景及报备话术复核。一经发现异常,有发展部门研判、予以关停。</li>
  2300. </ul>
  2301. </div>
  2302. </a-alert>
  2303. </div>
  2304. <div class="a-card-70">
  2305. <div>
  2306. <a-form-model-item style="left: -2%" label="上传资料备注:" v-bind="labelCol1Note">
  2307. <a-textarea class="a-textarea-line-30"
  2308. v-model="infoModel.accessPhotoRemark"
  2309. @change="textareaChange('accessPhoto','accessPhotoRemark')"
  2310. placeholder="如没有上传资料备注,需要说明原因"
  2311. />
  2312. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  2313. </a-form-model-item>
  2314. </div>
  2315. <a-upload
  2316. name="file"
  2317. :multiple="true"
  2318. :action="importMinioUploadAction"
  2319. :customRequest="e => selfUploadContract(e, 'accessPhoto')"
  2320. :headers="tokenHeader"
  2321. :showUploadList="false"
  2322. :beforeUpload="importBeforeUpload"
  2323. @change="importHandleChange"
  2324. style='margin-left: 125px;line-height: 50px'
  2325. >
  2326. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  2327. </a-upload>
  2328. <div style="height: 70%">
  2329. <div class="thumb-example">
  2330. <swiper
  2331. class="swiper gallery-top"
  2332. :options="swiperOptionTop"
  2333. ref="swiperTop"
  2334. >
  2335. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.accessPhoto" :key="item.id">
  2336. <iframe
  2337. v-if="item.urlBase"
  2338. frameborder="1"
  2339. :src="item.urlBase"
  2340. ref="ifr"
  2341. width="70%"
  2342. height="500px"
  2343. scrolling="auto">
  2344. </iframe>
  2345. <img style="width: 70%;height: 70%;border: 1px solid;"
  2346. v-if="!item.urlBase" :src="noDataPng" border="1">
  2347. <div><a-button v-if="item.urlBase" style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  2348. danger @click="removeFile(item,'accessPhoto')">移除
  2349. </a-button>
  2350. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  2351. v-if=" item.urlBase"
  2352. @click="jumpUrl(item.urlBase)">预览
  2353. </a-button></div>
  2354. </swiper-slide>
  2355. <div
  2356. class="swiper-button-next swiper-button-white"
  2357. slot="button-next"
  2358. ></div>
  2359. <div
  2360. class="swiper-button-prev swiper-button-white"
  2361. slot="button-prev"
  2362. ></div>
  2363. </swiper>
  2364. <!-- swiper2 Thumbs -->
  2365. <swiper
  2366. class="swiper gallery-thumbs"
  2367. :options="swiperOptionThumbs"
  2368. ref="swiperThumbs"
  2369. >
  2370. <swiper-slide
  2371. class="slide"
  2372. style="width:100px;height:100px;"
  2373. v-for="(item, index) in infoModel.accessPhoto"
  2374. :key="item.id"
  2375. >
  2376. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  2377. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  2378. </div>
  2379. <img style="width: 100%;height: 96px"
  2380. v-if="!item.urlBase" :src="noDataPng" border="1">
  2381. </swiper-slide>
  2382. <!-- 点我上传文件按钮-->
  2383. <div class="clearfix">
  2384. <a-upload
  2385. listType="picture-card"
  2386. name="file"
  2387. :multiple="false"
  2388. :action="importMinioUploadAction"
  2389. :customRequest="e => selfUploadContract(e, 'accessPhoto')"
  2390. :headers="tokenHeader"
  2391. :showUploadList="false"
  2392. :beforeUpload="importBeforeUpload"
  2393. @change="importHandleChange"
  2394. >
  2395. <div>
  2396. <a-icon type="plus"/>
  2397. <div class="ant-upload-text">点我上传</div>
  2398. </div>
  2399. </a-upload>
  2400. </div>
  2401. <div class="swiper-button-next swiper-button-white" slot="button-next">
  2402. <div>
  2403. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  2404. </div>
  2405. </div>
  2406. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  2407. <div>
  2408. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  2409. </div>
  2410. </div>
  2411. </swiper>
  2412. </div>
  2413. </div>
  2414. </div>
  2415. </a-card>
  2416. <!--承诺涵-其他材料(非必填)-->
  2417. <a-card v-if="steps.currentId === 'commitment'" style="margin-bottom:10px; float: left;width: 83%;left: 2%; ">
  2418. <div slot="title">
  2419. <span style="float: left;position: relative;top: 4px">其他材料(非必填)</span>
  2420. </div>
  2421. <div class="a-card-25">
  2422. <a-alert
  2423. message="注意事项(必看)"
  2424. type="warning"
  2425. style="height: 100vh"
  2426. >
  2427. <div slot="description" class="markdown" style="position: relative;top:30px">
  2428. <ul>
  2429. <li>1)如有其他材料(非必填)请进行上传</li>
  2430. </ul>
  2431. </div>
  2432. </a-alert>
  2433. </div>
  2434. <div class="a-card-70">
  2435. <div>
  2436. <a-form-model-item style="left: -2%;" label="上传资料备注:" v-bind="labelCol1Note">
  2437. <a-textarea class="a-textarea-line-30"
  2438. v-model="infoModel.commitmentRemark"
  2439. @change="textareaChange('commitment','commitmentRemark')"
  2440. placeholder="如没有上传资料备注,需要说明原因"
  2441. />
  2442. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  2443. </a-form-model-item>
  2444. </div>
  2445. <a-upload
  2446. name="file"
  2447. :multiple="true"
  2448. :action="importMinioUploadAction"
  2449. :customRequest="e => selfUploadContract(e, 'commitment')"
  2450. :headers="tokenHeader"
  2451. :showUploadList="false"
  2452. :beforeUpload="importBeforeUpload"
  2453. @change="importHandleChange"
  2454. class="a-upload-line-30"
  2455. >
  2456. <a-button>
  2457. <a-icon type="upload"/>
  2458. 上传文件
  2459. </a-button>
  2460. </a-upload>
  2461. <div style="height: 70%">
  2462. <div class="thumb-example">
  2463. <!-- swiper1 -->
  2464. <swiper
  2465. class="swiper gallery-top"
  2466. :options="swiperOptionTop"
  2467. ref="swiperTop"
  2468. >
  2469. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.commitment" :key="item.id">
  2470. <iframe
  2471. v-if="item.urlBase"
  2472. frameborder="1"
  2473. :src="item.urlBase"
  2474. ref="ifr"
  2475. width="70%"
  2476. height="500px"
  2477. scrolling="auto">
  2478. </iframe>
  2479. <img style="width: 70%;height: 70%;border: 1px solid;"
  2480. v-if="!item.urlBase" :src="noDataPng" border="1">
  2481. <div><a-button v-if="item.urlBase"
  2482. style="display: block;margin-top: 1px;border-color: red;color: red;float: left"
  2483. danger @click="removeFile(item,'commitment')">移除
  2484. </a-button>
  2485. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  2486. v-if=" item.urlBase"
  2487. @click="jumpUrl(item.urlBase)">预览
  2488. </a-button></div>
  2489. </swiper-slide>
  2490. <div
  2491. class="swiper-button-next swiper-button-white"
  2492. slot="button-next"
  2493. ></div>
  2494. <div
  2495. class="swiper-button-prev swiper-button-white"
  2496. slot="button-prev"
  2497. ></div>
  2498. </swiper>
  2499. <!-- swiper2 Thumbs -->
  2500. <swiper
  2501. class="swiper gallery-thumbs"
  2502. :options="swiperOptionThumbs"
  2503. ref="swiperThumbs"
  2504. >
  2505. <swiper-slide
  2506. class="slide"
  2507. style="width:100px;height:100px;"
  2508. v-for="(item, index) in infoModel.commitment"
  2509. :key="item.id"
  2510. >
  2511. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  2512. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  2513. </div>
  2514. <img style="width: 100%;height: 96px"
  2515. v-if="!item.urlBase" :src="noDataPng" border="1">
  2516. </swiper-slide>
  2517. <!-- 点我上传文件按钮-->
  2518. <div class="clearfix">
  2519. <a-upload
  2520. listType="picture-card"
  2521. name="file"
  2522. :multiple="false"
  2523. :action="importMinioUploadAction"
  2524. :customRequest="e=>selfUploadContract(e,'commitment')"
  2525. :headers="tokenHeader"
  2526. :showUploadList="false"
  2527. :beforeUpload="importBeforeUpload"
  2528. @change="importHandleChange"
  2529. >
  2530. <div>
  2531. <a-icon type="plus"/>
  2532. <div class="ant-upload-text">点我上传其它材料</div>
  2533. </div>
  2534. </a-upload>
  2535. </div>
  2536. <div class="swiper-button-next swiper-button-white" slot="button-next">
  2537. <div>
  2538. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  2539. </div>
  2540. </div>
  2541. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  2542. <div>
  2543. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  2544. </div>
  2545. </div>
  2546. </swiper>
  2547. </div>
  2548. </div>
  2549. </div>
  2550. </a-card>
  2551. <a-card v-if='isPhoneshow' ref="floatButton"
  2552. class="float-infoPhone">
  2553. <div class="thumb-example1" >
  2554. <!-- swiper1 -->
  2555. <swiper
  2556. class="swiper gallery-topview"
  2557. :options="swiperOptionTop"
  2558. ref="swiperTop"
  2559. >
  2560. </swiper>
  2561. <!-- swiper2 Thumbs -->
  2562. <swiper
  2563. class="swiper gallery-thumbsview"
  2564. :options="swiperOptionThumbs"
  2565. ref="swiperThumbs"
  2566. >
  2567. <swiper-slide v-for="(item, index) in phoneList" :key="item.id"
  2568. class="slide"
  2569. style="width:290px;height:200px;">
  2570. <div v-if="item.urlBase" style="width:290px;height: 96px;background: rgb(68,142,247);color: white">
  2571. <iframe
  2572. v-if="item.urlBase"
  2573. frameborder="1"
  2574. :src="item.urlBase"
  2575. ref="ifr"
  2576. @preview="handlePreview"
  2577. @change="handleChange"
  2578. scrolling="auto">
  2579. </iframe>
  2580. <div style="display:flex ;justify-content:center;height:100%;">
  2581. <a-button @click='selfUploadContractView(item)' >使用</a-button>
  2582. <a-button style='margin-left: 10px' @click="jumpUrl(item.urlBase)">预览</a-button>
  2583. </div>
  2584. </div>
  2585. <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
  2586. <img alt="example" style="width: 100%" :src="previewImage" />
  2587. </a-modal>
  2588. </swiper-slide>
  2589. <div class="swiper-button-next swiper-button-white" slot="button-next">
  2590. <div>
  2591. </div>
  2592. </div>
  2593. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  2594. <div>
  2595. </div>
  2596. </div>
  2597. </swiper>
  2598. </div>
  2599. </a-card>
  2600. <div @click='showPhone(true,true)'
  2601. ref="floatButton"
  2602. class="float-info floating-button"
  2603. :style="{'width': 80 + 'px', 'height': 80 + 'px', 'left': 90+'%' , 'top': 80 + '%'}"
  2604. >
  2605. <a-badge :count=fileShoppingNumber>
  2606. <img style="width: 89%;height: 81%;position: relative;top: 10%" :src="fileShopping" border="1">
  2607. </a-badge> </div>
  2608. </div>
  2609. </template>
  2610. <script>
  2611. import { getAction, httpAction, postAction } from '@api/manage'
  2612. /*无数据图片*/
  2613. import noDataPng from '@/assets/nodata.png'
  2614. import {JeecgListMixin} from '@/mixins/JeecgListMixin'
  2615. import fileShopping from '@assets/file_shopping.png'
  2616. let Base64 = require('js-base64').Base64
  2617. function getBase64(file) {
  2618. return new Promise((resolve, reject) => {
  2619. const reader = new FileReader();
  2620. reader.readAsDataURL(file);
  2621. reader.onload = () => resolve(reader.result);
  2622. reader.onerror = error => reject(error);
  2623. });
  2624. }
  2625. export default {
  2626. name: "TaskUploadData",
  2627. mixins: [JeecgListMixin],
  2628. inject: ['closeCurrent'],
  2629. components: {noDataPng},
  2630. data() {
  2631. return {
  2632. // 购物车图标数
  2633. fileShoppingNumber:0,
  2634. fileShopping: fileShopping,
  2635. idCurrent :'',
  2636. isPhoneshow:false,
  2637. phoneList:'',
  2638. btnStyle:{
  2639. "fontSize":'small',
  2640. "top":'60vh',
  2641. "left":'90vw'
  2642. },
  2643. selectDateTime: '',
  2644. timeScopedPre: {
  2645. 近七日: [ ],//加上今天一共是七天,subtract方法是传6,往后推6天
  2646. 近14日: [ ],
  2647. 近30日: [ ]
  2648. },
  2649. currentId: "businessLicense",
  2650. noDataPng: noDataPng,
  2651. //加载状态
  2652. loading: false,
  2653. //弹窗
  2654. previewImage: "",
  2655. previewVisible: false,
  2656. url: {
  2657. "getInfoDataByInfoId": "/smsTurck/customerData/queryDataLogByInfoId",
  2658. "getTask":"/smsTurck/customerData/query/getTask",
  2659. "getInfoDataById": "/smsCheck/customerInfo/queryById",
  2660. updateFile: "/smsCheck/customerData/updateFile",
  2661. //"getInfoDataByInfoId": "/smsTurck/customerData/query/infoId",
  2662. minioUpload: "/smsCheck/customerData/uploadMinio",
  2663. list: "/smsCheck/customerData/list",
  2664. addOrEdit: "/smsTurck/customerData/edit/info"
  2665. },
  2666. //步骤条数据
  2667. // current: 0,
  2668. // steps: "",
  2669. steps: {
  2670. // 当前所在第几部
  2671. current: 0,
  2672. currentId: "",
  2673. stepsNow: {},
  2674. steps00: [
  2675. //不分类型与场景 中继线合同 (必须是正规合同,不能是业务申请单)
  2676. {
  2677. title: '中继线合同',
  2678. content: 'First-content',
  2679. id: "trunkContract",
  2680. },
  2681. //是否有入网申请签报
  2682. {
  2683. title: '入网申请签报 ',
  2684. content: 'First-content',
  2685. id: "applySign",
  2686. },
  2687. {
  2688. title: '中继线营业执照',
  2689. content: 'First-content',
  2690. id: "businessLicense",
  2691. },
  2692. //不分类型与场景 三张现场照片
  2693. {
  2694. title: '三张现场照片 ',
  2695. content: 'First-content',
  2696. id: "threePhotos",
  2697. },
  2698. //不分类型与场景 是否有DID(含中继线)业务的责任承诺函
  2699. {
  2700. title: 'DID(含中继线)业务的责任承诺函',
  2701. content: 'First-content',
  2702. id: "commitmentBook",
  2703. },
  2704. //不分类型与场景 价格审批表
  2705. {
  2706. title: '价格审批表',
  2707. content: 'First-content',
  2708. id: "isPriceApproval",
  2709. },
  2710. //不分类型与场景 授权函
  2711. {
  2712. title: '授权函',
  2713. content: 'First-content',
  2714. id: "authorizeBook",
  2715. },
  2716. // 不分类型与场景 经营性呼叫中心增值业务许可证到期时间
  2717. // {
  2718. // title: '经营性呼叫中心增值业务许可证',
  2719. // content: 'First-content',
  2720. // id: "zZBusinessLicense",
  2721. // },
  2722. //不分类型与场景
  2723. {
  2724. title: '中继线预审表',
  2725. content: 'First-content',
  2726. id: "trunkTable",
  2727. },
  2728. //经办人身份证 不分类型与场景
  2729. {
  2730. title: '经办人身份证',
  2731. content: 'First-content',
  2732. id: "operatorIdCard",
  2733. },
  2734. {
  2735. title: '回访表',
  2736. content: 'First-content',
  2737. id: "accessTable",
  2738. }, {
  2739. title: '电话回访截图',
  2740. content: 'First-content',
  2741. id: "accessPhone",
  2742. }, {
  2743. title: '现场回访照片',
  2744. content: 'First-content',
  2745. id: "accessPhoto",
  2746. },
  2747. ],
  2748. steps01: [
  2749. //不分类型与场景 中继线合同 (必须是正规合同,不能是业务申请单)
  2750. {
  2751. title: '中继线合同',
  2752. content: 'First-content',
  2753. id: "trunkContract",
  2754. },
  2755. //是否有入网申请签报
  2756. {
  2757. title: '入网申请签报 ',
  2758. content: 'First-content',
  2759. id: "applySign",
  2760. },
  2761. {
  2762. title: '中继线营业执照',
  2763. content: 'First-content',
  2764. id: "businessLicense",
  2765. },
  2766. //不分类型与场景 三张现场照片
  2767. {
  2768. title: '三张现场照片 ',
  2769. content: 'First-content',
  2770. id: "threePhotos",
  2771. },
  2772. //不分类型与场景 是否有DID(含中继线)业务的责任承诺函
  2773. {
  2774. title: 'DID(含中继线)业务的责任承诺函',
  2775. content: 'First-content',
  2776. id: "commitmentBook",
  2777. },
  2778. //不分类型与场景 价格审批表
  2779. {
  2780. title: '价格审批表',
  2781. content: 'First-content',
  2782. id: "isPriceApproval",
  2783. },
  2784. //经办人身份证 不分类型与场景
  2785. {
  2786. title: '经办人身份证',
  2787. content: 'First-content',
  2788. id: "operatorIdCard",
  2789. },
  2790. //不分类型与场景 授权函
  2791. {
  2792. title: '授权函',
  2793. content: 'First-content',
  2794. id: "authorizeBook",
  2795. },
  2796. // 不分类型与场景 经营性呼叫中心增值业务许可证到期时间
  2797. // {
  2798. // title: '经营性呼叫中心增值业务许可证',
  2799. // content: 'First-content',
  2800. // id: "zZBusinessLicense",
  2801. // },
  2802. //中心业务是否有说明 自用型呼叫中心、经营型呼叫中心、经营型会议电话均需提供
  2803. {
  2804. title: '呼叫中心业务说明',
  2805. content: 'First-content',
  2806. id: "centerBusiness",
  2807. },
  2808. //非办公自用需提供 风险评估表
  2809. {
  2810. title: '风险评估表',
  2811. content: 'First-content',
  2812. id: "riskTable",
  2813. },
  2814. //不分类型与场景
  2815. {
  2816. title: '中继线预审表',
  2817. content: 'First-content',
  2818. id: "trunkTable",
  2819. }, {
  2820. title: '回访表',
  2821. content: 'First-content',
  2822. id: "accessTable",
  2823. }, {
  2824. title: '电话回访截图',
  2825. content: 'First-content',
  2826. id: "accessPhone",
  2827. }, {
  2828. title: '现场回访照片',
  2829. content: 'First-content',
  2830. id: "accessPhoto",
  2831. },
  2832. ],
  2833. steps02: [
  2834. //不分类型与场景 中继线合同 (必须是正规合同,不能是业务申请单)
  2835. {
  2836. title: '中继线合同',
  2837. content: 'First-content',
  2838. id: "trunkContract",
  2839. },
  2840. //是否有入网申请签报
  2841. {
  2842. title: '入网申请签报 ',
  2843. content: 'First-content',
  2844. id: "applySign",
  2845. },
  2846. {
  2847. title: '中继线营业执照',
  2848. content: 'First-content',
  2849. id: "businessLicense",
  2850. },
  2851. //不分类型与场景 三张现场照片
  2852. {
  2853. title: '三张现场照片 ',
  2854. content: 'First-content',
  2855. id: "threePhotos",
  2856. },
  2857. //不分类型与场景 是否有DID(含中继线)业务的责任承诺函
  2858. {
  2859. title: 'DID(含中继线)业务的责任承诺函',
  2860. content: 'First-content',
  2861. id: "commitmentBook",
  2862. },
  2863. //不分类型与场景 价格审批表
  2864. {
  2865. title: '价格审批表',
  2866. content: 'First-content',
  2867. id: "isPriceApproval",
  2868. },
  2869. //经办人身份证 不分类型与场景
  2870. {
  2871. title: '经办人身份证',
  2872. content: 'First-content',
  2873. id: "operatorIdCard",
  2874. },
  2875. //不分类型与场景 授权函
  2876. {
  2877. title: '授权函',
  2878. content: 'First-content',
  2879. id: "authorizeBook",
  2880. },
  2881. // 不分类型与场景 经营性呼叫中心增值业务许可证到期时间
  2882. {
  2883. title: '经营性呼叫中心增值业务许可证',
  2884. content: 'First-content',
  2885. id: "zZBusinessLicense",
  2886. },
  2887. //中心业务是否有说明 自用型呼叫中心、经营型呼叫中心、经营型会议电话均需提供
  2888. {
  2889. title: '呼叫中心业务说明',
  2890. content: 'First-content',
  2891. id: "centerBusiness",
  2892. },
  2893. //非办公自用需提供 风险评估表
  2894. {
  2895. title: '风险评估表',
  2896. content: 'First-content',
  2897. id: "riskTable",
  2898. },
  2899. //不分类型与场景
  2900. {
  2901. title: '中继线预审表',
  2902. content: 'First-content',
  2903. id: "trunkTable",
  2904. }, {
  2905. title: '回访表',
  2906. content: 'First-content',
  2907. id: "accessTable",
  2908. }, {
  2909. title: '电话回访截图',
  2910. content: 'First-content',
  2911. id: "accessPhone",
  2912. }, {
  2913. title: '现场回访照片',
  2914. content: 'First-content',
  2915. id: "accessPhoto",
  2916. },
  2917. ],
  2918. steps10: [
  2919. //不分类型与场景 中继线合同 (必须是正规合同,不能是业务申请单)
  2920. {
  2921. title: '中继线合同',
  2922. content: 'First-content',
  2923. id: "trunkContract",
  2924. },
  2925. //是否有入网申请签报
  2926. {
  2927. title: '入网申请签报 ',
  2928. content: 'First-content',
  2929. id: "applySign",
  2930. },
  2931. {
  2932. title: '中继线营业执照',
  2933. content: 'First-content',
  2934. id: "businessLicense",
  2935. },
  2936. //不分类型与场景 三张现场照片
  2937. {
  2938. title: '三张现场照片 ',
  2939. content: 'First-content',
  2940. id: "threePhotos",
  2941. },
  2942. //不分类型与场景 是否有DID(含中继线)业务的责任承诺函
  2943. {
  2944. title: 'DID(含中继线)业务的责任承诺函',
  2945. content: 'First-content',
  2946. id: "commitmentBook",
  2947. },
  2948. //不分类型与场景 价格审批表
  2949. {
  2950. title: '价格审批表',
  2951. content: 'First-content',
  2952. id: "isPriceApproval",
  2953. },
  2954. //是否有法人身份证 (非党政军客户需具备)
  2955. {
  2956. title: '法人身份证',
  2957. content: 'First-content',
  2958. id: "legalIdCard",
  2959. },
  2960. //经办人身份证 不分类型与场景
  2961. {
  2962. title: '经办人身份证',
  2963. content: 'First-content',
  2964. id: "operatorIdCard",
  2965. },
  2966. //不分类型与场景 授权函
  2967. {
  2968. title: '授权函',
  2969. content: 'First-content',
  2970. id: "authorizeBook",
  2971. },
  2972. // 不分类型与场景 经营性呼叫中心增值业务许可证到期时间
  2973. // {
  2974. // title: '经营性呼叫中心增值业务许可证',
  2975. // content: 'First-content',
  2976. // id: "zZBusinessLicense",
  2977. // },
  2978. //房屋租赁合同或房产证明 二类客户需具备
  2979. {
  2980. title: '房屋租赁合同或房产证明',
  2981. content: 'First-content',
  2982. id: "contractOrProve",
  2983. },
  2984. //不分类型与场景
  2985. {
  2986. title: '中继线预审表',
  2987. content: 'First-content',
  2988. id: "trunkTable",
  2989. }, {
  2990. title: '回访表',
  2991. content: 'First-content',
  2992. id: "accessTable",
  2993. }, {
  2994. title: '电话回访截图',
  2995. content: 'First-content',
  2996. id: "accessPhone",
  2997. }, {
  2998. title: '现场回访照片',
  2999. content: 'First-content',
  3000. id: "accessPhoto",
  3001. },
  3002. ],
  3003. steps11: [
  3004. //不分类型与场景 中继线合同 (必须是正规合同,不能是业务申请单)
  3005. {
  3006. title: '中继线合同',
  3007. content: 'First-content',
  3008. id: "trunkContract",
  3009. },
  3010. //是否有入网申请签报
  3011. {
  3012. title: '入网申请签报 ',
  3013. content: 'First-content',
  3014. id: "applySign",
  3015. },
  3016. {
  3017. title: '中继线营业执照',
  3018. content: 'First-content',
  3019. id: "businessLicense",
  3020. },
  3021. //不分类型与场景 三张现场照片
  3022. {
  3023. title: '三张现场照片 ',
  3024. content: 'First-content',
  3025. id: "threePhotos",
  3026. },
  3027. //不分类型与场景 是否有DID(含中继线)业务的责任承诺函
  3028. {
  3029. title: 'DID(含中继线)业务的责任承诺函',
  3030. content: 'First-content',
  3031. id: "commitmentBook",
  3032. },
  3033. //不分类型与场景 价格审批表
  3034. {
  3035. title: '价格审批表',
  3036. content: 'First-content',
  3037. id: "isPriceApproval",
  3038. },
  3039. //是否有法人身份证 (非党政军客户需具备)
  3040. {
  3041. title: '法人身份证',
  3042. content: 'First-content',
  3043. id: "legalIdCard",
  3044. },
  3045. //经办人身份证 不分类型与场景
  3046. {
  3047. title: '经办人身份证',
  3048. content: 'First-content',
  3049. id: "operatorIdCard",
  3050. },
  3051. //不分类型与场景 授权函
  3052. {
  3053. title: '授权函',
  3054. content: 'First-content',
  3055. id: "authorizeBook",
  3056. },
  3057. // 不分类型与场景 经营性呼叫中心增值业务许可证到期时间
  3058. // {
  3059. // title: '经营性呼叫中心增值业务许可证',
  3060. // content: 'First-content',
  3061. // id: "zZBusinessLicense",
  3062. // },
  3063. //中心业务是否有说明 自用型呼叫中心、经营型呼叫中心、经营型会议电话均需提供
  3064. {
  3065. title: '呼叫中心业务说明',
  3066. content: 'First-content',
  3067. id: "centerBusiness",
  3068. },
  3069. //房屋租赁合同或房产证明 二类客户需具备
  3070. {
  3071. title: '房屋租赁合同或房产证明',
  3072. content: 'First-content',
  3073. id: "contractOrProve",
  3074. },
  3075. //非办公自用需提供 风险评估表
  3076. {
  3077. title: '风险评估表',
  3078. content: 'First-content',
  3079. id: "riskTable",
  3080. },
  3081. //不分类型与场景
  3082. {
  3083. title: '中继线预审表',
  3084. content: 'First-content',
  3085. id: "trunkTable",
  3086. }, {
  3087. title: '回访表',
  3088. content: 'First-content',
  3089. id: "accessTable",
  3090. }, {
  3091. title: '电话回访截图',
  3092. content: 'First-content',
  3093. id: "accessPhone",
  3094. }, {
  3095. title: '现场回访照片',
  3096. content: 'First-content',
  3097. id: "accessPhoto",
  3098. },
  3099. ],
  3100. steps12: [
  3101. //不分类型与场景 中继线合同 (必须是正规合同,不能是业务申请单)
  3102. {
  3103. title: '中继线合同',
  3104. content: 'First-content',
  3105. id: "trunkContract",
  3106. },
  3107. //是否有入网申请签报
  3108. {
  3109. title: '入网申请签报 ',
  3110. content: 'First-content',
  3111. id: "applySign",
  3112. },
  3113. {
  3114. title: '中继线营业执照',
  3115. content: 'First-content',
  3116. id: "businessLicense",
  3117. },
  3118. //不分类型与场景 三张现场照片
  3119. {
  3120. title: '三张现场照片 ',
  3121. content: 'First-content',
  3122. id: "threePhotos",
  3123. },
  3124. //不分类型与场景 是否有DID(含中继线)业务的责任承诺函
  3125. {
  3126. title: 'DID(含中继线)业务的责任承诺函',
  3127. content: 'First-content',
  3128. id: "commitmentBook",
  3129. },
  3130. //不分类型与场景 价格审批表
  3131. {
  3132. title: '价格审批表',
  3133. content: 'First-content',
  3134. id: "isPriceApproval",
  3135. },
  3136. //是否有法人身份证 (非党政军客户需具备)
  3137. {
  3138. title: '法人身份证',
  3139. content: 'First-content',
  3140. id: "legalIdCard",
  3141. },
  3142. //经办人身份证 不分类型与场景
  3143. {
  3144. title: '经办人身份证',
  3145. content: 'First-content',
  3146. id: "operatorIdCard",
  3147. },
  3148. //不分类型与场景 授权函
  3149. {
  3150. title: '授权函',
  3151. content: 'First-content',
  3152. id: "authorizeBook",
  3153. },
  3154. //经营性呼叫中心增值业务许可证到期时间
  3155. {
  3156. title: '经营性呼叫中心增值业务许可证',
  3157. content: 'First-content',
  3158. id: "zZBusinessLicense",
  3159. },
  3160. //中心业务是否有说明 自用型呼叫中心、经营型呼叫中心、经营型会议电话均需提供
  3161. {
  3162. title: '呼叫中心业务说明',
  3163. content: 'First-content',
  3164. id: "centerBusiness",
  3165. },
  3166. //房屋租赁合同或房产证明 二类客户需具备
  3167. {
  3168. title: '房屋租赁合同或房产证明',
  3169. content: 'First-content',
  3170. id: "contractOrProve",
  3171. },
  3172. //非办公自用需提供 风险评估表
  3173. {
  3174. title: '风险评估表',
  3175. content: 'First-content',
  3176. id: "riskTable",
  3177. },
  3178. //不分类型与场景
  3179. {
  3180. title: '中继线预审表',
  3181. content: 'First-content',
  3182. id: "trunkTable",
  3183. }, {
  3184. title: '回访表',
  3185. content: 'First-content',
  3186. id: "accessTable",
  3187. }, {
  3188. title: '电话回访截图',
  3189. content: 'First-content',
  3190. id: "accessPhone",
  3191. }, {
  3192. title: '现场回访照片',
  3193. content: 'First-content',
  3194. id: "accessPhoto",
  3195. },
  3196. ],
  3197. },
  3198. uploading: false,
  3199. rules:{
  3200. scene: [
  3201. {required: true, message: '必须输入'},
  3202. ],
  3203. customType: [
  3204. {required: true, message: '必须输入'},
  3205. ],
  3206. customerName: [
  3207. {required: true, message: '必须输入'},
  3208. ],
  3209. houseDate:[
  3210. {required: true, message: '必须输入'},
  3211. ],
  3212. zZBusinessLicenseDate:[
  3213. {required: true, message: '必须输入'},
  3214. ],
  3215. businessLicenseDateIs:[
  3216. {required: true, message: '必须输入'},
  3217. ],
  3218. businessLicenseDate:[
  3219. {required: true, message: '必须输入'},
  3220. ],
  3221. contractDate:[
  3222. {required: true, message: '必须输入'},
  3223. ],
  3224. riskGrade:[
  3225. {required: true, message: '必须输入'},
  3226. ],
  3227. installationAddress:[
  3228. {required: true, message: '必须输入'},
  3229. ],
  3230. floorName:[
  3231. {required: true, message: '必须输入'},
  3232. ],
  3233. firstActivationDate:[
  3234. {required: true, message: '必须输入'},
  3235. ],
  3236. customerNo:[
  3237. {required: true, message: '必须输入'},
  3238. ],
  3239. userNo:[
  3240. {required: true, message: '必须输入'},
  3241. ],
  3242. networkAccessTime:[
  3243. {required: true, message: '必须输入'},
  3244. ],
  3245. userState:[
  3246. {required: true, message: '必须输入'},
  3247. ],
  3248. contractDateIs:[
  3249. {required: true, message: '必须输入'},
  3250. ],
  3251. staffNo:[
  3252. {required: true, message: '必须输入'},
  3253. ],
  3254. codeNumber:[
  3255. {required: true, message: '必须输入'},
  3256. ],
  3257. accountCode:[
  3258. {required: true, message: '必须输入'},
  3259. ],
  3260. floorCode:[
  3261. {required: true, message: '必须输入'},
  3262. ],
  3263. userCode:[
  3264. {required: true, message: '必须输入'},
  3265. ],
  3266. managePhone: [
  3267. {required: true, message: '请输入客户经理手机号!', trigger: 'blur'}, {validator: this.isPhone}
  3268. ],
  3269. },
  3270. taskId:"",
  3271. notes:"",
  3272. infoModel:{
  3273. control:'0',
  3274. staffName:"",
  3275. dataId:"",
  3276. logId:"",
  3277. infoId:"",
  3278. managePhone:"",
  3279. //客户类型
  3280. customType: 0,
  3281. //使用场景
  3282. scene:'0',
  3283. houseDate:"",
  3284. zZBusinessLicenseDate:"",
  3285. businessLicenseDateIs:"",
  3286. businessLicenseDate:"",
  3287. contractDate:"",
  3288. riskGrade:"",
  3289. installationAddress:"",
  3290. floorName:"",
  3291. firstActivationDate:"",
  3292. customerNo:"",
  3293. userNo:"",
  3294. networkAccessTime:"",
  3295. customerName:"",
  3296. userState:"",
  3297. contractDateIs:"",
  3298. staffNo:"",
  3299. codeNumber:"",
  3300. accountCode:"",
  3301. floorCode:"",
  3302. userCode:"",
  3303. //入网申请签报 applySign
  3304. applySign:[{}],
  3305. applySignRemark:"",
  3306. businessLicense:[{}],
  3307. businessLicenseRemark:"",
  3308. //三张现场照片 threePhotos
  3309. threePhotos:[{}],
  3310. threePhotosRemark:"",
  3311. //DID(含中继线)业务的责任承诺函
  3312. commitmentBook:[{}],
  3313. commitmentBookRemark:"",
  3314. //价格审批表
  3315. isPriceApproval:[{}],
  3316. isPriceApprovalRemark:"",
  3317. //法人身份证
  3318. legalIdCard:[{}],
  3319. legalIdCardRemark:"",
  3320. //经办人身份证.
  3321. operatorIdCard:[{}],
  3322. operatorIdCardRemark:"",
  3323. //授权函.
  3324. authorizeBook:[{}],
  3325. authorizeBookRemark:"",
  3326. //经营性呼叫中心增值业务许可证.
  3327. zZBusinessLicense:[{}],
  3328. zZBusinessLicenseRemark:"",
  3329. //呼叫中心业务说明.
  3330. centerBusiness:[{}],
  3331. centerBusinessRemark:"",
  3332. //房屋租赁合同或房产证明.
  3333. contractOrProve:[{}],
  3334. contractOrProveRemark:"",
  3335. //风险评估表
  3336. riskTable:[{}],
  3337. riskTableRemark:"",
  3338. //中继线预审表
  3339. trunkTable:[{}],
  3340. trunkTableRemark:"",
  3341. //中继线合同
  3342. trunkContract:[{}],
  3343. trunkContractRemark:"",
  3344. accessTable:[{}],
  3345. accessTableRemark:"",
  3346. accessPhone:[{}],
  3347. accessPhoneRemark:"",
  3348. accessPhoto:[{}],
  3349. accessPhotoRemark:"",
  3350. commitment: [{}],
  3351. commitmentRemark: '',
  3352. },
  3353. next: "",
  3354. prev: "",
  3355. //客户信息ID
  3356. infoId: "",
  3357. lotData: {
  3358. //客户类型
  3359. customType: "0",
  3360. //使用场景
  3361. scene: "0",
  3362. //正式卡/测试卡
  3363. blockType: "model",
  3364. //价格管控
  3365. control: "controlN",
  3366. //合同文件
  3367. contractFiles: [],
  3368. //责任人和经办人授权书
  3369. empowerFiles: [],
  3370. //责任人和经办人身份证
  3371. idCardFiles: [],
  3372. //客户证件扫描
  3373. scanningFiles: [],
  3374. //风险评估表
  3375. riskFiles: [],
  3376. //价格审批表
  3377. priceFiles: [],
  3378. //测试卡申请单
  3379. testCardApplication: []
  3380. },
  3381. truckData: {
  3382. //客户类型
  3383. customType: "0",
  3384. //使用场景
  3385. scene: "0",
  3386. },
  3387. //缩略与大图数据源
  3388. swiperId: 0 + 1,
  3389. swiperImg: [{}],
  3390. //轮播配置
  3391. swiperOptionTop: {
  3392. zoom: true,
  3393. loop: false,
  3394. loopedSlides: 5, // looped slides should be the same
  3395. spaceBetween: 10,
  3396. observer: true, //修改swiper自己或子元素时,自动初始化swiper
  3397. observeParents: true, //修改swiper的父元素时,自动初始化swiper
  3398. // autoplay: { //自动轮播
  3399. // delay: 2000,
  3400. // disableOnInteraction: false
  3401. // },
  3402. navigation: {
  3403. nextEl: '.swiper-button-next',
  3404. prevEl: '.swiper-button-prev'
  3405. }
  3406. },
  3407. labelCol6: {
  3408. labelCol: {
  3409. xs: {span: 24},
  3410. sm: {span:10},
  3411. },
  3412. wrapperCol: {
  3413. xs: {span: 24},
  3414. sm: {span: 12},
  3415. }
  3416. },
  3417. labelCol4: {
  3418. labelCol: {
  3419. xs: {span: 24},
  3420. sm: {span: 10},
  3421. },
  3422. wrapperCol: {
  3423. xs: {span: 24},
  3424. sm: {span: 12},
  3425. }
  3426. },
  3427. labelCol5: {
  3428. labelCol: {
  3429. xs: {span: 24},
  3430. sm: {span: 12},
  3431. },
  3432. wrapperCol: {
  3433. xs: {span: 24},
  3434. sm: {span: 12},
  3435. }
  3436. },
  3437. labelCol1Note: {
  3438. labelCol: {
  3439. xs: {span: 24},
  3440. sm: {span: 4},
  3441. },
  3442. wrapperCol: {
  3443. xs: {span: 24},
  3444. sm: {span: 20},
  3445. }
  3446. },
  3447. swiperOptionThumbs: {
  3448. loop: false,
  3449. loopedSlides: 5, // looped slides should be the same
  3450. spaceBetween: 10,
  3451. centeredSlides: true,
  3452. slidesPerView: 'auto',
  3453. touchRatio: 0.2,
  3454. slideToClickedSlide: true,
  3455. navigation: {
  3456. nextEl: '.swiper-button-next',
  3457. prevEl: '.swiper-button-prev'
  3458. }
  3459. }
  3460. };
  3461. },
  3462. created() {
  3463. this.infoId = this.$route.query.id;
  3464. this.controlChange();
  3465. //this.steps.stepsNow = this.steps.steps00;
  3466. this.steps.currentId = this.steps.stepsNow[0].id;
  3467. this.infoModel.infoId = this.$route.query.id;
  3468. this.getInfoDataById(this.$route.query.id);
  3469. this.getTask(this.$route.query.id);
  3470. this.getInfoDataByInfoId(this.$route.query.id)
  3471. },
  3472. computed: {
  3473. importMinioUploadAction() {
  3474. return window._CONFIG['domianURL'] + this.url.minioUpload;
  3475. },
  3476. },
  3477. props: {
  3478. poster: {
  3479. type: String,
  3480. required: false,
  3481. default: ""
  3482. },
  3483. controls: {
  3484. type: Boolean,
  3485. required: false,
  3486. default: true
  3487. },
  3488. control: {
  3489. type: Boolean,
  3490. required: false,
  3491. default: false
  3492. },
  3493. },
  3494. watch: {
  3495. // 监听操作
  3496. videoData(val, oldVal) {
  3497. const {currentTime, duration} = val;
  3498. if (currentTime && duration && currentTime < duration) {
  3499. this.hintOperate();
  3500. }
  3501. }
  3502. },
  3503. mounted() {
  3504. // 实现swiper双向控制
  3505. this.$nextTick(() => {
  3506. const swiperTop = this.$refs.swiperTop.swiper
  3507. const swiperThumbs = this.$refs.swiperThumbs.swiper
  3508. swiperTop.controller.control = swiperThumbs
  3509. swiperThumbs.controller.control = swiperTop
  3510. })
  3511. // //默认流程
  3512. // this.steps = this.steps00;
  3513. },
  3514. methods: {
  3515. jumpUrl(url){
  3516. var a = document.createElement("a");
  3517. a.setAttribute("href", url);
  3518. a.setAttribute("target", "_blank");
  3519. a.click();
  3520. },
  3521. handleCancel() {
  3522. this.previewVisible = false;
  3523. },
  3524. async handlePreview(file) {
  3525. if (!file.url && !file.preview) {
  3526. file.preview = await getBase64(file.originFileObj);
  3527. }
  3528. this.previewImage = file.url || file.preview ||file.urlBase ;
  3529. this.previewVisible = true;
  3530. },
  3531. handleChange({ fileList }) {
  3532. this.fileList = fileList;
  3533. },
  3534. showPhone(isShow,msg) {
  3535. var data = {
  3536. customerNo: this.infoModel.customerNo,
  3537. stepsId: this.steps.stepsNow[this.steps.current].id,
  3538. type:'4'
  3539. }
  3540. getAction('/smsCheck/customerInfo/phone/customerPhone', data).then((res) => {
  3541. if (res.success) {
  3542. this.phoneList=JSON.parse(res.result);
  3543. if (this.phoneList!==null && this.phoneList.length!==0){
  3544. this.fileShoppingNumber = this.phoneList.length
  3545. if (this.isPhoneshow === false && isShow) {
  3546. this.isPhoneshow = true;
  3547. }else {
  3548. this.isPhoneshow = false;
  3549. }
  3550. }else {
  3551. this.fileShoppingNumber = 0 ;
  3552. if (msg){
  3553. this.$message.warning("此类无历史上传");
  3554. }
  3555. }
  3556. }else {
  3557. this.fileShoppingNumber = 0 ;
  3558. }
  3559. })
  3560. },
  3561. isPhone(rule, value, callback) {
  3562. if (!value || new RegExp(/^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/).test(value)) {
  3563. callback();
  3564. } else {
  3565. callback("您的手机号码格式不正确!");
  3566. }
  3567. },
  3568. getTask(infoId){
  3569. var that = this;
  3570. var data = {
  3571. "infoId": infoId,
  3572. }
  3573. postAction(this.url.getTask, data).then((res) => {
  3574. if (res.success) {
  3575. that.taskId=res.result.taskId;
  3576. }
  3577. })
  3578. },
  3579. getInfoDataByInfoId(infoId) {
  3580. var that = this;
  3581. if (infoId) {
  3582. var data = {
  3583. "infoId": infoId,
  3584. }
  3585. getAction(this.url.getInfoDataByInfoId, data).then((res) => {
  3586. if (res.success) {
  3587. let result = res.result;
  3588. // result=this.getInfoDataById(infoId,result)
  3589. that.infoModel=result;
  3590. that.infoModel.applySign= JSON.parse(result.applySign);
  3591. that.infoModel.threePhotos= JSON.parse(result.threePhotos);
  3592. that.infoModel.commitmentBook= JSON.parse(result.commitmentBook);
  3593. that.infoModel.isPriceApproval= JSON.parse(result.isPriceApproval);
  3594. that.infoModel.legalIdCard= JSON.parse(result.legalIdCard);
  3595. that.infoModel.operatorIdCard= JSON.parse(result.operatorIdCard);
  3596. that.infoModel.authorizeBook= JSON.parse(result.authorizeBook);
  3597. that.infoModel.zZBusinessLicense= JSON.parse(result.zZBusinessLicense);
  3598. that.infoModel.businessLicense= JSON.parse(result.businessLicense);
  3599. that.infoModel.centerBusiness= JSON.parse(result.centerBusiness);
  3600. that.infoModel.contractOrProve= JSON.parse(result.contractOrProve);
  3601. that.infoModel.riskTable= JSON.parse(result.riskTable);
  3602. that.infoModel.trunkTable= JSON.parse(result.trunkTable);
  3603. that.infoModel.trunkContract= JSON.parse(result.trunkContract);
  3604. that.infoModel.accessPhone= JSON.parse(result.accessPhone);
  3605. that.infoModel.accessPhoto= JSON.parse(result.accessPhoto);
  3606. that.infoModel.accessTable= JSON.parse(result.accessTable);
  3607. that.infoModel.commitment = JSON.parse(result.commitment);
  3608. that.controlChange();
  3609. for (var i in that.steps.stepsNow) {
  3610. for (var j in result[that.steps.stepsNow[i].id]){
  3611. if (result[that.steps.stepsNow[i].id][0].urlBase!==undefined){
  3612. that.steps.stepsNow[i].status = "finish"
  3613. }
  3614. if (result[that.steps.stepsNow[i].id+'Remark'][0]!==undefined){
  3615. that.steps.stepsNow[i].status = "finish"
  3616. }
  3617. }
  3618. }
  3619. }
  3620. })
  3621. }
  3622. },
  3623. /**获取客户信息*/
  3624. getInfoDataById(id,resultA) {
  3625. var that = this;
  3626. if (id) {
  3627. var data = {
  3628. "id": id,
  3629. }
  3630. getAction(this.url.getInfoDataById, data).then((res) => {
  3631. if (res.success) {
  3632. let result = res.result;
  3633. //用户状态
  3634. that.infoModel.userState =result.userState;
  3635. //用户发展员工
  3636. that.infoModel.staffNo =result.staffNo;
  3637. that.infoModel.customerNo =result.customerNo;
  3638. that.infoModel.userNo =result.userNo;
  3639. that.infoModel.networkAccessTime =result.networkAccessTime;
  3640. that.infoModel.firstActivationDate =result.firstActivationDate;
  3641. that.infoModel.userCode =result.userCode;
  3642. that.infoModel.accountCode =result.accountCode;
  3643. that.infoModel.floorName =result.floorName;
  3644. that.infoModel.staffName =result.staffName;
  3645. that.notes =result.notes;
  3646. this.showPhone();
  3647. }
  3648. })
  3649. }
  3650. return resultA
  3651. },
  3652. /**备注坚听*/
  3653. textareaChange(name, nameRemark) {
  3654. if (this.infoModel[nameRemark].length > 0) {
  3655. this.steps.stepsNow[this.steps.current].status = "finish"
  3656. } else if (this.infoModel[name].length > 0 && this.infoModel[name][0].urlBase) {
  3657. this.steps.stepsNow[this.steps.current].status = "finish"
  3658. } else {
  3659. this.steps.stepsNow[this.steps.current].status = "wait"
  3660. }
  3661. },
  3662. /**步骤条点击事件*/
  3663. stepsClick(current) {
  3664. this.steps.current = current;
  3665. this.steps.currentId = this.steps.stepsNow[current].id
  3666. for (var i in this.steps.stepsNow) {
  3667. if (this.steps.stepsNow[i].status != "finish") {
  3668. this.steps.stepsNow[i].status = "wait"
  3669. }
  3670. if (this.steps.stepsNow[i].status === "finish") {
  3671. this.steps.stepsNow[i].status === "finish"
  3672. }
  3673. }
  3674. if (this.steps.stepsNow[current].status!== "finish") {
  3675. this.steps.stepsNow[current].status = "process"
  3676. }
  3677. this.showPhone(false,false);
  3678. },
  3679. back(name){
  3680. if (name==='contractDate'){
  3681. this.infoModel.contractDateIs="1"
  3682. this.infoModel.contractDate=""
  3683. }
  3684. if (name==='businessLicenseDate'){
  3685. this.infoModel.businessLicenseDateIs="1"
  3686. this.infoModel.businessLicenseDate=""
  3687. }
  3688. },
  3689. /**暂存*/
  3690. addIsStaging() {
  3691. this.uploading = true;
  3692. var that = this;
  3693. var data=that.infoModel ;
  3694. //data =this.dataListToStr(data);
  3695. postAction("/smsTurck/customerData/addIsStaging", data).then((res) => {
  3696. if (res.success) {
  3697. this.uploading = false;
  3698. this.$message.success("提交成功", 3);
  3699. this.addIng == true
  3700. this.$router.push({path: '/truck/check/task/check', query: {id: that.taskId}});
  3701. this.closeCurrent();
  3702. } else {
  3703. this.uploading = false;
  3704. if ( res.message !==null){
  3705. this.$message.error( res.message);
  3706. }else {
  3707. this.$message.error("提交失败");
  3708. }
  3709. }
  3710. }).finally(() => {
  3711. this.uploading = false;
  3712. })
  3713. },
  3714. /*提交*/
  3715. submitAuditLot() {
  3716. this.uploading = true;
  3717. var info = "yes";
  3718. this.$refs.form.validate(valid => {
  3719. // 验证通过
  3720. if (!valid) {
  3721. info = "no";
  3722. this.uploading = false;
  3723. }}
  3724. )
  3725. var text= "";
  3726. for (var i in this.steps.stepsNow) {
  3727. if (this.steps.stepsNow[i].status !== "finish"&& this.steps.stepsNow[i].id !=='commitment') {
  3728. // text+= '111<br/> ';
  3729. var str=this.steps.stepsNow[i].title;
  3730. text+= str+"资料或备注都未上传!!!"+'<br/><br/>';
  3731. //this.$message.warn( this.steps.stepsNow[i].title +"资料或备注都未上传!!!");
  3732. info="no";
  3733. }
  3734. }
  3735. debugger
  3736. if (this.infoModel.customType===1){
  3737. if (this.infoModel.houseDate==="" ||this.infoModel.houseDate===null){
  3738. info="no";
  3739. this.$message.warn( "房屋租赁合同到期时间 未填写!!!");
  3740. }
  3741. }
  3742. var stringToHTML = function (str) {
  3743. var dom = document.createElement('div');
  3744. dom.innerHTML = str;
  3745. return dom;
  3746. };
  3747. console.log(stringToHTML('<h1>Hello world!</h1><p>How are you today?</p>'));
  3748. if (info==="no"){
  3749. this.$warning({
  3750. title: '提示',
  3751. dangerouslyUseHTMLString: true,
  3752. content:(h) => {
  3753. return h('div', {
  3754. domProps: {
  3755. innerHTML: text
  3756. },
  3757. }, []);
  3758. }
  3759. })
  3760. return
  3761. }
  3762. var that = this;
  3763. var data=that.infoModel ;
  3764. //data =this.dataListToStr(data);
  3765. postAction("/smsTurck/customerData/add", data).then((res) => {
  3766. if (res.success) {
  3767. this.uploading = false;
  3768. this.$message.success("提交成功", 3);
  3769. this.addIng == true
  3770. this.$router.push({path: '/truck/check/task/check', query: {id: that.taskId}});
  3771. this.closeCurrent();
  3772. } else {
  3773. this.uploading = false;
  3774. if ( res.message !==null){
  3775. this.$message.error( res.message);
  3776. }else {
  3777. this.$message.error("提交失败");
  3778. }
  3779. }
  3780. }).finally(() => {
  3781. this.uploading = false;
  3782. })
  3783. },
  3784. //客户类型与使用场景监听
  3785. controlChange(a, event) {
  3786. this.current = 0;
  3787. this.steps.currentId = "trunkContract";
  3788. let customType = this.infoModel.customType;
  3789. let scene = this.infoModel.scene;
  3790. if (customType ===0) {
  3791. if (scene ==='0') {
  3792. this.steps.stepsNow = this.steps.steps00
  3793. }
  3794. if (scene ==='1') {
  3795. this.steps.stepsNow = this.steps.steps01
  3796. }
  3797. if (scene ==='2') {
  3798. this.steps.stepsNow= this.steps.steps02
  3799. }
  3800. if (scene ==='3') {
  3801. this.steps.stepsNow = this.steps.steps02
  3802. }
  3803. }
  3804. if (customType ===1) {
  3805. if (scene ==='0') {
  3806. this.steps.stepsNow = this.steps.steps10
  3807. }
  3808. if (scene ==='1') {
  3809. this.steps.stepsNow = this.steps.steps11
  3810. }
  3811. if (scene ==='2') {
  3812. this.steps.stepsNow = this.steps.steps12
  3813. }
  3814. if (scene ==='3') {
  3815. this.steps.stepsNow = this.steps.steps12
  3816. }
  3817. }
  3818. if (this.infoModel.control==='0'){
  3819. for (var i = 0; i <this.steps.stepsNow.length; i++) {
  3820. if (this.steps.stepsNow[i].id==='isPriceApproval'){
  3821. this.steps.stepsNow.splice(i, 1);
  3822. }
  3823. }
  3824. }
  3825. if (this.infoModel.control==='1'){
  3826. var info ='';
  3827. for (var i = 0; i <this.steps.stepsNow.length; i++) {
  3828. if (this.steps.stepsNow[i].id==='isPriceApproval'){
  3829. info ='yes';
  3830. }
  3831. }
  3832. if (info!=='yes'){
  3833. this.steps.stepsNow.push({
  3834. title: '价格审批表',
  3835. content: 'First-content',
  3836. id: "isPriceApproval",
  3837. });
  3838. }
  3839. }
  3840. var info2='';
  3841. for (var i = 0; i <this.steps.stepsNow.length; i++) {
  3842. if (this.steps.stepsNow[i].id==='commitment'){
  3843. info2 ='yes';
  3844. }
  3845. }
  3846. if (info2!=='yes'){
  3847. this.steps.stepsNow.push({
  3848. title: '其他材料(非必填)',
  3849. content: 'First-content',
  3850. id: "commitment",
  3851. });
  3852. }
  3853. for (var i in this.steps.stepsNow) {
  3854. for (var j in this.infoModel[this.steps.stepsNow[i].id]){
  3855. if (this.infoModel[this.steps.stepsNow[i].id][0].urlBase!==undefined){
  3856. this.steps.stepsNow[i].status = "finish"
  3857. }
  3858. if (this.infoModel[this.steps.stepsNow[i].id+'Remark'][0]!==undefined){
  3859. this.steps.stepsNow[i].status = "finish"
  3860. }
  3861. }
  3862. }
  3863. //
  3864. // for (var i in this.steps.stepsNow) {
  3865. // if ( this.steps.stepsNow[i].urlBase!==undefined){
  3866. // this.steps.stepsNow[i].status = "finish"
  3867. // }
  3868. // if ( this.steps.stepsNow[i][this.steps.stepsNow.id+'Remark']!==undefined){
  3869. // this.steps.stepsNow[i].status = "finish"
  3870. // }
  3871. // }
  3872. },
  3873. /**移除文件*/
  3874. removeFile(fileData, fileAttribute) {
  3875. let that = this.infoModel;
  3876. //处理轮播数据
  3877. let swiperImg = that[fileAttribute];
  3878. if (swiperImg) {
  3879. let number = swiperImg.indexOf(fileData);
  3880. swiperImg.splice(number, 1)
  3881. if (swiperImg.length == 0) {
  3882. swiperImg.push({})
  3883. let textId = fileAttribute + "Remark";
  3884. if (this.infoModel[textId].trim() > 0) {
  3885. this.steps.stepsNow[this.steps.current].status = "finish"
  3886. } else {
  3887. this.steps.stepsNow[this.steps.current].status = "wait"
  3888. }
  3889. } else {
  3890. this.steps.stepsNow[this.steps.current].status = "finish"
  3891. }
  3892. that[fileAttribute] = swiperImg
  3893. }
  3894. },
  3895. selfUploadContractView(item) {
  3896. this.idCurrent= this.steps.stepsNow[this.steps.current].id;
  3897. var fileAttribute =this.steps.stepsNow[this.steps.current].id;
  3898. var that = this;
  3899. that.swiperId = that.swiperId + 1;
  3900. console.log(that.swiperId)
  3901. //文件链接
  3902. let swipData = item;
  3903. if (that.infoModel[fileAttribute][0].urlBase) {
  3904. that.infoModel[fileAttribute].push(swipData)
  3905. } else {
  3906. that.infoModel[fileAttribute] = []
  3907. //数据发生变化
  3908. that.infoModel[fileAttribute][0] = swipData;
  3909. }
  3910. // 改变步骤条状态
  3911. if (that.infoModel[fileAttribute].length > 0) {
  3912. that.steps.stepsNow[that.steps.current].status = "finish"
  3913. } else {
  3914. that.steps.stepsNow[that.steps.current].status = "wait"
  3915. }
  3916. this.$message.success(that.steps.stepsNow[that.steps.current].title+"上传成功");
  3917. },
  3918. //分割数组
  3919. spliceArr(data, fileData) {
  3920. let indexOf = data.indexOf(fileData);
  3921. return data.splice(indexOf, 1)
  3922. },
  3923. /**自定义的上传文件方法*/
  3924. selfUploadContract(data, fileAttribute) {
  3925. var that = this;
  3926. if (data.file) {
  3927. let formData = new FormData();
  3928. formData.append('file', data.file)
  3929. postAction(this.url.minioUpload, formData).then((res) => {
  3930. if (res.success) {
  3931. that.swiperId = that.swiperId + 1;
  3932. console.log(that.swiperId)
  3933. //文件链接
  3934. let filePath = res.message;
  3935. let swipData = {
  3936. id: that.swiperId,
  3937. urlBase: window._CONFIG['onlinePreviewDomainURL'] + '?url='
  3938. + encodeURIComponent(
  3939. Base64.encode(
  3940. (filePath)
  3941. )),
  3942. url: filePath,
  3943. fileName: data.file.name
  3944. }
  3945. if (that.infoModel[fileAttribute][0].urlBase) {
  3946. that.infoModel[fileAttribute].push(swipData)
  3947. } else {
  3948. that.infoModel[fileAttribute] = []
  3949. //数据发生变化
  3950. that.infoModel[fileAttribute][0] = swipData;
  3951. }
  3952. // 改变步骤条状态
  3953. if (that.infoModel[fileAttribute].length > 0) {
  3954. that.steps.stepsNow[that.steps.current].status = "finish"
  3955. } else {
  3956. that.steps.stepsNow[that.steps.current].status = "wait"
  3957. }
  3958. }
  3959. })
  3960. }
  3961. },
  3962. //文件上传成功后回调
  3963. importHandleChange(info) {
  3964. },
  3965. //文件格式限制
  3966. importBeforeUpload(file) {
  3967. var fileType = file.type;
  3968. if (fileType === 'image') {
  3969. if (fileType.indexOf('image') < 0) {
  3970. this.$message.warning('请上传图片');
  3971. return false;
  3972. }
  3973. } else if (fileType === 'file') {
  3974. if (fileType.indexOf('image') >= 0) {
  3975. this.$message.warning('请上传文件');
  3976. return false;
  3977. }
  3978. }
  3979. return true
  3980. },
  3981. //返回上一菜单
  3982. goBack() {
  3983. this.$router.go(-1);
  3984. this.closeCurrent();
  3985. },
  3986. // //下一步骤
  3987. // nextSteps() {
  3988. // if (this.swiperImg.length == 0) {
  3989. // this.$message.warn("请先上传文件!")
  3990. // return;
  3991. // }
  3992. // if (this.swiperImg.length == 1) {
  3993. // if (!this.swiperImg[0].urlBase) {
  3994. // this.$message.warn("请先上传文件!")
  3995. // return;
  3996. // }
  3997. // }
  3998. // if (this.current < this.steps.length) {
  3999. // this.current = this.current + 1;
  4000. // this.currentId = this.steps[this.current].id;
  4001. // //步骤文件类型对应
  4002. // this.currentFileType(this.steps[this.current].id);
  4003. // }
  4004. // },
  4005. // //上一步骤
  4006. // prevSteps() {
  4007. // if (this.current != 0) {
  4008. // this.current = this.current - 1;
  4009. // this.currentId = this.steps[this.current].id;
  4010. // //步骤文件类型对应
  4011. // this.currentFileType(this.currentId);
  4012. // }
  4013. // },
  4014. //上传步骤文件类型对应
  4015. currentFileType(currentId) {
  4016. let that = this;
  4017. this.swiperImg = {}
  4018. switch (currentId) {
  4019. case 'businessLicense':
  4020. that.swiperImg = that.infoModel.businessLicense
  4021. break;
  4022. case 'idCard':
  4023. that.swiperImg = that.infoModel.idCard
  4024. break;
  4025. case 'contract':
  4026. that.swiperImg = that.infoModel.contract
  4027. break;
  4028. case 'prequaliFication':
  4029. that.swiperImg = that.infoModel.prequaliFication
  4030. break;
  4031. case 'risk':
  4032. that.swiperImg = that.infoModel.risk
  4033. break;
  4034. case 'coverLetter':
  4035. that.swiperImg = that.infoModel.coverLetter
  4036. break;
  4037. case 'addedLicense':
  4038. that.swiperImg = that.infoModel.addedLicense
  4039. break;
  4040. case 'registeredCapital':
  4041. that.swiperImg = that.infoModel.registeredCapital
  4042. break;
  4043. case 'ownershipCertificate':
  4044. that.swiperImg = that.infoModel.ownershipCertificate
  4045. break;
  4046. case 'creditInquiry':
  4047. that.swiperImg = that.infoModel.creditInquiry
  4048. break;
  4049. case 'legalPersonality':
  4050. that.swiperImg = that.infoModel.legalPersonality
  4051. break;
  4052. case 'takePhotos':
  4053. that.swiperImg = that.infoModel.takePhotos
  4054. break;
  4055. default:
  4056. that.swiperImg = [];
  4057. }
  4058. //拒绝下标为空 影响轮播样式
  4059. if (that.swiperImg.length == 0) {
  4060. that.swiperImg.push({})
  4061. }
  4062. },
  4063. //步骤文件类型对应
  4064. uploadCurrentFileType(currentId) {
  4065. let that = this;
  4066. switch (currentId) {
  4067. case 'businessLicense':
  4068. that.infoModel.businessLicense = that.swiperImg
  4069. break;
  4070. case 'idCard':
  4071. that.infoModel.idCard = that.swiperImg
  4072. break;
  4073. case 'contract':
  4074. that.infoModel.contract = that.swiperImg
  4075. break;
  4076. case 'prequaliFication':
  4077. that.infoModel.prequaliFication = that.swiperImg
  4078. break;
  4079. case 'risk':
  4080. that.infoModel.risk = that.swiperImg
  4081. break;
  4082. case 'coverLetter':
  4083. that.infoModel.coverLetter = that.swiperImg
  4084. break;
  4085. case 'addedLicense':
  4086. that.infoModel.addedLicense = that.swiperImg
  4087. break;
  4088. case 'registeredCapital':
  4089. that.infoModel.registeredCapital = that.swiperImg
  4090. break;
  4091. case 'ownershipCertificate':
  4092. that.infoModel.ownershipCertificate = that.swiperImg
  4093. break;
  4094. case 'creditInquiry':
  4095. that.infoModel.creditInquiry = that.swiperImg
  4096. break;
  4097. case 'legalPersonality':
  4098. that.infoModel.legalPersonality = that.swiperImg
  4099. break;
  4100. case 'takePhotos':
  4101. that.infoModel.takePhotos = that.swiperImg
  4102. break;
  4103. }
  4104. },
  4105. /**提交稽核*/
  4106. submitLot() {
  4107. let that = this;
  4108. let data = {};
  4109. //客户类型
  4110. data['customType'] = that.infoModel.customType;
  4111. //使用场景
  4112. data['scene'] = that.infoModel.scene;
  4113. let steps = that.steps;
  4114. steps.forEach(function (value) {
  4115. data[value.id] = that.urlBaseJoin(that.infoModel[value.id], "url")
  4116. });
  4117. this.postLotInfo(data);
  4118. },
  4119. postLotInfo(data) {
  4120. //任务Id
  4121. data["infoId"] = this.infoId;
  4122. postAction(this.url.addOrEdit, data).then((res) => {
  4123. if (res.success) {
  4124. this.$message.success("提交成功");
  4125. this.$router.go(-1);
  4126. this.closeCurrent();
  4127. //this.$router.push({path: '/lot/check/task/check', query: {id: record.id}});
  4128. } else {
  4129. this.$message.error(res.message);
  4130. }
  4131. });
  4132. },
  4133. urlBaseJoin(dataArray, name) {
  4134. let newDataArr = [];
  4135. for (var i in dataArray) {
  4136. let dataArrayElementElement = dataArray[i][name];
  4137. newDataArr.push(dataArrayElementElement);
  4138. }
  4139. return newDataArr.toString();
  4140. }
  4141. }
  4142. };
  4143. </script>
  4144. <style lang="less" scoped>
  4145. h3 {
  4146. margin: 20px 0 0 10px;
  4147. }
  4148. .thumb-example {
  4149. //width: 650px;
  4150. margin-top: 20px;
  4151. // background: #000;
  4152. }
  4153. .thumb-example1 {
  4154. width: 1200px;
  4155. margin-top: 20px;
  4156. // background: #000;
  4157. }
  4158. .swiper-slide {
  4159. background-size: cover;
  4160. background-position: center;
  4161. }
  4162. .gallery-top {
  4163. // height: 80% !important;
  4164. /*height: 600px;*/
  4165. width: 100%;
  4166. left: 15%;
  4167. margin-bottom: 50px
  4168. }
  4169. .gallery-topview {
  4170. // height: 80% !important;
  4171. /*height: 600px;*/
  4172. width: 100%;
  4173. left: 15%;
  4174. }
  4175. .gallery-thumbs {
  4176. height: 20% !important;
  4177. box-sizing: border-box;
  4178. padding: 10px 0px;
  4179. /* width: 864px;*/
  4180. margin-left: 10%;
  4181. .swiper-button-next {
  4182. right: 0px;
  4183. }
  4184. .swiper-button-prev {
  4185. left: 0px;
  4186. }
  4187. .swiper-button-next,
  4188. .swiper-button-prev {
  4189. background: #fff;
  4190. width: 45px;
  4191. text-align: center;
  4192. height: 101px;
  4193. top: 26%;
  4194. div {
  4195. margin-top: 30px;
  4196. background: rgb(207, 205, 205);
  4197. height: 45px;
  4198. border-radius: 50%;
  4199. img {
  4200. margin: 7px 0 0 2px;
  4201. width: 30px;
  4202. }
  4203. }
  4204. }
  4205. .swiper-button-next:hover div {
  4206. background: rgb(189, 186, 186);
  4207. }
  4208. .swiper-button-prev:hover div {
  4209. background: rgb(189, 186, 186);
  4210. }
  4211. }
  4212. .gallery-thumbsview {
  4213. height: 20% !important;
  4214. box-sizing: border-box;
  4215. padding: 10px 0px;
  4216. /* width: 864px;*/
  4217. margin-left: 2px;
  4218. .swiper-button-next {
  4219. right: 0px;
  4220. }
  4221. .swiper-button-prev {
  4222. left: 0px;
  4223. }
  4224. .swiper-button-next,
  4225. .swiper-button-prev {
  4226. background: #fff;
  4227. width: 45px;
  4228. text-align: center;
  4229. height: 101px;
  4230. top: 26%;
  4231. div {
  4232. margin-top: 30px;
  4233. background: rgb(207, 205, 205);
  4234. height: 45px;
  4235. border-radius: 50%;
  4236. img {
  4237. margin: 7px 0 0 2px;
  4238. width: 30px;
  4239. }
  4240. }
  4241. }
  4242. .swiper-button-next:hover div {
  4243. background: rgb(189, 186, 186);
  4244. }
  4245. .swiper-button-prev:hover div {
  4246. background: rgb(189, 186, 186);
  4247. }
  4248. }
  4249. .gallery-thumbs .swiper-slide {
  4250. width: 20%;
  4251. height: 80px;
  4252. // opacity: 0.4;
  4253. }
  4254. .gallery-thumbs .swiper-slide-active {
  4255. border: 2px solid red;
  4256. }
  4257. .markdown ul > li {
  4258. color: #000000d9;
  4259. font-size: 15px;
  4260. line-height: 3;
  4261. margin-left: 20px;
  4262. padding-left: 4px;
  4263. list-style-type: circle;
  4264. }
  4265. .float-info{
  4266. box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
  4267. transition: all 0.3s;
  4268. position: fixed;
  4269. bottom: 50px;
  4270. right: 30px;
  4271. width: 55px;
  4272. height: 55px;
  4273. display: flex;
  4274. flex-flow: column;
  4275. justify-content: center;
  4276. align-items: center;
  4277. z-index: 999;
  4278. background: #1890FF;
  4279. border-radius: 50%;
  4280. cursor: pointer;
  4281. }
  4282. .float-infoPhone{
  4283. margin-bottom:10px;
  4284. float: left;
  4285. right: 11%;
  4286. box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
  4287. transition: all 0.3s;
  4288. position: fixed;
  4289. bottom:3%;
  4290. display: flex;
  4291. flex-flow: column;
  4292. justify-content: center;
  4293. align-items: center;
  4294. z-index: 999;
  4295. //background: #b3d4fc;
  4296. cursor: pointer;
  4297. }
  4298. .floating-button {
  4299. position: fixed;
  4300. bottom: 20px;
  4301. right: 20px;
  4302. z-index: 1000;
  4303. border-radius: 50%;
  4304. color: #fff;
  4305. font-size: 24px;
  4306. width: 50px;
  4307. height: 50px;
  4308. text-align: center;
  4309. line-height: 50px;
  4310. transition: all 0.2s ease;
  4311. box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  4312. cursor: pointer;
  4313. }
  4314. .floating-button:hover {
  4315. box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  4316. transform: translateY(-5px);
  4317. }
  4318. .floating-button:active {
  4319. box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  4320. transform: translateY(2px);
  4321. }
  4322. .a-upload-line-30 {
  4323. line-height: 30px;
  4324. left: 15%;
  4325. position: relative
  4326. }
  4327. .a-textarea-line-30 {
  4328. height: 77px;
  4329. width: 80vh
  4330. }
  4331. .a-card-70 {
  4332. width: 72%;
  4333. float: left;
  4334. left: 2%;
  4335. position: relative
  4336. }
  4337. .a-card-25 {
  4338. float: left;
  4339. width: 25%
  4340. }
  4341. .cornflowerblue {
  4342. color: cornflowerblue;
  4343. }
  4344. </style>