details.vue 45 KB

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