list.vue 18 KB

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