Browse Source

保后模块

zouling 10 months ago
parent
commit
6492463d88

+ 25 - 0
api/mine/work.js

@@ -216,4 +216,29 @@ export function getVoteFinish(data) {
     'method': 'post',
 	'data':data
   })
+}
+
+// 保后-列表system:application:loanAfterList
+export function getcxAfterlist(data) {
+  return request({
+    'url': '/application/loanAfterList',
+    'method': 'GET',
+	'data':data
+  })
+}
+// 上传-借据common:upload:uploadNewOcr
+export function getuploadNewOcr(data) {
+  return request({
+    'url': '/common/uploadNewOcr',
+    'method': 'post',
+	'data':data
+  })
+}
+// 贷款修改-借据system:application:editActually
+export function getputActually(data) {
+  return request({
+    'url': '/application/putActually',
+    'method': 'post',
+	'data':data
+  })
 }

+ 10 - 2
pages.json

@@ -1,6 +1,5 @@
 {
-  "pages": [
-	 
+  "pages": [ 
 	{
 	"path": "pages/login",
 	"style": {
@@ -348,6 +347,15 @@
 					"h5":{"titleNView":false}
 				}
 			},
+			{
+				"path": "pages/after/list",
+				"style": {
+					"navigationBarTitleText": "保后报告",
+					"navigationBarBackgroundColor": "#00A9F0",
+					"navigationBarTextStyle": "white",
+					"h5":{"titleNView":false}
+				}
+			},
 			{
 				"path": "pages/nodata",
 				"style": {

+ 11 - 3
pages/index/index.vue

@@ -83,10 +83,10 @@
 								<view class="img"><image :src="topiimg" class="imgg"></image></view>
 								<view>上会投票</view>
 							</view>
-							<!-- <view class="grid-item-box" @click="getTouPFn">
+							<view class="grid-item-box" @click="getTouBhFn">
 								<view class="img"><image :src="topjimg" class="imgd"></image></view>
 								<view>保后报告</view>
-							</view> -->
+							</view>
 						</view>
 					</swiper-item>
 				</swiper>
@@ -217,7 +217,9 @@
 			fixedflag:false,
 			tabval:0,
 			total:0,
-			tabList:[{tit:'全部',val:0},{tit:'申报审核',val:1},{tit:'担保初审',val:2},{tit:'尽职调查',val:3},{tit:'评审会',val:4},{tit:'签署合同',val:5},],
+			tabList:[{tit:'全部',val:0},{tit:'申报审核',val:1},{tit:'担保初审',val:2},{tit:'尽职调查',val:3},{tit:'评审会',val:4},{tit:'签署合同',val:5},
+				{tit:'上会投票',val:11},{tit:'保后信息',val:12},
+			],
 			usename:'',
 			type:'',//zcta 暂存信息
 			zcid:'',//暂存id
@@ -378,6 +380,10 @@
 		getTouPFn(){
 			this.$tab.navigateTo('/work/pages/business/votelist')
 		},
+		// 保后
+		getTouBhFn(){
+			this.$tab.navigateTo('/work/pages/after/list')	
+		},
 		getProveFn(){
 			if(checkPermi(['system:registered:user'])&&!checkPermi(['system:system:user'])){
 				this.$store.dispatch('GetInfo').then(vres => {
@@ -513,6 +519,8 @@
 			var remindType=ite.remindType;
 			if(remindType==11){
 				this.$tab.navigateTo("/work/pages/business/details?id="+id+'&from=vote')
+			}else if(remindType==12){
+				this.$tab.navigateTo("/work/pages/business/details?id="+id+'&from=bhxx')
 			}else{
 				this.$tab.navigateTo("/work/pages/business/details?id="+id)
 			}

+ 4 - 4
work/components/business/ewjcj.vue

@@ -5,7 +5,7 @@
 			<view class="flex1 flexc">{{ite.label}}
 			<!-- 有文件出具的权限 -->
 			<!-- 风险报告只能有风险修改删除 -->
-			<template v-if="checkPermi(['system:fj:add'])&&datainfo.loanApplicationType!=4&&pfrom!='vote'&&datainfo.loanApplicationType!=3">
+			<template v-if="checkPermi(['system:fj:add'])&&datainfo.loanApplicationType!=4&&pfrom!='vote'&&pfrom!='bhxx'&&datainfo.loanApplicationType!=3">
 				<template v-if="ite.val=='fxbg'||ite.val=='fkhgb'">
 					<view class="editf" v-if="userId==datainfo.fUserId"  @click="getfjEdit(ite.val)">
 						<image :src="editf"></image>
@@ -36,7 +36,7 @@
 					<view class="tit">{{fite.name}}</view>
 				</view>
 				<!-- ||ite.val=='wtdbht' -->
-				<template v-if="pfrom!='vote'&&datainfo.loanApplicationType!=3&&datainfo.loanApplicationType!=4">
+				<template v-if="pfrom!='vote'&&pfrom!='bhxx'&&datainfo.loanApplicationType!=3&&datainfo.loanApplicationType!=4">
 					<!-- 放款合规表 -->
 					<template v-if="ite.val=='fxbg'||ite.val=='fkhgb'">
 						<template v-if="userId==datainfo.fUserId">
@@ -67,7 +67,7 @@
 	<view class="boxt" >
 		<view class="txt">
 			<view class="flex1 flexc">其他附件
-				<template v-if="checkPermi(['system:fj:add'])&&datainfo.loanApplicationType!=4&&pfrom!='vote'&&datainfo.loanApplicationType!=3">
+				<template v-if="checkPermi(['system:fj:add'])&&datainfo.loanApplicationType!=4&&pfrom!='vote'&&pfrom!='bhxx'&&datainfo.loanApplicationType!=3">
 					<view class="editf"   @click="getQtfjEdit('qtfj')">
 						<image :src="editf"></image>
 						<view>上传</view>
@@ -86,7 +86,7 @@
 					<view class="imgl"><image :src="filico" ></image></view>
 					<view class="tit">{{fite.name}}</view>
 				</view>
-				<view class="delimg flex0" v-if="checkPermi(['system:fj:remove'])" @click.stop="getDelwjFj(fite.fjId)">
+				<view class="delimg flex0" v-if="checkPermi(['system:fj:remove'])&&pfrom!='vote'&&pfrom!='bhxx'&&datainfo.loanApplicationType!=3&&datainfo.loanApplicationType!=4" @click.stop="getDelwjFj(fite.fjId)">
 					<image :src="fdelimg"></image>
 				</view>
 				<text class="txta" @click="getDown(fite.url)">预览</text>

+ 156 - 0
work/components/business/hbgxx.vue

@@ -0,0 +1,156 @@
+<template>
+  <view>
+	<view class="boxt" v-for="(ite,idx) in bhxxlist" :key="idx">
+		<view class="txt">
+			<view class="flex1 flexc">{{ite.label}}
+			<template v-if="checkPermi(['system:fj:add'])&&pfrom=='bhxx'">
+				<view class="editf"  @click="getfjEdit(ite.val)">
+					<image :src="editf"></image>
+					<view>上传</view>
+				</view>
+			</template>
+			
+			</view>
+		</view>
+				
+		<view class="mt18" v-if="fileFj&&fileFj[ite.val]&&fileFj[ite.val].length">
+			<view class="fjlists"  v-for="(fite,fidx) in fileFj[ite.val]" :key='fidx'>
+				<view class="flext flex1" @click="getDown(fite.url)">
+					<view class="imgl"><image :src="filico" ></image></view>
+					<view class="tit">{{fite.name}}</view>
+				</view>
+				<template v-if="pfrom=='bhxx'">
+					<template >
+						<view class="delimg flex0" v-if="checkPermi(['system:fj:remove'])" @click.stop="getDelwjFj(fite.fjId)">
+							<image :src="fdelimg"></image>
+						</view>
+					</template>
+				</template>
+				<text class="txta" @click="getDown(fite.url)">预览</text>
+			</view>
+		</view>
+	</view>
+  </view>
+</template>
+
+<script>
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	import { selectValue } from '@/utils/common.js';
+	import noData from "@/components/nodata/nodata.vue"
+  export default {
+	props:{
+		datainfo: {
+			type: Object,
+			default () {
+				return {}
+			}
+		},
+		fileFj:{
+			type: Object,
+			default () {
+				return {}
+			}
+		},
+		bhxxlist:{
+			type: Array,
+			default () {
+				return []
+			}
+		},
+		pfrom:{
+			type: String,
+			default () {
+				return ''
+			}
+		}
+	},
+	components:{
+		noData
+	},
+	data(){
+		return{
+			upimg: require('@/work/static/images/up.png'),
+			fupimg:require('@/work/static/images/fup.png'),
+			filico:require('@/work/static/images/filico.png'),
+			edit:require('@/work/static/images/edit.png'),
+			editf:require('@/work/static/images/editfile.png'),
+			fdelimg:require('@/work/static/images/del.png'),
+			gdfilelist:[],
+			zheList:[],
+			userId:this.$store.state.user.userId,
+			fileList:[
+				
+				// {tit:'担保意向函',files:[{url:"",name:'安徽嘉欣医疗用品有限公司0403担保意向函.doc'}]},
+				// {tit:'材料合规表',files:[]},
+				// {tit:'尽职调查报告',files:[]},
+				// {tit:'担保项目合法合规表',files:[]},
+				// {tit:'评审意见签批表',qflag:true,files:[]},
+				// {tit:'股东会决议',qflag:true,files:[]},
+				// {tit:'委托保证合同',qflag:true,files:[]},
+				// {tit:'其他附件',files:[{url:"",name:'安徽嘉欣医疗用品有限公司0403担保意向函.doc'},{url:"",name:'安徽嘉欣医疗用品有限公司0403担保意向函.doc'}]},
+				]
+		}
+	},
+	onLoad: function() {
+	},
+	methods:{
+		checkPermi, checkRole,
+		kaType(ite){
+			return selectValue(this.tajdlist, ite);
+		},
+		getZheFn(idx){
+			this.zheList[idx].zheflag=!this.zheList[idx].zheflag
+		},
+		getfjEdit(val){
+			this.$emit('getBhqtfjEdit',val)
+		},
+		getDown(url){
+			this.$emit('getDown',url)
+		},
+		getPreview(url){
+			this.$emit('getPreview',url)
+		},
+		getDelwjFj(id){
+			this.$emit('getDelwjFj',id)
+		},
+		getQmFn(url){
+			this.$emit('getQmFn',url)
+		},
+	},
+	
+  }
+</script>
+
+<style lang="scss" scoped>
+.boxt{padding:44rpx 36rpx 40rpx;border-top: 2rpx solid #E6E6E6;}
+.txt{display: flex;align-items: flex-start;
+	view{font-weight: bold;font-size: 30rpx;color: #222327;}
+	text{color: #28C529;font-weight: 500;line-height: 40rpx;flex: 0 0 auto;margin-left: 46rpx;padding: 0 6rpx;}
+	.upimg{width:40rpx;height: 40rpx;margin-left: 18rpx;display: flex;align-items: center;justify-content: center;
+		image{width: 30rpx;height: 28rpx;}
+	}
+}
+.fjlists {display: flex;align-items: flex-start;justify-content: space-between;margin-bottom: 20rpx;
+	&:last-child{margin-bottom: 0;}
+	.imgl{width: 40rpx;height: 40rpx;display: flex;align-items: center;flex: 0 0 auto;
+		image{width: 26rpx;height: 24rpx;}
+	}
+	.tit{font-size: 26rpx;color: #222327;font-weight: 500;margin-top: 4rpx;}
+	.delimg{width: 40rpx;height:40rpx;margin-left: 16rpx;display: flex;align-items: center;justify-content: center;flex: 0 0 auto;
+		image{width: 24rpx;height: 24rpx;}
+	}
+	.txta{color: #28C529;font-weight: 500;line-height: 40rpx;flex: 0 0 auto;margin-left: 18rpx;padding: 0 6rpx;}
+}
+.upbox{display: flex;flex-direction: column;align-items: center;padding: 56rpx 0 40rpx;border-top: 2rpx solid #E6E6E6;
+	image{width: 30rpx;height: 26rpx;margin-bottom: 18rpx;transform: rotate(180deg);}
+	view{font-weight: 500;font-size: 26rpx;color: #666666;}
+}
+.editf{flex:0 0 auto;display: flex;align-items: center;margin-left: 24rpx;
+	view{font-weight: 500;font-size: 26rpx;color: #00A9F0;}
+	image{width: 22rpx;height: 24rpx;margin-right:8rpx;}
+}
+.edit{flex:0 0 auto;display: flex;align-items: center;
+	view{font-weight: 500;font-size: 26rpx;color: #00A9F0;}
+	image{width: 20rpx;height: 24rpx;margin-right: 2rpx;}
+}
+</style>

+ 9 - 1
work/components/business/list.vue

@@ -2,7 +2,7 @@
   <view>
 	<view v-if="datalist.length>0">
 		<!-- 申报业务 v-if="listtype=='case'"-->
-		<block v-if="type=='work'||type=='vote'">
+		<block v-if="type=='work'||type=='vote'||type=='bhxx'">
 			<view class="lists" v-for="(ite,idx) in datalist" @click="getDetail(ite.loanApplicationId)">
 				<!-- <image :src="votef" class="votef"></image> -->
 				<view class="listtop">
@@ -17,6 +17,11 @@
 						<image v-if="ite.votingResult==3" :src="voted" class="votea"></image>
 						<image v-if="ite.votingResult==4" :src="votea" class="votea"></image>
 					</block>
+					<block v-if="type=='bhxx'">
+						<image v-if="ite.loanAfterType==1" :src="aftera" class="votea"></image>
+						<image v-if="ite.loanAfterType==2" :src="afterb" class="votea"></image>
+						<image v-if="ite.loanAfterType==3" :src="afterc" class="votea"></image>
+					</block>
 					<image v-if="ite.auditSchedule==1&&ite.auditType==3" :src="sha" class="votea"></image>
 					<view class="txt"><text class="tit">贷款编号</text><text class="line">|</text><text>{{ite.loanApplicationNumber}}</text></view>
 					<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)}}
@@ -290,6 +295,9 @@
 			voted:require('@/work/static/images/voted.png'),
 			votee:require('@/work/static/images/votee.png'),
 			votef:require('@/work/static/images/votef.png'),
+			aftera:require('@/work/static/images/aftera.png'),
+			afterb:require('@/work/static/images/afterb.png'),
+			afterc:require('@/work/static/images/afterc.png'),
 			sha:require('@/work/static/images/sha.png'),
 			shb:require('@/work/static/images/shb.png'),
 			zlist:[]

+ 107 - 0
work/components/popup/popup.vue

@@ -302,6 +302,64 @@
 			</view>
 			<view class="btns" @click="getupSubmit">确认</view>
 		</view>
+		<!-- 保后上传附件 -->
+		<view class="fixbox" v-if="type=='bgfjadd'">
+			<view class="cloimg" @click="getClose">
+				<image :src="closeimg"></image>
+			</view>
+			<view class="ttit">上传附件</view>
+			<view class="mb16">
+				<view class="ttxt mb18 flexcj" v-if="bhxxobj[fjval]">附件信息
+					<lsj-upload ref="lsjUpload" childId="upload1" :width="width" :height="height" :option="option" :size="size" :formats="formats" :debug="debug" :instantly="instantly"
+						    @progress="" @uploadEnd="onuploadEnd" :fileName="bhxxobj[fjval]" :fileVal='fjval' bigType="c">
+						<view class="fbtns co0a" :style="{width: width,height: height}">上传附件</view>
+					</lsj-upload>
+					
+				</view>
+				<view class="fjlists"  v-for="(fite,fidx) in filelist" :key='fidx'>
+					<view class="flext" @click="getDown(fite.url)">
+						<view class="imgl"><image :src="filico" ></image></view>
+						<view class="tit">{{fite.name}}</view>
+					</view>
+					<view class="delimg flex0" @click.stop="getDelFj(idx)">
+						<image :src="fdelimg"></image>
+					</view>
+				</view>
+			</view>
+			<view class="conbtns flexcj">
+				<view class="cbtns bgb" @click="getfjAdd">确认</view>
+			</view>
+		</view>
+		<!-- 上传借据 -->
+		<view class="fixbox" v-if="type=='jj'">
+			<view class="cloimg" @click="getClose">
+				<image :src="closeimg"></image>
+			</view>
+			<view class="ttit">上传附件</view>
+			<view class="mb16">
+				<!-- 借据 -->
+				<view class="ttxt mb18 flexcj">附件信息
+					<lsj-upload ref="lsjUpload" childId="upload1" :width="width" :height="height" :option="jjoption" :size="size" :formats="formats" :debug="debug" :instantly="instantly"
+						    @progress="" @uploadEnd="jjonuploadEnd" :fileName="wjcjobj.jj" fileVal='jj' bigType="c">
+						<view class="fbtns co0a" :style="{width: width,height: height}">上传附件</view>
+					</lsj-upload>
+					
+				</view>
+				<view class="fjlists"  v-for="(fite,fidx) in filelist" :key='fidx'>
+					<view class="flext" @click="getDown(fite.url)">
+						<view class="imgl"><image :src="filico" ></image></view>
+						<view class="tit">{{fite.name}}</view>
+					</view>
+					<view class="delimg flex0" @click.stop="getDelFj(idx)">
+						<image :src="fdelimg"></image>
+					</view>
+				</view>
+			</view>
+			<view class="conbtns flexcj">
+				<view class="cbtns bgb" @click="getfjAdd">确认</view>
+			</view>
+			<view class="shshtips">* 识别最新一条借据信息</view>
+		</view>
 		<!-- 上会上传附件 -->
 		<view class="fixbox" v-if="type=='shpsyj'||type=='shshjy'">
 			<view class="cloimg" @click="getClose">
@@ -578,6 +636,12 @@
 					return {}
 				}
 			},
+			bhxxobj:{
+				type: Object,
+				default () {
+					return {}
+				}
+			},
 			qtfjobj:{
 				type: Object,
 				default () {
@@ -616,6 +680,23 @@
 						loanApplicationId:'',
 					}
 				},
+				// 借据上传
+				jjoption: {
+				    // 上传服务器地址,需要替换为你的接口地址
+				    url: baseUrl+'/common/uploadNewOcr', // 该地址非真实路径,需替换为你项目自己的接口地址
+				    // 上传附件的key
+				    name: 'file',
+				    // 根据你接口需求自定义请求头,默认不要写content-type,让浏览器自适配
+				    header: {
+				        // 示例参数可删除
+				        'Authorization':  'Bearer ' + getToken(),
+				    },
+				    // 根据你接口需求自定义body参数
+				    formData: {
+						loanApplicationNumber:'',
+						loanApplicationId:'',
+					}
+				},
 				// 选择文件后是否立即自动上传,true=选择后立即上传
 				instantly: true,
 				// 必传宽高且宽高应与slot宽高保持一致
@@ -669,6 +750,8 @@
 				baseUrl:'',
 				shrylist:[],//参会人员
 				addflag:false,
+				actuallyAmount:'',//实际放贷金额(万元)
+				actuallyTime:'',//实际放款时间
 			}
 		},
 		mounted() {
@@ -677,9 +760,11 @@
 		watch:{
 			loanApplicationNumber(val){
 				this.option.formData.loanApplicationNumber=val
+				this.jjoption.formData.loanApplicationNumber=val
 			},
 			loanApplicationId(val){
 				this.option.formData.loanApplicationId=val
+				this.jjoption.formData.loanApplicationId=val
 			},
 			type(val){
 				this.filelist=[];
@@ -894,6 +979,8 @@
 				if(this.filelist&&this.filelist.length>0){
 					var data={
 						fjUrl:this.filelist,
+						actuallyAmount:this.actuallyAmount,
+						actuallyTime:this.actuallyTime,
 					}
 					this.$emit('getfjAdd',data)
 				}else{
@@ -964,6 +1051,26 @@
 				newobj.loanApplicationNumber=this.loanApplicationNumber;
 				this.filelist.push(newobj)
 			},
+			// 借据上传
+			jjonuploadEnd(item,fileVal,bigType){
+				var newobj={}
+				var responseText=JSON.parse(item.responseText)
+				if(responseText.code==200){
+					this.actuallyAmount=responseText.actuallyAmount;
+					this.actuallyTime=responseText.actuallyTime;
+					newobj.name=responseText.newFileName;
+					newobj.oldName=responseText.originalFilename;
+					newobj.url=responseText.fileName;
+					newobj.type=fileVal;
+					newobj.bigType=bigType;
+					newobj.loanApplicationId=this.loanApplicationId;
+					newobj.loanApplicationNumber=this.loanApplicationNumber;
+					this.filelist.push(newobj)
+				}else{
+					this.$toast(responseText.msg)
+				}
+				
+			},
 			getDelFj(idx){
 				var that=this;
 				uni.showModal({

+ 248 - 0
work/pages/after/list.vue

@@ -0,0 +1,248 @@
+<template>
+	<view class="listbox">
+		<view class="fixedt">
+			<!-- 选择器 -->
+			<view class="flexc checkbox">
+				<!-- <picker mode="date"   @change='bindDateChangea'>
+					<view class="chekt">
+						<view>{{shsj|| "上会时间"}}</view>
+						<image :src="upimg"></image>
+					</view>
+				</picker> -->
+				
+				<view class="reset" @click="getResetFn">
+					<image :src="resetimg"></image>
+				</view>
+				<picker range-key='label' :value="bhidx" :range="bhztlist"  @change='bindDateChangeb'>
+					<view class="chekt">
+						<view>{{bhzt || "保后状态"}}</view>
+						<image :src="upimg"></image>
+					</view>
+				</picker>
+				<view class="topc flexc">
+					<image :src="secimg"></image>
+					<input  placeholder="请输入企业名称" confirm-type="search" v-model="usename" @confirm="getConfirm"/>
+				</view>
+			</view>
+		</view>
+		<!-- 列表 -->
+		<view class="plr18">
+			<bus-list :datalist="list" :wtdt="wtdt" :type="type" :sdyhlist="sdyhlist" :dblxlist="dblxlist" :shjdlist="shjdlist" @getDetail="getDetail"></bus-list>
+		</view>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	const baseName = config.baseName
+	import busList from "@/work/components/business/list.vue"
+	import {getcxAfterlist} from "@/api/mine/work.js"
+	import {getDictionaryFn} from "@/api/mine/register.js"
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	export default{
+		components:{busList},
+		data(){
+			return{
+				secimg:require("@/static/images/home/hsearch.png"),
+				upimg:require('@/work/static/images/sup.png'),
+				resetimg:require('@/work/static/images/reset.png'),
+				scanimg:require('@/work/static/images/scan.png'),
+				list:[],
+				sdyhlist:[],
+				dblxlist:[],
+				shjdlist:[],
+				bhztlist:[],
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: true,
+				wtdt:'',
+				bhidx:[],
+				bhzt:'',
+				// limit:''
+				type:'bhxx',
+				shsj:'',
+				usename:'',
+				// type:'//file  ',
+			}
+		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		onUnload() {
+			uni.$off('refreshywlist')
+			uni.$off('refreshdatalist')
+		},
+		onLoad() {
+			uni.$on('refreshywlist',(e) => {
+				this.getrefreshData()
+			})
+			uni.$on('refreshdatalist',(e) => {
+				this.getrefreshData()
+			})
+			this.init()
+			this.getDataFn()
+		},
+		methods:{
+			checkPermi, checkRole,
+			init(){
+				// 申贷银行
+				getDictionaryFn('shendai_bank').then(res=>{
+					if(res.code==200){
+						this.sdyhlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
+				//审核状态
+				getDictionaryFn('sh_status').then(res=>{
+					if(res.code==200){
+						this.shlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
+				//担保类型
+				getDictionaryFn('guarantee_type').then(res=>{
+					if(res.code==200){
+						this.dblxlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
+				//审核进度
+				getDictionaryFn('audit_schedule').then(res=>{
+					if(res.code==200){
+						this.shjdlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
+				//保后状态 
+				getDictionaryFn('protection_status').then(res=>{
+					if(res.code==200){
+						this.bhztlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
+			},
+			getDetail(e){
+				this.$tab.navigateTo("/work/pages/business/details?id="+e+"&from=bhxx")
+			},
+			getConfirm(){
+				this.getrefreshData()
+			},
+			bindDateChangea(e){
+				// var val=e.detail.value;
+				// this.shsj=val;
+				// this.getrefreshData()
+			},
+			bindDateChangeb(e){
+				var val=e.detail.value;
+				this.bhzt=this.bhztlist[val].label;
+				this.bhztid=this.bhztlist[val].value;
+				this.getrefreshData()
+			},
+			getResetFn(){
+				// 重置
+				this.shsj='';
+				this.usename='';
+				this.bhzt='';
+				this.bhztid='';
+				this.getrefreshData()
+			},
+			getrefreshData(){
+				this.pageNum=1;
+				this.list=[];
+				this.reachflag=true;
+				this.getDataFn()
+			},
+			getDataFn(){
+				var params={
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+					// loanApplicationType:4,
+				}
+				if(this.bhzt){
+					params.loanAfterType=this.bhztid
+				}
+				
+				if(this.usename){
+					params.enterpriseName=this.usename
+				}
+				getcxAfterlist(params).then(res=>{
+					if(res.code==200){
+						if (res.rows.length < this.pageSize) {
+							this.reachflag = false
+							this.wtdt = '到底了~';
+						} else {
+							var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -	1)
+							if (num < res.total) {
+								this.reachflag = true
+								this.wtdt = ''
+							} else {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							}
+						}
+						if (this.pageNum == 1) {
+							this.list = res.rows;
+						} else {
+							this.list = this.list.concat(res.rows)
+						}
+					}else{
+						this.$toast(res.msg)
+					}
+				}) 
+			},
+		},
+		
+	}
+</script>
+
+<style lang="scss" scoped>
+.fixedt{position: fixed;left: 0;right: 0;top: 0;z-index: 2;}
+// .fixedt /deep/ uni-picker{flex: 1;}
+
+.checkbox{padding:16rpx 32rpx;background-color: #efefef;
+	.chekt{display: flex;align-items: center;margin-right: 12rpx;height:88rpx;
+		view{text-align: center;
+			font-weight: bold;font-size: 26rpx;color: #374B61;width: 136rpx;word-break: break-all;text-overflow: ellipsis;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;white-space: normal;}
+		image{width: 16rpx;height: 12rpx;flex: 0 0 auto;margin-left: 4rpx;}
+	}
+}
+.reset{width:56rpx; height: 88rpx;display: flex;align-items: center;justify-content: center;
+	image{width: 26rpx;height: 30rpx;}
+}
+.topc{border-radius: 34rpx;height:68rpx;box-sizing: border-box;padding:0 28rpx;position: relative;flex:1;background-color:rgba(90, 135, 186, 0.2);width: 260rpx;
+	margin-left: 20rpx;
+	input{font-weight: 500;font-size: 26rpx;color: #222327;flex: 1;}
+	image{width: 30rpx;height: 30rpx;margin-right: 16rpx;flex: 0 0 auto;}
+}
+// .listbox{padding-top: 120rpx;padding-bottom: 100rpx;}
+.listbox{padding-top: 120rpx;}
+.scanbox{position: fixed;left: 0;right: 0;bottom: 0;height: 100rpx;
+background: #00A9F0;font-weight: bold;font-size: 30rpx;color: #FFFFFF;
+	image{width: 26rpx;height: 26rpx;margin-right: 24rpx;}
+}
+</style>

+ 1 - 1
work/pages/business/add.vue

@@ -1300,7 +1300,6 @@
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	import {getDictionaryFn} from "@/api/mine/register.js"
 	import bartreePickerfixed from "@/components/ba-tree-picker/ba-tree-pickerfixed.vue"
-	// 340622185605234521
 	export default{
 		components:{stepBar,popUp,bartreePickerfixed},
 		data(){
@@ -2696,6 +2695,7 @@
 						obj.shareholderIdCard=params.creditCode;
 						obj.zhizhao[0]=fileName
 						this.gdlist.splice(idx,1,obj)
+						this.$toast('营业执照上传成功')
 					}
 				})
 			},

+ 110 - 23
work/pages/business/details.vue

@@ -22,6 +22,8 @@
 					<view class="adr">贷款编号 | {{datainfo.loanApplicationNumber}}</view>
 					<view class="adr">企业地址 | {{datainfo.enterpriseName}}</view>
 					<view class="adr">申报时间 | {{datainfo.applicationTime}}</view>
+					<view class="adr">放贷金额 | {{datainfo.actuallyAmount}}(万元)</view>
+					<view class="adr">放款时间 | {{datainfo.actuallyTime}}</view>
 					<view class="adr" v-if="datainfo.fileTime">归档时间 | {{datainfo.fileTime}}</view>
 				</view>
 				<view class="deta">
@@ -56,9 +58,17 @@
 		<view class="main">
 			<!-- tab -->
 			<view class="tabs" :class="fixedflag?'tabfix':''">
-				<block v-for="(ite,idx) in tabList" :key="idx">
-					<view v-if="!ite.limit||ite.limit&&!ite.limita&&checkPermi([ite.limit])||ite.limita&&ite.limit&&checkPermi([ite.limit])&&checkPermi([ite.limita])"  class="tab" :class="tabval==ite.val?'act':''"  @click="getTab(ite.val)">{{ite.tit}}</view>
-				</block>	
+				<!-- 保后信息 -->
+				<template v-if="pfrom=='bhxx'">
+					<block v-for="(ite,idx) in tabLists" :key="idx">
+						<view v-if="!ite.limit||ite.limit&&!ite.limita&&checkPermi([ite.limit])||ite.limita&&ite.limit&&checkPermi([ite.limit])&&checkPermi([ite.limita])"  class="tab" :class="tabval==ite.val?'act':''"  @click="getTab(ite.val)">{{ite.tit}}</view>
+					</block>	
+				</template>
+				<template v-else>
+					<block v-for="(ite,idx) in tabList" :key="idx">
+						<view v-if="!ite.limit||ite.limit&&!ite.limita&&checkPermi([ite.limit])||ite.limita&&ite.limit&&checkPermi([ite.limit])&&checkPermi([ite.limita])"  class="tab" :class="tabval==ite.val?'act':''"  @click="getTab(ite.val)">{{ite.tit}}</view>
+					</block>	
+				</template>
 			</view>
 			<view style="height:116rpx;" v-if="fixedflag"></view>
 			<!-- 企业信息 -->
@@ -85,11 +95,15 @@
 				<block v-if="tabval==6">
 					<gtpjg :datalist="tplist"></gtpjg>
 				</block>
+				<!-- 保后信息 -->
+				<block v-if="tabval==7">
+					<hbgxx @getDown="getDown" :pfrom="pfrom" @getQmFn="getQmFn" :datainfo="datainfo"  @getDelwjFj="getDelwjFj" @getBhqtfjEdit="getBhqtfjEdit" :bhxxlist="bhxxlist" :fileFj="datainfo.backFj"></hbgxx>
+				</block>
 			</view>
 			<!-- 法人信息 -->
 			
 		</view>
-		<block v-if="datainfo.loanApplicationType!=4&&tabval!=5&&datainfo.loanApplicationType!=3">
+		<block v-if="datainfo.loanApplicationType!=4&&tabval!=5&&datainfo.loanApplicationType!=3||pfrom=='bhxx'">
 			<view class="h50"></view>
 			<view class="footbtns" >
 				<!-- (业务进度表查询进度列表):1:申报提交 stepval 4,7,8,9,没有通过不通过
@@ -114,13 +128,26 @@
 				<!-- 申请审核 start-->
 				<!-- 投票 -->
 				<!-- 董事长一键否决 -->
-				<view class="fbtns bgb" v-if="checkPermi(['c:conference:finish'])"  @click="getVoteFinish">一键否决</view>
-				<block v-if="pfrom=='vote'">
+				<view class="fbtns bgb" v-if="checkPermi(['c:conference:finish'])&&pfrom!='bhxx'"  @click="getVoteFinish">一键否决</view>
+				<template v-if="pfrom=='vote'">
 					<view class="fbtns bga" v-if="checkPermi(['c:conference:vote'])&&(datainfo.votingResult==4||datainfo.votingResult==1)"  @click="getShFn('shshtp')">投票</view>
 					<!-- 管理员重新投票  只有需要重新投票才会出现 -->
 					<view class="fbtns bga" v-if="checkRole(['manager'])&&stepval==6&&datainfo.votingResult==3&&checkPermi(['c:conference:again'])" @click="getShFn('cxtp')">重新投票</view>
-				</block>
-				<block v-else>
+				</template>
+				<template v-else-if="pfrom=='bhxx'">
+					<block v-if="checkPermi(['system:fj:add'])">
+						<!-- 图片,财务报表 -->
+						<!-- <view class="fbtns bga" @click="getShFn('bhsc')">保后调查</view> -->
+						<view class="fbtns bgb" @click="getBhqtfjEdit('shchzhp')">生产照片</view>
+						<view class="fbtns bga" @click="getBhqtfjEdit('cwbb')">财务报表</view>
+						<!-- 其他附件 -->
+						<view class="fbtns bgb" @click="getBhqtfjEdit('qtfj')" v-if="checkPermi(['system:fj:add'])">上传其他附件</view>
+					</block>
+					
+					<!-- 出具 -->
+					<view class="fbtns bgd" @click="getMoreFn('cjbh')">出具</view>
+				</template>
+				<template v-else>
 					<!-- a角色,管理员和可以全程修改 -->
 					<view class="fbtns bge" v-if="checkPermi(['system:application:edit'])&&(stepval<3||userId==datainfo.aUserId&&stepval>2||checkPermi(['*:*:*']))" @click="getedit">修改</view>
 					<view class="fbtns bgc" v-if="checkPermi(['system:application:remove'])&&stepval<3" @click="getDel">删除</view>
@@ -207,7 +234,7 @@
 						<!-- stepval==6&&reviewSchedule>1 -->
 						<view class="fbtns bgb" v-if="checkRole(['manager'])&&(datainfo.auditType!=1||auditSchedule>7||auditSchedule==2||stepval==6&&datainfo.reviewSchedule>1)" @click="getCxFn">撤销</view>
 					</block>
-				</block>
+				</template>
 				
 			</view>
 		</block>
@@ -238,6 +265,10 @@
 					<block  v-if="stepval==9||stepval==8&&datainfo.aAuthorize=='Y'">
 						<view class="fbtns bgb" v-if="checkRole(['manager'])||userId==datainfo.aUserId" @click="getIssureFn(4,'fktzhsh')">放款通知书</view>
 					</block>
+					<!-- 借据 -->
+					<block v-if="stepval==9">
+						<view class="fbtns bga" v-if="checkRole(['manager'])||userId==datainfo.aUserId" @click="getfjEdit('jj')">上传借据</view>
+					</block>
 					<view @click="getQtfjEdit('qtfj')" v-if="checkPermi(['system:fj:add'])">上传其他附件</view>
 				</block>
 				<!--风险部门 start 外部工具平台 -->
@@ -286,12 +317,16 @@
 					<view @click="getIssureFn(16,'bkcxgr')">不可撤销个人连带责任信用反担保合同</view>
 				</block>
 				<!-- 合同签约 end -->
-				
+				<!-- 保后 -->
+				<block v-if="mtype=='cjbh'">
+					<view @click="getIssureFn(19,'qyxyfdb')">出具T+1保后表</view>
+					<view @click="getIssureFn(20,'wtbzgcly')">出具T+N保后表</view>
+				</block>
 			</view>
 			<!-- <view class="surbtns" @click="getMoreSure">确认</view> -->
 		</view>
 		<pop-up :type="type" :startady="daytime" :shtg="shtg" :loanApplicationId="datainfo.loanApplicationId" :loanApplicationNumber="datainfo.loanApplicationNumber" :userList="userList" 
-		:stepList="stepList" :wjcjobj='wjcjobj' :qtfjobj="qtfjobj" :stepval="stepval" :fjval="fjval"
+		:stepList="stepList" :wjcjobj='wjcjobj' :bhxxobj='bhxxobj' :qtfjobj="qtfjobj" :stepval="stepval" :fjval="fjval"
 		 @getfjAdd="getfjAdd"
 		 @getClose="getClose" @getupSubmit="getupSubmit" @getSure="getSure"></pop-up>
 	</view>
@@ -311,16 +346,17 @@
 	import ewjcj from "@/work/components/business/ewjcj.vue"
 	import fshxx from "@/work/components/business/fshxx.vue"
 	import gtpjg from "@/work/components/business/gtpjg.vue"
+	import hbgxx from "@/work/components/business/hbgxx.vue"
 	import {uploadmore,selectValue} from '@/utils/common.js'
 	import {getInfo} from "@/api/login.js"
 	import {getDictionaryFn} from "@/api/mine/register.js"
 	import {getUsernoPageList,getFjAdd,getFjDel} from "@/api/common.js"
 	import {getApplicationDet,getScheduleList,getHyperlinkList,getApplicationDel,getApplicationSh,getCommentsList,getApplicationSs,getApplicationCx,getapplicationGd,getapplicationXib,getExportMb,
-	getZanHuan,getAuthorize,getReview,getVoteAdd,getcxVoteAdd,getVoteFive,getVoteTimeList,getVoteFinish
+	getZanHuan,getAuthorize,getReview,getVoteAdd,getcxVoteAdd,getVoteFive,getVoteTimeList,getVoteFinish,getputActually
 	} from "@/api/mine/work.js"
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	export default{
-		components:{aqyxx,bfrxx,cfdbrxx,dfjxx,ewjcj,fshxx,gtpjg,popUp},
+		components:{aqyxx,bfrxx,cfdbrxx,dfjxx,ewjcj,fshxx,gtpjg,hbgxx,popUp},
 		data(){
 			return{
 				start:require('@/work/static/images/start.png'),
@@ -329,8 +365,10 @@
 				gdicoimg:require('@/work/static/images/gdico.png'),
 				tabval:0,
 				type:'',
-				tabList:[{tit:"企业信息",val:0},{tit:"法人信息",val:1},{tit:"反担保人信息",val:2},{tit:"附件信息",val:3},{tit:"文件出具",val:4,limit:'system:system:user'},{tit:"审核信息",val:5,limit:'system:system:user'},{tit:"投票结果",val:6,limit:'system:system:user',limita:'c:conference:list:time'},],
-				// tabLists:[{tit:"企业信息",val:0},{tit:"法人信息",val:1},{tit:"反担保人信息",val:2},{tit:"附件信息",val:3}],
+				tabList:[{tit:"企业信息",val:0},{tit:"法人信息",val:1},{tit:"反担保人信息",val:2},{tit:"附件信息",val:3},{tit:"文件出具",val:4,limit:'system:system:user'},{tit:"审核信息",val:5,limit:'system:system:user'},
+				{tit:"投票结果",val:6,limit:'system:system:user',limita:'c:conference:list:time'}],
+				tabLists:[{tit:"企业信息",val:0},{tit:"法人信息",val:1},{tit:"反担保人信息",val:2},{tit:"附件信息",val:3},{tit:"文件出具",val:4,limit:'system:system:user'},{tit:"审核信息",val:5,limit:'system:system:user'},
+				{tit:"投票结果",val:6,limit:'system:system:user',limita:'c:conference:list:time'},{tit:"保后信息",val:7,limit:'system:system:user'},],
 				stepList:[],
 				stepval:0,
 				gdflag:false,
@@ -420,6 +458,7 @@
 				hyztlist:[],//婚姻状态
 				sbfjlist:[],//申报附件
 				wjcjlist:[],//文件出具
+				bhxxlist:[],//保后信息
 				linkList:[],//外部链接
 				userList:[],//用户列表
 				shjdlist:[],//审核进度
@@ -430,6 +469,7 @@
 				tplist:[],//投票列表
 				shinfo:{},//审核信息
 				wjcjobj:{},//文件出具对象
+				bhxxobj:{},//保后信息对象
 				qtfjobj:{'qtfj':"其他附件"},//其他附件
 				qtfjlist:[],//其他附件
 				fjval:'',//附件类型
@@ -590,15 +630,25 @@
 			// },
 			// 上传附件
 			getfjEdit(ite){
-				this.type='fjadd';
+				if(ite=='jj'){
+					this.type=ite;
+				}else{
+					this.type='fjadd';
+					this.fjval=ite
+				}
 				this.mtype='';
-				this.fjval=ite
 			},
 			getQtfjEdit(val){
 				this.type='qtfjadd';
 				this.mtype='';
 				this.fjval=val
 			},
+			// 保后附件
+			getBhqtfjEdit(val){
+				this.type='bgfjadd';
+				this.mtype='';
+				this.fjval=val
+			},
 			// 业务进度
 			getScheduleList(){
 				var params={
@@ -752,6 +802,20 @@
 						this.wjcjobj=obj
 					}
 				})
+				// 保后附件
+				getDictionaryFn('baohou').then(res=>{
+					if(res.code==200){
+						var obj={}
+						this.bhxxlist = res.data.map(v => {
+							obj[v.dictValue]=v.dictLabel
+							return {
+								label: v.dictLabel,
+								val: v.dictValue,
+							}
+						})
+						this.bhxxobj=obj
+					}
+				})
 				//审核状态
 				getDictionaryFn('sh_status').then(res=>{
 					if(res.code==200){
@@ -922,18 +986,41 @@
 			getfjAdd(data){
 				var that=this;
 				var params=JSON.parse(JSON.stringify(data));
-				var fjUrl=params.fjUrl
+				var fjUrl=params.fjUrl;
+				
 				// params.loanApplicationId=this.id;
 				// params.loanApplicationNumber=this.datainfo.loanApplicationNumber;
 				// params.auditSchedule=this.auditSchedule;
 				getFjAdd(fjUrl).then(res=>{
 					if(res.code==200){
 						that.$toast('上传附件成功')
-						setTimeout(function(){
-							that.getDetail();
-							uni.$emit('refreshdatalist')
-							that.type=''
-						},1200)
+						// 修改信息
+						if(that.type=='jj'){
+							var amount=params.actuallyAmount||"";
+							var time=params.actuallyTime||"";
+							that.getputActually(amount,time)
+						}else{
+							setTimeout(function(){
+								that.getDetail();
+								uni.$emit('refreshdatalist')
+								that.type=''
+							},1200)
+						}
+					}
+				})
+			},
+			getputActually(amount,time){
+				var that=this;
+				var params={
+					loanApplicationId:this.id,
+					actuallyAmount:amount,
+					actuallyTime:time,	
+				}
+				getputActually(params).then(res=>{
+					if(res.code==200){
+						that.getDetail();
+						uni.$emit('refreshdatalist')
+						that.type=''
 					}
 				})
 			},

BIN
work/static/images/aftera.png


BIN
work/static/images/afterb.png


BIN
work/static/images/afterc.png