gjy 2 vuotta sitten
vanhempi
commit
f6d8e2ed83

+ 2 - 2
config/index.js

@@ -5,8 +5,8 @@ const dev = {
 	// baseUrlNew: 'http://192.168.1.118:8090/',
 	// baseUrlNew: 'http://192.168.1.114:8090/',
 	// baseUrlNew: 'http://192.168.1.122:8090/',
-	baseUrlNew: 'http://192.168.110.82:8090/',
-	// baseUrlNew: 'http://192.168.110.138:8090/',
+	// baseUrlNew: 'http://192.168.110.82:8090/',
+	baseUrlNew: 'http://192.168.110.138:8090/',
 	// baseUrlNew: 'http://api1.eliangeyun.com/',
 	h5Appid: 'wxb66b599f7f61b46f',
 	debug: false

+ 807 - 0
pages/task/audit/charge_against_revenue_detail.vue

@@ -0,0 +1,807 @@
+<template>
+	<view class="warp">
+		<view class="topInfo">
+			<view class="topInfo-item">
+				<view class="flex info">
+					<view class="logo">
+						<image src="../../../static/img/reject.png" mode="" v-if="status == '已驳回'"
+							style="height: 40rpx;"></image><!-- 驳回 -->
+						<image src="../../../static/img/tongguo.png" mode="" v-if="status == '已通过'"
+							style="height: 40rpx;"></image><!-- 通过 -->
+						<!-- v-if="status == '审核中' || status == '待决策人审核'" -->
+						<image src="../../../static/img/daishenhe.png" mode="" style="height: 40rpx;"></image>
+						<!-- 待审核 -->
+					</view>
+					<!-- {{auditList.length > 0 ?auditList[auditList.length - 1].operatorMajorRoleName:""}} -->
+					<view class="infoText">待决策人审核</view>
+				</view>
+				<view class="infoData">{{updateDate}}</view>
+			</view>
+		</view>
+		<!-- 	<view class='content1'>
+			<view class='row content-item'>
+				<view class="left" style="color: #878C9C ;">仓库</view>
+				<view class="right">{{warehouseName}}</view>
+			</view>
+			<view class="content-item">
+				<view v-for="(item,index) in List">
+					<view class='row row1'>
+						<view class="left title">{{item.paymentNo}}</view>
+						<view class="right title">{{item.carNo}}</view>
+					</view>
+					<view class='row'>
+						<view class="left goodsInfoCss">{{item.goodsName}}({{item.netWeight}}kg -
+							¥{{item.tidalGrainPrice}})</view>
+						<view class="right priceCss">¥{{item.amountIngPayable}}</view>
+					</view>
+				</view>
+			</view>
+		</view> -->
+		<view class="content1">
+			<!-- 	<view class="title">
+				销售外勤 张三
+			</view> -->
+			<view class="row">
+				<view class="left">用途</view>
+				<view class="right" v-if='auditInfo.expensesPurpose==1'>合同费用</view>
+				<view class="right" v-if='auditInfo.expensesPurpose==3'>库点费用</view>
+				<view class="right" v-if='auditInfo.expensesPurpose==5'>经营性费用</view>
+			</view>
+			<view v-if='auditInfo.expensesPurpose==1' class="row">
+				<view class="left">类型</view>
+				<view class="right" v-if='auditInfo.costType==1'>粮款</view>
+				<view class="right" v-if='auditInfo.costType==3'>非粮款</view>
+				<view class="right" v-if='auditInfo.costType==5'>保证金</view>
+			</view>
+			<view v-if='auditInfo.expensesPurpose==1' class="row">
+				<view class="left">合同编号</view>
+				<view class="right">{{auditInfo.contractNo}}</view>
+			</view>
+			<view v-if='auditInfo.expensesPurpose==3' class="row">
+				<view class="left">仓库名称</view>
+				<view class="right">{{auditInfo.warehouseName}}</view>
+			</view>
+			<view class="row">
+				<view class="left">费用名称</view>
+				<view class="right">{{auditInfo.expenseName}}</view>
+			</view>
+			<view class="row">
+				<view class="left">金额(元)</view>
+				<view class="right">{{auditInfo.amountMoney}}</view>
+			</view>
+			<view style='border-bottom: 0;' class="row">
+				<view class="left">备注</view>
+				<view class="right">{{auditInfo.remark}}</view>
+			</view>
+			<!-- <view class="row">
+				<view class="left">附件</view>
+				<view class="right">{{auditInfo.amountMoney}}</view>
+			</view> -->
+
+			<!-- <view class="row row-bottom">
+				<view class="left">水分(%)</view>
+				<input type="digit" v-model='detailData.warehouseInOutDetail.waterContent' class="right-bottom"
+					placeholder="输入水分占比"></input>
+			</view>
+			<view class="row row-bottom">
+				<view class="left">容重(克/升)</view>
+				<input type="digit" v-model='detailData.warehouseInOutDetail.bulkDensity' class="right-bottom"
+					placeholder="输入容重"></input>
+			</view>
+			<view class="row row-bottom">
+				<view class="left">热损伤(%)</view>
+				<input type="digit" v-model='detailData.warehouseInOutDetail.jiaorenli' class="right-bottom"
+					placeholder="输入热损伤占比"></input>
+			</view>
+			<view class="row row-bottom">
+				<view class="left">杂质(%)</view>
+				<input type="digit" v-model='detailData.warehouseInOutDetail.impurity' class="right-bottom"
+					placeholder="输入杂质占比"></input>
+			</view>
+			<view class="row row-bottom">
+				<view class="left">霉变粒(%)</view>
+				<input type="digit" v-model='detailData.warehouseInOutDetail.mildewGrain' class="right-bottom"
+					placeholder="输入霉变粒占比"></input>
+			</view>
+			<view class="row row-bottom">
+				<view class="left">不完善粒(%)</view>
+				<input type="digit" v-model='detailData.warehouseInOutDetail.imperfectGrain' class="right-bottom"
+					placeholder="输入不完善粒占比"></input>
+			</view> -->
+		</view>
+		<view class="content1" v-if="url && url != 'ng'">
+			<view class="title ">
+				附件
+			</view>
+			<view v-if='auditInfo.srcList.length>0' class="">
+				<view style='flex-wrap: wrap;' class="file">
+					<image v-for='(item,index) in auditInfo.srcList'  @click="previewImageFn(index)" class='fujianImg' :src="item" mode=""></image>
+				</view>
+			</view>
+			<view v-else class="">
+				暂无附件
+			</view>
+		</view>
+		<view class="content1" v-if="url && url != 'ng'">
+			<view class="title ">
+				费用分配附件
+			</view>
+			<view class="file" @click="openXls">
+				<image src="../../../static/img/excle.png" mode="" class="img_css"></image>
+				<text class="text_css">明细.xls</text>
+			</view>
+		</view>
+		<view class="content2">
+			<view class="title row">
+				流程
+			</view>
+			<view v-for="(item,index) in auditList" :key='index' class="audit">
+				<view class="row">
+					<view class="left">
+						<view class="item1">
+							<image :src="src" style="width: 100rpx;height: 100rpx;border-radius: 500%;"></image>
+						</view>
+						<view class="item2">
+							<view class="name">{{item.operatorName ? item.operatorName:item.operatorMajorRoleName}}
+							</view>
+							<view class="status">{{item.approved ? "已审核":"待决策人审核"}}</view>
+						</view>
+					</view>
+					<view class="right">
+						{{item.updateDate}}
+					</view>
+				</view>
+				<view class="row-line" v-if="index!= auditList.length - 1"></view>
+			</view>
+		
+		</view>
+		<view v-if='show' class="shade">
+			<view class="wrap">
+				<view class="alert-top">
+					<view class="title">
+						{{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>
+		<u-toast ref="uToast" />
+		<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>
+		</view>
+	</view>
+</template>
+
+<script>
+	import helper from '@/common/helper.js';
+	import {
+		mapState
+	} from 'vuex';
+	export default {
+		data() {
+			return {
+				src: '../../../static/img/myimg/LiangShang@2x.png',
+				isSHowBtn: true,
+				height: 200,
+				autoHeight: true,
+				border: false,
+				title: '',
+				show: false,
+				auditMind: '',
+				id: "",
+				currentPage: 1,
+				pageSize: 100,
+				List: [],
+				status: "",
+				updateDate: "",
+				warehouseName: "",
+				everyCheck: '',
+				auditInfo: {srcList:[]},
+				id: "",
+				auditList: [],
+				url: "11",
+			}
+		},
+		onBackPress(e) {
+			if (this.everyCheck) {
+				uni.navigateTo({
+					url: "/pages/task/my_task"
+				})
+				return true;
+			}
+		},
+		onLoad(options) {
+			this.id = options.id
+			this.vesselId = options.vesselId
+			this.everyCheck = uni.getStorageSync("everyTask")
+			this.isSHowBtn = options.isShowbtn
+		},
+		onShow(options) {
+			this.getList()
+		},
+		computed: {
+			...mapState(['hasLogin', 'userInfo']),
+		},
+		methods: {
+			previewImageFn(index) {
+						/* 预览图片 */
+						uni.previewImage({
+							current: index,
+							/* 需要是数组 */
+							urls: this.auditInfo.srcList,
+							/* 默认底部圆点  number顶部数字1234 */
+							// indicator:'default',
+							indicator: 'number',
+							loop: false,
+							/* 长按图片底部显示选项 */
+							longPressActions: {
+								itemList: ['保存图片'],
+								itemColor: '#d60000',
+								success: data => {
+									console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
+									/* 保存图片到系统相册 */
+									plus.nativeUI.closePreviewImage();
+									if(data.tapIndex==0){
+										uni.saveImageToPhotosAlbum({
+											filePath:this.auditInfo.srcList[data.index],
+											success:res=>{
+												// console.log(this.userImgList[data.index])
+												// console.log(res.path,"res")
+												// plus.nativeUI.closePreviewImage();
+												plus.nativeUI.closePreviewImage();    
+												// uni.closePreviewImage()
+												plus.nativeUI.toast("保存成功",{background:"#c3002f"});
+												// this.$http.showTK({title:"保存成功",duration:500,position:"bottom"})
+											},
+											fail:err=>{
+												console.log(err,"err")
+											}
+										})
+									}else if(data.tapIndex==1){
+										this.uniShare()
+									}
+								},
+								fail: err => {
+									console.log(err.errMsg);
+								}
+							}
+						});
+					},
+			openXls() {
+				if (this.url && this.url != "ng") {
+					uni.downloadFile({
+						url: this.url,
+						success: function(res) {
+							var filePath = res.tempFilePath;
+							uni.openDocument({
+								filePath: filePath,
+								showMenu: true,
+								success: function(res) {
+									console.log('打开文档成功');
+								}
+							});
+						}
+					});
+				}
+			},
+			getList() {
+				uni.showLoading({
+					title: "加载中...",
+					mask: true
+				})
+				this.$api.doRequest('get', '/paymentManagement/selectPaymentManagement', {
+					currentPage: 1,
+					pageSize: 100,
+					searchType: '1', //searchType:1待审核
+					warehouseName: this.vesselId,
+					managementType: 1
+				}).then(res1 => {
+					uni.hideLoading()
+					if (res1.data.code == 200) {
+						this.List = res1.data.data.records
+					}
+				})
+				// this.$api.doRequest('get', '/paymentManagement/getInfo', {
+				// 	id: this.id
+				// }).then(res => {
+				// 	if (res.data.code == 200) {
+				// 		uni.showLoading({
+				// 			title: "加载中...",
+				// 			mask: true
+				// 		})
+
+				// 	}
+				// })
+				this.$api.doRequest('post', '/expenseInfo/exportPhone', {
+					warehouseName: this.vesselId,
+				}).then(res1 => {
+					if (res1.data.code == 200) {
+						this.url = res1.data.data
+					}
+				})
+				this.$api.doRequest('post', '/paymentManagement/exportPhoneData', {
+					warehouseName: this.vesselId,
+					searchType: 1
+				}).then(res1 => {
+					if (res1.data.code == 200) {
+						this.auditInfo = res1.data.data
+						if(this.auditInfo.addressUrl&&this.auditInfo.addressUrl!=''){
+							this.auditInfo.srcList=this.auditInfo.addressUrl.split(',')
+						}else{
+							this.auditInfo.srcList=[]
+						}
+						this.auditInfo.amountIngPayableTotal1 = helper.convertCurrency(this.auditInfo
+							.amountIngPayableTotal)
+					}
+				})
+				this.$api.doRequest('get', '/workflow/query/workflowDefinitions', {
+					businessCode: 'FEIYONGGUANLI-APPROVE',
+					tmpCompId: uni.getStorageSync('pcUserInfo').compId
+				}).then(res1 => {
+					this.updateDate = res1.data.data[0].updateDate
+					this.$api.doRequest('get', '/commonUser/getHis', {
+						workflowId: res1.data.data[0].id,
+						businessKey: this.id
+					}).then(response => {
+						// uni.hideLoading()
+						this.auditList = response.data.data
+
+					})
+				})
+			},
+			close() {
+				this.show = false
+			},
+			pass() {
+				this.show = true
+				this.title = '审核意见(通过)'
+			},
+			reject() {
+				this.show = true
+				this.title = '驳回原因(驳回)'
+			},
+			//驳回
+			// rejectSubmit() {
+			// 	if (!this.auditMind) {
+			// 		this.$api.msg('驳回原因不能为空!')
+			// 	} else {
+			// 		var that = this
+			// 		that.show = false
+			// 		if (this.List.length > 0) {
+			// 			uni.showModal({
+			// 				content: "确定驳回付款申请?",
+			// 				showCancel: true,
+			// 				confirmText: '确定',
+			// 				success: function(res) {
+			// 					if (res.confirm) {
+			// 						that.audit(that.List[0], 0, false, '', '')
+			// 					}
+			// 				}
+			// 			})
+			// 		}
+			// 	}
+			// },
+			//审核确定
+			passSubmit() {
+				var that = this
+				that.show = false
+				if (this.title == '驳回原因(驳回)') {
+					// this.rejectSubmit()
+					if (!that.auditMind) {
+						this.$api.msg('驳回原因不能为空!')
+					} else {
+						uni.showModal({
+							content: "确定驳回付款申请?",
+							showCancel: true,
+							confirmText: '确定',
+							success: function(res) {
+								if (res.confirm) {
+									uni.showLoading({
+										title: "审核中...",
+										mask: true
+									})
+									var count = 0
+									// for (let num = 0; num < that.List.length; num++) {
+										that.$api.doRequest('post', '/workflow/api/handle', {
+											taskId: that.auditInfo.taskId,
+											approved: false,
+											auditMind: that.auditMind ? that.auditMind : "",
+											needReapply: true
+										}).then(res => {
+											// count++
+											// if (count == that.List.length) {
+												uni.hideLoading()
+												that.$api.msg('审核成功!')
+												setTimeout(function() {
+													uni.navigateBack();
+												}, 2000);
+											// }
+										})
+									// }
+								}
+							}
+						})
+					}
+				} else {
+					var that = this
+					this.show = false
+					uni.showModal({
+						content: "确定通过付款申请?",
+						showCancel: true,
+						confirmText: '确定',
+						success: function(res) {
+							if (res.confirm) {
+								uni.showLoading({
+									title: "审核中...",
+									mask: true
+								})
+								// for (let num = 0; num < that.List.length; num++) {
+								// 	var tmp = 0
+									that.$api.doRequest('post', '/workflow/api/handle', {
+										taskId: that.auditInfo.taskId,
+										approved: true,
+										auditMind: that.auditMind ? that.auditMind : "",
+										needReapply: false
+									}).then(res => {
+										// tmp++
+										// if (tmp == that.List.length) {
+											uni.hideLoading()
+											that.$api.msg('审核成功!')
+											setTimeout(function() {
+												uni.navigateBack();
+											}, 2000);
+										// }
+									})
+								// }
+							}
+						}
+					})
+				}
+			},
+			// audit(list, index, status, status2, reason) {
+			// 	uni.showLoading({
+			// 		title: "审核中"
+			// 	})
+			// 	if (this.List.length > 0) {
+			// 		if (status == true && list.status == "已驳回") {
+			// 			this.$api.doRequest('get', '/paymentManagement/api/openAuditFlow', {
+			// 				compId: "2710b21efc1e4393930c5dc800010dc4",
+			// 				id: list.id
+			// 			}).then(res => {
+			// 				if (res.data.code == 200) {
+			// 					this.audit(this.List[index + 1], index + 1, status, status2, reason)
+			// 				}
+			// 			})
+			// 		} else {
+			// 			for (var i = 0; i < this.List.length; i++) {
+			// 				this.$api.doRequest('post', '/workflow/api/handle', {
+			// 					taskId: this.List[i].taskId,
+			// 					approved: status,
+			// 					auditMind: this.auditMind ? this.auditMind : "",
+			// 					needReapply: status2 ? true : false
+			// 				}).then(res => {
+			// 					if (res.data.code == 200) {
+			// 						uni.hideLoading()
+			// 						// this.audit(this.List[index + 1], index + 1, status, status2, reason)
+			// 						this.$api.msg('通过成功')
+			// 					}else{
+			// 						uni.hideLoading()
+			// 						this.$api.msg('审核失败')
+			// 					}
+			// 				})
+			// 			}
+
+			// 		}
+			// 	} else {
+			// 		if (status == true) {
+			// 			this.$api.msg('通过成功')
+			// 		} else if (status == false) {
+			// 			this.$api.msg('驳回成功')
+			// 		}
+			// 		let that = this
+			// 		setTimeout(function() {
+
+			// 			if (that.everyCheck) {
+			// 				helper.setAudit(that.list)
+			// 			} else {
+			// 				uni.navigateBack()
+			// 			}
+			// 			uni.hideLoading()
+			// 		}, 1000);
+			// 	}
+			// },
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.warp {
+		margin: 10rpx;
+		padding: 20rpx 20rpx 240rpx 20rpx;
+	}
+
+	.content1 {
+		font-size: 28rpx;
+		color: #333333;
+		margin-top: 30rpx;
+		padding: 20rpx;
+		// .content-item {
+		border-radius: 20rpx;
+		background: white;
+		// 	padding: 40rpx 20rpx;
+		// 	margin-bottom: 30rpx;
+		// }
+
+		// .title {
+		// 	font-size: 32rpx;
+		// 	font-weight: 600;
+		// 	color: #333333;
+		// 	margin: 30rpx 0;
+		// }
+
+		// .goodsInfoCss {
+		// 	font-size: 28rpx;
+		// 	font-weight: 600;
+		// 	color: #878C9C;
+		// 	margin: 26rpx 10rpx;
+		// }
+
+		// .priceCss {
+		// 	font-size: 40rpx;
+		// 	margin: 26rpx 10rpx;
+		// 	color: #22C572;
+		// 	font-weight: 600;
+		// }
+		.row {
+			display: flex;
+			justify-content: space-between;
+			border-bottom: 1px solid #EEEEEE;
+			padding: 20rpx 0;
+
+			.right,
+			input {
+				font-size: 28rpx;
+				// color: #333333;
+			}
+		}
+
+		.img_css {
+			width: 50rpx;
+			height: 50rpx;
+		}
+
+		.file {
+			display: flex;
+			align-items: center;
+			margin: 30rpx 0 0 20rpx;
+
+			.text_css {
+				font-size: 30rpx;
+				margin-left: 20rpx;
+			}
+		}
+	}
+
+	.title {
+		font-size: 34rpx;
+		font-weight: 700;
+		// margin-bottom: 20rpx;
+		height: 70rpx;
+		border-bottom: 2rpx solid #EEEEEE;
+	}
+
+	.titlerow {
+		font-size: 34rpx;
+		font-weight: 700;
+		// margin-bottom: 20rpx;
+		// height: 70rpx;
+		// border-bottom: 2rpx solid #EEEEEE;
+	}
+
+	.content2 {
+		background: white;
+		margin: 20rpx 0;
+		border-radius: 20rpx;
+		padding: 20rpx;
+
+		.row {
+			display: flex;
+			justify-content: space-between;
+
+			.left {
+				display: flex;
+				align-items: center;
+
+				.item2 {
+					margin-left: 20rpx;
+
+					.name {
+						font-size: 32rpx;
+						font-weight: 800;
+					}
+
+					.status {
+						color: #6CC48C;
+					}
+				}
+			}
+
+			.right {
+				color: #B0B1B5;
+				margin-top: 10px;
+			}
+		}
+
+		.row-line {
+			width: 1px;
+			height: 30px;
+			background: #F2F2F2;
+			margin: 10rpx 50rpx;
+
+		}
+
+		.audit {
+			margin-top: 20rpx;
+		}
+	}
+
+	.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;
+		}
+	}
+
+	.row1 {
+		border-bottom: 0 !important;
+	}
+
+	.topInfo {
+		height: 210rpx;
+		background: linear-gradient(270deg, #22C572 0%, #34DE8A 100%);
+		padding: 30rpx;
+
+		.topInfo-item {
+			height: 150rpx;
+			background-color: #FFFFFF;
+			border-radius: 20rpx;
+			padding: 40rpx;
+
+			.logo {
+				width: 40rpx;
+				height: 40rpx;
+				margin-top: 8rpx;
+			}
+
+			.infoText {
+				font-size: 36rpx;
+				font-weight: 600;
+				margin-left: 20rpx;
+			}
+
+			.infoData {
+				color: #878C9C;
+				font-size: 26rpx;
+				margin-top: 10rpx;
+			}
+		}
+	}
+
+	.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;
+			}
+
+			.title {
+				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;
+		}
+	}
+
+	/deep/.u-input__textarea {
+		height: 300rpx !important;
+	}
+	.fujianImg{
+		width:30%;
+		height:80px;
+		border-radius:3px;
+		border:1px solid #ccc;
+		margin:5px;
+	}
+</style>

+ 16 - 12
pages/task/audit/warehouse_warrant.vue

@@ -43,7 +43,7 @@
 				<view class="left">合计金额(元)</view>
 				<view class="right">{{auditInfo.requestFundsTotal}}</view>
 			</view>
-			<view class="row">
+		<!-- 	<view class="row">
 				<view class="left">仓库名称</view>
 				<view class="right">{{auditInfo.warehouseName}}</view>
 			</view>
@@ -54,7 +54,7 @@
 			<view class="row" style="border-bottom:0">
 				<view class="left">车数</view>
 				<view class="right">{{auditInfo.count}}</view>
-			</view>
+			</view> -->
 		</view>
 
 		<view class="content1">
@@ -62,19 +62,22 @@
 				支付明细
 			</view>
 			<view class="mx-content" v-for="item in auditInfo.warehousingOrderList">
-				<view class="name">
-					{{item.customer}}
+				<view class='flex align-center justify-between'>
+					<view class="name">
+						{{item.customer}}
+					</view>
+					<view class="mx-item">
+						{{item.goodsName}}
+					</view>
 				</view>
 				<view class="mx-bottom">
 					<view class="mx-row1">
-						<view class="mx-item">
-							{{item.goodsName}}
-						</view>
+						
 						<!-- <view class="mx-item">
-							平均容重720
+							平均容重
 						</view>
 						<view class="mx-item">
-							平均水分14
+							平均水分
 						</view> -->
 					</view>
 					<view class="mx-row2">
@@ -84,7 +87,7 @@
 						</view>
 						<view class="mx-item">
 							<!-- 2000元/吨 -->
-							单价待定
+							{{item.avgCost}}元/吨
 						</view>
 						<view class="mx-item">
 							{{item.requestFunds}}元
@@ -104,7 +107,7 @@
 				<text class="text_css">明细.xls</text>
 			</view>
 		</view>
-		<view class="content2">
+		<!-- <view class="content2">
 			<view class="title row">
 				流程
 			</view>
@@ -127,7 +130,7 @@
 				<view class="row-line" v-if="index!= auditList.length - 1"></view>
 			</view>
 		
-		</view>
+		</view> -->
 		<view v-if='show' class="shade">
 			<view class="wrap">
 				<view class="alert-top">
@@ -747,6 +750,7 @@
 		}
 
 		.mx-item {
+			text-align:left;
 			// width: 33%;
 			// text-align: center;
 		}

+ 667 - 0
pages/task/audit/warehouse_warrant_detail.vue

@@ -0,0 +1,667 @@
+<template>
+	<view class="warp">
+		<view class="topInfo">
+			<view class="topInfo-item">
+				<view class="flex info">
+					<view class="logo">
+						<image src="../../../static/img/reject.png" mode="" v-if="status == '已驳回'"
+							style="height: 40rpx;"></image><!-- 驳回 -->
+						<image src="../../../static/img/tongguo.png" mode="" v-if="status == '已通过'"
+							style="height: 40rpx;"></image><!-- 通过 -->
+						<!-- v-if="status == '审核中' || status == '待决策人审核'" -->
+						<image src="../../../static/img/daishenhe.png" mode="" style="height: 40rpx;"></image>
+						<!-- 待审核 -->
+					</view>
+					<!-- {{auditList.length > 0 ?auditList[auditList.length - 1].operatorMajorRoleName:""}} -->
+					<view class="infoText">待决策人审核</view>
+				</view>
+				<view class="infoData">{{updateDate}}</view>
+			</view>
+		</view>
+
+		<view class="content1">
+			<!-- 	<view class="title">
+				销售外勤 张三
+			</view> -->
+			<view class="row">
+				<view class="left">合计重量(吨)</view>
+				<view class="right">{{auditInfo.inWarehouseWeightTotal}}</view>
+			</view>
+			<view class="row">
+				<view class="left">合计金额(元)</view>
+				<view class="right">{{auditInfo.requestFundsTotal}}</view>
+			</view>
+			<view class="row">
+				<view class="left">仓库名称</view>
+				<view class="right">{{auditInfo.warehouseName}}</view>
+			</view>
+			<view class="row">
+				<view class="left">入库日期</view>
+				<view class="right">{{auditInfo.issuingTime}}</view>
+			</view>
+			<view class="row" style="border-bottom:0">
+				<view class="left">车数</view>
+				<view class="right">{{auditInfo.count}}</view>
+			</view>
+		</view>
+		<view class="content1" v-if="url && url != 'ng'">
+			<view class="title ">
+				附件
+			</view>
+			<view class="file" @click="openXls">
+				<image src="../../../static/img/excle.png" mode="" class="img_css"></image>
+				<text class="text_css">明细.xls</text>
+			</view>
+		</view>
+		<view class="content2">
+			<view class="title row">
+				流程
+			</view>
+			<view v-for="(item,index) in auditList" :key='index' class="audit">
+				<view class="row">
+					<view class="left">
+						<view class="item1">
+							<image :src="src" style="width: 100rpx;height: 100rpx;border-radius: 500%;"></image>
+						</view>
+						<view class="item2">
+							<view class="name">{{item.operatorName ? item.operatorName:item.operatorMajorRoleName}}
+							</view>
+							<view class="status">{{item.approved ? "已审核":"待决策人审核"}}</view>
+						</view>
+					</view>
+					<view class="right">
+						{{item.updateDate}}
+					</view>
+				</view>
+				<view class="row-line" v-if="index!= auditList.length - 1"></view>
+			</view>
+		
+		</view>
+		<view v-if='show' class="shade">
+			<view class="wrap">
+				<view class="alert-top">
+					<view class="title">
+						{{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>
+		<u-toast ref="uToast" />
+	</view>
+</template>
+
+<script>
+	import helper from '@/common/helper.js';
+	import {
+		mapState
+	} from 'vuex';
+	export default {
+		data() {
+			return {
+				src: '../../../static/img/myimg/LiangShang@2x.png',
+				isSHowBtn: true,
+				height: 200,
+				autoHeight: true,
+				border: false,
+				title: '',
+				show: false,
+				auditMind: '',
+				id: "",
+				currentPage: 1,
+				pageSize: 100,
+				List: [],
+				status: "",
+				updateDate: "",
+				warehouseName: "",
+				everyCheck: '',
+				auditInfo: {},
+				id: "",
+				auditList: [],
+				url: "11",
+			}
+		},
+		onBackPress(e) {
+			if (this.everyCheck) {
+				uni.navigateTo({
+					url: "/pages/task/my_task"
+				})
+				return true;
+			}
+		},
+		onLoad(options) {
+			this.id = options.id
+			this.vesselId = options.vesselId
+			this.everyCheck = uni.getStorageSync("everyTask")
+			this.isSHowBtn = options.isShowbtn
+		},
+		onShow(options) {
+			this.getList()
+		},
+		computed: {
+			...mapState(['hasLogin', 'userInfo']),
+		},
+		methods: {
+			openXls() {
+				if (this.url && this.url != "ng") {
+					uni.downloadFile({
+						url: this.url,
+						success: function(res) {
+							var filePath = res.tempFilePath;
+							uni.openDocument({
+								filePath: filePath,
+								showMenu: true,
+								success: function(res) {
+									console.log('打开文档成功');
+								}
+							});
+						}
+					});
+				}
+			},
+			getList() {
+				uni.showLoading({
+					title: "加载中...",
+					mask: true
+				})
+				// this.$api.doRequest('get', '/warehousingOrder/selectInfo', {
+				// 	currentPage: 1,
+				// 	pageSize: 100,
+				// 	searchType: '2', //searchType:1待审核
+				// 	// warehouseName: this.vesselId,
+				// 	managementType: 1
+				// }).then(res1 => {
+				// 	uni.hideLoading()
+				// 	if (res1.data.code == 200) {
+				// 		this.List = res1.data.data.records
+				// 	}
+				// })
+				// this.$api.doRequest('get', '/paymentManagement/getInfo', {
+				// 	id: this.id
+				// }).then(res => {
+				// 	if (res.data.code == 200) {
+				// 		uni.showLoading({
+				// 			title: "加载中...",
+				// 			mask: true
+				// 		})
+
+				// 	}
+				// })
+				this.$api.doRequest('post', '/warehousingOrder/exportPhone', {
+					batchId:this.id,searchType: 1,
+				}).then(res1 => {
+					if (res1.data.code == 200) {
+						this.url = res1.data.data
+					}
+				})
+				this.$api.doRequest('post', '/warehousingOrder/exportPhoneData', {searchType: 1,batchId:this.id}).then(res1 => {
+					if (res1.data.code == 200) {
+						this.auditInfo = res1.data.data
+						this.auditInfo.amountIngPayableTotal1 = helper.convertCurrency(this.auditInfo
+							.amountIngPayableTotal)
+							uni.hideLoading()
+					}
+				})
+				// this.$api.doRequest('get', '/workflow/query/workflowDefinitions', {
+				// 	businessCode: 'PAYMENT-MANAGEMENT-APPROVE',
+				// 	tmpCompId: uni.getStorageSync('pcUserInfo').compId
+				// }).then(res1 => {
+				// 	this.updateDate = res1.data.data[0].updateDate
+				// 	this.$api.doRequest('get', '/commonUser/getHis', {
+				// 		workflowId: res1.data.data[0].id,
+				// 		businessKey: this.id
+				// 	}).then(response => {
+				// 		// uni.hideLoading()
+				// 		this.auditList = response.data.data
+
+				// 	})
+				// })
+			},
+			close() {
+				this.show = false
+			},
+			pass() {
+				this.show = true
+				this.title = '审核意见(通过)'
+			},
+			reject() {
+				this.show = true
+				this.title = '驳回原因(驳回)'
+			},
+			//驳回
+			// rejectSubmit() {
+			// 	if (!this.auditMind) {
+			// 		this.$api.msg('驳回原因不能为空!')
+			// 	} else {
+			// 		var that = this
+			// 		that.show = false
+			// 		if (this.List.length > 0) {
+			// 			uni.showModal({
+			// 				content: "确定驳回付款申请?",
+			// 				showCancel: true,
+			// 				confirmText: '确定',
+			// 				success: function(res) {
+			// 					if (res.confirm) {
+			// 						that.audit(that.List[0], 0, false, '', '')
+			// 					}
+			// 				}
+			// 			})
+			// 		}
+			// 	}
+			// },
+			//审核确定
+			passSubmit() {
+				var that = this
+				that.show = false
+				if (this.title == '驳回原因(驳回)') {
+					// this.rejectSubmit()
+					if (!that.auditMind) {
+						this.$api.msg('驳回原因不能为空!')
+					} else {
+						uni.showModal({
+							content: "确定驳回付款申请?",
+							showCancel: true,
+							confirmText: '确定',
+							success: function(res) {
+								if (res.confirm) {
+									uni.showLoading({
+										title: "审核中...",
+										mask: true
+									})
+									var count = 0
+									// for (let num = 0; num < that.List.length; num++) {
+										that.$api.doRequest('post', '/workflow/api/handle', {
+											taskId: that.auditInfo.taskId,
+											approved: false,
+											auditMind: that.auditMind ? that.auditMind : "",
+											needReapply: true
+										}).then(res => {
+											// count++
+											// if (count == that.List.length) {
+												uni.hideLoading()
+												that.$api.msg('审核成功!')
+												setTimeout(function() {
+													uni.navigateBack();
+												}, 2000);
+											// }
+										})
+									// }
+								}
+							}
+						})
+					}
+				} else {
+					var that = this
+					this.show = false
+					uni.showModal({
+						content: "确定通过付款申请?",
+						showCancel: true,
+						confirmText: '确定',
+						success: function(res) {
+							if (res.confirm) {
+								uni.showLoading({
+									title: "审核中...",
+									mask: true
+								})
+								// for (let num = 0; num < that.List.length; num++) {
+								// 	var tmp = 0
+									that.$api.doRequest('post', '/workflow/api/handle', {
+										taskId: that.auditInfo.taskId,
+										approved: true,
+										auditMind: that.auditMind ? that.auditMind : "",
+										needReapply: false
+									}).then(res => {
+										// tmp++
+										// if (tmp == that.List.length) {
+											uni.hideLoading()
+											that.$api.msg('审核成功!')
+											setTimeout(function() {
+												uni.navigateBack();
+											}, 2000);
+										// }
+									})
+								// }
+							}
+						}
+					})
+				}
+			},
+			// audit(list, index, status, status2, reason) {
+			// 	uni.showLoading({
+			// 		title: "审核中"
+			// 	})
+			// 	if (this.List.length > 0) {
+			// 		if (status == true && list.status == "已驳回") {
+			// 			this.$api.doRequest('get', '/paymentManagement/api/openAuditFlow', {
+			// 				compId: "2710b21efc1e4393930c5dc800010dc4",
+			// 				id: list.id
+			// 			}).then(res => {
+			// 				if (res.data.code == 200) {
+			// 					this.audit(this.List[index + 1], index + 1, status, status2, reason)
+			// 				}
+			// 			})
+			// 		} else {
+			// 			for (var i = 0; i < this.List.length; i++) {
+			// 				this.$api.doRequest('post', '/workflow/api/handle', {
+			// 					taskId: this.List[i].taskId,
+			// 					approved: status,
+			// 					auditMind: this.auditMind ? this.auditMind : "",
+			// 					needReapply: status2 ? true : false
+			// 				}).then(res => {
+			// 					if (res.data.code == 200) {
+			// 						uni.hideLoading()
+			// 						// this.audit(this.List[index + 1], index + 1, status, status2, reason)
+			// 						this.$api.msg('通过成功')
+			// 					}else{
+			// 						uni.hideLoading()
+			// 						this.$api.msg('审核失败')
+			// 					}
+			// 				})
+			// 			}
+
+			// 		}
+			// 	} else {
+			// 		if (status == true) {
+			// 			this.$api.msg('通过成功')
+			// 		} else if (status == false) {
+			// 			this.$api.msg('驳回成功')
+			// 		}
+			// 		let that = this
+			// 		setTimeout(function() {
+
+			// 			if (that.everyCheck) {
+			// 				helper.setAudit(that.list)
+			// 			} else {
+			// 				uni.navigateBack()
+			// 			}
+			// 			uni.hideLoading()
+			// 		}, 1000);
+			// 	}
+			// },
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.warp {
+		margin: 10rpx;
+		padding: 20rpx 20rpx 240rpx 20rpx;
+	}
+
+	.content1 {
+		font-size: 28rpx;
+		color: #333333;
+		margin-top: 30rpx;
+		padding: 20rpx;
+		// .content-item {
+		border-radius: 20rpx;
+		background: white;
+		// 	padding: 40rpx 20rpx;
+		// 	margin-bottom: 30rpx;
+		// }
+
+		// .title {
+		// 	font-size: 32rpx;
+		// 	font-weight: 600;
+		// 	color: #333333;
+		// 	margin: 30rpx 0;
+		// }
+
+		// .goodsInfoCss {
+		// 	font-size: 28rpx;
+		// 	font-weight: 600;
+		// 	color: #878C9C;
+		// 	margin: 26rpx 10rpx;
+		// }
+
+		// .priceCss {
+		// 	font-size: 40rpx;
+		// 	margin: 26rpx 10rpx;
+		// 	color: #22C572;
+		// 	font-weight: 600;
+		// }
+		.row {
+			display: flex;
+			justify-content: space-between;
+			border-bottom: 1px solid #EEEEEE;
+			padding: 20rpx 0;
+
+			.right,
+			input {
+				font-size: 28rpx;
+				// color: #333333;
+			}
+		}
+
+		.img_css {
+			width: 50rpx;
+			height: 50rpx;
+		}
+
+		.file {
+			display: flex;
+			align-items: center;
+			margin: 30rpx 0 0 20rpx;
+
+			.text_css {
+				font-size: 30rpx;
+				margin-left: 20rpx;
+			}
+		}
+	}
+
+	.title {
+		font-size: 34rpx;
+		font-weight: 700;
+		// margin-bottom: 20rpx;
+		height: 70rpx;
+		border-bottom: 2rpx solid #EEEEEE;
+	}
+
+	.titlerow {
+		font-size: 34rpx;
+		font-weight: 700;
+		// margin-bottom: 20rpx;
+		// height: 70rpx;
+		// border-bottom: 2rpx solid #EEEEEE;
+	}
+
+	.content2 {
+		background: white;
+		margin: 20rpx 0;
+		border-radius: 20rpx;
+		padding: 20rpx;
+
+		.row {
+			display: flex;
+			justify-content: space-between;
+
+			.left {
+				display: flex;
+				align-items: center;
+
+				.item2 {
+					margin-left: 20rpx;
+
+					.name {
+						font-size: 32rpx;
+						font-weight: 800;
+					}
+
+					.status {
+						color: #6CC48C;
+					}
+				}
+			}
+
+			.right {
+				color: #B0B1B5;
+				margin-top: 10px;
+			}
+		}
+
+		.row-line {
+			width: 1px;
+			height: 30px;
+			background: #F2F2F2;
+			margin: 10rpx 50rpx;
+
+		}
+
+		.audit {
+			margin-top: 20rpx;
+		}
+	}
+
+	.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;
+		}
+	}
+
+	.row1 {
+		border-bottom: 0 !important;
+	}
+
+	.topInfo {
+		height: 210rpx;
+		background: linear-gradient(270deg, #22C572 0%, #34DE8A 100%);
+		padding: 30rpx;
+
+		.topInfo-item {
+			height: 150rpx;
+			background-color: #FFFFFF;
+			border-radius: 20rpx;
+			padding: 40rpx;
+
+			.logo {
+				width: 40rpx;
+				height: 40rpx;
+				margin-top: 8rpx;
+			}
+
+			.infoText {
+				font-size: 36rpx;
+				font-weight: 600;
+				margin-left: 20rpx;
+			}
+
+			.infoData {
+				color: #878C9C;
+				font-size: 26rpx;
+				margin-top: 10rpx;
+			}
+		}
+	}
+
+	.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;
+			}
+
+			.title {
+				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;
+		}
+	}
+
+	/deep/.u-input__textarea {
+		height: 300rpx !important;
+	}
+</style>