details.vue 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. <template>
  2. <view class="details">
  3. <view class="detop">
  4. <view class="head">
  5. <view class="top">
  6. <view class="toptit">安徽嘉欣医疗用品有限公司</view>
  7. <view class="statbox">专精特新<image :src="start"></image></view>
  8. </view>
  9. <view class="adr">企业地址 | 潜山市经济开发区</view>
  10. <view class="adr">申报时间 | 2024-03-21 15:12:48</view>
  11. <view class="adr">归档时间 | 2024-03-21 15:12:48</view>
  12. </view>
  13. <view class="deta">
  14. <view class="lists">
  15. <view class="tit">申请额度</view>
  16. <view class="txt">500<text>/万元</text></view>
  17. </view>
  18. <view class="lists">
  19. <view class="tit">使用期限</view>
  20. <view class="txt">12<text>/个月</text></view>
  21. </view>
  22. <view class="lists">
  23. <view class="tit">申贷银行</view>
  24. <view class="txt">农商行</view>
  25. </view>
  26. <view class="lists">
  27. <view class="tit">资金用途</view>
  28. <view class="txt">流动资金周转</view>
  29. </view>
  30. <view class="lists">
  31. <view class="tit">还款来源</view>
  32. <view class="txt">营业收入</view>
  33. </view>
  34. <view class="lists">
  35. <view class="tit">担保类型</view>
  36. <view class="txt">担保贷款</view>
  37. </view>
  38. </view>
  39. </view>
  40. <!-- 归档 归档后没有业务进度-->
  41. <image :src="gdicoimg" class="gdimg" v-if="gdflag"></image>
  42. <view class="speed" v-else @click="getSpeedFn" :style="type=='ywjd'?'z-index: 6;':''">
  43. <image :src="speedimg"></image>
  44. <view>业务进度</view>
  45. </view>
  46. <view class="main">
  47. <!-- tab -->
  48. <view class="tabs">
  49. <view class="tab" :class="tabval==ite.val?'act':''" v-for="(ite,idx) in tabList" :key="idx" @click="getTab(ite.val)">{{ite.tit}}</view>
  50. </view>
  51. <!-- 企业信息 -->
  52. <view class="mainb">
  53. <block v-if="tabval==0">
  54. <aqyxx @getDown="getDown" :datainfo="datainfo"></aqyxx>
  55. </block>
  56. <block v-if="tabval==1">
  57. <bfrxx @getDown="getDown" :datainfo="datainfo"></bfrxx>
  58. </block>
  59. <block v-if="tabval==2">
  60. <cfdbrxx @getDown="getDown" :datainfo="datainfo"></cfdbrxx>
  61. </block>
  62. <block v-if="tabval==3">
  63. <dfjxx @getDown="getDown" :datainfo="datainfo"></dfjxx>
  64. </block>
  65. <block v-if="tabval==4">
  66. <ewjcj @getDown="getDown" :datainfo="datainfo"></ewjcj>
  67. </block>
  68. </view>
  69. <!-- 法人信息 -->
  70. </view>
  71. <block v-if="!gdflag">
  72. <view class="h50"></view>
  73. <view class="footbtns">
  74. <view class="fbtns bga" @click="getShFn">审核</view>
  75. <view class="fbtns bgb">上传文件</view>
  76. <view class="fbtns bga" @click="getSubmit">查看担保意向函</view>
  77. </view>
  78. </block>
  79. <pop-up :type="type" :stepList="stepList" :stepval="stepval" @getClose="getClose"></pop-up>
  80. </view>
  81. </template>
  82. <script>
  83. import config from '@/config'
  84. const baseUrl = config.baseUrl
  85. import popUp from "@/work/components/popup/popup.vue"
  86. import aqyxx from "@/work/components/business/aqyxx.vue"
  87. import bfrxx from "@/work/components/business/bfrxx.vue"
  88. import cfdbrxx from "@/work/components/business/cfdbrxx.vue"
  89. import dfjxx from "@/work/components/business/dfjxx.vue"
  90. import ewjcj from "@/work/components/business/ewjcj.vue"
  91. import {uploadmore} from '@/utils/common.js'
  92. import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
  93. export default{
  94. components:{aqyxx,bfrxx,cfdbrxx,dfjxx,ewjcj,popUp},
  95. data(){
  96. return{
  97. start:require('@/work/static/images/start.png'),
  98. titimg:require('@/work/static/images/infotit.png'),
  99. speedimg:require('@/work/static/images/speed.png'),
  100. gdicoimg:require('@/work/static/images/gdico.png'),
  101. datainfo:{},
  102. tabval:3,
  103. type:'',
  104. tabList:[{tit:"企业信息",val:0},{tit:"法人信息",val:1},{tit:"反担保人信息",val:2},{tit:"附件信息",val:3},{tit:"文件出具",val:4},],
  105. stepList:[
  106. {tit:"业务审核、分配",time:'2024-03-10 16:12',val:0},
  107. {tit:"担保初审",time:'2024-03-10 16:12',val:1},
  108. {tit:"尽职调查",time:'2024-03-10 16:12',val:2},
  109. {tit:"初审风险合规",time:'2024-03-10 16:12',val:3},
  110. {tit:"评审会",time:'2024-03-10 16:12',val:4},
  111. {tit:"合同签约",time:'2024-03-10 16:12',val:4},
  112. {tit:"放款合规风险审核",time:'2024-03-10 16:12',val:4},
  113. {tit:"放款通知",time:'2024-03-10 16:12',val:4},
  114. {tit:"归档",time:'2024-03-10 16:12',val:4},
  115. ],
  116. stepval:2,
  117. gdflag:true,
  118. }
  119. },
  120. methods:{
  121. checkPermi, checkRole,
  122. getTab(val){
  123. this.tabval=val
  124. },
  125. getClose(){
  126. this.type=''
  127. },
  128. getShFn(){
  129. this.type='sh'
  130. },
  131. getSpeedFn(){
  132. if(this.type){
  133. this.type=''
  134. }else{
  135. this.type='ywjd'
  136. }
  137. },
  138. // getNextFn(){
  139. // this.$tab.navigateTo("/work/pages/business/add")
  140. // },
  141. getPreview(url) {
  142. var newArr=[];
  143. newArr.push(url)
  144. uni.previewImage({
  145. urls: newArr,
  146. current:0,
  147. success: function(data) {
  148. },
  149. fail: function(err) {
  150. }
  151. });
  152. },
  153. getDown(e){
  154. uni.showLoading({
  155. title: '加载中'
  156. });
  157. var url=baseUrl+e;
  158. uni.downloadFile({
  159. url: url,//文件的下载路径
  160. success(result) {
  161. uni.hideLoading()
  162. var filePath = result.tempFilePath;
  163. uni.openDocument({
  164. filePath: filePath,
  165. showMenu: true,
  166. success: function (res) {
  167. // console.log('打开文档成功');
  168. }
  169. });
  170. },
  171. fail(res) {uni.hideLoading()}
  172. })
  173. },
  174. }
  175. }
  176. </script>
  177. <style lang="scss" scoped>
  178. .detop{background: #FFFFFF;padding:0rpx 24rpx;margin-bottom: 28rpx;flex: 0 0 auto;
  179. .head{
  180. padding: 40rpx 2rpx;border-bottom: 2rpx solid #E6E6E6;
  181. .top{display: flex;align-items: center;overflow: hidden;
  182. .toptit{font-weight: bold;font-size: 40rpx;color: #222327;}
  183. .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;
  184. image{width: 22rpx;height: 22rpx;margin-left: 6rpx;}
  185. }
  186. }
  187. .adr{font-weight: 500;font-size: 26rpx;color: #666666;margin-top: 12rpx;}
  188. }
  189. .deta{display: flex;flex-wrap: wrap;padding: 16rpx 0 28rpx;
  190. .lists{padding:20rpx 0;width: 33.3%;display: flex;flex-direction: column;align-items: center;position: relative;
  191. &::after{width: 2rpx;height: 60rpx;background: #E6E6E6;content: '';position: absolute;right: 0;top: 50%;margin-top: -30rpx;}
  192. &:nth-of-type(3n){
  193. &::after{display: none;}
  194. }
  195. .tit{font-weight: 500;font-size: 26rpx;color: #AAAAAA;margin-bottom: 38rpx;}
  196. .txt{font-weight: bold;font-size: 30rpx;color: #222327;
  197. text{font-size: 26rpx;color: #666666;font-weight: normal;}
  198. }
  199. }
  200. }
  201. }
  202. .details{
  203. // display: flex;flex-direction: column;height: 100vh;overflow: hidden;
  204. }
  205. .main{background-color: #FFFFFF;flex: 1;display: flex;flex-direction: column;overflow: hidden;
  206. .tabs{padding: 0 6rpx 0 36rpx;display: flex;flex-wrap: nowrap;overflow: auto;flex: 0 0 auto;
  207. .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;
  208. &.act{color: #00A9F0;font-weight: bold;
  209. &::after{width: 100%;background: #00A9F0;position: absolute;left: 0;bottom: 0;
  210. border-radius: 2rpx;height: 4rpx;content: '';}
  211. }
  212. }
  213. }
  214. .mainb{flex: 1;overflow: auto;}
  215. }
  216. .speed{width: 96rpx;height: 140rpx;background: #FFFFFF;box-shadow: 0px 0px 14rpx 0px rgba(184,184,184,0.76);border-radius: 20rpx;
  217. display: flex;align-items: center;flex-direction: column;justify-content: center;
  218. position: fixed;right: 28rpx;top: 86rpx;z-index: 2;padding: 0 26rpx;
  219. image{width: 26rpx;height: 28rpx;margin-bottom: 8rpx;}
  220. view{font-weight: 500;font-size: 22rpx;color: #666666;}
  221. }
  222. .gdimg{width: 110rpx;height: 86rpx;position: absolute;right: 40rpx;top: 130rpx;}
  223. .footbtns{width: 100%;height: 100rpx;position: fixed;left: 0;right: 0;bottom: 0;display: flex;border-top: 2rpx solid #E6E6E6;
  224. .fbtns{flex: 1;height: 100rpx;font-weight: bold;font-size: 30rpx;display: flex;align-items: center;justify-content: center;
  225. &.bga{background: $com-cd3;color: #FFFFFF;}
  226. &.bgb{background: #FFFFFF;;color: $com-cd3;}
  227. }
  228. }
  229. </style>