details.vue 37 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115
  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.enterpriseName}}</view>
  22. <view class="adr">申报时间 | {{datainfo.applicationTime}}</view>
  23. <view class="adr" v-if="datainfo.fileTime">归档时间 | {{datainfo.fileTime}}</view>
  24. </view>
  25. <view class="deta">
  26. <view class="lists">
  27. <view class="tit">申请额度</view>
  28. <view class="txt">{{datainfo.applicationAmount}}<text>/万元</text></view>
  29. </view>
  30. <view class="lists">
  31. <view class="tit">使用期限</view>
  32. <view class="txt">{{datainfo.usagePeriod}}<text>/个月</text></view>
  33. </view>
  34. <view class="lists">
  35. <view class="tit">申贷银行</view>
  36. <view class="txt">{{kaType(datainfo.applicationBank,sdyhlist)}}</view>
  37. </view>
  38. <view class="lists">
  39. <view class="tit">资金用途</view>
  40. <view class="txt">{{datainfo.purposeFunds}}</view>
  41. </view>
  42. <view class="lists">
  43. <view class="tit">还款来源</view>
  44. <view class="txt">{{datainfo.repaymentSource}}</view>
  45. </view>
  46. <view class="lists">
  47. <view class="tit">担保类型</view>
  48. <view class="txt">{{kaType(datainfo.guaranteeType,dblxlist)}}</view>
  49. </view>
  50. </view>
  51. </view>
  52. </view>
  53. <view class="main">
  54. <!-- tab -->
  55. <view class="tabs" :class="fixedflag?'tabfix':''">
  56. <view class="tab" :class="tabval==ite.val?'act':''" v-for="(ite,idx) in tabList" :key="idx" @click="getTab(ite.val)">{{ite.tit}}</view>
  57. </view>
  58. <view style="height:116rpx;" v-if="fixedflag"></view>
  59. <!-- 企业信息 -->
  60. <view class="mainb" :style="'min-height: ' + minheight + 'px;'">
  61. <block v-if="tabval==0">
  62. <aqyxx @getDown="getDown" :qyinfo="qyinfo" :datainfo="datainfo" :basicFj="basicFj" ></aqyxx>
  63. </block>
  64. <block v-if="tabval==1">
  65. <bfrxx @getDown="getDown" :datainfo="datainfo" :yhlxlist="yhlxlist" :hyztlist="hyztlist" :basicFj="basicFj"></bfrxx>
  66. </block>
  67. <block v-if="tabval==2">
  68. <cfdbrxx @getDown="getDown" :datainfo="datainfo" :hyztlist="hyztlist" :basicFj="basicFj"></cfdbrxx>
  69. </block>
  70. <block v-if="tabval==3">
  71. <dfjxx @getDown="getDown" :datainfo="datainfo" :declareFj="datainfo.declareFj" :sbfjlist="sbfjlist" @getXzFn="getXzFn"></dfjxx>
  72. </block>
  73. <block v-if="tabval==4">
  74. <ewjcj @getDown="getDown" @getQmFn="getQmFn" :datainfo="datainfo" @getDelwjFj="getDelwjFj" @getfjEdit="getfjEdit" :wjcjlist="wjcjlist" :qtfileFj="datainfo.otherFj" :fileFj="datainfo.fileFj"></ewjcj>
  75. </block>
  76. <block v-if="tabval==5">
  77. <fshxx @getDown="getDown" :shjdlist="shjdlist" :datalist="shlist" ></fshxx>
  78. </block>
  79. </view>
  80. <!-- 法人信息 -->
  81. </view>
  82. <block v-if="datainfo.loanApplicationType!=4&&tabval!=5">
  83. <view class="h50"></view>
  84. <view class="footbtns">
  85. <!-- (业务进度表查询进度列表):1:申报提交 stepval 4,7,8,9,没有通过不通过
  86. 2:业务审核/分配
  87. 3:担保初审
  88. 4:尽职调查
  89. 5:初审风险合规
  90. 6:评审会
  91. 7:合同签约
  92. 8:放款合规风险审核
  93. 9:放款通知
  94. 10:归档 -->
  95. <!-- 审核进度 auditSchedule
  96. 1:业务审核/分配
  97. 2:A角色审核
  98. 3:B角色审核
  99. 4:风险审核
  100. 5:尽职调查
  101. 6:初审风险合规
  102. 7:上会评审 -->
  103. <!-- 申请审核 start-->
  104. <view class="fbtns bga" v-if="checkPermi(['system:application:edit'])&&stepval<2" @click="getedit">修改</view>
  105. <view class="fbtns bgc" v-if="checkPermi(['system:application:remove'])&&stepval<2" @click="getDel">删除</view>
  106. <view class="fbtns bga" v-if="auditSchedule==1&&checkPermi(['system:application:sh'])" @click="getShFn('sh')">审核</view>
  107. <view class="fbtns bga" v-if="auditSchedule==4&&datainfo.auditType!=4&&checkPermi(['system:application:sh'])&&checkRole(['auditing_risk'])" @click="getShFn('fxsh')">风险审核</view>
  108. <!-- end -->
  109. <!-- a,b角按钮 start-->
  110. <view class="fbtns bgb" v-if="checkPermi(['system:application:sh'])&&userId==datainfo.aUserId&&auditSchedule==5" @click="getShFn('jztcsh')">尽职调查反馈</view>
  111. <view class="fbtns bga" v-if="checkPermi(['system:application:sh'])&&userId==datainfo.aUserId&&auditSchedule==2&&datainfo.auditType==1" @click="getShFn('ajssh')">a审核</view>
  112. <view class="fbtns bga" v-if="checkPermi(['system:application:sh'])&&userId==datainfo.bUserId&&auditSchedule==3" @click="getShFn('bjssh')">b审核</view>
  113. <!-- 审核后 -->
  114. <!-- <view class="fbtns bga" @click="getMoreFn('more')">更多操作</view> -->
  115. <!-- 未通过申诉 风险不通过,上会不通过-->
  116. <!-- 撤销, 业务分配,a,b角撤销 -->
  117. <view class="fbtns bga" v-if="checkPermi(['system:application:ss'])&&datainfo.auditType==4&&userId==datainfo.aUserId" @click="getSsFn">申诉</view>
  118. <!-- <block ></block> -->
  119. <!-- 申诉的时候不能撤销 -->
  120. <!-- <view class="fbtns" :class="auditSchedule==5?'bga':'bgb'" v-if="checkPermi(['system:application:cx'])&&(stepval!=1&&stepval!=10&&(datainfo.auditType!=1||auditSchedule<6&&auditSchedule>2))" @click="getCxFn">撤销</view> -->
  121. <block v-if="checkPermi(['system:application:cx'])&&stepval!=1&&stepval!=10">
  122. <view class="fbtns bga" v-if="userId==datainfo.aUserId&&auditSchedule==3" @click="getCxFn">撤销</view>
  123. <view class="fbtns bga" v-if="userId==datainfo.bUserId&&auditSchedule==4" @click="getCxFn">撤销</view>
  124. <view class="fbtns" :class="auditSchedule==5?'bga':'bgb'" v-if="(datainfo.auditType!=1||auditSchedule<6&&auditSchedule>4)" @click="getCxFn">撤销</view>
  125. </block>
  126. <!-- 回收站,暂存,归档不能撤 项目进度是申报提交-->
  127. <!-- 撤销,管理员在 a待审核 可以撤,
  128. a,b角是自己的时候可以撤
  129. -->
  130. <view class="fbtns bga" v-if="checkPermi(['system:application:cx'])&&stepval<9&&stepval>6" @click="getXybFn">项目推进</view>
  131. <!-- end -->
  132. <!-- 管理员业务初审审核后出具担保意向函-->
  133. <!-- <block v-if="auditSchedule>1&&stepval<4"> -->
  134. <block v-if="checkRole(['manager'])&&auditSchedule>1&&stepval<4">
  135. <view class="fbtns bgb" @click="getfjEdit('dbyxh')">上传文件</view>
  136. <view class="fbtns bga" @click="getIssureFn(3)">出具担保意向函</view>
  137. <view class="fbtns bgb" v-if="checkPermi(['system:application:cx'])&&auditSchedule<3&&datainfo.auditType<2" @click="getCxFn">撤销</view>
  138. </block>
  139. <!-- 风险部门 start-->
  140. <block v-if="stepval==5&&checkRole(['auditing_risk'])">
  141. <view class="fbtns bgb" v-if="checkPermi(['system:hyperlink:list'])" @click="getMoreFn('wb')">外部工具平台</view>
  142. <view class="fbtns bga" @click="getMoreFn('fxmore')">更多操作</view>
  143. </block>
  144. <!-- end -->
  145. <!-- 上会管理员 start -->
  146. <block v-if="stepval==6">
  147. <view class="fbtns bgb" @click="getMoreFn('shmore')">更多操作</view>
  148. <view class="fbtns bga" @click="getShFn('shsh')">审核</view>
  149. </block>
  150. <!-- 上会管理员 end -->
  151. <!-- 合同签约start -->
  152. <!-- 上传附件 是上传其他 和出具合同的附件-->
  153. <block v-if="stepval==7">
  154. <view class="fbtns bgb" @click="getMoreFn('htsc')">上传附件</view>
  155. <view class="fbtns bga" @click="getMoreFn('htqy')">出具合同</view>
  156. </block>
  157. <!-- 合同签约end -->
  158. <!-- 风险部放款 start-->
  159. <block v-if="stepval==8">
  160. <view class="fbtns bgb" @click="getfjEdit('fkhgb')">上传附件</view>
  161. <view class="fbtns bga" @click="getIssureFn(14)">出具放款合规表</view>
  162. </block>
  163. <!-- end -->
  164. <block v-if="stepval==9">
  165. <view class="fbtns bgb" @click="getfjEdit('fktzs')">上传附件</view>
  166. <view class="fbtns bga" @click="getIssureFn(4)">放款通知书</view>
  167. </block>
  168. <view class="fbtns bga" v-if="stepval==9&&datainfo.loanApplicationType!=4" @click="getGdFn">一键归档</view>
  169. </view>
  170. </block>
  171. <!-- 更多操作 -->
  172. <view class="bgbox" @click="getClose" v-if="mtype"></view>
  173. <view v-if="mtype" class="morebox">
  174. <view class="molists">
  175. <!-- 审核详情后 -->
  176. <!-- <block v-if="mtype=='more'">
  177. <view class="mcoa" @click="getShFn('shhj')">上传附件</view>
  178. <view>撤回</view>
  179. </block> -->
  180. <!--风险部门 start 外部工具平台 -->
  181. <block v-if="mtype=='wb'">
  182. <view v-for="(ite,idx) in linkList" :key="idx" @click="getWebUel(ite.url)">{{ite.name}}</view>
  183. </block>
  184. <!-- 更多操作 -->
  185. <block v-if="mtype=='fxmore'">
  186. <view @click="getShFn('fxbmsh')" v-if="auditSchedule==6&&checkPermi(['system:application:sh'])">审核</view>
  187. <view @click="getIssureFn(13)">出具材料合规表</view>
  188. <!-- <view @click="getfjEdit('clhgb')">上传附件</view> -->
  189. <view @click="getfjEdit('clhgb')">上传材料合规表</view>
  190. <view v-if="checkPermi(['system:application:cx'])" @click="getCxFn">撤回</view>
  191. </block>
  192. <!-- 风险部门 end -->
  193. <!-- 上会管理员 start -->
  194. <block v-if="mtype=='shmore'">
  195. <view @click="getIssureFn(12)">出具评审意见签批表</view>
  196. <!-- <view @click="getIssureFn()">上会纪要</view> -->
  197. <view @click="getIssureFn(11)">出具股东会决议</view>
  198. <view @click="getfjEdit('psyjqpb')">上传评审意见签批表</view>
  199. <view @click="getfjEdit('gdhyjy')">上传上会纪要</view>
  200. </block>
  201. <!-- 上会管理员 end -->
  202. <!-- 合同签约 start -->
  203. <!-- 合同上传信息 -->
  204. <block v-if="mtype=='htsc'">
  205. <view @click="getfjEdit('wtdbht')">上传委托保证合同</view>
  206. <block v-if="datainfo.guaranteeType=='2'">
  207. <view @click="getfjEdit('bzfdbhtfr')">上传保证反担保合同(法人)</view>
  208. <view @click="getfjEdit('bzfdbhtzrr')">上传保证反担保合同(自然人)</view>
  209. </block>
  210. <block v-if="datainfo.guaranteeType=='1'">
  211. <view @click="getfjEdit('dyfdbhtfr')">上传抵押反担保合同(法人)</view>
  212. <view @click="getfjEdit('dyfdbhtzrr')">上传抵押反担保合同(自然人)</view>
  213. </block>
  214. <view @click="getQtfjEdit('qtfj')">其他附件</view>
  215. <!-- 其他附件 都给放 -->
  216. </block>
  217. <block v-if="mtype=='htqy'">
  218. <view @click="getIssureFn(2)">委托保证合同</view>
  219. <block v-if="datainfo.guaranteeType=='2'">
  220. <view @click="getIssureFn(5)">保证反担保合同(法人)</view>
  221. <view @click="getIssureFn(6)">保证反担保合同(自然人)</view>
  222. </block>
  223. <block v-if="datainfo.guaranteeType=='1'">
  224. <view @click="getIssureFn(7)">抵押反担保合同(法人)</view>
  225. <view @click="getIssureFn(8)">抵押反担保合同(自然人)</view>
  226. <!-- <view @click="getIssureFn(9)">权利质权反担保合同(适用于法人)</view>
  227. <view @click="getIssureFn(10)">权利质权反担保合同(适用于自然人)</view> -->
  228. </block>
  229. </block>
  230. <!-- 合同签约 end -->
  231. </view>
  232. <!-- <view class="surbtns" @click="getMoreSure">确认</view> -->
  233. </view>
  234. <pop-up :type="type" :shtg="shtg" :loanApplicationId="datainfo.loanApplicationId" :loanApplicationNumber="datainfo.loanApplicationNumber" :userList="userList"
  235. :stepList="stepList" :wjcjobj='wjcjobj' :qtfjobj="qtfjobj" :stepval="stepval" :fjval="fjval"
  236. @getfjAdd="getfjAdd"
  237. @getClose="getClose" @getupSubmit="getupSubmit" @getSure="getSure"></pop-up>
  238. </view>
  239. </template>
  240. <script>
  241. import config from '@/config'
  242. const baseUrl = config.baseUrl
  243. const baseName = config.baseName
  244. import popUp from "@/work/components/popup/popup.vue"
  245. import aqyxx from "@/work/components/business/aqyxx.vue"
  246. import bfrxx from "@/work/components/business/bfrxx.vue"
  247. import cfdbrxx from "@/work/components/business/cfdbrxx.vue"
  248. import dfjxx from "@/work/components/business/dfjxx.vue"
  249. import ewjcj from "@/work/components/business/ewjcj.vue"
  250. import fshxx from "@/work/components/business/fshxx.vue"
  251. import {uploadmore,selectValue} from '@/utils/common.js'
  252. import {getDictionaryFn} from "@/api/mine/register.js"
  253. import {getUsernoPageList,getFjAdd,getFjDel} from "@/api/common.js"
  254. import {getApplicationDet,getScheduleList,getHyperlinkList,getApplicationDel,getApplicationSh,getCommentsList,getApplicationSs,getApplicationCx,getapplicationGd,getapplicationXib,getExportMb} from "@/api/mine/work.js"
  255. import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
  256. export default{
  257. components:{aqyxx,bfrxx,cfdbrxx,dfjxx,ewjcj,fshxx,popUp},
  258. data(){
  259. return{
  260. start:require('@/work/static/images/start.png'),
  261. titimg:require('@/work/static/images/infotit.png'),
  262. speedimg:require('@/work/static/images/speed.png'),
  263. gdicoimg:require('@/work/static/images/gdico.png'),
  264. tabval:0,
  265. type:'',
  266. tabList:[{tit:"企业信息",val:0},{tit:"法人信息",val:1},{tit:"反担保人信息",val:2},{tit:"附件信息",val:3},{tit:"文件出具",val:4},{tit:"审核信息",val:5},],
  267. stepList:[],
  268. stepval:0,
  269. gdflag:false,
  270. auditSchedule:'',//审核进度
  271. mtype:'',
  272. minheight:0,
  273. listTop:0,//距离顶部的距离
  274. fixedflag:false,
  275. dblxlist:[],
  276. sdyhlist:[],
  277. qyinfo:{},//企业信息
  278. datainfo:{
  279. // "createBy": "",//
  280. // "createTime": null,//
  281. // "updateBy": "",//
  282. // "updateTime": null,//
  283. // "remark": null,//
  284. "loanApplicationId": '',//贷款申请id
  285. "loanApplicationNumber": "",//贷款申请编号
  286. "applicationAmount": '',//申请额度(万元)
  287. "applicationBank": "",//申请银行
  288. "usagePeriod": "",//使用期限(月)
  289. "purposeFunds": "",//资金用途
  290. "repaymentSource": "",//还款来源
  291. "enterpriseName": "",//企业名称
  292. 'sysUserEnterprise':{},//企业对象具体字段查看营业执照
  293. "categoryType": "",//行业类型
  294. "isMake": "N",//是否是制造业
  295. "isNew": "N",//是否是精特新
  296. "isSmall": "N",//是否是小微企业
  297. "isDuty": "N",//是否是免税企业
  298. "companyIntroduction": "",//公司简介
  299. "customerType": "",//用户类型
  300. "corporationFront": "",//法人身份证正面
  301. "corporationBack": "",//法人身份证反面
  302. "corporationName": "",// 法人姓名
  303. "corporationIdCard": "",//法人身份证号
  304. "corporationPhone": "",// 法人手机号
  305. "familyPopulation": "",//家庭人口数
  306. "corporationJob": "",//法人职业
  307. "isLoan": "",//有无贷款
  308. "receivablePay": "",//应收应付款
  309. "businessSituation": "",//经营情况
  310. "businessEfficiency": "",//经营效益
  311. "corporationMaritalStatus": "",//法人婚姻状态
  312. "spouseFront": "",//配偶身份证正面
  313. "spouseBack": "",//配偶身份证反面
  314. "spouseName": "",//配偶姓名
  315. "spouseIdCard": "",//配偶身份证号
  316. "spousePhone": "",//配偶手机号
  317. "guaranteeType": "",//担保类型
  318. "guaranteeFront": "",//反担保人身份证正面
  319. "guaranteeBack": "",//反担保人身份证反面
  320. "guaranteeName": "",//反担保人姓名
  321. "guaranteeIdCard": "",//反担保人身份证号
  322. "guaranteePhone": "",//反担保人手机号
  323. // "guaranteeMaritalStatus": "",//反担保人婚姻状态
  324. // "guaranteeSpouseFront": "",//反担保人配偶身份证正面
  325. // "guaranteeSpouseBack": "",//反担保人配偶身份证反面
  326. // "guaranteeSpouseName": "",//反担保人配偶姓名
  327. // "guaranteeSpouseIdCard": "",//反担保人配偶身份证号
  328. // "guaranteeSpousePhone": "",//反担保人配偶手机号
  329. // "userId": '',//申请人用户ID
  330. // "idCard": "",//申请人身份证号码
  331. // "applicationTime": "",//申请时间
  332. "fileTime": "",//归档时间
  333. "loanSchedule": "",//贷款申请进度(业务进度表查询进度列表):1:申报提交2:业务审核/分配 3:担保初审 4:尽职调查 5:初审风险合规 6:评审会 7:合同签约 8:放款合规风险审核 9:放款通知 10:归档
  334. "loanScheduleName": '',//贷款申请进度名称(中文字)
  335. "auditSchedule": "",//审核进度1:担保初审 2:A角色审核 3:B角色审核 4:风险审核 5:尽职调查 6:上会评审
  336. "auditType": "",//审核状态 1:待审核 2:已通过 3:未通过 4:申诉
  337. "loanApplicationType": "",//贷款申请状态 1:暂存 2:正常 3:回收站 4:归档
  338. "aUserId": "",//A角色用户ID
  339. "aUserName": "",//A角色用户名称
  340. "bUserId": "",//B角色用户ID
  341. "bUserName": "",//B角色用户名称
  342. "shareholderFjList": [],//全体股东信息附件
  343. "loanApplicationFjList": [],//相关附件
  344. "basicFj": {},//基础附件
  345. "declareFj": {},//申报附件
  346. "fileFj": {},//文件出具
  347. "otherFj": {},//其他附件 key值是type类型 value值具体字段查看相关附件新增
  348. },
  349. gdlists:[],//股东信息
  350. basicFj:{},//基础附件
  351. yhlxlist:[],//用户类型
  352. hyztlist:[],//婚姻状态
  353. sbfjlist:[],//申报附件
  354. wjcjlist:[],//文件出具
  355. linkList:[],//外部链接
  356. userList:[],//用户列表
  357. shjdlist:[],//审核进度
  358. shlist:[],//审核信息
  359. shinfo:{},//审核信息
  360. wjcjobj:{},//文件出具对象
  361. qtfjobj:{'qtfj':"其他附件"},//其他附件
  362. qtfjlist:[],//其他附件
  363. fjval:'',//附件类型
  364. userId:this.$store.state.user.userId,
  365. contype:'',//二次确认弹窗
  366. mval:-1,
  367. mite:"",
  368. shtg:'',
  369. }
  370. },
  371. onUnload() {
  372. uni.$off('refreshywlist')
  373. },
  374. onLoad(e) {
  375. this.id=e.id;
  376. uni.$on('refreshywlist',(e) => {
  377. this.getDetail();
  378. })
  379. this.init()
  380. this.getDetail();
  381. this.getScheduleList();
  382. // if(checkPermi(['system:hyperlink:list'])){
  383. // this.getHyperlinkList();//外部链接stepval==5
  384. // }
  385. // if(checkPermi(['system:user:noPageList'])){
  386. // this.getUsernoPageList();//获取用户列表stepval==2||stepval==6
  387. // }
  388. this.getCommentsList()//审核意见
  389. },
  390. mounted() {
  391. var that=this;
  392. uni.getSystemInfo({
  393. success: (e) => {
  394. this.minheight = e.screenHeight- 50;
  395. }
  396. })
  397. setTimeout(function(){
  398. that.getHeightFn()
  399. },200)
  400. },
  401. onPageScroll(e) {
  402. var scrollTop = Number(e.scrollTop);
  403. var listTop=Number(this.listTop)
  404. if(scrollTop>listTop){
  405. this.fixedflag=true
  406. }else{
  407. this.fixedflag=false
  408. }
  409. },
  410. methods:{
  411. checkPermi, checkRole,
  412. kaType(ite,list){
  413. return selectValue(list, ite);
  414. },
  415. getedit(){
  416. var obj={
  417. type:'edit',
  418. id:this.id,
  419. }
  420. this.$tab.navigateTo('/work/pages/business/add?data='+encodeURIComponent(JSON.stringify(obj)))
  421. },
  422. // 删除
  423. getDelwjFj(id){
  424. var that=this;
  425. uni.showModal({
  426. title: '确认删除',
  427. content: "是否确认删除",
  428. cancelText: '取消',
  429. confirmText: '确认',
  430. success: function(res) {
  431. if (res.confirm) {
  432. getFjDel(id).then(res=>{
  433. if(res.code==200){
  434. that.$toast("删除成功")
  435. setTimeout(function(){
  436. that.getDetail()
  437. },1200)
  438. }
  439. })
  440. } else if (res.cancel) {
  441. }
  442. }
  443. });
  444. },
  445. getfjEdit(ite){
  446. this.type='fjadd';
  447. this.mtype='';
  448. this.fjval=ite
  449. },
  450. getQtfjEdit(val){
  451. this.type='qtfjadd';
  452. this.mtype='';
  453. this.fjval=val
  454. },
  455. // 业务进度
  456. getScheduleList(){
  457. var params={
  458. loanApplicationId:this.id
  459. }
  460. getScheduleList(params).then(res=>{
  461. if(res.code==200){
  462. this.stepList=res.data
  463. }
  464. })
  465. },
  466. getWebUel(url){
  467. // this.mval=idx;
  468. // this.mite=ite
  469. this.mtype='';
  470. this.$tab.navigateTo("/pages/common/webview/index?url="+url)
  471. },
  472. getMoreSure(){
  473. var mttype=this.mtype;
  474. var mite=this.mite;
  475. if(mttype=='wb'){
  476. this.mtype='';
  477. this.$tab.navigateTo("/pages/common/webview/index?url="+mite.url)
  478. }
  479. },
  480. // 外部链接
  481. getHyperlinkList(){
  482. var params={
  483. type:1
  484. }
  485. getHyperlinkList(params).then(res=>{
  486. if(res.code==200){
  487. this.linkList=res.rows
  488. }
  489. })
  490. },
  491. // 用户-列表
  492. //用户类型(00系统用户 01注册用户 02管理用户
  493. getUsernoPageList(){
  494. var params={
  495. userType:'02'
  496. }
  497. getUsernoPageList(params).then(res=>{
  498. if(res.code==200){
  499. this.userList=res.rows
  500. }
  501. })
  502. },
  503. getCommentsList(){
  504. var params={
  505. loanApplicationId:this.id,
  506. }
  507. getCommentsList(params).then(res=>{
  508. if(res.code==200){
  509. var newArr=res.rows;
  510. newArr.forEach(ite=>{
  511. if(ite.imageUrl){
  512. ite.imageUrl=ite.imageUrl.split(',')
  513. }
  514. })
  515. this.shlist=newArr
  516. // this.shlist = res.rows.map(v => {
  517. // return {
  518. // auditType: v.auditType,
  519. // auditView: v.auditView,
  520. // fjUrl:v.fjUrl,
  521. // imageUrl:v.imageUrl.split(',')||v.imageUrl
  522. // }
  523. // })
  524. // this.shlist=res.rows
  525. }
  526. })
  527. },
  528. init(){
  529. // 用户类型
  530. getDictionaryFn('customer_type').then(res=>{
  531. if(res.code==200){
  532. this.yhlxlist = res.data.map(v => {
  533. return {
  534. label: v.dictLabel,
  535. value: v.dictValue
  536. }
  537. })
  538. }
  539. })
  540. // 婚姻状况
  541. getDictionaryFn('marital_status').then(res=>{
  542. if(res.code==200){
  543. this.hyztlist = res.data.map(v => {
  544. return {
  545. label: v.dictLabel,
  546. value: v.dictValue
  547. }
  548. })
  549. }
  550. })
  551. // 申贷银行
  552. getDictionaryFn('shendai_bank').then(res=>{
  553. if(res.code==200){
  554. this.sdyhlist = res.data.map(v => {
  555. return {
  556. label: v.dictLabel,
  557. value: v.dictValue
  558. }
  559. })
  560. }
  561. })
  562. //担保类型
  563. getDictionaryFn('guarantee_type').then(res=>{
  564. if(res.code==200){
  565. this.dblxlist = res.data.map(v => {
  566. return {
  567. label: v.dictLabel,
  568. value: v.dictValue
  569. }
  570. })
  571. }
  572. })
  573. // 附件信息
  574. getDictionaryFn('application_fj_sb').then(res=>{
  575. if(res.code==200){
  576. this.sbfjlist = res.data.map(v => {
  577. return {
  578. label: v.dictLabel,
  579. val: v.dictValue,
  580. fjlist:[]
  581. }
  582. })
  583. }
  584. })
  585. // // 文件出具
  586. getDictionaryFn('application_fj_wjcj').then(res=>{
  587. if(res.code==200){
  588. var obj={}
  589. this.wjcjlist = res.data.map(v => {
  590. // var key=v.dictValue
  591. obj[v.dictValue]=v.dictLabel
  592. return {
  593. label: v.dictLabel,
  594. val: v.dictValue,
  595. fjlist:[]
  596. }
  597. })
  598. this.wjcjobj=obj
  599. }
  600. })
  601. // 其他附件
  602. // getDictionaryFn('application_fj_other').then(res=>{
  603. // if(res.code==200){
  604. // var obj={}
  605. // this.qtfjlist = res.data.map(v => {
  606. // // var key=v.dictValue
  607. // obj[v.dictValue]=v.dictLabel
  608. // return {
  609. // label: v.dictLabel,
  610. // val: v.dictValue,
  611. // fjlist:[]
  612. // }
  613. // })
  614. // this.qtfjobj=obj
  615. // console.log(obj,1)
  616. // }
  617. // })
  618. //审核进度
  619. getDictionaryFn('audit_schedule').then(res=>{
  620. if(res.code==200){
  621. this.shjdlist = res.data.map(v => {
  622. return {
  623. label: v.dictLabel,
  624. value: v.dictValue,
  625. }
  626. })
  627. }
  628. })
  629. },
  630. getTab(val){
  631. this.tabval=val;
  632. uni.pageScrollTo({
  633. scrollTop: Number(this.listTop),
  634. duration: 0
  635. })
  636. if(val==5){
  637. this.getCommentsList()
  638. }
  639. },
  640. // 出具
  641. getIssureFn(type){
  642. var that=this;
  643. var params={
  644. type:type,
  645. loanApplicationId:this.id,
  646. }
  647. getExportMb(params).then(res=>{
  648. if(res.code==200){
  649. var data=res.data;
  650. var path=data.path;
  651. var name=data.fileName;
  652. this.getDown(path)
  653. // that.getDownloader(path,name)
  654. }
  655. })
  656. },
  657. getDownloader(path,name){
  658. console.log(url)
  659. var that=this;
  660. // var url='http://192.168.101.245:8056/profile/upload/RZDB202405101456481709599/上一年度财务报表_20240510151142A015.xlsx'
  661. // #ifdef APP-PLUS
  662. var url = baseUrl + path;
  663. let dtask = plus.downloader.createDownload(url, {
  664. filename: 'file://storage/emulated/0/'+baseName+'/' + name
  665. }, (d, status) => {
  666. //d为下载的文件对象
  667. if (status == 200) {
  668. uni.hideLoading();
  669. uni.showToast({
  670. icon: 'none',
  671. mask: true,
  672. title: '已保存到文件夹:/'+baseName+'/'+ name, //保存路径
  673. duration: 3000,
  674. });
  675. //下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
  676. let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
  677. setTimeout(() => {
  678. plus.runtime.openFile(d.filename); //选择软件打开文件
  679. }, 1500)
  680. } else {
  681. //下载失败
  682. uni.hideLoading();
  683. plus.downloader.clear(); //清除下载任务
  684. uni.showToast({
  685. icon: 'none',
  686. mask: true,
  687. title: '下载失败,请稍后重试',
  688. });
  689. }
  690. })
  691. dtask.start();
  692. // #endif
  693. },
  694. getClose(){
  695. this.type='';
  696. this.mtype='';
  697. },
  698. getupSubmit(data){
  699. this.shinfo=JSON.parse(JSON.stringify(data))
  700. var type=this.type;
  701. if(type=='ajssh'||type=='bjssh'){
  702. this.contype=this.type
  703. this.type='confirm'
  704. this.shtg=data.auditType
  705. }else{
  706. this.getApplicationSh()
  707. }
  708. },
  709. getSure(){
  710. this.getApplicationSh()
  711. },
  712. getfjAdd(data){
  713. var that=this;
  714. var params=JSON.parse(JSON.stringify(data));
  715. var fjUrl=params.fjUrl
  716. // params.loanApplicationId=this.id;
  717. // params.loanApplicationNumber=this.datainfo.loanApplicationNumber;
  718. // params.auditSchedule=this.auditSchedule;
  719. getFjAdd(fjUrl).then(res=>{
  720. if(res.code==200){
  721. that.$toast('上传附件成功')
  722. setTimeout(function(){
  723. that.getDetail();
  724. uni.$emit('refreshdatalist')
  725. that.type=''
  726. },1200)
  727. }
  728. })
  729. },
  730. getApplicationSh(){
  731. var that=this;
  732. var params=this.shinfo;
  733. params.loanApplicationId=this.id;
  734. params.loanApplicationNumber=this.datainfo.loanApplicationNumber;
  735. params.auditSchedule=this.auditSchedule;
  736. getApplicationSh(params).then(res=>{
  737. if(res.code==200){
  738. that.$toast('审核成功')
  739. setTimeout(function(){
  740. that.getDetail();
  741. uni.$emit('refreshdatalist')
  742. that.type=''
  743. },1200)
  744. }
  745. })
  746. },
  747. getShFn(type){
  748. this.type=type;
  749. this.mtype='';
  750. },
  751. getSsFn(){
  752. var that=this;
  753. uni.showModal({
  754. title: '确认申诉',
  755. content: "是否确认申诉",
  756. cancelText: '取消',
  757. confirmText: '确认',
  758. success: function(res) {
  759. if (res.confirm) {
  760. var params={
  761. loanApplicationId:that.id,
  762. aUserId:that.datainfo.aUserId
  763. }
  764. getApplicationSs(params).then(res=>{
  765. if(res.code==200){
  766. that.$toast("申诉成功")
  767. setTimeout(function(){
  768. that.getDetail();
  769. uni.$emit('refreshdatalist')
  770. // uni.navigateBack({
  771. // delta:1
  772. // })
  773. },1200)
  774. }
  775. })
  776. } else if (res.cancel) {
  777. }
  778. }
  779. });
  780. },
  781. getCxFn(){
  782. var that=this;
  783. uni.showModal({
  784. title: '确认撤销',
  785. content: "是否确认撤销",
  786. cancelText: '取消',
  787. confirmText: '确认',
  788. success: function(res) {
  789. if (res.confirm) {
  790. var params={
  791. loanApplicationId:that.id,
  792. auditSchedule:that.auditSchedule,
  793. loanSchedule:that.datainfo.loanSchedule,
  794. loanApplicationType:that.datainfo.loanApplicationType,
  795. auditType:that.datainfo.auditType
  796. }
  797. getApplicationCx(params).then(res=>{
  798. if(res.code==200){
  799. that.$toast("撤销成功")
  800. setTimeout(function(){
  801. uni.$emit('refreshywlist')
  802. // uni.navigateBack({
  803. // delta:1
  804. // })
  805. },1200)
  806. }
  807. })
  808. } else if (res.cancel) {
  809. }
  810. }
  811. });
  812. },
  813. getXybFn(){
  814. var that=this;
  815. uni.showModal({
  816. title: '确认推进',
  817. content: "是否确认推进",
  818. cancelText: '取消',
  819. confirmText: '确认',
  820. success: function(res) {
  821. if (res.confirm) {
  822. var params={
  823. loanApplicationId:that.id,
  824. // auditSchedule:that.auditSchedule,
  825. loanSchedule:that.datainfo.loanSchedule,
  826. // loanApplicationType:that.datainfo.loanApplicationType
  827. }
  828. getapplicationXib(params).then(res=>{
  829. if(res.code==200){
  830. that.$toast("推进成功")
  831. setTimeout(function(){
  832. uni.$emit('refreshywlist')
  833. },1200)
  834. }
  835. })
  836. } else if (res.cancel) {
  837. }
  838. }
  839. });
  840. },
  841. getGdFn(){
  842. var that=this;
  843. uni.showModal({
  844. title: '确认归档',
  845. content: "是否确认归档",
  846. cancelText: '取消',
  847. confirmText: '确认',
  848. success: function(res) {
  849. if (res.confirm) {
  850. var params={
  851. loanApplicationId:that.id,
  852. auditSchedule:that.auditSchedule,
  853. loanSchedule:that.datainfo.loanSchedule,
  854. loanApplicationType:that.datainfo.loanApplicationType,
  855. loanApplicationNumber:that.datainfo.loanApplicationNumber,
  856. auditType:that.datainfo.auditType
  857. }
  858. getapplicationGd(params).then(res=>{
  859. if(res.code==200){
  860. that.$toast("归档成功")
  861. setTimeout(function(){
  862. uni.$emit('refreshywlist')
  863. // uni.navigateBack({
  864. // delta:1
  865. // })
  866. },1200)
  867. }
  868. })
  869. } else if (res.cancel) {
  870. }
  871. }
  872. });
  873. },
  874. getMoreFn(type){
  875. this.mtype=type;
  876. this.mval=-1;
  877. this.mtit=''
  878. },
  879. getSpeedFn(){
  880. if(this.type){
  881. this.type=''
  882. }else{
  883. this.type='ywjd'
  884. }
  885. },
  886. getQmFn(url){
  887. this.$tab.navigateTo("/work/pages/business/sign?url="+encodeURIComponent(JSON.stringify(url)))
  888. },
  889. getDel(){
  890. var that=this;
  891. uni.showModal({
  892. title: '确认删除',
  893. content: "是否确认删除",
  894. cancelText: '取消',
  895. confirmText: '确认',
  896. success: function(res) {
  897. if (res.confirm) {
  898. getApplicationDel(that.id).then(res=>{
  899. if(res.code==200){
  900. that.$toast("删除成功")
  901. setTimeout(function(){
  902. uni.$emit('refreshdatalist')
  903. uni.navigateBack({
  904. delta:1
  905. })
  906. },1200)
  907. }
  908. })
  909. } else if (res.cancel) {
  910. }
  911. }
  912. });
  913. },
  914. getDetail(){
  915. getApplicationDet(this.id).then(res=>{
  916. if(res.code==200){
  917. this.datainfo=res.data;
  918. this.auditSchedule=res.data.auditSchedule
  919. if(res.data.sysUserEnterprise){
  920. this.qyinfo=res.data.sysUserEnterprise
  921. }
  922. if(res.data.basicFj){
  923. this.basicFj=res.data.basicFj;
  924. }
  925. this.stepval=res.data.loanSchedule||0;
  926. var auditSchedule=res.data.auditSchedule
  927. if(checkPermi(['system:hyperlink:list'])&&auditSchedule==6){
  928. this.getHyperlinkList();//外部链接stepval==5
  929. }else if(auditSchedule==1||auditSchedule==7){
  930. if(checkPermi(['system:user:noPageList'])){
  931. this.getUsernoPageList();//获取用户列表stepval==2||stepval==6
  932. }
  933. }
  934. }
  935. })
  936. },
  937. getHeightFn(){
  938. let query = uni.createSelectorQuery().in(this);
  939. //需要给黄色区域设置一个id标识,在这里是demo
  940. query.select('.zxtop').boundingClientRect(data => {
  941. this.listTop = data.height//赋值,待会要用
  942. }).exec();
  943. },
  944. getPreview(url) {
  945. var newArr=[];
  946. newArr.push(url)
  947. uni.previewImage({
  948. urls: newArr,
  949. current:0,
  950. success: function(data) {
  951. },
  952. fail: function(err) {
  953. }
  954. });
  955. },
  956. onuploadEnd(item) {
  957. var newobj={}
  958. var responseText=JSON.parse(item.responseText)
  959. newobj.name=responseText.originalFilename;
  960. newobj.url=responseText.fileName;
  961. this.filelist.push(newobj)
  962. // this.datainfo.zsyzFjList=JSON.parse(JSON.stringify(this.filelist))
  963. },
  964. getXzFn(ite){
  965. // 本地路径开头使用file://,跟上手机文件本地目录storage/emulated/0,
  966. // 后缀是用于文件命名和格式修改,大家可以使用变量。
  967. var url = baseUrl + ite.url;
  968. var name=ite.name;
  969. let dtask = plus.downloader.createDownload(url, {
  970. filename: 'file://storage/emulated/0/'+baseName+'/' + name
  971. }, (d, status) => {
  972. //d为下载的文件对象
  973. if (status == 200) {
  974. uni.hideLoading();
  975. uni.showToast({
  976. icon: 'none',
  977. mask: true,
  978. title: '已保存到文件夹:/'+baseName+'/'+ name, //保存路径
  979. duration: 3000,
  980. });
  981. //下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
  982. let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
  983. setTimeout(() => {
  984. plus.runtime.openFile(d.filename); //选择软件打开文件
  985. }, 1500)
  986. } else {
  987. //下载失败
  988. uni.hideLoading();
  989. plus.downloader.clear(); //清除下载任务
  990. uni.showToast({
  991. icon: 'none',
  992. mask: true,
  993. title: '下载失败,请稍后重试',
  994. });
  995. }
  996. })
  997. dtask.start();
  998. },
  999. getDown(e){
  1000. uni.showLoading({
  1001. title: '加载中'
  1002. });
  1003. var url=baseUrl+e;
  1004. uni.downloadFile({
  1005. url: url,//文件的下载路径
  1006. success(result) {
  1007. uni.hideLoading()
  1008. var filePath = result.tempFilePath;
  1009. uni.openDocument({
  1010. filePath: filePath,
  1011. showMenu: true,
  1012. success: function (res) {
  1013. // console.log('打开文档成功');
  1014. }
  1015. });
  1016. },
  1017. fail(res) {uni.hideLoading()}
  1018. })
  1019. },
  1020. }
  1021. }
  1022. </script>
  1023. <style lang="scss" scoped>
  1024. .failtit{background: #FFECEC;font-weight: 500;font-size: 26rpx;color: #FF6969;text-align: center;line-height: 36rpx;padding: 22rpx;}
  1025. .zxtop{padding-bottom: 2rpx;}
  1026. .detop{background: #FFFFFF;padding:0rpx 24rpx;margin-bottom: 28rpx;flex: 0 0 auto;
  1027. position: relative;
  1028. .head{
  1029. padding: 40rpx 2rpx;border-bottom: 2rpx solid #E6E6E6;
  1030. .top{display: flex;align-items: center;overflow: hidden;
  1031. .toptit{font-weight: bold;font-size: 40rpx;color: #222327;}
  1032. .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;
  1033. image{width: 22rpx;height: 22rpx;margin-left: 6rpx;}
  1034. }
  1035. }
  1036. .adr{font-weight: 500;font-size: 26rpx;color: #666666;margin-top: 12rpx;}
  1037. }
  1038. .deta{display: flex;flex-wrap: wrap;padding: 16rpx 0 28rpx;
  1039. .lists{padding:20rpx 0;width: 33.3%;display: flex;flex-direction: column;align-items: center;position: relative;
  1040. &::after{width: 2rpx;height: 60rpx;background: #E6E6E6;content: '';position: absolute;right: 0;top: 50%;margin-top: -30rpx;}
  1041. &:nth-of-type(3n){
  1042. &::after{display: none;}
  1043. }
  1044. .tit{font-weight: 500;font-size: 26rpx;color: #AAAAAA;margin-bottom: 38rpx;}
  1045. .txt{font-weight: bold;font-size: 30rpx;color: #222327;
  1046. text{font-size: 26rpx;color: #666666;font-weight: normal;}
  1047. }
  1048. }
  1049. }
  1050. }
  1051. .details{
  1052. // display: flex;flex-direction: column;height: 100vh;overflow: hidden;
  1053. }
  1054. .main{background-color: #FFFFFF;flex: 1;display: flex;flex-direction: column;overflow: hidden;
  1055. .tabs{padding: 0 6rpx 0 36rpx;display: flex;flex-wrap: nowrap;overflow: auto;flex: 0 0 auto;
  1056. &.tabfix{position: fixed;left: 0;right: 0;z-index: 2;top: 0;background-color: #ffffff;border-bottom: 2rpx solid #E6E6E6;}
  1057. .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;
  1058. &.act{color: #00A9F0;font-weight: bold;
  1059. &::after{width: 100%;background: #00A9F0;position: absolute;left: 0;bottom: 0;
  1060. border-radius: 2rpx;height: 4rpx;content: '';}
  1061. }
  1062. }
  1063. }
  1064. .mainb{flex: 1;overflow: auto;}
  1065. }
  1066. .speed{width: 96rpx;height: 140rpx;background: #FFFFFF;box-shadow: 0px 0px 14rpx 0px rgba(184,184,184,0.76);border-radius: 20rpx;
  1067. display: flex;align-items: center;flex-direction: column;justify-content: center;
  1068. position: absolute;right: 28rpx;top: 86rpx;z-index: 2;padding: 0 6rpx;
  1069. image{width: 26rpx;height: 28rpx;margin-bottom: 8rpx;}
  1070. view{font-weight: 500;font-size: 22rpx;color: #666666;}
  1071. }
  1072. .gdimg{width: 110rpx;height: 86rpx;position: absolute;right: 40rpx;top: 130rpx;}
  1073. //
  1074. .footbtns{width: 100%;height: 100rpx;position: fixed;left: 0;right: 0;bottom: 0;display: flex;
  1075. .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;
  1076. &.bga{background: $com-cd3;color: #FFFFFF;}
  1077. &.bgb{background: #FFFFFF;;color: $com-cd3;}
  1078. &.bgc{background: #DF0303;;color: #FFFFFF;}
  1079. }
  1080. }
  1081. .morebox{
  1082. position: fixed;left: 0;right: 0;bottom: 0;z-index: 10;
  1083. .molists{
  1084. 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;
  1085. box-sizing: border-box;
  1086. &.mcoa{color: #00A9F0;}
  1087. }
  1088. }
  1089. .surbtns{
  1090. width: 100%;height: 100rpx;background: #00A9F0;display: flex;align-items: center;justify-content: center;
  1091. font-size: 30rpx;color: #ffffff;margin-top: 24rpx;
  1092. }
  1093. }
  1094. </style>