Przeglądaj źródła

客户,通知,业务功能实现

zouling 1 rok temu
rodzic
commit
7207c3c5a7

+ 38 - 0
api/common.js

@@ -7,4 +7,42 @@ export function getCategoryTree(data) {
     'method': 'get',
 	'data':data
   })
+}
+// 行业类别-列表
+export function getCategoryList(data) {
+  return request({
+    'url': '/system/category/list',
+    'method': 'get',
+	'data':data
+  })
+}
+// 系统通知-列表 system:notice:list
+export function getNoticeList(data) {
+  return request({
+    'url': '/system/notice/list',
+    'method': 'get',
+	'data':data
+  })
+}
+// 系统通知-详情 system:notice:query
+export function getNoticeDet(data) {
+  return request({
+    'url': '/system/notice/'+data,
+    'method': 'get',
+  })
+}
+// 待办提醒-列表 system:remind:list
+export function getRemindList(data) {
+  return request({
+    'url': '/remind/list',
+    'method': 'get',
+	'data':data
+  })
+}
+// 系统通知-详情 system:remind:query
+export function getRemindDet(data) {
+  return request({
+    'url': '/remind/'+data,
+    'method': 'get',
+  })
 }

+ 25 - 1
api/mine/card.js

@@ -77,4 +77,28 @@ export function getEnterpriseDet(data) {
     'url': '/enterprise/'+data,
     'method': 'get',
   })
-}
+}
+
+//用户身份证信息列表-列表idcard:idcard:list
+export function getIdCardList(data) {
+  return request({
+    'url': '/idCard/list',
+    'method': 'get',
+	'data':data
+  })
+}
+//用户身份证信息列表-详情idcard:idcard:query
+export function getIdCardDet(data) {
+  return request({
+    'url': '/idCard/'+data,
+    'method': 'get',
+  })
+}
+
+
+
+
+
+
+
+

+ 18 - 1
api/mine/work.js

@@ -60,4 +60,21 @@ export function getScheduleList(data) {
     'method': 'get',
 	'data':data
   })
-}
+}
+// 获取模板 system:export:mb
+export function getExportMb(data) {
+  return request({
+    'url': '/application/export/mb',
+    'method': 'post',
+	'data':data
+  })
+}
+// 文档说明-列表 system:document:list
+export function getDocumentList(data) {
+  return request({
+    'url': '/document/list',
+    'method': 'get',
+	'data':data
+  })
+}
+

+ 13 - 11
components/footer/footer.vue

@@ -2,22 +2,23 @@
 	<view>
 	<view style="height: 100rpx;"></view>
     <view class="com_footer">
-        <view class="in_item" v-for="(item,k) in footlist" :key="k" @click="gotopage(item)">
-			<view class="im_imgs">
-				<image class="in_img" :class="item.img" v-if="active == item.module" :src="item.icon_checked" mode="scaleToFill"></image>
-				<image class="in_img" :class="item.img" v-else :src="item.icon_nochecked" mode="scaleToFill"></image>
+		<block v-for="(item,k) in footlist" :key="k" >
+			<view class="in_item" v-if="!item.limit||item.limit&&checkPermi([item.limit])"  @click="gotopage(item)">
+				<view class="im_imgs">
+					<image class="in_img" :class="item.img" v-if="active == item.module" :src="item.icon_checked" mode="scaleToFill"></image>
+					<image class="in_img" :class="item.img" v-else :src="item.icon_nochecked" mode="scaleToFill"></image>
+				</view>
+				
+				<view class="in_txt" v-if="active == item.module" :style="'color: #'+color_checked">{{item.title}}</view>
+				<view class="in_txt" v-else :style="'color: #'+color_nochecked">{{item.title}}</view>
 			</view>
-			
-			<view class="in_txt" v-if="active == item.module" :style="'color: #'+color_checked">{{item.title}}</view>
-			<view class="in_txt" v-else :style="'color: #'+color_nochecked">{{item.title}}</view>
-        </view>
+		</block>
     </view>
 	</view>
 </template>
 
 <script>
-	// import api from '../../api/api.js'
-	// import plugins from '../../commen/js/plugin.js'
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
     export default {
 		props:[
 			// 'footlist',
@@ -32,7 +33,7 @@
 				footlist:[
 					{module:'home',title:'首页',img:"imga",icon_checked:require('@/static/images/tabbar/home_.png'),icon_nochecked:require('@/static/images/tabbar/home.png')},
 					{module:'work',title:'业务',img:"imgb",icon_checked:require('@/static/images/tabbar/work_.png'),icon_nochecked:require('@/static/images/tabbar/work.png')},
-					{module:'custom',title:'客户',img:"imgc",icon_checked:require('@/static/images/tabbar/custom_.png'),icon_nochecked:require('@/static/images/tabbar/custom.png')},
+					{module:'custom',title:'客户',img:"imgc",icon_checked:require('@/static/images/tabbar/custom_.png'),icon_nochecked:require('@/static/images/tabbar/custom.png'),limit:'idcard:idcard:list'},
 					{module:'mine',title:'我的',img:"imga",icon_checked:require('@/static/images/tabbar/mine_.png'),icon_nochecked:require('@/static/images/tabbar/mine.png')},
 					],
 				color_checked :'00A9F0',
@@ -44,6 +45,7 @@
 			this.active = this.footerindex;
 		},
         methods:{
+			checkPermi, checkRole,
             // 跳转底部导航页面
 			gotopage(e){
 				var that = this;

+ 3 - 2
components/swiper/notice.vue

@@ -4,9 +4,10 @@
 	  		<image :src="tztip"></image>
 			<swiper class="swiper" circular :autoplay="autoplay" :interval="interval" :duration="duration" vertical='true'>
 				<swiper-item v-for="(ite,idx) in noticelist" :key="">
-					<view class="flexc swipers" @click="getDetail(ite.zxNoticeId)">
+					<view class="flexc swipers" @click="getDetail(ite.noticeId)">
 						<view class="tit over">{{ite.noticeTitle}}</view>
-						<view class="time">{{ite.issuerTime}}</view>
+						<!-- <view class="time">{{ite.issuerTime}}</view> -->
+						<view class="time" v-if="ite.createTime">{{ite.createTime.substring(0,10)}}</view>
 					</view>
 				</swiper-item>
 			</swiper>

+ 2 - 2
components/toptab/tab.vue

@@ -42,9 +42,9 @@
 				}
 			},
 			tabidx:{
-				type: Number,
+				type: [String,Number],
 				default () {
-					return 0
+					return ''
 				}
 			}
 		},

+ 53 - 5
components/wait/list.vue

@@ -1,11 +1,45 @@
 <template>
   <view>
 	<view v-if="datalist.length>0">
-		<view class="watlist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail()">
-			<view class="tit flex1 over">{{ite.tit}}</view>
-			<view class="txt flex0">{{ite.time}}</view>
-		</view>
-		<view class="shax" v-if="wtdt">{{wtdt}}</view>
+	<!-- 代办提醒 -->
+		<block v-if="type=='dbtx'">
+			<view class="watlist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.remindId)">
+				<view class="tit flex1 over">{{ite.tit}}</view>
+				<view class="txt flex0">{{ite.time}}</view>
+			</view>
+			<view class="shax" v-if="wtdt">{{wtdt}}</view>
+		</block>
+		<!-- 系统通知 -->
+		<block v-if="type=='xttz'">
+			<view class="cards" v-for="(ite,idx) in datalist" :key="idx" @click="getDetail(ite.noticeId)">
+				<view class="top flexc">
+					<view class="cir bga"></view>
+					<view class="tit">系统通知</view>
+					<view class="time">{{ite.createTime}}</view>
+				</view>
+				<view class="ctxt">
+					<view>{{ite.noticeContent}}</view>
+					<view class="tzhu">祝您生活愉快!</view>
+				</view>
+			</view>
+		</block>
+		<!-- 代办通知 -->
+		<block v-if="type=='dbtz'">
+			<view class="cards" v-for="(ite,idx) in datalist" :key="idx" @click="getDetail(ite.remindId)">
+				<view class="top flexc">
+					<view class="cir bgb"></view>
+					<view class="tit">待办通知</view>
+					<view class="time">{{ite.remindTime}}</view>
+				</view>
+				<view class="ctxt">
+					<view>
+						{{ite.remindContent}}
+						您有<text class="cof6">1</text>条来自【潜山弘立新型建材有限公司】的申报信 息,请您前往审核。
+					</view>
+					<view class="tzhu">祝您生活愉快!</view>
+				</view>
+			</view>
+		</block>
 	</view>
 	<block v-else>
 		<no-data></no-data>
@@ -94,5 +128,19 @@
 	.tit{font-weight: 500;font-size: 28rpx;color: #222327;line-height: 40rpx;}
 	.txt{font-weight: 500;font-size: 24rpx;color: #AAAAAA;margin-left: 20rpx;}
 }
+.cards{width: 702rpx;background: #FFFFFF;border-radius: 10rpx;margin: 0 auto 24rpx;
+	.top{padding: 26rpx 34rpx;
+		.cir{width: 20rpx;height: 20rpx;flex: 0 0 auto;margin-right: 20rpx;border-radius: 20rpx;
+			&.bga{background: #28C529;}
+			&.bgb{background: #FF6969;}
+		}
+		.tit{flex: 1;font-weight: bold;font-size: 26rpx;color: #343434;line-height: 36rpx;}
+		.time{font-weight: 500;font-size: 26rpx;flex: 0 0 auto;margin-right: 20rpx;color: #222327;}
+	}
+	.ctxt{font-weight: 500;font-size: 26rpx;color: #666666;border-top: 2rpx solid #E5E5E5;padding: 34rpx;
+		view{line-height: 36rpx;}
+		.tzhu{margin-top: 28rpx;}
+	}
 
+}
 </style>

+ 10 - 0
pages.json

@@ -26,6 +26,16 @@
 			"titleNView":false
 			}
 	  }},
+	  {
+	    "path": "pages/index/noticedetail",
+	    "style": {
+	      "navigationBarTitleText": "通知详情",
+	      "navigationBarBackgroundColor": "#00A9F0",
+	  	"navigationBarTextStyle": "white",
+	  	"h5":{
+	  		"titleNView":false
+	  		}
+	    }},
 	
   {
     "path": "pages/register",

+ 24 - 25
pages/custom/index.vue

@@ -36,7 +36,7 @@
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	
 	let { calendar } = require("@/components/lunc-calendar/calendar.js");
-	// import {getReservatcountl,getReservatList,getReservatDel,getReservatSh} from "@/api/mine/order.js"
+	import {getIdCardList,} from "@/api/mine/card.js"
 	import {getDictionaryFn} from "@/api/mine/register.js"
 	import busList from "@/work/components/business/list.vue"
 	import footers from '@/components/footer/footer.vue'
@@ -50,9 +50,8 @@
 			bgimg:require("@/static/images/bg.png"),
 			noticeimg:require("@/static/images/home/notice.png"),
 			secimg:require("@/static/images/home/search.png"),
-			list:[{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},
-				{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},
-				{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},
+			list:[{idCard:'34282419730618003X',realName:'林振宇',userId:'1'},{idCard:'34282419730618003X',realName:'何芸芸'},
+				
 			],
 			pageSize: 10,
 			pageNum: 1,
@@ -78,6 +77,9 @@
 			this.backgroundColor = '#00A9F0'
 		}
 	},
+	onUnload() {
+		uni.$off('refreshdatalist')
+	},
 	onLoad: function() {
 		// uni.$on('refreshdatalist',(e) => {
 		// 	this.reachflag=false;
@@ -95,38 +97,33 @@
 			}
 		})
 	},
-	onUnload() {
-		uni.$off('refreshdatalist')
-	},
+	
 
 	onShow() {
-		// var that=this;
-		// this.time();
 	},
 	mounted() {
 		this.getHeightFn()
 	},
 	// 上拉触底加载更多触发事件
 	onReachBottom() {
-		// if (this.reachflag) {
-		// 	this.pageNum++
-		// 	this.getDataFn()
-		// }
+		if (this.reachflag) {
+			this.pageNum++
+			this.getDataFn()
+		}
 	},
 	methods:{
 		checkPermi, checkRole,
 		getConfirm(){
-			// this.$tab.navigateTo("/pages/order/list")
-			// this.init()
+			this.getrefreshData()
 		},
 		getNoticeFn(){
 			this.$tab.navigateTo("/pages/index/notice")
 		},
 		getrefreshData(){
-			// this.pageNum=1;
-			// this.list=[];
-			// this.reachflag=true;
-			// this.getDataFn()
+			this.pageNum=1;
+			this.list=[];
+			this.reachflag=true;
+			this.getDataFn()
 		},
 		getHeightFn(){
 			let query = uni.createSelectorQuery().in(this);
@@ -150,23 +147,25 @@
 				if(res.code==200){
 					this.adrlist = res.data.map(v => {
 						return {
-							dictLabel: v.dictLabel,
-							dictValue: v.dictValue
+							lLabel: v.dictLabel,
+							value: v.dictValue
 						}
 					})
 				}
 			})
 		},
