details.vue 57 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672
  1. <template>
  2. <view class="details">
  3. <view class="zxtop">
  4. <!-- 风险部 -->
  5. <view class="failtit" v-if="datainfo.auditType==4">该业务申请未通过审核,可完善信息后进行申诉</view>
  6. <view class="detop">
  7. <!-- 归档 归档后没有业务进度-->
  8. <image :src="gdicoimg" class="gdimg" v-if="datainfo.loanApplicationType==4"></image>
  9. <block v-else>
  10. <view class="speed" v-if="checkPermi(['system:schedule:list'])" @click="getSpeedFn" :style="type=='ywjd'?'z-index: 6;':''">
  11. <image :src="speedimg"></image>
  12. <view>业务</view>
  13. <view>进度</view>
  14. </view>
  15. </block>
  16. <view class="head">
  17. <view class="top">
  18. <view class="toptit">{{datainfo.enterpriseName}}</view>
  19. <view class="statbox" v-if="datainfo.isNew=='Y'">专精特新<image :src="start"></image></view>
  20. </view>
  21. <view class="adr">贷款编号 | {{datainfo.loanApplicationNumber}}</view>
  22. <view class="adr">企业地址 | {{datainfo.enterpriseName}}</view>
  23. <view class="adr">申报时间 | {{datainfo.applicationTime}}</view>
  24. <view class="adr" v-if="datainfo.actuallyAmount">放贷金额 | {{datainfo.actuallyAmount}}(万元)</view>
  25. <view class="adr" v-if="datainfo.actuallyTime">放款时间 | {{datainfo.actuallyTime}}</view>
  26. <view class="adr" v-if="datainfo.fileTime">归档时间 | {{datainfo.fileTime}}</view>
  27. </view>
  28. <view class="deta">
  29. <view class="lists">
  30. <view class="tit">申请额度</view>
  31. <view class="txt">{{datainfo.applicationAmount}}<text>/万元</text></view>
  32. </view>
  33. <view class="lists">
  34. <view class="tit">使用期限</view>
  35. <view class="txt">{{datainfo.usagePeriod}}<text>/个月</text></view>
  36. </view>
  37. <view class="lists">
  38. <view class="tit">申贷银行</view>
  39. <view class="txt">{{kaType(datainfo.applicationBank,sdyhlist)}}</view>
  40. </view>
  41. <view class="lists">
  42. <view class="tit">资金用途</view>
  43. <view class="txt">{{datainfo.purposeFunds}}</view>
  44. </view>
  45. <view class="lists">
  46. <view class="tit">还款来源</view>
  47. <view class="txt">{{datainfo.repaymentSource}}</view>
  48. </view>
  49. <view class="lists">
  50. <view class="tit">担保类型</view>
  51. <view class="txt">{{statusFormats(datainfo.guaranteeType,dblxlist)}}</view>
  52. </view>
  53. </view>
  54. </view>
  55. </view>
  56. <view class="main">
  57. <!-- tab -->
  58. <view class="tabs" :class="fixedflag?'tabfix':''">
  59. <!-- 保后信息 -->
  60. <template v-if="pfrom=='bhxx'">
  61. <block v-for="(ite,idx) in tabLists" :key="idx">
  62. <view v-if="!ite.limit||ite.limit&&!ite.limita&&checkPermi([ite.limit])||ite.limita&&ite.limit&&checkPermi([ite.limit])&&checkPermi([ite.limita])" class="tab" :class="tabval==ite.val?'act':''" @click="getTab(ite.val)">{{ite.tit}}</view>
  63. </block>
  64. </template>
  65. <template v-else>
  66. <block v-for="(ite,idx) in tabList" :key="idx">
  67. <view v-if="!ite.limit||ite.limit&&!ite.limita&&checkPermi([ite.limit])||ite.limita&&ite.limit&&checkPermi([ite.limit])&&checkPermi([ite.limita])" class="tab" :class="tabval==ite.val?'act':''" @click="getTab(ite.val)">{{ite.tit}}</view>
  68. </block>
  69. </template>
  70. </view>
  71. <view style="height:116rpx;" v-if="fixedflag"></view>
  72. <!-- 企业信息 -->
  73. <view class="mainb" :style="'min-height: ' + minheight + 'px;'">
  74. <block v-if="tabval==0">
  75. <aqyxx @getDown="getDown" :qyinfo="qyinfo" :datainfo="datainfo" :basicFj="basicFj" ></aqyxx>
  76. </block>
  77. <block v-if="tabval==1">
  78. <bfrxx @getDown="getDown" :datainfo="datainfo" :yhlxlist="yhlxlist" :hyztlist="hyztlist" :basicFj="basicFj"></bfrxx>
  79. </block>
  80. <block v-if="tabval==2">
  81. <cfdbrxx @getDown="getDown" :datainfo="datainfo" :fdarlist="fdarlist" :fdaqylist="fdaqylist" :hyztlist="hyztlist" :basicFj="basicFj"></cfdbrxx>
  82. </block>
  83. <block v-if="tabval==3">
  84. <dfjxx @getDown="getDown" :datainfo="datainfo" :declareFj="declareFj" :sbfjlist="sbfjlist" @getXzFn="getXzFn"></dfjxx>
  85. </block>
  86. <block v-if="tabval==4">
  87. <ewjcj @getDown="getDown" :pfrom="pfrom" @getQmFn="getQmFn" :datainfo="datainfo" @getDelwjFj="getDelwjFj" @getfjXiu="getfjXiu" @getfjEdit="getfjEdit" @getQtfjEdit="getQtfjEdit" :wjcjlist="wjcjlist" :qtfileFj="datainfo.otherFj" :fileFj="datainfo.fileFj"></ewjcj>
  88. </block>
  89. <block v-if="tabval==5">
  90. <fshxx @getDown="getDown" :shztlist="shztlist" :shjdlist="shjdlist" :datalist="shlist" ></fshxx>
  91. </block>
  92. <!-- 投票结果 -->
  93. <block v-if="tabval==6">
  94. <gtpjg :datalist="tplist"></gtpjg>
  95. </block>
  96. <!-- 保后信息 -->
  97. <block v-if="tabval==7">
  98. <hbgxx @getDown="getDown" :pfrom="pfrom" @getQmFn="getQmFn" :datainfo="datainfo" @getDelwjFj="getDelwjFj" @getBhqtfjEdit="getBhqtfjEdit" :bhxxlist="bhxxlist" :fileFj="datainfo.backFj"></hbgxx>
  99. </block>
  100. </view>
  101. <!-- 法人信息 -->
  102. </view>
  103. <block v-if="datainfo.loanApplicationType!=4&&tabval!=5&&datainfo.loanApplicationType!=3||pfrom=='bhxx'">
  104. <view class="h50"></view>
  105. <view class="footbtns" >
  106. <!-- (业务进度表查询进度列表):1:申报提交 stepval 4,7,8,9,没有通过不通过
  107. 2:业务审核/分配
  108. 3:担保初审
  109. 4:初审风险合规
  110. 5:尽职调查
  111. 6:评审会
  112. 7:合同签约
  113. 8:放款合规风险审核
  114. 9:放款通知
  115. 10:归档 -->
  116. <!-- 审核进度 auditSchedule
  117. 1:业务审核/分配
  118. 2:A角色审核
  119. 3:B角色审核
  120. 4:风险审核
  121. 5:初审风险合规
  122. 6:尽职调查
  123. 7:上会评审 -->
  124. <!-- 申请审核 start-->
  125. <!-- 投票 -->
  126. <!-- 董事长一键否决 -->
  127. <view class="fbtns bgb" v-if="checkPermi(['c:conference:finish'])&&pfrom!='bhxx'" @click="getVoteFinish">一键否决</view>
  128. <template v-if="pfrom=='vote'">
  129. <view class="fbtns bga" v-if="checkPermi(['c:conference:vote'])&&(datainfo.votingResult==4||datainfo.votingResult==1)" @click="getShFn('shshtp')">投票</view>
  130. <!-- 管理员重新投票 只有需要重新投票才会出现 -->
  131. <view class="fbtns bga" v-if="checkRole(['manager'])&&stepval==6&&datainfo.votingResult==3&&checkPermi(['c:conference:again'])" @click="getShFn('cxtp')">重新投票</view>
  132. </template>
  133. <template v-else-if="pfrom=='bhxx'">
  134. <block v-if="checkPermi(['system:fj:add'])">
  135. <!-- 图片,财务报表 -->
  136. <!-- <view class="fbtns bga" @click="getShFn('bhsc')">保后调查</view> -->
  137. <view class="fbtns bgb" @click="getBhqtfjEdit('shchzhp')">生产照片</view>
  138. <view class="fbtns bga" @click="getBhqtfjEdit('cwbb')">财务报表</view>
  139. <!-- 其他附件 -->
  140. <view class="fbtns bgb" @click="getBhqtfjEdit('qtfj')" v-if="checkPermi(['system:fj:add'])">上传其他附件</view>
  141. </block>
  142. <!-- 出具 -->
  143. <view class="fbtns bgd" @click="getMoreFn('cjbh')">出具</view>
  144. </template>
  145. <template v-else>
  146. <!-- a角色,管理员和可以全程修改 -->
  147. <view class="fbtns bge" v-if="checkPermi(['system:application:edit'])&&(stepval<3||userId==datainfo.aUserId&&stepval>2||checkPermi(['*:*:*']))" @click="getedit">修改</view>
  148. <view class="fbtns bgc" v-if="checkPermi(['system:application:remove'])&&stepval<3" @click="getDel">删除</view>
  149. <!-- 申诉状态除了修改,都不给 -->
  150. <block v-if="datainfo.auditType!=4&&checkPermi(['system:application:sh'])&&datainfo.loanApplicationType==2">
  151. <!-- checkRole(['auditing_risk']) 风险角色 -->
  152. <view class="fbtns bga" v-if="auditSchedule==1&&checkRole(['manager'])" @click="getShFn('sh')">审核</view>
  153. <view class="fbtns bga" v-if="auditSchedule==4&&datainfo.auditType!=4&&userId==datainfo.fUserId" @click="getShFn('fxsh')">风险审核</view>
  154. <!-- end -->
  155. <!-- a,b角按钮 start-->
  156. <view class="fbtns bga" v-if="userId==datainfo.aUserId&&auditSchedule==6" @click="getShFn('jztcsh')">尽职调查反馈</view>
  157. <view class="fbtns bga" v-if="userId==datainfo.aUserId&&auditSchedule==2&&datainfo.auditType==1" @click="getShFn('ajssh')">审核</view>
  158. <view class="fbtns bga" v-if="userId==datainfo.bUserId&&auditSchedule==3" @click="getShFn('bjssh')">审核</view>
  159. </block>
  160. <!-- 风险上传风险报告 v-if="auditSchedule==6"-->
  161. <view class="fbtns bga" v-if="auditSchedule==6&&userId==datainfo.fUserId" @click="getfjEdit('fxbg')">上传风险调查报告</view>
  162. <!-- 审核后 -->
  163. <!-- 未通过申诉 风险不通过,上会不通过-->
  164. <!-- 撤销, 业务分配,a,b角撤销 -->
  165. <!-- 只有上会才有申诉弹窗 -->
  166. <block v-if="checkPermi(['system:application:ss'])&&datainfo.auditType==4&&(userId==datainfo.aUserId||userId==datainfo.bUserId)">
  167. <view class="fbtns bga" v-if="stepval==6" @click="getShFn('sssh')">申诉</view>
  168. <view class="fbtns bga" v-else @click="getSsFn">申诉</view>
  169. </block>
  170. <!-- 回收站,暂存,归档不能撤 项目进度是申报提交-->
  171. <!-- 撤销,管理员在 a待审核 可以撤,
  172. a,b角是自己的时候可以撤
  173. -->
  174. <!-- end -->
  175. <!-- 风险部门 start-->
  176. <block v-if="stepval==4&&userId==datainfo.fUserId">
  177. <view class="fbtns bgb" v-if="checkPermi(['system:hyperlink:list'])" @click="getMoreFn('wb')">外部工具平台</view>
  178. <!-- 初审风险审核 -->
  179. <view class="fbtns bga" @click="getShFn('fxbmsh')" v-if="checkPermi(['system:application:sh'])&&datainfo.auditType!=4">审核</view>
  180. </block>
  181. <!-- end -->
  182. <!-- 上会管理员 start -->
  183. <block v-if="stepval==6&&checkRole(['manager'])&&datainfo.auditType!=4">
  184. <view class="fbtns bga" v-if="datainfo.reviewSchedule==1" @click="getShFn('shshty')">上会审核</view>
  185. <!-- 专门账号处理商行时间 -->
  186. <view class="fbtns bga" v-if="datainfo.reviewSchedule==3" @click="getShFn('shsh')">上会日期</view>
  187. <!-- <view class="fbtns bga" v-if="checkPermi(['c:conference:vote'])&&datainfo.reviewSchedule==4&&(datainfo.votingResult==1||datainfo.votingResult==4)" @click="getShFn('shshtp')">投票</view> -->
  188. </block>
  189. <!-- 上会管理员 end -->
  190. <!-- 合同签约start -->
  191. <!-- 上传附件 是上传其他 和出具合同的附件-->
  192. <block v-if="stepval==7">
  193. <view class="fbtns bgd" @click="getMoreFn('htqy')">出具合同</view>
  194. <!-- <view class="fbtns bgb" @click="getMoreFn('htsc')">上传附件</view>
  195. <view class="fbtns bgb" @click="getMoreFn('shmore')">更多操作</view> -->
  196. </block>
  197. <!-- 合同签约end -->
  198. <!-- 风险部放款 start 推进,归档-->
  199. <!-- 管理员重新投票 只有需要重新投票才会出现 -->
  200. <view class="fbtns bga" v-if="checkRole(['manager'])&&stepval==6&&datainfo.votingResult==3&&checkPermi(['c:conference:again'])" @click="getShFn('cxtp')">重新投票</view>
  201. <block v-if="datainfo.auditType!=4">
  202. <!-- 管理员授权判断是否提前了,步骤7之后,并且暂缓了 -->
  203. <!-- 管理员 可以让a角 提前开放款通知书,意向函, a角色和管理员给 &&datainfo.aAuthorize!='Y'-->
  204. <view class="fbtns bgb" v-if="checkPermi(['system:application:authorize'])&&stepval==8" @click="getAuthorize">授权放款通知书</view>
  205. <view class="fbtns bga" v-if="checkPermi(['system:application:gd'])&&stepval==9&&(checkRole(['manager'])||userId==datainfo.aUserId)" @click="getGdFn">一键归档</view>
  206. <block v-if="checkPermi(['system:application:schedule'])&&stepval<9&&stepval>6">
  207. <view class="fbtns bga" v-if="userId==datainfo.fUserId&&stepval==8" @click="getXybFn">项目推进</view>
  208. <view class="fbtns bga" v-if="(checkRole(['manager'])||userId==datainfo.aUserId)&&stepval==7" @click="getXybFn">项目推进</view>
  209. </block>
  210. </block>
  211. <!-- end -->
  212. <!-- 所有出具 -->
  213. <view class="fbtns bgd" v-if="stepval>1&&checkPermi(['system:system:user'])" @click="getMoreFn('chuju')">出具</view>
  214. <!-- 申诉的时候不能撤销 -->
  215. <!-- <view class="fbtns" :class="auditSchedule==6?'bga':'bgb'" v-if="checkPermi(['system:application:cx'])&&(stepval!=1&&stepval!=10&&(datainfo.auditType!=1||auditSchedule<6&&auditSchedule>2))" @click="getCxFn">撤销</view> -->
  216. <block v-if="checkPermi(['system:application:cx'])&&stepval!=1&&stepval!=10&&datainfo.auditType!=4">
  217. <!-- <view class="fbtns bgb" @click="getCxFn">撤销</view> -->
  218. <view class="fbtns bgb" v-if="userId==datainfo.aUserId&&(auditSchedule==3||auditSchedule>6)&&stepval!=9" @click="getCxFn">撤销</view>
  219. <view class="fbtns bgb" v-if="userId==datainfo.bUserId&&auditSchedule==4" @click="getCxFn">撤销</view>
  220. <!-- 风险部撤销 -->
  221. <view class="fbtns bgb" v-if="userId==datainfo.fUserId&&(auditSchedule==5||stepval==5&&datainfo.auditType==1||stepval==9)" @click="getCxFn">撤销</view>
  222. <!-- stepval==6&&reviewSchedule>1 -->
  223. <view class="fbtns bgb" v-if="checkRole(['manager'])&&(datainfo.auditType!=1||auditSchedule>7||auditSchedule==2||stepval==6&&datainfo.reviewSchedule>1)" @click="getCxFn">撤销</view>
  224. </block>
  225. </template>
  226. </view>
  227. </block>
  228. <!-- 更多操作 -->
  229. <view class="bgbox" @click="getClose" v-if="mtype"></view>
  230. <view v-if="mtype" class="morebox">
  231. <view class="molists">
  232. <!-- 出具信息 -->
  233. <block v-if="mtype=='chuju'">
  234. <!-- 管理员业务初审审核后出具担保意向函-->
  235. <view v-if="(checkRole(['manager'])||userId==datainfo.aUserId)&&auditSchedule>1" @click="getIssureFn(3,'dbyxh')">出具担保意向函</view>
  236. <!-- 材料合规 风险部上传 &&checkRole(['auditing_risk']) -->
  237. <view v-if="stepval==4&&userId==datainfo.fUserId" @click="getIssureFn(13,'clhgb')">出具材料合规表</view>
  238. <view v-if="stepval==6&&datainfo.reviewSchedule==4" @click="getIssureFn(15,'pshtz')">出具评审会通知</view>
  239. <block v-if="stepval==7">
  240. <view @click="getIssureFn(12,'psyjqpb')">出具评审意见签批表</view>
  241. <view @click="getIssureFn(11,'gdhyjy')">出具股东会决议</view>
  242. <!-- <view @click="getIssureFn(1,'wtdbsqs')">出具委托担保申请书</view> -->
  243. </block>
  244. <!-- 放款合规表 -->
  245. <block v-if="checkRole(['manager'])||userId==datainfo.fUserId">
  246. <view class="fbtns bga" v-if="stepval==8||stepval==9&&datainfo.aAuthorize=='Y'" @click="getIssureFn(14,'fkhgb')">出具放款合规表</view>
  247. <!-- 暂缓出具 备注原因推给管理员-->
  248. <view class="fbtns bgb" v-if="stepval==8&&checkPermi(['system:application:zanHuan'])" @click="getShFn('zhfkhgb')">暂缓出具放款合规表</view>
  249. <!-- <view class="fbtns bgb" @click="getfjEdit('fkhgb')">上传附件</view> -->
  250. </block>
  251. <!-- a角 管理员 判断是否提前了,步骤7之后,并且暂缓了-->
  252. <block v-if="stepval==9||stepval==8&&datainfo.aAuthorize=='Y'">
  253. <view class="fbtns bgb" v-if="checkRole(['manager'])||userId==datainfo.aUserId" @click="getIssureFn(4,'fktzhsh')">放款通知书</view>
  254. </block>
  255. <!-- 借据 -->
  256. <block v-if="stepval==9">
  257. <view class="fbtns bga" v-if="checkRole(['manager'])||userId==datainfo.aUserId" @click="getfjEdit('jj')">上传借据</view>
  258. </block>
  259. <view @click="getQtfjEdit('qtfj')" v-if="checkPermi(['system:fj:add'])">上传其他附件</view>
  260. </block>
  261. <!--风险部门 start 外部工具平台 -->
  262. <block v-if="mtype=='wb'">
  263. <view v-for="(ite,idx) in linkList" :key="idx" @click="getWebUel(ite.url)">{{ite.name}}</view>
  264. </block>
  265. <!-- 风险部门 end -->
  266. <!-- 上会管理员 start -->
  267. <block v-if="mtype=='shmore'">
  268. <view @click="getIssureFn(12,'psyjqpb')">出具评审意见签批表</view>
  269. <view @click="getIssureFn(11,'gdhyjy')">出具股东会决议</view>
  270. <!-- <view @click="getfjEdit('psyjqpb')">上传评审意见签批表</view>
  271. <view @click="getfjEdit('gdhyjy')">上传上会纪要</view> -->
  272. </block>
  273. <!-- 上会管理员 end -->
  274. <!-- 合同签约 start -->
  275. <!-- 合同上传信息 -->
  276. <!-- <block v-if="mtype=='htsc'">
  277. <view @click="getfjEdit('wtdbht')">上传委托保证合同</view>
  278. <block v-if="datainfo.guaranteeType=='2'">
  279. <view @click="getfjEdit('bzfdbhtfr')">上传保证反担保合同(法人)</view>
  280. <view @click="getfjEdit('bzfdbhtzrr')">上传保证反担保合同(自然人)</view>
  281. </block>
  282. <block v-if="datainfo.guaranteeType=='1'">
  283. <view @click="getfjEdit('dyfdbhtfr')">上传抵押反担保合同(法人)</view>
  284. <view @click="getfjEdit('dyfdbhtzrr')">上传抵押反担保合同(自然人)</view>
  285. </block>
  286. <view @click="getQtfjEdit('qtfj')">其他附件</view>
  287. </block> -->
  288. <block v-if="mtype=='htqy'">
  289. <view @click="getIssureFn(2,'wtdbht')">委托保证合同</view>
  290. <block v-if="datainfo.guaranteeType.indexOf('2')!=-1">
  291. <view @click="getIssureFn(5,'bzfdbhtfr')">保证反担保合同(法人)</view>
  292. <view @click="getIssureFn(6,'bzfdbhtzrr')">保证反担保合同(自然人)</view>
  293. </block>
  294. <block v-if="datainfo.guaranteeType.indexOf('1')!=-1">
  295. <view @click="getIssureFn(7,'dyfdbhtfr')">抵押反担保合同(法人)</view>
  296. <view @click="getIssureFn(8,'dyfdbhtzrr')">抵押反担保合同(自然人)</view>
  297. </block>
  298. <block v-if="datainfo.guaranteeType.indexOf('3')!=-1">
  299. <view @click="getIssureFn(9,'qlzqfdbhtfr')">权利质权反担保合同(适用于法人)</view>
  300. <view @click="getIssureFn(10,'qlzqfdbhtzrr')">权利质权反担保合同(适用于自然人)</view>
  301. </block>
  302. <view @click="getIssureFn(18,'qyxyfdb')">企业信用反担保合同</view>
  303. <view @click="getIssureFn(17,'wtbzgcly')">委托保证合同(工程履约)</view>
  304. <view @click="getIssureFn(16,'bkcxgr')">不可撤销个人连带责任信用反担保合同</view>
  305. </block>
  306. <!-- 合同签约 end -->
  307. <!-- 保后 -->
  308. <block v-if="mtype=='cjbh'">
  309. <view @click="getIssureFn(19,'bhscjcbg')">出具T+1保后表</view>
  310. <view @click="getIssureFn(20,'bhjcbg')">出具T+N保后表</view>
  311. </block>
  312. </view>
  313. <!-- <view class="surbtns" @click="getMoreSure">确认</view> -->
  314. </view>
  315. <pop-up :type="type" :startady="daytime" :shtg="shtg" :loanApplicationId="datainfo.loanApplicationId" :loanApplicationNumber="datainfo.loanApplicationNumber" :userList="userList"
  316. :stepList="stepList" :wjcjobj='wjcjobj' :bhxxobj='bhxxobj' :qtfjobj="qtfjobj" :stepval="stepval" :fjval="fjval" :fjId="fjId"
  317. @getfjAdd="getfjAdd"
  318. @getClose="getClose" @getupSubmit="getupSubmit" @getSure="getSure"></pop-up>
  319. </view>
  320. </template>
  321. <script>
  322. import config from '@/config'
  323. const baseUrl = config.baseUrl
  324. const baseName = config.baseName
  325. import self from '@/utils/location.js';
  326. import { getToken } from '@/utils/auth'
  327. import popUp from "@/work/components/popup/popup.vue"
  328. import aqyxx from "@/work/components/business/aqyxx.vue"
  329. import bfrxx from "@/work/components/business/bfrxx.vue"
  330. import cfdbrxx from "@/work/components/business/cfdbrxx.vue"
  331. import dfjxx from "@/work/components/business/dfjxx.vue"
  332. import ewjcj from "@/work/components/business/ewjcj.vue"
  333. import fshxx from "@/work/components/business/fshxx.vue"
  334. import gtpjg from "@/work/components/business/gtpjg.vue"
  335. import hbgxx from "@/work/components/business/hbgxx.vue"
  336. import {uploadmore,selectValue} from '@/utils/common.js'
  337. import {getInfo} from "@/api/login.js"
  338. import {getDictionaryFn} from "@/api/mine/register.js"
  339. import {getUsernoPageList,getFjAdd,getFjEdit,getFjDel} from "@/api/common.js"
  340. import {getApplicationDet,getScheduleList,getHyperlinkList,getApplicationDel,getApplicationSh,getCommentsList,getApplicationSs,getApplicationCx,getapplicationGd,getapplicationXib,getExportMb,
  341. getZanHuan,getAuthorize,getReview,getVoteAdd,getcxVoteAdd,getVoteFive,getVoteTimeList,getVoteFinish,getputActually
  342. } from "@/api/mine/work.js"
  343. import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
  344. export default{
  345. components:{aqyxx,bfrxx,cfdbrxx,dfjxx,ewjcj,fshxx,gtpjg,hbgxx,popUp},
  346. data(){
  347. return{
  348. start:require('@/work/static/images/start.png'),
  349. titimg:require('@/work/static/images/infotit.png'),
  350. speedimg:require('@/work/static/images/speed.png'),
  351. gdicoimg:require('@/work/static/images/gdico.png'),
  352. tabval:0,
  353. type:'',
  354. tabList:[{tit:"企业信息",val:0},{tit:"法人信息",val:1},{tit:"反担保人信息",val:2},{tit:"附件信息",val:3},{tit:"文件出具",val:4,limit:'system:system:user'},{tit:"审核信息",val:5,limit:'system:system:user'},
  355. {tit:"投票结果",val:6,limit:'system:system:user',limita:'c:conference:list:time'}],
  356. tabLists:[{tit:"企业信息",val:0},{tit:"法人信息",val:1},{tit:"反担保人信息",val:2},{tit:"附件信息",val:3},{tit:"文件出具",val:4,limit:'system:system:user'},{tit:"审核信息",val:5,limit:'system:system:user'},
  357. {tit:"投票结果",val:6,limit:'system:system:user',limita:'c:conference:list:time'},{tit:"保后信息",val:7,limit:'system:system:user'},],
  358. stepList:[],
  359. stepval:0,
  360. gdflag:false,
  361. auditSchedule:'',//审核进度
  362. mtype:'',
  363. minheight:0,
  364. listTop:0,//距离顶部的距离
  365. fixedflag:false,
  366. dblxlist:[],
  367. sdyhlist:[],
  368. qyinfo:{},//企业信息
  369. datainfo:{
  370. // "createBy": "",//
  371. // "createTime": null,//
  372. // "updateBy": "",//
  373. // "updateTime": null,//
  374. // "remark": null,//
  375. "loanApplicationId": '',//贷款申请id
  376. "loanApplicationNumber": "",//贷款申请编号
  377. "applicationAmount": '',//申请额度(万元)
  378. "applicationBank": "",//申请银行
  379. "usagePeriod": "",//使用期限(月)
  380. "purposeFunds": "",//资金用途
  381. "repaymentSource": "",//还款来源
  382. "enterpriseName": "",//企业名称
  383. 'sysUserEnterprise':{},//企业对象具体字段查看营业执照
  384. "categoryType": "",//行业类型
  385. "isMake": "N",//是否是制造业
  386. "isNew": "N",//是否是精特新
  387. "isSmall": "N",//是否是小微企业
  388. "isDuty": "N",//是否是免税企业
  389. "companyIntroduction": "",//公司简介
  390. "customerType": "",//用户类型
  391. "corporationFront": "",//法人身份证正面
  392. "corporationBack": "",//法人身份证反面
  393. "corporationName": "",// 法人姓名
  394. "corporationIdCard": "",//法人身份证号
  395. "corporationPhone": "",// 法人手机号
  396. "familyPopulation": "",//家庭人口数
  397. "corporationJob": "",//法人职业
  398. "isLoan": "",//有无贷款
  399. "receivablePay": "",//应收应付款
  400. "businessSituation": "",//经营情况
  401. "businessEfficiency": "",//经营效益
  402. "corporationMaritalStatus": "",//法人婚姻状态
  403. "spouseFront": "",//配偶身份证正面
  404. "spouseBack": "",//配偶身份证反面
  405. "spouseName": "",//配偶姓名
  406. "spouseIdCard": "",//配偶身份证号
  407. "spousePhone": "",//配偶手机号
  408. "guaranteeType": "",//担保类型
  409. "guaranteeFront": "",//反担保人身份证正面
  410. "guaranteeBack": "",//反担保人身份证反面
  411. "guaranteeName": "",//反担保人姓名
  412. "guaranteeIdCard": "",//反担保人身份证号
  413. "guaranteePhone": "",//反担保人手机号
  414. // "guaranteeMaritalStatus": "",//反担保人婚姻状态
  415. // "guaranteeSpouseFront": "",//反担保人配偶身份证正面
  416. // "guaranteeSpouseBack": "",//反担保人配偶身份证反面
  417. // "guaranteeSpouseName": "",//反担保人配偶姓名
  418. // "guaranteeSpouseIdCard": "",//反担保人配偶身份证号
  419. // "guaranteeSpousePhone": "",//反担保人配偶手机号
  420. // "userId": '',//申请人用户ID
  421. // "idCard": "",//申请人身份证号码
  422. // "applicationTime": "",//申请时间
  423. "fileTime": "",//归档时间
  424. "loanSchedule": "",//贷款申请进度(业务进度表查询进度列表):1:申报提交2:业务审核/分配 3:担保初审 4:尽职调查 5:初审风险合规 6:评审会 7:合同签约 8:放款合规风险审核 9:放款通知 10:归档
  425. "loanScheduleName": '',//贷款申请进度名称(中文字)
  426. "auditSchedule": "",//审核进度1:担保初审 2:A角色审核 3:B角色审核 4:风险审核 5:尽职调查 6:上会评审
  427. "auditType": "",//审核状态 1:待审核 2:已通过 3:未通过 4:申诉
  428. "loanApplicationType": "",//贷款申请状态 1:暂存 2:正常 3:回收站 4:归档
  429. "aUserId": "",//A角色用户ID
  430. "aUserName": "",//A角色用户名称
  431. "bUserId": "",//B角色用户ID
  432. "bUserName": "",//B角色用户名称
  433. "shareholderFjList": [],//全体股东信息附件
  434. "loanApplicationFjList": [],//相关附件
  435. "basicFj": {},//基础附件
  436. "declareFj": {},//申报附件
  437. "fileFj": {},//文件出具
  438. "otherFj": {},//其他附件 key值是type类型 value值具体字段查看相关附件新增
  439. },
  440. gdlists:[],//股东信息
  441. basicFj:{},//基础附件
  442. declareFj:{},//申报附件
  443. yhlxlist:[],//用户类型
  444. hyztlist:[],//婚姻状态
  445. sbfjlist:[],//申报附件
  446. wjcjlist:[],//文件出具
  447. bhxxlist:[],//保后信息
  448. linkList:[],//外部链接
  449. userList:[],//用户列表
  450. shjdlist:[],//审核进度
  451. shztlist:[],//审核状态
  452. fdarlist:[],//反担保人附件列表
  453. fdaqylist:[],//反担保企业附件列表
  454. shlist:[],//审核信息
  455. tplist:[],//投票列表
  456. shinfo:{},//审核信息
  457. wjcjobj:{},//文件出具对象
  458. bhxxobj:{},//保后信息对象
  459. qtfjobj:{'qtfj':"其他附件"},//其他附件
  460. qtfjlist:[],//其他附件
  461. fjval:'',//附件类型
  462. fjId:'',//附件id
  463. userId:this.$store.state.user.userId,
  464. iscjflag:false,
  465. contype:'',//二次确认弹窗
  466. mval:-1,
  467. mite:"",
  468. shtg:'',
  469. textType:[
  470. {tit:'文字',val:'w',children:['doc','docx','wps']},
  471. {tit:'表格',val:'s',children:['xls','xlsx']},
  472. {tit:'演示',val:'p',children:['ppt','pptx']},
  473. {tit:'PDF',val:'f',children:['pdf','ofd']},
  474. {tit:'智能文档',val:'o',children:['otl']},
  475. {tit:'多维表格',val:'d',children:['dbt']},
  476. ],
  477. isqiye:true,
  478. pfrom:'',//vote 从投票来的
  479. daytime:'',
  480. }
  481. },
  482. onLoad(e) {
  483. this.id=e.id;
  484. if(e.from){
  485. this.pfrom=e.from
  486. }
  487. // this.time()
  488. this.init()
  489. this.getDetail();
  490. if(checkPermi(['system:schedule:list'])){
  491. this.getScheduleList();;//贷款进度
  492. }
  493. if(checkPermi(['system:hyperlink:list'])){
  494. this.getHyperlinkList();//外部链接stepval==4
  495. }
  496. if(checkPermi(['system:user:noPageList'])){
  497. this.getUsernoPageList();//获取用户列表stepval==2||stepval==6
  498. }
  499. // if(checkPermi(['system:system:user'])&&checkPermi(['system:comments:list'])){
  500. // this.getCommentsList()//审核意见
  501. // }
  502. // if(checkPermi(['system:system:user'])&&checkPermi(['c:conference:list:time'])){
  503. // this.getVoteTimeList()//投票结果
  504. // }
  505. // this.getInfolis()
  506. },
  507. mounted() {
  508. var that=this;
  509. uni.getSystemInfo({
  510. success: (e) => {
  511. this.minheight = e.screenHeight- 50;
  512. }
  513. })
  514. setTimeout(function(){
  515. that.getHeightFn()
  516. },200)
  517. },
  518. onPageScroll(e) {
  519. var scrollTop = Number(e.scrollTop);
  520. var listTop=Number(this.listTop)
  521. if(scrollTop>listTop){
  522. this.fixedflag=true
  523. }else{
  524. this.fixedflag=false
  525. }
  526. },
  527. methods:{
  528. time() {
  529. var date = new Date();
  530. var y = date.getFullYear();
  531. var m = date.getMonth() + 1;
  532. var d = date.getDate();
  533. this.daytime=y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d);
  534. },
  535. checkPermi, checkRole,
  536. statusFormats(ite,list,type){//多选匹配
  537. if(ite){
  538. var actions = [];
  539. list.forEach(s => {
  540. if(ite.indexOf(s.value)>-1){
  541. actions.push(s.label);
  542. }
  543. })
  544. return actions.join(',')
  545. }else{
  546. return ''
  547. }
  548. },
  549. kaType(ite,list){
  550. return selectValue(list, ite);
  551. },
  552. getedit(){
  553. var obj={
  554. type:'edit',
  555. id:this.id,
  556. val:this.tabval
  557. }
  558. this.$tab.navigateTo('/work/pages/business/add?data='+encodeURIComponent(JSON.stringify(obj)))
  559. },
  560. // 删除
  561. getDelwjFj(id){
  562. var that=this;
  563. uni.showModal({
  564. title: '确认删除',
  565. content: "是否确认删除",
  566. cancelText: '取消',
  567. confirmText: '确认',
  568. success: function(res) {
  569. if (res.confirm) {
  570. getFjDel(id).then(res=>{
  571. if(res.code==200){
  572. that.$toast("删除成功")
  573. setTimeout(function(){
  574. that.getDetail()
  575. },1200)
  576. }
  577. })
  578. } else if (res.cancel) {
  579. }
  580. }
  581. });
  582. },
  583. // 出具附件
  584. // getfjEdit(ite){
  585. // var type=0;
  586. // if(ite=='dbyxh'){
  587. // type=3
  588. // }else if(ite=='fkhgb'){
  589. // type=14
  590. // }else if(ite=='fktzs'){
  591. // type=4
  592. // }else if(ite=='clhgb'){
  593. // type=13
  594. // }else if(ite=='psyjqpb'){
  595. // type=12
  596. // }else if(ite=='gdhyjy'){
  597. // type=11
  598. // }else if(ite=='wtdbht'){
  599. // type=2
  600. // }else if(ite=='bzfdbhtfr'){
  601. // type=5
  602. // }else if(ite=='bzfdbhtzrr'){
  603. // type=6
  604. // }else if(ite=='dyfdbhtfr'){
  605. // type=7
  606. // }else if(ite=='dyfdbhtzrr'){
  607. // type=8
  608. // }else if(ite=='qlzqfdbhtfr'){
  609. // type=9
  610. // }else if(ite=='qlzqfdbhtzrr'){
  611. // type=10
  612. // }
  613. // if(type){
  614. // this.getIssureFn(type,ite)
  615. // }
  616. // },
  617. // 上传附件
  618. getfjEdit(ite){
  619. if(ite=='jj'){
  620. this.type=ite;
  621. }else{
  622. this.type='fjadd';
  623. this.fjval=ite
  624. }
  625. this.mtype='';
  626. },
  627. getfjXiu(ite,id){
  628. this.fjId=id;
  629. this.type='fjedit';
  630. this.fjval=ite
  631. this.mtype='';
  632. },
  633. getQtfjEdit(val,id){
  634. if(id){
  635. this.fjId=id;
  636. this.type='qtfjedit';
  637. }else{
  638. this.type='qtfjadd';
  639. }
  640. this.mtype='';
  641. this.fjval=val
  642. },
  643. // 保后附件
  644. getBhqtfjEdit(val){
  645. this.type='bhfjadd';
  646. this.mtype='';
  647. this.fjval=val
  648. },
  649. // 业务进度
  650. getScheduleList(){
  651. var params={
  652. loanApplicationId:this.id
  653. }
  654. getScheduleList(params).then(res=>{
  655. if(res.code==200){
  656. this.stepList=res.data
  657. }
  658. })
  659. },
  660. getWebUel(url){
  661. // this.mval=idx;
  662. // this.mite=ite
  663. this.mtype='';
  664. this.$tab.navigateTo("/pages/common/webview/index?url="+url)
  665. },
  666. getMoreSure(){
  667. var mttype=this.mtype;
  668. var mite=this.mite;
  669. if(mttype=='wb'){
  670. this.mtype='';
  671. this.$tab.navigateTo("/pages/common/webview/index?url="+mite.url)
  672. }
  673. },
  674. // 外部链接
  675. getHyperlinkList(){
  676. var params={
  677. type:1
  678. }
  679. getHyperlinkList(params).then(res=>{
  680. if(res.code==200){
  681. this.linkList=res.rows
  682. }
  683. })
  684. },
  685. // 用户-列表
  686. //用户类型(00系统用户 01注册用户 02管理用户
  687. getUsernoPageList(){
  688. var params={
  689. userType:'02'
  690. }
  691. getUsernoPageList(params).then(res=>{
  692. if(res.code==200){
  693. this.userList=res.rows
  694. }
  695. })
  696. },
  697. getCommentsList(){
  698. var params={
  699. loanApplicationId:this.id,
  700. }
  701. getCommentsList(params).then(res=>{
  702. if(res.code==200){
  703. var newArr=res.rows;
  704. newArr.forEach(ite=>{
  705. if(ite.imageUrl){
  706. ite.imageUrl=ite.imageUrl.split(',')
  707. }
  708. })
  709. this.shlist=newArr
  710. }
  711. })
  712. },
  713. // 投票结果
  714. getVoteTimeList(){
  715. var params={
  716. loanApplicationId:this.id,
  717. }
  718. getVoteTimeList(params).then(res=>{
  719. if(res.code==200){
  720. var newArr=res.data;
  721. newArr.forEach(ite=>{
  722. ite.check=false
  723. })
  724. this.tplist=JSON.parse(JSON.stringify(newArr))
  725. }
  726. })
  727. },
  728. init(){
  729. // 用户类型
  730. getDictionaryFn('customer_type').then(res=>{
  731. if(res.code==200){
  732. this.yhlxlist = res.data.map(v => {
  733. return {
  734. label: v.dictLabel,
  735. value: v.dictValue
  736. }
  737. })
  738. }
  739. })
  740. // 婚姻状况
  741. getDictionaryFn('marital_status').then(res=>{
  742. if(res.code==200){
  743. this.hyztlist = res.data.map(v => {
  744. return {
  745. label: v.dictLabel,
  746. value: v.dictValue
  747. }
  748. })
  749. }
  750. })
  751. // 申贷银行
  752. getDictionaryFn('shendai_bank').then(res=>{
  753. if(res.code==200){
  754. this.sdyhlist = res.data.map(v => {
  755. return {
  756. label: v.dictLabel,
  757. value: v.dictValue
  758. }
  759. })
  760. }
  761. })
  762. //担保类型
  763. getDictionaryFn('guarantee_type').then(res=>{
  764. if(res.code==200){
  765. this.dblxlist = res.data.map(v => {
  766. return {
  767. label: v.dictLabel,
  768. value: v.dictValue
  769. }
  770. })
  771. }
  772. })
  773. // 附件信息
  774. getDictionaryFn('application_fj_sb').then(res=>{
  775. if(res.code==200){
  776. this.sbfjlist = res.data.map(v => {
  777. return {
  778. label: v.dictLabel,
  779. val: v.dictValue,
  780. fjlist:[]
  781. }
  782. })
  783. }
  784. })
  785. // // 文件出具
  786. getDictionaryFn('application_fj_wjcj').then(res=>{
  787. if(res.code==200){
  788. var obj={}
  789. this.wjcjlist = res.data.map(v => {
  790. // var key=v.dictValue
  791. obj[v.dictValue]=v.dictLabel
  792. return {
  793. label: v.dictLabel,
  794. val: v.dictValue,
  795. fjlist:[]
  796. }
  797. })
  798. this.wjcjobj=obj
  799. }
  800. })
  801. // 保后附件
  802. getDictionaryFn('baohou').then(res=>{
  803. if(res.code==200){
  804. var obj={}
  805. this.bhxxlist = res.data.map(v => {
  806. obj[v.dictValue]=v.dictLabel
  807. return {
  808. label: v.dictLabel,
  809. val: v.dictValue,
  810. }
  811. })
  812. this.bhxxobj=obj
  813. }
  814. })
  815. //审核状态
  816. getDictionaryFn('sh_status').then(res=>{
  817. if(res.code==200){
  818. this.shztlist = res.data.map(v => {
  819. return {
  820. label: v.dictLabel,
  821. value: v.dictValue,
  822. }
  823. })
  824. }
  825. })
  826. // 其他附件
  827. // getDictionaryFn('application_fj_other').then(res=>{
  828. // if(res.code==200){
  829. // var obj={}
  830. // this.qtfjlist = res.data.map(v => {
  831. // // var key=v.dictValue
  832. // obj[v.dictValue]=v.dictLabel
  833. // return {
  834. // label: v.dictLabel,
  835. // val: v.dictValue,
  836. // fjlist:[]
  837. // }
  838. // })
  839. // this.qtfjobj=obj
  840. // console.log(obj,1)
  841. // }
  842. // })
  843. //审核进度
  844. getDictionaryFn('audit_schedule').then(res=>{
  845. if(res.code==200){
  846. this.shjdlist = res.data.map(v => {
  847. return {
  848. label: v.dictLabel,
  849. value: v.dictValue,
  850. }
  851. })
  852. }
  853. })
  854. },
  855. getTab(val){
  856. this.tabval=val;
  857. uni.pageScrollTo({
  858. scrollTop: Number(this.listTop),
  859. duration: 0
  860. })
  861. if(val==5){
  862. this.getCommentsList()
  863. }else if(val==6){
  864. this.getVoteTimeList();
  865. }else if(val==4&&this.iscjflag){
  866. this.iscjflag=false;
  867. this.getDetail();
  868. }
  869. },
  870. // 出具
  871. getIssureFn(type,fileType){
  872. var that=this;
  873. that.iscjflag=true;
  874. var params={
  875. type:type,
  876. loanApplicationId:this.id,
  877. fileType:fileType,
  878. bigType:'c',
  879. }
  880. getExportMb(params).then(res=>{
  881. if(res.code==200){
  882. var data=res.data;
  883. var path=data.path;
  884. var name=data.fileName;
  885. var fileName = name.replace(/.*(\/|\\)/, ""); // 获得文件名
  886. var fileSuffix = (/[.]/.exec(fileName)) ? /[^.]+$/.exec(fileName.toLowerCase()) : ''; // 获得文件后缀
  887. var texthz=fileSuffix[0];
  888. var type=''
  889. // 在线编辑
  890. // 获取后缀
  891. var textType=that.textType;
  892. Object.keys(textType).some((key) => {
  893. if (textType[key].children.indexOf(texthz)!=-1) {
  894. type=`${textType[key].val}`
  895. return true;
  896. }
  897. })
  898. data.type=type
  899. that.$tab.navigateTo('/pages/common/webview/weboffice?data='+encodeURIComponent(JSON.stringify(data)))
  900. }
  901. })
  902. },
  903. getDownloader(path,name){
  904. console.log(path,name)
  905. // #ifdef APP-PLUS
  906. self.getFilePermissions(function(res){
  907. if(res==1){
  908. uni.showLoading({
  909. title: '加载中'
  910. });
  911. var url = baseUrl + path;
  912. let dtask = plus.downloader.createDownload(url, {
  913. filename: 'file://storage/emulated/0/'+baseName+'/' + name
  914. }, (d, status) => {
  915. //d为下载的文件对象
  916. if (status == 200) {
  917. uni.hideLoading();
  918. uni.showToast({
  919. icon: 'none',
  920. mask: true,
  921. title: '已保存到文件夹:/'+baseName+'/'+ name, //保存路径
  922. duration: 3000,
  923. });
  924. //下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
  925. let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
  926. setTimeout(() => {
  927. plus.runtime.openFile(d.filename); //选择软件打开文件
  928. }, 1500)
  929. } else {
  930. //下载失败
  931. uni.hideLoading();
  932. plus.downloader.clear(); //清除下载任务
  933. uni.showToast({
  934. icon: 'none',
  935. mask: true,
  936. title: '下载失败,请稍后重试',
  937. });
  938. }
  939. })
  940. dtask.start();
  941. }else{
  942. uni.hideLoading();
  943. uni.showToast({
  944. title: '无法获取权限,文件下载将出错!',
  945. icon: 'none',
  946. })
  947. }
  948. })
  949. // #endif
  950. },
  951. getClose(){
  952. this.type='';
  953. this.mtype='';
  954. },
  955. getupSubmit(data){
  956. this.shinfo=JSON.parse(JSON.stringify(data))
  957. var type=this.type;
  958. if(type=='ajssh'||type=='bjssh'){
  959. this.contype=this.type
  960. this.type='confirm'
  961. this.shtg=data.auditType
  962. }else if(type=='zhfkhgb'){
  963. this.getZanHuanFn()
  964. }else if(type=='shshty'){//上会
  965. this.getReview()
  966. }else if(type=='shsh'){//日期
  967. this.getVoteFive()
  968. }else if(type=='shshtp'){//投票
  969. this.getVoteAdd()
  970. }else if(type=='sssh'){//申诉
  971. this.getSsshFn()
  972. }else if(type=='cxtp'){//重新投票
  973. this.getcxVoteAdd()
  974. }else{
  975. this.getApplicationSh()
  976. }
  977. },
  978. getSure(){
  979. this.getApplicationSh()
  980. },
  981. getfjAdd(data){
  982. var that=this;
  983. var params=JSON.parse(JSON.stringify(data));
  984. var fjUrl=params.fjUrl;
  985. // params.loanApplicationId=this.id;
  986. // params.loanApplicationNumber=this.datainfo.loanApplicationNumber;
  987. // params.auditSchedule=this.auditSchedule;
  988. if(that.type=='fjedit'||that.type=='qtfjedit'){
  989. getFjEdit(fjUrl).then(res=>{
  990. if(res.code==200){
  991. that.$toast('修改附件成功')
  992. setTimeout(function(){
  993. that.getDetail();
  994. uni.$emit('refreshdatalist')
  995. that.type=''
  996. },1200)
  997. }
  998. })
  999. }else{
  1000. getFjAdd(fjUrl).then(res=>{
  1001. if(res.code==200){
  1002. that.$toast('上传附件成功')
  1003. // 修改信息
  1004. if(that.type=='jj'){
  1005. var amount=params.actuallyAmount||"";
  1006. var time=params.actuallyTime||"";
  1007. that.getputActually(amount,time)
  1008. }else{
  1009. setTimeout(function(){
  1010. that.getDetail();
  1011. uni.$emit('refreshdatalist')
  1012. that.type=''
  1013. },1200)
  1014. }
  1015. }
  1016. })
  1017. }
  1018. },
  1019. getputActually(amount,time){
  1020. var that=this;
  1021. var params={
  1022. loanApplicationId:this.id,
  1023. actuallyAmount:amount,
  1024. actuallyTime:time,
  1025. }
  1026. getputActually(params).then(res=>{
  1027. if(res.code==200){
  1028. that.getDetail();
  1029. uni.$emit('refreshdatalist')
  1030. that.type=''
  1031. }
  1032. })
  1033. },
  1034. getApplicationSh(){
  1035. var that=this;
  1036. var params=this.shinfo;
  1037. params.loanApplicationId=this.id;
  1038. params.loanApplicationNumber=this.datainfo.loanApplicationNumber;
  1039. params.auditSchedule=this.auditSchedule;
  1040. params.enterpriseName=this.datainfo.enterpriseName;
  1041. getApplicationSh(params).then(res=>{
  1042. if(res.code==200){
  1043. that.$toast('审核成功')
  1044. setTimeout(function(){
  1045. that.getDetail();
  1046. uni.$emit('refreshdatalist')
  1047. that.type=''
  1048. },1200)
  1049. }
  1050. })
  1051. },
  1052. // 上会同意接口
  1053. getReview(data){
  1054. var that=this;
  1055. var params=this.shinfo;
  1056. params.loanApplicationId=this.id;
  1057. params.loanApplicationNumber=this.datainfo.loanApplicationNumber;
  1058. params.auditSchedule=this.auditSchedule;
  1059. params.aUserId=this.datainfo.aUserId;
  1060. params.loanSchedule=this.datainfo.loanSchedule;
  1061. params.auditType=this.datainfo.auditType;
  1062. params.enterpriseName=this.datainfo.enterpriseName;
  1063. getReview(params).then(res=>{
  1064. if(res.code==200){
  1065. that.$toast('审核成功')
  1066. setTimeout(function(){
  1067. that.getDetail();
  1068. uni.$emit('refreshdatalist')
  1069. that.type=''
  1070. },1200)
  1071. }
  1072. })
  1073. },
  1074. // 上会日期
  1075. getVoteFive(data){
  1076. var that=this;
  1077. var params=this.shinfo;
  1078. params.loanApplicationId=this.id;
  1079. params.loanApplicationNumber=this.datainfo.loanApplicationNumber;
  1080. params.enterpriseName=this.datainfo.enterpriseName;
  1081. // params.auditSchedule=this.auditSchedule;
  1082. getVoteFive(params).then(res=>{
  1083. if(res.code==200){
  1084. that.$toast('操作成功')
  1085. setTimeout(function(){
  1086. that.getDetail();
  1087. uni.$emit('refreshdatalist')
  1088. that.type=''
  1089. },1200)
  1090. }
  1091. })
  1092. },
  1093. // 上会投票
  1094. getVoteAdd(data){
  1095. var that=this;
  1096. var params=this.shinfo;
  1097. params.loanApplicationId=this.id;
  1098. params.loanApplicationNumber=this.datainfo.loanApplicationNumber;
  1099. params.auditSchedule=this.auditSchedule;
  1100. params.conferenceTime=this.datainfo.reviewTime;
  1101. getVoteAdd(params).then(res=>{
  1102. if(res.code==200){
  1103. that.$toast('投票成功')
  1104. setTimeout(function(){
  1105. that.getDetail();
  1106. uni.$emit('refreshdatalist')
  1107. that.type=''
  1108. },1200)
  1109. }
  1110. })
  1111. },
  1112. // 重新投票
  1113. getcxVoteAdd(){
  1114. var that=this;
  1115. var params=this.shinfo;
  1116. params.loanApplicationId=this.id;
  1117. params.loanApplicationNumber=this.datainfo.loanApplicationNumber;
  1118. // params.auditSchedule=this.auditSchedule;
  1119. getcxVoteAdd(params).then(res=>{
  1120. if(res.code==200){
  1121. that.$toast('操作成功')
  1122. setTimeout(function(){
  1123. that.getDetail();
  1124. uni.$emit('refreshdatalist')
  1125. that.type=''
  1126. },1200)
  1127. }
  1128. })
  1129. },
  1130. // 一票否决
  1131. getVoteFinish(){
  1132. var that=this;
  1133. uni.showModal({
  1134. title: '确认否决',
  1135. content: "是否一键否决该申请",
  1136. cancelText: '取消',
  1137. confirmText: '确认',
  1138. success: function(res) {
  1139. if (res.confirm) {
  1140. var params={
  1141. loanApplicationId:that.id,
  1142. }
  1143. getVoteFinish(params).then(res=>{
  1144. if(res.code==200){
  1145. that.$toast('一票否决成功')
  1146. setTimeout(function(){
  1147. that.getDetail();
  1148. uni.$emit('refreshdatalist')
  1149. that.type=''
  1150. },1200)
  1151. }
  1152. })
  1153. } else if (res.cancel) {
  1154. }
  1155. }
  1156. });
  1157. },
  1158. // 申诉
  1159. getSsshFn(data){
  1160. var that=this;
  1161. var params=this.shinfo;
  1162. params.loanApplicationId=this.id;
  1163. params.loanApplicationNumber=this.datainfo.loanApplicationNumber;
  1164. params.auditSchedule=this.auditSchedule;
  1165. params.auditType=this.datainfo.auditType;
  1166. params.aUserId=this.datainfo.aUserId;
  1167. params.bUserId=this.datainfo.bUserId;
  1168. params.enterpriseName=this.datainfo.enterpriseName;
  1169. getApplicationSs(params).then(res=>{
  1170. if(res.code==200){
  1171. that.$toast('操作成功')
  1172. setTimeout(function(){
  1173. that.getDetail();
  1174. uni.$emit('refreshdatalist')
  1175. that.type=''
  1176. },1200)
  1177. }
  1178. })
  1179. },
  1180. // 暂缓出具
  1181. getZanHuanFn(data){
  1182. var that=this;
  1183. var params=this.shinfo;
  1184. params.loanApplicationId=this.id;
  1185. params.loanApplicationNumber=this.datainfo.loanApplicationNumber;
  1186. params.aUserId=this.datainfo.aUserId;
  1187. params.enterpriseName=this.datainfo.enterpriseName;
  1188. getZanHuan(params).then(res=>{
  1189. if(res.code==200){
  1190. that.$toast('暂缓成功')
  1191. setTimeout(function(){
  1192. that.getDetail();
  1193. uni.$emit('refreshdatalist')
  1194. that.type=''
  1195. },1200)
  1196. }
  1197. })
  1198. },
  1199. //授权
  1200. getAuthorize(data){
  1201. var that=this;
  1202. uni.showModal({
  1203. title: '确认授权',
  1204. content: "是否授权A角提前开放款通知书?",
  1205. cancelText: '取消',
  1206. confirmText: '确认',
  1207. success: function(res) {
  1208. if (res.confirm) {
  1209. var params={};
  1210. params.loanApplicationId=that.id;
  1211. params.loanApplicationNumber=that.datainfo.loanApplicationNumber;
  1212. getAuthorize(params).then(res=>{
  1213. if(res.code==200){
  1214. that.$toast('授权成功')
  1215. setTimeout(function(){
  1216. that.getDetail();
  1217. uni.$emit('refreshdatalist')
  1218. that.type=''
  1219. },1200)
  1220. }
  1221. })
  1222. } else if (res.cancel) {
  1223. }
  1224. }
  1225. });
  1226. },
  1227. getShFn(type){
  1228. this.type=type;
  1229. this.mtype='';
  1230. },
  1231. getSsFn(){
  1232. var that=this;
  1233. var datainfo=JSON.parse(JSON.stringify(this.datainfo))
  1234. uni.showModal({
  1235. title: '确认申诉',
  1236. content: "是否确认申诉",
  1237. cancelText: '取消',
  1238. confirmText: '确认',
  1239. success: function(res) {
  1240. if (res.confirm) {
  1241. var params={
  1242. loanApplicationId:that.id,
  1243. loanApplicationNumber:datainfo.loanApplicationNumber,
  1244. aUserId:datainfo.aUserId,
  1245. bUserId:datainfo.bUserId,
  1246. auditType:datainfo.auditType,
  1247. enterpriseName:datainfo.enterpriseName,
  1248. ssType:1,
  1249. }
  1250. getApplicationSs(params).then(res=>{
  1251. if(res.code==200){
  1252. that.$toast("申诉成功")
  1253. setTimeout(function(){
  1254. that.getDetail();
  1255. uni.$emit('refreshdatalist')
  1256. },1200)
  1257. }
  1258. })
  1259. } else if (res.cancel) {
  1260. }
  1261. }
  1262. });
  1263. },
  1264. getCxFn(){
  1265. var that=this;
  1266. var datainfo=JSON.parse(JSON.stringify(this.datainfo))
  1267. uni.showModal({
  1268. title: '确认撤销',
  1269. content: "是否确认撤销",
  1270. cancelText: '取消',
  1271. confirmText: '确认',
  1272. success: function(res) {
  1273. if (res.confirm) {
  1274. that.mtype=''
  1275. var params={
  1276. loanApplicationId:that.id,
  1277. loanApplicationNumber:datainfo.loanApplicationNumber,
  1278. auditSchedule:that.auditSchedule,
  1279. loanSchedule:datainfo.loanSchedule,
  1280. loanApplicationType:datainfo.loanApplicationType,
  1281. auditType:datainfo.auditType,
  1282. reviewSchedule:datainfo.reviewSchedule,
  1283. enterpriseName:datainfo.enterpriseName,
  1284. aUserId:datainfo.aUserId,
  1285. bUserId:datainfo.bUserId,
  1286. fUserId:datainfo.fUserId,
  1287. }
  1288. getApplicationCx(params).then(res=>{
  1289. if(res.code==200){
  1290. that.$toast("撤销成功")
  1291. setTimeout(function(){
  1292. that.getDetail()
  1293. uni.$emit('refreshywlist')
  1294. // uni.navigateBack({
  1295. // delta:1
  1296. // })
  1297. },1200)
  1298. }
  1299. })
  1300. } else if (res.cancel) {
  1301. }
  1302. }
  1303. });
  1304. },
  1305. getXybFn(){
  1306. var that=this;
  1307. uni.showModal({
  1308. title: '确认推进',
  1309. content: "是否确认推进",
  1310. cancelText: '取消',
  1311. confirmText: '确认',
  1312. success: function(res) {
  1313. if (res.confirm) {
  1314. var params={
  1315. loanApplicationId:that.id,
  1316. auditSchedule:that.auditSchedule,
  1317. loanSchedule:that.datainfo.loanSchedule,
  1318. aUserId:that.datainfo.aUserId,
  1319. loanApplicationNumber:that.datainfo.loanApplicationNumber,
  1320. enterpriseName:that.datainfo.enterpriseName,
  1321. }
  1322. getapplicationXib(params).then(res=>{
  1323. if(res.code==200){
  1324. that.$toast("推进成功")
  1325. setTimeout(function(){
  1326. that.getDetail()
  1327. uni.$emit('refreshywlist')
  1328. },1200)
  1329. }
  1330. })
  1331. } else if (res.cancel) {
  1332. }
  1333. }
  1334. });
  1335. },
  1336. getGdFn(){
  1337. var that=this;
  1338. uni.showModal({
  1339. title: '确认归档',
  1340. content: "是否确认归档",
  1341. cancelText: '取消',
  1342. confirmText: '确认',
  1343. success: function(res) {
  1344. if (res.confirm) {
  1345. var params={
  1346. loanApplicationId:that.id,
  1347. auditSchedule:that.auditSchedule,
  1348. loanSchedule:that.datainfo.loanSchedule,
  1349. loanApplicationType:that.datainfo.loanApplicationType,
  1350. loanApplicationNumber:that.datainfo.loanApplicationNumber,
  1351. enterpriseName:that.datainfo.enterpriseName,
  1352. auditType:that.datainfo.auditType,
  1353. aUserId:that.datainfo.aUserId,
  1354. bUserId:that.datainfo.bUserId,
  1355. fUserId:that.datainfo.fUserId,
  1356. }
  1357. getapplicationGd(params).then(res=>{
  1358. if(res.code==200){
  1359. that.$toast("归档成功")
  1360. setTimeout(function(){
  1361. that.getDetail()
  1362. uni.$emit('refreshywlist')
  1363. // uni.navigateBack({
  1364. // delta:1
  1365. // })
  1366. },1200)
  1367. }
  1368. })
  1369. } else if (res.cancel) {
  1370. }
  1371. }
  1372. });
  1373. },
  1374. getMoreFn(type){
  1375. this.mtype=type;
  1376. this.mval=-1;
  1377. this.mtit=''
  1378. },
  1379. getSpeedFn(){
  1380. if(this.type){
  1381. this.type=''
  1382. }else{
  1383. this.type='ywjd'
  1384. }
  1385. },
  1386. getQmFn(url){
  1387. this.$tab.navigateTo("/work/pages/business/sign?url="+encodeURIComponent(JSON.stringify(url)))
  1388. },
  1389. getDel(){
  1390. var that=this;
  1391. uni.showModal({
  1392. title: '确认删除',
  1393. content: "是否确认删除",
  1394. cancelText: '取消',
  1395. confirmText: '确认',
  1396. success: function(res) {
  1397. if (res.confirm) {
  1398. getApplicationDel(that.id).then(res=>{
  1399. if(res.code==200){
  1400. that.$toast("删除成功")
  1401. setTimeout(function(){
  1402. uni.$emit('refreshdatalist')
  1403. uni.navigateBack({
  1404. delta:1
  1405. })
  1406. },1200)
  1407. }
  1408. })
  1409. } else if (res.cancel) {
  1410. }
  1411. }
  1412. });
  1413. },
  1414. getDetail(){
  1415. getApplicationDet(this.id).then(res=>{
  1416. if(res.code==200){
  1417. this.datainfo=res.data;
  1418. this.auditSchedule=res.data.auditSchedule
  1419. if(res.data.sysUserEnterprise){
  1420. this.qyinfo=res.data.sysUserEnterprise
  1421. }
  1422. // 反担保
  1423. if(res.data.guaranteeInfoList){
  1424. // 数据处理
  1425. var fdarlist=[],fdaqylist=[];
  1426. var gInfoList=res.data.guaranteeInfoList;
  1427. Object.keys(gInfoList).some((key) => {
  1428. var obj=gInfoList[key];
  1429. var fdblist=gInfoList[key].guaranteeInfoFjList;
  1430. fdblist=fdblist.filter((ite) => {
  1431. if(ite.type=='fdbrsfzrmx'||ite.type=='fdbrsfzghm'){
  1432. return ite.remark!=1
  1433. }else{
  1434. return ite.remark==1||this.getFilterFj(ite.url);
  1435. }
  1436. })
  1437. obj.guaranteeInfoFjList=JSON.parse(JSON.stringify(fdblist))
  1438. if(obj.type==1){
  1439. fdarlist.push(obj)
  1440. }else if(obj.type==2){
  1441. fdaqylist.push(obj)
  1442. }
  1443. })
  1444. this.fdarlist=JSON.parse(JSON.stringify(fdarlist));
  1445. this.fdaqylist=JSON.parse(JSON.stringify(fdaqylist));
  1446. }
  1447. if(res.data.basicFj){
  1448. // 数据处理
  1449. var basicFj=res.data.basicFj;
  1450. Object.keys(basicFj).some((key) => {
  1451. // a,b里面的全部都转pdf了
  1452. basicFj[key]=basicFj[key].filter((ite) => {
  1453. return ite.remark==1||this.getFilterFj(ite.url);
  1454. })
  1455. // 公司章程,企业征信,企业法人,实际控股人,配偶征信,个人征信,反担保企业征信
  1456. // if(key=='gszc'||key=='sqqyzxbg'||key=='glqyzxbg'||key=='qyfrzxbg'||key=='sjkgrzxbg'||key=='sjkgrpozxbg'||key=='fdbrgrzxbg'||key=='fdbqyzx'){
  1457. // basicFj[key]=basicFj[key].filter((ite) => {
  1458. // return ite.remark==1||this.getFilterFj(ite.url);
  1459. // })
  1460. // }
  1461. })
  1462. this.basicFj=JSON.parse(JSON.stringify(basicFj));
  1463. }
  1464. if(res.data.declareFj){
  1465. // 数据处理
  1466. var declareFj=res.data.declareFj;
  1467. Object.keys(declareFj).some((key) => {
  1468. // a,b里面的全部都转pdf了
  1469. declareFj[key]=declareFj[key].filter((ite) => {
  1470. return ite.remark==1||this.getFilterFj(ite.url);
  1471. })
  1472. })
  1473. this.declareFj=JSON.parse(JSON.stringify(declareFj));
  1474. }
  1475. this.stepval=res.data.loanSchedule||0;
  1476. // var auditSchedule=res.data.auditSchedule
  1477. // if(checkPermi(['system:hyperlink:list'])&&auditSchedule==5){
  1478. // this.getHyperlinkList();//外部链接stepval==4
  1479. // }else if(auditSchedule==1||auditSchedule==7){
  1480. // if(checkPermi(['system:user:noPageList'])){
  1481. // this.getUsernoPageList();//获取用户列表stepval==2||stepval==6
  1482. // }
  1483. // }
  1484. }
  1485. }).catch(error => {
  1486. setTimeout(function(){
  1487. uni.navigateBack({
  1488. delta:1
  1489. })
  1490. },1200)
  1491. })
  1492. },
  1493. // 数据处理
  1494. getFilterFj(url){
  1495. let index1 = url.lastIndexOf("."); // 得到一个索引值
  1496. let index2 = url.length;
  1497. let type = url.substring(index1, index2);
  1498. if ((type.indexOf('jpg') >-1 || type.indexOf('jpeg') > -1 || type.indexOf('png') > -1)) {
  1499. return false
  1500. }else{
  1501. return true
  1502. }
  1503. },
  1504. getHeightFn(){
  1505. let query = uni.createSelectorQuery().in(this);
  1506. //需要给黄色区域设置一个id标识,在这里是demo
  1507. query.select('.zxtop').boundingClientRect(data => {
  1508. this.listTop = data.height//赋值,待会要用
  1509. }).exec();
  1510. },
  1511. getPreview(url) {
  1512. var newArr=[];
  1513. newArr.push(url)
  1514. uni.previewImage({
  1515. urls: newArr,
  1516. current:0,
  1517. success: function(data) {
  1518. },
  1519. fail: function(err) {
  1520. }
  1521. });
  1522. },
  1523. onuploadEnd(item) {
  1524. var newobj={}
  1525. var responseText=JSON.parse(item.responseText)
  1526. newobj.name=responseText.originalFilename;
  1527. newobj.url=responseText.fileName;
  1528. this.filelist.push(newobj)
  1529. // this.datainfo.zsyzFjList=JSON.parse(JSON.stringify(this.filelist))
  1530. },
  1531. getXzFn(ite){
  1532. this.getDownloader(ite.url,ite.name)
  1533. },
  1534. getDown(e){
  1535. uni.showLoading({
  1536. title: '加载中'
  1537. });
  1538. var url=baseUrl+e;
  1539. let index1 = e.lastIndexOf("."); // 得到一个索引值
  1540. let index2 = e.length;
  1541. let type = e.substring(index1, index2);
  1542. if ((type.indexOf('jpg') > -1 || type.indexOf('jpeg') > -1 || type.indexOf('png') > -1)) {
  1543. uni.previewImage({
  1544. current: 0,
  1545. urls: [url],
  1546. // background: '#ffffff'
  1547. });
  1548. uni.hideLoading();
  1549. } else {
  1550. uni.downloadFile({
  1551. url: url,//文件的下载路径
  1552. success(result) {
  1553. uni.hideLoading()
  1554. var filePath = result.tempFilePath;
  1555. uni.openDocument({
  1556. filePath: filePath,
  1557. showMenu: true,
  1558. success: function (res) {
  1559. // console.log('打开文档成功');
  1560. }
  1561. });
  1562. },
  1563. fail(res) {uni.hideLoading()}
  1564. })
  1565. }
  1566. },
  1567. }
  1568. }
  1569. </script>
  1570. <style lang="scss" scoped>
  1571. .failtit{background: #FFECEC;font-weight: 500;font-size: 26rpx;color: #FF6969;text-align: center;line-height: 36rpx;padding: 22rpx;}
  1572. .zxtop{padding-bottom: 2rpx;}
  1573. .detop{background: #FFFFFF;padding:0rpx 24rpx;margin-bottom: 28rpx;flex: 0 0 auto;
  1574. position: relative;
  1575. .head{
  1576. padding: 40rpx 2rpx;border-bottom: 2rpx solid #E6E6E6;
  1577. .top{display: flex;align-items: center;overflow: hidden;
  1578. .toptit{font-weight: bold;font-size: 40rpx;color: #222327;}
  1579. .statbox{min-width: 140rpx;height: 36rpx;background-color: rgba(255,177,50,0.3);padding: 0 14rpx;box-sizing: border-box;font-weight: bold;font-size: 22rpx;color: #FF6924;display: flex;align-items: center;flex: 0 0 auto;border-radius: 10rpx;margin-left: 34rpx;
  1580. image{width: 22rpx;height: 22rpx;margin-left: 6rpx;}
  1581. }
  1582. }
  1583. .adr{font-weight: 500;font-size: 26rpx;color: #666666;margin-top: 12rpx;}
  1584. }
  1585. .deta{display: flex;flex-wrap: wrap;padding: 16rpx 0 28rpx;
  1586. .lists{padding:20rpx 0;width: 33.3%;display: flex;flex-direction: column;align-items: center;position: relative;
  1587. &::after{width: 2rpx;height: 60rpx;background: #E6E6E6;content: '';position: absolute;right: 0;top: 50%;margin-top: -30rpx;}
  1588. &:nth-of-type(3n){
  1589. &::after{display: none;}
  1590. }
  1591. .tit{font-weight: 500;font-size: 26rpx;color: #AAAAAA;margin-bottom: 38rpx;}
  1592. .txt{font-weight: bold;font-size: 30rpx;color: #222327;padding: 0 10rpx;
  1593. text{font-size: 26rpx;color: #666666;font-weight: normal;}
  1594. }
  1595. }
  1596. }
  1597. }
  1598. .details{
  1599. // display: flex;flex-direction: column;height: 100vh;overflow: hidden;
  1600. }
  1601. .main{background-color: #FFFFFF;flex: 1;display: flex;flex-direction: column;overflow: hidden;
  1602. .tabs{padding: 0 6rpx 0 36rpx;display: flex;flex-wrap: nowrap;overflow: auto;flex: 0 0 auto;
  1603. &.tabfix{position: fixed;left: 0;right: 0;z-index: 2;top: 0;background-color: #ffffff;border-bottom: 2rpx solid #E6E6E6;}
  1604. .tab{font-weight: 500;font-size: 26rpx;color: #666666;height: 116rpx;display: flex;align-items: center;margin-right: 26rpx;flex: 0 0 auto;position: relative;
  1605. &.act{color: #00A9F0;font-weight: bold;
  1606. &::after{width: 100%;background: #00A9F0;position: absolute;left: 0;bottom: 0;
  1607. border-radius: 2rpx;height: 4rpx;content: '';}
  1608. }
  1609. }
  1610. }
  1611. .mainb{flex: 1;overflow: auto;}
  1612. }
  1613. .speed{width: 96rpx;height: 140rpx;background: #FFFFFF;box-shadow: 0px 0px 14rpx 0px rgba(184,184,184,0.76);border-radius: 20rpx;
  1614. display: flex;align-items: center;flex-direction: column;justify-content: center;
  1615. position: absolute;right: 28rpx;top: 86rpx;z-index: 2;padding: 0 6rpx;
  1616. image{width: 26rpx;height: 28rpx;margin-bottom: 8rpx;}
  1617. view{font-weight: 500;font-size: 22rpx;color: #666666;}
  1618. }
  1619. .gdimg{width: 110rpx;height: 86rpx;position: absolute;right: 40rpx;top: 130rpx;}
  1620. //
  1621. .footbtns{width: 100%;height: 100rpx;position: fixed;left: 0;right: 0;bottom: 0;display: flex;
  1622. .fbtns{flex: 1;height: 100rpx;font-weight: bold;font-size: 30rpx;display: flex;align-items: center;justify-content: center;border-top: 2rpx solid #E6E6E6;box-sizing: border-box;
  1623. &.bga{background: $com-cd3;color: #FFFFFF;}
  1624. &.bgb{background: #FFFFFF;color: $com-cd3;}
  1625. &.bgc{background: #DF0303;color: #FFFFFF;}
  1626. &.bgd{background: #45cb99;color: #FFFFFF;}
  1627. &.bge{background: #ffac41;color: #FFFFFF;}
  1628. }
  1629. }
  1630. .morebox{
  1631. position: fixed;left: 0;right: 0;bottom: 0;z-index: 10;max-height: calc(100vh - 200rpx);overflow: auto;
  1632. .molists{
  1633. view{width: 100%;background: #ffffff;font-weight: 500;font-size: 30rpx;color: #222327;border-bottom: 2rpx solid #E6E6E6;min-height: 100rpx;display: flex;align-items: center;justify-content: center;padding: 10rpx;
  1634. box-sizing: border-box;
  1635. &.mcoa{color: #00A9F0;}
  1636. }
  1637. }
  1638. .surbtns{
  1639. width: 100%;height: 100rpx;background: #00A9F0;display: flex;align-items: center;justify-content: center;
  1640. font-size: 30rpx;color: #ffffff;margin-top: 24rpx;
  1641. }
  1642. }
  1643. </style>