gjy 3 gadi atpakaļ
vecāks
revīzija
6ae324f666

+ 2 - 2
config/index.js

@@ -1,8 +1,8 @@
 const dev = {
 	baseUrl: 'https://www.zthymaoyi.com',
 	// baseUrlNew: 'http://192.168.1.119:9100/',
-	// baseUrlNew: 'http://192.168.1.117:8090/',
-	baseUrlNew: 'http://api1.eliangeyun.com/',
+	baseUrlNew: 'http://192.168.1.117:8090/',
+	// baseUrlNew: 'http://api1.eliangeyun.com/',
 	h5Appid: 'wxb66b599f7f61b46f',
 	debug: false
 }

+ 7 - 0
pages.json

@@ -182,6 +182,13 @@
 				"navigationBarTitleText": "代收合同审核"
 			}
 		},
+		{
+			"path": "pages/task/audit/daichu_details",
+			"style": {
+				"enablePullDownRefresh": true,
+				"navigationBarTitleText": "代储合同审核"
+			}
+		},
 		{
 			"path": "pages/task/audit/purchasecontract",
 			"style": {

+ 588 - 0
pages/task/audit/daichu_details.vue

@@ -0,0 +1,588 @@
+<template>
+	<view class="container">
+		<u-form ref="uForm">
+			<u-form-item label-width='260' label="合同编号">
+				<u-input v-model="list.contractNo" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="运输方式">
+				<u-input v-model="list.shippingType" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="买方">
+				<u-input v-model="list.buyer" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="买方电话">
+				<u-input v-model="list.buyerPhone" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="卖方">
+				<u-input v-model="list.seller" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="卖方电话">
+				<u-input v-model="list.sellerPhone" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="结算方式">
+				<u-input v-model="list.settlementMethod" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="交货方式">
+				<u-input v-model="list.deliverType1" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="包装方式">
+				<u-input v-model="list.packingMethod" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="验收方式">
+				<u-input v-model="list.acceptanceMethod" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="重量(吨)">
+				<u-input v-model="list.weight" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="交货日期(起)">
+				<u-input v-model="list.deliveryDateStart" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="溢短装(%)">
+				<u-input v-model="list.overShort" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="交货日期(止)">
+				<u-input v-model="list.deliveryDateEnd" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="货源地所在地区">
+				<view class="textCss">
+					{{list.sourceProvince}}{{list.sourceCity}}{{list.sourceArea}}
+				</view>
+			</u-form-item>
+			<u-form-item label-width='260' label="货源地详细地址">
+				<u-input v-model="list.sourceGoods" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="交货地所在地区">
+				<view class="textCss">
+					{{list.deliveryProvince}}{{list.deliveryCity}}{{list.deliveryArea}}
+				</view>
+			</u-form-item>
+			<u-form-item label-width='260' label="交货地详细地址">
+				<u-input v-model="list.placeDelivery" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="签订日期">
+				<u-input v-model="list.signingDate" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="代储费">
+				<view class="textCss">
+					{{list.storageFee}}
+				</view>
+			</u-form-item>
+			<u-form-item label-width='300' label="合同单价(元/吨)">
+				<u-input v-model="list.unitContractPrice" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='300' label="代储费起算重量">
+				<u-input v-model="list.storageFeeWeight" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='300' label="合同总价">
+				<u-input v-model="list.totalContractPrice" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='300' label="代储费起算日期">
+				<u-input v-model="list.storageFeeStartdate" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='300' label="代储费预计终止日期">
+				<u-input v-model="list.storageFeeEnddate" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='300' label="最终实际交易量(吨)">
+				<u-input v-model="list.finalTradingVolume" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="货名">
+				<u-input v-model="list.contractGoodsInfo.goodsName" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="水分(%)<=">
+				<u-input v-model="list.contractGoodsInfo.waterContent" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="品级">
+				<u-input v-model="list.contractGoodsInfo.grade" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="杂质(%)<=">
+				<u-input v-model="list.contractGoodsInfo.impurity" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="容重(克/升)>=">
+				<u-input v-model="list.contractGoodsInfo.bulkDensity" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="霉变粒(%)<=">
+				<u-input v-model="list.contractGoodsInfo.mildewGrain" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="热损伤(%)<=">
+				<u-input v-model="list.contractGoodsInfo.jiaorenli" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="不完善粒(%)<=">
+				<u-input v-model="list.contractGoodsInfo.imperfectGrain" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="合同收入(元)">
+				<u-input v-model="list.contractProcessInfo.goodsNameKey" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="已开发票(元)">
+				<u-input v-model="list.contractProcessInfo.goodsName" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="费用支出(元)">
+				<u-input v-model="list.contractProcessInfo.waterContent" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="未开发票(元)">
+				<u-input v-model="list.contractProcessInfo.impurity" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="未回款(元)">
+				<u-input v-model="list.contractProcessInfo.mildewGrain" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="双章原件回收情况">
+				<u-input v-model="list.contractProcessInfo.grade" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="备注信息">
+			</u-form-item>
+			<u-form-item>
+				<textarea class='textarea' v-model="list.remarks" input-align="right" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label-width='260' label="附件">
+				<!-- <view class="textCss">
+					<upload class="upload" ref="upload" :action="action" :max-size="maxSize" :max-count="1"
+						:file-list="imglist" :size-type="['compressed']" @on-success="getImgUrl" @on-error="onError"
+						@on-remove="onRemove" @on-uploaded="isAdd = true" :before-upload="filterFileType"
+						@on-progress="onProgress" :deletable="false" :showProgress = "false"></upload>
+				</view> -->
+				<view v-for='item in imglist'>
+					<view @click='shadeshow(item)'>
+						<image style='width: 200rpx;height: 200rpx;' :src="item" mode=""></image>
+					</view>
+				</view>
+			</u-form-item>
+		</u-form>
+		<view style='padding:10px;' class='flex bottom-btn'>
+			<u-button v-if='list.approveStatus||isSHowBtn' @click='reject' type="error" class="btn1" hover-class='none'>
+				驳回
+			</u-button>
+			<u-button v-if='list.approveStatus||isSHowBtn' @click='pass' type="success" class="btn2">通过</u-button>
+		</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>
+		<view @click='imgShow=false' v-if="imgShow" class="shade">
+			<image style='position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;' :src="url" mode=""></image>
+		</view>
+	</view>
+</template>
+
+<script>
+	import upload from '@/components/upload.vue';
+	import helper from '@/common/helper.js';
+	export default {
+		components: {
+			upload
+		},
+		data() {
+			return {
+				isSHowBtn: true,
+				id: "",
+				currentPage: 1,
+				pageSize: 10,
+				list: {
+					status: "",
+					contractGoodsInfo: {},
+					contractProcessInfo: {}
+				},
+				imglist: [],
+				auditMind: '',
+				show: false,
+				title: '',
+				contractNo: "",
+				action: this.$uploadUrl,
+				maxSize: 50 * 1024 * 1024, //限制文件大小 50M
+				isAdd: true,
+				imgShow: false,
+				url: "",
+				everyCheck: ''
+			}
+		},
+		onBackPress(e) {
+			if(this.everyCheck){
+			uni.navigateTo({
+				url: "/pages/task/my_task"
+			})
+			return true;
+			}
+		},
+		onLoad(options) {
+			this.id = options.id
+			this.getList()
+			this.everyCheck = uni.getStorageSync("everyTask")
+			this.isSHowBtn = options.isShowbtn
+
+		},
+		methods: {
+			shadeshow(url) {
+				this.imgShow = true
+				this.url = url
+			},
+			getList(id) {
+				var that = this
+				this.$api.doRequest('get', '/contractManagementInfo/getInfo', {
+					id: this.id
+				}).then(res => {
+					if (res.data.code == 200) {
+						this.list = res.data.data
+						if (this.list.deliverType == 1) {
+							this.list.deliverType1 = '我方自提'
+						} else if (this.list.deliverType == 2) {
+							this.list.deliverType1 = '对方送货'
+						}
+						this.$api.doRequest('get', '/appendix/query/getFileList', {
+							appendixIds: that.list.addressUrl
+						}).then(res1 => {
+							for (var i = 0; i < res1.data.data.length; i++) {
+								that.imglist.push(res1.data.data[i].appendixPath)
+							}
+						})
+					}
+				})
+			},
+			filterFileType(index, lists) {
+				if (lists[index].fileType != 'jpg' && lists[index].fileType != 'png' && lists[index].fileType != 'gif') {
+					lists.splice(index, 1);
+					// 当前文件不支持
+					uni.showModal({
+						title: '暂不支持当前图片类型',
+						showCancel: false
+					});
+				} else {
+					this.isAdd = false;
+				}
+			},
+			//驳回
+			rejectSubmit() {
+				uni.showLoading({
+					title: '加载中',
+					mask: true
+				});
+				var that = this
+				that.$api.doRequest('post', '/workflow/api/handle', {
+					taskId: that.list.taskId,
+					approved: false,
+					auditMind: this.auditMind,
+					needReapply: true,
+				}).then(res => {
+					that.$api.msg('驳回成功')
+					that.show = false
+					setTimeout(function() {
+						if (that.everyCheck) {
+							helper.setAudit(that.list)
+						} else {
+							uni.navigateBack()
+						}
+						uni.hideLoading()
+					}, 1000);
+				})
+			},
+			close() {
+				this.show = false
+			},
+			pass() {
+				this.show = true
+				this.title = '审核意见(通过)'
+			},
+			reject() {
+				this.show = true
+				this.title = '驳回原因(驳回)'
+			},
+			//通过
+			passSubmit() {
+				var that = this
+				if (this.title == '驳回原因(驳回)') {
+					this.rejectSubmit()
+				} else {
+					uni.showLoading({
+						title: '加载中',
+						mask: true
+					});
+					that.$api.doRequest('post', '/workflow/api/handle', {
+						taskId: that.list.taskId,
+						approved: true,
+						auditMind: this.auditMind,
+						needReapply: true,
+					}).then(res => {
+						that.$api.msg('通过成功')
+						that.show = false
+						setTimeout(function() {
+							if (that.everyCheck) {
+								helper.setAudit(that.list)
+							} else {
+								uni.navigateBack()
+							}
+							uni.hideLoading()
+						}, 1000);
+					})
+				}
+
+			},
+			//审核方法
+			audit(item, index, status, status2, reason) {
+
+				if (index < this.list.length) {
+					this.$api.doRequest('post', '/workflow/api/handle', {
+						taskId: item.taskId,
+						approved: status,
+						auditMind: reason != undefined ? '已驳回' : '34',
+						needReapply: status2 != undefined ? true : false,
+					}).then(res => {
+						this.audit(this.list[index + 1], index + 1, status)
+					})
+				} else {
+					if (status == true) {
+						that.$api.msg('通过成功')
+						this.getList()
+					} else if (status == false) {
+						that.$api.msg('驳回成功')
+						this.getList()
+					}
+				}
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.container {
+		padding: 20rpx 20rpx 250rpx 20rpx;
+	}
+
+	.u-form {
+		background: #fff;
+		border-radius: 10px;
+		padding: 0 10px;
+
+		.u-form-item {
+			line-height: 30px;
+			padding: 5px 0;
+		}
+	}
+
+	.content {
+		margin-top: 30rpx;
+
+		.top {
+			display: flex;
+			justify-content: space-between;
+		}
+
+		.content-item {
+			border-radius: 20rpx;
+			background: white;
+			padding: 40rpx 20rpx;
+			margin-bottom: 30rpx;
+		}
+
+		.title {
+			font-size: 32rpx;
+			font-weight: 600;
+			color: #333333;
+			text-align: left;
+			margin: 20rpx 0;
+		}
+
+		.car-container {
+			border-bottom: 2rpx solid #EEEEEE;
+		}
+
+		.car-type-item {
+			font-size: 28rpx;
+			margin: 20rpx 0;
+			color: #878C9C;
+		}
+
+		.weightInfoCss {
+			font-size: 28rpx;
+			color: #333333;
+			font-weight: 500;
+		}
+
+		.row {
+			display: flex;
+			justify-content: space-between;
+			// .right,
+			// input {
+			// 	font-size: 28rpx;
+			// 	// color: #333333;
+			// }
+		}
+
+		.money {
+			font-size: 32rpx;
+			font-weight: 500;
+			margin-bottom: 30rpx;
+		}
+
+		.moneyInfo {
+			color: #22C572;
+			font-size: 32rpx;
+		}
+	}
+
+	.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;
+		}
+	}
+
+	.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;
+	}
+
+	.textCss {
+		display: flex;
+		justify-content: flex-end;
+		width: 100%;
+		text-align: right;
+	}
+
+
+	.textarea {
+		margin: 20px auto;
+		width: 100%;
+		background: #F9F9FA;
+		border-radius: 10px;
+		border: 1px solid #EEEEEE;
+		font-size: 28rpx;
+		padding: 10px;
+	}
+/deep/.u-form-item--right__content__slot{
+	flex-wrap: wrap;
+}
+	.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;
+		}
+	}
+</style>

+ 3 - 1
pages/task/audit/daishou_details.vue

@@ -544,7 +544,9 @@
 		font-size: 28rpx;
 		padding: 10px;
 	}
-
+/deep/.u-form-item--right__content__slot{
+	flex-wrap: wrap;
+}
 	.u-textarea-style {
 		margin: 20rpx;
 		background: #F9F9FA;

+ 4 - 0
pages/task/my_task.vue

@@ -481,6 +481,10 @@
 					uni.navigateTo({
 						url: '/pages/task/audit/daishou_details?id=' + item.businessId + "&isShowbtn=true"
 					})
+				}else if (item.businessCode == 'DAICHU-CONTRACT-APPROVE') {
+					uni.navigateTo({
+						url: '/pages/task/audit/daichu_details?id=' + item.businessId + "&isShowbtn=true"
+					})
 				}else if (item.businessCode == 'BUY-CONTRACT-APPROVE') {
 					uni.navigateTo({
 						url: '/pages/task/audit/purchasecontract?id=' + item.businessId + "&isShowbtn=true"