list.vue 16 KB

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