TaskUploadData.vue 127 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391
  1. <template>
  2. <a-spin :spinning="this.uploading" size="large" tip="正在提交资料,请勿关闭当前网页...">
  3. <!-- 客户信息-->
  4. <a-page-header
  5. style="background-color: #FFFFFF;margin-bottom:10px"
  6. title="行短稽核资料填写"
  7. sub-title=""
  8. @back="back"
  9. >
  10. <div>
  11. <a-form-model
  12. ref="form"
  13. :model="infoModel"
  14. :rules="rules"
  15. >
  16. <a-row>
  17. <a-col :span="6">
  18. <a-form-model-item label="客户编号" v-bind="labelCol4" >
  19. <a-input v-model="infoModel.customerNo" placeholder="客户编号" :disabled='true'></a-input>
  20. </a-form-model-item>
  21. </a-col>
  22. <a-col :span="6">
  23. <a-form-model-item label="用户编号" v-bind="labelCol4" >
  24. <a-input v-model="infoModel.userNo" placeholder="用户编号" :disabled='true'></a-input>
  25. </a-form-model-item>
  26. </a-col>
  27. <a-col :span="6">
  28. <a-form-model-item label="入网时间" v-bind="labelCol4" >
  29. <a-input v-model="infoModel.networkAccessTime" placeholder="入网时间" :disabled='true'></a-input>
  30. </a-form-model-item>
  31. </a-col>
  32. <a-col :span="6">
  33. <a-form-model-item label="用户发展员工" prop="staffNo" v-bind="labelCol4">
  34. <a-input v-model="infoModel.staffNo" placeholder="用户发展员工" :disabled='true'></a-input>
  35. </a-form-model-item>
  36. </a-col>
  37. <a-col :span="6">
  38. <a-form-model-item label="发展员工姓名" prop="staffNo" v-bind="labelCol4">
  39. <a-input v-model="infoModel.staffName" placeholder="发展员工姓名" :disabled='true'></a-input>
  40. </a-form-model-item>
  41. </a-col>
  42. <a-col :span="6">
  43. <a-form-model-item label="客户名称(全)" prop="customerName" v-bind="labelCol4">
  44. <a-input v-model="infoModel.customerName" placeholder="客户名称/使用人名称"></a-input>
  45. </a-form-model-item>
  46. </a-col>
  47. <a-col :span="6">
  48. <!-- <a-form-model-item label="用户状态" prop="userState" v-bind="labelCol4">-->
  49. <!-- <a-input v-model="infoModel.userState" placeholder="用户状态" :disabled='true'></a-input>-->
  50. <!-- </a-form-model-item>-->
  51. <a-form-item label="用户状态"v-bind="labelCol4" prop="userState" >
  52. <j-dict-select-tag placeholder="请选择用户状态" v-model="infoModel.userState" dictCode="user_status_2"/>
  53. </a-form-item>
  54. </a-col>
  55. <a-col :span="6">
  56. <a-form-model-item label="码号" prop="codeNumber" v-bind="labelCol4">
  57. <a-input v-model="infoModel.codeNumber" placeholder="(接入开通码号95/96/10/11/12/106/400(不含拓展位长))"></a-input>
  58. </a-form-model-item>
  59. </a-col>
  60. <a-col :span="6">
  61. <a-form-model-item label="号码详细用途" prop="numberUse" v-bind="labelCol4">
  62. <a-input v-model="infoModel.numberUse" placeholder="(文字描述,最大200字。)"></a-input>
  63. </a-form-model-item>
  64. </a-col>
  65. <a-col :span="6">
  66. <a-form-model-item label="客户经理手机号" prop="managePhone" v-bind="labelCol4">
  67. <a-input v-model="infoModel.managePhone" placeholder="客户经理手机号"></a-input>
  68. </a-form-model-item>
  69. </a-col>
  70. <a-col :span="6">
  71. <a-form-model-item label="单位联系人手机号" prop="codeNumberContactPhone" v-bind="labelCol4">
  72. <a-input v-model="infoModel.codeNumberContactPhone" placeholder="业务合同码号使用单位联系人手机号"></a-input>
  73. </a-form-model-item>
  74. </a-col>
  75. <a-col :span="6">
  76. <a-form-model-item label="是否完成整改" prop="isComplete" v-bind="labelCol4">
  77. <a-radio-group v-model="infoModel.isComplete" button-style="solid" >
  78. <a-radio-button value="0">否</a-radio-button>
  79. <a-radio-button value="1">是</a-radio-button>
  80. </a-radio-group>
  81. </a-form-model-item>
  82. </a-col>
  83. <a-col :span="6">
  84. <a-form-model-item label="是否为CSP商" prop="isCsp" v-bind="labelCol4">
  85. <a-radio-group v-model="infoModel.isCsp" button-style="solid" >
  86. <a-radio-button value="0">否</a-radio-button>
  87. <a-radio-button value="1">是</a-radio-button>
  88. </a-radio-group>
  89. </a-form-model-item>
  90. </a-col>
  91. <a-col :span="10">
  92. <a-form-model-item label="码号证书营业执照合同签约方主体是否一致" prop="codeNumberBusinessLicense" v-bind="labelCol5">
  93. <a-radio-group v-model="infoModel.codeNumberBusinessLicense" button-style="solid" >
  94. <a-radio-button value="0">否</a-radio-button>
  95. <a-radio-button value="1">是</a-radio-button>
  96. </a-radio-group>
  97. </a-form-model-item>
  98. </a-col>
  99. <a-col :span="8">
  100. <a-form-model-item label="签约号码与证书下发码号是否一致" prop="isSigningNumber" v-bind="labelCol5">
  101. <a-radio-group v-model="infoModel.isSigningNumber" button-style="solid" >
  102. <a-radio-button value="0">否</a-radio-button>
  103. <a-radio-button value="1">是</a-radio-button>
  104. </a-radio-group>
  105. </a-form-model-item>
  106. </a-col>
  107. <a-col :span="8" v-if='infoModel.contractDateDateIs==="" || infoModel.contractDateDateIs===null || infoModel.contractDateDateIs==="1" '>
  108. <a-form-model-item label="合同到期时间是否长期" prop="contractDateDateIs" v-bind="labelCol8">
  109. <a-radio-group v-model="infoModel.contractDateDateIs" button-style="solid" >
  110. <a-radio-button value="0">否</a-radio-button>
  111. <a-radio-button value="1">是</a-radio-button>
  112. </a-radio-group>
  113. </a-form-model-item>
  114. </a-col>
  115. <a-col :span="8" v-if='infoModel.contractDateDateIs==="0" ' >
  116. <a-form-model-item label="合同到期时间" prop="contractDateDate" v-bind="labelCol8">
  117. <a-date-picker style="min-width:50px; width: 68% " v-model="infoModel.contractDateDate"
  118. format="YYYY-MM-DD"
  119. showTime valueFormat="YYYY-MM-DD"/>
  120. <a-button @click="backDate('contractDate')" >长期</a-button>
  121. </a-form-model-item>
  122. </a-col>
  123. <a-col :span="8" v-if='infoModel.businessLicenseDateDateIs==="" || infoModel.businessLicenseDateDateIs===null || infoModel.businessLicenseDateDateIs==="1" '>
  124. <a-form-model-item label="营业执照有效期是否长期" prop="businessLicenseDateDateIs" v-bind="labelCol8">
  125. <a-radio-group v-model="infoModel.businessLicenseDateDateIs" button-style="solid" >
  126. <a-radio-button value="0">否</a-radio-button>
  127. <a-radio-button value="1">是</a-radio-button>
  128. </a-radio-group>
  129. </a-form-model-item>
  130. </a-col>
  131. <a-col :span="8" v-if='infoModel.businessLicenseDateDateIs==="0"' >
  132. <a-form-model-item label="营业执照到期时间" prop="businessLicenseDateDate" v-bind="labelCol8">
  133. <a-date-picker style="min-width:50px; width: 68% " v-model="infoModel.businessLicenseDateDate"
  134. format="YYYY-MM-DD"
  135. showTime valueFormat="YYYY-MM-DD"/>
  136. <a-button @click="backDate('businessLicenseDate')" >长期</a-button>
  137. </a-form-model-item>
  138. </a-col>
  139. <a-col :span="8" v-if='infoModel.codeNumberDateDateIs==="" || infoModel.codeNumberDateDateIs===null || infoModel.codeNumberDateDateIs==="1" '>
  140. <a-form-model-item label="码号证书有效期是否长期" prop="codeNumberDateDateIs" v-bind="labelCol8">
  141. <a-radio-group v-model="infoModel.codeNumberDateDateIs" button-style="solid" >
  142. <a-radio-button value="0">否</a-radio-button>
  143. <a-radio-button value="1">是</a-radio-button>
  144. </a-radio-group>
  145. </a-form-model-item>
  146. </a-col>
  147. <a-col :span="8" v-if='infoModel.codeNumberDateDateIs==="0" ' >
  148. <a-form-model-item label="码号证书到期时间" prop="codeNumberDateDate" v-bind="labelCol8">
  149. <a-date-picker style="min-width:50px; width: 68% " v-model="infoModel.codeNumberDateDate"
  150. format="YYYY-MM-DD"
  151. showTime valueFormat="YYYY-MM-DD"/>
  152. <a-button @click="backDate('codeNumberDate')" >长期</a-button>
  153. </a-form-model-item>
  154. </a-col>
  155. <a-col :span="8" v-if='infoModel.filingsDateDateIs==="" || infoModel.filingsDateDateIs===null || infoModel.filingsDateDateIs==="1" '>
  156. <a-form-model-item label="备案到期时间是否长期" prop="filingsDateDateIs" v-bind="labelCol8">
  157. <a-radio-group v-model="infoModel.filingsDateDateIs" button-style="solid" >
  158. <a-radio-button value="0">否</a-radio-button>
  159. <a-radio-button value="1">是</a-radio-button>
  160. </a-radio-group>
  161. </a-form-model-item>
  162. </a-col>
  163. <a-col :span="8" v-if='infoModel.filingsDateDateIs==="0" ' >
  164. <a-form-model-item label="备案通知到期时间" prop="filingsDateDate" v-bind="labelCol8">
  165. <a-date-picker style="min-width:50px; width: 68% " v-model="infoModel.filingsDateDate"
  166. format="YYYY-MM-DD"
  167. showTime valueFormat="YYYY-MM-DD"/>
  168. <a-button @click="backDate('filingsDate')" >长期</a-button>
  169. </a-form-model-item>
  170. </a-col>
  171. <a-col :span="8" v-if='infoModel.permitDateDateIs==="" || infoModel.permitDateDateIs===null || infoModel.permitDateDateIs==="1" '>
  172. <a-form-model-item label="增值业务许可证是否长期" :prop='infoModel.isCsp==="1"?"permitDateDateIs":""' v-bind="labelCol8">
  173. <a-radio-group v-model="infoModel.permitDateDateIs" button-style="solid" >
  174. <a-radio-button value="0">否</a-radio-button>
  175. <a-radio-button value="1">是</a-radio-button>
  176. </a-radio-group>
  177. </a-form-model-item>
  178. </a-col>
  179. <a-col :span="8" v-if='infoModel.permitDateDateIs==="0" ' >
  180. <a-form-model-item label="增值业务许可证到期时间" :prop='infoModel.isCsp==="1"?"permitDateDate":""' v-bind="labelCol8">
  181. <a-date-picker style="min-width:50px; width: 68% " v-model="infoModel.permitDateDate"
  182. format="YYYY-MM-DD"
  183. showTime valueFormat="YYYY-MM-DD"/>
  184. <a-button @click="backDate('permitDate')" >长期</a-button>
  185. </a-form-model-item>
  186. </a-col>
  187. <a-col :span="8">
  188. <a-form-model-item label="资料是否完整" prop="isAll" v-bind="labelCol4">
  189. <a-radio-group v-model="infoModel.isAll" button-style="solid" >
  190. <a-radio-button value="0">否</a-radio-button>
  191. <a-radio-button value="1">是</a-radio-button>
  192. </a-radio-group>
  193. </a-form-model-item>
  194. </a-col>
  195. </a-row>
  196. </a-form-model>
  197. </div>
  198. </a-page-header>
  199. <!-- 步骤条-->
  200. <a-card style="margin-bottom:10px;width: 15%;float: left">
  201. <a-steps direction="vertical" :current="steps.current" size="small" @change="stepsClick">
  202. <a-step v-for="item in steps.stepsNow" :key="item.title" :title="item.title" :status="item.status"/>
  203. </a-steps>
  204. <a-button @click="addIsStaging" style="width: 100%" type="warn">暂存</a-button>
  205. <a-button @click="submitAuditLot" style="width: 100%;position: relative;top: 10px" type="primary">提交申请</a-button>
  206. </a-card>
  207. <!-- 合同到期时间(YYYY-MM-DD)-->
  208. <a-card v-if="steps.currentId == 'contractDate'"
  209. style="margin-bottom:10px;
  210. float: left;width: 83%;left: 2%">
  211. <div slot="title">
  212. <span style="float: left;position: relative;top: 4px">合同资料</span>
  213. </div>
  214. <!-- 文件上传-->
  215. <!-- 附件-->
  216. <div>
  217. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  218. <a-textarea style="height: 77px"
  219. v-model="infoModel.contractDateRemark"
  220. @change="textareaChange('contractDate','contractDateRemark')"
  221. placeholder="如没有合同到期时间,需要说明原因"
  222. />
  223. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  224. </a-form-model-item>
  225. </div>
  226. <div style="height: 70%">
  227. <a-upload
  228. name="file"
  229. :multiple="true"
  230. :action="importMinioUploadAction"
  231. :customRequest="e => selfUploadContract(e, 'contractDate')"
  232. :headers="tokenHeader"
  233. :showUploadList="false"
  234. :beforeUpload="importBeforeUpload"
  235. @change="importHandleChange"
  236. style='margin-left: 90px'
  237. >
  238. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  239. </a-upload>
  240. <div class="thumb-example" >
  241. <!-- swiper1 -->
  242. <swiper
  243. class="swiper gallery-top"
  244. :options="swiperOptionTop"
  245. ref="swiperTop"
  246. >
  247. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.contractDate" :key="item.id">
  248. <iframe
  249. v-if="item.urlBase"
  250. frameborder="1"
  251. :src="item.urlBase"
  252. ref="ifr"
  253. width="100%"
  254. height="445px"
  255. scrolling="auto">
  256. </iframe>
  257. <img style="width: 70%;height: 70%;border: 1px solid;"
  258. v-if="!item.urlBase" :src="noDataPng" border="1">
  259. <a-button v-if="infoModel.contractDate.length && item.urlBase"
  260. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  261. danger @click="removeFile(item,'contractDate')">移除
  262. </a-button>
  263. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  264. v-if="infoModel.contractDate.length && item.urlBase"
  265. @click="jumpUrl(item.urlBase)">预览
  266. </a-button>
  267. </swiper-slide>
  268. <!-- <div
  269. class="swiper-button-next swiper-button-white"
  270. slot="button-next"
  271. ></div>
  272. <div
  273. class="swiper-button-prev swiper-button-white"
  274. slot="button-prev"
  275. ></div>-->
  276. </swiper>
  277. <!-- swiper2 Thumbs -->
  278. <swiper
  279. class="swiper gallery-thumbs"
  280. :options="swiperOptionThumbs"
  281. ref="swiperThumbs"
  282. >
  283. <swiper-slide
  284. class="slide"
  285. style="width:100px;height:100px;"
  286. v-for="(item, index) in infoModel.contractDate"
  287. :key="item.id"
  288. >
  289. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  290. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  291. </div>
  292. <img style="width: 100%;height: 96px"
  293. v-if="!item.urlBase" :src="noDataPng" border="1">
  294. </swiper-slide>
  295. <!-- 点我上传文件按钮-->
  296. <div class="clearfix">
  297. <a-upload
  298. listType="picture-card"
  299. name="file"
  300. :multiple="false"
  301. :action="importMinioUploadAction"
  302. :customRequest="e => selfUploadContract(e, 'contractDate')"
  303. :headers="tokenHeader"
  304. :showUploadList="false"
  305. :beforeUpload="importBeforeUpload"
  306. @change="importHandleChange"
  307. >
  308. <div v-if="infoModel.contractDate.length < 10">
  309. <a-icon type="plus"/>
  310. <div class="ant-upload-text">点我上传合同</div>
  311. </div>
  312. </a-upload>
  313. </div>
  314. <div class="swiper-button-next swiper-button-white" slot="button-next">
  315. <div>
  316. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  317. </div>
  318. </div>
  319. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  320. <div>
  321. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  322. </div>
  323. </div>
  324. </swiper>
  325. </div>
  326. </div>
  327. </a-card>
  328. <!-- 营业执照到期时间-->
  329. <a-card v-if="steps.currentId == 'businessLicenseDate'"
  330. style="margin-bottom:10px;
  331. float: left;width: 83%;left: 2%">
  332. <div slot="title">
  333. <span style="float: left;position: relative;top: 4px">营业执照资料</span>
  334. </div>
  335. <!-- 文件上传-->
  336. <!-- 附件-->
  337. <div>
  338. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  339. <a-textarea style="height: 77px"
  340. @change="textareaChange('businessLicenseDate','businessLicenseDateRemark')"
  341. v-model="infoModel.businessLicenseDateRemark"
  342. placeholder="如没有营业执照到期时间资料,需要说明原因"
  343. />
  344. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  345. </a-form-model-item>
  346. </div>
  347. <div style="height: 70%">
  348. <a-upload
  349. name="file"
  350. :multiple="true"
  351. :action="importMinioUploadAction"
  352. :customRequest="e => selfUploadContract(e, 'businessLicenseDate')"
  353. :headers="tokenHeader"
  354. :showUploadList="false"
  355. :beforeUpload="importBeforeUpload"
  356. @change="importHandleChange"
  357. style='margin-left: 90px'
  358. >
  359. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  360. </a-upload>
  361. <div class="thumb-example" >
  362. <!-- swiper1 -->
  363. <swiper
  364. class="swiper gallery-top"
  365. :options="swiperOptionTop"
  366. ref="swiperTop"
  367. >
  368. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.businessLicenseDate" :key="item.id">
  369. <iframe
  370. v-if="item.urlBase"
  371. frameborder="1"
  372. :src="item.urlBase"
  373. ref="ifr"
  374. width="100%"
  375. height="445px"
  376. scrolling="auto">
  377. </iframe>
  378. <img style="width: 70%;height: 70%;border: 1px solid;"
  379. v-if="!item.urlBase" :src="noDataPng" border="1">
  380. <a-button v-if="infoModel.businessLicenseDate.length && item.urlBase"
  381. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  382. danger @click="removeFile(item,'businessLicenseDate')">移除
  383. </a-button>
  384. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  385. v-if="infoModel.businessLicenseDate.length && item.urlBase"
  386. @click="jumpUrl(item.urlBase)">预览
  387. </a-button>
  388. </swiper-slide>
  389. <!-- <div
  390. class="swiper-button-next swiper-button-white"
  391. slot="button-next"
  392. ></div>
  393. <div
  394. class="swiper-button-prev swiper-button-white"
  395. slot="button-prev"
  396. ></div>-->
  397. </swiper>
  398. <!-- swiper2 Thumbs -->
  399. <swiper
  400. class="swiper gallery-thumbs"
  401. :options="swiperOptionThumbs"
  402. ref="swiperThumbs"
  403. >
  404. <swiper-slide
  405. class="slide"
  406. style="width:100px;height:100px;"
  407. v-for="(item, index) in infoModel.businessLicenseDate"
  408. :key="item.id"
  409. >
  410. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  411. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  412. </div>
  413. <img style="width: 100%;height: 96px"
  414. v-if="!item.urlBase" :src="noDataPng" border="1">
  415. </swiper-slide>
  416. <!-- 点我上传文件按钮-->
  417. <div class="clearfix">
  418. <a-upload
  419. listType="picture-card"
  420. name="file"
  421. :multiple="false"
  422. :action="importMinioUploadAction"
  423. :customRequest="e => selfUploadContract(e, 'businessLicenseDate')"
  424. :headers="tokenHeader"
  425. :showUploadList="false"
  426. :beforeUpload="importBeforeUpload"
  427. @change="importHandleChange"
  428. >
  429. <div v-if="infoModel.businessLicenseDate.length < 20">
  430. <a-icon type="plus"/>
  431. <div class="ant-upload-text">点我上传营业执照到期时间资料</div>
  432. </div>
  433. </a-upload>
  434. </div>
  435. <div class="swiper-button-next swiper-button-white" slot="button-next">
  436. <div>
  437. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  438. </div>
  439. </div>
  440. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  441. <div>
  442. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  443. </div>
  444. </div>
  445. </swiper>
  446. </div>
  447. </div>
  448. </a-card>
  449. <!-- 码号证书到期时间资料-->
  450. <a-card v-if="steps.currentId == 'codeNumberDate'"
  451. style="margin-bottom:10px;
  452. float: left;width: 83%;left: 2%">
  453. <div slot="title">
  454. <span style="float: left;position: relative;top: 4px">码号证书资料</span>
  455. </div>
  456. <!-- 文件上传-->
  457. <!-- 附件-->
  458. <div>
  459. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  460. <a-textarea style="height: 77px"
  461. @change="textareaChange('codeNumberDate','codeNumberDateRemark')"
  462. v-model="infoModel.codeNumberDateRemark"
  463. placeholder="如没有码号证书到期时间资料,需要说明原因"
  464. />
  465. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  466. </a-form-model-item>
  467. </div>
  468. <div style="height: 70%">
  469. <a-upload
  470. name="file"
  471. :multiple="true"
  472. :action="importMinioUploadAction"
  473. :customRequest="e => selfUploadContract(e, 'codeNumberDate')"
  474. :headers="tokenHeader"
  475. :showUploadList="false"
  476. :beforeUpload="importBeforeUpload"
  477. @change="importHandleChange"
  478. style='margin-left: 90px'
  479. >
  480. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  481. </a-upload>
  482. <div class="thumb-example" >
  483. <!-- swiper1 -->
  484. <swiper
  485. class="swiper gallery-top"
  486. :options="swiperOptionTop"
  487. ref="swiperTop"
  488. >
  489. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.codeNumberDate" :key="item.id">
  490. <iframe
  491. v-if="item.urlBase"
  492. frameborder="1"
  493. :src="item.urlBase"
  494. ref="ifr"
  495. width="100%"
  496. height="445px"
  497. scrolling="auto">
  498. </iframe>
  499. <img style="width: 70%;height: 70%;border: 1px solid;"
  500. v-if="!item.urlBase" :src="noDataPng" border="1">
  501. <a-button v-if="infoModel.codeNumberDate.length && item.urlBase"
  502. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  503. danger @click="removeFile(item,'codeNumberDate')">移除
  504. </a-button>
  505. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  506. v-if="infoModel.codeNumberDate.length && item.urlBase"
  507. @click="jumpUrl(item.urlBase)">预览
  508. </a-button>
  509. </swiper-slide>
  510. <!-- <div
  511. class="swiper-button-next swiper-button-white"
  512. slot="button-next"
  513. ></div>
  514. <div
  515. class="swiper-button-prev swiper-button-white"
  516. slot="button-prev"
  517. ></div>-->
  518. </swiper>
  519. <!-- swiper2 Thumbs -->
  520. <swiper
  521. class="swiper gallery-thumbs"
  522. :options="swiperOptionThumbs"
  523. ref="swiperThumbs"
  524. >
  525. <swiper-slide
  526. class="slide"
  527. style="width:100px;height:100px;"
  528. v-for="(item, index) in infoModel.codeNumberDate"
  529. :key="item.id"
  530. >
  531. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  532. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  533. </div>
  534. <img style="width: 100%;height: 96px"
  535. v-if="!item.urlBase" :src="noDataPng" border="1">
  536. </swiper-slide>
  537. <!-- 点我上传文件按钮-->
  538. <div class="clearfix">
  539. <a-upload
  540. listType="picture-card"
  541. name="file"
  542. :multiple="false"
  543. :action="importMinioUploadAction"
  544. :customRequest="e => selfUploadContract(e, 'codeNumberDate')"
  545. :headers="tokenHeader"
  546. :showUploadList="false"
  547. :beforeUpload="importBeforeUpload"
  548. @change="importHandleChange"
  549. >
  550. <div v-if="infoModel.codeNumberDate.length < 20">
  551. <a-icon type="plus"/>
  552. <div class="ant-upload-text">点我上传码号证书到期时间资料</div>
  553. </div>
  554. </a-upload>
  555. </div>
  556. <div class="swiper-button-next swiper-button-white" slot="button-next">
  557. <div>
  558. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  559. </div>
  560. </div>
  561. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  562. <div>
  563. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  564. </div>
  565. </div>
  566. </swiper>
  567. </div>
  568. </div>
  569. </a-card>
  570. <!-- 备案通知到期时间-->
  571. <a-card v-if="steps.currentId == 'filingsDate'"
  572. style="margin-bottom:10px;
  573. float: left;width: 83%;left: 2%">
  574. <div slot="title">
  575. <span style="float: left;position: relative;top: 4px"> 备案通知资料</span>
  576. </div>
  577. <!-- 文件上传-->
  578. <!-- 附件-->
  579. <div>
  580. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  581. <a-textarea style="height: 77px"
  582. @change="textareaChange('filingsDate','filingsDateRemark')"
  583. v-model="infoModel.filingsDateRemark"
  584. placeholder="如没有备案通知到期时间资料,需要说明原因"
  585. />
  586. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  587. </a-form-model-item>
  588. </div>
  589. <div style="height: 70%">
  590. <a-upload
  591. name="file"
  592. :multiple="true"
  593. :action="importMinioUploadAction"
  594. :customRequest="e => selfUploadContract(e, 'filingsDate')"
  595. :headers="tokenHeader"
  596. :showUploadList="false"
  597. :beforeUpload="importBeforeUpload"
  598. @change="importHandleChange"
  599. style='margin-left: 90px'
  600. >
  601. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  602. </a-upload>
  603. <div class="thumb-example" >
  604. <!-- swiper1 -->
  605. <swiper
  606. class="swiper gallery-top"
  607. :options="swiperOptionTop"
  608. ref="swiperTop"
  609. >
  610. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.filingsDate" :key="item.id">
  611. <iframe
  612. v-if="item.urlBase"
  613. frameborder="1"
  614. :src="item.urlBase"
  615. ref="ifr"
  616. width="100%"
  617. height="445px"
  618. scrolling="auto">
  619. </iframe>
  620. <img style="width: 70%;height: 70%;border: 1px solid;"
  621. v-if="!item.urlBase" :src="noDataPng" border="1">
  622. <a-button v-if="infoModel.filingsDate.length && item.urlBase"
  623. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  624. danger @click="removeFile(item,'filingsDate')">移除
  625. </a-button>
  626. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  627. v-if="infoModel.filingsDate.length && item.urlBase"
  628. @click="jumpUrl(item.urlBase)">预览
  629. </a-button>
  630. </swiper-slide>
  631. <!-- <div
  632. class="swiper-button-next swiper-button-white"
  633. slot="button-next"
  634. ></div>
  635. <div
  636. class="swiper-button-prev swiper-button-white"
  637. slot="button-prev"
  638. ></div>-->
  639. </swiper>
  640. <!-- swiper2 Thumbs -->
  641. <swiper
  642. class="swiper gallery-thumbs"
  643. :options="swiperOptionThumbs"
  644. ref="swiperThumbs"
  645. >
  646. <swiper-slide
  647. class="slide"
  648. style="width:100px;height:100px;"
  649. v-for="(item, index) in infoModel.filingsDate"
  650. :key="item.id"
  651. >
  652. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  653. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  654. </div>
  655. <img style="width: 100%;height: 96px"
  656. v-if="!item.urlBase" :src="noDataPng" border="1">
  657. </swiper-slide>
  658. <!-- 点我上传文件按钮-->
  659. <div class="clearfix">
  660. <a-upload
  661. listType="picture-card"
  662. name="file"
  663. :multiple="false"
  664. :action="importMinioUploadAction"
  665. :customRequest="e => selfUploadContract(e, 'filingsDate')"
  666. :headers="tokenHeader"
  667. :showUploadList="false"
  668. :beforeUpload="importBeforeUpload"
  669. @change="importHandleChange"
  670. >
  671. <div v-if="infoModel.filingsDate.length < 20">
  672. <a-icon type="plus"/>
  673. <div class="ant-upload-text">点我上传备案通知到期时间资料</div>
  674. </div>
  675. </a-upload>
  676. </div>
  677. <div class="swiper-button-next swiper-button-white" slot="button-next">
  678. <div>
  679. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  680. </div>
  681. </div>
  682. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  683. <div>
  684. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  685. </div>
  686. </div>
  687. </swiper>
  688. </div>
  689. </div>
  690. </a-card>
  691. <!-- 增值业务许可证到期时间-->
  692. <a-card v-if="steps.currentId == 'permitDate'"
  693. style="margin-bottom:10px;
  694. float: left;width: 83%;left: 2%">
  695. <div slot="title">
  696. <span style="float: left;position: relative;top: 4px"> 增值业务许可证资料</span>
  697. </div>
  698. <!-- 文件上传-->
  699. <!-- 附件-->
  700. <div>
  701. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  702. <a-textarea style="height: 77px"
  703. @change="textareaChange('permitDate','permitDateRemark')"
  704. v-model="infoModel.permitDateRemark"
  705. placeholder="如没有增值业务许可证到期时间资料,需要说明原因"
  706. />
  707. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  708. </a-form-model-item>
  709. </div>
  710. <div style="height: 70%">
  711. <a-upload
  712. name="file"
  713. :multiple="true"
  714. :action="importMinioUploadAction"
  715. :customRequest="e => selfUploadContract(e, 'permitDate')"
  716. :headers="tokenHeader"
  717. :showUploadList="false"
  718. :beforeUpload="importBeforeUpload"
  719. @change="importHandleChange"
  720. style='margin-left: 90px'
  721. >
  722. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  723. </a-upload>
  724. <div class="thumb-example" >
  725. <!-- swiper1 -->
  726. <swiper
  727. class="swiper gallery-top"
  728. :options="swiperOptionTop"
  729. ref="swiperTop"
  730. >
  731. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.permitDate" :key="item.id">
  732. <iframe
  733. v-if="item.urlBase"
  734. frameborder="1"
  735. :src="item.urlBase"
  736. ref="ifr"
  737. width="100%"
  738. height="445px"
  739. scrolling="auto">
  740. </iframe>
  741. <img style="width: 70%;height: 70%;border: 1px solid;"
  742. v-if="!item.urlBase" :src="noDataPng" border="1">
  743. <a-button v-if="infoModel.permitDate.length && item.urlBase"
  744. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  745. danger @click="removeFile(item,'permitDate')">移除
  746. </a-button>
  747. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  748. v-if="infoModel.permitDate.length && item.urlBase"
  749. @click="jumpUrl(item.urlBase)">预览
  750. </a-button>
  751. </swiper-slide>
  752. <!-- <div
  753. class="swiper-button-next swiper-button-white"
  754. slot="button-next"
  755. ></div>
  756. <div
  757. class="swiper-button-prev swiper-button-white"
  758. slot="button-prev"
  759. ></div>-->
  760. </swiper>
  761. <!-- swiper2 Thumbs -->
  762. <swiper
  763. class="swiper gallery-thumbs"
  764. :options="swiperOptionThumbs"
  765. ref="swiperThumbs"
  766. >
  767. <swiper-slide
  768. class="slide"
  769. style="width:100px;height:100px;"
  770. v-for="(item, index) in infoModel.permitDate"
  771. :key="item.id"
  772. >
  773. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  774. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  775. </div>
  776. <img style="width: 100%;height: 96px"
  777. v-if="!item.urlBase" :src="noDataPng" border="1">
  778. </swiper-slide>
  779. <!-- 点我上传文件按钮-->
  780. <div class="clearfix">
  781. <a-upload
  782. listType="picture-card"
  783. name="file"
  784. :multiple="false"
  785. :action="importMinioUploadAction"
  786. :customRequest="e => selfUploadContract(e, 'permitDate')"
  787. :headers="tokenHeader"
  788. :showUploadList="false"
  789. :beforeUpload="importBeforeUpload"
  790. @change="importHandleChange"
  791. >
  792. <div v-if="infoModel.permitDate.length < 20">
  793. <a-icon type="plus"/>
  794. <div class="ant-upload-text">点我上传增值业务许可证到期时间资料</div>
  795. </div>
  796. </a-upload>
  797. </div>
  798. <div class="swiper-button-next swiper-button-white" slot="button-next">
  799. <div>
  800. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  801. </div>
  802. </div>
  803. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  804. <div>
  805. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  806. </div>
  807. </div>
  808. </swiper>
  809. </div>
  810. </div>
  811. </a-card>
  812. <!-- 法人/责任人证件-->
  813. <a-card v-if="steps.currentId == 'corporationCard'"
  814. style="margin-bottom:10px;
  815. float: left;width: 83%;left: 2%">
  816. <div slot="title">
  817. <span style="float: left;position: relative;top: 4px"> 法人/责任人证件资料</span>
  818. </div>
  819. <!-- 文件上传-->
  820. <!-- 附件-->
  821. <div>
  822. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  823. <a-textarea style="height: 77px"
  824. @change="textareaChange('corporationCard','corporationCardRemark')"
  825. v-model="infoModel.corporationCardRemark"
  826. placeholder="如没有法人/责任人证件,需要说明原因"
  827. />
  828. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  829. </a-form-model-item>
  830. </div>
  831. <div style="height: 70%">
  832. <a-upload
  833. name="file"
  834. :multiple="true"
  835. :action="importMinioUploadAction"
  836. :customRequest="e => selfUploadContract(e, 'corporationCard')"
  837. :headers="tokenHeader"
  838. :showUploadList="false"
  839. :beforeUpload="importBeforeUpload"
  840. @change="importHandleChange"
  841. style='margin-left: 90px'
  842. >
  843. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  844. </a-upload>
  845. <div class="thumb-example" >
  846. <!-- swiper1 -->
  847. <swiper
  848. class="swiper gallery-top"
  849. :options="swiperOptionTop"
  850. ref="swiperTop"
  851. >
  852. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.corporationCard" :key="item.id">
  853. <iframe
  854. v-if="item.urlBase"
  855. frameborder="1"
  856. :src="item.urlBase"
  857. ref="ifr"
  858. width="100%"
  859. height="445px"
  860. scrolling="auto">
  861. </iframe>
  862. <img style="width: 70%;height: 70%;border: 1px solid;"
  863. v-if="!item.urlBase" :src="noDataPng" border="1">
  864. <a-button v-if="infoModel.corporationCard.length && item.urlBase"
  865. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  866. danger @click="removeFile(item,'corporationCard')">移除
  867. </a-button>
  868. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  869. v-if="infoModel.corporationCard.length && item.urlBase"
  870. @click="jumpUrl(item.urlBase)">预览
  871. </a-button>
  872. </swiper-slide>
  873. <!-- <div
  874. class="swiper-button-next swiper-button-white"
  875. slot="button-next"
  876. ></div>
  877. <div
  878. class="swiper-button-prev swiper-button-white"
  879. slot="button-prev"
  880. ></div>-->
  881. </swiper>
  882. <!-- swiper2 Thumbs -->
  883. <swiper
  884. class="swiper gallery-thumbs"
  885. :options="swiperOptionThumbs"
  886. ref="swiperThumbs"
  887. >
  888. <swiper-slide
  889. class="slide"
  890. style="width:100px;height:100px;"
  891. v-for="(item, index) in infoModel.corporationCard"
  892. :key="item.id"
  893. >
  894. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  895. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  896. </div>
  897. <img style="width: 100%;height: 96px"
  898. v-if="!item.urlBase" :src="noDataPng" border="1">
  899. </swiper-slide>
  900. <!-- 点我上传文件按钮-->
  901. <div class="clearfix">
  902. <a-upload
  903. listType="picture-card"
  904. name="file"
  905. :multiple="false"
  906. :action="importMinioUploadAction"
  907. :customRequest="e => selfUploadContract(e, 'corporationCard')"
  908. :headers="tokenHeader"
  909. :showUploadList="false"
  910. :beforeUpload="importBeforeUpload"
  911. @change="importHandleChange"
  912. >
  913. <div v-if="infoModel.corporationCard.length < 20">
  914. <a-icon type="plus"/>
  915. <div class="ant-upload-text">点我上传法人/责任人证件资料</div>
  916. </div>
  917. </a-upload>
  918. </div>
  919. <div class="swiper-button-next swiper-button-white" slot="button-next">
  920. <div>
  921. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  922. </div>
  923. </div>
  924. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  925. <div>
  926. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  927. </div>
  928. </div>
  929. </swiper>
  930. </div>
  931. </div>
  932. </a-card>
  933. <!-- 责任人授权书-->
  934. <a-card v-if="steps.currentId == 'personResponsible'"
  935. style="margin-bottom:10px;
  936. float: left;width: 83%;left: 2%">
  937. <div slot="title">
  938. <span style="float: left;position: relative;top: 4px"> 责任人授权书资料</span>
  939. </div>
  940. <!-- 文件上传-->
  941. <!-- 附件-->
  942. <div>
  943. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  944. <a-textarea style="height: 77px"
  945. @change="textareaChange('personResponsible','personResponsibleRemark')"
  946. v-model="infoModel.personResponsibleRemark"
  947. placeholder="如没有责任人授权书资料,需要说明原因"
  948. />
  949. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  950. </a-form-model-item>
  951. </div>
  952. <div style="height: 70%">
  953. <a-upload
  954. name="file"
  955. :multiple="true"
  956. :action="importMinioUploadAction"
  957. :customRequest="e => selfUploadContract(e, 'personResponsible')"
  958. :headers="tokenHeader"
  959. :showUploadList="false"
  960. :beforeUpload="importBeforeUpload"
  961. @change="importHandleChange"
  962. style='margin-left: 90px'
  963. >
  964. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  965. </a-upload>
  966. <div class="thumb-example" >
  967. <!-- swiper1 -->
  968. <swiper
  969. class="swiper gallery-top"
  970. :options="swiperOptionTop"
  971. ref="swiperTop"
  972. >
  973. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.personResponsible" :key="item.id">
  974. <iframe
  975. v-if="item.urlBase"
  976. frameborder="1"
  977. :src="item.urlBase"
  978. ref="ifr"
  979. width="100%"
  980. height="445px"
  981. scrolling="auto">
  982. </iframe>
  983. <img style="width: 70%;height: 70%;border: 1px solid;"
  984. v-if="!item.urlBase" :src="noDataPng" border="1">
  985. <a-button v-if="infoModel.personResponsible.length && item.urlBase"
  986. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  987. danger @click="removeFile(item,'personResponsible')">移除
  988. </a-button>
  989. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  990. v-if="infoModel.personResponsible.length && item.urlBase"
  991. @click="jumpUrl(item.urlBase)">预览
  992. </a-button>
  993. </swiper-slide>
  994. <!-- <div
  995. class="swiper-button-next swiper-button-white"
  996. slot="button-next"
  997. ></div>
  998. <div
  999. class="swiper-button-prev swiper-button-white"
  1000. slot="button-prev"
  1001. ></div>-->
  1002. </swiper>
  1003. <!-- swiper2 Thumbs -->
  1004. <swiper
  1005. class="swiper gallery-thumbs"
  1006. :options="swiperOptionThumbs"
  1007. ref="swiperThumbs"
  1008. >
  1009. <swiper-slide
  1010. class="slide"
  1011. style="width:100px;height:100px;"
  1012. v-for="(item, index) in infoModel.personResponsible"
  1013. :key="item.id"
  1014. >
  1015. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1016. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1017. </div>
  1018. <img style="width: 100%;height: 96px"
  1019. v-if="!item.urlBase" :src="noDataPng" border="1">
  1020. </swiper-slide>
  1021. <!-- 点我上传文件按钮-->
  1022. <div class="clearfix">
  1023. <a-upload
  1024. listType="picture-card"
  1025. name="file"
  1026. :multiple="false"
  1027. :action="importMinioUploadAction"
  1028. :customRequest="e => selfUploadContract(e, 'personResponsible')"
  1029. :headers="tokenHeader"
  1030. :showUploadList="false"
  1031. :beforeUpload="importBeforeUpload"
  1032. @change="importHandleChange"
  1033. >
  1034. <div v-if="infoModel.personResponsible.length < 20">
  1035. <a-icon type="plus"/>
  1036. <div class="ant-upload-text">点我上传责任人授权书资料</div>
  1037. </div>
  1038. </a-upload>
  1039. </div>
  1040. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1041. <div>
  1042. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1043. </div>
  1044. </div>
  1045. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1046. <div>
  1047. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1048. </div>
  1049. </div>
  1050. </swiper>
  1051. </div>
  1052. </div>
  1053. </a-card>
  1054. <!-- 经办人证件-->
  1055. <a-card v-if="steps.currentId == 'operatorCard'"
  1056. style="margin-bottom:10px;
  1057. float: left;width: 83%;left: 2%">
  1058. <div slot="title">
  1059. <span style="float: left;position: relative;top: 4px"> 经办人证件资料</span>
  1060. </div>
  1061. <!-- 文件上传-->
  1062. <!-- 附件-->
  1063. <div>
  1064. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  1065. <a-textarea style="height: 77px"
  1066. v-model="infoModel.operatorCardRemark"
  1067. @change="textareaChange('operatorCard','operatorCardRemark')"
  1068. placeholder="如没有经办人证件资料,需要说明原因"
  1069. />
  1070. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1071. </a-form-model-item>
  1072. </div>
  1073. <div style="height: 70%">
  1074. <a-upload
  1075. name="file"
  1076. :multiple="true"
  1077. :action="importMinioUploadAction"
  1078. :customRequest="e => selfUploadContract(e, 'operatorCard')"
  1079. :headers="tokenHeader"
  1080. :showUploadList="false"
  1081. :beforeUpload="importBeforeUpload"
  1082. @change="importHandleChange"
  1083. style='margin-left: 90px'
  1084. >
  1085. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1086. </a-upload>
  1087. <div class="thumb-example" >
  1088. <!-- swiper1 -->
  1089. <swiper
  1090. class="swiper gallery-top"
  1091. :options="swiperOptionTop"
  1092. ref="swiperTop"
  1093. >
  1094. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.operatorCard" :key="item.id">
  1095. <iframe
  1096. v-if="item.urlBase"
  1097. frameborder="1"
  1098. :src="item.urlBase"
  1099. ref="ifr"
  1100. width="100%"
  1101. height="445px"
  1102. scrolling="auto">
  1103. </iframe>
  1104. <img style="width: 70%;height: 70%;border: 1px solid;"
  1105. v-if="!item.urlBase" :src="noDataPng" border="1">
  1106. <a-button v-if="infoModel.operatorCard.length && item.urlBase"
  1107. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  1108. danger @click="removeFile(item,'operatorCard')">移除
  1109. </a-button>
  1110. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1111. v-if="infoModel.operatorCard.length && item.urlBase"
  1112. @click="jumpUrl(item.urlBase)">预览
  1113. </a-button>
  1114. </swiper-slide>
  1115. <!-- <div
  1116. class="swiper-button-next swiper-button-white"
  1117. slot="button-next"
  1118. ></div>
  1119. <div
  1120. class="swiper-button-prev swiper-button-white"
  1121. slot="button-prev"
  1122. ></div>-->
  1123. </swiper>
  1124. <!-- swiper2 Thumbs -->
  1125. <swiper
  1126. class="swiper gallery-thumbs"
  1127. :options="swiperOptionThumbs"
  1128. ref="swiperThumbs"
  1129. >
  1130. <swiper-slide
  1131. class="slide"
  1132. style="width:100px;height:100px;"
  1133. v-for="(item, index) in infoModel.operatorCard"
  1134. :key="item.id"
  1135. >
  1136. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1137. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1138. </div>
  1139. <img style="width: 100%;height: 96px"
  1140. v-if="!item.urlBase" :src="noDataPng" border="1">
  1141. </swiper-slide>
  1142. <!-- 点我上传文件按钮-->
  1143. <div class="clearfix">
  1144. <a-upload
  1145. listType="picture-card"
  1146. name="file"
  1147. :multiple="false"
  1148. :action="importMinioUploadAction"
  1149. :customRequest="e => selfUploadContract(e, 'operatorCard')"
  1150. :headers="tokenHeader"
  1151. :showUploadList="false"
  1152. :beforeUpload="importBeforeUpload"
  1153. @change="importHandleChange"
  1154. >
  1155. <div v-if="infoModel.operatorCard.length < 20">
  1156. <a-icon type="plus"/>
  1157. <div class="ant-upload-text">点我上传经办人证件资料</div>
  1158. </div>
  1159. </a-upload>
  1160. </div>
  1161. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1162. <div>
  1163. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1164. </div>
  1165. </div>
  1166. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1167. <div>
  1168. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1169. </div>
  1170. </div>
  1171. </swiper>
  1172. </div>
  1173. </div>
  1174. </a-card>
  1175. <!-- 经办人手持身份证照片(背景需为电信营业厅或白墙-->
  1176. <a-card v-if="steps.currentId == 'operatorCardPhone'"
  1177. style="margin-bottom:10px;
  1178. float: left;width: 83%;left: 2%">
  1179. <div slot="title">
  1180. <span style="float: left;position: relative;top: 4px"> 经办人手持身份证照片</span>
  1181. </div>
  1182. <!-- 文件上传-->
  1183. <!-- 附件-->
  1184. <div>
  1185. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  1186. <a-textarea style="height: 77px"
  1187. @change="textareaChange('operatorCardPhone','operatorCardPhoneRemark')"
  1188. v-model="infoModel.operatorCardPhoneRemark"
  1189. placeholder="经办人手持身份证照片备注"
  1190. />
  1191. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1192. </a-form-model-item>
  1193. </div>
  1194. <div style="height: 70%">
  1195. <a-upload
  1196. name="file"
  1197. :multiple="true"
  1198. :action="importMinioUploadAction"
  1199. :customRequest="e => selfUploadContract(e, 'operatorCardPhone')"
  1200. :headers="tokenHeader"
  1201. :showUploadList="false"
  1202. :beforeUpload="importBeforeUpload"
  1203. @change="importHandleChange"
  1204. style='margin-left: 90px'
  1205. >
  1206. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1207. </a-upload>
  1208. <div class="thumb-example" >
  1209. <!-- swiper1 -->
  1210. <swiper
  1211. class="swiper gallery-top"
  1212. :options="swiperOptionTop"
  1213. ref="swiperTop"
  1214. >
  1215. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.operatorCardPhone" :key="item.id">
  1216. <iframe
  1217. v-if="item.urlBase"
  1218. frameborder="1"
  1219. :src="item.urlBase"
  1220. ref="ifr"
  1221. width="100%"
  1222. height="445px"
  1223. scrolling="auto">
  1224. </iframe>
  1225. <img style="width: 70%;height: 70%;border: 1px solid;"
  1226. v-if="!item.urlBase" :src="noDataPng" border="1">
  1227. <a-button v-if="infoModel.operatorCardPhone.length && item.urlBase"
  1228. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  1229. danger @click="removeFile(item,'operatorCardPhone')">移除
  1230. </a-button>
  1231. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1232. v-if="infoModel.operatorCardPhone.length && item.urlBase"
  1233. @click="jumpUrl(item.urlBase)">预览
  1234. </a-button>
  1235. </swiper-slide>
  1236. <!-- <div
  1237. class="swiper-button-next swiper-button-white"
  1238. slot="button-next"
  1239. ></div>
  1240. <div
  1241. class="swiper-button-prev swiper-button-white"
  1242. slot="button-prev"
  1243. ></div>-->
  1244. </swiper>
  1245. <!-- swiper2 Thumbs -->
  1246. <swiper
  1247. class="swiper gallery-thumbs"
  1248. :options="swiperOptionThumbs"
  1249. ref="swiperThumbs"
  1250. >
  1251. <swiper-slide
  1252. class="slide"
  1253. style="width:100px;height:100px;"
  1254. v-for="(item, index) in infoModel.operatorCardPhone"
  1255. :key="item.id"
  1256. >
  1257. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1258. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1259. </div>
  1260. <img style="width: 100%;height: 96px"
  1261. v-if="!item.urlBase" :src="noDataPng" border="1">
  1262. </swiper-slide>
  1263. <!-- 点我上传文件按钮-->
  1264. <div class="clearfix">
  1265. <a-upload
  1266. listType="picture-card"
  1267. name="file"
  1268. :multiple="false"
  1269. :action="importMinioUploadAction"
  1270. :customRequest="e => selfUploadContract(e, 'operatorCardPhone')"
  1271. :headers="tokenHeader"
  1272. :showUploadList="false"
  1273. :beforeUpload="importBeforeUpload"
  1274. @change="importHandleChange"
  1275. >
  1276. <div v-if="infoModel.operatorCardPhone.length < 20">
  1277. <a-icon type="plus"/>
  1278. <div class="ant-upload-text">点我上传经办人手持身份证照片</div>
  1279. </div>
  1280. </a-upload>
  1281. </div>
  1282. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1283. <div>
  1284. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1285. </div>
  1286. </div>
  1287. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1288. <div>
  1289. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1290. </div>
  1291. </div>
  1292. </swiper>
  1293. </div>
  1294. </div>
  1295. </a-card>
  1296. <!-- 机房设备照片-->
  1297. <a-card v-if="steps.currentId == 'devicePhone'"
  1298. style="margin-bottom:10px;
  1299. float: left;width: 83%;left: 2%">
  1300. <div slot="title">
  1301. <span style="float: left;position: relative;top: 4px"> 机房设备照片</span>
  1302. </div>
  1303. <!-- 文件上传-->
  1304. <!-- 附件-->
  1305. <div>
  1306. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  1307. <a-textarea style="height: 77px"
  1308. @change="textareaChange('devicePhone','devicePhoneRemark')"
  1309. v-model="infoModel.devicePhoneRemark"
  1310. placeholder="机房设备照片"
  1311. />
  1312. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1313. </a-form-model-item>
  1314. </div>
  1315. <div style="height: 70%">
  1316. <a-upload
  1317. name="file"
  1318. :multiple="true"
  1319. :action="importMinioUploadAction"
  1320. :customRequest="e => selfUploadContract(e, 'devicePhone')"
  1321. :headers="tokenHeader"
  1322. :showUploadList="false"
  1323. :beforeUpload="importBeforeUpload"
  1324. @change="importHandleChange"
  1325. style='margin-left: 90px'
  1326. >
  1327. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1328. </a-upload>
  1329. <div class="thumb-example" >
  1330. <!-- swiper1 -->
  1331. <swiper
  1332. class="swiper gallery-top"
  1333. :options="swiperOptionTop"
  1334. ref="swiperTop"
  1335. >
  1336. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.devicePhone" :key="item.id">
  1337. <iframe
  1338. v-if="item.urlBase"
  1339. frameborder="1"
  1340. :src="item.urlBase"
  1341. ref="ifr"
  1342. width="100%"
  1343. height="445px"
  1344. scrolling="auto">
  1345. </iframe>
  1346. <img style="width: 70%;height: 70%;border: 1px solid;"
  1347. v-if="!item.urlBase" :src="noDataPng" border="1">
  1348. <a-button v-if="infoModel.devicePhone.length && item.urlBase"
  1349. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  1350. danger @click="removeFile(item,'devicePhone')">移除
  1351. </a-button>
  1352. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1353. v-if="infoModel.devicePhone.length && item.urlBase"
  1354. @click="jumpUrl(item.urlBase)">预览
  1355. </a-button>
  1356. </swiper-slide>
  1357. <!-- <div
  1358. class="swiper-button-next swiper-button-white"
  1359. slot="button-next"
  1360. ></div>
  1361. <div
  1362. class="swiper-button-prev swiper-button-white"
  1363. slot="button-prev"
  1364. ></div>-->
  1365. </swiper>
  1366. <!-- swiper2 Thumbs -->
  1367. <swiper
  1368. class="swiper gallery-thumbs"
  1369. :options="swiperOptionThumbs"
  1370. ref="swiperThumbs"
  1371. >
  1372. <swiper-slide
  1373. class="slide"
  1374. style="width:100px;height:100px;"
  1375. v-for="(item, index) in infoModel.devicePhone"
  1376. :key="item.id"
  1377. >
  1378. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1379. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1380. </div>
  1381. <img style="width: 100%;height: 96px"
  1382. v-if="!item.urlBase" :src="noDataPng" border="1">
  1383. </swiper-slide>
  1384. <!-- 点我上传文件按钮-->
  1385. <div class="clearfix">
  1386. <a-upload
  1387. listType="picture-card"
  1388. name="file"
  1389. :multiple="false"
  1390. :action="importMinioUploadAction"
  1391. :customRequest="e => selfUploadContract(e, 'devicePhone')"
  1392. :headers="tokenHeader"
  1393. :showUploadList="false"
  1394. :beforeUpload="importBeforeUpload"
  1395. @change="importHandleChange"
  1396. >
  1397. <div v-if="infoModel.devicePhone.length < 20">
  1398. <a-icon type="plus"/>
  1399. <div class="ant-upload-text">点我上传机房设备照片</div>
  1400. </div>
  1401. </a-upload>
  1402. </div>
  1403. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1404. <div>
  1405. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1406. </div>
  1407. </div>
  1408. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1409. <div>
  1410. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1411. </div>
  1412. </div>
  1413. </swiper>
  1414. </div>
  1415. </div>
  1416. </a-card>
  1417. <!-- 短信模板-->
  1418. <a-card v-if="steps.currentId == 'textMessage'"
  1419. style="margin-bottom:10px;
  1420. float: left;width: 83%;left: 2%">
  1421. <div slot="title">
  1422. <span style="float: left;position: relative;top: 4px"> 短信模板</span>
  1423. </div>
  1424. <!-- 文件上传-->
  1425. <!-- 附件-->
  1426. <div>
  1427. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  1428. <a-textarea style="height: 77px"
  1429. @change="textareaChange('textMessage','textMessageRemark')"
  1430. v-model="infoModel.textMessageRemark"
  1431. placeholder="短信模板"
  1432. />
  1433. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1434. </a-form-model-item>
  1435. </div>
  1436. <div style="height: 70%">
  1437. <a-upload
  1438. name="file"
  1439. :multiple="true"
  1440. :action="importMinioUploadAction"
  1441. :customRequest="e => selfUploadContract(e, 'textMessage')"
  1442. :headers="tokenHeader"
  1443. :showUploadList="false"
  1444. :beforeUpload="importBeforeUpload"
  1445. @change="importHandleChange"
  1446. style='margin-left: 90px'
  1447. >
  1448. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1449. </a-upload>
  1450. <div class="thumb-example" >
  1451. <!-- swiper1 -->
  1452. <swiper
  1453. class="swiper gallery-top"
  1454. :options="swiperOptionTop"
  1455. ref="swiperTop"
  1456. >
  1457. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.textMessage" :key="item.id">
  1458. <iframe
  1459. v-if="item.urlBase"
  1460. frameborder="1"
  1461. :src="item.urlBase"
  1462. ref="ifr"
  1463. width="100%"
  1464. height="445px"
  1465. scrolling="auto">
  1466. </iframe>
  1467. <img style="width: 70%;height: 70%;border: 1px solid;"
  1468. v-if="!item.urlBase" :src="noDataPng" border="1">
  1469. <a-button v-if="infoModel.textMessage.length && item.urlBase"
  1470. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  1471. danger @click="removeFile(item,'textMessage')">移除
  1472. </a-button>
  1473. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1474. v-if="infoModel.textMessage.length && item.urlBase"
  1475. @click="jumpUrl(item.urlBase)">预览
  1476. </a-button>
  1477. </swiper-slide>
  1478. <!-- <div
  1479. class="swiper-button-next swiper-button-white"
  1480. slot="button-next"
  1481. ></div>
  1482. <div
  1483. class="swiper-button-prev swiper-button-white"
  1484. slot="button-prev"
  1485. ></div>-->
  1486. </swiper>
  1487. <!-- swiper2 Thumbs -->
  1488. <swiper
  1489. class="swiper gallery-thumbs"
  1490. :options="swiperOptionThumbs"
  1491. ref="swiperThumbs"
  1492. >
  1493. <swiper-slide
  1494. class="slide"
  1495. style="width:100px;height:100px;"
  1496. v-for="(item, index) in infoModel.textMessage"
  1497. :key="item.id"
  1498. >
  1499. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1500. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1501. </div>
  1502. <img style="width: 100%;height: 96px"
  1503. v-if="!item.urlBase" :src="noDataPng" border="1">
  1504. </swiper-slide>
  1505. <!-- 点我上传文件按钮-->
  1506. <div class="clearfix">
  1507. <a-upload
  1508. listType="picture-card"
  1509. name="file"
  1510. :multiple="false"
  1511. :action="importMinioUploadAction"
  1512. :customRequest="e => selfUploadContract(e, 'textMessage')"
  1513. :headers="tokenHeader"
  1514. :showUploadList="false"
  1515. :beforeUpload="importBeforeUpload"
  1516. @change="importHandleChange"
  1517. >
  1518. <div v-if="infoModel.textMessage.length < 20">
  1519. <a-icon type="plus"/>
  1520. <div class="ant-upload-text">点我上传短信模板</div>
  1521. </div>
  1522. </a-upload>
  1523. </div>
  1524. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1525. <div>
  1526. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1527. </div>
  1528. </div>
  1529. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1530. <div>
  1531. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1532. </div>
  1533. </div>
  1534. </swiper>
  1535. </div>
  1536. </div>
  1537. </a-card>
  1538. <!-- 端口类短信业务责任承诺书-->
  1539. <a-card v-if="steps.currentId == 'textMessageBook'"
  1540. style="margin-bottom:10px;
  1541. float: left;width: 83%;left: 2%">
  1542. <div slot="title">
  1543. <span style="float: left;position: relative;top: 4px"> 端口类短信业务责任承诺书</span>
  1544. </div>
  1545. <!-- 文件上传-->
  1546. <!-- 附件-->
  1547. <div>
  1548. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  1549. <a-textarea style="height: 77px"
  1550. @change="textareaChange('textMessageBook','textMessageBookRemark')"
  1551. v-model="infoModel.textMessageBookRemark"
  1552. placeholder="端口类短信业务责任承诺书"
  1553. />
  1554. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1555. </a-form-model-item>
  1556. </div>
  1557. <div style="height: 70%">
  1558. <a-upload
  1559. name="file"
  1560. :multiple="true"
  1561. :action="importMinioUploadAction"
  1562. :customRequest="e => selfUploadContract(e, 'textMessageBook')"
  1563. :headers="tokenHeader"
  1564. :showUploadList="false"
  1565. :beforeUpload="importBeforeUpload"
  1566. @change="importHandleChange"
  1567. style='margin-left: 90px'
  1568. >
  1569. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1570. </a-upload>
  1571. <div class="thumb-example" >
  1572. <!-- swiper1 -->
  1573. <swiper
  1574. class="swiper gallery-top"
  1575. :options="swiperOptionTop"
  1576. ref="swiperTop"
  1577. >
  1578. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.textMessageBook" :key="item.id">
  1579. <iframe
  1580. v-if="item.urlBase"
  1581. frameborder="1"
  1582. :src="item.urlBase"
  1583. ref="ifr"
  1584. width="100%"
  1585. height="445px"
  1586. scrolling="auto">
  1587. </iframe>
  1588. <img style="width: 70%;height: 70%;border: 1px solid;"
  1589. v-if="!item.urlBase" :src="noDataPng" border="1">
  1590. <a-button v-if="infoModel.textMessageBook.length && item.urlBase"
  1591. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  1592. danger @click="removeFile(item,'textMessageBook')">移除
  1593. </a-button>
  1594. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1595. v-if="infoModel.textMessageBook.length && item.urlBase"
  1596. @click="jumpUrl(item.urlBase)">预览
  1597. </a-button>
  1598. </swiper-slide>
  1599. <!-- <div
  1600. class="swiper-button-next swiper-button-white"
  1601. slot="button-next"
  1602. ></div>
  1603. <div
  1604. class="swiper-button-prev swiper-button-white"
  1605. slot="button-prev"
  1606. ></div>-->
  1607. </swiper>
  1608. <!-- swiper2 Thumbs -->
  1609. <swiper
  1610. class="swiper gallery-thumbs"
  1611. :options="swiperOptionThumbs"
  1612. ref="swiperThumbs"
  1613. >
  1614. <swiper-slide
  1615. class="slide"
  1616. style="width:100px;height:100px;"
  1617. v-for="(item, index) in infoModel.textMessageBook"
  1618. :key="item.id"
  1619. >
  1620. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1621. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1622. </div>
  1623. <img style="width: 100%;height: 96px"
  1624. v-if="!item.urlBase" :src="noDataPng" border="1">
  1625. </swiper-slide>
  1626. <!-- 点我上传文件按钮-->
  1627. <div class="clearfix">
  1628. <a-upload
  1629. listType="picture-card"
  1630. name="file"
  1631. :multiple="false"
  1632. :action="importMinioUploadAction"
  1633. :customRequest="e => selfUploadContract(e, 'textMessageBook')"
  1634. :headers="tokenHeader"
  1635. :showUploadList="false"
  1636. :beforeUpload="importBeforeUpload"
  1637. @change="importHandleChange"
  1638. >
  1639. <div v-if="infoModel.textMessageBook.length < 20">
  1640. <a-icon type="plus"/>
  1641. <div class="ant-upload-text">点我上传端口类短信业务责任承诺书</div>
  1642. </div>
  1643. </a-upload>
  1644. </div>
  1645. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1646. <div>
  1647. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1648. </div>
  1649. </div>
  1650. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1651. <div>
  1652. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1653. </div>
  1654. </div>
  1655. </swiper>
  1656. </div>
  1657. </div>
  1658. </a-card>
  1659. <!-- 信息安全责任承诺书-->
  1660. <a-card v-if="steps.currentId == 'secureBook'"
  1661. style="margin-bottom:10px;
  1662. float: left;width: 83%;left: 2%">
  1663. <div slot="title">
  1664. <span style="float: left;position: relative;top: 4px"> 信息安全责任承诺书</span>
  1665. </div>
  1666. <!-- 文件上传-->
  1667. <!-- 附件-->
  1668. <div>
  1669. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  1670. <a-textarea style="height: 77px"
  1671. @change="textareaChange('secureBook','secureBookRemark')"
  1672. v-model="infoModel.secureBookRemark"
  1673. placeholder="信息安全责任承诺书"
  1674. />
  1675. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1676. </a-form-model-item>
  1677. </div>
  1678. <div style="height: 70%">
  1679. <a-upload
  1680. name="file"
  1681. :multiple="true"
  1682. :action="importMinioUploadAction"
  1683. :customRequest="e => selfUploadContract(e, 'secureBook')"
  1684. :headers="tokenHeader"
  1685. :showUploadList="false"
  1686. :beforeUpload="importBeforeUpload"
  1687. @change="importHandleChange"
  1688. style='margin-left: 90px'
  1689. >
  1690. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1691. </a-upload>
  1692. <div class="thumb-example" >
  1693. <!-- swiper1 -->
  1694. <swiper
  1695. class="swiper gallery-top"
  1696. :options="swiperOptionTop"
  1697. ref="swiperTop"
  1698. >
  1699. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.secureBook" :key="item.id">
  1700. <iframe
  1701. v-if="item.urlBase"
  1702. frameborder="1"
  1703. :src="item.urlBase"
  1704. ref="ifr"
  1705. width="100%"
  1706. height="445px"
  1707. scrolling="auto">
  1708. </iframe>
  1709. <img style="width: 70%;height: 70%;border: 1px solid;"
  1710. v-if="!item.urlBase" :src="noDataPng" border="1">
  1711. <a-button v-if="infoModel.secureBook.length && item.urlBase"
  1712. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  1713. danger @click="removeFile(item,'secureBook')">移除
  1714. </a-button>
  1715. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1716. v-if="infoModel.secureBook.length && item.urlBase"
  1717. @click="jumpUrl(item.urlBase)">预览
  1718. </a-button>
  1719. </swiper-slide>
  1720. <!-- <div
  1721. class="swiper-button-next swiper-button-white"
  1722. slot="button-next"
  1723. ></div>
  1724. <div
  1725. class="swiper-button-prev swiper-button-white"
  1726. slot="button-prev"
  1727. ></div>-->
  1728. </swiper>
  1729. <!-- swiper2 Thumbs -->
  1730. <swiper
  1731. class="swiper gallery-thumbs"
  1732. :options="swiperOptionThumbs"
  1733. ref="swiperThumbs"
  1734. >
  1735. <swiper-slide
  1736. class="slide"
  1737. style="width:100px;height:100px;"
  1738. v-for="(item, index) in infoModel.secureBook"
  1739. :key="item.id"
  1740. >
  1741. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1742. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1743. </div>
  1744. <img style="width: 100%;height: 96px"
  1745. v-if="!item.urlBase" :src="noDataPng" border="1">
  1746. </swiper-slide>
  1747. <!-- 点我上传文件按钮-->
  1748. <div class="clearfix">
  1749. <a-upload
  1750. listType="picture-card"
  1751. name="file"
  1752. :multiple="false"
  1753. :action="importMinioUploadAction"
  1754. :customRequest="e => selfUploadContract(e, 'secureBook')"
  1755. :headers="tokenHeader"
  1756. :showUploadList="false"
  1757. :beforeUpload="importBeforeUpload"
  1758. @change="importHandleChange"
  1759. >
  1760. <div v-if="infoModel.secureBook.length < 20">
  1761. <a-icon type="plus"/>
  1762. <div class="ant-upload-text">点我上传信息安全责任承诺书</div>
  1763. </div>
  1764. </a-upload>
  1765. </div>
  1766. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1767. <div>
  1768. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1769. </div>
  1770. </div>
  1771. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1772. <div>
  1773. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1774. </div>
  1775. </div>
  1776. </swiper>
  1777. </div>
  1778. </div>
  1779. </a-card>
  1780. <!-- 特殊资费审批(标准资费无需提供)-->
  1781. <a-card v-if="steps.currentId == 'special'"
  1782. style="margin-bottom:10px;
  1783. float: left;width: 83%;left: 2%">
  1784. <div slot="title">
  1785. <span style="float: left;position: relative;top: 4px"> 特殊资费审批(标准资费无需提供)</span>
  1786. </div>
  1787. <!-- 文件上传-->
  1788. <!-- 附件-->
  1789. <div>
  1790. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  1791. <a-textarea style="height: 77px"
  1792. @change="textareaChange('special','specialRemark')"
  1793. v-model="infoModel.specialRemark"
  1794. placeholder="特殊资费审批(标准资费无需提供)"
  1795. />
  1796. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1797. </a-form-model-item>
  1798. </div>
  1799. <div style="height: 70%">
  1800. <a-upload
  1801. name="file"
  1802. :multiple="true"
  1803. :action="importMinioUploadAction"
  1804. :customRequest="e => selfUploadContract(e, 'special')"
  1805. :headers="tokenHeader"
  1806. :showUploadList="false"
  1807. :beforeUpload="importBeforeUpload"
  1808. @change="importHandleChange"
  1809. style='margin-left: 90px'
  1810. >
  1811. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1812. </a-upload>
  1813. <div class="thumb-example" >
  1814. <!-- swiper1 -->
  1815. <swiper
  1816. class="swiper gallery-top"
  1817. :options="swiperOptionTop"
  1818. ref="swiperTop"
  1819. >
  1820. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.special" :key="item.id">
  1821. <iframe
  1822. v-if="item.urlBase"
  1823. frameborder="1"
  1824. :src="item.urlBase"
  1825. ref="ifr"
  1826. width="100%"
  1827. height="445px"
  1828. scrolling="auto">
  1829. </iframe>
  1830. <img style="width: 70%;height: 70%;border: 1px solid;"
  1831. v-if="!item.urlBase" :src="noDataPng" border="1">
  1832. <a-button v-if="infoModel.special.length && item.urlBase"
  1833. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  1834. danger @click="removeFile(item,'special')">移除
  1835. </a-button>
  1836. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1837. v-if="infoModel.special.length && item.urlBase"
  1838. @click="jumpUrl(item.urlBase)">预览
  1839. </a-button>
  1840. </swiper-slide>
  1841. <!-- <div
  1842. class="swiper-button-next swiper-button-white"
  1843. slot="button-next"
  1844. ></div>
  1845. <div
  1846. class="swiper-button-prev swiper-button-white"
  1847. slot="button-prev"
  1848. ></div>-->
  1849. </swiper>
  1850. <!-- swiper2 Thumbs -->
  1851. <swiper
  1852. class="swiper gallery-thumbs"
  1853. :options="swiperOptionThumbs"
  1854. ref="swiperThumbs"
  1855. >
  1856. <swiper-slide
  1857. class="slide"
  1858. style="width:100px;height:100px;"
  1859. v-for="(item, index) in infoModel.special"
  1860. :key="item.id"
  1861. >
  1862. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1863. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1864. </div>
  1865. <img style="width: 100%;height: 96px"
  1866. v-if="!item.urlBase" :src="noDataPng" border="1">
  1867. </swiper-slide>
  1868. <!-- 点我上传文件按钮-->
  1869. <div class="clearfix">
  1870. <a-upload
  1871. listType="picture-card"
  1872. name="file"
  1873. :multiple="false"
  1874. :action="importMinioUploadAction"
  1875. :customRequest="e => selfUploadContract(e, 'special')"
  1876. :headers="tokenHeader"
  1877. :showUploadList="false"
  1878. :beforeUpload="importBeforeUpload"
  1879. @change="importHandleChange"
  1880. >
  1881. <div v-if="infoModel.special.length < 20">
  1882. <a-icon type="plus"/>
  1883. <div class="ant-upload-text">点我上传特殊资费审批(标准资费无需提供)</div>
  1884. </div>
  1885. </a-upload>
  1886. </div>
  1887. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1888. <div>
  1889. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1890. </div>
  1891. </div>
  1892. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1893. <div>
  1894. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1895. </div>
  1896. </div>
  1897. </swiper>
  1898. </div>
  1899. </div>
  1900. </a-card>
  1901. <!-- 入网签报-->
  1902. <a-card v-if="steps.currentId == 'networkAccess'"
  1903. style="margin-bottom:10px;
  1904. float: left;width: 83%;left: 2%">
  1905. <div slot="title">
  1906. <span style="float: left;position: relative;top: 4px"> 入网签报</span>
  1907. </div>
  1908. <!-- 文件上传-->
  1909. <!-- 附件-->
  1910. <div>
  1911. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  1912. <a-textarea style="height: 77px"
  1913. @change="textareaChange('networkAccess','networkAccessRemark')"
  1914. v-model="infoModel.networkAccessRemark"
  1915. placeholder="上传入网签报资料备注"
  1916. />
  1917. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1918. </a-form-model-item>
  1919. </div>
  1920. <div style="height: 70%">
  1921. <a-upload
  1922. name="file"
  1923. :multiple="true"
  1924. :action="importMinioUploadAction"
  1925. :customRequest="e => selfUploadContract(e, 'networkAccess')"
  1926. :headers="tokenHeader"
  1927. :showUploadList="false"
  1928. :beforeUpload="importBeforeUpload"
  1929. @change="importHandleChange"
  1930. style='margin-left: 90px'
  1931. >
  1932. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  1933. </a-upload>
  1934. <div class="thumb-example" >
  1935. <!-- swiper1 -->
  1936. <swiper
  1937. class="swiper gallery-top"
  1938. :options="swiperOptionTop"
  1939. ref="swiperTop"
  1940. >
  1941. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.networkAccess" :key="item.id">
  1942. <iframe
  1943. v-if="item.urlBase"
  1944. frameborder="1"
  1945. :src="item.urlBase"
  1946. ref="ifr"
  1947. width="100%"
  1948. height="445px"
  1949. scrolling="auto">
  1950. </iframe>
  1951. <img style="width: 70%;height: 70%;border: 1px solid;"
  1952. v-if="!item.urlBase" :src="noDataPng" border="1">
  1953. <a-button v-if="infoModel.networkAccess.length && item.urlBase"
  1954. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  1955. danger @click="removeFile(item,'networkAccess')">移除
  1956. </a-button>
  1957. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1958. v-if="infoModel.networkAccess.length && item.urlBase"
  1959. @click="jumpUrl(item.urlBase)">预览
  1960. </a-button>
  1961. </swiper-slide>
  1962. <!-- <div
  1963. class="swiper-button-next swiper-button-white"
  1964. slot="button-next"
  1965. ></div>
  1966. <div
  1967. class="swiper-button-prev swiper-button-white"
  1968. slot="button-prev"
  1969. ></div>-->
  1970. </swiper>
  1971. <!-- swiper2 Thumbs -->
  1972. <swiper
  1973. class="swiper gallery-thumbs"
  1974. :options="swiperOptionThumbs"
  1975. ref="swiperThumbs"
  1976. >
  1977. <swiper-slide
  1978. class="slide"
  1979. style="width:100px;height:100px;"
  1980. v-for="(item, index) in infoModel.networkAccess"
  1981. :key="item.id"
  1982. >
  1983. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1984. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1985. </div>
  1986. <img style="width: 100%;height: 96px"
  1987. v-if="!item.urlBase" :src="noDataPng" border="1">
  1988. </swiper-slide>
  1989. <!-- 点我上传文件按钮-->
  1990. <div class="clearfix">
  1991. <a-upload
  1992. listType="picture-card"
  1993. name="file"
  1994. :multiple="false"
  1995. :action="importMinioUploadAction"
  1996. :customRequest="e => selfUploadContract(e, 'networkAccess')"
  1997. :headers="tokenHeader"
  1998. :showUploadList="false"
  1999. :beforeUpload="importBeforeUpload"
  2000. @change="importHandleChange"
  2001. >
  2002. <div v-if="infoModel.networkAccess.length < 20">
  2003. <a-icon type="plus"/>
  2004. <div class="ant-upload-text">点我上传入网签报资料</div>
  2005. </div>
  2006. </a-upload>
  2007. </div>
  2008. <div class="swiper-button-next swiper-button-white" slot="button-next">
  2009. <div>
  2010. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  2011. </div>
  2012. </div>
  2013. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  2014. <div>
  2015. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  2016. </div>
  2017. </div>
  2018. </swiper>
  2019. </div>
  2020. </div>
  2021. </a-card>
  2022. <!-- 集团价格审批-->
  2023. <a-card v-if="steps.currentId == 'groupPriceApproval'"
  2024. style="margin-bottom:10px;
  2025. float: left;width: 83%;left: 2%">
  2026. <div slot="title">
  2027. <span style="float: left;position: relative;top: 4px"> 集团价格审批</span>
  2028. </div>
  2029. <!-- 文件上传-->
  2030. <!-- 附件-->
  2031. <div>
  2032. <a-form-model-item style="left: 5%;width: 85%;" label="上传资料备注:" v-bind="labelCol1Note">
  2033. <a-textarea style="height: 77px"
  2034. @change="textareaChange('groupPriceApproval','groupPriceApprovalRemark')"
  2035. v-model="infoModel.groupPriceApprovalRemark"
  2036. placeholder="集团价格审批"
  2037. />
  2038. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  2039. </a-form-model-item>
  2040. </div>
  2041. <div style="height: 70%">
  2042. <a-upload
  2043. name="file"
  2044. :multiple="true"
  2045. :action="importMinioUploadAction"
  2046. :customRequest="e => selfUploadContract(e, 'groupPriceApproval')"
  2047. :headers="tokenHeader"
  2048. :showUploadList="false"
  2049. :beforeUpload="importBeforeUpload"
  2050. @change="importHandleChange"
  2051. style='margin-left: 90px'
  2052. >
  2053. <a-button> <a-icon type="upload" /> 上传文件 </a-button>
  2054. </a-upload>
  2055. <div class="thumb-example" >
  2056. <!-- swiper1 -->
  2057. <swiper
  2058. class="swiper gallery-top"
  2059. :options="swiperOptionTop"
  2060. ref="swiperTop"
  2061. >
  2062. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.groupPriceApproval" :key="item.id">
  2063. <iframe
  2064. v-if="item.urlBase"
  2065. frameborder="1"
  2066. :src="item.urlBase"
  2067. ref="ifr"
  2068. width="100%"
  2069. height="445px"
  2070. scrolling="auto">
  2071. </iframe>
  2072. <img style="width: 70%;height: 70%;border: 1px solid;"
  2073. v-if="!item.urlBase" :src="noDataPng" border="1">
  2074. <a-button v-if="infoModel.groupPriceApproval.length && item.urlBase"
  2075. style="display: block;margin-top: 10px;border-color: red;color: red;float: left"
  2076. danger @click="removeFile(item,'groupPriceApproval')">移除
  2077. </a-button>
  2078. <a-button style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  2079. v-if="infoModel.groupPriceApproval.length && item.urlBase"
  2080. @click="jumpUrl(item.urlBase)">预览
  2081. </a-button>
  2082. </swiper-slide>
  2083. <!-- <div
  2084. class="swiper-button-next swiper-button-white"
  2085. slot="button-next"
  2086. ></div>
  2087. <div
  2088. class="swiper-button-prev swiper-button-white"
  2089. slot="button-prev"
  2090. ></div>-->
  2091. </swiper>
  2092. <!-- swiper2 Thumbs -->
  2093. <swiper
  2094. class="swiper gallery-thumbs"
  2095. :options="swiperOptionThumbs"
  2096. ref="swiperThumbs"
  2097. >
  2098. <swiper-slide
  2099. class="slide"
  2100. style="width:100px;height:100px;"
  2101. v-for="(item, index) in infoModel.groupPriceApproval"
  2102. :key="item.id"
  2103. >
  2104. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  2105. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  2106. </div>
  2107. <img style="width: 100%;height: 96px"
  2108. v-if="!item.urlBase" :src="noDataPng" border="1">
  2109. </swiper-slide>
  2110. <!-- 点我上传文件按钮-->
  2111. <div class="clearfix">
  2112. <a-upload
  2113. listType="picture-card"
  2114. name="file"
  2115. :multiple="false"
  2116. :action="importMinioUploadAction"
  2117. :customRequest="e => selfUploadContract(e, 'groupPriceApproval')"
  2118. :headers="tokenHeader"
  2119. :showUploadList="false"
  2120. :beforeUpload="importBeforeUpload"
  2121. @change="importHandleChange"
  2122. >
  2123. <div v-if="infoModel.groupPriceApproval.length < 20">
  2124. <a-icon type="plus"/>
  2125. <div class="ant-upload-text">点我上传集团价格审批</div>
  2126. </div>
  2127. </a-upload>
  2128. </div>
  2129. <div class="swiper-button-next swiper-button-white" slot="button-next">
  2130. <div>
  2131. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  2132. </div>
  2133. </div>
  2134. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  2135. <div>
  2136. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  2137. </div>
  2138. </div>
  2139. </swiper>
  2140. </div>
  2141. </div>
  2142. </a-card>
  2143. </a-spin>
  2144. </template>
  2145. <script>
  2146. import {getAction, httpAction, postAction} from "@api/manage";
  2147. /*无数据图片*/
  2148. import noDataPng from '@/assets/nodata.png'
  2149. import Vue from "vue";
  2150. import {ACCESS_TOKEN, TENANT_ID} from "@/store/mutation-types";
  2151. let Base64 = require('js-base64').Base64
  2152. export default {
  2153. name: 'TaskUploadData',
  2154. inject: ['closeCurrent'],
  2155. components: {
  2156. noDataPng
  2157. },
  2158. data() {
  2159. return {
  2160. //缩略与大图数据源
  2161. swiperId: 1,
  2162. //轮播配置
  2163. swiperOptionTop: {
  2164. zoom: true,
  2165. loop: false,
  2166. loopedSlides: 5, // looped slides should be the same
  2167. spaceBetween: 10,
  2168. observer: true, //修改swiper自己或子元素时,自动初始化swiper
  2169. observeParents: true, //修改swiper的父元素时,自动初始化swiper
  2170. // autoplay: { //自动轮播
  2171. // delay: 2000,
  2172. // disableOnInteraction: false
  2173. // },
  2174. navigation: {
  2175. nextEl: '.swiper-button-next',
  2176. prevEl: '.swiper-button-prev'
  2177. }
  2178. },
  2179. swiperOptionThumbs: {
  2180. loop: false,
  2181. loopedSlides: 5, // looped slides should be the same
  2182. spaceBetween: 10,
  2183. centeredSlides: true,
  2184. slidesPerView: 'auto',
  2185. touchRatio: 0.2,
  2186. slideToClickedSlide: true,
  2187. navigation: {
  2188. nextEl: '.swiper-button-next',
  2189. prevEl: '.swiper-button-prev'
  2190. }
  2191. },
  2192. /**无数据图片*/
  2193. noDataPng: noDataPng,
  2194. url: {
  2195. "getInfoDataById": "/smsCheck/customerInfo/queryById",
  2196. "getInfoDataByInfoId": "/smsCheck/customerData/queryDataLogByInfoId",
  2197. // 上传文件
  2198. "minioUpload": "/smsCheck/customerData/uploadMinio",
  2199. },
  2200. //是否批量上传
  2201. batchImproves: false,
  2202. // 稽核结果
  2203. specialResult: {},
  2204. // 全局是否是在加载中
  2205. uploading: false,
  2206. //上级传参
  2207. query: {
  2208. data: {},
  2209. },
  2210. // 客户资料信息
  2211. infoModel: {
  2212. staffName:"",
  2213. customerNo :"",
  2214. userNo:"",
  2215. networkAccessTime:"",
  2216. infoId:"",
  2217. //是否完成整改
  2218. isComplete:"",
  2219. //资料是否完整
  2220. isAll:"",
  2221. //签约号码与证书下发码号是否一致
  2222. isSigningNumber:"",
  2223. //是否为CSP商
  2224. isCsp:"",
  2225. //码号证书营业执照合同签约方主体是否一致
  2226. codeNumberBusinessLicense:"",
  2227. //码号使用单位联系人手机号
  2228. codeNumberContactPhone:"",
  2229. //客户经理手机号
  2230. managePhone:"",
  2231. //用户发展员工
  2232. staffNo:"",
  2233. //号码用途
  2234. numberUse:"",
  2235. //码号
  2236. codeNumber:"",
  2237. //用户状态
  2238. userState:"",
  2239. // 材料补不全有特审
  2240. materialLabel: "0",
  2241. // 用户类型
  2242. userLable: "0",
  2243. // 申请复开号码
  2244. openingNumber: "",
  2245. // 客户名称
  2246. customerName: "",
  2247. // 最后一次关停时间
  2248. shutdownTime: "",
  2249. // 关停标签
  2250. shutdownLabel: "0",
  2251. // 关停标签-其他
  2252. shutdownLabelOther: "",
  2253. //合同到期时间
  2254. contractDate:[{}],
  2255. contractDateDateIs:"",
  2256. contractDateDate:"",
  2257. contractDateRemark:"",
  2258. //'营业执照到期时间
  2259. businessLicenseDate:[{}],
  2260. businessLicenseDateDate:"",
  2261. businessLicenseDateDateIs:"",
  2262. businessLicenseDateRemark:"",
  2263. //码号证书到期时间
  2264. codeNumberDate:[{}],
  2265. codeNumberDateDate:"",
  2266. codeNumberDateDateIs:"",
  2267. codeNumberDateRemark:"",
  2268. //'备案通知到期时间
  2269. filingsDate:[{}],
  2270. filingsDateDate:"",
  2271. filingsDateDateIs:"",
  2272. filingsDateRemark:"",
  2273. //增值业务许可证到期时间
  2274. permitDate:[{}],
  2275. permitDateDate:"",
  2276. permitDateRemark:"",
  2277. permitDateDateIs:"",
  2278. //法人/责任人证件
  2279. corporationCard:[{}],
  2280. corporationCardRemark:"",
  2281. //责任人授权书
  2282. personResponsible:[{}],
  2283. personResponsibleRemark:"",
  2284. //经办人证件
  2285. operatorCard:[{}],
  2286. operatorCardRemark:"",
  2287. //经办人手持身份证照片(背景需为电信营业厅或白墙)
  2288. operatorCardPhone:[{}],
  2289. operatorCardPhoneRemark:"",
  2290. //机房设备照片'
  2291. devicePhone:[{}],
  2292. devicePhoneRemark:"",
  2293. //短信模板'
  2294. textMessage:[{}],
  2295. textMessageRemark:"",
  2296. //端口类短信业务责任承诺书'
  2297. textMessageBook:[{}],
  2298. textMessageBookRemark:"",
  2299. //信息安全责任承诺书
  2300. secureBook:[{}],
  2301. secureBookRemark:"",
  2302. //特殊资费审批(标准资费无需提供
  2303. special:[{}],
  2304. specialRemark:"",
  2305. //入网签报
  2306. networkAccess:[{}],
  2307. networkAccessRemark:"",
  2308. //集团价格审批
  2309. groupPriceApproval:[{}],
  2310. groupPriceApprovalRemark:"",
  2311. },
  2312. //表单验证
  2313. rules: {
  2314. permitDateDate:[
  2315. {required: true, message: '必须输增值业务许可证到期时间'},
  2316. ],
  2317. filingsDateDate:[
  2318. {required: true, message: '必须输备案证书到期时间'},
  2319. ],
  2320. codeNumberDateDate:[
  2321. {required: true, message: '必须输码号证书到期时间'},
  2322. ],
  2323. openingNumber: [
  2324. {required: true, message: '必须输入手机号'},
  2325. ],
  2326. contractDateDate: [
  2327. {required: true, message: '必须输入合同到期时间'},
  2328. ],
  2329. businessLicenseDateDate: [
  2330. {required: true, message: '必须输入营业执照到期时间'},
  2331. ],
  2332. codeNumberContactPhone: [
  2333. {required: true, message: '请输入单位联系人手机号!', trigger: 'blur'}, {validator: this.isPhone}
  2334. ],
  2335. managePhone: [
  2336. {required: true, message: '请输入客户经理手机号!', trigger: 'blur'}, {validator: this.isPhone}
  2337. ],
  2338. customerName: [
  2339. {required: true, message: '必须输入客户名称'},
  2340. ],
  2341. userState: [
  2342. {required: true, message: '必须输入用户状态'},
  2343. ],
  2344. codeNumber : [
  2345. {required: true, message: '必须输入码号'},
  2346. ],
  2347. numberUse: [
  2348. {required: true, message: '必须输入号码用途'},
  2349. ],
  2350. staffNo: [
  2351. {required: true, message: '必须输入用户发展员工'},
  2352. ],
  2353. isCsp: [
  2354. {required: true, message: '必须输入是否为isCsp商'},
  2355. ],
  2356. codeNumberBusinessLicense: [
  2357. {required: true, message: '必须选择是否一致'},
  2358. ],
  2359. isSigningNumber: [
  2360. {required: true, message: '请选择是否一致'},
  2361. ],
  2362. isAll: [
  2363. {required: true, message: '必须选择资料是否完整'},
  2364. ],
  2365. isComplete: [
  2366. {required: true, message: '必须选择是否完成整改'},
  2367. ],
  2368. contractDateDateIs: [
  2369. {required: true, message: '必须选择合同到期时间是否长期'},
  2370. ],
  2371. businessLicenseDateDateIs: [
  2372. {required: true, message: '必须选择营业执照到期时间是否长期'},
  2373. ],
  2374. codeNumberDateDateIs: [
  2375. {required: true, message: '必须选择码号证书有效期是否长期'},
  2376. ],
  2377. filingsDateDateIs: [
  2378. {required: true, message: '必须选择备案通知是否长期'},
  2379. ],
  2380. permitDateDateIs:[
  2381. {required: true, message: '必须选择增值业务许可证是否长期'},
  2382. ],
  2383. },
  2384. labelCol4: {
  2385. labelCol: {
  2386. xs: {span: 24},
  2387. sm: {span: 10},
  2388. },
  2389. wrapperCol: {
  2390. xs: {span: 24},
  2391. sm: {span: 12},
  2392. }
  2393. },
  2394. labelCol5: {
  2395. labelCol: {
  2396. xs: {span: 24},
  2397. sm: {span: 14},
  2398. },
  2399. wrapperCol: {
  2400. xs: {span: 24},
  2401. sm: {span: 8},
  2402. }
  2403. },
  2404. labelCol1: {
  2405. labelCol: {
  2406. xs: {span: 24},
  2407. sm: {span: 2},
  2408. },
  2409. wrapperCol: {
  2410. xs: {span: 24},
  2411. sm: {span: 22},
  2412. }
  2413. },
  2414. labelCol6: {
  2415. labelCol: {
  2416. xs: {span: 24},
  2417. sm: {span:10},
  2418. },
  2419. wrapperCol: {
  2420. xs: {span: 24},
  2421. sm: {span: 12},
  2422. }
  2423. },
  2424. labelCol8: {
  2425. labelCol: {
  2426. xs: {span: 24},
  2427. sm: {span: 10},
  2428. },
  2429. wrapperCol: {
  2430. xs: {span: 24},
  2431. sm: {span: 12},
  2432. }
  2433. },
  2434. labelCol1Note: {
  2435. labelCol: {
  2436. xs: {span: 24},
  2437. sm: {span: 4},
  2438. },
  2439. wrapperCol: {
  2440. xs: {span: 24},
  2441. sm: {span: 14},
  2442. }
  2443. },
  2444. labelCol1Note2: {
  2445. labelCol: {
  2446. xs: {span: 24},
  2447. sm: {span: 6},
  2448. },
  2449. wrapperCol: {
  2450. xs: {span: 24},
  2451. sm: {span: 14},
  2452. }
  2453. },
  2454. // 步骤条相关
  2455. steps: {
  2456. // 当前所在第几部
  2457. current: 0,
  2458. currentId: "",
  2459. stepsNow: {},
  2460. steps00: [
  2461. {
  2462. title: '上传合同资料',
  2463. content: 'First-content',
  2464. id: "contractDate",
  2465. status: "wait"
  2466. },
  2467. {
  2468. title: '上传营业执照资料',
  2469. content: 'First-content',
  2470. id: "businessLicenseDate",
  2471. status: "wait"
  2472. },
  2473. {
  2474. title: '上传码号证书资料',
  2475. content: 'First-content',
  2476. id: "codeNumberDate",
  2477. status: "wait"
  2478. },
  2479. {
  2480. title: '上传备案通知资料',
  2481. content: 'First-content',
  2482. id: "filingsDate",
  2483. status: "wait"
  2484. },{
  2485. title: '上传增值业务许可证资料',
  2486. content: 'First-content',
  2487. id: "permitDate",
  2488. status: "wait"
  2489. }, {
  2490. title: '上传法人/责任人证件资料',
  2491. content: 'First-content',
  2492. id: "corporationCard",
  2493. status: "wait"
  2494. },{
  2495. title: '上传责任人授权书资料',
  2496. content: 'First-content',
  2497. id: "personResponsible",
  2498. status: "wait"
  2499. },{
  2500. title: '上传经办人证件资料',
  2501. content: 'First-content',
  2502. id: "operatorCard",
  2503. status: "wait"
  2504. },{
  2505. title: '上传入网签报资料',
  2506. content: 'First-content',
  2507. id: "networkAccess",
  2508. status: "wait"
  2509. },{
  2510. title: '上传集团价格审批资料',
  2511. content: 'First-content',
  2512. id: "groupPriceApproval",
  2513. status: "wait"
  2514. },{
  2515. title: '上传机房设备照片',
  2516. content: 'First-content',
  2517. id: "devicePhone",
  2518. status: "wait"
  2519. }, {
  2520. title: '上传短信模板',
  2521. content: 'First-content',
  2522. id: "textMessage",
  2523. status: "wait"
  2524. },{
  2525. title: '上传信息安全责任承诺书',
  2526. content: 'First-content',
  2527. id: "secureBook",
  2528. status: "wait"
  2529. },{
  2530. title: '上传经办人手持身份证照片(背景需为电信营业厅或白墙)',
  2531. content: 'First-content',
  2532. id: "operatorCardPhone",
  2533. status: "wait"
  2534. },
  2535. {
  2536. title: '上传端口类短信业务责任承诺书',
  2537. content: 'First-content',
  2538. id: "textMessageBook",
  2539. status: "wait"
  2540. },{
  2541. title: '上传特殊资费审批(标准资费无需提供)资料',
  2542. content: 'First-content',
  2543. id: "special",
  2544. status: "wait"
  2545. },
  2546. ],
  2547. // 单位户
  2548. stepUserLable1: [
  2549. {
  2550. title: '使用人证件',
  2551. content: 'First-content',
  2552. id: "userCertificate",
  2553. status: "wait"
  2554. },
  2555. {
  2556. title: '营业执照副本(盖公章)',
  2557. content: 'First-content',
  2558. id: "businessLicense",
  2559. status: "wait"
  2560. },
  2561. {
  2562. title: '介绍信',
  2563. content: 'First-content',
  2564. id: "letterIntroduction",
  2565. status: "wait"
  2566. }
  2567. ],
  2568. // 个人户
  2569. stepUserLable0: [
  2570. {
  2571. title: '号卡照片',
  2572. content: 'First-content',
  2573. id: "numberCard",
  2574. status: "wait"
  2575. },
  2576. ],
  2577. // 材料标签
  2578. shutdownLabel0: [
  2579. {
  2580. title: '消费凭证',
  2581. content: 'First-content',
  2582. id: "consumptionVoucher",
  2583. status: "wait"
  2584. },
  2585. ],
  2586. // 承诺视频
  2587. shutdownLabel5: [
  2588. {
  2589. title: '承诺视频',
  2590. content: 'First-content',
  2591. id: "commitmentVideo",
  2592. status: "wait"
  2593. },
  2594. ],
  2595. },
  2596. }
  2597. },
  2598. computed: {
  2599. importMinioUploadAction() {
  2600. return window._CONFIG['domianURL'] + this.url.minioUpload;
  2601. },
  2602. tokenHeader() {
  2603. let head = {'X-Access-Token': Vue.ls.get(ACCESS_TOKEN)}
  2604. let tenantid = Vue.ls.get(TENANT_ID)
  2605. if (tenantid) {
  2606. head['tenant-id'] = tenantid
  2607. }
  2608. return head;
  2609. }
  2610. },
  2611. props: {},
  2612. watch: {},
  2613. created() {
  2614. // 是否批量上传
  2615. this.infoModel.infoId=this.$route.query.id;
  2616. this.batchImproves = this.$route.query.batchImproves;
  2617. // 步骤条默认公用
  2618. this.steps.stepsNow = this.steps.steps00;
  2619. this.steps.currentId = this.steps.stepsNow[0].id
  2620. if (this.batchImproves) {
  2621. //批量上传id
  2622. this.ids = this.$route.query.ids;
  2623. } else {
  2624. //客户ID
  2625. this.query.infoId = this.$route.query.id;
  2626. this.getInfoDataByInfoId(this.query.infoId);
  2627. // 获取客户基础信息
  2628. this.getInfoDataById(this.query.infoId);
  2629. }
  2630. },
  2631. mounted() {
  2632. // 实现swiper双向控制
  2633. this.$nextTick(() => {
  2634. const swiperTop = this.$refs.swiperTop.swiper
  2635. const swiperThumbs = this.$refs.swiperThumbs.swiper
  2636. swiperTop.controller.control = swiperThumbs
  2637. swiperThumbs.controller.control = swiperTop
  2638. })
  2639. // /**监听视频拨放*/
  2640. // this.$refs.myVideo.addEventListener("play", () => {
  2641. // this.openTimer();
  2642. // });
  2643. // /**监听视频暂停*/
  2644. // this.$refs.myVideo.addEventListener("pause", () => {
  2645. // this.closeTimer();
  2646. // });
  2647. },
  2648. methods: {
  2649. backDate(name){
  2650. if (name==='contractDate'){
  2651. this.infoModel.contractDateDateIs="1"
  2652. this.infoModel.contractDateDate=""
  2653. }
  2654. if (name==='businessLicenseDate'){
  2655. this.infoModel.businessLicenseDateDateIs="1"
  2656. this.infoModel.businessLicenseDateDate=""
  2657. }
  2658. if (name==='codeNumberDate'){
  2659. this.infoModel.codeNumberDateDateIs="1"
  2660. this.infoModel.codeNumberDateDate=""
  2661. }
  2662. if (name==='filingsDate'){
  2663. this.infoModel.filingsDateDateIs="1"
  2664. this.infoModel.filingsDateDate=""
  2665. }
  2666. if (name==='permitDate'){
  2667. this.infoModel.permitDateDateIs="1"
  2668. this.infoModel.permitDateDate=""
  2669. }
  2670. },
  2671. isPhone(rule, value, callback) {
  2672. 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)) {
  2673. callback();
  2674. } else {
  2675. callback("您的手机号码格式不正确!");
  2676. }
  2677. },
  2678. // 点击方法 url为传入的第三方链接或网址 如'www.baidu.com' url前面不要加协议哦!
  2679. jumpUrl(url){
  2680. var a = document.createElement("a");
  2681. a.setAttribute("href", url);
  2682. a.setAttribute("target", "_blank");
  2683. a.click();
  2684. },
  2685. /**备注坚听*/
  2686. textareaChange(name, nameRemark) {
  2687. if (this.infoModel[nameRemark].length > 0) {
  2688. this.steps.stepsNow[this.steps.current].status = "finish"
  2689. } else if (this.infoModel[name].length > 0 && this.infoModel[name][0].urlBase) {
  2690. this.steps.stepsNow[this.steps.current].status = "finish"
  2691. } else {
  2692. this.steps.stepsNow[this.steps.current].status = "wait"
  2693. }
  2694. },
  2695. // 步骤条动态变化
  2696. stepLoading() {
  2697. this.steps.stepsNow = this.steps.stepsNow.splice(0, 16)
  2698. //材料不全有特审步骤条
  2699. this.stepsMaterialLabel()
  2700. /**用户标签点击事件*/
  2701. this.userLableClick()
  2702. /**材料标签点击事件*/
  2703. this.shutdownLabelClick()
  2704. },
  2705. //材料不全有特审步骤条
  2706. stepsMaterialLabel() {
  2707. if (this.infoModel.materialLabel == "0" || this.infoModel.shutdownLabel == "999") {
  2708. let stepsMaterial = this.steps.stepsMaterial;
  2709. for (var i in stepsMaterial) {
  2710. this.steps.stepsNow.push(stepsMaterial[i])
  2711. }
  2712. }
  2713. },
  2714. /**用户标签点击事件*/
  2715. userLableClick() {
  2716. if (this.infoModel[name].length > 0) {
  2717. this.steps.stepsNow[this.steps.current].status = "finish"
  2718. } else if (this.infoModel[name].length > 0 && this.infoModel[name][0].urlBase) {
  2719. this.steps.stepsNow[this.steps.current].status = "finish"
  2720. } else {
  2721. this.steps.stepsNow[this.steps.current].status = "wait"
  2722. }
  2723. },
  2724. /**材料标签点击事件*/
  2725. shutdownLabelClick() {
  2726. var that = this;
  2727. //材料不全有特审步骤条
  2728. //that.stepsMaterialLabel();
  2729. let shutdownLabel = that.infoModel.shutdownLabel;
  2730. switch (shutdownLabel) {
  2731. case "0":
  2732. let shutdownLabel0 = this.steps.shutdownLabel0;
  2733. for (var i in shutdownLabel0) {
  2734. this.steps.stepsNow.push(shutdownLabel0[i])
  2735. }
  2736. break;
  2737. case "5":
  2738. let shutdownLabel5 = this.steps.shutdownLabel5;
  2739. for (var j in shutdownLabel5) {
  2740. this.steps.stepsNow.push(shutdownLabel5[j])
  2741. }
  2742. break;
  2743. }
  2744. if (this.infoModel.shutdownLabel == "999"){
  2745. let shutdownLabel0 = this.steps.shutdownLabel0;
  2746. for (var i in shutdownLabel0) {
  2747. this.steps.stepsNow.push(shutdownLabel0[i])
  2748. }
  2749. let shutdownLabel5 = this.steps.shutdownLabel5;
  2750. for (var j in shutdownLabel5) {
  2751. this.steps.stepsNow.push(shutdownLabel5[j])
  2752. }
  2753. }
  2754. },
  2755. /**移除文件*/
  2756. removeFile(fileData, fileAttribute) {
  2757. let that = this.infoModel;
  2758. //处理轮播数据
  2759. let swiperImg = that[fileAttribute];
  2760. if (swiperImg) {
  2761. let number = swiperImg.indexOf(fileData);
  2762. swiperImg.splice(number, 1)
  2763. if (swiperImg.length == 0) {
  2764. swiperImg.push({})
  2765. let textId = fileAttribute + "Remark";
  2766. if (this.infoModel[textId].trim() > 0) {
  2767. this.steps.stepsNow[this.steps.current].status = "finish"
  2768. } else {
  2769. this.steps.stepsNow[this.steps.current].status = "wait"
  2770. }
  2771. } else {
  2772. this.steps.stepsNow[this.steps.current].status = "finish"
  2773. }
  2774. that[fileAttribute] = swiperImg
  2775. }
  2776. },
  2777. /**自定义的上传文件方法*/
  2778. selfUploadContract(data, fileAttribute) {
  2779. var that = this;
  2780. if (data.file) {
  2781. let formData = new FormData();
  2782. formData.append('file', data.file)
  2783. postAction(this.url.minioUpload, formData).then((res) => {
  2784. if (res.success) {
  2785. that.swiperId = that.swiperId + 1;
  2786. console.log(that.swiperId)
  2787. //文件链接
  2788. let filePath = res.message;
  2789. let swipData = {
  2790. id: that.swiperId,
  2791. urlBase: window._CONFIG['onlinePreviewDomainURL'] + '?url='
  2792. + encodeURIComponent(
  2793. Base64.encode(
  2794. (filePath)
  2795. )),
  2796. url: filePath,
  2797. fileName: data.file.name
  2798. }
  2799. if (that.infoModel[fileAttribute][0].urlBase) {
  2800. that.infoModel[fileAttribute].push(swipData)
  2801. } else {
  2802. that.infoModel[fileAttribute] = []
  2803. //数据发生变化
  2804. that.infoModel[fileAttribute][0] = swipData;
  2805. }
  2806. // 改变步骤条状态
  2807. if (that.infoModel[fileAttribute].length > 0) {
  2808. that.steps.stepsNow[that.steps.current].status = "finish"
  2809. } else {
  2810. that.steps.stepsNow[that.steps.current].status = "wait"
  2811. }
  2812. }
  2813. })
  2814. }
  2815. },
  2816. /**文件格式限制*/
  2817. importBeforeUpload(file) {
  2818. var fileType = file.type;
  2819. if (fileType === 'image') {
  2820. if (fileType.indexOf('image') < 0) {
  2821. this.$message.warning('请上传图片');
  2822. return false;
  2823. }
  2824. } else if (fileType === 'file') {
  2825. if (fileType.indexOf('image') >= 0) {
  2826. this.$message.warning('请上传文件');
  2827. return false;
  2828. }
  2829. }
  2830. return true
  2831. },
  2832. /**文件上传成功后回调*/
  2833. importHandleChange(info) {
  2834. },
  2835. dataListToStr(data){
  2836. if (data.contractDate!==null && data.contractDate!==undefined){
  2837. data.contractDate=JSON.stringify(data.contractDate);
  2838. }
  2839. if (data.businessLicenseDate!==null&& data.businessLicenseDate!==undefined){
  2840. data.businessLicenseDate=JSON.stringify(data.businessLicenseDate);
  2841. }
  2842. if (data.codeNumberDate!==null && data.codeNumberDate!==undefined){
  2843. data.codeNumberDate=JSON.stringify(data.codeNumberDate);
  2844. }
  2845. if (data.filingsDate!==null && data.filingsDate!==undefined){
  2846. data.filingsDate=JSON.stringify(data.filingsDate);
  2847. }
  2848. if (data.permitDate!==null && data.permitDate!==undefined){
  2849. data.permitDate=JSON.stringify(data.permitDate);
  2850. }
  2851. if (data.corporationCard!==null && data.corporationCard!==undefined){
  2852. data.corporationCard=JSON.stringify(data.corporationCard);
  2853. }
  2854. if (data.personResponsible!==null && data.personResponsible!==undefined){
  2855. data.personResponsible=JSON.stringify(data.personResponsible);
  2856. }
  2857. if (data.operatorCard!==null && data.operatorCard!==undefined){
  2858. data.operatorCard=JSON.stringify(data.operatorCard);
  2859. }
  2860. if (data.operatorCardPhone!==null && data.operatorCardPhone!==undefined){
  2861. data.operatorCardPhone=JSON.stringify(data.operatorCardPhone);
  2862. }
  2863. if (data.devicePhone!==null && data.devicePhone!==undefined){
  2864. data.devicePhone=JSON.stringify(data.devicePhone);
  2865. }
  2866. if (data.textMessage!==null && data.textMessage!==undefined){
  2867. data.textMessage=JSON.stringify(data.textMessage);
  2868. }
  2869. if (data.textMessageBook!==null && data.textMessageBook!==undefined){
  2870. data.textMessageBook=JSON.stringify(data.textMessageBook);
  2871. }
  2872. if (data.secureBook!==null && data.secureBook!==undefined){
  2873. data.secureBook=JSON.stringify(data.secureBook);
  2874. }
  2875. if (data.special!==null && data.special!==undefined){
  2876. data.special=JSON.stringify(data.special);
  2877. }
  2878. if (data.networkAccess!==null && data.networkAccess!==undefined){
  2879. data.networkAccess=JSON.stringify(data.networkAccess);
  2880. }
  2881. if (data.groupPriceApproval!==null && data.groupPriceApproval!==undefined){
  2882. data.groupPriceApproval=JSON.stringify(data.groupPriceApproval);
  2883. }
  2884. return data;
  2885. },
  2886. /**暂存*/
  2887. addIsStaging() {
  2888. this.uploading = true;
  2889. var that = this;
  2890. var data=that.infoModel ;
  2891. //data =this.dataListToStr(data);
  2892. postAction("/smsCheck/customerData/addIsStaging", data).then((res) => {
  2893. if (res.success) {
  2894. this.uploading = false;
  2895. this.$message.success("提交成功", 3);
  2896. this.addIng == true
  2897. // this.$router.push({path: '/sms/check/task/check', query: {id: data.taskId}});
  2898. this.closeCurrent();
  2899. } else {
  2900. this.uploading = false;
  2901. if ( res.message !==null){
  2902. this.$message.error( res.message);
  2903. }else {
  2904. this.$message.error("提交失败");
  2905. }
  2906. }
  2907. }).finally(() => {
  2908. this.uploading = false;
  2909. })
  2910. },
  2911. /*提交*/
  2912. submitAuditLot() {
  2913. this.uploading = true;
  2914. var info = "yes";
  2915. this.$refs.form.validate(valid => {
  2916. // 验证通过
  2917. if (!valid) {
  2918. info = "infoNo";
  2919. this.uploading = false;
  2920. }}
  2921. )
  2922. var text= "";
  2923. for (var i in this.steps.stepsNow) {
  2924. if (this.steps.stepsNow[i].status !== "finish") {
  2925. // text+= '111<br/> ';
  2926. var str=this.steps.stepsNow[i].title;
  2927. text+= str+"资料或备注都未上传!!!"+'<br/><br/>';
  2928. //this.$message.warn( this.steps.stepsNow[i].title +"资料或备注都未上传!!!");
  2929. info="no";
  2930. }
  2931. }
  2932. if (this.infoModel.isCsp==='1'){
  2933. if ((this.infoModel.permitDateDate==="" ||this.infoModel.permitDateDate===null
  2934. ) && (this.infoModel.permitDateDateIs==="" ||this.infoModel.permitDateDateIs===null ||this.infoModel.permitDateDateIs==='0') ){
  2935. info="no";
  2936. this.$message.warn( "增值业务许可证到期时间未填写!!!");
  2937. }
  2938. }
  2939. var stringToHTML = function (str) {
  2940. var dom = document.createElement('div');
  2941. dom.innerHTML = str;
  2942. return dom;
  2943. };
  2944. console.log(stringToHTML('<h1>Hello world!</h1><p>How are you today?</p>'));
  2945. if (info==="no"){
  2946. this.$warning({
  2947. title: '提示',
  2948. dangerouslyUseHTMLString: true,
  2949. content:(h) => {
  2950. return h('div', {
  2951. domProps: {
  2952. innerHTML: text
  2953. },
  2954. }, []);
  2955. }
  2956. })
  2957. return
  2958. }
  2959. if (info==="infoNo"){
  2960. this.$warning({
  2961. title: '提示',
  2962. dangerouslyUseHTMLString: true,
  2963. content:(h) => {
  2964. return h('div', {
  2965. domProps: {
  2966. innerHTML: "基本信息校验未通过!!!"
  2967. },
  2968. }, []);
  2969. }
  2970. })
  2971. return
  2972. }
  2973. var that = this;
  2974. var data=that.infoModel ;
  2975. //data =this.dataListToStr(data);
  2976. postAction("/smsCheck/customerData/add", data).then((res) => {
  2977. if (res.success) {
  2978. this.uploading = false;
  2979. this.$message.success("提交成功", 3);
  2980. this.addIng == true
  2981. // this.$router.push({path: '/sms/check/task/check', query: {id: data.taskId}});
  2982. this.closeCurrent();
  2983. } else {
  2984. this.uploading = false;
  2985. if ( res.message !==null){
  2986. this.$message.error( res.message);
  2987. }else {
  2988. this.$message.error("提交失败");
  2989. }
  2990. }
  2991. }).finally(() => {
  2992. this.uploading = false;
  2993. })
  2994. },
  2995. HTMLEncode(str) {
  2996. var stringToHTML = function (str) {
  2997. var dom = document.createElement('div');
  2998. dom.innerHTML = str;
  2999. return dom;
  3000. };
  3001. console.log(stringToHTML('<h1>Hello world!</h1><p>How are you today?</p >'));
  3002. },
  3003. /**步骤条点击事件*/
  3004. stepsClick(current) {
  3005. this.steps.current = current;
  3006. this.steps.currentId = this.steps.stepsNow[current].id
  3007. for (var i in this.steps.stepsNow) {
  3008. if (this.steps.stepsNow[i].status != "finish") {
  3009. this.steps.stepsNow[i].status = "wait"
  3010. }
  3011. if (this.steps.stepsNow[i].status === "finish") {
  3012. this.steps.stepsNow[i].status === "finish"
  3013. }
  3014. }
  3015. if (this.steps.stepsNow[current].status!== "finish") {
  3016. this.steps.stepsNow[current].status = "process"
  3017. }
  3018. },
  3019. /**返回上一级*/
  3020. back() {
  3021. this.$router.go(-1);
  3022. //关闭当前页
  3023. this.closeCurrent();
  3024. },
  3025. /**获取客户信息*/
  3026. getInfoDataById(id,resultA) {
  3027. var that = this;
  3028. if (id) {
  3029. var data = {
  3030. "id": id,
  3031. }
  3032. getAction(this.url.getInfoDataById, data).then((res) => {
  3033. if (res.success) {
  3034. let result = res.result;
  3035. //用户状态
  3036. that.infoModel.userState =result.userState;
  3037. //用户发展员工
  3038. that.infoModel.staffNo =result.staffNo;
  3039. that.infoModel.customerNo =result.customerNo;
  3040. that.infoModel.userNo =result.userNo;
  3041. that.infoModel.networkAccessTime =result.networkAccessTime;
  3042. that.infoModel.staffName =result.staffName;
  3043. }
  3044. })
  3045. }
  3046. if (resultA!==undefined){
  3047. resultA.userState=that.infoModel.userState
  3048. }
  3049. return resultA
  3050. },
  3051. /**获取客户信息*/
  3052. getInfoDataByInfoId(infoId) {
  3053. var that = this;
  3054. if (infoId) {
  3055. var data = {
  3056. "infoId": infoId,
  3057. }
  3058. getAction(this.url.getInfoDataByInfoId, data).then((res) => {
  3059. if (res.success) {
  3060. let result = res.result;
  3061. result=this.getInfoDataById(infoId,result)
  3062. that.infoModel=result;
  3063. that.infoModel.contractDate= JSON.parse(result.contractDate);
  3064. that.infoModel.businessLicenseDate= JSON.parse(result.businessLicenseDate);
  3065. that.infoModel.codeNumberDate= JSON.parse(result.codeNumberDate);
  3066. that.infoModel.filingsDate= JSON.parse(result.filingsDate);
  3067. that.infoModel.permitDate= JSON.parse(result.permitDate);
  3068. that.infoModel.corporationCard= JSON.parse(result.corporationCard);
  3069. that.infoModel.personResponsible= JSON.parse(result.personResponsible);
  3070. that.infoModel.operatorCard= JSON.parse(result.operatorCard);
  3071. that.infoModel.operatorCardPhone= JSON.parse(result.operatorCardPhone);
  3072. that.infoModel.devicePhone= JSON.parse(result.devicePhone);
  3073. that.infoModel.textMessage= JSON.parse(result.textMessage);
  3074. that.infoModel.textMessageBook= JSON.parse(result.textMessageBook);
  3075. that.infoModel.secureBook= JSON.parse(result.secureBook);
  3076. that.infoModel.special= JSON.parse(result.special);
  3077. that.infoModel.networkAccess= JSON.parse(result.networkAccess);
  3078. that.infoModel.groupPriceApproval= JSON.parse(result.groupPriceApproval);
  3079. for (var i in that.steps.stepsNow) {
  3080. for (var j in result[that.steps.stepsNow[i].id]){
  3081. if (result[that.steps.stepsNow[i].id][0].urlBase!==undefined){
  3082. that.steps.stepsNow[i].status = "finish"
  3083. }
  3084. if (result[that.steps.stepsNow[i].id+'Remark'][0]!==undefined){
  3085. that.steps.stepsNow[i].status = "finish"
  3086. }
  3087. }
  3088. }
  3089. }
  3090. })
  3091. }
  3092. }
  3093. }
  3094. }
  3095. </script>
  3096. <style lang="less">
  3097. .ant-input[disabled] {
  3098. color: #1e80ff;
  3099. background-color: #f5f5f5;
  3100. cursor: not-allowed;
  3101. opacity: 1;
  3102. }
  3103. .ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked {
  3104. color: #fff;
  3105. background-color: #1e80ff;
  3106. border-color: #d9d9d9;
  3107. box-shadow: none;
  3108. }
  3109. </style>
  3110. <style lang="less">
  3111. #common-video {
  3112. position: relative;
  3113. .video-box {
  3114. box-sizing: border-box;
  3115. border: 0;
  3116. display: block;
  3117. width: 470px;
  3118. height: 500px;
  3119. outline: none !important;
  3120. }
  3121. .isShow {
  3122. //进度条
  3123. video::-webkit-media-controls-timeline {
  3124. display: none;
  3125. }
  3126. }
  3127. video::-webkit-media-controls-play-button {
  3128. visibility: hidden;
  3129. }
  3130. .operate-btn {
  3131. display: block;
  3132. width: 60px;
  3133. height: 60px;
  3134. position: absolute;
  3135. top: calc(50% - 30px);
  3136. left: calc(50% - 30px);
  3137. }
  3138. .operate-btn:hover {
  3139. opacity: 0.8;
  3140. }
  3141. .fade-out {
  3142. opacity: 0;
  3143. }
  3144. }
  3145. .thumb-example {
  3146. width: 864px;
  3147. margin-top: 20px;
  3148. // background: #000;
  3149. }
  3150. .swiper-slide {
  3151. background-size: cover;
  3152. background-position: center;
  3153. }
  3154. .gallery-top {
  3155. // height: 80% !important;
  3156. /*height: 600px;*/
  3157. width: 100%;
  3158. left: 10%;
  3159. margin-bottom: 30px
  3160. }
  3161. .gallery-thumbs {
  3162. height: 20% !important;
  3163. box-sizing: border-box;
  3164. padding: 10px 0px;
  3165. /* width: 864px;*/
  3166. margin-left: 2px;
  3167. .swiper-button-next {
  3168. right: 0px;
  3169. }
  3170. .swiper-button-prev {
  3171. left: 0px;
  3172. }
  3173. .swiper-button-next,
  3174. .swiper-button-prev {
  3175. background: #fff;
  3176. width: 45px;
  3177. text-align: center;
  3178. height: 101px;
  3179. top: 26%;
  3180. div {
  3181. margin-top: 30px;
  3182. background: rgb(207, 205, 205);
  3183. height: 45px;
  3184. border-radius: 50%;
  3185. img {
  3186. margin: 7px 0 0 2px;
  3187. width: 30px;
  3188. }
  3189. }
  3190. }
  3191. .swiper-button-next:hover div {
  3192. background: rgb(189, 186, 186);
  3193. }
  3194. .swiper-button-prev:hover div {
  3195. background: rgb(189, 186, 186);
  3196. }
  3197. }
  3198. .gallery-thumbs .swiper-slide {
  3199. width: 20%;
  3200. height: 80px;
  3201. // opacity: 0.4;
  3202. }
  3203. .gallery-thumbs .swiper-slide-active {
  3204. border: 2px solid red;
  3205. }
  3206. .markdown ul > li {
  3207. color: #000000d9;
  3208. font-size: 15px;
  3209. line-height: 3;
  3210. margin-left: 20px;
  3211. padding-left: 4px;
  3212. list-style-type: circle;
  3213. }
  3214. </style>