list.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. <template>
  2. <view>
  3. <view v-if="datalist.length>0">
  4. <!-- 申报业务 v-if="listtype=='case'"-->
  5. <block v-if="type=='work'">
  6. <view class="lists" v-for="(ite,idx) in datalist" @click="getDetail(ite.loanApplicationId)">
  7. <view class="listtop">
  8. <view class="toptit over">{{ite.enterpriseName}}</view>
  9. <view class="statbox" v-if="ite.isNew=='Y'">专精特新<image :src="start"></image></view>
  10. </view>
  11. <view class="listsm">
  12. <view class="txt"><text class="tit">审核状态</text><text class="line">|</text><text class="co28">{{kaType(ite.auditSchedule,shjdlist)}}
  13. <block v-if="ite.auditType==1">待审核</block>
  14. <block v-if="ite.auditType==2">已通过</block>
  15. <block v-if="ite.auditType==3">未通过</block>
  16. </text></view>
  17. <view class="txt"><text class="tit">申报时间</text><text class="line">|</text><text>{{ite.applicationTime}}</text></view>
  18. <view class="txt"><text class="tit">归档时间</text><text class="line">|</text><text>{{ite.fileTime}}</text></view>
  19. <view class="flexcw">
  20. <view class="txt"><text class="tit">申请额度</text><text class="line">|</text><text>{{ite.applicationAmount}}万元</text></view>
  21. <view class="txt"><text class="tit">使用期限</text><text class="line">|</text><text>{{ite.usagePeriod}}月</text></view>
  22. <view class="txt"><text class="tit">申贷银行</text><text class="line">|</text><text>{{kaType(ite.applicationBank,sdyhlist)}}</text></view>
  23. <view class="txt"><text class="tit">担保类型</text><text class="line">|</text><text>{{kaType(ite.guaranteeType,dblxlist)}}</text></view>
  24. <view class="txt"><text class="tit">资金用途</text><text class="line">|</text><text>{{ite.purposeFunds}}</text></view>
  25. <view class="txt"><text class="tit">还款来源</text><text class="line">|</text><text>{{ite.repaymentSource}}</text></view>
  26. </view>
  27. </view>
  28. </view>
  29. </block>
  30. <!-- 客户 -->
  31. <block v-if="type=='custom'">
  32. <view class="lists" v-for="(ite,idx) in datalist" @click="getDetail(ite.userId)">
  33. <view class="listtop">
  34. <view class="head">{{ite.realName.substring(0,1)}}</view>
  35. <view class="flex1">
  36. <view class="headt">{{ite.realName}}</view>
  37. <view class="headx">资料更新时间 | 2024年3月24日</view>
  38. </view>
  39. </view>
  40. <view class="listsm">
  41. <view class="txt"><text class="tit">身份证号</text><text class="line">|</text><text>{{ite.idCard}}</text>
  42. <view class="copyimg">
  43. <image :src="copy" ></image>
  44. </view>
  45. </view>
  46. <view class="txt"><text class="tit">居住地址</text><text class="line">|</text><text>{{ite.address}}</text></view>
  47. <view class="txt"><text class="tit">手机号码</text><text class="line">|</text><text>{{ite.phonenumber}}</text></view>
  48. <view class="flexcw">
  49. <view class="txt"><text class="tit">关联企业</text><text class="line">|</text><text>{{ite.sysUserEnterpriseNum}}家</text></view>
  50. <view class="txt"><text class="tit">历史申贷记录</text><text class="line">|</text><text>{{ite.loanApplicationNum}}次</text></view>
  51. </view>
  52. </view>
  53. </view>
  54. </block>
  55. <!-- 企业 -->
  56. <block v-if="type=='qy'">
  57. <view class="lists qy" v-for="(ite,idx) in datalist" @click="getDetail" >
  58. <view class="listtop">
  59. <view class="flexc">
  60. <view class="toptit over f20">{{ite.enterpriseName}}</view>
  61. <view class="statbox">专精特新<image :src="start"></image></view>
  62. </view>
  63. <view class="adr f12">企业地址 | {{ite.enterpriseAddress}}</view>
  64. </view>
  65. <view class="listsm">
  66. <view class="txt"><text class="tit">统一社会信用代码:</text><text>{{ite.creditCode}}</text></view>
  67. <view class="txt"><text class="tit">企业类型:</text><text>{{ite.enterpriseType}}</text></view>
  68. <view class="flexcw">
  69. <view class="txt"><text class="tit">法人姓名:</text><text>{{ite.legalName}}</text></view>
  70. <view class="txt"><text class="tit">注册资金:</text><text>{{ite.registeredCapital}}</text></view>
  71. </view>
  72. <view class="txt"><text class="tit">成立日期:</text><text>{{ite.establishData}}</text></view>
  73. <view class="txt"><text class="tit">营业期限:</text><text>{{ite.businessTerm}}</text></view>
  74. </view>
  75. </view>
  76. </block>
  77. <block v-if="type=='qylist'">
  78. <view class="lists" v-for="(ite,idx) in datalist">
  79. <view class="listtop flexcj" >
  80. <view class="toptit over flex1">{{ite.enterpriseName}}</view>
  81. <view class="looktxt bga" v-if="checkPermi(['enterprise:enterprise:remove'])" @click="getDel(ite.enterpriseId)">删除</view>
  82. <view class="looktxt bgb" v-if="checkPermi(['enterprise:enterprise:edit'])" @click="getEdit(ite.enterpriseId)">修改</view>
  83. </view>
  84. <view class="listsm">
  85. <view class="txt"><text class="tit">统一社会信用代码:</text><text class="lh17">{{ite.creditCode}}</text></view>
  86. <view class="txt"><text class="tit">企业类型:</text><text>{{ite.enterpriseType}}</text></view>
  87. <view class="txt"><text class="tit">企业地址:</text><text>{{ite.enterpriseAddress}}</text></view>
  88. <view class="flexcw">
  89. <view class="txt"><text class="tit">法人姓名:</text><text>{{ite.legalName}}</text></view>
  90. <view class="txt"><text class="tit">注册资金:</text><text>{{ite.registeredCapital}}</text></view>
  91. </view>
  92. <view class="txt"><text class="tit">成立日期:</text><text>{{ite.establishData}}</text></view>
  93. <view class="txt"><text class="tit">营业期限:</text><text>{{ite.businessTerm}}</text></view>
  94. <view class="txt"><text class="tit">经营范围:</text><text :class="zlist.indexOf(ite.enterpriseId)!=-1?'':'overtwo'">{{ite.businessScope}}</text>
  95. <text class="co0a ml4 flex0" @click="getZhan(ite.enterpriseId)">{{zlist.indexOf(ite.enterpriseId)!=-1?'折叠':'展开'}}</text>
  96. </view>
  97. </view>
  98. </view>
  99. </block>
  100. <!-- 历史申贷记录 -->
  101. <block v-if="type=='sdjl'">
  102. <view class="lists sdjl" v-for="(ite,idx) in datalist" @click="getDetail(ite.loanApplicationId)" >
  103. <view class="listsm">
  104. <view class="txt"><text class="tit">申贷企业:</text><text>{{ite.enterpriseName}}</text>
  105. <view class="statbox" v-if="ite.isNew=='Y'">专精特新<image :src="start"></image></view>
  106. <text class="flex1"></text>
  107. <view class="look flexc">查看<image :src="rimg"></image></view>
  108. </view>
  109. <view class="txt"><text class="tit">申报时间:</text><text>{{ite.applicationTime}}</text></view>
  110. <view class="txt"><text class="tit">归档时间:</text><text>{{ite.fileTime}}</text></view>
  111. <view class="flexcw">
  112. <view class="txt"><text class="tit">申请额度:</text><text>{{ite.applicationAmount}}万元</text></view>
  113. <view class="txt"><text class="tit">使用期限:</text><text>{{ite.usagePeriod}}个月</text></view>
  114. </view>
  115. <view class="flexcw">
  116. <view class="txt"><text class="tit">申贷银行:</text><text>{{kaType(ite.applicationBank,sdyhlist)}}</text></view>
  117. <view class="txt"><text class="tit">担保类型:</text><text>{{kaType(ite.guaranteeType,dblxlist)}}</text></view>
  118. </view>
  119. <view class="flexcw">
  120. <view class="txt"><text class="tit">资金用途:</text><text>{{ite.purposeFunds}}</text></view>
  121. <view class="txt"><text class="tit">还款来源:</text><text>{{ite.repaymentSource}}</text></view>
  122. </view>
  123. </view>
  124. </view>
  125. </block>
  126. <!-- 文件 -->
  127. <block v-if="type=='file'">
  128. <view class="lists" v-for="(ite,idx) in datalist" @click="getDetail" >
  129. <view class="listtop" >
  130. <view class="toptit over">安徽嘉欣医疗用品有限公司</view>
  131. </view>
  132. <view class="listsm">
  133. <view class="txt"><text class="tit">申贷次数</text><text class="line">|</text><text>2次</text></view>
  134. <view class="txt"><text class="tit">最近申贷时间</text><text class="line">|</text><text>2023年08月23日</text>
  135. <view class="flex1"></view>
  136. <view class="looktxt bgb">查看文件</view>
  137. </view>
  138. </view>
  139. </view>
  140. </block>
  141. <!-- 文件详情列表 -->
  142. <block v-if="type=='filedet'">
  143. <view class="files" v-for="(ite,idx) in datalist" >
  144. <view class="fdtit">
  145. <image :src="titimg"></image>
  146. <view>2023年08月23日</view>
  147. </view>
  148. <view class="fdzbox">
  149. <image :src="filz"></image>
  150. <view>
  151. 安徽嘉欣医疗用品有限公司230823文档.zip
  152. </view>
  153. </view>
  154. <view class="fdbtns flexcj mt18">
  155. <view class="lbtns flexc" @click="getDetail">
  156. <image :src="files"></image>文件详情列表
  157. </view>
  158. <view class="rbtns flexc">
  159. <image :src="fup"></image>保存至手机
  160. </view>
  161. </view>
  162. </view>
  163. </block>
  164. <!-- 新版文件列表详情 -->
  165. <block v-if="type=='nfiles'">
  166. <view class="lists" v-for="(ite,idx) in datalist">
  167. <view class="listtop" >
  168. <view class="toptit over">{{ite.enterpriseName}}</view>
  169. </view>
  170. <view class="listsm" v-for="(fite,fidx) in ite.loanApplicationFjList" :key="fite.fjId">
  171. <!-- <view class="fdtit">
  172. <image :src="titimg"></image>
  173. <view>{{ite.applicationTime}}</view>
  174. </view> -->
  175. <view class="fdzbox">
  176. <image :src="filz"></image>
  177. <view>{{fite.name}}</view>
  178. </view>
  179. <view class="fdbtns flexcj mt18">
  180. <!-- <view class="lbtns flexc">
  181. <image :src="files"></image>文件详情列表
  182. </view> -->
  183. <view class="flex1"></view>
  184. <view class="rbtns flexc" @click.stop="getXzFn(fite)">
  185. <image :src="fup"></image>保存至手机
  186. </view>
  187. </view>
  188. </view>
  189. </view>
  190. </block>
  191. <!-- 台账表 -->
  192. <block v-if="type=='ledger'">
  193. <view class="lists" v-for="(ite,idx) in datalist" @click="getDetail" >
  194. <view class="listtop" >
  195. <view class="toptit over">安徽嘉欣医疗用品有限公司</view>
  196. </view>
  197. <view class="listsm">
  198. <view class="txt"><text class="tit">债务人类别</text><text class="line">|</text><text>类别名称</text></view>
  199. <view class="flexcw">
  200. <view class="txt"><text class="tit">债务人姓名</text><text class="line">|</text><text>刘安鑫</text></view>
  201. <view class="txt"><text class="tit">债务人证件类型</text><text class="line">|</text><text>身份证</text></view>
  202. </view>
  203. <view class="txt"><text class="tit">债务人证件号码</text><text class="line">|</text><text>34282419730618003X</text></view>
  204. <view class="flexcw">
  205. <view class="txt"><text class="tit">法人姓名</text><text class="line">|</text><text>林振宇</text></view>
  206. <view class="txt"><text class="tit">法人证件类型</text><text class="line">|</text><text>身份证</text></view>
  207. </view>
  208. <view class="txt"><text class="tit">法人证件号码</text><text class="line">|</text><text>34282419811214002X</text></view>
  209. </view>
  210. </view>
  211. </block>
  212. <view class="shax" v-if="wtdt">{{wtdt}}</view>
  213. </view>
  214. <block v-else>
  215. <no-data></no-data>
  216. </block>
  217. </view>
  218. </template>
  219. <script>
  220. import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
  221. import { selectValue } from '@/utils/common.js';
  222. import noData from "@/components/nodata/nodata.vue"
  223. export default {
  224. props:{
  225. datalist: {
  226. type: Array,
  227. default () {
  228. return []
  229. }
  230. },
  231. sdyhlist: {
  232. type: Array,
  233. default () {
  234. return []
  235. }
  236. },
  237. dblxlist: {
  238. type: Array,
  239. default () {
  240. return []
  241. }
  242. },
  243. shjdlist:{
  244. type: Array,
  245. default () {
  246. return []
  247. }
  248. },
  249. wtdt:{
  250. type: String,
  251. default () {
  252. return ''
  253. }
  254. },
  255. type:{
  256. type: [String,Number],
  257. default () {
  258. return ''
  259. }
  260. },
  261. },
  262. components:{
  263. noData
  264. },
  265. data(){
  266. return{
  267. start:require('@/work/static/images/start.png'),
  268. copy:require('@/work/static/images/copy.png'),
  269. rimg:require('@/work/static/images/rimga.png'),
  270. files:require('@/work/static/images/files.png'),
  271. filz:require('@/work/static/images/filz.png'),
  272. titimg:require('@/work/static/images/infotit.png'),
  273. fup:require('@/work/static/images/fdown.png'),
  274. zlist:[]
  275. }
  276. },
  277. onLoad: function() {
  278. },
  279. methods:{
  280. checkPermi, checkRole,
  281. kaType(ite,list){
  282. return selectValue(list, ite);
  283. },
  284. getDetail(e){
  285. this.$emit('getDetail',e)
  286. },
  287. getXzFn(ite){
  288. this.$emit('getXzFn',ite)
  289. },
  290. getDel(e){
  291. this.$emit('getDel',e)
  292. },
  293. getEdit(e){
  294. this.$emit('getEdit',e)
  295. },
  296. getZhan(id){
  297. var num=this.zlist.indexOf(id);
  298. if(num!=-1){
  299. this.zlist.splice(num,1)
  300. }else{
  301. this.zlist.push(id)
  302. }
  303. },
  304. getTuiFn(ite,txt,sh){
  305. var that=this;
  306. // if(txt=='scfk'&&sh==0){
  307. // uni.showModal({
  308. // title: '确认立案',
  309. // content: "是否确认立案",
  310. // cancelText: '取消',
  311. // confirmText: '确认',
  312. // success: function(res) {
  313. // if (res.confirm) {
  314. // var obj={
  315. // id:ite.proposalId,
  316. // type:txt,
  317. // sh:sh,
  318. // }
  319. // that.$emit('getTuiFn',obj)
  320. // } else if (res.cancel) {
  321. // // console.log('用户点击取消');
  322. // }
  323. // }
  324. // });
  325. // }else
  326. if(txt=='lmta'){
  327. var str='同意'
  328. if(sh==2){
  329. str='反对'
  330. }
  331. uni.showModal({
  332. title: '确认'+str+'联名',
  333. content: "是否确认"+str+"联名",
  334. cancelText: '取消',
  335. confirmText: '确认',
  336. success: function(res) {
  337. if (res.confirm) {
  338. var obj={
  339. id:ite.proposalId,
  340. type:txt,
  341. sh:sh,
  342. }
  343. that.$emit('getTuiFn',obj)
  344. } else if (res.cancel) {
  345. // console.log('用户点击取消');
  346. }
  347. }
  348. });
  349. }else{
  350. var obj={
  351. id:ite.proposalId,
  352. type:txt,
  353. sh:sh,
  354. ite:ite
  355. }
  356. this.$emit('getTuiFn',obj)
  357. }
  358. },
  359. typeFn(data){
  360. if(data){
  361. var newArr=[]
  362. var astr=data.split('-')
  363. astr.forEach(ite=>{
  364. var a=ite.substring(0,5);
  365. newArr.push(a)
  366. })
  367. return newArr.join('-')
  368. }else{
  369. return ''
  370. }
  371. },
  372. },
  373. }
  374. </script>
  375. <style lang="scss" scoped>
  376. .lists{background: #FFFFFF;box-shadow: 0px 0px 10rpx 0px rgba(216,216,216,0.4);border-radius: 20rpx;padding: 0 20rpx;margin-bottom: 24rpx;
  377. &.qy{padding: 0 24rpx;
  378. .listtop{display: block;
  379. padding: 40rpx 14rpx 42rpx;
  380. }
  381. .listsm{padding: 40rpx 14rpx 2rpx 0;
  382. .txt{font-size: 30rpx;margin-bottom: 44rpx;padding-left: 14rpx;
  383. text{color: #666666;}
  384. }
  385. }
  386. }
  387. &.sdjl{
  388. .listsm{padding: 40rpx 10rpx 2rpx 0;
  389. .txt{font-size: 30rpx;margin-bottom: 44rpx;padding-left: 10rpx;align-items: flex-start;
  390. text{color: #666666;}
  391. }
  392. }
  393. .look{flex: 0 0 auto;display: inline-flex;margin-left: 16rpx;line-height: 40rpx;font-weight: 500;font-size: 26rpx;color: #28C529;
  394. image{width: 14rpx;height: 20rpx;margin-left: 14rpx;}
  395. }
  396. }
  397. .listtop{display: flex;align-items: center;overflow: hidden;border-bottom: 2rpx solid #E6E6E6;padding: 34rpx 12rpx;
  398. .toptit{font-weight: bold;font-size: 30rpx;color: #222327;}
  399. // .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: 20rpx;
  400. // image{width: 22rpx;height: 22rpx;margin-left: 6rpx;}
  401. // }
  402. .head{width: 86rpx;height: 86rpx;background: #00A9F0;border-radius: 10rpx;font-weight: bold;margin-right: 36rpx;flex: 0 0 auto;
  403. font-size: 40rpx;display: flex;align-items: center;justify-content: center;color: #FFFFFF;
  404. }
  405. .headt{font-weight: bold;font-size: 40rpx;color: #222327;margin-bottom: 10rpx;}
  406. .headx{font-weight: 500;font-size: 24rpx;color: #666666;}
  407. }
  408. .adr{font-weight: 500;font-size: 26rpx;color: #666666;margin-top: 12rpx;}
  409. .listsm{padding: 32rpx 10rpx 16rpx 0;
  410. .tit{font-weight: bold;margin-right: 8rpx;flex: 0 0 auto;}
  411. .line{margin-right: 8rpx;color: #aaaaaa;flex: 0 0 auto;}
  412. .txt{font-size: 26rpx;color: #222327;margin-bottom: 24rpx;display: flex;padding-left: 10rpx;}
  413. .copyimg{width: 30rpx;height: 30rpx;margin-left: 8rpx;display: flex;align-items: center;justify-content: center;
  414. image{width: 18rpx;height: 20rpx;}
  415. }
  416. .flexcw{
  417. display: flex;align-items: center;flex-wrap: wrap;
  418. .txt{min-width: 50%;}
  419. }
  420. }
  421. .looktxt{font-weight: 500;flex: 0 0 auto;font-size: 26rpx;margin-left: 20rpx;
  422. &.bga{color: #FF6969;}
  423. &.bgb{color: #00A9F0;}
  424. }
  425. .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: 20rpx;
  426. image{width: 22rpx;height: 22rpx;margin-left: 6rpx;}
  427. }
  428. }
  429. // 文件
  430. .files{padding:40rpx 36rpx 36rpx;border-bottom: 2rpx solid #E6E6E6;
  431. // .fdtit{display: flex;font-weight: bold;margin-bottom: 44rpx;
  432. // view{font-size: 30rpx;color: #00A9F0;}
  433. // image{width: 30rpx;height: 30rpx;margin-right: 14rpx;flex: 0 0 auto;margin-top: 5rpx;}
  434. // }
  435. // .fdzbox{width: 100%;padding: 24rpx 30rpx;box-sizing: border-box;display: flex;align-items: center;background: #E1F3FA;border-radius: 20rpx;
  436. // image{width: 62rpx;height: 74rpx;margin-right: 32rpx;flex: 0 0 auto;}
  437. // view{font-weight: bold;font-size: 26rpx;color: #00A9F0;}
  438. // }
  439. // .fdbtns{
  440. // .lbtns{font-weight: 500;font-size: 26rpx;color: #28C529;
  441. // image{width: 24rpx;height: 20rpx;margin-right: 14rpx;}
  442. // }
  443. // .rbtns{font-weight: 500;font-size: 26rpx;color: #00A9F0;
  444. // image{width: 22rpx;height: 24rpx;margin-right: 12rpx;transform: rotate(180deg);}
  445. // }
  446. // }
  447. }
  448. .fdzbox{width: 100%;padding: 24rpx 30rpx;box-sizing: border-box;display: flex;align-items: center;background: #E1F3FA;border-radius: 20rpx;
  449. image{width: 62rpx;height: 74rpx;margin-right: 32rpx;flex: 0 0 auto;}
  450. view{font-weight: bold;font-size: 26rpx;color: #00A9F0;}
  451. }
  452. .fdtit{display: flex;font-weight: bold;margin-bottom: 44rpx;
  453. view{font-size: 30rpx;color: #00A9F0;}
  454. image{width: 30rpx;height: 30rpx;margin-right: 14rpx;flex: 0 0 auto;margin-top: 5rpx;}
  455. }
  456. .fdbtns{margin-bottom: 20rpx;
  457. .lbtns{font-weight: 500;font-size: 26rpx;color: #28C529;
  458. image{width: 24rpx;height: 20rpx;margin-right: 14rpx;}
  459. }
  460. .rbtns{font-weight: 500;font-size: 26rpx;color: #00A9F0;
  461. image{width: 22rpx;height: 24rpx;margin-right: 12rpx;}
  462. }
  463. }
  464. </style>