Forráskód Böngészése

贸易服务 小程序审核

zhongtianhaoyuan 3 éve
szülő
commit
fdc8f5d39b

+ 6 - 0
pages.json

@@ -188,6 +188,12 @@
 				"enablePullDownRefresh": true,
 				"navigationBarTitleText": "销售订单详情"
 			}
+		},{
+			"path": "pages/task/audit_info",
+			"style": {
+				"enablePullDownRefresh": true,
+				"navigationBarTitleText": "审核记录"
+			}
 		},
 		{
 			"path": "pages/task/procurement_report_details",

+ 303 - 99
pages/task/audit/tradeServices_audit.vue

@@ -60,8 +60,36 @@
 					<u-input v-model="tradeList.bank" input-align="right" placeholder="暂无" disabled />
 				</u-form-item>
 				<u-form-item label-width='260' label="第三方" :borderBottom="false">
-					<u-input v-model="tradeList.interest" input-align="right" placeholder="暂无" disabled />
+					<u-input v-model="tradeList.three" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+			</view>
+			<view class="form_item" v-if="tradeList.approveStatus == '待银行审批'">
+				<view class="title">发放信息</view>
+				<u-form-item label-width='260' label="合同编号">
+					<u-input v-model="tradeList.contractNo" input-align="right" placeholder="请输入合同编号" />
+				</u-form-item>
+				<u-form-item label-width='260' label="发放金额(元)">
+					<u-input v-model="tradeList.paymentAmount" input-align="right" type="digit" @input="calculation()" placeholder="请输入发放金额" />
 				</u-form-item>
+				<view v-for="(item,index) in count">
+					<view class="row">
+						<view class="left ">
+							<u-input v-model="item.modifyExpense" placeholder="输入费用名称,1-8个字" />
+						</view>
+						<view class="right">
+							<u-input v-model="item.expenses" @input="calculation" input-align="right" placeholder="输入金额" type="digit" />
+							</u-input><span class="yuan">元</span>
+							<view class="del" @click="del(index)">—</view>
+						</view>
+					</view>
+				</view>
+				<view class="flex count">
+					<view class="add">
+						<u-button @click="add" type="success" class="btnAdd" :disabled="addshow">添加费用</u-button>
+					</view>
+					<view class="count_item"><span>合计应还:</span><span class="number">¥{{tradeList.amountDue}}</span>
+					</view>
+				</view>
 			</view>
 		</u-form>
 		<view class="form_item flex">
@@ -74,31 +102,28 @@
 			</view>
 		</view>
 		<view style='padding:10px;' class='flex bottom-btn'>
-			<u-button  @click='reject' type="error" class="btn1" hover-class='none'>驳回</u-button>
-			<u-button  @click='pass' type="success" class="btn2">通过</u-button>
+			<u-button @click='reject' type="error" class="btn1" hover-class='none'>驳回</u-button>
+			<u-button @click='pass' type="success" class="btn2">通过</u-button>
 		</view>
-		<!-- <u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
-			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal> -->
-			<view v-if="show" class="shade">
-				<view class="wrap">
-					<view class="alert-top">
-						<view class="titleAudit">
-							{{title}}
-						</view>
-						<u-icon name="close" class="close" color="#8890B1" @click="close()"></u-icon>
+		<view v-if="show" class="shade">
+			<view class="wrap">
+				<view class="alert-top">
+					<view class="titleAudit">
+						{{title}}
 					</view>
-					<view class="u-textarea-style">
-						<view class="right-bottom">
-							{{auditMind.length}}/100个字
-						</view>
-						<u-input class="" v-model='auditMind' placeholder="请在此输入审核意见" type="textarea" height="414"
-							maxlength="100" />
+					<u-icon name="close" class="close" color="#8890B1" @click="close()"></u-icon>
+				</view>
+				<view class="u-textarea-style">
+					<view class="right-bottom">
+						{{auditMind.length}}/100个字
 					</view>
-					<view @click='close()' class="cancel">取消</view>
-					<view @click='passSubmit()' class="confirm">确定</view>
+					<u-input class="" v-model='auditMind' placeholder="请在此输入审核意见" type="textarea" height="414"
+						maxlength="100" />
 				</view>
+				<view @click='close()' class="cancel">取消</view>
+				<view @click='passSubmit()' class="confirm">确定</view>
 			</view>
+		</view>
 	</view>
 </template>
 
@@ -116,11 +141,13 @@
 				btnLoading: false, //防止重复点击
 				imgUrl: [],
 				tradeList: {},
-				isShowAlert:false,
-				show:false,
-				content:"",
-				title:"",
-				auditMind:"",//审核意见
+				isShowAlert: false,
+				show: false,
+				content: "",
+				title: "",
+				auditMind: "", //审核意见
+				count: [],
+				addshow: false
 			}
 		},
 		onLoad(options) {
@@ -131,46 +158,127 @@
 
 		},
 		methods: {
+			calculation() {
+				let money = Number(this.tradeList.paymentAmount)
+				for (let i = 0; i < this.count.length; i++) {
+					money += Number(this.count[i].expenses)
+				}
+				this.tradeList.amountDue = money.toFixed(2)
+			},
+			del(num) {
+				this.count.splice(num, 1)
+				if (this.count.length == 4) {
+					this.addshow = true
+				} else {
+					this.addshow = false
+				}
+				let money = Number(this.tradeList.paymentAmount)
+				for (let i = 0; i < this.count.length; i++) {
+					money += Number(this.count[i].expenses)
+				}
+				this.tradeList.amountDue = money.toFixed(2)
+			},
+			add() {
+				this.count.push({
+					modifyExpense: "",
+					expenses: ""
+				})
+				if (this.count.length == 4) {
+					this.addshow = true
+				} else {
+					this.addshow = false
+				}
+			},
 			getList() {
 				var that = this
 				that.$api.doRequest('get', '/tradeWarehouseReceiptAppl/getTrageInfo', {
 					id: that.id
 				}).then(res => {
 					that.tradeList = res.data.data
+					// if (that.tradeList.approveStatus == "待银行审批") {
+					// 	that.tradeList.amountDue = that.tradeList.interest
+					// }
 					//通过图片id找到地址
 					that.$api.doRequest('get', '/appendix/query/getFileList', {
-							appendixIds: that.tradeList.appendix
-						}).then(res => {
-							for (let i = 0; i < res.data.data.length; i++) {
-								that.imgUrl.push({
-									url: res.data.data[i].appendixPath
-								})
-							}
-						}).catch(res => {
-							if (res.errmsg) {
-								uni.showToast({
-									title: res.errmsg,
-									icon: 'none',
-									duration: 2000
-								})
-							}
-						});
+						appendixIds: that.tradeList.appendix
+					}).then(res => {
+						for (let i = 0; i < res.data.data.length; i++) {
+							that.imgUrl.push({
+								url: res.data.data[i].appendixPath
+							})
+						}
+					}).catch(res => {
+						if (res.errmsg) {
+							uni.showToast({
+								title: res.errmsg,
+								icon: 'none',
+								duration: 2000
+							})
+						}
+					});
 				})
 			},
