TaskCheckAudit.vue 106 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885
  1. <template>
  2. <a-spin :spinning="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="用户选择" prop="userOpenState" v-bind="labelCol4">
  19. <span class="cornflowerblue">{{ infoModel.userLable == '0' ? '个人户' : '单位户' }}</span>
  20. </a-form-model-item>
  21. </a-col>
  22. <a-col :span="6">
  23. <a-form-model-item label="申请复开号码" prop="openingNumber" v-bind="labelCol4">
  24. <span class="cornflowerblue">{{ infoModel.openingNumber }}</span>
  25. </a-form-model-item>
  26. </a-col>
  27. <a-col :span="6">
  28. <a-form-model-item label="客户名称(使用人)" prop="customerName" v-bind="labelCol4">
  29. <span class="cornflowerblue">{{ infoModel.customerName }}</span>
  30. </a-form-model-item>
  31. </a-col>
  32. <a-col :span="6" v-if="infoModel.userLable == '1'">
  33. <a-form-model-item label="单位名称" prop="unitName" v-bind="labelCol4">
  34. <span class="cornflowerblue">{{ infoModel.unitName }}</span>
  35. </a-form-model-item>
  36. </a-col>
  37. <a-col :span="6">
  38. <a-form-model-item label="客户经理手机号" prop="accountManagerPhone" v-bind="labelCol4">
  39. <span class="cornflowerblue">{{ infoModel.accountManagerPhone }}</span>
  40. </a-form-model-item>
  41. </a-col>
  42. <a-col :span="6">
  43. <a-form-model-item label="最后一次关停时间" prop="shutdownTime" v-bind="labelCol4">
  44. <span class="cornflowerblue">{{ infoModel.shutdownTime }}</span>
  45. </a-form-model-item>
  46. </a-col>
  47. <a-col :span="6">
  48. <a-form-model-item label="申请复开原因" prop="reasonReopening" v-bind="labelCol4">
  49. <span class="cornflowerblue">{{ infoModel.reasonReopening }}</span>
  50. </a-form-model-item>
  51. </a-col>
  52. <a-col :span="24">
  53. <a-form-model-item label="材料标签选择" prop="userOpenState" v-bind="labelCol1">
  54. <a-radio-group :disabled="true" v-model="infoModel.materialLabel" button-style="solid">
  55. <span class="cornflowerblue">{{ infoModel.materialLabel == '0' ? '材料不全(有特审/签报)' : '材料齐全(无特审)' }}</span>
  56. </a-radio-group>
  57. </a-form-model-item>
  58. </a-col>
  59. <a-col :span="24">
  60. <a-form-model-item label="关停标签选择" prop="userOpenState" v-bind="labelCol1">
  61. <span class="cornflowerblue" v-if="infoModel.shutdownLabel.indexOf('0') > -1">安防停机(高危漫游地)</span>
  62. <span class="cornflowerblue" v-if="infoModel.shutdownLabel.indexOf('1') > -1">安防关停(紫名单)</span>
  63. <span class="cornflowerblue" v-if="infoModel.shutdownLabel.indexOf('2') > -1">安防停机(专班研判)</span>
  64. <span class="cornflowerblue" v-if="infoModel.shutdownLabel.indexOf('3') > -1">安防停机(可复开)</span>
  65. <span class="cornflowerblue" v-if="infoModel.shutdownLabel.indexOf('4') > -1">沉默移动卡保护性单停 </span>
  66. <span class="cornflowerblue" v-if="infoModel.shutdownLabel.indexOf('5') > -1">集团一点停复机(单停) </span>
  67. <span class="cornflowerblue" v-if="infoModel.shutdownLabel.indexOf('6') > -1">大数据保护停机单停 </span>
  68. <span class="cornflowerblue" v-if="infoModel.shutdownLabel.indexOf('7') > -1">工信部断卡单停 </span>
  69. <span class="cornflowerblue" v-if="infoModel.shutdownLabel.indexOf('8') > -1">实人核验未通过关停(单停)</span>
  70. <span class="cornflowerblue" v-if="infoModel.shutdownLabel.indexOf('999') > -1">其他 {{ infoModel.shutdownLabelOther }} </span>
  71. </a-form-model-item>
  72. </a-col>
  73. <div>
  74. <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
  75. <a-radio-group v-model="specialResult.basicInfoState">
  76. <a-radio :value="0">未通过</a-radio>
  77. <a-radio :value="1">通过</a-radio>
  78. </a-radio-group>
  79. </a-form-model-item>
  80. <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
  81. <a-textarea
  82. v-model="specialResult.basicInfoNote"
  83. placeholder="请输入稽核结果"
  84. />
  85. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  86. </a-form-model-item>
  87. </div>
  88. </a-row>
  89. </a-form-model>
  90. </div>
  91. </a-page-header>
  92. <!-- 步骤条-->
  93. <a-card style="margin-bottom:10px;width: 15%;float: left">
  94. <a-steps direction="vertical" :current="steps.current" size="small" @change="stepsClick">
  95. <a-step v-for="item in steps.stepsNow" :key="item.title" :status="item.status">
  96. <a-icon v-if="item.solution && item.status=='error' " style='color: #faad14;' type="solution" slot="icon"/>
  97. <span v-if="item.solution && item.status=='error'" style='color: #faad14;' slot="title">{{item.title}}</span>
  98. <a-icon v-if="item.solution && item.status=='finish' " style='color: #52c41a;' type="solution" slot="icon"/>
  99. <span v-if="item.solution && item.status=='finish'" style='color: #52c41a;' slot="title">{{item.title}}</span>
  100. <span v-if="item.status=='error' && !item.solution" style="color: red" slot="title">{{ item.title }}</span>
  101. <span v-if="item.status=='finish' && !item.solution" slot="title">{{ item.title }}</span>
  102. <span v-if="item.status=='process' && !item.solution" slot="title">{{ item.title }}</span>
  103. <span v-if="item.status=='wait'" slot="title">{{ item.title }}</span>
  104. </a-step>
  105. </a-steps>
  106. <a-button @click="submitSpecial" style="width: 100%;position: relative;top: 10px" type="primary">提交稽核</a-button>
  107. </a-card>
  108. <!-- 系统实名制截图-->
  109. <a-card v-if="steps.currentId == 'nameFindCompliance'"
  110. style="margin-bottom:10px;
  111. float: left;width: 83%;left: 2%">
  112. <div slot="title">
  113. <span style="float: left;position: relative;top: 4px">系统实名制截图</span>
  114. </div>
  115. <!-- 附件-->
  116. <div>
  117. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  118. <a-radio-group v-model="specialResult.nameFindComplianceState"
  119. @change="basicCheckClick(specialResult.nameFindComplianceState)">
  120. <a-radio :value=0>未通过</a-radio>
  121. <a-radio :value=1>通过</a-radio>
  122. </a-radio-group>
  123. </a-form-model-item>
  124. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  125. <a-textarea
  126. v-model="specialResult.nameFindComplianceNote"
  127. placeholder="请输入稽核结果"
  128. />
  129. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  130. </a-form-model-item>
  131. <a-form-model-item style="left: 0%;width: 90%;" label="实名制截图备注:" v-bind="labelCol1Note">
  132. <a-tag class="font-size-14" color="orange">{{ infoModel.nameFindComplianceRemark }}</a-tag>
  133. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  134. </a-form-model-item>
  135. <!-- 文件上传-->
  136. <div class="file-div-minio-upload">
  137. <div class="thumb-example" style="position: relative">
  138. <!-- swiper1 -->
  139. <swiper
  140. class="swiper gallery-top"
  141. :options="swiperOptionTop"
  142. ref="swiperTop"
  143. >
  144. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.nameFindCompliance" :key="item.id">
  145. <iframe
  146. v-if="item.urlBase"
  147. frameborder="1"
  148. :src="item.urlBase"
  149. ref="ifr"
  150. style="position: relative;"
  151. width="100%"
  152. height="500px"
  153. scrolling="auto">
  154. </iframe>
  155. <img style="width: 100%;height: 500px;border: 1px solid;"
  156. v-if="!item.urlBase" :src="noDataPng" border="1">
  157. <a-button
  158. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  159. v-if="infoModel.nameFindCompliance.length && item.urlBase"
  160. @click="jumpUrl(item.url)">下载
  161. </a-button>
  162. <a-button
  163. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  164. v-if="infoModel.nameFindCompliance.length && item.urlBase"
  165. @click="jumpUrl(item.urlBase)">预览
  166. </a-button>
  167. </swiper-slide>
  168. <!-- <div
  169. class="swiper-button-next swiper-button-white"
  170. slot="button-next"
  171. ></div>
  172. <div
  173. class="swiper-button-prev swiper-button-white"
  174. slot="button-prev"
  175. ></div>-->
  176. </swiper>
  177. <!-- swiper2 Thumbs -->
  178. <swiper
  179. class="swiper gallery-thumbs"
  180. :options="swiperOptionThumbs"
  181. ref="swiperThumbs"
  182. >
  183. <swiper-slide
  184. class="slide"
  185. style="width:100px;height:100px;"
  186. v-for="(item, index) in infoModel.nameFindCompliance"
  187. :key="item.id"
  188. >
  189. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  190. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  191. </div>
  192. <img style="width: 100%;height: 96px"
  193. v-if="!item.urlBase" :src="noDataPng" border="1">
  194. </swiper-slide>
  195. <!-- 点我上传文件按钮-->
  196. <div class="clearfix">
  197. <a-upload
  198. listType="picture-card"
  199. name="file"
  200. :multiple="false"
  201. :action="importMinioUploadAction"
  202. :customRequest="e => selfUploadContract(e, 'nameFindCompliance')"
  203. :headers="tokenHeader"
  204. :showUploadList="false"
  205. :beforeUpload="importBeforeUpload"
  206. @change="importHandleChange"
  207. >
  208. </a-upload>
  209. </div>
  210. <div class="swiper-button-next swiper-button-white" slot="button-next">
  211. <div>
  212. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  213. </div>
  214. </div>
  215. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  216. <div>
  217. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  218. </div>
  219. </div>
  220. </swiper>
  221. </div>
  222. </div>
  223. </div>
  224. </a-card>
  225. <!-- 身份证照片正反面-->
  226. <a-card v-if="steps.currentId == 'fileListIdCard'"
  227. style="margin-bottom:10px;
  228. float: left;width: 83%;left: 2%">
  229. <div slot="title">
  230. <span style="float: left;position: relative;top: 4px">身份证照片正反面</span>
  231. </div>
  232. <!-- 附件-->
  233. <div>
  234. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  235. <a-radio-group v-model="specialResult.idCardState" @change="basicCheckClick(specialResult.idCardState)">
  236. <a-radio :value=0>未通过</a-radio>
  237. <a-radio :value=1>通过</a-radio>
  238. </a-radio-group>
  239. </a-form-model-item>
  240. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  241. <a-textarea
  242. v-model="specialResult.idCardNote"
  243. placeholder="请输入稽核结果"
  244. />
  245. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  246. </a-form-model-item>
  247. <a-form-model-item style="width: 90%;" label="身份证正反面备注:" v-bind="labelCol1Note">
  248. <a-tag class="font-size-14" color="orange">{{ infoModel.fileListIdCardRemark }}</a-tag>
  249. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  250. </a-form-model-item>
  251. </div>
  252. <!-- 文件上传-->
  253. <div class="file-div-minio-upload">
  254. <div class="thumb-example" style="position: relative">
  255. <!-- swiper1 -->
  256. <swiper
  257. class="swiper gallery-top"
  258. :options="swiperOptionTop"
  259. ref="swiperTop"
  260. >
  261. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.fileListIdCard" :key="item.id">
  262. <iframe
  263. v-if="item.urlBase"
  264. frameborder="1"
  265. :src="item.urlBase"
  266. ref="ifr"
  267. width="100%"
  268. height="500px"
  269. scrolling="auto">
  270. </iframe>
  271. <img style="width: 100%;height: 500px;border: 1px solid;"
  272. v-if="!item.urlBase" :src="noDataPng" border="1">
  273. <a-button
  274. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  275. v-if="infoModel.fileListIdCard.length && item.urlBase"
  276. @click="jumpUrl(item.url)">下载
  277. </a-button>
  278. <a-button
  279. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  280. v-if="infoModel.fileListIdCard.length && item.urlBase"
  281. @click="jumpUrl(item.urlBase)">预览
  282. </a-button>
  283. </swiper-slide>
  284. <!-- <div
  285. class="swiper-button-next swiper-button-white"
  286. slot="button-next"
  287. ></div>
  288. <div
  289. class="swiper-button-prev swiper-button-white"
  290. slot="button-prev"
  291. ></div>-->
  292. </swiper>
  293. <!-- swiper2 Thumbs -->
  294. <swiper
  295. class="swiper gallery-thumbs"
  296. :options="swiperOptionThumbs"
  297. ref="swiperThumbs"
  298. >
  299. <swiper-slide
  300. class="slide"
  301. style="width:100px;height:100px;"
  302. v-for="(item, index) in infoModel.fileListIdCard"
  303. :key="item.id"
  304. >
  305. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  306. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  307. </div>
  308. <img style="width: 100%;height: 96px"
  309. v-if="!item.urlBase" :src="noDataPng" border="1">
  310. </swiper-slide>
  311. <!-- 点我上传文件按钮-->
  312. <div class="clearfix">
  313. <a-upload
  314. listType="picture-card"
  315. name="file"
  316. :multiple="false"
  317. :action="importMinioUploadAction"
  318. :customRequest="e => selfUploadContract(e, 'fileListIdCard')"
  319. :headers="tokenHeader"
  320. :showUploadList="false"
  321. :beforeUpload="importBeforeUpload"
  322. @change="importHandleChange"
  323. >
  324. </a-upload>
  325. </div>
  326. <div class="swiper-button-next swiper-button-white" slot="button-next">
  327. <div>
  328. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  329. </div>
  330. </div>
  331. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  332. <div>
  333. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  334. </div>
  335. </div>
  336. </swiper>
  337. </div>
  338. </div>
  339. </a-card>
  340. <!-- 手持半身照-->
  341. <a-card v-if="steps.currentId == 'handCertificate'"
  342. style="margin-bottom:10px;
  343. float: left;width: 83%;left: 2%">
  344. <div slot="title">
  345. <span style="float: left;position: relative;top: 4px">手持证件半身照片</span>
  346. </div>
  347. <!-- 附件-->
  348. <div>
  349. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  350. <a-radio-group v-model="specialResult.handCertificateState"
  351. @change="basicCheckClick(specialResult.handCertificateState)">
  352. <a-radio :value=0>未通过</a-radio>
  353. <a-radio :value=1>通过</a-radio>
  354. </a-radio-group>
  355. </a-form-model-item>
  356. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  357. <a-textarea
  358. v-model="specialResult.handCertificateNote"
  359. placeholder="请输入稽核结果"
  360. />
  361. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  362. </a-form-model-item>
  363. <a-form-model-item style="width: 90%;" label="手持身份证半身照片备注:" v-bind="labelCol1Note">
  364. <a-tag class="font-size-14" color="orange">{{ infoModel.handCertificateRemark }}</a-tag>
  365. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  366. </a-form-model-item>
  367. </div>
  368. <!-- 文件上传-->
  369. <div class="file-div-minio-upload">
  370. <div class="thumb-example" style="position: relative">
  371. <!-- swiper1 -->
  372. <swiper
  373. class="swiper gallery-top"
  374. :options="swiperOptionTop"
  375. ref="swiperTop"
  376. >
  377. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.handCertificate" :key="item.id">
  378. <iframe
  379. v-if="item.urlBase"
  380. frameborder="1"
  381. :src="item.urlBase"
  382. ref="ifr"
  383. width="100%"
  384. height="500px"
  385. scrolling="auto">
  386. </iframe>
  387. <img style="width: 100%;height: 500px;border: 1px solid;"
  388. v-if="!item.urlBase" :src="noDataPng" border="1">
  389. <a-button
  390. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  391. v-if="infoModel.handCertificate.length && item.urlBase"
  392. @click="jumpUrl(item.url)">下载
  393. </a-button>
  394. <a-button
  395. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  396. v-if="infoModel.handCertificate.length && item.urlBase"
  397. @click="jumpUrl(item.urlBase)">预览
  398. </a-button>
  399. </swiper-slide>
  400. <!-- <div
  401. class="swiper-button-next swiper-button-white"
  402. slot="button-next"
  403. ></div>
  404. <div
  405. class="swiper-button-prev swiper-button-white"
  406. slot="button-prev"
  407. ></div>-->
  408. </swiper>
  409. <!-- swiper2 Thumbs -->
  410. <swiper
  411. class="swiper gallery-thumbs"
  412. :options="swiperOptionThumbs"
  413. ref="swiperThumbs"
  414. >
  415. <swiper-slide
  416. class="slide"
  417. style="width:100px;height:100px;"
  418. v-for="(item, index) in infoModel.handCertificate"
  419. :key="item.id"
  420. >
  421. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  422. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  423. </div>
  424. <img style="width: 100%;height: 96px"
  425. v-if="!item.urlBase" :src="noDataPng" border="1">
  426. </swiper-slide>
  427. <!-- 点我上传文件按钮-->
  428. <div class="clearfix">
  429. <a-upload
  430. listType="picture-card"
  431. name="file"
  432. :multiple="false"
  433. :action="importMinioUploadAction"
  434. :customRequest="e => selfUploadContract(e, 'handCertificate')"
  435. :headers="tokenHeader"
  436. :showUploadList="false"
  437. :beforeUpload="importBeforeUpload"
  438. @change="importHandleChange"
  439. >
  440. </a-upload>
  441. </div>
  442. <div class="swiper-button-next swiper-button-white" slot="button-next">
  443. <div>
  444. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  445. </div>
  446. </div>
  447. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  448. <div>
  449. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  450. </div>
  451. </div>
  452. </swiper>
  453. </div>
  454. </div>
  455. </a-card>
  456. <!-- 防诈骗承若函-->
  457. <a-card v-if="steps.currentId == 'fraudPrevention'"
  458. style="margin-bottom:10px;
  459. float: left;width: 83%;left: 2%">
  460. <div slot="title">
  461. <span style="float: left;position: relative;top: 4px"> 防诈骗承诺涵(使用人签署)</span>
  462. </div>
  463. <div>
  464. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  465. <a-radio-group v-model="specialResult.fraudPreventionState"
  466. @change="basicCheckClick(specialResult.fraudPreventionState)">
  467. <a-radio :value=0>未通过</a-radio>
  468. <a-radio :value=1>通过</a-radio>
  469. </a-radio-group>
  470. </a-form-model-item>
  471. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  472. <a-textarea
  473. v-model="specialResult.fraudPreventionNote"
  474. placeholder="请输入稽核结果"
  475. />
  476. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  477. </a-form-model-item>
  478. <a-form-model-item style="width: 90%;" label="防诈骗承诺涵备注:" v-bind="labelCol1Note">
  479. <a-tag class="font-size-14" color="orange">{{ infoModel.fraudPreventionRemark }}</a-tag>
  480. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  481. </a-form-model-item>
  482. </div>
  483. <!-- 文件上传-->
  484. <div class="file-div-minio-upload">
  485. <div class="thumb-example" style="position: relative">
  486. <!-- swiper1 -->
  487. <swiper
  488. class="swiper gallery-top"
  489. :options="swiperOptionTop"
  490. ref="swiperTop"
  491. >
  492. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.fraudPrevention" :key="item.id">
  493. <iframe
  494. v-if="item.urlBase"
  495. frameborder="1"
  496. :src="item.urlBase"
  497. ref="ifr"
  498. style="position: relative;"
  499. width="100%"
  500. height="500px"
  501. scrolling="auto">
  502. </iframe>
  503. <img style="width: 100%;height: 500px;border: 1px solid;"
  504. v-if="!item.urlBase" :src="noDataPng" border="1">
  505. <a-button
  506. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  507. v-if="infoModel.fraudPrevention.length && item.urlBase"
  508. @click="jumpUrl(item.url)">下载
  509. </a-button>
  510. <a-button
  511. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  512. v-if="infoModel.fraudPrevention.length && item.urlBase"
  513. @click="jumpUrl(item.urlBase)">预览
  514. </a-button>
  515. </swiper-slide>
  516. <!-- <div
  517. class="swiper-button-next swiper-button-white"
  518. slot="button-next"
  519. ></div>
  520. <div
  521. class="swiper-button-prev swiper-button-white"
  522. slot="button-prev"
  523. ></div>-->
  524. </swiper>
  525. <!-- swiper2 Thumbs -->
  526. <swiper
  527. class="swiper gallery-thumbs"
  528. :options="swiperOptionThumbs"
  529. ref="swiperThumbs"
  530. >
  531. <swiper-slide
  532. class="slide"
  533. style="width:100px;height:100px;"
  534. v-for="(item, index) in infoModel.fraudPrevention"
  535. :key="item.id"
  536. >
  537. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  538. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  539. </div>
  540. <img style="width: 100%;height: 96px"
  541. v-if="!item.urlBase" :src="noDataPng" border="1">
  542. </swiper-slide>
  543. <!-- 点我上传文件按钮-->
  544. <div class="clearfix">
  545. <a-upload
  546. listType="picture-card"
  547. name="file"
  548. :multiple="false"
  549. :action="importMinioUploadAction"
  550. :customRequest="e => selfUploadContract(e, 'fraudPrevention')"
  551. :headers="tokenHeader"
  552. :showUploadList="false"
  553. :beforeUpload="importBeforeUpload"
  554. @change="importHandleChange"
  555. >
  556. </a-upload>
  557. </div>
  558. <div class="swiper-button-next swiper-button-white" slot="button-next">
  559. <div>
  560. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  561. </div>
  562. </div>
  563. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  564. <div>
  565. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  566. </div>
  567. </div>
  568. </swiper>
  569. </div>
  570. </div>
  571. <!-- 附件-->
  572. </a-card>
  573. <!-- 特审单-->
  574. <a-card v-if="steps.currentId == 'specialReviewForm'"
  575. style="margin-bottom:10px;
  576. float: left;width: 83%;left: 2%">
  577. <div slot="title">
  578. <span style="float: left;position: relative;top: 4px"> 特审单</span>
  579. </div>
  580. <!-- 附件-->
  581. <div>
  582. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  583. <a-radio-group v-model="specialResult.specialReviewFormState"
  584. @change="basicCheckClick(specialResult.specialReviewFormState)">
  585. <a-radio :value=0>未通过</a-radio>
  586. <a-radio :value=1>通过</a-radio>
  587. </a-radio-group>
  588. </a-form-model-item>
  589. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  590. <a-textarea
  591. v-model="specialResult.specialReviewFormNote"
  592. placeholder="请输入稽核结果"
  593. />
  594. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  595. </a-form-model-item>
  596. <a-form-model-item style="width: 90%;" label="特审单备注:" v-bind="labelCol1Note">
  597. <a-tag class="font-size-14" color="orange">{{ infoModel.specialReviewFormRemark }}</a-tag>
  598. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  599. </a-form-model-item>
  600. </div>
  601. <!-- 文件上传-->
  602. <div class="file-div-minio-upload">
  603. <div class="thumb-example" style="position: relative">
  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.specialReviewForm" :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="500px"
  618. scrolling="auto">
  619. </iframe>
  620. <img style="width: 100%;height: 500px;border: 1px solid;"
  621. v-if="!item.urlBase" :src="noDataPng" border="1">
  622. <a-button
  623. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  624. v-if="infoModel.specialReviewForm.length && item.urlBase"
  625. @click="jumpUrl(item.url)">下载
  626. </a-button>
  627. <a-button
  628. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  629. v-if="infoModel.specialReviewForm.length && item.urlBase"
  630. @click="jumpUrl(item.urlBase)">预览
  631. </a-button>
  632. </swiper-slide>
  633. <!-- <div
  634. class="swiper-button-next swiper-button-white"
  635. slot="button-next"
  636. ></div>
  637. <div
  638. class="swiper-button-prev swiper-button-white"
  639. slot="button-prev"
  640. ></div>-->
  641. </swiper>
  642. <!-- swiper2 Thumbs -->
  643. <swiper
  644. class="swiper gallery-thumbs"
  645. :options="swiperOptionThumbs"
  646. ref="swiperThumbs"
  647. >
  648. <swiper-slide
  649. class="slide"
  650. style="width:100px;height:100px;"
  651. v-for="(item, index) in infoModel.specialReviewForm"
  652. :key="item.id"
  653. >
  654. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  655. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  656. </div>
  657. <img style="width: 100%;height: 96px"
  658. v-if="!item.urlBase" :src="noDataPng" border="1">
  659. </swiper-slide>
  660. <!-- 点我上传文件按钮-->
  661. <div class="clearfix">
  662. <a-upload
  663. listType="picture-card"
  664. name="file"
  665. :multiple="false"
  666. :action="importMinioUploadAction"
  667. :customRequest="e => selfUploadContract(e, 'specialReviewForm')"
  668. :headers="tokenHeader"
  669. :showUploadList="false"
  670. :beforeUpload="importBeforeUpload"
  671. @change="importHandleChange"
  672. >
  673. </a-upload>
  674. </div>
  675. <div class="swiper-button-next swiper-button-white" slot="button-next">
  676. <div>
  677. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  678. </div>
  679. </div>
  680. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  681. <div>
  682. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  683. </div>
  684. </div>
  685. </swiper>
  686. </div>
  687. </div>
  688. </a-card>
  689. <!-- 单位户-使用人证件-->
  690. <a-card v-if="steps.currentId == 'userCertificate'"
  691. style="margin-bottom:10px;
  692. float: left;width: 83%;left: 2%">
  693. <div slot="title">
  694. <span style="float: left;position: relative;top: 4px"> 使用人证件</span>
  695. </div>
  696. <!-- 附件-->
  697. <div>
  698. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  699. <a-radio-group v-model="specialResult.userCertificateState"
  700. @change="basicCheckClick(specialResult.userCertificateState)">
  701. <a-radio :value=0>未通过</a-radio>
  702. <a-radio :value=1>通过</a-radio>
  703. </a-radio-group>
  704. </a-form-model-item>
  705. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  706. <a-textarea
  707. v-model="specialResult.userCertificateNote"
  708. placeholder="请输入稽核结果"
  709. />
  710. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  711. </a-form-model-item>
  712. <a-form-model-item style="width: 90%;" label="使用人证件备注:" v-bind="labelCol1Note">
  713. <a-tag class="font-size-14" color="orange">{{ infoModel.userCertificateRemark }}</a-tag>
  714. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  715. </a-form-model-item>
  716. </div>
  717. <!-- 文件上传-->
  718. <div class="file-div-minio-upload">
  719. <div class="thumb-example" style="position: relative">
  720. <!-- swiper1 -->
  721. <swiper
  722. class="swiper gallery-top"
  723. :options="swiperOptionTop"
  724. ref="swiperTop"
  725. >
  726. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.userCertificate" :key="item.id">
  727. <iframe
  728. v-if="item.urlBase"
  729. frameborder="1"
  730. :src="item.urlBase"
  731. ref="ifr"
  732. width="100%"
  733. height="500px"
  734. scrolling="auto">
  735. </iframe>
  736. <img style="width: 100%;height: 500px;border: 1px solid;"
  737. v-if="!item.urlBase" :src="noDataPng" border="1">
  738. <a-button
  739. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  740. v-if="infoModel.userCertificate.length && item.urlBase"
  741. @click="jumpUrl(item.url)">下载
  742. </a-button>
  743. <a-button
  744. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  745. v-if="infoModel.userCertificate.length && item.urlBase"
  746. @click="jumpUrl(item.urlBase)">预览
  747. </a-button>
  748. </swiper-slide>
  749. <!-- <div
  750. class="swiper-button-next swiper-button-white"
  751. slot="button-next"
  752. ></div>
  753. <div
  754. class="swiper-button-prev swiper-button-white"
  755. slot="button-prev"
  756. ></div>-->
  757. </swiper>
  758. <!-- swiper2 Thumbs -->
  759. <swiper
  760. class="swiper gallery-thumbs"
  761. :options="swiperOptionThumbs"
  762. ref="swiperThumbs"
  763. >
  764. <swiper-slide
  765. class="slide"
  766. style="width:100px;height:100px;"
  767. v-for="(item, index) in infoModel.userCertificate"
  768. :key="item.id"
  769. >
  770. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  771. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  772. </div>
  773. <img style="width: 100%;height: 96px"
  774. v-if="!item.urlBase" :src="noDataPng" border="1">
  775. </swiper-slide>
  776. <!-- 点我上传文件按钮-->
  777. <div class="clearfix">
  778. <a-upload
  779. listType="picture-card"
  780. name="file"
  781. :multiple="false"
  782. :action="importMinioUploadAction"
  783. :customRequest="e => selfUploadContract(e, 'userCertificate')"
  784. :headers="tokenHeader"
  785. :showUploadList="false"
  786. :beforeUpload="importBeforeUpload"
  787. @change="importHandleChange"
  788. >
  789. </a-upload>
  790. </div>
  791. <div class="swiper-button-next swiper-button-white" slot="button-next">
  792. <div>
  793. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  794. </div>
  795. </div>
  796. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  797. <div>
  798. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  799. </div>
  800. </div>
  801. </swiper>
  802. </div>
  803. </div>
  804. </a-card>
  805. <!-- 单位户-营业执照副本(盖公章)-->
  806. <a-card v-if="steps.currentId == 'businessLicense'"
  807. style="margin-bottom:10px;
  808. float: left;width: 83%;left: 2%">
  809. <div slot="title">
  810. <span style="float: left;position: relative;top: 4px"> 营业执照副本(盖公章)</span>
  811. </div>
  812. <!-- 附件-->
  813. <div>
  814. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  815. <a-radio-group v-model="specialResult.businessLicenseState"
  816. @change="basicCheckClick(specialResult.businessLicenseState)">
  817. <a-radio :value=0>未通过</a-radio>
  818. <a-radio :value=1>通过</a-radio>
  819. </a-radio-group>
  820. </a-form-model-item>
  821. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  822. <a-textarea
  823. v-model="specialResult.businessLicenseNote"
  824. placeholder="请输入稽核结果"
  825. />
  826. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  827. </a-form-model-item>
  828. <a-form-model-item style="width: 90%;" label="使用人证件备注:" v-bind="labelCol1Note">
  829. <a-tag class="font-size-14" color="orange">{{ infoModel.businessLicenseRemark }}</a-tag>
  830. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  831. </a-form-model-item>
  832. </div>
  833. <!-- 文件上传-->
  834. <div class="file-div-minio-upload">
  835. <div class="thumb-example" style="position: relative">
  836. <!-- swiper1 -->
  837. <swiper
  838. class="swiper gallery-top"
  839. :options="swiperOptionTop"
  840. ref="swiperTop"
  841. >
  842. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.businessLicense" :key="item.id">
  843. <iframe
  844. v-if="item.urlBase"
  845. frameborder="1"
  846. :src="item.urlBase"
  847. ref="ifr"
  848. width="100%"
  849. height="500px"
  850. scrolling="auto">
  851. </iframe>
  852. <img style="width: 100%;height: 500px;border: 1px solid;"
  853. v-if="!item.urlBase" :src="noDataPng" border="1">
  854. <a-button
  855. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  856. v-if="infoModel.businessLicense.length && item.urlBase"
  857. @click="jumpUrl(item.url)">下载
  858. </a-button>
  859. <a-button
  860. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  861. v-if="infoModel.businessLicense.length && item.urlBase"
  862. @click="jumpUrl(item.urlBase)">预览
  863. </a-button>
  864. </swiper-slide>
  865. <!-- <div
  866. class="swiper-button-next swiper-button-white"
  867. slot="button-next"
  868. ></div>
  869. <div
  870. class="swiper-button-prev swiper-button-white"
  871. slot="button-prev"
  872. ></div>-->
  873. </swiper>
  874. <!-- swiper2 Thumbs -->
  875. <swiper
  876. class="swiper gallery-thumbs"
  877. :options="swiperOptionThumbs"
  878. ref="swiperThumbs"
  879. >
  880. <swiper-slide
  881. class="slide"
  882. style="width:100px;height:100px;"
  883. v-for="(item, index) in infoModel.businessLicense"
  884. :key="item.id"
  885. >
  886. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  887. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  888. </div>
  889. <img style="width: 100%;height: 96px"
  890. v-if="!item.urlBase" :src="noDataPng" border="1">
  891. </swiper-slide>
  892. <!-- 点我上传文件按钮-->
  893. <div class="clearfix">
  894. <a-upload
  895. listType="picture-card"
  896. name="file"
  897. :multiple="false"
  898. :action="importMinioUploadAction"
  899. :customRequest="e => selfUploadContract(e, 'businessLicense')"
  900. :headers="tokenHeader"
  901. :showUploadList="false"
  902. :beforeUpload="importBeforeUpload"
  903. @change="importHandleChange"
  904. >
  905. </a-upload>
  906. </div>
  907. <div class="swiper-button-next swiper-button-white" slot="button-next">
  908. <div>
  909. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  910. </div>
  911. </div>
  912. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  913. <div>
  914. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  915. </div>
  916. </div>
  917. </swiper>
  918. </div>
  919. </div>
  920. </a-card>
  921. <!-- 单位户-介绍信-->
  922. <a-card v-if="steps.currentId == 'letterIntroduction'"
  923. style="margin-bottom:10px;
  924. float: left;width: 83%;left: 2%">
  925. <div slot="title">
  926. <span style="float: left;position: relative;top: 4px"> 介绍信</span>
  927. </div>
  928. <!-- 附件-->
  929. <div>
  930. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  931. <a-radio-group v-model="specialResult.letterIntroductionState"
  932. @change="basicCheckClick(specialResult.letterIntroductionState)">
  933. <a-radio :value=0>未通过</a-radio>
  934. <a-radio :value=1>通过</a-radio>
  935. </a-radio-group>
  936. </a-form-model-item>
  937. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  938. <a-textarea
  939. v-model="specialResult.letterIntroductionNote"
  940. placeholder="请输入稽核结果"
  941. />
  942. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  943. </a-form-model-item>
  944. <a-form-model-item style="width: 90%;" label="介绍信备注:" v-bind="labelCol1Note">
  945. <a-tag class="font-size-14" color="orange">{{ infoModel.letterIntroductionRemark }}</a-tag>
  946. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  947. </a-form-model-item>
  948. </div>
  949. <!-- 文件上传-->
  950. <div class="file-div-minio-upload">
  951. <div class="thumb-example" style="position: relative">
  952. <!-- swiper1 -->
  953. <swiper
  954. class="swiper gallery-top"
  955. :options="swiperOptionTop"
  956. ref="swiperTop"
  957. >
  958. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.letterIntroduction" :key="item.id">
  959. <iframe
  960. v-if="item.urlBase"
  961. frameborder="1"
  962. :src="item.urlBase"
  963. ref="ifr"
  964. width="100%"
  965. height="500px"
  966. scrolling="auto">
  967. </iframe>
  968. <img style="width: 100%;height: 500px;border: 1px solid;"
  969. v-if="!item.urlBase" :src="noDataPng" border="1">
  970. <a-button
  971. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  972. v-if="infoModel.letterIntroduction.length && item.urlBase"
  973. @click="jumpUrl(item.url)">下载
  974. </a-button>
  975. <a-button
  976. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  977. v-if="infoModel.letterIntroduction.length && item.urlBase"
  978. @click="jumpUrl(item.urlBase)">预览
  979. </a-button>
  980. </swiper-slide>
  981. <!-- <div
  982. class="swiper-button-next swiper-button-white"
  983. slot="button-next"
  984. ></div>
  985. <div
  986. class="swiper-button-prev swiper-button-white"
  987. slot="button-prev"
  988. ></div>-->
  989. </swiper>
  990. <!-- swiper2 Thumbs -->
  991. <swiper
  992. class="swiper gallery-thumbs"
  993. :options="swiperOptionThumbs"
  994. ref="swiperThumbs"
  995. >
  996. <swiper-slide
  997. class="slide"
  998. style="width:100px;height:100px;"
  999. v-for="(item, index) in infoModel.letterIntroduction"
  1000. :key="item.id"
  1001. >
  1002. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1003. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1004. </div>
  1005. <img style="width: 100%;height: 96px"
  1006. v-if="!item.urlBase" :src="noDataPng" border="1">
  1007. </swiper-slide>
  1008. <!-- 点我上传文件按钮-->
  1009. <div class="clearfix">
  1010. <a-upload
  1011. listType="picture-card"
  1012. name="file"
  1013. :multiple="false"
  1014. :action="importMinioUploadAction"
  1015. :customRequest="e => selfUploadContract(e, 'letterIntroduction')"
  1016. :headers="tokenHeader"
  1017. :showUploadList="false"
  1018. :beforeUpload="importBeforeUpload"
  1019. @change="importHandleChange"
  1020. >
  1021. </a-upload>
  1022. </div>
  1023. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1024. <div>
  1025. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1026. </div>
  1027. </div>
  1028. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1029. <div>
  1030. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1031. </div>
  1032. </div>
  1033. </swiper>
  1034. </div>
  1035. </div>
  1036. </a-card>
  1037. <!-- 个人户-号卡照片-->
  1038. <a-card v-if="steps.currentId == 'numberCard'"
  1039. style="margin-bottom:10px;
  1040. float: left;width: 83%;left: 2%">
  1041. <div slot="title">
  1042. <span style="float: left;position: relative;top: 4px"> 号卡照片</span>
  1043. </div>
  1044. <!-- 附件-->
  1045. <div>
  1046. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  1047. <a-radio-group v-model="specialResult.numberCardState"
  1048. @change="basicCheckClick(specialResult.numberCardState)">
  1049. <a-radio :value=0>未通过</a-radio>
  1050. <a-radio :value=1>通过</a-radio>
  1051. </a-radio-group>
  1052. </a-form-model-item>
  1053. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  1054. <a-textarea
  1055. v-model="specialResult.numberCardNote"
  1056. placeholder="请输入稽核结果"
  1057. />
  1058. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1059. </a-form-model-item>
  1060. <a-form-model-item style="width: 90%;" label="号卡照片备注:" v-bind="labelCol1Note">
  1061. <a-tag class="font-size-14" color="orange">{{ infoModel.numberCardRemark }}</a-tag>
  1062. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1063. </a-form-model-item>
  1064. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1065. </div>
  1066. <!-- 文件上传-->
  1067. <div class="file-div-minio-upload">
  1068. <div class="thumb-example" style="position: relative">
  1069. <!-- swiper1 -->
  1070. <swiper
  1071. class="swiper gallery-top"
  1072. :options="swiperOptionTop"
  1073. ref="swiperTop"
  1074. >
  1075. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.numberCard" :key="item.id">
  1076. <iframe
  1077. v-if="item.urlBase"
  1078. frameborder="1"
  1079. :src="item.urlBase"
  1080. ref="ifr"
  1081. width="100%"
  1082. height="500px"
  1083. scrolling="auto">
  1084. </iframe>
  1085. <img style="width: 100%;height: 500px;border: 1px solid;"
  1086. v-if="!item.urlBase" :src="noDataPng" border="1">
  1087. <a-button
  1088. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1089. v-if="infoModel.numberCard.length && item.urlBase"
  1090. @click="jumpUrl(item.url)">下载
  1091. </a-button>
  1092. <a-button
  1093. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1094. v-if="infoModel.numberCard.length && item.urlBase"
  1095. @click="jumpUrl(item.urlBase)">预览
  1096. </a-button>
  1097. </swiper-slide>
  1098. <!-- <div
  1099. class="swiper-button-next swiper-button-white"
  1100. slot="button-next"
  1101. ></div>
  1102. <div
  1103. class="swiper-button-prev swiper-button-white"
  1104. slot="button-prev"
  1105. ></div>-->
  1106. </swiper>
  1107. <!-- swiper2 Thumbs -->
  1108. <swiper
  1109. class="swiper gallery-thumbs"
  1110. :options="swiperOptionThumbs"
  1111. ref="swiperThumbs"
  1112. >
  1113. <swiper-slide
  1114. class="slide"
  1115. style="width:100px;height:100px;"
  1116. v-for="(item, index) in infoModel.numberCard"
  1117. :key="item.id"
  1118. >
  1119. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1120. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1121. </div>
  1122. <img style="width: 100%;height: 96px"
  1123. v-if="!item.urlBase" :src="noDataPng" border="1">
  1124. </swiper-slide>
  1125. <!-- 点我上传文件按钮-->
  1126. <div class="clearfix">
  1127. <a-upload
  1128. listType="picture-card"
  1129. name="file"
  1130. :multiple="false"
  1131. :action="importMinioUploadAction"
  1132. :customRequest="e => selfUploadContract(e, 'numberCard')"
  1133. :headers="tokenHeader"
  1134. :showUploadList="false"
  1135. :beforeUpload="importBeforeUpload"
  1136. @change="importHandleChange"
  1137. >
  1138. </a-upload>
  1139. </div>
  1140. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1141. <div>
  1142. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1143. </div>
  1144. </div>
  1145. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1146. <div>
  1147. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1148. </div>
  1149. </div>
  1150. </swiper>
  1151. </div>
  1152. </div>
  1153. </a-card>
  1154. <!-- 个人户-手持号卡照片-->
  1155. <a-card v-if="steps.currentId == 'handNumberCard'"
  1156. style="margin-bottom:10px;
  1157. float: left;width: 83%;left: 2%">
  1158. <div slot="title">
  1159. <span style="float: left;position: relative;top: 4px"> 手持号卡照片</span>
  1160. </div>
  1161. <!-- 附件-->
  1162. <div>
  1163. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  1164. <a-radio-group v-model="specialResult.handNumberCardState"
  1165. @change="basicCheckClick(specialResult.handNumberCardState)">
  1166. <a-radio :value=0>未通过</a-radio>
  1167. <a-radio :value=1>通过</a-radio>
  1168. </a-radio-group>
  1169. </a-form-model-item>
  1170. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  1171. <a-textarea
  1172. v-model="specialResult.handNumberCardNote"
  1173. placeholder="请输入稽核结果"
  1174. />
  1175. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1176. </a-form-model-item>
  1177. <a-form-model-item style="width: 90%;" label="手持号卡照片备注:" v-bind="labelCol1Note">
  1178. <a-tag class="font-size-14" color="orange">{{ infoModel.handNumberCardRemark }}</a-tag>
  1179. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1180. </a-form-model-item>
  1181. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1182. </div>
  1183. <!-- 文件上传-->
  1184. <div class="file-div-minio-upload">
  1185. <div class="thumb-example" style="position: relative">
  1186. <!-- swiper1 -->
  1187. <swiper
  1188. class="swiper gallery-top"
  1189. :options="swiperOptionTop"
  1190. ref="swiperTop"
  1191. >
  1192. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.handNumberCard" :key="item.id">
  1193. <iframe
  1194. v-if="item.urlBase"
  1195. frameborder="1"
  1196. :src="item.urlBase"
  1197. ref="ifr"
  1198. width="100%"
  1199. height="500px"
  1200. scrolling="auto">
  1201. </iframe>
  1202. <img style="width: 100%;height: 500px;border: 1px solid;"
  1203. v-if="!item.urlBase" :src="noDataPng" border="1">
  1204. <a-button
  1205. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1206. v-if="infoModel.handNumberCard.length && item.urlBase"
  1207. @click="jumpUrl(item.url)">下载
  1208. </a-button>
  1209. <a-button
  1210. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1211. v-if="infoModel.handNumberCard.length && item.urlBase"
  1212. @click="jumpUrl(item.urlBase)">预览
  1213. </a-button>
  1214. </swiper-slide>
  1215. <!-- <div
  1216. class="swiper-button-next swiper-button-white"
  1217. slot="button-next"
  1218. ></div>
  1219. <div
  1220. class="swiper-button-prev swiper-button-white"
  1221. slot="button-prev"
  1222. ></div>-->
  1223. </swiper>
  1224. <!-- swiper2 Thumbs -->
  1225. <swiper
  1226. class="swiper gallery-thumbs"
  1227. :options="swiperOptionThumbs"
  1228. ref="swiperThumbs"
  1229. >
  1230. <swiper-slide
  1231. class="slide"
  1232. style="width:100px;height:100px;"
  1233. v-for="(item, index) in infoModel.handNumberCard"
  1234. :key="item.id"
  1235. >
  1236. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1237. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1238. </div>
  1239. <img style="width: 100%;height: 96px"
  1240. v-if="!item.urlBase" :src="noDataPng" border="1">
  1241. </swiper-slide>
  1242. <!-- 点我上传文件按钮-->
  1243. <div class="clearfix">
  1244. <a-upload
  1245. listType="picture-card"
  1246. name="file"
  1247. :multiple="false"
  1248. :action="importMinioUploadAction"
  1249. :customRequest="e => selfUploadContract(e, 'handNumberCard')"
  1250. :headers="tokenHeader"
  1251. :showUploadList="false"
  1252. :beforeUpload="importBeforeUpload"
  1253. @change="importHandleChange"
  1254. >
  1255. </a-upload>
  1256. </div>
  1257. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1258. <div>
  1259. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1260. </div>
  1261. </div>
  1262. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1263. <div>
  1264. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1265. </div>
  1266. </div>
  1267. </swiper>
  1268. </div>
  1269. </div>
  1270. </a-card>
  1271. <!-- 消费凭证-->
  1272. <a-card v-if="steps.currentId == 'consumptionVoucher'"
  1273. style="margin-bottom:10px;
  1274. float: left;width: 83%;left: 2%">
  1275. <div slot="title">
  1276. <span style="float: left;position: relative;top: 4px"> 消费凭证</span>
  1277. </div>
  1278. <!-- 附件-->
  1279. <div>
  1280. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  1281. <a-radio-group v-model="specialResult.consumptionVoucherState"
  1282. @change="basicCheckClick(specialResult.consumptionVoucherState)">
  1283. <a-radio :value=0>未通过</a-radio>
  1284. <a-radio :value=1>通过</a-radio>
  1285. </a-radio-group>
  1286. </a-form-model-item>
  1287. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  1288. <a-textarea
  1289. v-model="specialResult.consumptionVoucherNote"
  1290. placeholder="请输入稽核结果"
  1291. />
  1292. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1293. </a-form-model-item>
  1294. <a-form-model-item style="width: 90%;" label="消费凭证备注:" v-bind="labelCol1Note">
  1295. <a-tag class="font-size-14" color="orange">{{ infoModel.consumptionVoucherRemark }}</a-tag>
  1296. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1297. </a-form-model-item>
  1298. </div>
  1299. <!-- 文件上传-->
  1300. <div class="file-div-minio-upload">
  1301. <div class="thumb-example" style="position: relative">
  1302. <!-- swiper1 -->
  1303. <swiper
  1304. class="swiper gallery-top"
  1305. :options="swiperOptionTop"
  1306. ref="swiperTop"
  1307. >
  1308. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.consumptionVoucher" :key="item.id">
  1309. <iframe
  1310. v-if="item.urlBase"
  1311. frameborder="1"
  1312. :src="item.urlBase"
  1313. ref="ifr"
  1314. width="100%"
  1315. height="500px"
  1316. scrolling="auto">
  1317. </iframe>
  1318. <img style="width: 100%;height: 500px;border: 1px solid;"
  1319. v-if="!item.urlBase" :src="noDataPng" border="1">
  1320. <a-button
  1321. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1322. v-if="infoModel.consumptionVoucher.length && item.urlBase"
  1323. @click="jumpUrl(item.url)">下载
  1324. </a-button>
  1325. <a-button
  1326. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1327. v-if="infoModel.consumptionVoucher.length && item.urlBase"
  1328. @click="jumpUrl(item.urlBase)">预览
  1329. </a-button>
  1330. </swiper-slide>
  1331. <!-- <div
  1332. class="swiper-button-next swiper-button-white"
  1333. slot="button-next"
  1334. ></div>
  1335. <div
  1336. class="swiper-button-prev swiper-button-white"
  1337. slot="button-prev"
  1338. ></div>-->
  1339. </swiper>
  1340. <!-- swiper2 Thumbs -->
  1341. <swiper
  1342. class="swiper gallery-thumbs"
  1343. :options="swiperOptionThumbs"
  1344. ref="swiperThumbs"
  1345. >
  1346. <swiper-slide
  1347. class="slide"
  1348. style="width:100px;height:100px;"
  1349. v-for="(item, index) in infoModel.consumptionVoucher"
  1350. :key="item.id"
  1351. >
  1352. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1353. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1354. </div>
  1355. <img style="width: 100%;height: 96px"
  1356. v-if="!item.urlBase" :src="noDataPng" border="1">
  1357. </swiper-slide>
  1358. <!-- 点我上传文件按钮-->
  1359. <div class="clearfix">
  1360. <a-upload
  1361. listType="picture-card"
  1362. name="file"
  1363. :multiple="false"
  1364. :action="importMinioUploadAction"
  1365. :customRequest="e => selfUploadContract(e, 'consumptionVoucher')"
  1366. :headers="tokenHeader"
  1367. :showUploadList="false"
  1368. :beforeUpload="importBeforeUpload"
  1369. @change="importHandleChange"
  1370. >
  1371. </a-upload>
  1372. </div>
  1373. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1374. <div>
  1375. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1376. </div>
  1377. </div>
  1378. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1379. <div>
  1380. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1381. </div>
  1382. </div>
  1383. </swiper>
  1384. </div>
  1385. </div>
  1386. </a-card>
  1387. <!-- 承诺视频-->
  1388. <a-card v-if="steps.currentId == 'commitmentVideo'"
  1389. style="margin-bottom:10px;
  1390. float: left;width: 83%;left: 2%">
  1391. <div slot="title">
  1392. <span style="float: left;position: relative;top: 4px"> 承诺视频</span>
  1393. </div>
  1394. <!-- 附件-->
  1395. <div>
  1396. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  1397. <a-radio-group v-model="specialResult.commitmentVideoState"
  1398. @change="basicCheckClick(specialResult.commitmentVideoState)">
  1399. <a-radio :value=0>未通过</a-radio>
  1400. <a-radio :value=1>通过</a-radio>
  1401. </a-radio-group>
  1402. </a-form-model-item>
  1403. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  1404. <a-textarea
  1405. v-model="specialResult.commitmentVideoNote"
  1406. placeholder="请输入稽核结果"
  1407. />
  1408. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1409. </a-form-model-item>
  1410. <a-form-model-item style="width: 90%;" label="承诺视频备注:" v-bind="labelCol1Note">
  1411. <a-tag class="font-size-14" color="orange">{{ infoModel.commitmentVideoRemark }}</a-tag>
  1412. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1413. </a-form-model-item>
  1414. </div>
  1415. <!-- 文件上传-->
  1416. <div class="file-div-minio-upload">
  1417. <div class="thumb-example" style="position: relative">
  1418. <!-- swiper1 -->
  1419. <swiper
  1420. class="swiper gallery-top"
  1421. :options="swiperOptionTop"
  1422. ref="swiperTop"
  1423. >
  1424. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.commitmentVideo" :key="item.id">
  1425. <iframe
  1426. v-if="item.urlBase"
  1427. frameborder="1"
  1428. :src="item.urlBase"
  1429. ref="ifr"
  1430. width="100%"
  1431. height="500px"
  1432. scrolling="auto">
  1433. </iframe>
  1434. <img style="width: 100%;height: 500px;border: 1px solid;"
  1435. v-if="!item.urlBase" :src="noDataPng" border="1">
  1436. <a-button
  1437. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1438. v-if="infoModel.commitmentVideo.length && item.urlBase"
  1439. @click="jumpUrl(item.url)">下载
  1440. </a-button>
  1441. <a-button
  1442. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1443. v-if="infoModel.commitmentVideo.length && item.urlBase"
  1444. @click="jumpUrl(item.urlBase)">预览
  1445. </a-button>
  1446. </swiper-slide>
  1447. <!-- <div
  1448. class="swiper-button-next swiper-button-white"
  1449. slot="button-next"
  1450. ></div>
  1451. <div
  1452. class="swiper-button-prev swiper-button-white"
  1453. slot="button-prev"
  1454. ></div>-->
  1455. </swiper>
  1456. <!-- swiper2 Thumbs -->
  1457. <swiper
  1458. class="swiper gallery-thumbs"
  1459. :options="swiperOptionThumbs"
  1460. ref="swiperThumbs"
  1461. >
  1462. <swiper-slide
  1463. class="slide"
  1464. style="width:100px;height:100px;"
  1465. v-for="(item, index) in infoModel.commitmentVideo"
  1466. :key="item.id"
  1467. >
  1468. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1469. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1470. </div>
  1471. <img style="width: 100%;height: 96px"
  1472. v-if="!item.urlBase" :src="noDataPng" border="1">
  1473. </swiper-slide>
  1474. <!-- 点我上传文件按钮-->
  1475. <div class="clearfix">
  1476. <a-upload
  1477. listType="picture-card"
  1478. name="file"
  1479. :multiple="false"
  1480. :action="importMinioUploadAction"
  1481. :customRequest="e => selfUploadContract(e, 'commitmentVideo')"
  1482. :headers="tokenHeader"
  1483. :showUploadList="false"
  1484. :beforeUpload="importBeforeUpload"
  1485. @change="importHandleChange"
  1486. >
  1487. </a-upload>
  1488. </div>
  1489. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1490. <div>
  1491. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1492. </div>
  1493. </div>
  1494. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1495. <div>
  1496. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1497. </div>
  1498. </div>
  1499. </swiper>
  1500. </div>
  1501. </div>
  1502. </a-card>
  1503. <!-- 其它材料-->
  1504. <a-card v-if="steps.currentId == 'notes'"
  1505. style="margin-bottom:10px;
  1506. float: left;width: 83%;left: 2%">
  1507. <div slot="title">
  1508. <span style="float: left;position: relative;top: 4px"> 其它资料</span>
  1509. </div>
  1510. <!-- 附件-->
  1511. <div>
  1512. <a-form-model-item style="left: 0%;width: 90%;" label="稽核状态" prop="basicCheckState" v-bind="labelCol1Note">
  1513. <a-radio-group v-model="specialResult.notesState"
  1514. @change="basicCheckClick(specialResult.notesState)">
  1515. <a-radio :value=0>未通过</a-radio>
  1516. <a-radio :value=1>通过</a-radio>
  1517. </a-radio-group>
  1518. </a-form-model-item>
  1519. <a-form-model-item style="left: 0%;width: 90%;" label="稽核结果" prop="basicCheckNote" v-bind="labelCol1Note">
  1520. <a-textarea
  1521. v-model="specialResult.notesNote"
  1522. placeholder="请输入稽核结果"
  1523. />
  1524. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1525. </a-form-model-item>
  1526. <a-form-model-item style="width: 90%;" label="其它备注:" v-bind="labelCol1Note">
  1527. <a-tag class="font-size-14" color="orange">{{ infoModel.notesRemark }}</a-tag>
  1528. <!-- :auto-size="{ minRows: 3, maxRows: 5 }"-->
  1529. </a-form-model-item>
  1530. </div>
  1531. <!-- 文件上传-->
  1532. <div class="file-div-minio-upload">
  1533. <div class="thumb-example" style="position: relative">
  1534. <!-- swiper1 -->
  1535. <swiper
  1536. class="swiper gallery-top"
  1537. :options="swiperOptionTop"
  1538. ref="swiperTop"
  1539. >
  1540. <swiper-slide class="slide-1" v-for="(item, index) in infoModel.notes" :key="item.id">
  1541. <iframe
  1542. v-if="item.urlBase"
  1543. frameborder="1"
  1544. :src="item.urlBase"
  1545. ref="ifr"
  1546. width="100%"
  1547. height="500px"
  1548. scrolling="auto">
  1549. </iframe>
  1550. <img style="width: 100%;height: 500px;border: 1px solid;"
  1551. v-if="!item.urlBase" :src="noDataPng" border="1">
  1552. <a-button
  1553. style="display: block;position: relative;float:left;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1554. v-if="infoModel.notes.length && item.urlBase"
  1555. @click="jumpUrl(item.url)">下载
  1556. </a-button>
  1557. <a-button
  1558. style="display: block;position: relative;left:20px;margin-top: 10px;border-color: #1890FF;color: #1890FF"
  1559. v-if="infoModel.notes.length && item.urlBase"
  1560. @click="jumpUrl(item.urlBase)">预览
  1561. </a-button>
  1562. </swiper-slide>
  1563. <!-- <div
  1564. class="swiper-button-next swiper-button-white"
  1565. slot="button-next"
  1566. ></div>
  1567. <div
  1568. class="swiper-button-prev swiper-button-white"
  1569. slot="button-prev"
  1570. ></div>-->
  1571. </swiper>
  1572. <!-- swiper2 Thumbs -->
  1573. <swiper
  1574. class="swiper gallery-thumbs"
  1575. :options="swiperOptionThumbs"
  1576. ref="swiperThumbs"
  1577. >
  1578. <swiper-slide
  1579. class="slide"
  1580. style="width:100px;height:100px;"
  1581. v-for="(item, index) in infoModel.notes"
  1582. :key="item.id"
  1583. >
  1584. <div v-if="item.urlBase" style="width: 100%;height: 96px;background: rgb(68,142,247);color: white">
  1585. <span style="white-space:normal; word-break:break-all;overflow:hidden;">{{ item.fileName }}</span>
  1586. </div>
  1587. <img style="width: 100%;height: 96px"
  1588. v-if="!item.urlBase" :src="noDataPng" border="1">
  1589. </swiper-slide>
  1590. <!-- 点我上传文件按钮-->
  1591. <div class="clearfix">
  1592. <a-upload
  1593. listType="picture-card"
  1594. name="file"
  1595. :multiple="false"
  1596. :action="importMinioUploadAction"
  1597. :customRequest="e => selfUploadContract(e, 'notes')"
  1598. :headers="tokenHeader"
  1599. :showUploadList="false"
  1600. :beforeUpload="importBeforeUpload"
  1601. @change="importHandleChange"
  1602. >
  1603. </a-upload>
  1604. </div>
  1605. <div class="swiper-button-next swiper-button-white" slot="button-next">
  1606. <div>
  1607. <!-- <img src="../../../../assets/images/nextImg.png" alt=""/>-->
  1608. </div>
  1609. </div>
  1610. <div class="swiper-button-prev swiper-button-white" slot="button-prev">
  1611. <div>
  1612. <!-- <img src="../../../../assets/images/prevImg.png" alt=""/>-->
  1613. </div>
  1614. </div>
  1615. </swiper>
  1616. </div>
  1617. </div>
  1618. </a-card>
  1619. </a-spin>
  1620. </template>
  1621. <script>
  1622. import {getAction, httpAction, postAction} from "@api/manage";
  1623. /*无数据图片*/
  1624. import noDataPng from '@/assets/nodata.png'
  1625. import Vue from "vue";
  1626. import {ACCESS_TOKEN, TENANT_ID} from "@/store/mutation-types";
  1627. let Base64 = require('js-base64').Base64
  1628. export default {
  1629. name: 'TaskCheckAudit',
  1630. inject: ['closeCurrent'],
  1631. components: {
  1632. noDataPng
  1633. },
  1634. data() {
  1635. return {
  1636. //缩略与大图数据源
  1637. swiperId: 1,
  1638. //轮播配置
  1639. swiperOptionTop: {
  1640. zoom: true,
  1641. loop: false,
  1642. loopedSlides: 5, // looped slides should be the same
  1643. spaceBetween: 10,
  1644. observer: true, //修改swiper自己或子元素时,自动初始化swiper
  1645. observeParents: true, //修改swiper的父元素时,自动初始化swiper
  1646. // autoplay: { //自动轮播
  1647. // delay: 2000,
  1648. // disableOnInteraction: false
  1649. // },
  1650. navigation: {
  1651. nextEl: '.swiper-button-next',
  1652. prevEl: '.swiper-button-prev'
  1653. }
  1654. },
  1655. swiperOptionThumbs: {
  1656. loop: false,
  1657. loopedSlides: 5, // looped slides should be the same
  1658. spaceBetween: 10,
  1659. centeredSlides: true,
  1660. slidesPerView: 'auto',
  1661. touchRatio: 0.2,
  1662. slideToClickedSlide: true,
  1663. navigation: {
  1664. nextEl: '.swiper-button-next',
  1665. prevEl: '.swiper-button-prev'
  1666. }
  1667. },
  1668. /**无数据图片*/
  1669. noDataPng: noDataPng,
  1670. url: {
  1671. // 获取客户信息
  1672. "getInfoDataById": "/smsCheck/customerInfo/queryById",
  1673. // 上传文件
  1674. "minioUpload": "/smsCheck/customerData/uploadMinio",
  1675. // 暂存
  1676. "staging": "/special/examination/staging",
  1677. // 批量暂存
  1678. "stagingList": "/special/examination/staging/list",
  1679. // 特审复开资料查询
  1680. "getSpecialByinfoId": "/special/examination/find/user/id",
  1681. // 提交
  1682. "editInfo": "/special/examination/edit/info",
  1683. // 批量提交
  1684. "batchEditInfo": "/special/examination/batch/edit/info",
  1685. // 提交稽核
  1686. "submitSpecial": "/special/examination/check/info",
  1687. // 获取稽核结果
  1688. "findCheckState": "/special/examination/find/check/log",
  1689. },
  1690. //是否批量上传
  1691. batchImproves: false,
  1692. // 稽核结果
  1693. specialResult: {
  1694. //基础信息
  1695. basicInfoState: null,
  1696. basicInfoNote: "",
  1697. //系统实名截图
  1698. nameFindComplianceState: null,
  1699. nameFindComplianceNote: "",
  1700. //特审单
  1701. specialReviewFormState: null,
  1702. specialReviewFormNote: "",
  1703. //身份证照片/正反面
  1704. idCardState: null,
  1705. idCardNote: "",
  1706. //手持证件半身照片
  1707. handCertificateState: null,
  1708. handCertificateNote: "",
  1709. //号卡照片
  1710. numberCardState: null,
  1711. numberCardNote: "",
  1712. //手持号卡照片
  1713. handNumberCardState:null,
  1714. handNumberCardNote: "",
  1715. //使用人证件
  1716. userCertificateState: null,
  1717. userCertificateNote: "",
  1718. //营业执照
  1719. businessLicenseState: null,
  1720. businessLicenseNote: "",
  1721. //介绍信
  1722. letterIntroductionState: null,
  1723. letterIntroductionNote: "",
  1724. //防诈骗承诺函
  1725. fraudPreventionState: null,
  1726. fraudPreventionNote: "",
  1727. //消费凭证
  1728. consumptionVoucherState: null,
  1729. consumptionVoucherNote: "",
  1730. //承诺视频
  1731. commitmentVideoState: null,
  1732. commitmentVideoNote: "",
  1733. // 其它资料
  1734. notesState: null,
  1735. notesNote: ""
  1736. },
  1737. // 全局是否是在加载中
  1738. uploading: false,
  1739. //上级传参
  1740. query: {
  1741. data: {},
  1742. infoId: "",
  1743. dataId: "",
  1744. },
  1745. // 客户资料信息
  1746. infoModel: {
  1747. // 客户经理手机号
  1748. accountManagerPhone:"",
  1749. // 单位名称
  1750. unitName: "",
  1751. // 材料补不全有特审
  1752. materialLabel: "0",
  1753. // 用户类型
  1754. userLable: "0",
  1755. // 申请复开号码
  1756. openingNumber: "",
  1757. // 申请复开原因
  1758. reasonReopening: "",
  1759. // 客户名称
  1760. customerName: "",
  1761. // 最后一次关停时间
  1762. shutdownTime: "",
  1763. // 关停标签
  1764. shutdownLabel: ['0'],
  1765. // 关停标签-其他
  1766. shutdownLabelOther: "",
  1767. // 系统实名制截图
  1768. nameFindCompliance: [{}],
  1769. // 实名制截图原因
  1770. nameFindComplianceRemark: "",
  1771. // 身份证正反面
  1772. fileListIdCard: [{}],
  1773. fileListIdCardRemark: "",
  1774. // 手持证件半身照片
  1775. handCertificate: [{}],
  1776. handCertificateRemark: "",
  1777. // 防诈骗承若函
  1778. fraudPrevention: [{}],
  1779. fraudPreventionRemark: "",
  1780. // 有无特审单
  1781. specialReviewForm: [{}],
  1782. specialReviewFormRemark: "",
  1783. // 单位户-使用人证件
  1784. userCertificate: [{}],
  1785. userCertificateRemark: "",
  1786. // 单位户-营业执照副本
  1787. businessLicense: [{}],
  1788. businessLicenseRemark: "",
  1789. // 单位户-介绍信
  1790. letterIntroduction: [{}],
  1791. letterIntroductionRemark: "",
  1792. // 个人户-号卡照片
  1793. numberCard: [{}],
  1794. numberCardRemark: "",
  1795. // 个人户-手持号卡照片
  1796. handNumberCard: [{}],
  1797. handNumberCardRemark: "",
  1798. // 消费凭证
  1799. consumptionVoucher: [{}],
  1800. consumptionVoucherRemark: "",
  1801. // 承诺视频
  1802. commitmentVideo: [{}],
  1803. commitmentVideoRemark: "",
  1804. // 其它资料
  1805. notes: [{}],
  1806. notesRemark: "",
  1807. },
  1808. //表单验证
  1809. rules: {
  1810. openingNumber: [
  1811. {required: true, message: '必须输入手机号'},
  1812. ],
  1813. customerName: [
  1814. {required: true, message: '必须输入客户名称'},
  1815. ],
  1816. shutdownTime: [
  1817. {required: true, message: '必须选择关停时间'},
  1818. ]
  1819. },
  1820. labelCol4: {
  1821. labelCol: {
  1822. xs: {span: 24},
  1823. sm: {span: 8},
  1824. },
  1825. wrapperCol: {
  1826. xs: {span: 24},
  1827. sm: {span: 14},
  1828. }
  1829. },
  1830. labelCol1: {
  1831. labelCol: {
  1832. xs: {span: 24},
  1833. sm: {span: 2},
  1834. },
  1835. wrapperCol: {
  1836. xs: {span: 24},
  1837. sm: {span: 22},
  1838. }
  1839. },
  1840. labelCol1Note: {
  1841. labelCol: {
  1842. xs: {span: 24},
  1843. sm: {span: 4},
  1844. },
  1845. wrapperCol: {
  1846. xs: {span: 24},
  1847. sm: {span: 20},
  1848. }
  1849. },
  1850. // 步骤条相关
  1851. steps: {
  1852. // 当前所在第几部
  1853. current: 0,
  1854. currentId: "",
  1855. stepsNow: {},
  1856. steps00: [
  1857. {
  1858. title: '系统实名制截图',
  1859. content: 'First-content',
  1860. id: "nameFindCompliance",
  1861. status: "wait"
  1862. },
  1863. {
  1864. title: '身份证照片/正反面',
  1865. content: 'First-content',
  1866. id: "fileListIdCard",
  1867. status: "wait"
  1868. },
  1869. {
  1870. title: '手持证件半身照片',
  1871. content: 'First-content',
  1872. id: "handCertificate",
  1873. status: "wait"
  1874. },
  1875. {
  1876. title: ' 防诈骗承诺涵(使用人签署)',
  1877. content: 'First-content',
  1878. id: "fraudPrevention",
  1879. status: "wait"
  1880. },
  1881. ],
  1882. // 有特审
  1883. stepsMaterial: [
  1884. {
  1885. title: '特审单',
  1886. content: 'First-content',
  1887. id: "specialReviewForm",
  1888. status: "wait"
  1889. }
  1890. ],
  1891. // 单位户
  1892. stepUserLable1: [
  1893. {
  1894. title: '使用人证件',
  1895. content: 'First-content',
  1896. id: "userCertificate",
  1897. status: "wait"
  1898. },
  1899. {
  1900. title: '营业执照副本(盖公章)',
  1901. content: 'First-content',
  1902. id: "businessLicense",
  1903. status: "wait"
  1904. },
  1905. {
  1906. title: '介绍信',
  1907. content: 'First-content',
  1908. id: "letterIntroduction",
  1909. status: "wait"
  1910. }
  1911. ],
  1912. // 个人户
  1913. stepUserLable0: [
  1914. {
  1915. title: '号卡照片',
  1916. content: 'First-content',
  1917. id: "numberCard",
  1918. status: "wait"
  1919. },
  1920. {
  1921. title: '手持号卡照片',
  1922. content: 'First-content',
  1923. id: "handNumberCard",
  1924. status: "wait"
  1925. },
  1926. ],
  1927. // 材料标签
  1928. shutdownLabel0: [
  1929. {
  1930. title: '消费凭证',
  1931. content: 'First-content',
  1932. id: "consumptionVoucher",
  1933. status: "wait"
  1934. },
  1935. ],
  1936. // 承诺视频
  1937. shutdownLabel5: [
  1938. {
  1939. title: '承诺视频',
  1940. content: 'First-content',
  1941. id: "commitmentVideo",
  1942. status: "wait"
  1943. },
  1944. ],
  1945. },
  1946. }
  1947. },
  1948. computed: {
  1949. importMinioUploadAction() {
  1950. return window._CONFIG['domianURL'] + this.url.minioUpload;
  1951. },
  1952. tokenHeader() {
  1953. let head = {'X-Access-Token': Vue.ls.get(ACCESS_TOKEN)}
  1954. let tenantid = Vue.ls.get(TENANT_ID)
  1955. if (tenantid) {
  1956. head['tenant-id'] = tenantid
  1957. }
  1958. return head;
  1959. }
  1960. },
  1961. props: {},
  1962. watch: {},
  1963. created() {
  1964. // 是否批量上传
  1965. this.batchImproves = this.$route.query.batchImproves;
  1966. // 步骤条默认公用
  1967. this.steps.stepsNow = this.steps.steps00;
  1968. this.steps.currentId = this.steps.stepsNow[0].id
  1969. if (this.batchImproves) {
  1970. //批量上传id
  1971. this.ids = this.$route.query.ids;
  1972. } else {
  1973. //客户ID
  1974. this.query.infoId = this.$route.query.id;
  1975. // 获取客户基础信息
  1976. this.getInfoDataById(this.query.infoId)
  1977. }
  1978. },
  1979. updated() {
  1980. // 实现swiper双向控制
  1981. this.$nextTick(() => {
  1982. const swiperTop = this.$refs.swiperTop.swiper
  1983. const swiperThumbs = this.$refs.swiperThumbs.swiper
  1984. swiperTop.controller.control = swiperThumbs
  1985. swiperThumbs.controller.control = swiperTop
  1986. })
  1987. // /**监听视频拨放*/
  1988. // this.$refs.myVideo.addEventListener("play", () => {
  1989. // this.openTimer();
  1990. // });
  1991. // /**监听视频暂停*/
  1992. // this.$refs.myVideo.addEventListener("pause", () => {
  1993. // this.closeTimer();
  1994. // });
  1995. },
  1996. methods: {
  1997. /**整改->获取稽核结果*/
  1998. findCheckState(id) {
  1999. let that = this;
  2000. let model = {
  2001. "dataId": id,
  2002. }
  2003. postAction(this.url.findCheckState, model)
  2004. .then((res) => {
  2005. if (res.success) {
  2006. if ( res.result == null){
  2007. return
  2008. }
  2009. that.specialResult = res.result;
  2010. // 步骤条
  2011. that.stepLoading();
  2012. // 整改->处理步骤条状态
  2013. for (var i in that.steps.stepsNow) {
  2014. let id = that.steps.stepsNow[i].id;
  2015. if (id == 'fileListIdCard') {
  2016. id = "idCard"
  2017. }
  2018. let specialResultElement = that.specialResult[id + "State"];
  2019. if (specialResultElement == 0) {
  2020. that.steps.stepsNow[i].status = 'error'
  2021. that.steps.stepsNow[i].solution = true
  2022. } else if (specialResultElement == 1) {
  2023. that.steps.stepsNow[i].status = 'finish'
  2024. }
  2025. }
  2026. }
  2027. })
  2028. },
  2029. /**备注监听*/
  2030. textareaChange(name, nameRemark) {
  2031. if (this.infoModel[nameRemark].length > 0) {
  2032. this.steps.stepsNow[this.steps.current].status = "finish"
  2033. } else if (this.infoModel[name].length > 0 && this.infoModel[name][0].urlBase) {
  2034. this.steps.stepsNow[this.steps.current].status = "finish"
  2035. } else {
  2036. this.steps.stepsNow[this.steps.current].status = "wait"
  2037. }
  2038. },
  2039. // 步骤条动态变化
  2040. stepLoading() {
  2041. this.steps.stepsNow = this.steps.stepsNow.splice(0, 4)
  2042. //材料不全有特审步骤条
  2043. this.stepsMaterialLabel()
  2044. /**用户标签点击事件*/
  2045. this.userLableClick()
  2046. /**材料标签点击事件*/
  2047. this.shutdownLabelClick()
  2048. /**其它材料*/
  2049. console.log(this.specialResult.notesState)
  2050. if ((this.infoModel.notes && this.infoModel.notes != "" && this.infoModel.notes[0].url) || this.specialResult.notesState != null ) {
  2051. this.steps.stepsNow.push(
  2052. {
  2053. title: ' 其它资料(非必传)',
  2054. content: 'First-content',
  2055. id: "notes",
  2056. status: "wait"
  2057. })
  2058. }
  2059. },
  2060. //材料不全有特审步骤条
  2061. stepsMaterialLabel() {
  2062. if (this.infoModel.materialLabel == "0") {
  2063. let stepsMaterial = this.steps.stepsMaterial;
  2064. for (var i in stepsMaterial) {
  2065. this.steps.stepsNow.push(stepsMaterial[i])
  2066. }
  2067. }
  2068. },
  2069. /**用户标签点击事件*/
  2070. userLableClick() {
  2071. var that = this;
  2072. //材料不全有特审步骤条
  2073. //that.stepsMaterialLabel();
  2074. let userLable = that.infoModel.userLable;
  2075. switch (userLable) {
  2076. case "0":
  2077. //个人户
  2078. let stepUserLable0 = this.steps.stepUserLable0;
  2079. for (var i in stepUserLable0) {
  2080. this.steps.stepsNow.push(stepUserLable0[i])
  2081. }
  2082. break
  2083. case "1":
  2084. //单位户
  2085. let stepUserLable1 = this.steps.stepUserLable1;
  2086. for (var j in stepUserLable1) {
  2087. this.steps.stepsNow.push(stepUserLable1[j])
  2088. }
  2089. break
  2090. }
  2091. },
  2092. /**材料标签点击事件*/
  2093. shutdownLabelClick() {
  2094. var that = this;
  2095. //材料不全有特审步骤条
  2096. //that.stepsMaterialLabel();
  2097. let shutdownLabel = that.infoModel.shutdownLabel;
  2098. // 其它包含所有
  2099. if (shutdownLabel.indexOf("0") > -1) {
  2100. let shutdownLabel0 = this.steps.shutdownLabel0;
  2101. for (var i in shutdownLabel0) {
  2102. this.steps.stepsNow.push(shutdownLabel0[i])
  2103. }
  2104. }
  2105. },
  2106. /**移除文件*/
  2107. removeFile(fileData, fileAttribute) {
  2108. let that = this.infoModel;
  2109. //处理轮播数据
  2110. let swiperImg = that[fileAttribute];
  2111. if (swiperImg) {
  2112. let number = swiperImg.indexOf(fileData);
  2113. swiperImg.splice(number, 1)
  2114. if (swiperImg.length == 0) {
  2115. swiperImg.push({})
  2116. let textId = fileAttribute + "Remark";
  2117. if (this.infoModel[textId].trim() > 0) {
  2118. this.steps.stepsNow[this.steps.current].status = "finish"
  2119. } else {
  2120. this.steps.stepsNow[this.steps.current].status = "wait"
  2121. }
  2122. } else {
  2123. this.steps.stepsNow[this.steps.current].status = "finish"
  2124. }
  2125. that[fileAttribute] = swiperImg
  2126. }
  2127. },
  2128. /**自定义的上传文件方法*/
  2129. selfUploadContract(data, fileAttribute) {
  2130. var that = this;
  2131. if (data.file) {
  2132. let formData = new FormData();
  2133. formData.append('file', data.file)
  2134. postAction(this.url.minioUpload, formData).then((res) => {
  2135. if (res.success) {
  2136. that.swiperId = that.swiperId + 1;
  2137. //文件链接
  2138. let filePath = res.message;
  2139. let swipData = {
  2140. id: that.swiperId,
  2141. urlBase: window._CONFIG['onlinePreviewDomainURL'] + '?url='
  2142. + encodeURIComponent(
  2143. Base64.encode(
  2144. (filePath)
  2145. )),
  2146. url: filePath,
  2147. fileName: data.file.name
  2148. }
  2149. if (that.infoModel[fileAttribute][0].urlBase) {
  2150. that.infoModel[fileAttribute].push(swipData)
  2151. } else {
  2152. that.infoModel[fileAttribute] = []
  2153. //数据发生变化
  2154. that.infoModel[fileAttribute][0] = swipData;
  2155. }
  2156. // 改变步骤条状态
  2157. if (that.infoModel[fileAttribute].length > 0) {
  2158. that.steps.stepsNow[that.steps.current].status = "finish"
  2159. } else {
  2160. that.steps.stepsNow[that.steps.current].status = "wait"
  2161. }
  2162. }
  2163. })
  2164. }
  2165. },
  2166. /**文件格式限制*/
  2167. importBeforeUpload(file) {
  2168. var fileType = file.type;
  2169. if (fileType === 'image') {
  2170. if (fileType.indexOf('image') < 0) {
  2171. this.$message.warning('请上传图片');
  2172. return false;
  2173. }
  2174. } else if (fileType === 'file') {
  2175. if (fileType.indexOf('image') >= 0) {
  2176. this.$message.warning('请上传文件');
  2177. return false;
  2178. }
  2179. }
  2180. return true
  2181. },
  2182. /**文件上传成功后回调*/
  2183. importHandleChange(info) {
  2184. },
  2185. getDataNow() {
  2186. let that = this
  2187. let infoModel = that.infoModel
  2188. var data = {
  2189. "infoIds": that.ids,
  2190. "infoId": that.query.infoId,
  2191. // 用户标签
  2192. "userLable": infoModel.userLable,
  2193. // 关停标签
  2194. "shutdownLabel": infoModel.shutdownLabel,
  2195. // 关停标签其他-名称
  2196. "shutdownLabelOther": infoModel.shutdownLabelOther,
  2197. // 最后一次关停时间
  2198. "shutdownTime": infoModel.shutdownTime,
  2199. // 申请复开原因
  2200. "reasonReopening": infoModel.reasonReopening,
  2201. // 材料标签选择
  2202. "materialLabel": infoModel.materialLabel,
  2203. // 单位名称
  2204. "unitName": infoModel.unitName,
  2205. // 身份证正反面
  2206. idCard: this.urlBaseJoin(infoModel.fileListIdCard, "url"),
  2207. idCardRemark: infoModel.fileListIdCardRemark,
  2208. // 手持证件半身照片
  2209. handCertificate: this.urlBaseJoin(infoModel.handCertificate, "url"),
  2210. handCertificateRemark: infoModel.handCertificateRemark,
  2211. // 号卡照片
  2212. numberCard: this.urlBaseJoin(infoModel.numberCard, "url"),
  2213. numberCardRemark: infoModel.numberCardRemark,
  2214. // 防诈骗承诺函
  2215. fraudPrevention: this.urlBaseJoin(infoModel.fraudPrevention, "url"),
  2216. fraudPreventionRemark: infoModel.fraudPreventionRemark,
  2217. // 营业执照副本
  2218. businessLicense: this.urlBaseJoin(infoModel.businessLicense, "url"),
  2219. businessLicenseRemark: infoModel.businessLicenseRemark,
  2220. // 介绍信
  2221. letterIntroduction: this.urlBaseJoin(infoModel.letterIntroduction, "url"),
  2222. letterIntroductionRemark: infoModel.letterIntroductionRemark,
  2223. // 使用人证件
  2224. userCertificate: this.urlBaseJoin(infoModel.userCertificate, "url"),
  2225. userCertificateRemark: infoModel.userCertificateRemark,
  2226. // 消费凭证
  2227. consumptionVoucher: this.urlBaseJoin(infoModel.consumptionVoucher, "url"),
  2228. // 消费凭证备注
  2229. consumptionVoucherRemark: infoModel.consumptionVoucherRemark,
  2230. // 承诺视频
  2231. commitmentVideo: this.urlBaseJoin(infoModel.commitmentVideo, "url"),
  2232. // 承诺视频备注
  2233. commitmentVideoRemark: infoModel.commitmentVideoRemark,
  2234. // 系统实名制截图
  2235. nameFindCompliance: this.urlBaseJoin(infoModel.nameFindCompliance, "url"),
  2236. // 系统实名制截图备注
  2237. nameFindComplianceRemark: infoModel.nameFindComplianceRemark,
  2238. // 特审单
  2239. specialReviewForm: this.urlBaseJoin(infoModel.specialReviewForm, "url"),
  2240. // 特审单备注
  2241. specialReviewFormRemark: infoModel.specialReviewFormRemark,
  2242. }
  2243. return data;
  2244. },
  2245. /**提交申请事件*/
  2246. submitAuditLot() {
  2247. //材料不全有特审
  2248. if (this.infoModel.materialLabel == '0' || this.infoModel.materialLabel == '999') {
  2249. if ((this.infoModel.specialReviewForm.length == 0 || !this.infoModel.specialReviewForm[0].urlBase) && this.infoModel.specialReviewFormRemark.length == 0) {
  2250. this.$warning({
  2251. title: '提示',
  2252. content: '材料不全请上特审单',
  2253. })
  2254. return;
  2255. }
  2256. }
  2257. //系统实名制截图
  2258. if ((this.infoModel.nameFindCompliance.length == 0 || !this.infoModel.nameFindCompliance[0].urlBase) && this.infoModel.nameFindComplianceRemark.length == 0) {
  2259. this.$warning({
  2260. title: '提示',
  2261. content: '请上传系统实名制截图,如没有截图则填写备注信息',
  2262. })
  2263. return
  2264. }
  2265. // 有特审 不需要上传全部材料, 无特审 需要上传全部材料
  2266. if ((this.infoModel.materialLabel == '1' || this.infoModel.materialLabel == '999') &&
  2267. (
  2268. ((this.infoModel.fileListIdCard.length == 0 || !this.infoModel.fileListIdCard[0].urlBase) && this.infoModel.fileListIdCardRemark.length == 0)
  2269. ||
  2270. ((this.infoModel.handCertificate.length == 0 || !this.infoModel.handCertificate[0].urlBase) && this.infoModel.handCertificateRemark.length == 0)
  2271. ||
  2272. ((this.infoModel.numberCard.length == 0 || !this.infoModel.numberCard[0].urlBase) && (this.infoModel.numberCardRemark.length == 0))
  2273. ||
  2274. ((this.infoModel.letterIntroduction.length == 0 || !this.infoModel.letterIntroduction[0].urlBase) && this.infoModel.letterIntroductionRemark.length == 0)
  2275. )
  2276. ) {
  2277. this.$warning({
  2278. title: '提示',
  2279. content: '无特审,请上传全部材料',
  2280. })
  2281. return
  2282. }
  2283. let data = this.getDataNow();
  2284. let url = this.url.editInfo;
  2285. // 是否批量提交
  2286. if (this.batchImproves) {
  2287. url = this.url.batchEditInfo;
  2288. }
  2289. this.uploading = true;
  2290. httpAction(url, data, "POST")
  2291. .then((res) => {
  2292. if (res.success) {
  2293. this.uploading = false;
  2294. this.$message.success("提交成功");
  2295. this.$router.go(-1);
  2296. this.closeCurrent();
  2297. } else {
  2298. this.uploading = false;
  2299. this.$error({
  2300. title: '提示',
  2301. content: res.message,
  2302. })
  2303. }
  2304. }).finally(() => {
  2305. this.uploading = false;
  2306. })
  2307. },
  2308. /**提交稽核*/
  2309. submitSpecial() {
  2310. let that = this
  2311. let specialResult = that.specialResult;
  2312. let materialLabel = that.infoModel.materialLabel;
  2313. let userLable = that.infoModel.userLable;
  2314. //必稽核项
  2315. if (specialResult.basicInfoState == null || specialResult.nameFindComplianceState == null
  2316. || specialResult.idCardState == null || specialResult.handCertificateState == null ||
  2317. specialResult.fraudPreventionState == null) {
  2318. that.$message.warn("请完成相关稽核");
  2319. return;
  2320. }
  2321. if (that.infoModel.notes && that.infoModel.notes[0].url ){
  2322. if (specialResult.notesState == null){
  2323. that.$message.warn("请完成相关稽核");
  2324. return;
  2325. }
  2326. }
  2327. //有无特审单
  2328. if (materialLabel == '0') {
  2329. if (specialResult.specialReviewFormState == null) {
  2330. that.$message.warn("请完成相关稽核");
  2331. return;
  2332. }
  2333. }else {
  2334. this.specialResult.specialReviewFormState = null
  2335. }
  2336. // 个人户
  2337. if (userLable == '0') {
  2338. if (specialResult.numberCardState == null) {
  2339. that.$message.warn("请完成相关稽核");
  2340. return;
  2341. }
  2342. if (specialResult.handNumberCardState == null) {
  2343. that.$message.warn("请完成相关稽核");
  2344. return;
  2345. }
  2346. }else {
  2347. this.specialResult.numberCardState = null;
  2348. this.specialResult.handNumberCardState = null;
  2349. }
  2350. // 单位户
  2351. if (userLable == '1') {
  2352. if (specialResult.userCertificateState == null || specialResult.businessLicenseState == null
  2353. || specialResult.letterIntroductionState == null) {
  2354. that.$message.warn("请完成相关稽核");
  2355. return;
  2356. }
  2357. }else {
  2358. this.specialResult.userCertificateState = null;
  2359. this.specialResult.businessLicenseState = null;
  2360. this.specialResult.letterIntroductionState = null;
  2361. }
  2362. // 关停标签 -> 安防停机(高危漫游地)
  2363. if (this.infoModel.shutdownLabel.indexOf('0') > -1 && specialResult.consumptionVoucherState == null ) {
  2364. that.$message.warn("请完成相关稽核");
  2365. return;
  2366. }
  2367. if (this.infoModel.shutdownLabel.indexOf('0') == -1){
  2368. that.specialResult.consumptionVoucherState = null
  2369. }
  2370. let SpecialParams = {}
  2371. console.log(that.specialResult)
  2372. SpecialParams = that.specialResult
  2373. SpecialParams['dataId'] = that.query.dataId
  2374. SpecialParams['infoId'] = that.query.infoId
  2375. postAction(that.url.submitSpecial, SpecialParams).then(res => {
  2376. if (res.success) {
  2377. this.$message.success("稽核完成");
  2378. this.$router.go(-1);
  2379. this.closeCurrent();
  2380. }
  2381. }).finally(() => {
  2382. })
  2383. },
  2384. /**步骤条点击事件*/
  2385. stepsClick(current) {
  2386. this.steps.current = current;
  2387. this.steps.currentId = this.steps.stepsNow[current].id
  2388. for (var i in this.steps.stepsNow) {
  2389. if (this.steps.stepsNow[i].status == 'error' || this.steps.stepsNow[i].status == "finish") {
  2390. continue;
  2391. }
  2392. if (this.steps.stepsNow[i].status != "finish") {
  2393. this.steps.stepsNow[i].status = "wait"
  2394. }
  2395. }
  2396. if (this.steps.stepsNow[current].status != "error" && this.steps.stepsNow[current].status != "finish") {
  2397. this.steps.stepsNow[current].status = "process"
  2398. }
  2399. },
  2400. /**返回上一级*/
  2401. back() {
  2402. this.$router.go(-1);
  2403. //关闭当前页
  2404. this.closeCurrent();
  2405. },
  2406. /**获取客户信息*/
  2407. getInfoDataById(id) {
  2408. var that = this;
  2409. if (id) {
  2410. var data = {
  2411. "id": id,
  2412. }
  2413. getAction(this.url.getInfoDataById, data).then((res) => {
  2414. if (res.success) {
  2415. let result = res.result;
  2416. // 复开号码
  2417. that.infoModel.openingNumber = result.smsNumber
  2418. // 机主姓名
  2419. that.infoModel.customerName = result.customerName
  2420. // 有无特殊审单
  2421. that.infoModel.materialLabel = result.materialLabel == "无" ? "1" : "0"
  2422. // 客户经理手机号
  2423. that.infoModel.accountManagerPhone = result.accountManagerPhone;
  2424. // 获取客户文件信息
  2425. that.getInfoSpecialData(this.query.infoId);
  2426. }
  2427. })
  2428. }
  2429. },
  2430. /**获取特审复开数据*/
  2431. getInfoSpecialData(infoId) {
  2432. let that = this;
  2433. let infoModel = that.infoModel;
  2434. postAction(that.url.getSpecialByinfoId, {infoId}).then((res) => {
  2435. if (res.result != null) {
  2436. let result = res.result;
  2437. that.query.dataId = result.id;
  2438. // 单位名称
  2439. infoModel.unitName = result.unitName;
  2440. // 身份证正反面
  2441. infoModel.fileListIdCard = that.packageArr(result.idCard);
  2442. infoModel.fileListIdCardRemark = result.idCardRemark;
  2443. // 系统实名制截图
  2444. infoModel.nameFindCompliance = that.packageArr(result.nameFindCompliance)
  2445. infoModel.nameFindComplianceRemark = result.nameFindComplianceRemark;
  2446. // 手持证件半身照片
  2447. infoModel.handCertificate = that.packageArr(result.handCertificate)
  2448. infoModel.handCertificateRemark = result.handCertificateRemark
  2449. // 防诈骗承若函
  2450. infoModel.fraudPrevention = that.packageArr(result.fraudPrevention)
  2451. infoModel.fraudPreventionRemark = result.fraudPreventionRemark
  2452. // 有无特审单
  2453. infoModel.specialReviewForm = that.packageArr(result.specialReviewForm)
  2454. infoModel.specialReviewFormRemark = result.specialReviewFormRemark
  2455. // 使用人证件
  2456. infoModel.userCertificate = that.packageArr(result.userCertificate)
  2457. infoModel.userCertificateRemark = result.userCertificateRemark
  2458. // 单位户-营业执照副本
  2459. infoModel.businessLicense = that.packageArr(result.businessLicense)
  2460. infoModel.businessLicenseRemark = result.businessLicenseRemark
  2461. // 单位户-介绍信
  2462. infoModel.letterIntroduction = that.packageArr(result.letterIntroduction)
  2463. infoModel.letterIntroductionRemark = result.letterIntroductionRemark
  2464. // 个人户-号卡照片
  2465. infoModel.numberCard = that.packageArr(result.numberCard)
  2466. infoModel.numberCardRemark = result.numberCardRemark
  2467. // 个人户-手持号卡照片
  2468. infoModel.handNumberCard = that.packageArr(result.handNumberCard)
  2469. infoModel.handNumberCardRemark = result.handNumberCardRemark
  2470. // 消费凭证
  2471. infoModel.consumptionVoucher = that.packageArr(result.consumptionVoucher)
  2472. infoModel.consumptionVoucherRemark = result.consumptionVoucherRemark
  2473. // 承诺视频
  2474. infoModel.commitmentVideo = that.packageArr(result.commitmentVideo)
  2475. infoModel.commitmentVideoRemark = result.commitmentVideoRemark
  2476. // 用户标签
  2477. infoModel.userLable = result.userLable.toString()
  2478. // 关停标签
  2479. infoModel.shutdownLabel = result.shutdownLabel.toString()
  2480. // 关停标签其他-名称
  2481. infoModel.shutdownLabelOther = result.shutdownLabelOther
  2482. // 最后一次关停时间
  2483. infoModel.shutdownTime = result.shutdownTime
  2484. // 申请复开原因
  2485. infoModel.reasonReopening = result.reasonReopening
  2486. // 其它材料
  2487. infoModel.notes = that.packageArr(result.notes);
  2488. infoModel.notesRemark = result.notesRemark;
  2489. that.infoModel = infoModel
  2490. that.findCheckState(result.id)
  2491. }
  2492. })
  2493. },
  2494. // 照片格式转换
  2495. urlBaseJoin(dataArray, name) {
  2496. let newDataArr = [];
  2497. for (var i in dataArray) {
  2498. let dataArrayElementElement = dataArray[i][name];
  2499. newDataArr.push(dataArrayElementElement);
  2500. }
  2501. return newDataArr.toString();
  2502. },
  2503. /**包装轮播数据*/
  2504. packageArr(data) {
  2505. let id = 0;
  2506. let newArr = []
  2507. if (data == null || data.length == 0) {
  2508. newArr.push({})
  2509. return newArr;
  2510. }
  2511. let splice = data.split(",");
  2512. for (var i in splice) {
  2513. id = id + 1;
  2514. let filePath = splice[i];
  2515. if (filePath == "") {
  2516. break;
  2517. }
  2518. let fileName = filePath.split("/");
  2519. fileName = fileName[fileName.length - 1];
  2520. let swipData = {
  2521. id: id,
  2522. urlBase: window._CONFIG['onlinePreviewDomainURL'] + '?url='
  2523. + encodeURIComponent(
  2524. Base64.encode(
  2525. (filePath)
  2526. )),
  2527. url: filePath,
  2528. fileName: fileName
  2529. }
  2530. newArr.push(swipData);
  2531. }
  2532. return newArr;
  2533. },
  2534. /**节点状态*/
  2535. basicCheckClick(state) {
  2536. let boolean = state == "1" ? true : false;
  2537. if (boolean) {
  2538. this.steps.stepsNow[this.steps.current]["status"] = "finish";
  2539. } else {
  2540. this.steps.stepsNow[this.steps.current]["status"] = "error";
  2541. }
  2542. },
  2543. // 点击方法 url为传入的第三方链接或网址 如'www.baidu.com' url前面不要加协议哦!
  2544. jumpUrl(url) {
  2545. var a = document.createElement("a");
  2546. a.setAttribute("href", url);
  2547. a.setAttribute("target", "_blank");
  2548. a.click();
  2549. },
  2550. }
  2551. }
  2552. </script>
  2553. <style lang="less">
  2554. .ant-input[disabled] {
  2555. color: #1e80ff;
  2556. background-color: #f5f5f5;
  2557. cursor: not-allowed;
  2558. opacity: 1;
  2559. }
  2560. .ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked {
  2561. color: #fff;
  2562. background-color: #1e80ff;
  2563. border-color: #d9d9d9;
  2564. box-shadow: none;
  2565. }
  2566. </style>
  2567. <style lang="less">
  2568. #common-video {
  2569. position: relative;
  2570. .video-box {
  2571. box-sizing: border-box;
  2572. border: 0;
  2573. display: block;
  2574. width: 470px;
  2575. height: 500px;
  2576. outline: none !important;
  2577. }
  2578. .isShow {
  2579. //进度条
  2580. video::-webkit-media-controls-timeline {
  2581. display: none;
  2582. }
  2583. }
  2584. video::-webkit-media-controls-play-button {
  2585. visibility: hidden;
  2586. }
  2587. .operate-btn {
  2588. display: block;
  2589. width: 60px;
  2590. height: 60px;
  2591. position: absolute;
  2592. top: calc(50% - 30px);
  2593. left: calc(50% - 30px);
  2594. }
  2595. .operate-btn:hover {
  2596. opacity: 0.8;
  2597. }
  2598. .fade-out {
  2599. opacity: 0;
  2600. }
  2601. }
  2602. .thumb-example {
  2603. width: 80%;
  2604. margin-top: 20px;
  2605. // background: #000;
  2606. }
  2607. .swiper-slide {
  2608. background-size: cover;
  2609. background-position: center;
  2610. }
  2611. .gallery-top {
  2612. // height: 80% !important;
  2613. /*height: 600px;*/
  2614. width: 100%;
  2615. margin-bottom: 30px
  2616. }
  2617. .gallery-thumbs {
  2618. height: 20% !important;
  2619. box-sizing: border-box;
  2620. padding: 10px 0px;
  2621. /* width: 864px;*/
  2622. margin-left: 2px;
  2623. .swiper-button-next {
  2624. right: 0px;
  2625. }
  2626. .swiper-button-prev {
  2627. left: 0px;
  2628. }
  2629. .swiper-button-next,
  2630. .swiper-button-prev {
  2631. background: #fff;
  2632. width: 45px;
  2633. text-align: center;
  2634. height: 101px;
  2635. top: 26%;
  2636. div {
  2637. margin-top: 30px;
  2638. background: rgb(207, 205, 205);
  2639. height: 45px;
  2640. border-radius: 50%;
  2641. img {
  2642. margin: 7px 0 0 2px;
  2643. width: 30px;
  2644. }
  2645. }
  2646. }
  2647. .swiper-button-next:hover div {
  2648. background: rgb(189, 186, 186);
  2649. }
  2650. .swiper-button-prev:hover div {
  2651. background: rgb(189, 186, 186);
  2652. }
  2653. }
  2654. .gallery-thumbs .swiper-slide {
  2655. width: 20%;
  2656. height: 80px;
  2657. // opacity: 0.4;
  2658. }
  2659. .gallery-thumbs .swiper-slide-active {
  2660. border: 2px solid red;
  2661. }
  2662. .markdown ul > li {
  2663. color: #000000d9;
  2664. font-size: 15px;
  2665. line-height: 3;
  2666. margin-left: 20px;
  2667. padding-left: 4px;
  2668. list-style-type: circle;
  2669. }
  2670. .file-div-minio-upload {
  2671. height: 100%;
  2672. position: relative;
  2673. left: 10%
  2674. }
  2675. .cornflowerblue {
  2676. color: cornflowerblue;
  2677. }
  2678. .font-size-14 {
  2679. font-size:14px
  2680. }
  2681. </style>