-		getDetail(){
-			this.$tab.navigateTo("/work/pages/custom/details")
+		getDetail(e){
+			this.$tab.navigateTo("/work/pages/custom/details?id="+e)
 		},
 		getDataFn(){
 			var params={
 				pageSize:this.pageSize,
 				pageNum: this.pageNum,
-				// visitType:3
 			}
-			getReservatList(params).then(res=>{
+			if(this.usename){
+				params.realName=this.usename
+			}
+			getIdCardList(params).then(res=>{
 				if(res.code==200){
 					if (res.rows.length < this.pageSize) {
 						this.reachflag = false

+ 40 - 14
pages/index/index.vue

@@ -87,7 +87,7 @@
 						</view>
 					</view>
 					<view class="flexcj tabt pb12">
-						<view class="left" @click="getFace">待办提醒(<text>8</text>)</view>
+						<view class="left" @click="getFace">待办提醒(<text>{{total}}</text>)</view>
 						<view class="right flexc" @click="getBusListFn(0)" v-if="checkPermi(['system:application:list'])">更多<image :src="rimg"></image></view>
 					</view>
 				</view>
@@ -104,7 +104,7 @@
 			<view style="height:98rpx;" v-if="fixedflag"></view>
 			<!-- 列表 -->
 			<view class="mt2 plr12" :style="'min-height: ' + minheight + 'px;'">
-				<wait-list :datalist="list" :wtdt="wtdt"  @getDetail="getDetail"></wait-list>
+				<wait-list type='dbtx' :datalist="list" :wtdt="wtdt"  @getDetail="getDetail"></wait-list>
 			</view>
 		</view>
 	<footers v-if="isfootflag"  :footerindex="footerindex"  :isHomeIndex="true"></footers>
@@ -115,7 +115,7 @@
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	import waitList from "@/components/wait/list.vue"
 	let { calendar } = require("@/components/lunc-calendar/calendar.js");
-	// import {getReservatcountl,getReservatList,getReservatDel,getReservatSh} from "@/api/mine/order.js"
+	import {getRemindList,getNoticeList} from "@/api/common.js"
 	import {getDictionaryFn} from "@/api/mine/register.js"
 	import banner from "@/components/toptab/banner.vue"
 	import hNotice from '@/components/swiper/notice.vue'
@@ -147,7 +147,7 @@
 			codeimg:require("@/static/images/home/scan.png"),
 			rimg:require("@/static/images/home/rimg.png"),
 			noticelist:[{noticeTitle:'安徽嘉欣医疗用品有限公司项目评…',issuerTime:'04-07'},{noticeTitle:'2安徽嘉欣医疗用品有限公司项目评…',issuerTime:'04-07'},],
-			autoplay:false,
+			autoplay:true,
 			
 			list:[{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},
 				{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},
@@ -162,6 +162,7 @@
 			listTop:0,//距离顶部的距离
 			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},],
 			usename:'',
 			bannerlist:[{path:require("@/static/images/home/banner.png"),},{path:require("@/static/images/navbg.png"),}],
@@ -183,6 +184,9 @@
 			this.fixedflag=false
 		}
 	},
+	onUnload() {
+		uni.$off('refreshdatalist')
+	},
 	onLoad: function() {
 		// uni.$on('refreshdatalist',(e) => {
 		// 	this.reachflag=false;
@@ -192,7 +196,8 @@
 		// })
 		
 		// this.init()
-		// this.getDataFn()
+		this.getDataFn()
+		this.getNoticeFn()
 		uni.getSystemInfo({
 			success: (e) => {
 				this.nvaHeight = Number(e.statusBarHeight)+44;
@@ -206,9 +211,7 @@
 		 // }
 		 // console.log(metaInfo)
 	},
-	onUnload() {
-		uni.$off('refreshdatalist')
-	},
+	
 
 	onShow() {
 		// var that=this;
@@ -262,11 +265,21 @@
 		getFileFn(){
 			this.$tab.navigateTo("/work/pages/file/list")
 		},
-		getNoticeDet(){
-			
+		getNoticeDet(e){
+			this.$tab.navigateTo("/pages/index/noticedetail?type=xttz&id="+e)
+		},
+		getDetail(e){
+			this.$tab.navigateTo("/pages/index/noticedetail?type=dbtz&id="+e)
 		},
 		getTab(idx){
 			this.tabval=idx;
+			this.getrefreshData()
+		},
+		getrefreshData(){
+			this.pageNum=1;
+			this.list=[];
+			this.reachflag=true;
+			this.getDataFn()
 		},
 		getHeightFn(){
 			let query = uni.createSelectorQuery().in(this);
@@ -317,17 +330,30 @@
 			// 	'0' + s) : s);
 			// this.kaTime = yearStr + ' ' + timeStr;
 		},
-		getDetail(data){
-			// this.$tab.navigateTo('/pages/order/staffcode?type=look&id='+data)
+		getNoticeFn(){
+			var params={
+				pageSize:10,
+				pageNum: 1,
+			}
+			getNoticeList(params).then(res=>{
+				if(res.code==200){
+					this.noticelist = res.rows;
+				}else{
+					this.$toast(res.msg)
+				}
+			}) 
 		},
 		getDataFn(){
 			var params={
 				pageSize:this.pageSize,
 				pageNum: this.pageNum,
-				// visitType:3
 			}
-			getReservatList(params).then(res=>{
+			if(this.tabval){
+				params.remindType=this.tabval
+			}
+			getRemindList(params).then(res=>{
 				if(res.code==200){
+					this.total=res.total||0
 					if (res.rows.length < this.pageSize) {
 						this.reachflag = false
 						this.wtdt = '到底了~';

+ 140 - 50
pages/index/notice.vue

@@ -4,15 +4,15 @@
 			<tab-list :tablist="tablist" :height="height" :tabidx="tabidx" @getCheck="getCheck"></tab-list>
 			<!-- 筛选条件 -->
 			<view class="flexc checkbox" :class="scroflag?'scbg':''">
-				<picker mode="date"    @change='bindDateChangea'>
+				<!-- <picker mode="date"    @change='bindDateChangea'>
 					<view class="chekt">
-						<view>{{sbsj|| "通知时间"}}</view>
+						<view>{{tzsj|| "通知时间"}}</view>
 						<image :src="upimg"></image>
 					</view>
-				</picker>
-				<picker range-key='label' :value="shidx" :range="shlist"  @change='bindDateChangeb'>
+				</picker> -->
+				<picker range-key='label' :value="ydidx" :range="ydztlist"  @change='bindDateChangeb'>
 					<view class="chekt">
-						<view>{{shzt || "阅读状态"}}</view>
+						<view>{{ydzt || "阅读状态"}}</view>
 						<image :src="upimg"></image>
 					</view>
 				</picker>
@@ -23,50 +23,38 @@
 			</view>
 		</view>
 		<view class="mt12">
-			<view class="cards">
-				<view class="top flexc">
-					<view class="cir bga"></view>
-					<view class="tit">系统通知</view>
-					<view class="time">2024-04-10 18:32</view>
-				</view>
-				<view class="ctxt">
-					<view>
-						您好,皖源融资担保管理系统现已更新版本,请尽快前 往更新,以免造成您的使用不便。
-					</view>
-					<view class="tzhu">祝您生活愉快!</view>
-				</view>
-			</view>
-			<view class="cards">
-				<view class="top flexc">
-					<view class="cir bgb"></view>
-					<view class="tit">待办通知</view>
-					<view class="time">2024-04-10 18:32</view>
-				</view>
-				<view class="ctxt">
-					<view>
-						您有<text class="cof6">1</text>条来自【潜山弘立新型建材有限公司】的申报信 息,请您前往审核。
-					</view>
-					<view class="tzhu">祝您生活愉快!</view>
-				</view>
-			</view>
+			<wait-list :type='tabidx' :datalist="list" :wtdt="wtdt"  @getDetail="getDetail"></wait-list>
 		</view>
 	</view>
 </template>
 
 <script>
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	import {getNoticeList,getRemindList} from "@/api/common.js"
+	import {getDictionaryFn} from "@/api/mine/register.js"
+	import waitList from "@/components/wait/list.vue"
 	import tabList from '@/components/toptab/tab.vue'
 	export default{
-		components:{tabList},
+		components:{tabList,waitList},
 		data(){
 			return{
-				tablist:[{tit:'系统通知',val:0},{tit:'待办通知',val:1}],
+				tablist:[{tit:'系统通知',val:'xttz'},{tit:'待办通知',val:'dbtz'}],
 				resetimg:require('@/work/static/images/reset.png'),
 				wresetimg:require('@/work/static/images/wreset.png'),
 				upimg:require('@/work/static/images/sup.png'),
-				tabidx:0,
+				tabidx:'xttz',
 				height:100,
 				scroflag:false,
+				list:[],
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: true,
+				wtdt:'',
+				tzsj:'',//通知时间
+				ydidx:0,
+				ytzt:'',
+				ydztlist:[],//阅读状态
+				isRead:'',
 			}
 		},
 		onPageScroll(e) {
@@ -78,32 +66,134 @@
 				this.scroflag=false
 			}
 		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		onLoad() {
+			this.init();
+			this.getDataFn()
+		},
 		methods:{
 			checkPermi, checkRole,
+			init(){
+				// 阅读状态
+				getDictionaryFn('is_read').then(res=>{
+					if(res.code==200){
+						this.ydztlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
+			},
+			bindDateChangea(e){
+				var val=e.detail.value;
+				this.tzsj=val;
+				this.getrefreshData()
+			},
+			bindDateChangeb(e){
+				var val=e.detail.value;
+				this.ydzt=this.ydztlist[val].label;
+				this.isRead=this.ydztlist[val].value;
+				this.getrefreshData()
+			},
+			getResetFn(){
+				this.ydzt='';
+				this.tzsj='';
+				this.ydidx=0;
+				this.getrefreshData()
+			},
 			getCheck(val){
-				this.tabidx=val
-			}
+				this.tabidx=val;
+				this.getrefreshData()
+			},
+			getrefreshData(){
+				this.pageNum=1;
+				this.list=[];
+				this.reachflag=true;
+				this.getDataFn()
+			},
+			getDetail(e){
+				this.$tab.navigateTo("/pages/index/noticedetail?type="+this.tabidx+'&id='+e)
+			},
+			getDataFn(){
+				var params={
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+				}
+				// if(this.tzsj){
+				// 	params.createTime=this.tzsj
+				// }
+				if(this.ydzt){
+					params.isRead=this.isRead
+				}
+				var tabidx=this.tabidx;
+				if(tabidx=='xttz'){
+					getNoticeList(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)
+						}
+					}) 
+				}else {
+					getRemindList(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>
 .notice /deep/	uni-picker{flex: 1;}
-.cards{width: 702rpx;background: #FFFFFF;border-radius: 10rpx;margin: 0 auto 24rpx;
-	.top{padding: 26rpx 34rpx;
-		.cir{width: 20rpx;height: 20rpx;flex: 0 0 auto;margin-right: 20rpx;border-radius: 20rpx;
-			&.bga{background: #28C529;}
-			&.bgb{background: #FF6969;}
-		}
-		.tit{flex: 1;font-weight: bold;font-size: 26rpx;color: #343434;line-height: 36rpx;}
-		.time{font-weight: 500;font-size: 26rpx;flex: 0 0 auto;margin-right: 20rpx;color: #222327;}
-	}
-	.ctxt{font-weight: 500;font-size: 26rpx;color: #666666;border-top: 2rpx solid #E5E5E5;padding: 34rpx;
-		view{line-height: 36rpx;}
-		.tzhu{margin-top: 28rpx;}
-	}
 
-}
 .checkbox{padding-top: 4rpx;
 	&.scbg{background-color: #FFFFFF;}
 	.chekt{display: flex;align-items: center;margin:0 20rpx;height:88rpx;

+ 101 - 0
pages/index/noticedetail.vue

@@ -0,0 +1,101 @@
+<template>
+	<view class="detail">
+		<view class="detbox">
+			<view class="detboxa">
+				<!-- <view class="tit ffz txc">{{title}}</view> -->
+				<view class="txt">{{noticeTitle}}</view>
+				<view class="time"><block v-if="createTime">发布时间: {{createTime}}</block></view>
+				<view class="dbox">
+					<rich-text :nodes="infoContent"></rich-text>
+				</view>
+			</view>
+		</view>
+		
+	</view>
+</template>
+
+<script>
+		import {getNoticeDet,getRemindDet} from "@/api/common.js"
+	import config from '@/config'
+	const baseUrlimg=config.baseUrl
+	export default{
+		components:{},
+		data(){
+			return{
+				// newsid:'',
+				// datainfo:'',
+				// title:"新闻资讯",
+				infoContent:'',
+				id:'',
+				ptype:'',
+				noticeTitle:'',
+				createTime:'',
+			}
+		},
+		onLoad(e) {
+			this.id=e.id;
+			this.ptype=e.type;
+			this.getNewsDetail(e.id)
+		},
+		methods:{
+			getNewsDetail(id){
+				if(this.ptype=='xttz'){
+					getNoticeDet(id).then(res=>{
+						if(res.code==200){
+							this.noticeTitle=res.data.noticeTitle;
+							this.createTime=res.data.createTime;
+							if(res.data.noticeContent){
+								this.infoContent=this.formatRichText(res.data.noticeContent);
+							}
+						}
+					})
+				}else{
+					getRemindDet(id).then(res=>{
+						if(res.code==200){
+							this.noticeTitle=res.data.remindTitle;
+							this.createTime=res.data.remindTime;
+							if(res.data.noticeContent){
+								this.infoContent=this.formatRichText(res.data.remindContent);
+							}
+						}
+					})
+				}
+				
+			},
+			//解析富文本方法
+			formatRichText(html) {
+					let newContent = html.replace(/<img[^>]*>/gi, function(match, capture) {
+						match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, '').replace(/style=""/gi, '');
+						match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, '');
+						match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, '');
+						return match;
+					});
+					newContent = newContent.replace(/style="[^"]+"/gi, function(match, capture) {
+						match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi, 'max-width:100%;');
+						return match;
+					});
+					newContent = newContent.replace(/<br[^>]*\/>/gi, '');
+					newContent = newContent.replace(/\<img src="/gi,
+						'<img style="max-width:100%;height:auto;display:block;margin:10rpx auto;" src="' +baseUrlimg);
+					return newContent;
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+.detail{height: 100vh;display: flex;flex-direction: column;background-color: #ffffff;
+	.detbox{flex: 1;padding-top: 20rpx;overflow: auto;z-index: 2;
+		.detboxa{border-radius: 30rpx 30rpx 0 0; background-color: #ffffff;padding:36rpx 24rpx;
+			.tit{font-size: 32rpx;color: #321E1E;margin-bottom: 44rpx;}
+			.txt{font-size: 30rpx;font-weight: bold;color: #321E1E;line-height: 48rpx;padding: 0 22rpx;margin-bottom: 20rpx;}
+			.time{padding: 0 22rpx;font-size: 24rpx;font-weight: 500;color: #AAAAAA;margin-bottom: 36rpx;}
+			.dbox{border-top:2rpx solid #E6E6E6;padding: 40rpx 22rpx;
+				view{
+					text-indent: 2rem;font-size: 26rpx;color: #321F1B;line-height: 48rpx;
+				}
+			}
+		}
+	}
+}
+</style>

+ 66 - 37
pages/work/index.vue

@@ -24,7 +24,7 @@
 				<view class="flexc checkbox" :class="scroflag?'scbg':''">
 					<picker mode="date" fields="year"   @change='bindDateChangea'>
 						<view class="chekt">
-							<view>{{sbsj|| "申报年度"}}</view>
+							<view>{{sbnd|| "申报年度"}}</view>
 							<image :src="upimg"></image>
 						</view>
 					</picker>
@@ -34,9 +34,9 @@
 							<image :src="upimg"></image>
 						</view>
 					</picker>
-					<picker range-key='label' :value="shidx" :range="shlist"  @change='bindDateChangeb'>
+					<picker range-key='label' :value="sdyhidx" :range="sdyhlist"  @change='bindDateChangec'>
 						<view class="chekt">
-							<view>{{shzt || "申贷银行"}}</view>
+							<view>{{sdyh || "申贷银行"}}</view>
 							<image :src="upimg"></image>
 						</view>
 					</picker>
@@ -49,7 +49,7 @@
 			<image :src="bgimg" class="bgimg"></image>
 			<view class="zxmain" :style="'margin-top:-'+marTop+'rpx;'">
 				<!-- list -->
-				<bus-list :datalist="list" :wtdt="wtdt" :type="type" @getDetail="getDetail"></bus-list>
+				<bus-list :datalist="list" :wtdt="wtdt" :sdyhlist="sdyhlist" :dblxlist="dblxlist" :type="type" @getDetail="getDetail"></bus-list>
 			</view>
 		</view>
 	<footers v-if="isfootflag"  :footerindex="footerindex"  :isHomeIndex="true"></footers>
@@ -60,8 +60,8 @@
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	
 	let { calendar } = require("@/components/lunc-calendar/calendar.js");
-	// import {getReservatcountl,getReservatList,getReservatDel,getReservatSh} from "@/api/mine/order.js"
 	import {getDictionaryFn} from "@/api/mine/register.js"
+	import {getApplicationList} from "@/api/mine/work.js"
 	import busList from "@/work/components/business/list.vue"
 	import footers from '@/components/footer/footer.vue'
   export default {
@@ -78,10 +78,7 @@
 			resetimg:require('@/work/static/images/reset.png'),
 			wresetimg:require('@/work/static/images/wreset.png'),
 
-			list:[{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},
-				{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},
-				{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},{tit:'【申报审核】— 潜山弘立新型建材有限公司…',time:'04-07'},
-			],
+			list:[],
 			pageSize: 10,
 			pageNum: 1,
 			reachflag: true,
@@ -93,12 +90,16 @@
 			type:'work',
 			
 			usename:'',
-			sbsj:'',
 			shidx:0,
 			shzt:'',
 			shztid:'',
-			shlist:[{label:"未审",value:'0'},{label:"已审",value:'1'},{label:"已拒",value:'2'}]
-			
+			shlist:[{label:"未审",value:'0'},{label:"已审",value:'1'},{label:"已拒",value:'2'}],
+			sdyhlist:[],//申贷银行,
+			dblxlist:[],//担保类型
+			sdyh:'',
+			sdyhid:'',
+			sbnd:'',//申报年度
+			sdyhidx:'',
 		}
 	},
 	onPageScroll(e) {
@@ -117,6 +118,9 @@
 			this.backgroundColor = '#00A9F0'
 		}
 	},
+	onUnload() {
+		uni.$off('refreshdatalist')
+	},
 	onLoad: function() {
 		// uni.$on('refreshdatalist',(e) => {
 		// 	this.reachflag=false;
@@ -125,8 +129,8 @@
 		// 	this.getDataFn();
 		// })
 		
-		// this.init()
-		// this.getDataFn()
+		this.init()
+		this.getDataFn()
 		uni.getSystemInfo({
 			success: (e) => {
 				this.stubarHeight=Number(e.statusBarHeight);
@@ -134,9 +138,6 @@
 			}
 		})
 	},
-	onUnload() {
-		uni.$off('refreshdatalist')
-	},
 
 	onShow() {
 		// var that=this;
@@ -147,23 +148,22 @@
 	},
 	// 上拉触底加载更多触发事件
 	onReachBottom() {
-		// if (this.reachflag) {
-		// 	this.pageNum++
-		// 	this.getDataFn()
-		// }
+		if (this.reachflag) {
+			this.pageNum++
+			this.getDataFn()
+		}
 	},
 	methods:{
 		checkPermi, checkRole,
 		getConfirm(){
-			// this.$tab.navigateTo("/pages/order/list")
-			// this.init()
+			this.getrefreshData()
 		},
 		getNoticeFn(){
 			this.$tab.navigateTo("/pages/index/notice")
 		},
 		bindDateChangea(e){
 			var val=e.detail.value;
-			this.sbsj=val;
+			this.sbnd=val;
 			this.getrefreshData()
 		},
 		bindDateChangeb(e){
@@ -172,15 +172,24 @@
 			this.shztid=this.shlist[val].value;
 			this.getrefreshData()
 		},
+		bindDateChangec(e){
+			var val=e.detail.value;
+			this.sdyh=this.sdyhlist[val].label;
+			this.sdyhid=this.sdyhlist[val].value;
+			this.getrefreshData()
+		},
 		getResetFn(){
+			this.sbnd='';
+			this.usename='';
+			this.sdyh='';
 			// 重置
 			this.getrefreshData()
 		},
 		getrefreshData(){
-			// this.pageNum=1;
-			// this.list=[];
-			// this.reachflag=true;
-			// this.getDataFn()
+			this.pageNum=1;
+			this.list=[];
+			this.reachflag=true;
+			this.getDataFn()
 		},
 		getHeightFn(){
 			let query = uni.createSelectorQuery().in(this);
@@ -204,29 +213,49 @@
 			}).exec();
 		},
 		init(){
-			// 记录来源
-			getDictionaryFn('jluly').then(res=>{
+			// 申贷银行
+			getDictionaryFn('shendai_bank').then(res=>{
 				if(res.code==200){
-					this.adrlist = res.data.map(v => {
+					this.sdyhlist = res.data.map(v => {
 						return {
-							dictLabel: v.dictLabel,
-							dictValue: v.dictValue
+							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
 						}
 					})
 				}
 			})
 		},
-		getDetail(){
-			this.$tab.navigateTo("/work/pages/business/details")
+		getDetail(e){
+			this.$tab.navigateTo("/work/pages/business/details?id="+e)
 		},
 		getDataFn(){
 			var params={
 				pageSize:this.pageSize,
 				pageNum: this.pageNum,
-				// visitType:3
+				loanSchedule:10,
+			}
+			if(this.sbnd){
+				params.createTime=this.sbnd
+			}
+			if(this.usename){
+				params.enterpriseName=this.usename
+			}
+			if(this.sdyh){
+				params.applicationBank=this.sdyhid
 			}
 			// 业务 是归档后 的数据
-			getReservatList(params).then(res=>{
+			getApplicationList(params).then(res=>{
 				if(res.code==200){
 					if (res.rows.length < this.pageSize) {
 						this.reachflag = false

+ 87 - 20
work/components/business/aqyxx.vue

@@ -18,45 +18,103 @@
 			<view class="txt">是否小微企业:<text>{{datainfo.isSmall=='Y'?'是':'否'}}</text></view>
 		</view>
 		<view class="txt">公司简介:<text>{{datainfo.companyIntroduction}}</text></view>
-		
-		<view class="flexcw">
-			<view class="txt">公司章程:<text class="txta" @click="getDown(a)">在线查看</text></view>
-			<view class="txt">开户许可证:<text class="txta" @click="getDown(a)">在线查看</text></view>
+		<view class="txt flext">
+			<view class="flex0">公司章程:</view>
+			<view class="flex1 over">
+				<block v-if="basicFj.gszc&&basicFj.gszc.length">
+					<block v-if="basicFj.gszc.length>1">
+						<view v-for="(ite,idx) in basicFj.gszc" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.gszc[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
+		<view class="txt flext">开户许可证:
+			<view class="flex1 over">
+				<block v-if="basicFj.khxkz&&basicFj.khxkz.length">
+					<block v-if="basicFj.khxkz.length>1">
+						<view v-for="(ite,idx) in basicFj.khxkz" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.khxkz[0].url)">在线查看</text>
+				</block>
+			</view>
 		</view>
 	</view>
-	<view class="boxt">
+	<view class="boxt" v-if="datainfo.shareholderFjList&&datainfo.shareholderFjList.length">
 		<view class="tit">
 			<image :src="titimg"></image>全体股东身份及征信
 		</view>
-		<view class="flexcw">
-			<view class="txt">股东1身份证:<text class="txta" @click="getDown(a)">在线查看</text></view>
-			<view class="txt">股东1征信:<text class="txta" @click="getDown(a)">在线查看</text></view>
-		</view>
-		<view class="flexcw">
-			<view class="txt">股东2身份证:<text class="txta" @click="getDown(a)">在线查看</text></view>
-			<view class="txt">股东2征信:<text class="txta" @click="getDown(a)">在线查看</text></view>
-		</view>
-		<view class="flexcw">
-			<view class="txt">股东3身份证:<text class="txta" @click="getDown(a)">在线查看</text></view>
-			<view class="txt">股东3征信:<text class="txta" @click="getDown(a)">在线查看</text></view>
+		<view class="flexcw" v-for="(ite,idx) in datainfo.shareholderFjList" :key="idx">
+			<view class="txt">股东{{Number(idx)+1}}身份证:<text class="txta" @click="getDown(ite.shareholderFrontUrl)">在线查看</text></view>
+			<view class="txt">股东{{Number(idx)+1}}征信:<text class="txta" @click="getDown(ite.shareholderZxUrl)">在线查看</text></view>
 		</view>
 	</view>
 	<view class="boxt">
 		<view class="tit">
 			<image :src="titimg"></image>企业征信
 		</view>
-		<view class="txt">申请企业:<text class="txta" @click="getDown(a)">在线查看</text></view>
-		<view class="txt">关联企业:<text class="txta" @click="getDown(a)">在线查看</text></view>
+		<view class="txt flext">申请企业:
+			<view class="flex1 over">
+				<block v-if="basicFj.sqqyzxbg&&basicFj.sqqyzxbg.length">
+					<block v-if="basicFj.sqqyzxbg.length>1">
+						<view v-for="(ite,idx) in basicFj.sqqyzxbg" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.sqqyzxbg[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
+		<view class="txt flext">关联企业:
+			<view class="flex1 over">
+				<block v-if="basicFj.glqyzxbg&&basicFj.glqyzxbg.length">
+					<block v-if="basicFj.glqyzxbg.length>1">
+						<view v-for="(ite,idx) in basicFj.glqyzxbg" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.glqyzxbg[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
+		<!-- <view class="txt">申请企业:<text class="txta" @click="getDown(a)">在线查看</text></view>
+		<view class="txt">关联企业:<text class="txta" @click="getDown(a)">在线查看</text></view> -->
 	</view>
 	<view class="boxt">
 		<view class="tit">
 			<image :src="titimg"></image>企业法人及控股人征信
 		</view>
-		<view class="txt">企业法人:<text class="txta" @click="getDown(a)">在线查看</text></view>
+		<view class="txt flext">企业法人:
+			<view class="flex1 over">
+				<block v-if="basicFj.qyfrzxbg&&basicFj.qyfrzxbg.length">
+					<block v-if="basicFj.qyfrzxbg.length>1">
+						<view v-for="(ite,idx) in basicFj.qyfrzxbg" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.qyfrzxbg[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
+		<view class="txt flext">实际控股人:
+			<view class="flex1 over">
+				<block v-if="basicFj.sjkgrzxbg&&basicFj.sjkgrzxbg.length">
+					<block v-if="basicFj.sjkgrzxbg.length>1">
+						<view v-for="(ite,idx) in basicFj.sjkgrzxbg" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.sjkgrzxbg[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
+		<view class="txt flext">配偶征信:
+			<view class="flex1 over">
+				<block v-if="basicFj.sjkgrpozxbg&&basicFj.sjkgrpozxbg.length">
+					<block v-if="basicFj.sjkgrpozxbg.length>1">
+						<view v-for="(ite,idx) in basicFj.sjkgrpozxbg" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.sjkgrpozxbg[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
+		<!-- <view class="txt">企业法人:<text class="txta" @click="getDown(a)">在线查看</text></view>
 		<view class="flexcw">
 			<view class="txt">实际控股人:<text class="txta" @click="getDown(a)">在线查看</text></view>
 			<view class="txt">配偶征信:<text class="txta" @click="getDown(a)">在线查看</text></view>
-		</view>
+		</view> -->
 	</view>
   </view>
 </template>
@@ -78,6 +136,12 @@
 			default () {
 				return {}
 			}
+		},
+		basicFj:{
+			type: Object,
+			default () {
+				return {}
+			}
 		}
 	},
 	components:{
@@ -112,6 +176,9 @@
 	text{color: #666666;font-weight: 500;
 		&.txta{color: #28C529;}
 	}
+	.filist{font-weight: 500;
+		color: #28C529;margin-bottom: 8rpx;
+	}
 }
 .flexcw{display: flex;
 	.txt{min-width: 50%;}

+ 71 - 14
work/components/business/bfrxx.vue

@@ -6,13 +6,13 @@
 		</view>
 		<view class="flexcw">
 			<view class="txt">法人姓名:<text>{{datainfo.categoryType}}</text></view>
-			<view class="txt">用户类型:<text>字典值{{datainfo.customerType}}</text></view>
+			<view class="txt">用户类型:<text>{{kaType(datainfo.customerType,yhlxlist)}}</text></view>
 		</view>
 		<view class="txt">身份证号:<text>{{datainfo.corporationIdCard}}</text>
-			<text class="txta ml8" @click="getPreview">查看照片</text>
+			<text class="txta ml8" @click="getDown(datainfo.corporationFront)">查看照片</text>
 		</view>
-		<view class="txt">居住地址:<text>安徽省安庆市潜山市梅城镇</text></view>
-		<view class="txt">证件有效期:<text>2017.12.27 - 2037.12.27</text></view>
+		<view class="txt">居住地址:<text>{{datainfo.corporationAddress}}</text></view>
+		<view class="txt">证件有效期:<text>{{datainfo.corporationExpirationDate}}</text></view>
 		<view class="flexcw">
 			<view class="txt">手机号码:<text>{{datainfo.corporationPhone}}</text></view>
 			<view class="txt">家庭人口:<text>{{datainfo.familyPopulation}}人</text></view>
@@ -32,21 +32,57 @@
 			<image :src="titimg"></image>家庭婚姻信息
 		</view>
 		<view class="flexcw">
-			<view class="txt">婚姻状态:<text>已婚</text></view>
-			<view class="txt">配偶姓名:<text>刘熙君</text></view>
+			<view class="txt">婚姻状态:<text>{{kaType(datainfo.corporationMaritalStatus,hyztlist)}}</text></view>
+			<view class="txt">配偶姓名:<text>{{datainfo.spouseName}}</text></view>
 		</view>
-		<view class="txt">配偶身份证号:<text>34282419730618003X</text>
-			<text class="txta ml8" @click="getPreview">查看照片</text>
+		<view class="txt">配偶身份证号:<text>{{datainfo.spouseIdCard}}</text>
+			<text class="txta ml8" @click="getDown(datainfo.spouseFront)">查看照片</text>
+		</view>
+		<view class="txt flext">结婚证:
+			<view class="flex1 over">
+				<block v-if="basicFj.frjhz&&basicFj.frjhz.length">
+					<block v-if="basicFj.frjhz.length>1">
+						<view v-for="(ite,idx) in basicFj.frjhz" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.frjhz[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
+		<view class="txt flext">离婚证:
+			<view class="flex1 over">
+				<block v-if="basicFj.frlhz&&basicFj.frlhz.length">
+					<block v-if="basicFj.frlhz.length>1">
+						<view v-for="(ite,idx) in basicFj.frlhz" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.frlhz[0].url)">在线查看</text>
+				</block>
+			</view>
 		</view>
-		<view class="txt">结婚证:<text class="txta" @click="getDown(a)">在线查看</text></view>
 	</view>
 	<view class="boxt">
 		<view class="tit">
 			<image :src="titimg"></image>户籍信息
 		</view>
-		<view class="txt">户口簿首页:<text class="txta" @click="getDown(a)">在线查看</text></view>
-		<view class="txt">户口簿(本人页):<text class="txta" @click="getDown(a)">在线查看</text></view>
-		<view class="txt">户口簿(配偶页):<text class="txta" @click="getDown(a)">在线查看</text></view>
+		<view class="txt flext">户口簿首页:
+			<view class="flex1 over">
+				<block v-if="basicFj.frhkbsy&&basicFj.frhkbsy.length">
+					<block v-if="basicFj.frhkbsy.length>1">
+						<view v-for="(ite,idx) in basicFj.frhkbsy" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.frhkbsy[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
+		<view class="txt flext">户口簿(单页):
+			<view class="flex1 over">
+				<block v-if="basicFj.frhkbbry&&basicFj.frhkbbry.length">
+					<block v-if="basicFj.frhkbbry.length>1">
+						<view v-for="(ite,idx) in basicFj.frhkbbry" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.frhkbbry[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
 	</view>
   </view>
 </template>
@@ -63,6 +99,24 @@
 				return {}
 			}
 		},
+		yhlxlist:{
+			type: Array,
+			default () {
+				return []
+			}
+		},
+		hyztlist:{
+			type: Array,
+			default () {
+				return []
+			}
+		},
+		basicFj:{
+			type: Object,
+			default () {
+				return {}
+			}
+		}
 	},
 	components:{
 		noData
@@ -76,8 +130,8 @@
 	},
 	methods:{
 		checkPermi, checkRole,
-		kaType(ite){
-			return selectValue(this.tajdlist, ite);
+		kaType(ite,list){
+			return selectValue(list, ite);
 		},
 		getDown(url){
 			this.$emit('getDown',url)
@@ -99,6 +153,9 @@
 	text{color: #666666;font-weight: 500;
 		&.txta{color: #28C529;}
 	}
+	.filist{font-weight: 500;
+		color: #28C529;margin-bottom: 8rpx;
+	}
 }
 .flexcw{display: flex;
 	.txt{min-width: 50%;}

+ 50 - 8
work/components/business/cfdbrxx.vue

@@ -6,20 +6,20 @@
 		</view>
 		<view class="txt">反担保人姓名:<text>{{datainfo.guaranteeName}}</text></view>
 		<view class="txt">身份证号:<text>{{datainfo.guaranteeIdCard}}</text>
-			<text class="txta ml8" @click="getPreview">查看照片</text>
+			<text class="txta ml8" @click="getDown(datainfo.guaranteeFront)">查看照片</text>
 		</view>
 		<view class="txt">手机号码:<text>{{datainfo.guaranteePhone}}</text></view>	
 	</view>
-	<view class="boxt">
+	<!-- <view class="boxt">
 		<view class="tit">
 			<image :src="titimg"></image>反担保人家庭婚姻信息
 		</view>
 		<view class="flexcw">
-			<view class="txt">婚姻状态:<text>字典值{{datainfo.guaranteeMaritalStatus}}</text></view>
+			<view class="txt">婚姻状态:<text>{{kaType(datainfo.guaranteeMaritalStatus,hyztlist)}}</text></view>
 			<view class="txt">配偶姓名:<text>{{datainfo.guaranteeSpouseName}}</text></view>
 		</view>
 		<view class="txt">身份证号:<text>{{datainfo.guaranteeSpouseIdCard}}</text>
-			<text class="txta ml8" @click="getPreview">查看照片</text>
+			<text class="txta ml8" @click="getDown(datainfo.guaranteeFront)">查看照片</text>
 		</view>
 		<view class="txt">结婚证:<text class="txta" @click="getDown(a)">在线查看</text></view>
 	</view>
@@ -30,14 +30,41 @@
 		<view class="txt">户口簿首页:<text class="txta" @click="getDown(a)">在线查看</text></view>
 		<view class="txt">户口簿(本人页):<text class="txta" @click="getDown(a)">在线查看</text></view>
 		<view class="txt">户口簿(配偶页):<text class="txta" @click="getDown(a)">在线查看</text></view>
-	</view>
+	</view> -->
 	<view class="boxt">
 		<view class="tit">
 			<image :src="titimg"></image>反担保人信用担保证明
 		</view>
-		<view class="txt">个人工作证明:<text class="txta" @click="getDown(a)">在线查看</text></view>
-		<view class="txt">个人征信报告:<text class="txta" @click="getDown(a)">在线查看</text></view>
-		<view class="txt">身份证复印件:<text class="txta" @click="getDown(a)">在线查看</text></view>
+		<view class="txt flext">个人工作证明:
+			<view class="flex1 over">
+				<block v-if="basicFj.fdbrgrgzzm&&basicFj.fdbrgrgzzm.length">
+					<block v-if="basicFj.fdbrgrgzzm.length>1">
+						<view v-for="(ite,idx) in basicFj.fdbrgrgzzm" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.fdbrgrgzzm[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
+		<view class="txt flext">个人征信报告:
+			<view class="flex1 over">
+				<block v-if="basicFj.fdbrgrzxbg&&basicFj.fdbrgrzxbg.length">
+					<block v-if="basicFj.fdbrgrzxbg.length>1">
+						<view v-for="(ite,idx) in basicFj.fdbrgrzxbg" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.fdbrgrzxbg[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
+		<view class="txt flext">身份证复印件:
+			<view class="flex1 over">
+				<block v-if="basicFj.fdbrsfzfyj&&basicFj.fdbrsfzfyj.length">
+					<block v-if="basicFj.fdbrsfzfyj.length>1">
+						<view v-for="(ite,idx) in basicFj.fdbrsfzfyj" class="filist over" @click="getDown(ite.url)">{{ite.name}}</view>
+					</block>
+					<text v-else class="txta" @click="getDown(basicFj.fdbrsfzfyj[0].url)">在线查看</text>
+				</block>
+			</view>
+		</view>
 	</view>
   </view>
 </template>
@@ -54,6 +81,18 @@
 				return {}
 			}
 		},
+		hyztlist:{
+			type: Array,
+			default () {
+				return {}
+			}
+		},
+		basicFj:{
+			type: Object,
+			default () {
+				return {}
+			}
+		}
 	},
 	components:{
 		noData
@@ -90,6 +129,9 @@
 	text{color: #666666;font-weight: 500;
 		&.txta{color: #28C529;}
 	}
+	.filist{font-weight: 500;
+		color: #28C529;margin-bottom: 8rpx;
+	}
 }
 .flexcw{display: flex;
 	.txt{min-width: 50%;}

+ 39 - 25
work/components/business/dfjxx.vue

@@ -1,14 +1,14 @@
 <template>
   <view>
-	<view class="boxt" v-for="(ite,idx) in fileList" :key="idx">
+	<view class="boxt" v-for="(ite,idx) in sbfjlist" :key="idx">
 		<view class="txt">
-			<view class="flex01">{{ite.tit}}</view>
+			<view class="flex01">{{ite.label}}</view>
 			<view class="upimg"><image :src="fupimg"></image></view>
 			<view class="flex1"></view>
-			<text class="txta" @click="getDown(a)">在线查看</text>
+			<text class="txta" @click="getDown(ite.val)">在线查看</text>
 		</view>
-		<view class="mt18" v-if="ite.files&&ite.files.length">
-			<view class="fjlists"  v-for="(fite,fidx) in ite.files" :key='fidx'>
+		<view class="mt18" v-if="declareFj[ite.val]&&declareFj[ite.val].length">
+			<view class="fjlists"  v-for="(fite,fidx) in declareFj[ite.val]" :key='fidx'>
 				<view class="flext" @click="getDown(fite.url)">
 					<view class="imgl"><image :src="filico" ></image></view>
 					<view class="tit">{{fite.name}}</view>
@@ -16,12 +16,10 @@
 			</view>
 		</view>
 	</view>
-	<view class="upbox" :class="zheList[0].zheflag?'':'act'" @click="getZheFn(i0dx)">
+	<!-- <view class="upbox" :class="zheList[0].zheflag?'':'act'" @click="getZheFn(i0dx)">
 		<image :src="upimg"></image>
 		<view>查看更多</view>
-	</view>
-
-	
+	</view> -->
   </view>
 </template>
 
@@ -37,6 +35,18 @@
 				return {}
 			}
 		},
+		declareFj:{
+			type: Object,
+			default () {
+				return {}
+			}
+		},
+		sbfjlist:{
+			type: Array,
+			default () {
+				return []
+			}
+		}
 	},
 	components:{
 		noData
@@ -48,20 +58,20 @@
 			filico:require('@/work/static/images/filico.png'),
 			gdfilelist:[{name:'123'}],
 			zheList:[{zheflag:true}],
-			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'}]},
-				{tit:'购销合同',files:[]},
-				{tit:'当前从事项目情况证明',qflag:true,files:[]},
-				{tit:'企业基本注册信息查询单',qflag:true,files:[]},
-				{tit:'企业固定资产证明',qflag:true,files:[]},
-				]
+			// 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'}]},
+			// 	{tit:'购销合同',files:[]},
+			// 	{tit:'当前从事项目情况证明',qflag:true,files:[]},
+			// 	{tit:'企业基本注册信息查询单',qflag:true,files:[]},
+			// 	{tit:'企业固定资产证明',qflag:true,files:[]},
+			// 	]
 		}
 	},
 	onLoad: function() {
@@ -74,8 +84,12 @@
 		getZheFn(idx){
 			this.zheList[idx].zheflag=!this.zheList[idx].zheflag
 		},
-		getDown(url){
-			this.$emit('getDown',url)
+		getDown(type){
+			var url=this.declareFj[type];
+			if(url&&url.length){
+				this.$emit('getDown',url[0].url)
+			}
+			
 		},
 		getPreview(url){
 			this.$emit('getPreview',url)

+ 29 - 11
work/components/business/ewjcj.vue

@@ -3,7 +3,7 @@
 	<view class="boxt" v-for="(ite,idx) in fileList" :key="idx">
 		<view class="txt">
 			<view class="flex1 flexc">{{ite.tit}}
-			<view class="editf" @click="getEdit()">
+			<view class="editf" @click="getEdit(ite.val)">
 				<image :src="editf"></image>
 				<view>修改</view>
 			</view>
@@ -12,19 +12,22 @@
 				<image :src="edit"></image>
 				<view>在线签名</view>
 			</view>
+			<!-- <view class="flex1"></view>
+			<text class="txta" @click="getDown(ite.val)">预览</text> -->
 		</view>
-		<view class="mt18" v-if="ite.files&&ite.files.length">
-			<view class="fjlists"  v-for="(fite,fidx) in ite.files" :key='fidx'>
-				<view class="flext" @click="getDown(fite.url)">
-					<view class="imgl"><image :src="filico" ></image></view>
-					<view class="tit">{{fite.name}}</view>
-				</view>
-				<text class="txta" @click="getDown(a)">预览</text>
+		<!-- <text class="txta" @click="getDown(fite.url)">预览</text> -->
 				<!-- <view class="delimg flex0" @click.stop="getDelFj(idx)">
 					<image :src="fdelimg"></image>
 				</view> -->
+		<!-- <view class="mt18" v-if="fileFj[ite.val]&&fileFj[ite.val].length">
+			<view class="fjlists"  v-for="(fite,fidx) in fileFj[ite.val]" :key='fidx'>
+				<view class="flext" @click="getDown(ite.val)">
+					<view class="imgl"><image :src="filico" ></image></view>
+					<view class="tit">{{fite.name}}</view>
+				</view>
+				
 			</view>
-		</view>
+		</view> -->
 	</view>
   </view>
 </template>
@@ -41,6 +44,18 @@
 				return {}
 			}
 		},
+		fileFj:{
+			type: Object,
+			default () {
+				return {}
+			}
+		},
+		wjcjlist:{
+			type: Array,
+			default () {
+				return []
+			}
+		}
 	},
 	components:{
 		noData
@@ -80,8 +95,11 @@
 		getEdit(url){
 			this.$emit('getEdit',url)
 		},
-		getDown(url){
-			this.$emit('getDown',url)
+		getDown(type){
+			var url=this.fileFj[type];
+			if(url&&url.length){
+				this.$emit('getDown',url[0].url)
+			}
 		},
 		getPreview(url){
 			this.$emit('getPreview',url)

+ 34 - 31
work/components/business/list.vue

@@ -25,25 +25,25 @@
 		</block>
 		<!-- 客户 -->
 		<block v-if="type=='custom'">
-			<view class="lists" v-for="(ite,idx) in datalist" @click="getDetail">
+			<view class="lists" v-for="(ite,idx) in datalist" @click="getDetail(ite.userId)">
 				<view class="listtop">
-					<view class="head"></view>
+					<view class="head">{{ite.realName.substring(0,1)}}</view>
 					<view class="flex1">
-						<view class="headt">林振宇</view>
+						<view class="headt">{{ite.realName}}</view>
 						<view class="headx">资料更新时间 | 2024年3月24日</view>
 					</view>
 				</view>
 				<view class="listsm">
-					<view class="txt"><text class="tit">身份证号</text><text class="line">|</text><text>34282419730618003X</text>
+					<view class="txt"><text class="tit">身份证号</text><text class="line">|</text><text>{{ite.idCard}}</text>
 						<view class="copyimg">
 							<image :src="copy" ></image>
 						</view>
 					</view>
-					<view class="txt"><text class="tit">居住地址</text><text class="line">|</text><text>安徽省安庆市潜山市梅城镇</text></view>
-					<view class="txt"><text class="tit">手机号码</text><text class="line">|</text><text>18705568888</text></view>
+					<view class="txt"><text class="tit">居住地址</text><text class="line">|</text><text>{{ite.address}}</text></view>
+					<view class="txt"><text class="tit">手机号码</text><text class="line">|</text><text>{{ite.phonenumber}}</text></view>
 					<view class="flexcw">
-						<view class="txt"><text class="tit">关联企业</text><text class="line">|</text><text>2家</text></view>
-						<view class="txt"><text class="tit">历史申贷记录</text><text class="line">|</text><text>2次</text></view>
+						<view class="txt"><text class="tit">关联企业</text><text class="line">|</text><text>{{ite.sysUserEnterpriseNum}}家</text></view>
+						<view class="txt"><text class="tit">历史申贷记录</text><text class="line">|</text><text>{{ite.loanApplicationNum}}次</text></view>
 					</view>
 				</view>
 			</view>
@@ -53,21 +53,21 @@
 			<view class="lists qy" v-for="(ite,idx) in datalist" @click="getDetail"  >
 				<view class="listtop">
 					<view class="flexc">
-						<view class="toptit over f20">安徽嘉欣医疗用品有限公司</view>
+						<view class="toptit over f20">{{ite.enterpriseName}}</view>
 						<view class="statbox">专精特新<image :src="start"></image></view>
 					</view>
-					<view class="adr f12">企业地址 | 潜山市经济开发区</view>
+					<view class="adr f12">企业地址 | {{ite.enterpriseAddress}}</view>
 				</view>
 				
 				<view class="listsm">
-					<view class="txt"><text class="tit">统一社会信用代码:</text><text>91101085620732606</text></view>
-					<view class="txt"><text class="tit">企业类型:</text><text>其他有限责任公司</text></view>
+					<view class="txt"><text class="tit">统一社会信用代码:</text><text>{{ite.creditCode}}</text></view>
+					<view class="txt"><text class="tit">企业类型:</text><text>{{ite.enterpriseType}}</text></view>
 					<view class="flexcw">
-						<view class="txt"><text class="tit">法人姓名:</text><text>林振宇</text></view>
-						<view class="txt"><text class="tit">注册资金:</text><text>1000万元</text></view>
+						<view class="txt"><text class="tit">法人姓名:</text><text>{{ite.legalName}}</text></view>
+						<view class="txt"><text class="tit">注册资金:</text><text>{{ite.registeredCapital}}</text></view>
 					</view>
-					<view class="txt"><text class="tit">成立日期:</text><text>2018年09月20日</text></view>
-					<view class="txt"><text class="tit">营业期限:</text><text>2018年09月20日 至 2038年09月19日</text></view>
+					<view class="txt"><text class="tit">成立日期:</text><text>{{ite.establishData}}</text></view>
+					<view class="txt"><text class="tit">营业期限:</text><text>{{ite.businessTerm}}</text></view>
 				</view>
 			</view>
 		</block>
@@ -97,25 +97,26 @@
 		</block>
 		<!-- 历史申贷记录 -->
 		<block v-if="type=='sdjl'">
-			<view class="lists sdjl" v-for="(ite,idx) in datalist" @click="getDetail"  >
+			<view class="lists sdjl" v-for="(ite,idx) in datalist" @click="getDetail(ite.loanApplicationId)"  >
 				<view class="listsm">
-					<view class="txt"><text class="tit">申贷企业:</text><text>安徽嘉欣医疗用品有限公司</text>
+					<view class="txt"><text class="tit">申贷企业:</text><text>{{ite.enterpriseName}}</text>
+						<view class="statbox"  v-if="ite.isNew=='Y'">专精特新<image :src="start"></image></view>
 						<text class="flex1"></text>
 						<view class="look flexc">查看<image :src="rimg"></image></view>
 					</view>
-					<view class="txt"><text class="tit">申报时间:</text><text>2024-03-21 15:13:58</text></view>
-					<view class="txt"><text class="tit">归档时间:</text><text>2024-04-18  15:13:58</text></view>
+					<view class="txt"><text class="tit">申报时间:</text><text>{{ite.applicationTime}}</text></view>
+					<view class="txt"><text class="tit">归档时间:</text><text>{{ite.fileTime}}</text></view>
 					<view class="flexcw">
-						<view class="txt"><text class="tit">申请额度:</text><text>1000万元</text></view>
-						<view class="txt"><text class="tit">使用期限:</text><text>12个月</text></view>
+						<view class="txt"><text class="tit">申请额度:</text><text>{{ite.applicationAmount}}万元</text></view>
+						<view class="txt"><text class="tit">使用期限:</text><text>{{ite.usagePeriod}}个月</text></view>
 					</view>
 					<view class="flexcw">
-						<view class="txt"><text class="tit">申贷银行:</text><text>农商行</text></view>
-						<view class="txt"><text class="tit">担保类型:</text><text>担保贷款</text></view>
+						<view class="txt"><text class="tit">申贷银行:</text><text>{{kaType(ite.applicationBank,sdyhlist)}}</text></view>
+						<view class="txt"><text class="tit">担保类型:</text><text>{{kaType(ite.guaranteeType,dblxlist)}}</text></view>
 					</view>
 					<view class="flexcw">
-						<view class="txt"><text class="tit">资金用途:</text><text>流动资金周转</text></view>
-						<view class="txt"><text class="tit">还款来源:</text><text>营业收入</text></view>
+						<view class="txt"><text class="tit">资金用途:</text><text>{{ite.purposeFunds}}</text></view>
+						<view class="txt"><text class="tit">还款来源:</text><text>{{ite.repaymentSource}}</text></view>
 					</view>
 				</view>
 			</view>
@@ -346,7 +347,7 @@
 <style lang="scss" scoped>
 .lists{background: #FFFFFF;box-shadow: 0px 0px 10rpx 0px rgba(216,216,216,0.4);border-radius: 20rpx;padding: 0 20rpx;margin-bottom: 24rpx;
 	&.qy{padding: 0 24rpx;
-		.listtop{
+		.listtop{display: block;
 			padding: 40rpx 14rpx 42rpx;
 		}
 		.listsm{padding: 40rpx 14rpx 2rpx 0;
@@ -367,9 +368,9 @@
 	}
 	.listtop{display: flex;align-items: center;overflow: hidden;border-bottom: 2rpx solid #E6E6E6;padding: 34rpx 12rpx;
 		.toptit{font-weight: bold;font-size: 30rpx;color: #222327;}
-		.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;
-			image{width: 22rpx;height: 22rpx;margin-left: 6rpx;}
-		}
+		// .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;
+		// 	image{width: 22rpx;height: 22rpx;margin-left: 6rpx;}
+		// }
 		.head{width: 86rpx;height: 86rpx;background: #00A9F0;border-radius: 10rpx;font-weight: bold;margin-right: 36rpx;flex: 0 0 auto;
 font-size: 40rpx;display: flex;align-items: center;justify-content: center;color: #FFFFFF;
 		}
@@ -393,7 +394,9 @@ font-size: 40rpx;display: flex;align-items: center;justify-content: center;color
 		&.bga{color: #FF6969;}
 		&.bgb{color: #00A9F0;}
 	}
-	
+	.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;
+		image{width: 22rpx;height: 22rpx;margin-left: 6rpx;}
+	}
 }
 // 文件
 .files{padding:40rpx 36rpx 36rpx;border-bottom: 2rpx solid #E6E6E6;

+ 24 - 4
work/components/popup/popup.vue

@@ -7,13 +7,13 @@
 			<view class="tit">业务进度</view>
 			<view class="lists" v-for="(ite,idx) in stepList" :key='idx'>
 				<view class="listl">
-					<image :src="stepa" class="imga" v-if="Number(stepval)>Number(ite.val)"></image>
-					<image :src="stepb" v-else-if="stepval==ite.val"></image>
+					<image :src="stepa" class="imga" v-if="Number(stepval)>Number(ite.loanScheduleScore)"></image>
+					<image :src="stepb" v-else-if="stepval==ite.loanScheduleScore"></image>
 					<image :src="stepc" v-else></image>
 				</view>
 				<view class="listr">
-					<view class="ltit" :class="stepval==ite.val?'act':''">{{ite.tit}}</view>
-					<view class="ltxt">{{ite.time}}</view>
+					<view class="ltit" :class="stepval==ite.loanScheduleScore?'act':''">{{ite.loanScheduleName}}</view>
+					<!-- <view class="ltxt">{{ite.time}}</view> -->
 				</view>
 			</view>
 		</view>
@@ -229,6 +229,20 @@
 				<view class="cbtns bgb">确认</view>
 			</view>
 		</view>
+		<!-- 富文本弹窗 -->
+		<view class="fixbox con" v-if="type=='fwb'">
+			<view class="cloimg" @click="getClose">
+				<image :src="closeimg"></image>
+			</view>
+			<view class="ttit">小微企业说明</view>
+			<view class="conttxt">
+				 <rich-text :nodes="content"></rich-text>
+			</view>
+			<view class="conbtns flexcj">
+				<view class="cbtns bga" @click="getClose">取消</view>
+				<!-- <view class="cbtns bgb">确认</view> -->
+			</view>
+		</view>
 	</view>
 </template>
 
@@ -256,6 +270,12 @@
 				default () {
 					return 0
 				}
+			},
+			content:{
+				type: [Number,String],
+				default () {
+					return ''
+				}
 			}
 		},
 		data(){

Plik diff jest za duży
+ 287 - 577
work/pages/business/add.vue


+ 180 - 84
work/pages/business/details.vue

@@ -19,7 +19,7 @@
 					</view>
 					<view class="adr">企业地址 | {{datainfo.enterpriseName}}</view>
 					<view class="adr">申报时间 | {{datainfo.applicationTime}}</view>
-					<view class="adr">归档时间 | {{datainfo.fileTime}}</view>
+					<view class="adr" v-if="datainfo.fileTime">归档时间 | {{datainfo.fileTime}}</view>
 				</view>
 				<view class="deta">
 					<view class="lists">
@@ -59,19 +59,19 @@
 			<!-- 企业信息 -->
 			<view class="mainb" :style="'min-height: ' + minheight + 'px;'">
 				<block v-if="tabval==0">
-					<aqyxx @getDown="getDown" :qyinfo="qyinfo" :datainfo="datainfo"></aqyxx>
+					<aqyxx @getDown="getDown" :qyinfo="qyinfo" :datainfo="datainfo" :basicFj="basicFj"></aqyxx>
 				</block>
 				<block v-if="tabval==1">
-					<bfrxx @getDown="getDown" :datainfo="datainfo"></bfrxx>
+					<bfrxx @getDown="getDown" :datainfo="datainfo" :yhlxlist="yhlxlist" :hyztlist="hyztlist" :basicFj="basicFj"></bfrxx>
 				</block>
 				<block v-if="tabval==2">
-					<cfdbrxx @getDown="getDown" :datainfo="datainfo"></cfdbrxx>
+					<cfdbrxx @getDown="getDown" :datainfo="datainfo" :hyztlist="hyztlist" :basicFj="basicFj"></cfdbrxx>
 				</block>
 				<block v-if="tabval==3">
-					<dfjxx @getDown="getDown" :datainfo="datainfo"></dfjxx>
+					<dfjxx @getDown="getDown" :datainfo="datainfo" :declareFj="datainfo.declareFj" :sbfjlist="sbfjlist"></dfjxx>
 				</block>
 				<block v-if="tabval==4">
-					<ewjcj @getDown="getDown" :datainfo="datainfo" @getEdit="getEdit"></ewjcj>
+					<ewjcj @getDown="getDown" :datainfo="datainfo" @getEdit="getEdit" :wjcjlist="wjcjlist" :fileFj="datainfo.fileFj"></ewjcj>
 				</block>
 			</view>
 			<!-- 法人信息 -->
@@ -80,8 +80,19 @@
 		<block v-if="!gdflag">
 			<view class="h50"></view>
 			<view class="footbtns">
+				<!-- (业务进度表查询进度列表):1:申报提交
+				2:业务审核/分配 
+				3:担保初审 
+				4:尽职调查 
+				5:初审风险合规 
+				6:评审会 
+				7:合同签约 
+				8:放款合规风险审核 
+				9:放款通知 
+				10:归档 -->
 				<!-- 申请审核 start-->
-				<view class="fbtns bga" @click="getShFn('sh')">审核</view>
+				<view class="fbtns bga" v-if="checkPermi(['system:application:edit'])" @click="getedit">修改</view>
+				<view class="fbtns bga" v-if="stepval=='1'" @click="getShFn('sh')">审核</view>
 				<!-- 业务审核后出具担保意向函-->
 				<!-- <view class="fbtns bgb">上传文件</view>
 				<view class="fbtns bga" @click="getSubmit">查看担保意向函</view> -->
@@ -188,17 +199,17 @@
 				type:'',
 				tabList:[{tit:"企业信息",val:0},{tit:"法人信息",val:1},{tit:"反担保人信息",val:2},{tit:"附件信息",val:3},{tit:"文件出具",val:4},{tit:"审核信息",val:5},],
 				stepList:[
-					{tit:"业务审核、分配",time:'2024-03-10 16:12',val:0},
-					{tit:"担保初审",time:'2024-03-10 16:12',val:1},
-					{tit:"尽职调查",time:'2024-03-10 16:12',val:2},
-					{tit:"初审风险合规",time:'2024-03-10 16:12',val:3},
-					{tit:"评审会",time:'2024-03-10 16:12',val:4},
-					{tit:"合同签约",time:'2024-03-10 16:12',val:4},
-					{tit:"放款合规风险审核",time:'2024-03-10 16:12',val:4},
-					{tit:"放款通知",time:'2024-03-10 16:12',val:4},
-					{tit:"归档",time:'2024-03-10 16:12',val:4},
+					// {loanScheduleName:"业务审核、分配",time:'2024-03-10 16:12',loanScheduleScore:0},
+					// {tit:"担保初审",time:'2024-03-10 16:12',val:1},
+					// {tit:"尽职调查",time:'2024-03-10 16:12',val:2},
+					// {tit:"初审风险合规",time:'2024-03-10 16:12',val:3},
+					// {tit:"评审会",time:'2024-03-10 16:12',val:4},
+					// {tit:"合同签约",time:'2024-03-10 16:12',val:4},
+					// {tit:"放款合规风险审核",time:'2024-03-10 16:12',val:4},
+					// {tit:"放款通知",time:'2024-03-10 16:12',val:4},
+					// {tit:"归档",time:'2024-03-10 16:12',val:4},
 				],
-				stepval:2,
+				stepval:0,
 				gdflag:false,
 				moreflag:false,
 				mtype:'',
@@ -209,82 +220,95 @@
 				sdyhlist:[],
 				qyinfo:{},//企业信息
 				datainfo:{
-					"createBy": "",//
-					"createTime": null,//
-					"updateBy": "",//
-					"updateTime": null,//
-					"remark": null,//
-					"loanApplicationId": 1,//贷款申请id
-					"loanApplicationNumber": "RZDB202404251759453241637",//贷款申请编号
-					"applicationAmount": 98.3,//申请额度(万元)
-					"applicationBank": "123",//申请银行
-					"usagePeriod": "123",//使用期限(月)
-					"purposeFunds": "123",//资金用途
-					"repaymentSource": "123",//还款来源
-					"enterpriseName": "123",//企业名称
+					// "createBy": "",//
+					// "createTime": null,//
+					// "updateBy": "",//
+					// "updateTime": null,//
+					// "remark": null,//
+					"loanApplicationId": '',//贷款申请id
+					"loanApplicationNumber": "",//贷款申请编号
+					"applicationAmount": '',//申请额度(万元)
+					"applicationBank": "",//申请银行
+					"usagePeriod": "",//使用期限(月)
+					"purposeFunds": "",//资金用途
+					"repaymentSource": "",//还款来源
+					"enterpriseName": "",//企业名称
 					'sysUserEnterprise':{},//企业对象具体字段查看营业执照
-					"categoryType": "123",//行业类型
+					"categoryType": "",//行业类型
 					"isMake": "N",//是否是制造业 
 					"isNew": "N",//是否是精特新
 					"isSmall": "N",//是否是小微企业
 					"isDuty": "N",//是否是免税企业
-					"companyIntroduction": "123",//公司简介
-					"customerType": "123",//用户类型
-					"corporationFront": "123",//法人身份证正面
-					"corporationBack": "123",//法人身份证反面
-					"corporationName": "123",//	法人姓名
-					"corporationIdCard": "123",//法人身份证号
-					"corporationPhone": "123",//	法人手机号
-					"familyPopulation": "123",//家庭人口数
-					"corporationJob": "123",//法人职业
-					"isLoan": "N",//有无贷款
-					"receivablePay": "123",//应收应付款
-					"businessSituation": "123",//经营情况
-					"businessEfficiency": "123",//经营效益
-					"corporationMaritalStatus": "1",//法人婚姻状态
-					"spouseFront": "123",//配偶身份证正面
-					"spouseBack": "123",//配偶身份证反面
-					"spouseName": "123",//配偶姓名
-					"spouseIdCard": "123",//配偶身份证号
-					"spousePhone": "123",//配偶手机号
-					"guaranteeType": "123",//担保类型
-					"guaranteeFront": "123",//反担保人身份证正面
-					"guaranteeBack": "123",//反担保人身份证反面
-					"guaranteeName": "123",//反担保人姓名
-					"guaranteeIdCard": "123",//反担保人身份证号
-					"guaranteePhone": "1",//反担保人手机号
-					"guaranteeMaritalStatus": "1",//反担保人婚姻状态
-					"guaranteeSpouseFront": "123",//反担保人配偶身份证正面
-					"guaranteeSpouseBack": "123",//反担保人配偶身份证反面
-					"guaranteeSpouseName": "123",//反担保人配偶姓名
-					"guaranteeSpouseIdCard": "123",//反担保人配偶身份证号
-					"guaranteeSpousePhone": "123",//反担保人配偶手机号
-					"userId": 123,//申请人用户ID
-					"idCard": "123",//申请人身份证号码
-					"applicationTime": "2024-04-25",//申请时间
-					"fileTime": "2024-04-25",//归档时间
-					"loanSchedule": "123",//贷款申请进度(业务进度表查询进度列表):1:申报提交2:业务审核/分配 3:担保初审 4:尽职调查 5:初审风险合规 6:评审会 7:合同签约 8:放款合规风险审核 9:放款通知 10:归档
-					"loanScheduleName": null,//贷款申请进度名称(中文字)
-					"auditSchedule": "123",//审核进度1:担保初审 2:A角色审核 3:B角色审核 4:风险审核 5:尽职调查 6:上会评审
-					"auditType": "123",//审核状态 1:待审核 2:已通过 3:未通过
-					"loanApplicationType": "123",//贷款申请状态 1:暂存 2:正常 3:回收站 4:归档
-					"aUserId": 123,//A角色用户ID
-					"aUserName": 123,//A角色用户名称
-					"bUserId": 123,//B角色用户ID
-					"bUserName": 123,//B角色用户名称
-					"shareholderFjList": null,//全体股东信息附件
-					"loanApplicationFjList": null,//相关附件
-					"basicFj": null,//基础附件
-					"declareFj": null,//申报附件
-					"fileFj": null,//文件出具
-					"otherFj": null,//其他附件 key值是type类型 value值具体字段查看相关附件新增
-				}
+					"companyIntroduction": "",//公司简介
+					"customerType": "",//用户类型
+					"corporationFront": "",//法人身份证正面
+					"corporationBack": "",//法人身份证反面
+					"corporationName": "",//	法人姓名
+					"corporationIdCard": "",//法人身份证号
+					"corporationPhone": "",//	法人手机号
+					"familyPopulation": "",//家庭人口数
+					"corporationJob": "",//法人职业
+					"isLoan": "",//有无贷款
+					"receivablePay": "",//应收应付款
+					"businessSituation": "",//经营情况
+					"businessEfficiency": "",//经营效益
+					"corporationMaritalStatus": "",//法人婚姻状态
+					"spouseFront": "",//配偶身份证正面
+					"spouseBack": "",//配偶身份证反面
+					"spouseName": "",//配偶姓名
+					"spouseIdCard": "",//配偶身份证号
+					"spousePhone": "",//配偶手机号
+					"guaranteeType": "",//担保类型
+					"guaranteeFront": "",//反担保人身份证正面
+					"guaranteeBack": "",//反担保人身份证反面
+					"guaranteeName": "",//反担保人姓名
+					"guaranteeIdCard": "",//反担保人身份证号
+					"guaranteePhone": "",//反担保人手机号
+					"guaranteeMaritalStatus": "",//反担保人婚姻状态
+					"guaranteeSpouseFront": "",//反担保人配偶身份证正面
+					"guaranteeSpouseBack": "",//反担保人配偶身份证反面
+					"guaranteeSpouseName": "",//反担保人配偶姓名
+					"guaranteeSpouseIdCard": "",//反担保人配偶身份证号
+					"guaranteeSpousePhone": "",//反担保人配偶手机号
+					"userId": '',//申请人用户ID
+					"idCard": "",//申请人身份证号码
+					"applicationTime": "",//申请时间
+					"fileTime": "",//归档时间
+					"loanSchedule": "",//贷款申请进度(业务进度表查询进度列表):1:申报提交2:业务审核/分配 3:担保初审 4:尽职调查 5:初审风险合规 6:评审会 7:合同签约 8:放款合规风险审核 9:放款通知 10:归档
+					"loanScheduleName": '',//贷款申请进度名称(中文字)
+					"auditSchedule": "",//审核进度1:担保初审 2:A角色审核 3:B角色审核 4:风险审核 5:尽职调查 6:上会评审
+					"auditType": "",//审核状态 1:待审核 2:已通过 3:未通过
+					"loanApplicationType": "",//贷款申请状态 1:暂存 2:正常 3:回收站 4:归档
+					"aUserId": "",//A角色用户ID
+					"aUserName": "",//A角色用户名称
+					"bUserId": "",//B角色用户ID
+					"bUserName": "",//B角色用户名称
+					"shareholderFjList": [],//全体股东信息附件
+					"loanApplicationFjList": [],//相关附件
+					"basicFj": {},//基础附件
+					"declareFj": {},//申报附件
+					"fileFj": {},//文件出具
+					"otherFj": {},//其他附件 key值是type类型 value值具体字段查看相关附件新增
+				},
+				gdlists:[],//股东信息
+				basicFj:{},//基础附件 
+				yhlxlist:[],//用户类型
+				hyztlist:[],//婚姻状态
+				sbfjlist:[],//申报附件
+				wjcjlist:[],//文件出具
 			}
 		},
+		onUnload() {
+			uni.$off('refreshywlist')
+		},
 		onLoad(e) {
 			this.id=e.id;
-			this.init()
-			this.getDetail()
+			uni.$on('refreshywlist',(e) => {
+				this.getDetail();
+			})
+			// this.init()
+			this.getDetail();
+			this.getScheduleList()
 		},
 		mounted() {
 			uni.getSystemInfo({
@@ -308,7 +332,47 @@
 			kaType(ite,list){
 				return selectValue(list, ite);
 			},
+			getedit(){
+				var obj={
+					type:'edit',
+					id:this.id,
+				}
+				this.$tab.navigateTo('/work/pages/business/add?data='+encodeURIComponent(JSON.stringify(obj)))
+			},
+			// 业务进度
+			getScheduleList(){
+				var params={
+					loanApplicationId:this.id
+				}
+				getScheduleList(params).then(res=>{
+					if(res.code==200){
+						this.stepList=res.data
+					}
+				})
+			},
 			init(){
+				// 用户类型
+				getDictionaryFn('customer_type').then(res=>{
+					if(res.code==200){
+						this.yhlxlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
+				// 婚姻状况
+				getDictionaryFn('marital_status').then(res=>{
+					if(res.code==200){
+						this.hyztlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
 				// 申贷银行
 				getDictionaryFn('shendai_bank').then(res=>{
 					if(res.code==200){
@@ -331,6 +395,30 @@
 						})
 					}
 				})
+				// 附件信息
+				getDictionaryFn('application_fj_sb').then(res=>{
+					if(res.code==200){
+						this.sbfjlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								val: v.dictValue,
+								fjlist:[]
+							}
+						})
+					}
+				})
+				// 文件出具
+				getDictionaryFn('application_fj_wjcj').then(res=>{
+					if(res.code==200){
+						this.wjcjlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								val: v.dictValue,
+								fjlist:[]
+							}
+						})
+					}
+				})
 			},
 			getTab(val){
 				this.tabval=val;
@@ -373,6 +461,14 @@
 						if(res.data.sysUserEnterprise){
 							this.qyinfo=res.data.sysUserEnterprise
 						}
+						this.stepval=res.data.loanSchedule||0;
+						// if(res.data.shareholderFjLis){
+						// 	this.gdlists=res.data.shareholderFjLis
+						// }
+						if(res.data.basicFj){
+							this.basicFj=res.data.basicFj;
+						}
+						// this.declareFj=res.data.declareFj;
 						// 附件信息
 						
 						// this.otherFj=res.data.otherFj||[]

+ 6 - 0
work/pages/business/list.vue

@@ -87,10 +87,16 @@
 				shjdlist:[],//审核进度
 			}
 		},
+		onUnload() {
+			uni.$off('refreshywlist')
+		},
 		onLoad(e) {
 			if(e.type){
 				this.tabval=e.type;
 			}
+			uni.$on('refreshywlist',(e) => {
+				this.getrefreshData()
+			})
 			this.init()
 			this.getDataFn()
 		},

+ 250 - 0
work/pages/business/shprogress.vue

@@ -0,0 +1,250 @@
+<template>
+	<view class="probox">
+		<view class="zhanline" v-if="shenhelist.length"></view>
+		<!-- 步骤条 -->
+		<view class="step" v-if="shenhelist.length">
+			<view class="steplist flex" v-for="(ite,idx) in shenhelist" :key="idx">
+				<view class="stepl">
+					<!-- 待审核 -->
+					<image :src="statimga" v-if="ite.shjg==1"></image>
+					<!-- 已通过 -->
+					<image :src="statimgc" v-else-if="ite.shjg==2"></image>
+					<!-- 未通过 -->
+					<image :src="statimgb" v-else></image>
+				</view>
+				<view class="stepr">
+					<view class="mb6 flexc">
+						<view class="f17 c34 f500 flex1">{{ite.shrxm}}</view>
+						<!-- 领导进来才有批示 -->
+						<!-- <block v-if="checkPermi(['system:ldps:update'])">
+							<view class="flex0 titp" @click="getPiFn('update',ite)" v-if="ite.zsyzLdpsList[0].psnr">
+								<image :src="xpsimg"></image>
+								<view>修改批示</view>
+							</view>
+						</block>
+						<block v-if="checkPermi(['system:ldps:add'])">
+							<view class="flex0 titp" @click="getPiFn('add',ite)" v-if="!ite.zsyzLdpsList[0].psnr">
+								<image :src="psimg"></image>
+								<view>批示</view>
+							</view>
+						</block> -->
+						<!-- <block v-if="roles=='leader'">
+							
+							
+						</block> -->
+						
+					</view>
+					<view class="flex mb6"><view class="flex0 f15 ca">是否通过:</view>
+						<view class="f15 c34 f500" >{{ite.xmjd}}
+							<block v-if="ite.shjg==1">待审核</block>
+							<block v-if="ite.shjg==2">已通过</block>
+							<block v-if="ite.shjg==3">未通过</block>
+						</view>
+					</view>
+					<view class="flex mb6"><view class="flex0 f15 ca">审核时间:</view>
+						<view class="f15 c34 f500" >{{ite.shsj}}</view>
+					</view>
+					<view class="flex mb6" v-if="ite.shyj"><view class="flex0 f15 ca">反馈意见:</view><view class="f15 c34 f500">{{ite.shyj}}</view></view>
+					<!-- <block v-if="ite.zsyzLdpsList.length">
+						<view class="flex mb6"  v-for="(pite,pidx) in ite.zsyzLdpsList" :key="'info-'+pidx"><view class="flex0 f15 ca">领导批示:</view><view class="f15 c34 f500" >{{pite.psnr}}</view></view>
+					</block> -->
+				</view>
+			</view>
+		</view>
+		<block v-else>
+			<no-data ></no-data>
+		</block>
+		<!-- 弹窗 -->
+		<pop-up :status="status"  :iteminfo='iteminfo'  :type="type" @getClose='getClose' @getLinSubmit="getLinSubmit" @getldDelFn="getldDelFn"></pop-up>
+	</view>
+</template>
+
+<script>
+	import popUp from "@/components/popup/popup.vue"
+	import { getshyjList,getldpsFn,getldpsputFn,getldpsdelFn} from '@/api/work/clue.js'
+	import noData from "@/components/nodata/nodata.vue"
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	export default{
+		data(){
+			return{
+				psimg:require("@/static/images/mine/psicon.png"),
+				xpsimg:require("@/static/images/mine/xpicon.png"),
+				statimga:require("@/static/images/mine/ywicon.png"),//审核
+				statimgb:require("@/static/images/mine/cicon.png"),//未通过
+				statimgc:require("@/static/images/mine/jicon.png"),//通过
+				type:0,
+				status:'add',
+				id:'',//线索id
+				xmId:'',//项目id,
+				roles:this.$store.state.user.roles[0],
+				shenhelist:[],
+				iteminfo:{},
+				xmbh:"",
+				xmmc:'',
+				sourceId:'',
+				deptId:this.$store.state.user.deptId,
+				pageSize: 10,
+				pageNum: 1,
+				reachflag:true,
+				
+			}
+		},
+		components:{
+			popUp,noData
+		},
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		onLoad(e) {
+			// this.id=e.id;
+			this.xmId=e.id;
+			this.getDataFn()
+		},
+		methods:{
+			checkPermi, checkRole,
+			getDataFn(){
+				var params={
+					xmId:this.xmId,
+					deptId:this.deptId,
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+				}
+				getshyjList(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.shenhelist = res.rows;
+						} else {
+							this.shenhelist = this.shenhelist.concat(res.rows)
+						}
+					}else{
+						this.$toast(res.msg)
+					}
+					// if(res.code==200){
+					// 	this.shenhelist=res.rows;
+					// }else{
+					// 	this.$toast(res.msg)
+					// }
+				})
+			},
+			getClose(){
+				this.type=0;
+			},
+			getldDelFn(){
+				var params={};
+				var that=this;
+				params.id=this.iteminfo.ids;
+				getldpsdelFn(params).then(res=>{
+					if(res.code==200){
+						that.$toast('批示撤回成功')
+						setTimeout(function(){
+							that.getDataFn()
+							that.type=0;
+						},1500)
+					}else{
+						this.$toast(res.msg)
+					}
+				})
+			},
+			getLinSubmit(data){
+				var that=this;
+				
+				var params={};
+				var str=''
+				if(data.type==0){//暂存
+					params.zcpsnr=data.psnr;
+					params.type=1;
+					str='批示暂存成功'
+				}else{
+					params.psnr=data.psnr;
+					params.type=2;
+					str='批示提交成功'
+				}
+				if(this.status=='add'){
+					params.xmId=this.xmId;
+					params.sourceId=this.sourceId;
+					params.xmbh=this.xmbh;
+					params.xmmc=this.xmmc;
+					getldpsFn(params).then(res=>{
+						if(res.code==200){
+							that.$toast(str)
+							setTimeout(function(){
+								that.getDataFn()
+								that.type=0;
+							},1500)
+						}else{
+							this.$toast(res.msg)
+						}
+					})
+				}else{
+					//修改
+					params.id=this.iteminfo.ids
+					getldpsputFn(params).then(res=>{
+						if(res.code==200){
+							that.$toast(str)
+							setTimeout(function(){
+								that.getDataFn()
+								that.type=0;
+							},1500)
+						}else{
+							this.$toast(res.msg)
+						}
+					})
+				}
+				
+			},
+			getPiFn(e,ite){
+				this.sourceId=ite.id;
+				this.xmbh=ite.xmbh;
+				this.xmmc=ite.xmmc;
+				if(ite.zsyzLdpsList.length){
+					this.iteminfo=ite.zsyzLdpsList[0]
+				}else{
+					this.iteminfo={};
+				}
+				if(this.iteminfo.ids){
+					this.status='update';
+				}else{
+					this.status='add';
+				}
+				this.type=3
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+.probox{background-color: #ffffff;min-height: 100vh;}
+.step{padding: 56rpx 44rpx 40rpx 44rpx;
+	.steplist{position: relative;padding-bottom: 24rpx;
+		&::before{width: 2rpx;height: 100%;background: #E5E5E5;content: '';position: absolute;left: 18rpx;top: 18rpx;}
+		&:last-of-type::before{display: none;}
+		.stepl{ flex:0 0 auto;margin-right: 26rpx;width: 34rpx;height: 34rpx;border-radius: 50%;background-color: #ffffff;z-index: 1;
+			image{width: 36rpx;height: 36rpx;border-radius: 50%;}
+		}
+		.stepr{flex: 1;
+			.titp{display: flex;align-items: center;height: 48rpx;min-width: 120rpx;justify-content: center;
+				image{width: 32rpx;height: 32rpx;}
+				view{font-size: 30rpx;color: #1FB9F7 ;margin-left: 12rpx;}
+			}
+		}
+	}
+	
+	
+}
+</style>

+ 61 - 11
work/pages/custom/details.vue

@@ -2,19 +2,19 @@
 	<view class="details">
 		<view class="detop">
 			<view class="headbox">
-				<view class="head"></view>
+				<view class="head">{{datainfo.realName.substring(0,1)}}</view>
 				<view class="flex1">
-					<view class="headt">林振宇</view>
-					<view class="headx">资料更新时间 | 2023年5月24日</view>
+					<view class="headt">{{datainfo.realName}}</view>
+					<view class="headx">资料更新时间 | {{datainfo.updateTime||datainfo.createTime}}</view>
 				</view>
 			</view>
 			<view class="tit">
 				<image :src="titimg"></image>客户基本信息
 			</view>
-			<view class="txt">身份证号:<text>34282419730618003X</text></view>
-			<view class="txt">证件有效期:<text>2017.12.27 - 2037.12.27</text></view>
-			<view class="txt">居住地址:<text>安徽省安庆市潜山市梅城镇</text></view>
-			<view class="txt">手机号码:<text>18705568888</text></view>
+			<view class="txt">身份证号:<text>{{datainfo.idCard}}</text></view>
+			<view class="txt">证件有效期:<text>{{datainfo.expirationDate}}</text></view>
+			<view class="txt">居住地址:<text>{{datainfo.address}}</text></view>
+			<view class="txt">手机号码:<text>{{datainfo.phonenumber}}</text></view>
 		</view>
 		<!-- 已添加关联企业 -->
 		<view class="zhead flexc">
@@ -40,7 +40,7 @@
 		</view>
 		<!-- 列表 -->
 		<block v-if="zheList[1].zheflag">
-			<bus-list :datalist="sdjllist" type="sdjl" @getDetail="getDetail"></bus-list>
+			<bus-list :datalist="sdjllist" :sdyhlist="sdyhlist" :dblxlist="dblxlist" type="sdjl" @getDetail="getDetail"></bus-list>
 		</block>
 	</view>
 </template>
@@ -49,7 +49,9 @@
 	import config from '@/config'
 	const baseUrl = config.baseUrl
 	import busList from "@/work/components/business/list.vue"
+	import {getIdCardDet} from "@/api/mine/card.js"
 	import {uploadmore} from '@/utils/common.js'
+	import {getDictionaryFn} from "@/api/mine/register.js"
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	export default{
 		components:{busList},
@@ -59,23 +61,71 @@
 				upimg:require('@/work/static/images/up.png'),
 				list:[{tit:'123'}],
 				qylist:[{tit:123},{tit:123},],
-				sdjllist:[{tit:123}],
+				sdjllist:[{tit:123,isNew:'Y'}],
 				zheList:[{zheflag:true},{zheflag:true},{zheflag:true},{zheflag:true}],
 				type:'qy',
 				pageSize: 10,
 				pageNum: 1,
 				reachflag: true,
 				wtdt:'',
+				id:'',
+				sdyhlist:[],
+				dblxlist:[],
+				datainfo:{
+					idCard:'34282419730618003X',realName:'林振宇',userId:'1'
+				}
 			}
 		},
+		onLoad(e) {
+			this.id=e.id;
+			this.init()
+			this.getDataFn()
+		},
 		methods:{
 			checkPermi, checkRole,
-			getDetail(){
-				this.$tab.navigateTo("/work/pages/business/details")
+			init(){
+				// 申贷银行
+				getDictionaryFn('shendai_bank').then(res=>{
+					if(res.code==200){
+						this.sdyhlist = 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
+							}
+						})
+					}
+				})
+			},
+			getDetail(e){
+				this.$tab.navigateTo("/work/pages/business/details?id=6")
 			},
 			getZheFn(idx){
 				this.zheList[idx].zheflag=!this.zheList[idx].zheflag
 			},
+			getDataFn(){
+				getIdCardDet(this.id).then(res=>{
+					if(res.code==200){
+						this.datainfo=res.data;
+						if(res.data.sysUserEnterpriseList){
+							this.qylist=JSON.parse(JSON.stringify(res.data.sysUserEnterpriseList))||[]
+						}
+						if(res.data.loanApplicationList){
+							this.dblxlist=JSON.parse(JSON.stringify(res.data.loanApplicationList))||[]
+						}
+					}
+				})
+			}
 		}
 	}
 </script>

+ 2 - 1
work/pages/file/wjdetails.vue

@@ -24,7 +24,8 @@
 				hrimg:require('@/work/static/images/hrimg.png'),
 				filico:require('@/work/static/images/filico.png'),
 				tabval:0,
-				tabList:[{tit:"客户上传",val:0},{tit:"平台上传",val:1}],
+				// tabList:[{tit:"客户上传",val:0},{tit:"平台上传",val:1}],
+				tabList:[{tit:"客户上传",val:0},{tit:"申报附件",val:1},{tit:"文件出具",val:2},{tit:"其他附件",val:3}],
 				filelist:[{name:"安徽嘉欣医疗用品有限公司0403委托担保申请书.pdf"},{name:"安徽嘉欣医疗用品有限公司0403委托担保申请书.pdf"},]
 			}
 		},

+ 41 - 2
work/pages/prove/dbcltips.vue

@@ -2,6 +2,7 @@
 	<view class="zcbox">
 		<view class="flex1 zctop">
 			<view class="tit">皖源融资担保有限公司担保材料清单</view>
+			 <rich-text :nodes="content"></rich-text>
 		</view>
 		<view class="flex0 zcfbtns">
 			<view class="rzbtn" @click="getDownFn">一键下载模板</view>
@@ -10,19 +11,57 @@
 </template>
 
 <script>
+	import {getDocumentList} from "@/api/mine/work.js"
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	import config from '@/config'
+	const baseUrlimg=config.baseUrl
 	export default{
 		components:{},
 		data(){
 			return{
-				
+				content:"",
 			}
 		},
+		onLoad() {
+			this.getDocumentList()
+		},
 		methods:{
 			checkPermi, checkRole,
 			getDownFn(){
 				
-			}
+			},
+			getDocumentList(){
+				var params={
+					explainType:1
+				}
+				getDocumentList(params).then(res=>{
+					if(res.code==200){
+						var list=res.rows;
+						if(list&&list.length){
+							var content=list[0].explainContent;
+							// this.content=content;
+							this.content=this.formatRichText(content);
+						}
+					}
+				})
+			},
+			//解析富文本方法
+			formatRichText(html) {
+					let newContent = html.replace(/<img[^>]*>/gi, function(match, capture) {
+						match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, '').replace(/style=""/gi, '');
+						match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, '');
+						match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, '');
+						return match;
+					});
+					newContent = newContent.replace(/style="[^"]+"/gi, function(match, capture) {
+						match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi, 'max-width:100%;');
+						return match;
+					});
+					newContent = newContent.replace(/<br[^>]*\/>/gi, '');
+					newContent = newContent.replace(/\<img src="/gi,
+						'<img style="max-width:100%;height:auto;display:block;margin:10rpx auto;" src="' +baseUrlimg);
+					return newContent;
+			},
 		}
 	}
 </script>

+ 3 - 0
work/pages/prove/qylist.vue

@@ -39,6 +39,9 @@
 				this.getDataFn()
 			}
 		},
+		onUnload() {
+			uni.$off('qyRefresh')
+		},
 		onLoad() {
 			this.getDataFn()
 			uni.$on('qyRefresh',(e) => {

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików