details.vue 53 KB

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