details.vue 35 KB

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