-			reject(){
+			reject() {
 				this.show = true
 				this.title = "驳回原因(驳回)"
 			},
-			pass(){
+			pass() {
+				if(this.tradeList.approveStatus == "待银行审批"){
+				    if (!this.tradeList.contractNo) { 
+				    	this.$api.msg('合同编号不能为空!')
+				    	return
+				    }
+					if (!this.tradeList.paymentAmount) {
+						this.$api.msg('发放金额不能为空!')
+						return
+					}
+					for(var index = 0 ; index < this.count.length;index++){
+						if(!this.count[index].modifyExpense){
+							this.$api.msg('请输入费用名称!')
+							return
+						}
+						if(!this.count[index].expenses){
+							this.$api.msg('请输入费用!')
+							return
+						}
+						if(Number(this.count[index].expenses) < 1 || Number(this.count[index].expenses) > 100000000){
+							this.$api.msg('费用输入有误!')
+							return
+						}
+						if(this.count[index].expenses.toString().split(".")[1]){
+							if(this.count[index].expenses.toString().split(".")[1].length > 2){
+							this.$api.msg('费用请保留两位小数!')
+							return
+						  }
+						}
+						if(index == 0){
+							this.tradeList.modifyExpense1 = this.count[index].modifyExpense
+							this.tradeList.applicationAmount = this.count[index].expenses
+							this.tradeList.applicationAmountFlag = "显示中"  
+						}else if(index == 1){
+							this.tradeList.modifyExpense2 = this.count[index].modifyExpense
+							this.tradeList.supervisionFee = this.count[index].expenses
+							this.tradeList.supervisionFeeFlag = "显示中"
+						}else if(index == 2){
+							this.tradeList.modifyExpense3 = this.count[index].modifyExpense
+							this.tradeList.insurancePremium = this.count[index].expenses
+							this.tradeList.insurancePremiumFlag = "显示中"
+						}else if(index == 3){
+							this.tradeList.modifyExpense4 = this.count[index].modifyExpense
+							this.tradeList.otherFee = this.count[index].expenses
+							this.tradeList.otherFeeFlag = "显示中"
+						}
+					}
+				}
 				this.show = true
 				this.title = "审核意见(通过)"
 			},
-			close(){
+			close() {
 				this.show = false
 			},
-			passSubmit(){
-				if(this.title = "驳回原因(驳回)"){
-					if(!this.auditMind){
+			passSubmit() {
+				if (this.title == "驳回原因(驳回)") {
+					if (!this.auditMind) {
 						this.$api.msg('驳回意见不能为空')
 						return
 					}
@@ -180,7 +288,62 @@
 						auditMind: this.auditMind,
 						needReapply: true,
 					}).then(res => {
-						if(res.data.code == 200){
+						if (res.data.code == 200) {
+							uni.showToast({
+								title: "驳回成功",
+								icon: 'none',
+								duration: 2000
+							})
+							uni.navigateBack()
+						}
+					}).catch(res => {
+						if (res.errmsg) {
+							uni.showToast({
+								title: res.errmsg,
+								icon: 'none',
+								duration: 2000
+							})
+						}
+					});
+				} else {//通过
+				   if(this.tradeList.approveStatus == "待银行审批"){
+					   this.$api.doRequest('post', '/tradeWarehouseReceiptAppl/api/editTradeWarehouseReceiptAppl', this.tradeList)
+					   .then(res => {
+						   if(res.data.code == 200){
+							   this.$api.doRequest('post', '/workflow/api/handle', {
+							   	taskId: this.tradeList.taskId,
+							   	approved: true,
+							   	auditMind: this.auditMind ? this.auditMind : "审核通过",
+							   	needReapply: false,
+							   }).then(res => {
+							   	if (res.data.code == 200) {
+							   		uni.showToast({
+							   			title: "审核成功",
+							   			icon: 'none',
+							   			duration: 2000
+							   		})
+							   		uni.navigateBack()
+							   	}
+							   }).catch(res => {
+							   	if (res.errmsg) {
+							   		uni.showToast({
+							   			title: res.errmsg,
+							   			icon: 'none',
+							   			duration: 2000
+							   		})
+							   	}
+							   });
+						   }
+					   })
+					   
+				   }else{
+					   this.$api.doRequest('post', '/workflow/api/handle', {
+						taskId: this.tradeList.taskId,
+						approved: true,
+						auditMind: this.auditMind ? this.auditMind : "审核通过",
+						needReapply: false,
+					}).then(res => {
+						if (res.data.code == 200) {
 							uni.showToast({
 								title: "审核成功",
 								icon: 'none',
@@ -189,46 +352,23 @@
 							uni.navigateBack()
 						}
 					}).catch(res => {
-								if (res.errmsg) {
-									uni.showToast({
-										title: res.errmsg,
-										icon: 'none',
-										duration: 2000
-									})
-								}
-							});
-					// }
-				}else{
-					this.$api.doRequest('post', '/workflow/api/handle', {
-					taskId: this.tradeList.taskId,
-					approved: true,
-					auditMind: this.auditMind ? this.auditMind : "审核通过",
-					needReapply: false,
-				}).then(res => {
-					if(res.data.code == 200){
-						uni.showToast({
-							title: "审核成功",
-							icon: 'none',
-							duration: 2000
-						})
-						uni.navigateBack()
-					}
-				}).catch(res => {
-							if (res.errmsg) {
-								uni.showToast({
-									title: res.errmsg,
-									icon: 'none',
-									duration: 2000
-								})
-							}
-						});
+						if (res.errmsg) {
+							uni.showToast({
+								title: res.errmsg,
+								icon: 'none',
+								duration: 2000
+							})
+						}
+					});
+				   }
+					
 				}
-				
 			},
-			auditInfo(){
-				// uni.navigateTo({
-				// 	url: '/pages/task/procurement_close_details?id=' + item.businessId + "&isShowbtn=true"
-				// })
+			auditInfo() {
+				uni.navigateTo({
+					url: '/pages/task/audit_info?id=' + this.tradeList.id + "&workflowId=" + this.tradeList
+						.workflowId
+				})
 			},
 			filterFileType(index, lists) {
 				if (lists[index].fileType != 'jpg' && lists[index].fileType != 'png' && lists[index].fileType != 'gif' &&
@@ -249,14 +389,14 @@
 
 <style scoped lang="scss">
 	.container {
-		padding: 20rpx 12rpx 250rpx 12rpx;
+		padding: 6rpx 12rpx 250rpx 12rpx;
 	}
 
 	.title {
 		font-size: 34rpx;
 		font-weight: 600;
 		margin-top: 20rpx;
-		line-height: 70rpx;
+		line-height: 90rpx;
 		border-bottom: 2rpx solid #EEEEEE;
 	}
 
@@ -264,7 +404,7 @@
 		background: #fff;
 		margin: 10px;
 		border-radius: 10px;
-		padding: 20rpx 30rpx;
+		padding: 10rpx 30rpx;
 		// width: 100%;
 	}
 
@@ -283,6 +423,7 @@
 			line-height: 70rpx;
 		}
 	}
+
 	.bottom-btn {
 		width: 100%;
 		position: fixed;
@@ -292,19 +433,20 @@
 		left: 0;
 		background-color: #f8f8f8;
 		flex-direction: column;
-	
+
 		.btn1,
 		.btn2 {
 			width: 100%;
 			margin-bottom: 26rpx;
 			border-radius: 90rpx;
 		}
-	
+
 		.btn1 {
 			background: white;
 			color: #00C265;
 		}
 	}
+
 	.shade {
 		position: fixed;
 		top: 0;
@@ -313,7 +455,7 @@
 		width: 100%;
 		background: rgba(0, 0, 0, 0.4);
 		z-index: 3;
-	
+
 		.wrap {
 			position: absolute;
 			left: 0;
@@ -325,7 +467,7 @@
 			width: calc(100% - 198rpx);
 			height: 700rpx;
 			border-radius: 20rpx;
-	
+
 			.alert-top {
 				padding: 33rpx;
 				display: flex;
@@ -333,19 +475,20 @@
 				align-items: center;
 				position: relative;
 			}
-	
+
 			.titleAudit {
 				font-size: 32rpx;
 				font-weight: 600;
 				color: #333333;
 			}
-	
+
 			.close {
 				position: absolute;
 				right: 33rpx;
 			}
 		}
 	}
+
 	.cancel,
 	.confirm {
 		position: absolute;
@@ -357,16 +500,18 @@
 		border-top: 1px solid #eee;
 		font-size: 34rpx;
 	}
-	
+
 	.cancel {
 		left: 0;
 		border-right: 1px solid #eee;
 		color: #AFB3BF;
 	}
+
 	.confirm {
 		right: 0;
 		color: #22C572;
 	}
+
 	.u-textarea-style {
 		margin: 20rpx;
 		background: #F9F9FA;
@@ -374,7 +519,7 @@
 		border: 1px solid #EEEEEE;
 		padding: 10rpx 20rpx;
 		position: relative;
-	
+
 		.right-bottom {
 			position: absolute;
 			right: 20rpx;
@@ -382,7 +527,66 @@
 			color: #AFB3BF;
 		}
 	}
+
+	.row {
+		display: flex;
+		justify-content: space-between;
+		border-bottom: 1px solid #eee;
+
+		.right {
+			display: flex;
+
+			// .uni-input-input{
+			// width: 30%;
+			// font-size: 28rpx;
+			//     }
+			.del {
+				width: 46rpx;
+				height: 46rpx;
+				border-radius: 25rpx;
+				background-color: #F1F4FB;
+				text-align: center;
+				line-height: 46rpx;
+				font-weight: 600;
+				margin-top: 8rpx;
+			}
+
+			.yuan {
+				line-height: 70rpx;
+				margin: 0 16rpx;
+			}
+		}
+
+	}
+
+	.count {
+		width: 100%;
+		margin: 20rpx 0;
+
+		.add {
+			width: 162rpx;
+			height: 64rpx;
+			background: #22C572;
+			border-radius: 10rpx;
+			color: #FFFFFF;
+			line-height: 64rpx;
+			text-align: center;
+			font-size: 28rpx;
+		}
+
+		.count_item {
+			font-size: 30rpx;
+			line-height: 70rpx;
+
+			.number {
+				font-size: 32rpx;
+				font-weight: 600;
+				margin-left: 20rpx;
+			}
+		}
+	}
+
 	/deep/.u-list-item {
-		margin: 4rpx !important;
+		margin: 20rpx 4rpx !important;
 	}
 </style>

+ 429 - 1
pages/task/audit/tradeServices_audit_approval.vue

@@ -1,8 +1,436 @@
 <template>
+	<view class="container">
+		<u-form ref="uForm">
+			<view class="form_item">
+				<view class="title">申请信息</view>
+				<!-- <u-divider ></u-divider> -->
+				<u-form-item label-width='260' label="业务编号" :borderBottom="false">
+					<u-input v-model="tradeList.billNo" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="名头" :borderBottom="false">
+					<u-input v-model="tradeList.renown" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="仓库名称" :borderBottom="false">
+					<u-input v-model="tradeList.warehouseName" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="仓位号" :borderBottom="false">
+					<u-input v-model="tradeList.warehouseNo" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="仓库地址" :borderBottom="false">
+					<u-input v-model="tradeList.warehouseAddress" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="货名" :borderBottom="false">
+					<u-input v-model="tradeList.goodsName" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="品级" :borderBottom="false">
+					<u-input v-model="tradeList.grade" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="现有储量(吨)" :borderBottom="false">
+					<u-input v-model="tradeList.nowWeight" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="可用储量(吨)" :borderBottom="false">
+					<u-input v-model="tradeList.useWeight" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="本单重量(吨)" :borderBottom="false">
+					<u-input v-model="tradeList.weight" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="单价(元/吨)" :borderBottom="false">
+					<u-input v-model="tradeList.unitPrice" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="总价值(元)" :borderBottom="false">
+					<u-input v-model="tradeList.totalValue" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="申请比例(%)" :borderBottom="false">
+					<u-input v-model="tradeList.applicationProportion" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="申请金额(元)" :borderBottom="false">
+					<u-input v-model="tradeList.interest" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+			</view>
+			<view class="form_item">
+				<view class="title">附件</view>
+				<upload class="upload" ref="upload" :action="action" :max-size="maxSize" :max-count="0"
+					:file-list="imgUrl" :size-type="['compressed']" @on-success="getImgUrl" :deletable="false"
+					:showProgress="false" @on-uploaded="isAdd = true" :before-upload="filterFileType"
+					@on-progress="onProgress"></upload>
+			</view>
+			<view class="form_item">
+				<view class="title">外审部门</view>
+				<u-form-item label-width='260' label="银行" :borderBottom="false">
+					<u-input v-model="tradeList.bank" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+				<u-form-item label-width='260' label="第三方" :borderBottom="false">
+					<u-input v-model="tradeList.three" input-align="right" placeholder="暂无" disabled />
+				</u-form-item>
+			</view>
+			<view class="form_item" v-if="tradeList.status == '待还款'">
+				<view class="title">发放信息</view>
+				<u-form-item label-width='260' label="合同编号">
+					<u-input v-model="tradeList.contractNo" input-align="right" disabled placeholder="请输入合同编号" />
+				</u-form-item>
+				<u-form-item label-width='260' label="发放金额(元)">
+					<u-input v-model="tradeList.paymentAmount" input-align="right" type="digit" disabled placeholder="请输入发放金额" />
+				</u-form-item>
+				<view v-for="(item,index) in count">
+					<view class="row">
+						<view class="left ">
+							<u-input v-model="item.modifyExpense" placeholder="输入费用名称,1-8个字" />
+						</view>
+						<view class="right">
+							<u-input v-model="item.expenses"  input-align="right" placeholder="暂无" type="digit" disabled/>
+							</u-input><span class="yuan">元</span>
+							
+						</view>
+					</view>
+				</view>
+				<view class="flex count">
+					
+					<view class="count_item"><span>合计应还:</span><span class="number">¥{{tradeList.amountDue}}</span>
+					</view>
+				</view>
+			</view>
+		</u-form>
+		<view class="form_item flex">
+			<view class="auditInfo flex" @click="auditInfo">
+				<view class="title1">审核记录</view>
+				<view class="img">
+					<image src="../../../static/img/myimg/gengduo1@3x.png"
+						style="width: 16rpx; height: 30rpx;top: 20rpx;margin-right: 0rpx;"></image>
+				</view>
+			</view>
+		</view>
+		<view style='padding:10px;' class='flex bottom-btn'>
+			<u-button @click='reject' type="error" class="btn1" hover-class='none'>返回</u-button>
+		</view>
+		<view v-if="show" class="shade">
+			<view class="wrap">
+				<view class="alert-top">
+					<view class="titleAudit">
+						{{title}}
+					</view>
+					<u-icon name="close" class="close" color="#8890B1" @click="close()"></u-icon>
+				</view>
+				<view class="u-textarea-style">
+					<view class="right-bottom">
+						{{auditMind.length}}/100个字
+					</view>
+					<u-input class="" v-model='auditMind' placeholder="请在此输入审核意见" type="textarea" height="414"
+						maxlength="100" />
+				</view>
+				<view @click='close()' class="cancel">取消</view>
+				<view @click='passSubmit()' class="confirm">确定</view>
+			</view>
+		</view>
+	</view>
 </template>
 
 <script>
+	import upload from '@/components/upload.vue';
+	export default {
+		components: {
+			upload
+		},
+		data() {
+			return {
+				id: "",
+				action: this.$uploadUrl,
+				maxSize: 50 * 1024 * 1024, //限制文件大小 50M
+				btnLoading: false, //防止重复点击
+				imgUrl: [],
+				tradeList: {},
+				isShowAlert: false,
+				show: false,
+				content: "",
+				title: "",
+				auditMind: "", //审核意见
+				count: [],
+				addshow: false
+			}
+		},
+		onLoad(options) {
+			this.id = options.id
+			this.getList()
+		},
+		onshow() {
+
+		},
+		methods: {
+			getList() {
+				var that = this
+				that.$api.doRequest('get', '/tradeWarehouseReceiptAppl/getTrageInfo', {
+					id: that.id
+				}).then(res => {
+					that.tradeList = res.data.data
+					if(that.tradeList.modifyExpense1){
+						that.count.push({
+							modifyExpense:that.tradeList.modifyExpense1,
+							expenses:that.tradeList.applicationAmount
+						})
+					}
+					if(that.tradeList.modifyExpense2){
+						that.count.push({
+							modifyExpense:that.tradeList.modifyExpense2,
+							expenses:that.tradeList.supervisionFee
+						})
+					}
+					if(that.tradeList.modifyExpense3){
+						that.count.push({
+							modifyExpense:that.tradeList.modifyExpense3,
+							expenses:that.tradeList.insurancePremium
+						})
+					}
+					if(that.tradeList.modifyExpense4){
+						that.count.push({
+							modifyExpense:that.tradeList.modifyExpense4,
+							expenses:that.tradeList.otherFee
+						})
+					}
+					//通过图片id找到地址
+					that.$api.doRequest('get', '/appendix/query/getFileList', {
+						appendixIds: that.tradeList.appendix
+					}).then(res => {
+						for (let i = 0; i < res.data.data.length; i++) {
+							that.imgUrl.push({
+								url: res.data.data[i].appendixPath
+							})
+						}
+					}).catch(res => {
+						if (res.errmsg) {
+							uni.showToast({
+								title: res.errmsg,
+								icon: 'none',
+								duration: 2000
+							})
+						}
+					});
+				})
+			},
+			reject(){
+			   uni.navigateBack()
+			},
+			auditInfo() {
+				uni.navigateTo({
+					url: '/pages/task/audit_info?id=' + this.tradeList.id + "&workflowId=" + this.tradeList
+						.workflowId
+				})
+			},
+			filterFileType(index, lists) {
+				if (lists[index].fileType != 'jpg' && lists[index].fileType != 'png' && lists[index].fileType != 'gif' &&
+					lists[index].fileType != 'jpeg') {
+					lists.splice(index, 1);
+					// 当前文件不支持
+					uni.showModal({
+						title: '暂不支持当前图片类型',
+						showCancel: false
+					});
+				} else {
+					this.isAdd = false;
+				}
+			},
+		}
+	}
 </script>
 
-<style>
+<style scoped lang="scss">
+	.container {
+		padding: 6rpx 12rpx 140rpx 12rpx;
+	}
+
+	.title {
+		font-size: 34rpx;
+		font-weight: 600;
+		margin-top: 20rpx;
+		line-height: 90rpx;
+		border-bottom: 2rpx solid #EEEEEE;
+	}
+
+	.form_item {
+		background: #fff;
+		margin: 10px;
+		border-radius: 10px;
+		padding: 10rpx 30rpx;
+		// width: 100%;
+	}
+
+	.u-form-item {
+		padding: 12rpx 0 !important;
+	}
+
+	.auditInfo {
+		width: 100%;
+
+		.title1 {
+			width: 99%;
+			font-size: 34rpx;
+			font-weight: 600;
+			// margin-top: 20rpx;
+			line-height: 70rpx;
+		}
+	}
+
+	.bottom-btn {
+		width: 100%;
+		position: fixed;
+		bottom: 0;
+		display: flex;
+		z-index: 2;
+		left: 0;
+		background-color: #f8f8f8;
+		flex-direction: column;
+
+		.btn1,
+		.btn2 {
+			width: 100%;
+			margin-bottom: 26rpx;
+			border-radius: 90rpx;
+		}
+
+		.btn1 {
+			background: white;
+			color: #00C265;
+		}
+	}
+
+	.shade {
+		position: fixed;
+		top: 0;
+		left: 0;
+		height: 100%;
+		width: 100%;
+		background: rgba(0, 0, 0, 0.4);
+		z-index: 3;
+
+		.wrap {
+			position: absolute;
+			left: 0;
+			top: 0;
+			right: 0;
+			bottom: 0;
+			margin: auto;
+			background: #fff;
+			width: calc(100% - 198rpx);
+			height: 700rpx;
+			border-radius: 20rpx;
+
+			.alert-top {
+				padding: 33rpx;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				position: relative;
+			}
+
+			.titleAudit {
+				font-size: 32rpx;
+				font-weight: 600;
+				color: #333333;
+			}
+
+			.close {
+				position: absolute;
+				right: 33rpx;
+			}
+		}
+	}
+
+	.cancel,
+	.confirm {
+		position: absolute;
+		display: inline-block;
+		width: 50%;
+		text-align: center;
+		bottom: 0;
+		padding: 10px;
+		border-top: 1px solid #eee;
+		font-size: 34rpx;
+	}
+
+	.cancel {
+		left: 0;
+		border-right: 1px solid #eee;
+		color: #AFB3BF;
+	}
+
+	.confirm {
+		right: 0;
+		color: #22C572;
+	}
+
+	.u-textarea-style {
+		margin: 20rpx;
+		background: #F9F9FA;
+		border-radius: 10px;
+		border: 1px solid #EEEEEE;
+		padding: 10rpx 20rpx;
+		position: relative;
+
+		.right-bottom {
+			position: absolute;
+			right: 20rpx;
+			bottom: 20rpx;
+			color: #AFB3BF;
+		}
+	}
+
+	.row {
+		display: flex;
+		justify-content: space-between;
+		border-bottom: 1px solid #eee;
+
+		.right {
+			display: flex;
+
+			// .uni-input-input{
+			// width: 30%;
+			// font-size: 28rpx;
+			//     }
+			.del {
+				width: 46rpx;
+				height: 46rpx;
+				border-radius: 25rpx;
+				background-color: #F1F4FB;
+				text-align: center;
+				line-height: 46rpx;
+				font-weight: 600;
+				margin-top: 8rpx;
+			}
+
+			.yuan {
+				line-height: 70rpx;
+				margin: 0 16rpx;
+			}
+		}
+
+	}
+
+	.count {
+		width: 100%;
+		margin: 20rpx 0;
+
+		.add {
+			width: 162rpx;
+			height: 64rpx;
+			background: #22C572;
+			border-radius: 10rpx;
+			color: #FFFFFF;
+			line-height: 64rpx;
+			text-align: center;
+			font-size: 28rpx;
+		}
+
+		.count_item {
+			font-size: 30rpx;
+			line-height: 70rpx;
+
+			.number {
+				font-size: 32rpx;
+				font-weight: 600;
+				margin-left: 20rpx;
+			}
+		}
+	}
+
+	/deep/.u-list-item {
+		margin: 20rpx 4rpx !important;
+	}
 </style>

+ 104 - 0
pages/task/audit_info.vue

@@ -0,0 +1,104 @@
+<template>
+	<view class="container">
+		<view class="center">
+			<view class="auditList_item" v-for="(item,index) in auditList">
+				<view class="flex">
+					<view class="auditInfo">{{item.operatorName}}<span>{{item.endTime}}</span> </view>
+				<view class="result reject" v-if="!item.approved">驳回</view>
+				<view class="result adopt" v-if="item.approved">通过</view>
+				</view>
+				
+				<view class="opinion">
+					{{item.auditMind}}
+				</view>
+			</view>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				workflowId: "",
+				id: "",
+				auditList: [],
+			}
+		},
+		onLoad(options) {
+			this.id = options.id
+			this.workflowId = options.workflowId
+		},
+		onShow() {
+			this.getList()
+		},
+		methods: {
+			getList() {
+				this.$api.doRequest('get', '/workflowHistory/query/taskHistories', {
+					businessKey: this.id,
+					workflowId: this.workflowId
+				}).then(res => {
+					this.auditList = res.data.data
+				}).catch(res => {
+					if (res.errmsg) {
+						uni.showToast({
+							title: res.errmsg,
+							icon: 'none',
+							duration: 2000
+						})
+					}
+				});
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		padding: 20rpx 12rpx 250rpx 12rpx;
+	}
+
+	.center {
+		background: #fff;
+		margin: 10px;
+		border-radius: 10px;
+		padding: 20rpx 30rpx;
+
+		.auditList_item {
+			padding: 40rpx 10rpx;
+			width: 100%;
+			border-bottom: 2rpx solid #EEEEEE;
+			// display: flex;
+			.auditInfo {
+				width: 90%;	
+				font-size: 34rpx;
+				font-weight: 600;
+				span{
+					font-size: 26rpx;
+					margin-left: 30rpx;
+					font-weight: 500;
+				}
+			}
+			.result {
+				width: 10%;
+				display: flex;
+				justify-content: flex-end;
+				font-size: 30rpx;
+			}
+			.reject{
+				color: #FE6430;
+			}
+			.adopt{
+				color: #22C572;
+			}
+			.opinion{
+				width: 100%;
+				color: #AFB3BF;
+				font-size: 26rpx;
+				margin-top: 40rpx;
+				padding: 0 10rpx;
+			}
+		}
+	}
+</style>