浏览代码

Merge branch 'master' of http://git.zthymaoyi.com/gdc/yiliangyiyun-app

gjy 3 年之前
父节点
当前提交
97e034454e

+ 94 - 28
pageA/product/Identity_switching.vue

@@ -1,27 +1,37 @@
 <template>
+	
 	<view class="center">
 		<view v-for="(item , index) in lists" :Key="index">
-			<view>
-				<view class="company">{{item.customerType}}</view>
-				<view class="guess-item" @click="navToDetailPage(item)">
+			<view class="forList">
+				<view class="flex">
+					<view class="company" v-if="item.customerType == '企业'">{{item.customerType}}</view>
+					<view class="company1" v-if="item.customerType == '个人'">{{item.customerType}}</view>
+					<view class="guess-item" @click="navToDetailPage(item)">
+				</view>
+				
 					<view class="infos">
-
-						<view class="info">{{item.customerName}}
-							<view class='cu-tag radius line-pink but'>{{item.authenticationStatus}}</view>
+	
+						<view class="info1">{{item.customerName}}
+							<view class='but but1' v-if="item.authenticationStatus == '已认证'">{{item.authenticationStatus}}</view>
+							<view class='but but2' v-if="item.authenticationStatus == '审核中'">{{item.authenticationStatus}}</view>
+							<view class='but but3' v-if="item.authenticationStatus == '未通过'">{{item.authenticationStatus}}</view>
+							<view class='but but4' v-if="item.authenticationStatus == '已覆盖'">{{item.authenticationStatus}}</view>
 						</view>
-						<view class="info">{{item.customerPhone}}</view>
-						<label>
-							<checkbox style='transform: scale(0.8);' :value='item.id' :checked="item.checked" @click.stop="checkBox($event,item)" ></checkbox>
-							<text>设置默认</text>
-						</label>
+						<view class="info2">{{item.customerPhone}}</view>
+					
 						
 					</view>
-
+	
 				</view>
+					<hr style="margin: 10px 0px;">
+				<label>
+					<checkbox style='transform: scale(0.8);' :value='item.id' :checked="item.checked" @click.stop="checkBox($event,item)" ></checkbox>
+					<text>设置默认</text>
+				</label>
 			</view>
 		</view>
 	</view>
-
+	
 	</view>
 	</view>
 </template>
@@ -176,22 +186,78 @@
 	}
 
 	.company {
+		width: 35px;
+		height: 35px;
+		background-color: #E9F8F0;
 		font-size: 16px;
 		margin-top: 10px;
+		border-radius: 5px;
+		text-align: center;
+		line-height: 35px;
+		color: #22C572;
+		font-size: 12px;
+		
 	}
-
-	.infos {
-		/* margin: 10px 20px; */
-		width: 100%;
-		display: inline-table;
-	}
-
-	.info {
-		line-height: 20px;
-	}
-
-	.but {
-		right: 3px;
-		float: right;
-	}
+	.company1{
+			width: 35px;
+			height: 35px;
+			background-color: #FEECE6;
+			font-size: 16px;
+			margin-top: 10px;
+			border-radius: 5px;
+			text-align: center;
+			line-height: 35px;
+			color:#FE6430;
+			font-size: 12px;
+		}
+	
+		.infos {
+			/* margin: 10px 20px; */
+			width: 100%;
+			display: inline-table;
+		}
+	
+		.info {
+			line-height: 20px;
+		}
+	
+		.but {
+			margin-right: 30px;
+			float: right;
+			font-size: 14px;
+			
+			background-color: #FFFFFF;
+		}
+		.but1{
+			color: #22C572 ;
+		}
+		.but2{
+			color:#FE6430;
+		}
+		.but3{
+			color:#FB1E1E;
+		}
+		.but4{
+			color:#AFB3BF;
+		}
+		.forList{
+			background-color: #FFFFFF;
+			padding: 10px 10px;
+			border-radius: 10px;
+			margin-top: 10px;
+		}
+	/* 	.guess-item{
+			font-size: 18px;
+			margin-left: 20px;
+			font-weight: 700;
+		} */
+		.info1{
+			font-size: 18px;
+			margin-left: 20px;
+			font-weight: 700;
+		}
+		.info2{
+			margin-left: 20px;
+			color: #AFB3BF;
+		}
 </style>

+ 105 - 28
pageA/product/business_buy.vue

@@ -1,91 +1,131 @@
 <template>
-	<view class="container">
-		<view  class="cu-form-group">
+	<view class="center">
+		<view class="transaction">
+			
+		
+		<view  class="c-row b-b">
 			<view class="title">卖方</view>
-			<view v-if='goods.customerTypeFlag==1' class="title" @click="liang">{{purchaseOrder.customer?purchaseOrder.customer:goods.customerName}}></view>
-			<view v-if='goods.customerTypeFlag==2' class="title" @click="liang">{{purchaseOrder.compName?purchaseOrder.compName:goods.compName}}></view>
+			<view class="con-list">
+				<view v-if='goods.customerTypeFlag==1' class="title" @click="liang">{{purchaseOrder.customer?purchaseOrder.customer:goods.customerName}}></view>
+				<view v-if='goods.customerTypeFlag==2' class="title" @click="liang">{{purchaseOrder.compName?purchaseOrder.compName:goods.compName}}></view>
+			</view>
 		</view>
-		<view  class="cu-form-group">
+		<view  class="c-row">
 			<view class="title">买方</view>
+			<view class="con-list">
 			<view class="title">{{purchaseOrder.buyer}}</view>
+			</view>
 		</view>
-		<view   class="cu-form-group margin-top">
+		</view>
+		<view class="transaction">
+		<view   class="c-row b-b margin-top">
 			<view class="title">收货地区</view>
+			<view class="con-list">
 				<view class="title">{{purchaseOrder.receivePrivate}}{{purchaseOrder.receiveCity}}{{purchaseOrder.receiveArea}}</view>
-			</picker>
+			</view>
 		</view>
-		<view   class="cu-form-group ">
+		<view   class="c-row b-b ">
 			<view class="title">收货库</view>
+			<view class="con-list">
 				<view class="title">{{purchaseOrder.receivePrivate}}{{purchaseOrder.receiveCity}}{{purchaseOrder.receiveArea}}{{purchaseOrder.receiveWarehouse}}</view>
-			</picker>
+			</view>
 		</view>
-		<view v-if='companyId!=2' class="cu-form-group">
+		<view v-if='companyId!=2' class="c-row b-b">
 			<view class="title">货名</view>
+			<view class="con-list">
 			<text>{{purchaseOrder.goodsName}}</text>
+			</view>
 		</view>
-		<view class="cu-form-group">
+		<view class="c-row b-b">
 			<view class="title">最小成交量(吨)</view>
+			<view class="con-list">
 			<text>{{purchaseOrder.minimumVolume}}</text>
+			</view>
 		</view>
-		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="cu-form-group">
+		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="c-row">
 			<view  class="title">今日基差(元/吨)</view>
+			<view class="con-list">
 				<view class="picker">
 					<text>{{purchaseOrder.basis}}</text>
 				</view>
+				</view>
 		</view>
-		<view v-else class="cu-form-group">
+	
+		<view v-else class="c-row ">
 			<view   class="title">采购单价(元/吨)</view>
+			<view class="con-list">
 				<view class="picker">
 					<text>{{purchaseOrder.unitPrice}}</text>
 				</view>
+				</view>
 		</view>
-		<view class="cu-form-group margin-top">
+			</view >
+				<view class="transaction">
+		<view class="c-row b-b margin-top">
 			<view class="title">发票类型</view>
+			<view class="con-list">
 			<picker @change="invoiceChange" :value="invoiceIndex" :range="invoiceType">
 				<view class="picker">
 					{{packingIndex>-1?invoiceType[packingIndex]:'请选择'}}
 				</view>
 			</picker>
+			</view>
 		</view>
-		<view  class="cu-form-group">
+		<view  class="c-row b-b">
 			<view class="title">出售数量(吨)</view>
+			<view class="con-list">
 			<input v-model='purchaseOrder.transactionsNumber' placeholder="请填写出售数量" name="input"></input>
+			</view>
 		</view>
-		<view  class="cu-form-group">
+		<view  class="c-row b-b">
 			<view class="title">包装方式</view>
+			<view class="con-list">
 			<picker @change="packingChange" :value="packingIndex" :range="packingType">
 				<view class="picker">
 					{{packingIndex>-1?packingType[packingIndex]:'请选择'}}
 				</view>
 			</picker>
+			</view>
 		</view>
-		<view v-if='packingIndex==0' class="cu-form-group align-start">
+		<view v-if='packingIndex==0' class="beizhu align-start">
 			<view class="title">袋装备注</view>
-			<textarea maxlength="-1" v-model='purchaseOrder.baggingNotes' placeholder="请填写包装规格、质量、包装物要求。例:50kg袋装、大粒、彩包" ></textarea>
+			<view >
+			<textarea maxlength="-1" v-model='purchaseOrder.baggingNotes' placeholder="请填写包装规格、质量、包装物要求。例:50kg袋装、大粒、彩包" class="textareas"></textarea>
+			</view>
 		</view>
-		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="cu-form-group align-start">
+		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="c-row b-b align-start">
 			<view class="title">点价(元/吨)</view>
+			<view class="con-list">
 			<input placeholder="请填写点价" name="input" @input='someprice' v-model="purchaseOrder.pointPrice"></input>
+			</view>
 		</view>
-		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="cu-form-group align-start">
+		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="c-row b-b align-start">
 			<view class="title">发票费用(元/吨)</view>
+			<view class="con-list">
 			<input disabled placeholder="请填写发票费用" name="input" @input='someprice' v-model="purchaseOrder.invoiceFee"></input>
+			</view>
 		</view>
-		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="cu-form-group align-start">
+		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="c-row b-b align-start">
 			<view class="title">包装费(元/吨)</view>
+			<view class="con-list">
 		<input placeholder="请填写包装费" name="input" @input='someprice' v-model="purchaseOrder.packingFee"></input>
 		</view>
-		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="cu-form-group align-start">
-			<view class="title">结算价格</view>
-			<text>{{purchaseOrder.settlementPrice}}</text>
+		</view>
+		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class=" align-start ">
+			<view class="titles">结算价格</view>
+			<text class="textA">结算价格=点价+基差+发票费用+包装费</text>
+			<view class="con-list">
+			<text >{{purchaseOrder.settlementPrice}}</text>
+			</view>
 			<!-- <input placeholder="请填写 例:袋装XX斤/散装" name="input" @input='packingInput' v-model="purchaseOrder.settlementPrice"></input> -->
 		</view>
-		<view style='background:#fff;'>
+		<!-- <view style='background:#fff;'>
 			结算价格=点价+基差+发票费用+包装费
+		</view> -->
 		</view>
-		<view class="padding flex flex-direction">
-			<button class="cu-btn bg-red margin-tb-sm lg" @click="commit()">提交</button>
-		</view>
+	
+			<button class="btn" @click="commit()">提交</button>
+	
 	</view>
 </template>
 
@@ -376,6 +416,10 @@
 </script>
 
 <style scoped>
+	.center {
+		padding: 10px 20px;
+		background-color: #F5F6FA;
+	}
 	.cu-form-group input {
 		text-align: right;
 	}
@@ -411,4 +455,37 @@
 	    text-align: right;
 	    padding-right: 20rpx;
 	}
+	.transaction{
+		background-color: #FFFFFF;
+		margin-top: 10px;
+		border-radius: 20px;
+	}
+	.btn{
+		width: 100%;
+		background-color: #22C572;
+		border-radius: 20px;
+		margin-top: 10px;
+	}
+	.textareas{
+		width: 260px;
+		height: 130px;
+		background-color: #F9F9FA;
+		margin: 10px;
+		padding: 10px 20px;
+		border-radius: 10px;
+	}
+	.beizhu{
+		margin-left: 20px;
+		/* margin: 10px; */
+		margin-top: 10px;
+	}
+	.titles{
+		margin-left: 20px;
+		margin-top: 10px;
+	}
+	.textA{
+		margin-left: 20px;
+		color: #AFB3BF;
+		font-size: 10px;
+	}
 </style>

+ 491 - 0
pageA/product/business_sale.vue

@@ -0,0 +1,491 @@
+<template>
+	<view class="center">
+		<view class="transaction">
+			
+		
+		<view  class="c-row b-b">
+			<view class="title">卖方</view>
+			<view class="con-list">
+				<view v-if='goods.customerTypeFlag==1' class="title" @click="liang">{{purchaseOrder.customer?purchaseOrder.customer:goods.customerName}}></view>
+				<view v-if='goods.customerTypeFlag==2' class="title" @click="liang">{{purchaseOrder.compName?purchaseOrder.compName:goods.compName}}></view>
+			</view>
+		</view>
+		<view  class="c-row">
+			<view class="title">买方</view>
+			<view class="con-list">
+			<view class="title">{{purchaseOrder.buyer}}</view>
+			</view>
+		</view>
+		</view>
+		<view class="transaction">
+		<view   class="c-row b-b margin-top">
+			<view class="title">收货地区</view>
+			<view class="con-list">
+				<view class="title">{{purchaseOrder.receivePrivate}}{{purchaseOrder.receiveCity}}{{purchaseOrder.receiveArea}}</view>
+			</view>
+		</view>
+		<view   class="c-row b-b ">
+			<view class="title">收货库</view>
+			<view class="con-list">
+				<view class="title">{{purchaseOrder.receivePrivate}}{{purchaseOrder.receiveCity}}{{purchaseOrder.receiveArea}}{{purchaseOrder.receiveWarehouse}}</view>
+			</view>
+		</view>
+		<view v-if='companyId!=2' class="c-row b-b">
+			<view class="title">货名</view>
+			<view class="con-list">
+			<text>{{purchaseOrder.goodsName}}</text>
+			</view>
+		</view>
+		<view class="c-row b-b">
+			<view class="title">最小成交量(吨)</view>
+			<view class="con-list">
+			<text>{{purchaseOrder.minimumVolume}}</text>
+			</view>
+		</view>
+		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="c-row">
+			<view  class="title">今日基差(元/吨)</view>
+			<view class="con-list">
+				<view class="picker">
+					<text>{{purchaseOrder.basis}}</text>
+				</view>
+				</view>
+		</view>
+	
+		<view v-else class="c-row ">
+			<view   class="title">采购单价(元/吨)</view>
+			<view class="con-list">
+				<view class="picker">
+					<text>{{purchaseOrder.unitPrice}}</text>
+				</view>
+				</view>
+		</view>
+			</view >
+				<view class="transaction">
+		<view class="c-row b-b margin-top">
+			<view class="title">发票类型</view>
+			<view class="con-list">
+			<picker @change="invoiceChange" :value="invoiceIndex" :range="invoiceType">
+				<view class="picker">
+					{{packingIndex>-1?invoiceType[packingIndex]:'请选择'}}
+				</view>
+			</picker>
+			</view>
+		</view>
+		<view  class="c-row b-b">
+			<view class="title">出售数量(吨)</view>
+			<view class="con-list">
+			<input v-model='purchaseOrder.transactionsNumber' placeholder="请填写出售数量" name="input"></input>
+			</view>
+		</view>
+		<view  class="c-row b-b">
+			<view class="title">包装方式</view>
+			<view class="con-list">
+			<picker @change="packingChange" :value="packingIndex" :range="packingType">
+				<view class="picker">
+					{{packingIndex>-1?packingType[packingIndex]:'请选择'}}
+				</view>
+			</picker>
+			</view>
+		</view>
+		<view v-if='packingIndex==0' class="beizhu align-start">
+			<view class="title">袋装备注</view>
+			<view >
+			<textarea maxlength="-1" v-model='purchaseOrder.baggingNotes' placeholder="请填写包装规格、质量、包装物要求。例:50kg袋装、大粒、彩包" class="textareas"></textarea>
+			</view>
+		</view>
+		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="c-row b-b align-start">
+			<view class="title">点价(元/吨)</view>
+			<view class="con-list">
+			<input placeholder="请填写点价" name="input" @input='someprice' v-model="purchaseOrder.pointPrice"></input>
+			</view>
+		</view>
+		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="c-row b-b align-start">
+			<view class="title">发票费用(元/吨)</view>
+			<view class="con-list">
+			<input disabled placeholder="请填写发票费用" name="input" @input='someprice' v-model="purchaseOrder.invoiceFee"></input>
+			</view>
+		</view>
+		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="c-row b-b align-start">
+			<view class="title">包装费(元/吨)</view>
+			<view class="con-list">
+		<input placeholder="请填写包装费" name="input" @input='someprice' v-model="purchaseOrder.packingFee"></input>
+		</view>
+		</view>
+		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class=" align-start ">
+			<view class="titles">结算价格</view>
+			<text class="textA">结算价格=点价+基差+发票费用+包装费</text>
+			<view class="con-list">
+			<text >{{purchaseOrder.settlementPrice}}</text>
+			</view>
+			<!-- <input placeholder="请填写 例:袋装XX斤/散装" name="input" @input='packingInput' v-model="purchaseOrder.settlementPrice"></input> -->
+		</view>
+		<!-- <view style='background:#fff;'>
+			结算价格=点价+基差+发票费用+包装费
+		</view> -->
+		</view>
+	
+			<button class="btn" @click="commit()">提交</button>
+	
+	</view>
+</template>
+
+<script>
+	import {
+	    mapState 
+	} from 'vuex';
+	export default {
+			data() {
+				return {
+					tradeInfo:{
+						salebuyId:0,
+						packing:'',
+						memo:'',
+						buyer:'',
+						buyerPhone:'',
+						unitPrice:0,
+						address:'',
+						count:0,
+						province:'',
+						area:'',
+						priceType:'',
+						invoiceType:'',
+						acceptType:'',
+						seller:'',
+						sellerPhone:'',
+						packingMoney:0,
+						type:0,
+						modalName:"",
+					},
+					purchaseOrder: {
+						invoiceFee:0,
+						packingFee:0,
+						packingType:"散装",
+						packingTypeKey:1,
+						type:'不开发票',
+						typeKey:1
+					},
+					invoiceTypeIndex:0,
+					invoiceTypeIndex1:0,
+					acceptTypeIndex:0,
+					priceTypeIndex:0,
+					bankNameIndex:0,
+					packingIndex:0,
+					invoiceIndex:0,
+					packingType: ['散袋(默认)','大袋','小袋'],
+					// invoiceType: ['不开发票', '普通发票', '增值税发票'],
+					invoiceType: ['不开发票','增值税发票'],
+					acceptType: ['第三方检验(国家检验资质)', '交收地库或港出具的检验', '现场看货','其他'],
+					priceType: ['库内价', '到库价', '到港价'],
+					priceTypeIndex1:'库内价',
+					region: [],
+					salebuyId:0,
+					memo:'',
+					buyer:'',
+					buyerPhone:'',
+					unitPrice:0,
+					address:'',
+					count:0,
+					id:0,
+					price:'库内价',
+					invoice:'不开发票',
+					accept:'',
+					seller:'',
+					sellerPhone:'',
+					minSale:'',
+					province:'',
+					city:'',
+					area:'',
+					storeName:'',
+					exsitCount:0,
+					isFutures:'',
+					bankNameList:'',
+					Company:[],
+					goods:{},
+					companyId:'',
+					tradeCompanyId:'',
+					basis:0,
+					basisBig:0,
+					basisSmall:0,
+					invoiceMoney:0,
+					unloadingFee:0,
+					packingMoney:0,
+					packing:'散装'
+				};
+			},
+			onLoad(options) {
+				console.log(options)
+				this.id=options.id
+				this.purchaseOrder.planId=options.id
+				this.purchaseOrder.seller = options.seller
+				this.purchaseOrder.goodsName = options.goodsName
+				this.purchaseOrder.receivePrivate = options.receivePrivate
+				this.purchaseOrder.receiveCity = options.receiveCity
+				this.purchaseOrder.receiveArea = options.receiveArea
+				this.purchaseOrder.minimumVolume = options.minimumVolume
+				this.purchaseOrder.buyer = options.buyer
+				this.purchaseOrder.customer = options.customerName
+				this.purchaseOrder.basis = options.basisPrice
+				this.purchaseOrder.unitPrice = options.unitPrice
+				this.purchaseOrder.receiveWarehouse = options.receiveWarehouse
+				this.purchaseOrder.settlementPrice = options.basisPrice
+				this.purchaseOrder.procurementPlanType = options.procurementPlanType
+				this.purchaseOrder.procurementPlan=options.procurementPlan
+			},
+			computed: {
+				...mapState(['hasLogin','userInfo']),
+			},
+			onShow() {
+				this.$api.doRequest('get', '/identityAuthenticationInfo/getInfo',{commonId:this.userInfo.id}).then(res => {
+					if(res.data.code==200){
+						this.goods=res.data.data
+						if(this.goods.customerTypeFlag==1){
+							this.purchaseOrder.invoiceFee=-20
+							this.purchaseOrder.settlementPrice = Number(this.purchaseOrder.basis)+Number(this.purchaseOrder.invoiceFee)
+						}else{
+							this.purchaseOrder.invoiceFee=0
+							this.purchaseOrder.settlementPrice = Number(this.purchaseOrder.basis)+Number(this.purchaseOrder.invoiceFee)
+						}
+					}
+					uni.hideLoading()
+				})
+			},
+			methods: {
+				liang(){
+					uni.navigateTo({
+						url: `/pageA/product/Identity_switching?goodsName=${this.purchaseOrder.goodsName}
+						&receivePrivate=${this.purchaseOrder.receivePrivate}&receiveCity=${this.purchaseOrder.receiveCity}
+						&receiveArea=${this.purchaseOrder.receiveArea}&minimumVolume=${this.purchaseOrder.minimumVolume}
+						&buyer=${this.purchaseOrder.buyer}&basisPrice=${this.purchaseOrder.basis}&unitPrice=${this.purchaseOrder.unitPrice}
+						&receiveWarehouse=${this.purchaseOrder.receiveWarehouse}&procurementPlanType=${this.purchaseOrder.procurementPlanType}
+						&procurementPlanNo=${this.purchaseOrder.procurementPlan}`
+					})
+				},
+				commit(){
+					if(!this.purchaseOrder.transactionsNumber){
+						this.$api.msg('出售价格不能为空')
+						return
+					}
+					if(this.purchaseOrder.transactionsNumber>10000||this.purchaseOrder.transactionsNumber<1){
+						this.$api.msg('出售数量输入错误')
+						return
+					}
+					if(!this.purchaseOrder.pointPrice){
+						this.$api.msg('点价不能为空')
+						return
+					}
+					if(this.purchaseOrder.pointPrice>10000){
+						this.$api.msg('点价输入错误')
+						return
+					}
+					if(this.purchaseOrder.pointPrice.indexOf('.')!=-1){
+						if(this.purchaseOrder.pointPrice.split(".")[1].length>2){
+							this.$api.msg('点价输入错误')
+							return
+						}
+					}
+					if(this.purchaseOrder.packingFee>0||this.purchaseOrder.packingFee<-2000){
+						this.$api.msg('包装费输入错误')
+						return
+					}
+					if(!this.purchaseOrder.customer){
+						if(this.goods.customerTypeFlag==1){
+							this.purchaseOrder.customer=this.goods.customerName
+						}else{
+							this.purchaseOrder.customer=this.goods.compName
+						}
+					}
+					if(!this.purchaseOrder.seller){
+						if(this.goods.customerTypeFlag==1){
+							this.purchaseOrder.seller=this.goods.customerName
+							this.purchaseOrder.sellerPhone=this.goods.customerPhone
+						}else{
+							this.purchaseOrder.seller=this.goods.compName
+							this.purchaseOrder.sellerPhone=this.goods.customerPhone
+						}
+					}
+					var that=this
+					this.purchaseOrder.pcFlag=0
+					uni.showModal({
+						content: '订单提交后将发送给买方,是否确定提交?',
+						success: function (res) {
+							if (res.confirm) {
+								that.$api.doRequest('post','/purchaseOrder/api/insertPurchaseOrder', that.purchaseOrder).then(res => {
+									if(res.data.code==200){
+										uni.showToast({
+											title: '提交成功,等待买方回复',
+											icon: 'none',
+											duration: 2000
+										})
+										// uni.navigateBack();
+									}else{
+										uni.showToast({
+											title: '提交失败:'+res.data.message,
+											icon: 'none',
+											duration: 2000
+										})
+									}
+								}).catch(res => {
+									uni.showToast({
+										title: res.data.message,
+										icon: 'none',
+										duration: 2000
+									})
+								})
+							}
+						}
+					})
+				},
+				someprice(e){
+					if(this.purchaseOrder.pointPrice&&this.purchaseOrder.invoiceFee&&this.purchaseOrder.packingFee){
+						this.purchaseOrder.settlementPrice=Number(this.purchaseOrder.basis)+Number(this.purchaseOrder.pointPrice)+Number(this.purchaseOrder.invoiceFee)+Number(-this.purchaseOrder.packingFee)
+					}else if(this.purchaseOrder.pointPrice&&this.purchaseOrder.invoiceFee){
+						this.purchaseOrder.settlementPrice=Number(this.purchaseOrder.basis)+Number(this.purchaseOrder.pointPrice)+Number(this.purchaseOrder.invoiceFee)
+					}else if(this.purchaseOrder.pointPrice&&this.purchaseOrder.packingFee){
+						this.purchaseOrder.settlementPrice=Number(this.purchaseOrder.basis)+Number(this.purchaseOrder.pointPrice)+Number(-this.purchaseOrder.packingFee)
+					}else if(this.purchaseOrder.pointPrice){
+						this.purchaseOrder.settlementPrice=Number(this.purchaseOrder.basis)+Number(this.purchaseOrder.pointPrice)
+					}else if(this.purchaseOrder.packingFee){
+						this.purchaseOrder.settlementPrice=Number(this.purchaseOrder.basis)+Number(-this.purchaseOrder.packingFee)
+					}else if(this.purchaseOrder.invoiceFee){
+						this.purchaseOrder.settlementPrice=Number(this.purchaseOrder.basis)+Number(this.purchaseOrder.invoiceFee)
+					}else{
+						this.purchaseOrder.settlementPrice=this.purchaseOrder.basis
+					}
+				},
+				bankNameChange(e){
+					this.bankNameIndex=e.detail.value
+					this.buyer =this.Company[e.detail.value].companyName
+					this.buyerPhone=this.Company[e.detail.value].companyPhone
+					this.tradeCompanyId=this.Company[e.detail.value].id
+				},
+				AcceptTypeChange(e) {
+					this.acceptTypeIndex = e.detail.value
+					this.accept = this.acceptType[this.acceptTypeIndex];
+				},
+				packingChange(e){
+					this.packingIndex = e.detail.value
+					this.purchaseOrder.packingTypeKey=e.detail.value+1
+					this.purchaseOrder.packingType = this.packingType[this.packingIndex];
+				},
+				invoiceChange(e){
+					this.invoiceIndex = e.detail.value
+					this.purchaseOrder.typeKey=e.detail.value+1
+					this.purchaseOrder.type = this.invoiceType[this.invoiceIndex];
+					if(this.invoiceIndex == 0){
+						if(this.goods.customerTypeFlag==1){
+							this.purchaseOrder.invoiceFee=-20
+						}else{
+							this.purchaseOrder.invoiceFee=0
+						}
+					}
+				},
+				changeZhihang(){
+					uni.navigateTo({
+						url: '/pageA/pages/newcompany'
+					})
+				},
+				PriceTypeChange(e) {
+					this.priceTypeIndex = e.detail.value
+					this.price = this.priceType[this.priceTypeIndex]
+				},
+				RegionChange(e) {
+					this.region = e.detail.value
+					this.province = this.region[0];
+					this.area = this.region[0]+this.region[1]+this.region[2];
+				},
+				textareaInput(e) {
+					this.memo = e.detail.value
+				},
+				buyerInput(e){
+					this.buyer = e.detail.value
+				},
+				buyerPhoneInput(e){
+					this.buyerPhone = e.detail.value
+				},
+				unitPriceInput(e){
+					this.unitPrice = e.detail.value
+				},
+				addressInput(e){
+					this.address = e.detail.value
+				},
+				countInput(e){
+					this.count = e.detail.value
+				},
+			}
+		}
+</script>
+
+<style scoped>
+	.center {
+		padding: 10px 20px;
+		background-color: #F5F6FA;
+	}
+	.cu-form-group input {
+		text-align: right;
+	}
+	.cu-form-group textarea {
+		text-align: right;
+	}
+	.margin-bottom{
+		margin-bottom:30px;
+	}
+	.c-row {
+	    display: -webkit-box;
+	    display: -webkit-flex;
+	    display: flex;
+	    -webkit-box-align: center;
+	    -webkit-align-items: center;
+	    align-items: center;
+	    padding: 20rpx 30rpx;
+	    position: relative;
+	}
+	.con-list {
+	    -webkit-box-flex: 1;
+	    -webkit-flex: 1;
+	    flex: 1;
+	    display: -webkit-box;
+	    display: -webkit-flex;
+	    display: flex;
+	    -webkit-box-orient: vertical;
+	    -webkit-box-direction: normal;
+	    -webkit-flex-direction: column;
+	    flex-direction: column;
+	    color: #303133;
+	    line-height: 40rpx;
+	    text-align: right;
+	    padding-right: 20rpx;
+	}
+	.transaction{
+		background-color: #FFFFFF;
+		margin-top: 10px;
+		border-radius: 20px;
+	}
+	.btn{
+		width: 100%;
+		background-color: #22C572;
+		border-radius: 20px;
+		margin-top: 10px;
+	}
+	.textareas{
+		width: 260px;
+		height: 130px;
+		background-color: #F9F9FA;
+		margin: 10px;
+		padding: 10px 20px;
+		border-radius: 10px;
+	}
+	.beizhu{
+		margin-left: 20px;
+		/* margin: 10px; */
+		margin-top: 10px;
+	}
+	.titles{
+		margin-left: 20px;
+		margin-top: 10px;
+	}
+	.textA{
+		margin-left: 20px;
+		color: #AFB3BF;
+		font-size: 10px;
+	}
+</style>

+ 1 - 9
pageA/product/detail.vue

@@ -1,4 +1,5 @@
 <template>
+	<!--采购详情-->
 	<view class="container">
 		<view class="back-btn cuIcon-back" @click="navBack"></view>
 		<view class='title1'>采购详情</view>
@@ -18,15 +19,6 @@
 				<view style='text-align:right;' v-if='goods.procurementPlanType=="现货"'>采购价格</view>
 				<view style='text-align:right;' v-if='goods.procurementPlanType=="期货"'>今日基差</view>
 			</view>
-			<!-- <view class="bot-row">
-				<view v-if='goods.companyId==2' class='cu-tag radius line-orange'>佳屹农</view>
-				<view v-else class='cu-tag radius line-orange'>易粮易运</view>
-				<view v-if='goods.sellerPhone && goods.companyId!=2' class='cu-tag radius line-orange' >{{goods.sellerPhone}}</view>
-			</view>
-			<view v-if='goods.companyId!=2' class="bot-row">
-				<view class='cu-tag radius line-orange'>剩余量: {{goods.total - goods.soldCount}}吨</view>
-				<view class='cu-tag radius line-orange'>总量: {{goods.total}}吨</view>
-			</view> -->
 		</view>
 		<view v-if="goods.storeImg" class="carousel-section">
 			<swiper autoplay="true" interval="3000" duration="500" class="carousel" circular @change="swiperChange">

+ 3 - 1
pageA/product/lookup.vue

@@ -109,6 +109,8 @@
 				forbid: '',
 				isShowKeywordList: false,
 				TabCur:0,
+				isLoadMore:false,
+				loadStatus:'',
 			}
 		},
 		onLoad(options) {
@@ -116,7 +118,7 @@
 			this.TabCur = options.TabCur
 			this.init();
 			if(this.searchKeyWord){
-				this.isShowKeywordList=truetrue
+				this.isShowKeywordList=true
 				this.getData()
 			}
 		},

+ 564 - 0
pageA/product/sale_trade.vue

@@ -0,0 +1,564 @@
+<template>
+	
+	<view class="container">
+		<view class="detail-desc">
+			<view class="c-list">
+				<view class="c-row b-b">
+					<text class="tit">卖方</text>
+					<view class="con-list">
+						<view v-if='goods.customerTypeFlag==1' class="title">{{goods.customerName}}</view>
+						<view v-if='goods.customerTypeFlag==2' class="title">{{goods.compName}}</view>
+					</view>
+				</view>
+				<view class="c-row">
+					<text class="tit">买方</text>
+					<view class="con-list">
+						<view class="title">{{seller}}</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="detail-desc">
+			<view class="c-list">
+				<view class="c-row b-b">
+					<text class="tit">收货地区</text>
+					<view class="con-list">
+						<view  class="title">{{receivePrivate}}{{receiveCity}}{{receiveArea}}</view>
+					</view>
+				</view>
+				<view v-if='pcFlag==1' class="c-row  b-b">
+					<text class="tit">收货库</text>
+					<view class="con-list">
+						<view class="title">{{receiveWarehouse}}</view>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<text class="tit">货名</text>
+					<view class="con-list">
+						<view class="title">{{goodsName}}</view>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<text class="tit">最小成交量(吨)</text>
+					<view class="con-list">
+						<view class="title">{{minimumVolume}}</view>
+					</view>
+				</view>
+				<view class="c-row">
+					<text class="tit">今日基差(元/吨)</text>
+					<view class="con-list">
+						<view class="title">{{basisPrice}}</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="detail-desc">
+			<view class="c-list">
+				<view class="c-row  b-b">
+					<text class="tit">发票类型</text>
+					<picker style="text-align:right;" @change="InvoiceTypeChange1" :value="invoiceTypeIndex1" :range="invoiceType1">
+						<view class="picker">
+							{{invoiceTypeIndex1>-1?invoiceType1[invoiceTypeIndex1]:'请选择'}}
+						</view>
+					</picker>
+				</view>
+				<view class="c-row b-b">
+					<text class="tit">出售数量(吨)<text style='color:#FC3535;'>*</text></text>
+					<view class="con-list">
+						<input v-model='list.transactionsNumber' type="digit">
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<text class="tit">发票类型</text>
+					<picker style="text-align:right;" @change="packingChange" :value="packingIndex" :range="packingType">
+						<view class="picker">
+							{{packingIndex>-1?packingType[packingIndex]:'请选择'}}
+						</view>
+					</picker>
+				</view>
+				<view class='b-b' style='padding:10px 15px;'>
+					<text class="tit">袋装备注</text>
+					<view style='position:relative;' class='con-list'>
+						<textarea maxlength='30' v-model='list.baggingNotes' placeholder="请输入袋装备注,如王中王彩袋,49公斤,大粒" class='textarea' name="" id=""  cols="30" rows="3"></textarea>
+					<text style='position:absolute;right:0;bottom:2px;'>{{list.baggingNotes.length}}/30个字</text>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<text class="tit">点价(元/吨)<text style='color:#FC3535;'>*</text></text>
+					<view class="con-list">
+						<input v-model='list.pointPrice' placeholder="请输入出售数量" type="digit">
+					</view>
+				</view>
+				<view  v-if='invoiceTypeIndex1==0&&goods.customerTypeFlag==1' class="c-row b-b">
+					<text class="tit">发票费用(元/吨)</text>
+					<view class="con-list">
+						<input disabled value='-20' placeholder="请输入出售数量" type="digit">
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<text class="tit">包装费(元/吨)</text>
+					<view class="con-list">
+						<input v-model='list.packingFee' placeholder="请输入包装费" type="digit">
+					</view>
+				</view>
+				<view  style='padding:10px 15px;'>
+					<view class='flex justify-between'>
+						<text class="tit">结算价格(元/吨)</text>
+						<view class="con-list">
+							<input disabled v-model='list.settlementPrice' placeholder="请输入包装费" type="digit">
+						</view>
+					</view>
+					<view style='font-size:11px;color:#AFB3BF;'>结算价格=点价+基差+发票费用+包装费</view>
+				</view>
+			</view>
+		</view>
+		<!-- <view v-if='isFutures==0' class="cu-form-group margin-top margin-bottom">
+			<view class="title">质量验收方式</view>
+			<picker @change="AcceptTypeChange" :value="acceptTypeIndex" :range="acceptType">
+				<view class="picker">
+					{{acceptTypeIndex>-1?acceptType[acceptTypeIndex]:'请选择'}}
+				</view>
+			</picker>
+		</view> -->
+		<view class="padding flex flex-direction">
+			<button class="cu-btn bg-red margin-tb-sm lg" @click="commit">提交</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+			data() {
+				return {
+					goodsName:'',
+					goods:{},
+					receiveWarehouse:'',
+					receivePrivate:'',
+					receiveCity:'',
+					receiveArea:'',
+					minimumVolume:0,
+					basisPrice:0,
+					pcFlag:0,
+					list:{
+						transactionsNumber:0,
+						baggingNotes:'',
+						pointPrice:0,
+						packingFee:'',
+						settlementPrice:0
+					},
+					invoiceTypeIndex:0,
+					invoiceTypeIndex1:0,
+					acceptTypeIndex:0,
+					priceTypeIndex:0,
+					bankNameIndex:0,
+					packingIndex:0,
+					packingType: ['散装', '大装','小袋'],
+					invoiceType: ['不开发票', '普通发票', '增值税发票'],
+					invoiceType1: ['不开发票','增值税发票'],
+					acceptType: ['第三方检验(国家检验资质)', '交收地库或港出具的检验', '现场看货','其他'],
+					priceType: ['库内价', '到库价', '到港价'],
+					priceTypeIndex1:'库内价',
+					region: [],
+					id:0,
+					packing:'',
+					memo:'',
+					buyer:'',
+					buyerPhone:'',
+					unitPrice:0,
+					address:'',
+					count:0,
+					price:'库内价',
+					invoice:'不开发票',
+					accept:'',
+					seller:'',
+					sellerPhone:'',
+					minSale:'',
+					province:'',
+					city:'',
+					area:'',
+					storeName:'',
+					exsitCount:0,
+					isFutures:'',
+					bankNameList:'',
+					Company:[],
+					companyId:'',
+					tradeCompanyId:'',
+					basis:0,
+					basisBig:0,
+					basisSmall:0,
+					invoiceMoney:0,
+					unloadingFee:0,
+					packingMoney:0,
+					packingIndex:0,
+					packing:'散装'
+				};
+			},
+			onLoad(options) {
+				this.receiveWarehouse=options.receiveWarehouse
+				this.receivePrivate=options.receivePrivate
+				this.receiveCity=options.receiveCity
+				this.receiveArea=options.receiveArea
+				this.minimumVolume=options.minimumVolume
+				this.basisPrice=options.basisPrice
+				this.id = options.id
+				this.pcFlag = options.pcFlag
+				this.goodsName = options.goodsName
+				this.seller = options.seller
+				this.isFutures = options.isFutures
+				this.minSale = options.minSale
+				this.companyId=options.companyId
+				this.province = options.province
+				this.city = options.city
+				this.area = options.area
+				this.storeName=options.storeName
+				this.exsitCount = Math.floor(options.exsitCount * 100) / 100
+				this.basis = options.basis
+				this.basisBig = options.basisBig
+				this.basisSmall = options.basisSmall
+				this.unloadingFee = options.unloadingFee
+			},
+			onShow() {
+				this.$api.doRequest('get', '/identityAuthenticationInfo/getInfo',{commonId:111111}).then(res => {
+					if(res.data.code==200){
+						this.goods=res.data.data
+					}
+					uni.hideLoading()
+				})
+				// var that=this
+				// this.$api.request('company', 'getCompany', failres => {
+				// 	that.$api.msg(failres.errmsg)
+				// 	uni.hideLoading()
+				// }).then(res => {
+				// 	if(res.data.code=='SUCCESS'){
+				// 		var data=[]
+				// 		this.Company=res.data.data
+				// 		if(res.data.data){
+				// 			for(let i=0;i<res.data.data.length;i++){
+				// 				data.push(res.data.data[i].companyName+' '+res.data.data[i].companyPhone)
+				// 			}
+				// 		}
+				// 		if(this.Company){
+				// 			this.buyer =this.Company[0].companyName
+				// 			this.buyerPhone=this.Company[0].companyPhone
+				// 			this.tradeCompanyId=this.Company[0].id
+				// 		}
+				// 		that.bankNameList=data
+				// 		uni.hideLoading()
+				// 	}else{
+				// 		that.$api.msg(res.data.code)
+				// 		uni.hideLoading()
+				// 	}
+				// })
+				// uni.getLocation({
+				//     type: 'wgs84',
+				// 	geocode:true,
+				//     success: function (res) {
+				//         console.log('当前位置的经度:' + res.longitude);
+				//         console.log('当前位置的纬度:' + res.latitude);
+				//     }
+				// });
+			},
+			methods: {
+				InvoiceTypeChange(e) {
+					this.invoiceTypeIndex = e.detail.value
+					this.invoice = this.invoiceType[this.invoiceTypeIndex];
+					
+				},
+				InvoiceTypeChange1(e) {
+					this.invoiceTypeIndex1 = e.detail.value
+					this.invoice = this.invoiceType1[this.invoiceTypeIndex1];
+					if(this.invoiceTypeIndex1 == 0){
+						this.invoiceMoney = 0
+					}
+					else{
+						this.invoiceMoney = 20
+					}
+				},
+				bankNameChange(e){
+					this.bankNameIndex=e.detail.value
+					this.buyer =this.Company[e.detail.value].companyName
+					this.buyerPhone=this.Company[e.detail.value].companyPhone
+					this.tradeCompanyId=this.Company[e.detail.value].id
+				},
+				AcceptTypeChange(e) {
+					this.acceptTypeIndex = e.detail.value
+					this.accept = this.acceptType[this.acceptTypeIndex];
+				},
+				packingChange(e){
+					this.packingIndex = e.detail.value
+					this.packing = this.packingType[this.packingIndex];
+					if(this.packingIndex == 0){
+						this.packingMoney = 0
+					}
+					else if(this.packingIndex == 1){
+						this.packingMoney = this.basisBig - this.basis
+					}
+					else if(this.packingIndex == 2){
+						this.packingMoney = this.basisSmall - this.basis
+					}
+				},
+				changeZhihang(){
+					uni.navigateTo({
+						url: '/pageA/pages/newcompany'
+					})
+				},
+				PriceTypeChange(e) {
+					this.priceTypeIndex = e.detail.value
+					this.price = this.priceType[this.priceTypeIndex]
+				},
+				RegionChange(e) {
+					this.region = e.detail.value
+					this.province = this.region[0];
+					this.area = this.region[0]+this.region[1]+this.region[2];
+				},
+				textareaInput(e) {
+					this.memo = e.detail.value
+				},
+				packingInput(e){
+					this.packing = e.detail.value
+				},
+				buyerInput(e){
+					this.buyer = e.detail.value
+				},
+				buyerPhoneInput(e){
+					this.buyerPhone = e.detail.value
+				},
+				unitPriceInput(e){
+					this.unitPrice = e.detail.value
+				},
+				addressInput(e){
+					this.address = e.detail.value
+				},
+				countInput(e){
+					this.count = e.detail.value
+				},
+				commit(){
+					const that = this
+					if ( that.companyId !=2 && !that.area ) {
+						that.$api.msg('请选择省市区');
+						return
+					}
+					if ( that.companyId !=2&& !that.address) {
+						that.$api.msg('请填写详细交收地址')
+						return
+					}
+					if (!that.price) {
+						that.$api.msg('请选择价格类型')
+						return
+					}
+					if (!that.invoice) {
+						that.$api.msg('请选择发票类型')
+						return
+					}
+					// if(!that.accept&&that.isFutures==0){
+					// 	that.$api.msg('请选择质量验收方式');
+					// 	return
+					// }
+					if(!that.unitPrice){
+						that.$api.msg('请填写协议价格(元/吨)');
+						return
+					}
+					if(!that.count){
+						that.$api.msg('请填写购买数量(吨)');
+						return
+					}
+					if(Number(that.count) < Number(that.minSale)){
+						that.$api.msg('购买数量不能小于最小成交量');
+						return
+					}
+					if(!that.tradeCompanyId){
+						that.$api.msg('请选择公司名头');
+						return
+					}
+					// if(that.count > that.exsitCount){
+					// 	that.$api.msg('购买数量大于库存量');
+					// 	return
+					// }
+					//this.$api.prePage()获取上一页实例,可直接调用上页所有数据和方法,在App.vue定义
+					
+					//this.$api.msg(`地址${this.manageType=='edit' ? '修改': '添加'}成功`);
+					that.tradeInfo.salebuyId = that.salebuyId
+					that.tradeInfo.buyer = that.buyer
+					that.tradeInfo.buyerPhone = that.buyerPhone
+					that.tradeInfo.priceType = that.price
+					that.tradeInfo.unitPrice = that.unitPrice
+					that.tradeInfo.province = that.province
+					that.tradeInfo.area = that.area
+					that.tradeInfo.address = that.address
+					that.tradeInfo.count = that.count
+					that.tradeInfo.acceptType = that.accept
+					that.tradeInfo.invoiceType = that.invoice
+					that.tradeInfo.packing = that.packing
+					that.tradeInfo.packingMoney = that.packingMoney
+					that.tradeInfo.memo = that.memo
+					that.tradeInfo.seller = that.seller
+					that.tradeInfo.sellerPhone = that.sellerPhone
+					that.tradeInfo.tradeCompanyId = that.tradeCompanyId
+					that.tradeInfo.invoiceMoney = that.invoiceMoney
+					// that.tradeInfo.unloadingFee = that.unloadingFee
+					uni.showLoading({
+						title: '正在提交',
+						mask:true
+					})
+					that.$api.request('trade', 'addTrade',that.tradeInfo, failres => {
+						uni.hideLoading()
+						that.$api.msg(failres.errmsg);
+						
+					}).then(res => {
+						uni.hideLoading()
+						uni.showModal({
+							title: '提示',
+							content: "交易申请提交成功",
+							showCancel: false,
+							confirmText: '确定',
+							success: () => {
+								uni.navigateBack({
+									delta: 2
+								})
+							}
+						})
+						// that.$api.prePage().refreshList(data, that.manageType);
+					})
+				
+				}
+			}
+		}
+</script>
+
+<style scoped>
+	.cu-form-group input {
+		text-align: right;
+	}
+	.cu-form-group textarea {
+		text-align: right;
+	}
+	.margin-bottom{
+		margin-bottom:30px;
+	}
+	.c-row {
+	    display: -webkit-box;
+	    display: -webkit-flex;
+	    display: flex;
+	    -webkit-box-align: center;
+	    -webkit-align-items: center;
+	    align-items: center;
+	    padding: 20rpx 30rpx;
+	    position: relative;
+	}
+	.con-list {
+	    -webkit-box-flex: 1;
+	    -webkit-flex: 1;
+	    flex: 1;
+	    display: -webkit-box;
+	    display: -webkit-flex;
+	    display: flex;
+	    -webkit-box-orient: vertical;
+	    -webkit-box-direction: normal;
+	    -webkit-flex-direction: column;
+	    flex-direction: column;
+	    color: #303133;
+	    line-height: 40rpx;
+	    text-align: right;
+	    padding-right: 20rpx;
+	}
+	/*  详情 */
+	.detail-desc {
+		background: #fff;
+		margin-top: 16upx;
+		margin:10px;
+		position:relative;
+		z-index:4;
+		border-radius:5px;
+		.d-header {
+			display: flex;
+			padding:10px;
+			font-size: $font-base + 2upx;
+			color: $font-color-dark;
+			position: relative;
+			border-bottom:1px solid #EEEEEE;
+			text {
+				padding: 0 20upx;
+				position: relative;
+				z-index: 1;
+			}
+		}
+	}
+	.c-list picker .picker {
+	    line-height: 80rpx;
+	    font-size: 24rpx;
+	    text-overflow: ellipsis;
+	    white-space: nowrap;
+	    overflow: hidden;
+	    width: 100%;
+	    text-align: right;
+	}
+	.c-list picker {
+	    -webkit-box-flex: 1;
+	    -webkit-flex: 1;
+	    flex: 1;
+	    padding-right: 10px;
+	    overflow: hidden;
+	    position: relative;
+	}
+	.c-list {
+		font-size: $font-sm + 2upx;
+		color: $font-color-base;
+		background: #fff;
+	
+		.c-row {
+			display: flex;
+			align-items: center;
+			padding: 20upx 30upx;
+			position: relative;
+		}
+	
+		.tit {
+			width: 220upx;
+		}
+	
+		.con {
+			flex: 1;
+			color: $font-color-dark;
+	
+			.selected-text {
+				margin-right: 10upx;
+			}
+		}
+	
+		.bz-list {
+			height: 40upx;
+			font-size: $font-sm+2upx;
+			color: $font-color-dark;
+	
+			text {
+				display: inline-block;
+				margin-right: 30upx;
+			}
+		}
+	
+		.con-list {
+			flex: 1;
+			display: flex;
+			flex-direction: column;
+			color: $font-color-dark;
+			line-height: 40upx;
+			text-align: right;
+			padding-right: 20upx;
+		}
+	
+		.red {
+			color: $uni-color-primary;
+		}
+	}
+	.textarea{
+		background:#F9F9FA;
+		font-size:12px;
+		text-align:left;
+		width:100%;
+		height:60px;
+		padding:10px;
+		border-radius:5px;
+		margin-top:10px;
+	}
+</style>
+

文件差异内容过多而无法显示
+ 844 - 0
pageA/product/saledetails.vue


文件差异内容过多而无法显示
+ 979 - 0
pageA/product/sales_detail.vue


+ 404 - 0
pageA/product/trade_sale.vue

@@ -0,0 +1,404 @@
+<template>
+	
+	<view class="container">
+		<view v-if="companyId!=2" class="cu-form-group">
+			<view class="title">买方</view>
+			<view class="title">{{buyer}}</view>
+		</view>
+		<view v-if="companyId!=2" class="cu-form-group">
+			<view class="title">买方电话</view>
+			<view class="title">{{buyerPhone}}</view>
+		</view>
+		<view class="cu-form-group">
+			<text class="tit">我的信息</text>
+			<view class="con-list">
+				<view v-if='bankNameList'>
+					<picker @change="bankNameChange" :value="bankNameIndex" :range="bankNameList">
+					<view class="picker">
+						{{bankNameIndex>-1?bankNameList[bankNameIndex]:'点击选择名头'}}
+					</view>
+				</picker>
+				</view>
+				
+			</view>
+			<button class='cu-btn bg-green shadow' @click="changeZhihang">添加名头</button>
+		</view>
+		<view  v-if="companyId!=2" class="cu-form-group margin-top">
+			<view class="title">价格类型</view>
+			<picker @change="PriceTypeChange" :value="priceTypeIndex" :range="priceType">
+				<view class="picker">
+					{{priceTypeIndex>-1?priceType[priceTypeIndex]:'请选择'}}
+				</view>
+			</picker>
+		</view>
+		<view v-if='companyId!=2' class="cu-form-group">
+			<view class="title">交接区域</view>
+			<picker mode="region" @change="RegionChange" :value="region">
+				<view class="picker" v-if="region.length>0">
+					{{region[0]}}{{region[1]}}{{region[2]}}
+				</view>
+				<view class="picker" v-else>
+					请选择
+				</view>
+			</picker>
+		</view>
+		<view v-if='companyId!=2' class="cu-form-group">
+			<view class="title">详细交收地址</view>
+			<input placeholder="请填写" name="input" @input="addressInput"></input>
+		</view>
+		<view v-if='companyId==2' class="cu-form-group">
+			<view class="title">库点地址</view>
+			<view class="title">{{province+city+area+storeName}}</view>
+		</view>
+		<view class="cu-form-group">
+			<view class="title">最小成交量(吨)</view>
+			<view class="title">{{minSale}}</view>
+		</view>
+		<view v-if="companyId==2" class="cu-form-group">
+			<view  class="title">发票类型</view>
+			<picker @change="InvoiceTypeChange1" :value="invoiceTypeIndex1" :range="invoiceType1">
+				<view class="picker">
+					{{invoiceTypeIndex1>-1?invoiceType1[invoiceTypeIndex1]:'请选择'}}
+				</view>
+			</picker>
+		</view>
+		<view v-else class="cu-form-group">
+			<view  class="title">发票类型</view>
+			<picker @change="InvoiceTypeChange" :value="invoiceTypeIndex" :range="invoiceType">
+				<view class="picker">
+					{{invoiceTypeIndex>-1?invoiceType[invoiceTypeIndex]:'请选择'}}
+				</view>
+			</picker>
+		</view>
+		<view v-if='companyId!=2' class="cu-form-group margin-top margin-bottom">
+			<view class="title">质量验收方式</view>
+			<picker @change="AcceptTypeChange" :value="acceptTypeIndex" :range="acceptType">
+				<view class="picker">
+					{{acceptTypeIndex>-1?acceptType[acceptTypeIndex]:'请选择'}}
+				</view>
+			</picker>
+		</view>
+		<view class="cu-form-group">
+			<view class="title">出售数量(吨)</view>
+			<input placeholder="请填写" name="input" @input="countInput"></input>
+		</view>
+		<view class="cu-form-group">
+			<view v-if='companyId!=2' class="title">协议单价(元/吨)</view>
+			<view v-else class="title" style='color:red'>点价(元/吨)</view>
+			<input placeholder="请填写" name="input" @input="unitPriceInput"></input>
+		</view>
+		<view v-if="companyId==2" class="cu-form-group">
+			<view class="title">基差</view>
+			<view class="title">{{basis}}</view>
+		</view>
+		<view v-if="companyId==2" class="cu-form-group">
+			<view class="title">发票费用(元/吨)</view>
+			<view class="title">{{invoiceMoney}}</view>
+		</view>
+		<view v-if="companyId==2&&unloadingFee" class="cu-form-group">
+			<view class="title">卸车费(元/吨)</view>
+			<view class="title">{{unloadingFee}}</view>
+		</view>
+		<view v-if="companyId!=2" class="cu-form-group">
+			<view class="title">包装方式</view>
+			<input placeholder="请填写 例:袋装XX斤/散装" name="input" @input='packingInput'></input>
+		</view>
+		<!-- <view class="cu-form-group align-start">
+			<view class="title">备注</view>
+			<textarea maxlength="-1" :disabled="modalName!=null" @input="textareaInput" placeholder="备注"></textarea>
+		</view> -->
+		<view v-if="companyId==2" class="cu-form-group">
+			<view class="title">总金额(自动计算)</view>
+			<view class="title">{{(Number(unitPrice) + Number(basis)+ Number(unloadingFee) + Number(invoiceMoney))*count}}元</view>
+		</view>
+		<view v-else class="cu-form-group">
+			<view class="title">总金额(自动计算)</view>
+			<view class="title">{{unitPrice*count}}元</view>
+		</view>
+		<view v-if="companyId==2" class="cu-form-group align-start">
+			<!-- <view class="title">结算价格=点价+基差+发票+卸车费</view> -->
+			<view class="title">最终以纸质合同为准</view>
+		</view>
+		<view  class="cu-form-group align-start">
+			<view class="title">备注</view>
+			<textarea maxlength="-1" :disabled="modalName!=null" @input="textareaInput" placeholder="备注"></textarea>
+		</view>
+		<view class="padding flex flex-direction">
+			<button class="cu-btn bg-red margin-tb-sm lg" @click="commit">提交</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+			data() {
+				return {
+					tradeInfo:{
+						salebuyId:0,
+						packing:'',
+						memo:'',
+						buyer:'',
+						buyerPhone:'',
+						unitPrice:0,
+						address:'',
+						count:0,
+						province:'',
+						area:'',
+						priceType:'',
+						invoiceType:'',
+						acceptType:'',
+						seller:'',
+						sellerPhone:'',
+						type:1
+					},
+					invoiceTypeIndex:0,
+					invoiceTypeIndex1:0,
+					acceptTypeIndex:0,
+					priceTypeIndex:0,
+					bankNameIndex:0,
+					packingType: ['散装', '大袋(50kg)', '小袋(25kg)'],
+					invoiceType: ['增值税发票', '普通发票', '不开发票'],
+					invoiceType1: ['增值税发票',  '不开发票'],
+					acceptType: ['第三方检验(国家检验资质)', '交收地库或港出具的检验', '现场看货','其他'],
+					priceType: ['库内价', '到库价', '到港价'],
+					priceTypeIndex1:'库内价',
+					region: [],
+					salebuyId:0,
+					packing:'',
+					memo:'',
+					buyer:'',
+					buyerPhone:'',
+					unitPrice:0,
+					address:'',
+					count:0,
+					price:'库内价',
+					invoice:'增值税发票',
+					accept:'',
+					seller:'',
+					province:'',
+					city:'',
+					area:'',
+					storeName:'',
+					sellerPhone:'',
+					minSale:0,
+					exsitCount:0,
+					isFutures:'',
+					companyId:'',
+					bankNameList:'',
+					Company:[],
+					tradeCompanyId:'',
+					basis:0,
+					invoiceMoney:0,
+					unloadingFee:0
+				};
+			},
+			onShow() {
+				var that=this
+				this.$api.request('company', 'getCompany', failres => {
+					that.$api.msg(failres.errmsg)
+					uni.hideLoading()
+				}).then(res => {
+					if(res.data.code=='SUCCESS'){
+						var data=[]
+						if(res.data.data){
+							this.Company=res.data.data
+						for(let i=0;i<res.data.data.length;i++){
+							data.push(res.data.data[i].companyName+' '+res.data.data[i].companyPhone)
+						}
+						that.bankNameList=data
+							this.seller =this.Company[0].companyName
+							this.sellerPhone=this.Company[0].companyPhone
+							this.tradeCompanyId=this.Company[0].id
+						}
+						uni.hideLoading()
+					}else{
+						that.$api.msg(res.data.code)
+						uni.hideLoading()
+					}
+				})
+			},
+			onLoad(options) {
+				console.log(options)
+				this.packing = options.packing
+				this.salebuyId = options.id
+				this.buyer = options.buyer
+				this.buyerPhone = options.buyerPhone
+				this.minSale = options.minSale
+				this.exsitCount = options.exsitCount
+				this.isFutures= options.isFutures
+				this.province = options.province
+				this.city = options.city
+				this.area = options.area
+				this.storeName=options.storeName
+				this.companyId=options.companyId
+				this.basis = options.basis
+				this.unloadingFee = options.unloadingFee
+			},
+			methods: {
+				InvoiceTypeChange(e) {
+					this.invoiceTypeIndex = e.detail.value
+					this.invoice = this.invoiceType[this.invoiceTypeIndex];
+				},
+				InvoiceTypeChange1(e) {
+					this.invoiceTypeIndex1 = e.detail.value
+					this.invoice = this.invoiceType1[this.invoiceTypeIndex1];
+					if(this.invoiceTypeIndex1 == 0){
+						this.invoiceMoney = 0
+					}
+					else{
+						this.invoiceMoney = -20
+					}
+				},
+				bankNameChange(e){
+					this.bankNameIndex=e.detail.value
+					this.seller =this.Company[e.detail.value].companyName
+					this.sellerPhone=this.Company[e.detail.value].companyPhone
+					this.tradeCompanyId=this.Company[e.detail.value].id
+				},
+				AcceptTypeChange(e) {
+					this.acceptTypeIndex = e.detail.value
+					this.accept = this.acceptType[this.acceptTypeIndex];
+				},
+				packingChange(e){
+					this.packingIndex = e.detail.value
+					this.packing = this.packingType[this.packingIndex];
+				},
+				PriceTypeChange(e) {
+					this.priceTypeIndex = e.detail.value
+					this.price = this.priceType[this.priceTypeIndex]
+				},
+				RegionChange(e) {
+					this.region = e.detail.value
+					this.province = this.region[0];
+					this.area = this.region[0]+this.region[1]+this.region[2];
+				},
+				changeZhihang(){
+					uni.navigateTo({
+						url: '/pageA/pages/newcompany'
+					})
+				},
+				textareaInput(e) {
+					this.memo = e.detail.value
+				},
+				sellerInput(e){
+					this.seller = e.detail.value
+				},
+				sellerPhoneInput(e){
+					this.sellerPhone = e.detail.value
+				},
+				unitPriceInput(e){
+					this.unitPrice = e.detail.value
+				},
+				addressInput(e){
+					this.address = e.detail.value
+				},
+				packingInput(e){
+					this.packing = e.detail.value
+				},
+				countInput(e){
+					this.count = e.detail.value
+				},
+				commit(){
+					const that = this
+					if (that.companyId !=2 && !that.area ) {
+						that.$api.msg('请选择省市区');
+						return
+					}
+					if (that.companyId !=2 && !that.address) {
+						that.$api.msg('请填写详细交收地址')
+						return
+					}
+					if (!that.price) {
+						that.$api.msg('请选择价格类型')
+						return
+					}
+					if (!that.invoice) {
+						that.$api.msg('请选择发票类型')
+						return
+					}
+					// if(!that.accept&&that.isFutures==0){
+					// 	that.$api.msg('请选择质量验收方式');
+					// 	return
+					// }
+					if(!that.unitPrice){
+						that.$api.msg('请填写协议价格(元/吨)');
+						return
+					}
+					if(!that.count){
+						that.$api.msg('请填写出售数量(吨)');
+						return
+					}
+					if(Number(that.count) < Number(that.minSale)){
+						that.$api.msg('出售数量不能小于最小成交量');
+						return
+					}
+					if(!that.tradeCompanyId){
+						that.$api.msg('请选择公司名头');
+						return
+					}
+					// if(that.isFutures == 0 && that.count > that.exsitCount){
+					// 	that.$api.msg('购买数量大于库存量');
+					// 	return
+					// }
+					//this.$api.prePage()获取上一页实例,可直接调用上页所有数据和方法,在App.vue定义
+					
+					//this.$api.msg(`地址${this.manageType=='edit' ? '修改': '添加'}成功`);
+					uni.showLoading({
+						title: '正在提交',
+						mask:true
+					})
+					that.tradeInfo.salebuyId = that.salebuyId
+					that.tradeInfo.buyer = that.buyer
+					that.tradeInfo.buyerPhone = that.buyerPhone
+					that.tradeInfo.priceType = that.price
+					that.tradeInfo.unitPrice = that.unitPrice
+					that.tradeInfo.province = that.province
+					that.tradeInfo.area = that.area
+					that.tradeInfo.address = that.address
+					that.tradeInfo.count = that.count
+					that.tradeInfo.acceptType = that.accept
+					that.tradeInfo.invoiceType = that.invoice
+					that.tradeInfo.packing = that.packing
+					that.tradeInfo.memo = that.memo
+					that.tradeInfo.seller = that.seller
+					that.tradeInfo.sellerPhone = that.sellerPhone
+					that.tradeInfo.tradeCompanyId = that.tradeCompanyId
+					that.tradeInfo.unloadingFee = that.unloadingFee
+					that.tradeInfo.invoiceMoney = that.invoiceMoney
+					
+					that.$api.request('trade', 'addTrade',that.tradeInfo, failres => {
+						uni.hideLoading()
+						that.$api.msg(failres.errmsg);
+						
+					}).then(res => {
+						uni.hideLoading()
+						uni.showModal({
+							title: '提示',
+							content: "交易申请提交成功",
+							showCancel: false,
+							confirmText: '确定',
+							success: () => {
+								uni.navigateBack({
+									delta: 2
+								})
+							}
+						})
+						// that.$api.prePage().refreshList(data, that.manageType);
+					})
+				
+				}
+			}
+		}
+</script>
+
+<style>
+	.cu-form-group input {
+		text-align: right;
+	}
+	.cu-form-group textarea {
+		text-align: right;
+	}
+	.margin-bottom{
+		margin-bottom:30px;
+	}
+</style>

+ 77 - 11
pageD/myRelease/Identity_switching.vue

@@ -1,23 +1,32 @@
 <template>
 	<view class="center">
 		<view v-for="(item , index) in lists" :Key="index">
-			<view>
-				<view class="company">{{item.customerType}}</view>
-				<view class="guess-item" @click="navToDetailPage(item)">
+			<view class="forList">
+				<view class="flex">
+					<view class="company" v-if="item.customerType == '企业'">{{item.customerType}}</view>
+					<view class="company1" v-if="item.customerType == '个人'">{{item.customerType}}</view>
+					<view class="guess-item" @click="navToDetailPage(item)">
+				</view>
+				
 					<view class="infos">
 
-						<view class="info">{{item.customerName}}
-							<view class='cu-tag radius line-pink but'>{{item.authenticationStatus}}</view>
+						<view class="info1">{{item.customerName}}
+							<view class='but but1' v-if="item.authenticationStatus == '已认证'">{{item.authenticationStatus}}</view>
+							<view class='but but2' v-if="item.authenticationStatus == '审核中'">{{item.authenticationStatus}}</view>
+							<view class='but but3' v-if="item.authenticationStatus == '未通过'">{{item.authenticationStatus}}</view>
+							<view class='but but4' v-if="item.authenticationStatus == '已覆盖'">{{item.authenticationStatus}}</view>
 						</view>
-						<view class="info">{{item.customerPhone}}</view>
-						<label>
-							<checkbox style='transform: scale(0.8);' :value='item.id' :checked="item.checked" @click.stop="checkBox($event,item)" ></checkbox>
-							<text>设置默认</text>
-						</label>
+						<view class="info2">{{item.customerPhone}}</view>
+					
 						
 					</view>
 
 				</view>
+					<hr style="margin: 10px 0px;">
+				<label>
+					<checkbox style='transform: scale(0.8);' :value='item.id' :checked="item.checked" @click.stop="checkBox($event,item)" ></checkbox>
+					<text>设置默认</text>
+				</label>
 			</view>
 		</view>
 	</view>
@@ -162,6 +171,7 @@
 <style>
 	.center {
 		padding: 10px 20px;
+		background-color: #F5F6FA;
 	}
 
 	.title {
@@ -172,8 +182,29 @@
 	}
 
 	.company {
+		width: 35px;
+		height: 35px;
+		background-color: #E9F8F0;
+		font-size: 16px;
+		margin-top: 10px;
+		border-radius: 5px;
+		text-align: center;
+		line-height: 35px;
+		color: #22C572;
+		font-size: 12px;
+		
+	}
+	.company1{
+		width: 35px;
+		height: 35px;
+		background-color: #FEECE6;
 		font-size: 16px;
 		margin-top: 10px;
+		border-radius: 5px;
+		text-align: center;
+		line-height: 35px;
+		color:#FE6430;
+		font-size: 12px;
 	}
 
 	.infos {
@@ -187,7 +218,42 @@
 	}
 
 	.but {
-		right: 3px;
+		margin-right: 30px;
 		float: right;
+		font-size: 14px;
+		
+		background-color: #FFFFFF;
+	}
+	.but1{
+		color: #22C572 ;
+	}
+	.but2{
+		color:#FE6430;
+	}
+	.but3{
+		color:#FB1E1E;
+	}
+	.but4{
+		color:#AFB3BF;
+	}
+	.forList{
+		background-color: #FFFFFF;
+		padding: 10px 10px;
+		border-radius: 10px;
+		margin-top: 10px;
+	}
+/* 	.guess-item{
+		font-size: 18px;
+		margin-left: 20px;
+		font-weight: 700;
+	} */
+	.info1{
+		font-size: 18px;
+		margin-left: 20px;
+		font-weight: 700;
+	}
+	.info2{
+		margin-left: 20px;
+		color: #AFB3BF;
 	}
 </style>

+ 24 - 6
pageD/myRelease/buyEdit.vue

@@ -1,5 +1,7 @@
 <template>
 	<view class="center">
+		<view class="area">
+			
 		<view class="c-row b-b">
 			<text class="tit">名头</text>
 			<view class="con-list">
@@ -78,14 +80,17 @@
 				<input placeholder="请输入买方手机号" name="input" v-model="deptList.buyerPhone"></input>
 			</view>
 		</view>
-		<view class="c-row b-b">
+		<view class="c-row ">
 			<button @click='getcode' type="default">{{sendText}}</button>
 			<view class="con-list">
 				<input placeholder="请填写6位短信验证码" name="input" v-model="deptList.title1"></input>
 			</view>
 		</view>
+		</view>
+		<view  class="area">
 		<view class="c-row b-b">
-			<checkbox style='transform: scale(0.8);'  :checked="checked" @click='checkedbox'></checkbox>完善更多信息(选填,可由客服人员代为完善)
+			<!-- <checkbox style='transform: scale(0.8);'  :checked="checked" @click='checkedbox'></checkbox>完善更多信息(选填,可由客服人员代为完善) -->
+			<checkbox style='transform: scale(0.8);'  :checked="checked" @click='checkedbox'></checkbox><text style="font-size: 14px; ">完善更多信息<text style="font-size: 10px; color: #AFB3BF;">(选填,可由客服人员代为完善)</text></text>
 		</view>
 		<view v-if='checked' class="c-row b-b">
 			<text class="tit">水分(%)<= </text>
@@ -175,8 +180,8 @@
 				</view>
 			</picker>
 		</view>
-
-		<button @click="commit()">重新发布</button>
+</view>
+		<button @click="commit()" class="btn">重新发布</button>
 	</view>
 </template>
 
@@ -240,7 +245,7 @@
 		onLoad(options){
 			this.id=options.id
 			if(options.customerName){
-				this.deptList.procurementPlanNo=options.customerName
+				this.deptList.procurementPlanNo = options.customerName
 			}
 			
 		},
@@ -359,7 +364,8 @@
 				this.show1=true
 			},
 			checkedbox(e){
-				this.checked=!this.checked
+				this.checked = !this.checked
+				console.log( this.checked)
 			},
 			typeChange(e) {
 				this.typesIndex = e.detail.value
@@ -616,6 +622,7 @@
 <style>
 	.center {
 		padding: 10px 20px;
+		background-color: #F5F6FA;
 	}
 
 	.c-row {
@@ -646,4 +653,15 @@
 		padding-right: 20rpx;
 		font-size: 14px;
 	}
+	.area{
+		background-color: #FFFFFF;
+		border-radius: 20px;
+		margin-top: 10px;
+	}
+	.btn{
+		margin-top: 10px;
+		border-radius: 20px;
+		background-color: #22C572;
+		color: #FFFFFF;
+	}
 </style>

+ 79 - 116
pageD/myRelease/buyGrain.vue

@@ -1,5 +1,8 @@
 <template>
 	<view class="center">
+		<view class="buyup">
+			
+		
 		<view class="c-row b-b">
 			<text class="tit">名头</text>
 			<view class="con-list">
@@ -58,13 +61,6 @@
 				<input placeholder="请输入基差" name="input" v-model="deptList.basisPrice"></input>
 			</view>
 		</view>
-		<view class="c-row b-b">
-			<text class="tit">产地</text>
-			<view class="con-list">
-				<view @click='regionchange1'>{{region1}}</view>
-				<u-picker :params='params1' @confirm='regionpicker1' mode="region" v-model="show1" ></u-picker>
-			</view>
-		</view>
 		<view class="c-row b-b">
 			<text class="tit">收货地区</text>
 			<view class="con-list">
@@ -78,58 +74,62 @@
 				<input placeholder="请输入买方手机号" name="input" v-model="deptList.buyerPhone"></input>
 			</view>
 		</view>
-		<view class="c-row b-b">
-			<button @click='getcode' type="default">{{sendText}}</button>
+		<view class="c-row ">
+			<text class="validate">获取验证码</text>
 			<view class="con-list">
 				<input placeholder="请填写6位短信验证码" name="input" v-model="deptList.title1"></input>
 			</view>
 		</view>
-		<view class="c-row b-b">
-			<checkbox style='transform: scale(0.8);'  :checked="checked" @click='checkedbox'></checkbox>完善更多信息(选填,可由客服人员代为完善)
 		</view>
-		<view v-if='checked' class="c-row b-b">
+		<view class="buylow">
+			
+		
+		<view class="c-row ">
+			<checkbox style='transform: scale(0.8);'  :checked="checked" @click='checkedbox'></checkbox><text style="font-size: 14px; ">完善更多信息<text style="font-size: 10px; color: #AFB3BF;">(选填,可由客服人员代为完善)</text></text>
+		</view>
+		<view v-if='!checked' class="c-row b-b">
 			<text class="tit">水分(%)<= </text>
 					<view class="con-list">
 						<input placeholder="请填写水分占比" name="input" v-model="deptList.waterContent"></input>
 					</view>
 		</view>
-		<view  v-if='checked'  class="c-row b-b">
+		<view  v-if='!checked'  class="c-row b-b">
 			<text class="tit">容重(g/L)<= </text>
 					<view class="con-list">
 						<input placeholder="请填写容重" name="input" v-model="deptList.bulkDensity"></input>
 					</view>
 		</view>
-		<view  v-if='checked'  class="c-row b-b">
+		<view  v-if='!checked'  class="c-row b-b">
 			<text class="tit">热损伤(%)<= </text>
 					<view class="con-list">
 						<input placeholder="请填写热损伤占比" name="input" v-model="deptList.jiaorenli"></input>
 					</view>
 		</view>
-		<view  v-if='checked'  class="c-row b-b">
+		<view  v-if='!checked'  class="c-row b-b">
 			<text class="tit">杂质(%)<= </text>
 					<view class="con-list">
 						<input placeholder="请填写杂质占比" name="input" v-model="deptList.impurity"></input>
 					</view>
 		</view>
-		<view  v-if='checked'  class="c-row b-b">
+		<view  v-if='!checked'  class="c-row b-b">
 			<text class="tit">霉变粒(%)<= </text>
 					<view class="con-list">
 						<input placeholder="请填写霉变粒占比" name="input" v-model="deptList.mildewGrain"></input>
 					</view>
 		</view>
-		<view  v-if='checked'  class="c-row b-b">
+		<view  v-if='!checked'  class="c-row b-b">
 			<text class="tit">不完整粒(%)<= </text>
 					<view class="con-list">
 						<input placeholder="请填写不完整粒占比" name="input" v-model="deptList.imperfectGrain"></input>
 					</view>
 		</view>
-		<view  v-if='checked'  class="c-row b-b">
+		<view  v-if='!checked'  class="c-row b-b">
 			<text class="tit">蛋白(%)<= </text>
 					<view class="con-list">
 						<input placeholder="请填写蛋白占比" name="input" v-model="deptList.protein"></input>
 					</view>
 		</view>
-		<view  v-if='checked'  class="c-row b-b">
+		<view  v-if='!checked'  class="c-row b-b">
 			<text class="tit">粒型 </text>
 			<picker @change="liChange" :value="liIndex" :range="liType" class="con-list" v-model="deptList.grain">
 				<view class="con-list">
@@ -137,7 +137,7 @@
 				</view>
 			</picker>
 		</view>
-		<view  v-if='checked'  class="c-row b-b">
+		<view  v-if='!checked'  class="c-row b-b">
 			<text class="tit">品级 </text>
 			<picker @change="pinChange" :value="pinIndex" :range="pinType" class="con-list">
 				<view class="con-list">
@@ -145,7 +145,14 @@
 				</view>
 			</picker>
 		</view>
-		<view  v-if='checked'  class="c-row b-b">
+		<view  v-if='!checked'  class="c-row b-b">
+			<text class="tit">产地</text>
+			<view class="con-list">
+				<view @click='regionchange1'>{{region1}}</view>
+				<u-picker :params='params1' @confirm='regionpicker1' mode="region" v-model="show1" ></u-picker>
+			</view>
+		</view>
+		<view  v-if='!checked'  class="c-row b-b">
 			<text class="tit">产出年份</text>
 			<picker @change="nianChange" :value="nianIndex" :range="nianType" class="con-list">
 				<view class="con-list">
@@ -153,7 +160,7 @@
 				</view>
 			</picker>
 		</view>
-		<view  v-if='checked'  class="c-row b-b">
+		<view  v-if='!checked'  class="c-row b-b">
 			<text class="tit">包装方式</text>
 			<picker @change="baoChange" :value="baoIndex" :range="baoType" class="con-list">
 				<view class="con-list">
@@ -161,13 +168,13 @@
 				</view>
 			</picker>
 		</view>
-		<view  v-if='checked&&baoIndex==2||!checked&&baoIndex==3'  class="c-row b-b">
+		<view  v-if='!checked&&baoIndex==2||!checked&&baoIndex==3'  class="c-row b-b">
 			<text class="tit">袋装备注</text>
 				<view class="con-list">
 					<input placeholder="请填写袋装备注" name="input" v-model="deptList.baggingNotes"></input>
 				</view>
 		</view>
-		<view  v-if='checked'  class="c-row b-b">
+		<view  v-if='!checked'  class="c-row b-b">
 			<text class="tit">运费承担方</text>
 			<picker @change="chengChange" :value="chengIndex" :range="chengType" class="con-list">
 				<view class="con-list">
@@ -175,8 +182,9 @@
 				</view>
 			</picker>
 		</view>
+		</view>
 
-		<button @click="commit()">发布</button>
+		<button @click="commit()" class="btn">发布</button>
 	</view>
 </template>
 
@@ -194,13 +202,10 @@
 				deptList: {
 					priceType: "定价采购",
 					procurementPlanType:"现货",
-					grain:"不限",
-					grainKey:1,
-					grade:"不限",
-					gradeKey:1,
+					grain:"塔粮",
+					grade:"不限(默认)",
 					outputYear:"2020",
-					packingType:"不限",
-					packingTypeKey:0,
+					packingType:"不限(默认)",
 					freightPayer:"",
 				},
 				params:{
@@ -215,20 +220,19 @@
 				checked:true,
 				insertProcurementPlanInfo: {},
 				liIndex: 0,
-				liType: ['不限','塔粮', '筛粮', '中粒', '大粒'],
+				liType: ['塔粮', '筛粮', '中粒', '大粒'],
 				pinIndex: 0,
-				pinType: ['不限', '一等品', '二等品', '三等品', '等外'],
+				pinType: ['不限(默认)', '一等品', '二等品', '三等品', '等外'],
 				nianIndex: 3,
 				nianType: ['2023', '2022', '2021', '2020', '2019', '2018', '2017', '2016', '2015', '2014', '2013', '2012',
 					'2011'
 				],
-				sendText:'获取验证码',
 				show:false,
 				show1:false,
 				region:'请选择收货地区',
 				region1:'请选择产地',
 				baoIndex: 0,
-				baoType: ['不限', '散装', '大袋', '小袋'],
+				baoType: ['不限(默认)', '散装', '大袋', '小袋'],
 				chengIndex: -1,
 				chengType: ['可议', '买方承担', '卖方承担']
 			}
@@ -256,46 +260,6 @@
 			})
 		},
 		methods: {
-			getcode(){
-				var that = this
-				if(/^0?1[3|4|5|6|7|8][0-9]\d{8}$/.test(this.deptList.buyerPhone)){
-					this.$api.doRequest('get','/commonUser/sendVerifyCode',{phone:this.deptList.buyerPhone}).then(res => {
-						if(res.data.code==200){
-							that.sendDisabled = true
-							let sec = 60
-							let interval = setInterval(() => {
-								sec--;
-								that.sendText = sec + 's后重发'
-								if (sec <= 0) {
-									that.sendDisabled = false
-									that.sendText = "获取验证码"
-									clearInterval(interval)
-								}
-							}, 1000)
-						}else{
-							uni.showToast({
-								title: res.data.message,
-								icon:'none',
-								duration: 2000
-							})
-						}
-					})
-					.catch(res => {
-						uni.showToast({
-							title: res.data.message,
-							icon:'none',
-							duration: 2000
-						})
-					});
-				}else{
-					uni.showToast({
-						title: '请输入正确的手机号',
-						icon:'none',
-						duration: 2000
-					})
-				}
-				
-			},
 			regionpicker(e){
 				this.deptList.receivePrivate=e.province.label
 				this.deptList.receiveCity=e.city.label
@@ -318,14 +282,14 @@
 			},
 			typeChange(e) {
 				this.typesIndex = e.detail.value
-				if(e.detail.value==0){
+				this.types = this.typesType[this.typesIndex];
+				this.deptList.procurementPlanType = this.typesType[this.typesIndex];
+				if (this.typesIndex == 0) {
 					this.deptList.priceType = '定价采购'
-					this.deptList.procurementPlanTypeKey =2
-				}else{
+				} else {
 					this.deptList.priceType = '期货盘面价+基差'
-					this.deptList.procurementPlanTypeKey =1
 				}
-				this.deptList.procurementPlanType = this.typesType[this.typesIndex];
+
 			},
 			navToDetailPage() {
 				// if (index == 1) {
@@ -335,10 +299,6 @@
 					},
 			commit() {
 				this.insertProcurementPlanInfo = this.deptList
-				// if (!this.deptList.goodsName) {
-				// 	this.$api.msg('货名1不能为空')
-				// 	return
-				// }
 				if (!this.deptList.title) {
 					this.$api.msg('标题不能为空')
 					return
@@ -408,7 +368,7 @@
 					}
 				}else if(this.insertProcurementPlanInfo.procurementPlanType == '期货'){
 					if (!this.insertProcurementPlanInfo.basisPrice) {
-						this.$api.msg('基差不能为空')
+						this.$api.msg('基差(元/吨)不能为空')
 						return
 					}
 					if (this.insertProcurementPlanInfo.basisPrice>10000||this.insertProcurementPlanInfo.basisPrice<1) {
@@ -487,13 +447,13 @@
 						return
 					}
 				}
-				if (this.deptList.protein&&this.deptList.protein<1||
-				this.deptList.protein&&this.deptList.protein>80) {
+				if (this.insertProcurementPlanInfo.bulkDensity&&this.insertProcurementPlanInfo.bulkDensity<1||
+				this.insertProcurementPlanInfo.bulkDensity&&this.insertProcurementPlanInfo.bulkDensity>80) {
 					this.$api.msg('蛋白输入错误')
 					return
 				}
-				if (this.deptList.protein&&this.deptList.protein.indexOf('.')!=-1) {
-					if(this.deptList.protein.split('.')[1].length>2){
+				if (this.insertProcurementPlanInfo.bulkDensity&&this.insertProcurementPlanInfo.bulkDensity.indexOf('.')!=-1) {
+					if(this.insertProcurementPlanInfo.bulkDensity.split('.')[1].length>2){
 						this.$api.msg('蛋白输入错误')
 						return
 					}
@@ -501,27 +461,10 @@
 				this.insertProcurementPlanInfo.basisPrice=-this.insertProcurementPlanInfo.basisPrice
 		         this.insertProcurementPlanInfo.commonId = this.userInfo.id
 				 this.insertProcurementPlanInfo.compId = "2710b21efc1e4393930c5dc800010dc4"
-				 uni.showModal({
-				 	content: '确定发布交易信息?',
-				 	success: (res) => {
-						if(res.confirm) {  
 				this.$api.doRequest('post', '/procurementPlanInfo/api/insertProcurementPlanInfo', this
 						.insertProcurementPlanInfo).then(res => {
-							if(res.data.code==200){
-								uni.showToast({
-									title: "发布成功",
-									icon: 'none',
-								})
-								setTimeout(() => {
-									uni.navigateBack({})
-								}, 2000)
-							}else{
-								uni.showToast({
-									title: res.data.message,
-									icon: 'none',
-									duration: 2000
-								})
-							}
+						console.log("添加成功")
+						this.procurementPlanInfos = res.data.data
 					})
 					.catch(res => {
 						uni.showToast({
@@ -530,20 +473,15 @@
 							duration: 2000
 						})
 					});
-					}
-					}
-				})
 			},
 			liChange(e) {
 				this.liIndex = e.detail.value
 				this.litypes = this.liType[this.liIndex];
-				this.deptList.grainKey = e.detail.value+1
 				this.deptList.grain = this.liType[this.liIndex]
 			},
 			pinChange(e) {
 				this.pinIndex = e.detail.value
 				this.pintypes = this.pinType[this.pinIndex];
-				this.deptList.gradeKey = e.detail.value+1
 				this.deptList.grade = this.pinType[this.pinIndex]
 			},
 			nianChange(e) {
@@ -555,13 +493,11 @@
 			baoChange(e) {
 				this.baoIndex = e.detail.value
 				this.baotypes = this.baoType[this.baoIndex];
-				this.deptList.packingTypeKey = e.detail.value
 				this.deptList.packingType = this.chengType[this.chengIndex];
 			},
 			chengChange(e) {
 				this.chengIndex = e.detail.value
 				this.chengtypes = this.chengType[this.chengIndex];
-				this.deptList.freightPayerKey = e.detail.value+1
 					this.deptList.freightPayer = this.chengType[this.chengIndex];
 			}
 		}
@@ -571,6 +507,7 @@
 <style>
 	.center {
 		padding: 10px 20px;
+		background-color: #F5F6FA;
 	}
 
 	.c-row {
@@ -595,10 +532,36 @@
 		-webkit-box-direction: normal;
 		-webkit-flex-direction: column;
 		flex-direction: column;
-		color: #303133;
+		color: #AFB3BF;
 		line-height: 40rpx;
 		text-align: right;
 		padding-right: 20rpx;
 		font-size: 14px;
 	}
+	.buyup{
+		background-color: #FFFFFF;
+		border-radius: 20px;
+		margin-top: 10px;
+	}
+	.buylow{
+		background-color: #FFFFFF;
+		border-radius: 20px;
+		margin-top: 10px;
+	}
+	.btn{
+		border-radius: 20px;
+		margin-top: 10px;
+		background-color: #22C572;
+		color: #FFFFFF;
+	}
+	.validate{
+		width: 100px;
+		height: 32px;
+		background-color: #F5F6F9;
+		color: #AFB3BF;
+		border-radius: 10px;
+		border: none;
+		text-align: center;
+		line-height: 30px;
+	}
 </style>

+ 773 - 0
pageD/warehousings/ex_warehouse.vue

@@ -0,0 +1,773 @@
+<template>
+	<view class="container">
+		<view class="center">
+			<view class="title_b ">发运信息</view>
+			<view class="c-row ">
+				<text class="tit">合同编号</text>
+				<view class="con-list">
+					<text>{{WarehouseInOutInfo.contractNo}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">货名</text>
+				<view class="con-list">
+					<text>{{WarehouseInOutInfo.goodsName}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">发车净重(吨)</text>
+				<view class="con-list">
+					<text>{{WarehouseInOutInfo.startWeight}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">车牌号</text>
+				<view class="con-list">
+					<text>{{WarehouseInOutInfo1.carNo}}</text>
+				</view>
+			</view>
+		</view>
+		<view class="center">
+			<view class="title_c ">出库信息</view>
+			<view class="c-list">
+				<view class="c-row b-b">
+					<text class="tit">毛重(吨)</text>
+					<view style="color: #ff0000; padding-left: 10rpx;">*</view>
+					<view class="con-list">
+						<input placeholder-style="font-size:14px" placeholder="请输入毛重" name="input" v-model="WarehouseInOutInfo.grossWeight" @input="grossWeightInput"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<view class="tit">皮重(吨)</view>
+					<view style="color: #ff0000; padding-left: 10rpx;">*</view>
+					<view class="con-list">
+						<input placeholder-style="font-size:14px" placeholder="请输入皮重" name="input" v-model="WarehouseInOutInfo.tare"
+							@input="tareInput"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<text class="tit">净重(吨)</text>
+					<view class="con-list">
+						<text>{{numFilter(WarehouseInOutInfo.netWeight)}}</text>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<text class="tit">仓库</text>
+					<view style="color: #ff0000; padding-left: 10rpx;">*</view>
+					<view class="con-list">
+						<text @click=''>{{WarehouseInOutInfo.warehouseName}}</text>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<view class="title">仓位号</view>
+					<view style="color: #ff0000; padding-left: 10rpx;">*</view>
+					<view class="con-list">
+						<input placeholder-style="font-size:14px" placeholder="请输入仓位号" name="input" v-model="WarehouseInOutInfo.binNumber"></input>
+					</view>
+				</view>
+			
+				<view class="c-row b-b">
+					<text class="tit">入库类型 </text>
+					<picker @change="ruChange" :value="ruIndex" :range="ruType" class="con-list">
+						<view >
+							{{ruIndex>-1?ruType[ruIndex]:'请选择入库类型'}}
+						</view>
+					</picker>
+				</view>
+				<view class="c-row b-b">
+					<view class="title">扣款金额</view>
+					<view class="con-list">
+						<input placeholder-style="font-size:14px" placeholder="请输入扣款金额" name="input" v-model="WarehouseInOutInfo.deductionAmount"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<view class="title">扣款项</view>
+					<view class="con-list">
+						<input maxlength='16' placeholder="请输入扣款项" name="input" v-model="WarehouseInOutInfo.deductionItems"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<text class="tit">入库日期</text>
+					
+					<view class="con-list" @click="show = true">{{WarehouseInOutInfo.inOutDate!=''?WarehouseInOutInfo.inOutDate:time}}</view>
+					<u-picker  :params='params' :default-time='time' @confirm="DateChange" v-model="show" mode="time"></u-picker>
+					
+				</view>
+				<view class="c-row ">
+					<text class="tit">上传磅单照片</text>
+				</view>
+				<upload
+					class="upload"
+					ref="upload"
+					:action="action"
+					:max-size="maxSize"
+					:max-count="1"
+					:size-type="['compressed']"
+					@on-success="getImgUrl"
+					@on-remove="onRemove"
+					@on-uploaded="isAdd = true"
+					:before-upload="filterFileType"
+				></upload>
+			</view>
+		</view>
+			
+
+		<view class="center">
+			<view class="title_c ">化验信息</view>
+			<view class="c-list">
+				<view class="c-row b-b">
+					<view class="title">质检员</view>
+					<view class="con-list">
+						<input maxlength='10' minlength='2' placeholder-style="font-size:14px" placeholder="请输入质检员姓名" name="input" v-model="list.qualityInspector"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<view class="title">蛋白(%)>=</view>
+					<view class="con-list">
+						<input placeholder-style="font-size:14px" placeholder="请输入蛋白占比" name="input" v-model="list.protein"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<view class="title">水分(%)<= </view>
+					<view class="con-list">
+						<input placeholder-style="font-size:14px" placeholder="请输入水分占比" name="input" v-model="list.waterContent"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<view class="title">容重(克/升)>= </view>
+					<view class="con-list">
+						<input placeholder-style="font-size:14px" placeholder="请输入容重" name="input" v-model="list.bulkDensity"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<view class="title">热损伤(%)<= </view>
+					<view class="con-list">
+						<input placeholder-style="font-size:14px" placeholder="请输入热损伤占比" name="input" v-model="list.jiaorenli"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<view class="title">杂质(%)<= </view>
+					<view class="con-list">
+						<input placeholder-style="font-size:14px" placeholder="请输入杂质占比" name="input" v-model="list.impurity"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<view class="title">霉变粒(%)<= </view>
+					<view class="con-list">
+						<input placeholder-style="font-size:14px" placeholder="请输入霉变粒占比" name="input" v-model="list.mildewGrain"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<view class="title">不完整粒(%)<= </view>
+					<view class="con-list">
+						<input placeholder-style="font-size:14px" placeholder="请输入不完整粒占比" name="input"
+							v-model="list.imperfectGrain"></input>
+					</view>
+				</view>
+				<view class="c-row b-b">
+					<text class="tit">品级 </text>
+					<picker @change="pinChange" :value="pinIndex" :range="pinType" class="con-list">
+						<view >
+							{{pinIndex>-1?pinType[pinIndex]:'请选择品级'}}
+						</view>
+					</picker>
+				</view>
+			</view>
+		</view>
+	<!-- 底部操作菜单 -->
+	<view class="page-bottom1">
+		<view>
+			<button type="primary" @click="commit1">暂 存</button>
+			<button  @click="commit"  type="primary" class=" action-btn no-border add-cart-btn" >提 交</button>
+		</view>
+	</view>
+</view>
+
+</template>
+<script>
+import upload from '@/components/upload.vue';
+	export default {
+	components:{upload},
+		data() {
+			return {
+				packingType: [],
+				packingIndex: "",
+				goods: {},
+				list: {},
+				WarehouseInOutInfo: {
+					inOutDate:'',
+					warehouseInOutDetail: {},
+					pcFlag: 0,
+					contractNo: {},
+					carNo: {},
+				},
+				WarehouseInOutInfo1: {
+					contractNo: {},
+					carNo: {},
+				},
+				pinIndex: '不限(默认)',
+				pinTypes: '',
+				pinType: ['不限(默认)', '一等品', '二等品', '三等品', '等外'],
+				ruIndex: '采购入库',
+				rutypes: '',
+				ruType: ['采购入库', '移库入库', '暂存入库', '贸易服务入库', '退库'],
+				action: this.$uploadUrl,
+				maxSize: 5 * 1024 * 1024,//限制文件大小 5M
+				btnLoading: false, //防止重复点击
+				imgUrls: [],
+				isAdd: true,
+				params:{
+					year: true,
+					month: true,
+					day: true,
+				},
+				show:false
+			}
+		},
+		computed: {
+				time() {
+					var date=new Date()
+					var year=date.getFullYear()
+					var month=date.getMonth()
+					var date1=date.getDate()
+					if(month+1<10){
+						month="0"+(month+1)
+					}
+					if(date1+1<10){
+						date1="0"+date1
+					}
+					return year+'-'+month+"-"+date1
+				},
+				startDate() {
+				//限制开始时间;
+				//也可以直接限定为当天日期 var date= new Date(); return date
+					return new Date(new Date(new Date().toLocaleDateString()).getTime()-(1*60*60*1000))
+				},
+				endDate() {
+					return new Date()
+				}
+			},
+			onShow(){
+				this.$api.doRequest('get', '/warehouseBaseInfo/selectWarehouse', {compId:'2710b21efc1e4393930c5dc800010dc4',warehouseType:1,}).then(res => {
+			console.log(res)
+			})
+			this.$api.doRequest('get', '/warehouseBaseInfo/getWarehouse', {compId:'',warehouseType:1,}).then(res => {
+			console.log(res)
+			})
+			},
+		onLoad(option) {
+			this.WarehouseInOutInfo.contractNo = option.contractNo
+			this.WarehouseInOutInfo.goodsName = option.goodsName
+			this.WarehouseInOutInfo.startWeight = option.startWeight
+			this.WarehouseInOutInfo1.carNo = option.carNo + '(' + option.tranCarNo + ')'
+			this.WarehouseInOutInfo.warehouseName = option.warehouseName
+			this.WarehouseInOutInfo.id = option.id
+			this.WarehouseInOutInfo.carNo = option.carNo
+			var date=new Date()
+			var year=date.getFullYear()
+			var month=date.getMonth()
+			var date1=date.getDate()
+			if(month+1<10){
+				month="0"+(month+1)
+			}
+			this.time = year+'-'+month+"-"+date1
+		},
+		methods: {
+			
+			DateChange(e) {
+				this.WarehouseInOutInfo.inOutDate=e.year+'-'+e.month+'-'+e.day
+			},
+			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;
+				}
+			},
+			getImgUrl(res) {
+				this.imgUrls.push(res.data);
+			},
+			onRemove(index) {
+				this.imgUrls.splice(index, 1);
+			},
+			commit1() {
+				if(this.WarehouseInOutInfo.grossWeight>100||this.WarehouseInOutInfo.grossWeight<1){
+					this.$api.msg('毛重输入错误')
+					return
+				}
+				if(this.WarehouseInOutInfo.grossWeight.indexOf('.')!=-1){
+					if(this.WarehouseInOutInfo.grossWeight.split('.')[1].length>2){
+						this.$api.msg('毛重输入错误')
+						return
+					}
+				}
+				if(this.WarehouseInOutInfo.tare>50||this.WarehouseInOutInfo.tare<1){
+					this.$api.msg('皮重输入错误')
+					return
+				}
+				if(this.WarehouseInOutInfo.tare.indexOf('.')!=-1){
+					if(this.WarehouseInOutInfo.tare.split('.')[1].length>2){
+						this.$api.msg('皮重输入错误')
+						return
+					}
+				}
+				if(this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount>10000||this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount<0){
+					this.$api.msg('扣款金额输入错误')
+					return
+				}
+				if(this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount.indexOf('.')!=-1){
+					if(this.WarehouseInOutInfo.deductionAmount.split('.')[1].length>2){
+						this.$api.msg('扣款金额输入错误')
+						return
+					}
+				}
+				if(this.list.qualityInspector&&this.list.qualityInspector<2||this.list.qualityInspector&&this.list.qualityInspector>10){
+					this.$api.msg('质检员姓名输入错误')
+					return
+				}
+				if(this.list.protein&&this.list.protein<1||this.list.protein&&this.list.protein>80){
+					this.$api.msg('蛋白占比输入错误')
+					return
+				}
+				if(this.list.protein&&this.list.protein.indexOf('.')!=-1){
+					if(this.list.protein.split('.')[1].length>2){
+						this.$api.msg('蛋白占比输入错误')
+						return
+					}
+				}
+				if(this.list.waterContent&&this.list.waterContent<1||this.list.waterContent&&this.list.waterContent>40){
+					this.$api.msg('水分输入错误')
+					return
+				}
+				if(this.list.waterContent&&this.list.waterContent.indexOf('.')!=-1){
+					if(this.list.waterContent.split('.')[1].length>2){
+						this.$api.msg('水分输入错误')
+						return
+					}
+				}
+				if(this.list.bulkDensity&&this.list.bulkDensity<1||this.list.bulkDensity&&this.list.bulkDensity>40){
+					this.$api.msg('容重输入错误')
+					return
+				}
+				if(this.list.bulkDensity&&this.list.bulkDensity.indexOf('.')!=-1){
+					if(this.list.bulkDensity.split('.')[1].length>2){
+						this.$api.msg('容重输入错误')
+						return
+					}
+				}
+				if(this.list.jiaorenli&&this.list.jiaorenli<1||this.list.jiaorenli&&this.list.jiaorenli>40){
+					this.$api.msg('热损伤输入错误')
+					return
+				}
+				if(this.list.jiaorenli&&this.list.jiaorenli.indexOf('.')!=-1){
+					if(this.list.jiaorenli.split('.')[1].length>2){
+						this.$api.msg('热损伤输入错误')
+						return
+					}
+				}
+				if(this.list.impurity&&this.list.impurity<1||this.list.impurity&&this.list.impurity>40){
+					this.$api.msg('杂质输入错误')
+					return
+				}
+				if(this.list.impurity&&this.list.impurity.indexOf('.')!=-1){
+					if(this.list.impurity.split('.')[1].length>2){
+						this.$api.msg('杂质输入错误')
+						return
+					}
+				}
+				if(this.list.mildewGrain&&this.list.mildewGrain<1||this.list.mildewGrain&&this.list.mildewGrain>40){
+					this.$api.msg('霉变粒输入错误')
+					return
+				}
+				if(this.list.mildewGrain&&this.list.mildewGrain.indexOf('.')!=-1){
+					if(this.list.mildewGrain.split('.')[1].length>2){
+						this.$api.msg('霉变粒输入错误')
+						return
+					}
+				}
+				if(this.list.imperfectGrain&&this.list.imperfectGrain<1||this.list.imperfectGrain&&this.list.imperfectGrain>40){
+					this.$api.msg('不完整粒输入错误')
+					return
+				}
+				if(this.list.imperfectGrain&&this.list.imperfectGrain.indexOf('.')!=-1){
+					if(this.list.imperfectGrain.split('.')[1].length>2){
+						this.$api.msg('不完整粒输入错误')
+						return
+					}
+				}
+				uni.showLoading({
+					title:"正在暂存"
+				})
+				this.WarehouseInOutInfo.deductionAmount=-this.WarehouseInOutInfo.deductionAmount
+				this.WarehouseInOutInfo.warehouseInOutDetail = this.list
+				this.WarehouseInOutInfo.statusFlag = 1
+				if(this.imgUrls.length > 0){
+					this.WarehouseInOutInfo.addressUrl = this.imgUrls[0]
+				}
+				this.$api.doRequest('post', '/warehouseInOutInfo/InOutWarehouse', this.WarehouseInOutInfo).then(res => {
+					if(res.data.code==200){
+						uni.showToast({
+							title: '暂存成功',
+							icon: 'none',
+							duration: 2000
+						})
+						uni.navigateBack({})
+					}else{
+						uni.showToast({
+							title: res.data.message,
+							icon: 'none',
+							duration: 2000
+						})
+					}
+					uni.hideLoading()
+					
+				}).catch(res => {
+					uni.showToast({
+						title: res.data.message,
+						icon: 'none',
+						duration: 2000
+					})
+					uni.hideLoading()
+				})
+			},
+			commit() {
+				if(!this.WarehouseInOutInfo.grossWeight){
+					this.$api.msg('毛重不能为空')
+					return
+				}
+				if(!this.WarehouseInOutInfo.tare){
+					this.$api.msg('皮重不能为空')
+					return
+				}
+				if(!this.WarehouseInOutInfo.warehouseName){
+					this.$api.msg('仓库不能为空')
+					return
+				}
+				if(!this.WarehouseInOutInfo.binNumber){
+					this.$api.msg('仓库不能为空')
+					return
+				}
+				if(this.WarehouseInOutInfo.grossWeight>100||this.WarehouseInOutInfo.grossWeight<1){
+					this.$api.msg('毛重输入错误')
+					return
+				}
+				if(this.WarehouseInOutInfo.grossWeight.indexOf('.')!=-1){
+					if(this.WarehouseInOutInfo.grossWeight.split('.')[1].length>2){
+						this.$api.msg('毛重输入错误')
+						return
+					}
+				}
+				if(this.WarehouseInOutInfo.tare>50||this.WarehouseInOutInfo.tare<1){
+					this.$api.msg('皮重输入错误')
+					return
+				}
+				if(this.WarehouseInOutInfo.tare.indexOf('.')!=-1){
+					if(this.WarehouseInOutInfo.tare.split('.')[1].length>2){
+						this.$api.msg('皮重输入错误')
+						return
+					}
+				}
+				if(this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount>10000||this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount<0){
+					this.$api.msg('扣款金额输入错误')
+					return
+				}
+				if(this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount.indexOf('.')!=-1){
+					if(this.WarehouseInOutInfo.deductionAmount.split('.')[1].length>2){
+						this.$api.msg('扣款金额输入错误')
+						return
+					}
+				}
+				if(this.list.qualityInspector&&this.list.qualityInspector<2||this.list.qualityInspector&&this.list.qualityInspector>10){
+					this.$api.msg('质检员姓名输入错误')
+					return
+				}
+				if(this.list.protein&&this.list.protein<1||this.list.protein&&this.list.protein>80){
+					this.$api.msg('蛋白占比输入错误')
+					return
+				}
+				if(this.list.protein&&this.list.protein.indexOf('.')!=-1){
+					if(this.list.protein.split('.')[1].length>2){
+						this.$api.msg('蛋白占比输入错误')
+						return
+					}
+				}
+				if(this.list.waterContent&&this.list.waterContent<1||this.list.waterContent&&this.list.waterContent>40){
+					this.$api.msg('水分输入错误')
+					return
+				}
+				if(this.list.waterContent&&this.list.waterContent.indexOf('.')!=-1){
+					if(this.list.waterContent.split('.')[1].length>2){
+						this.$api.msg('水分输入错误')
+						return
+					}
+				}
+				if(this.list.bulkDensity&&this.list.bulkDensity<1||this.list.bulkDensity&&this.list.bulkDensity>40){
+					this.$api.msg('容重输入错误')
+					return
+				}
+				if(this.list.bulkDensity&&this.list.bulkDensity.indexOf('.')!=-1){
+					if(this.list.bulkDensity.split('.')[1].length>2){
+						this.$api.msg('容重输入错误')
+						return
+					}
+				}
+				if(this.list.jiaorenli&&this.list.jiaorenli<1||this.list.jiaorenli&&this.list.jiaorenli>40){
+					this.$api.msg('热损伤输入错误')
+					return
+				}
+				if(this.list.jiaorenli&&this.list.jiaorenli.indexOf('.')!=-1){
+					if(this.list.jiaorenli.split('.')[1].length>2){
+						this.$api.msg('热损伤输入错误')
+						return
+					}
+				}
+				if(this.list.impurity&&this.list.impurity<1||this.list.impurity&&this.list.impurity>40){
+					this.$api.msg('杂质输入错误')
+					return
+				}
+				if(this.list.impurity&&this.list.impurity.indexOf('.')!=-1){
+					if(this.list.impurity.split('.')[1].length>2){
+						this.$api.msg('杂质输入错误')
+						return
+					}
+				}
+				if(this.list.mildewGrain&&this.list.mildewGrain<1||this.list.mildewGrain&&this.list.mildewGrain>40){
+					this.$api.msg('霉变粒输入错误')
+					return
+				}
+				if(this.list.mildewGrain&&this.list.mildewGrain.indexOf('.')!=-1){
+					if(this.list.mildewGrain.split('.')[1].length>2){
+						this.$api.msg('霉变粒输入错误')
+						return
+					}
+				}
+				if(this.list.imperfectGrain&&this.list.imperfectGrain<1||this.list.imperfectGrain&&this.list.imperfectGrain>40){
+					this.$api.msg('不完整粒输入错误')
+					return
+				}
+				if(this.list.imperfectGrain&&this.list.imperfectGrain.indexOf('.')!=-1){
+					if(this.list.imperfectGrain.split('.')[1].length>2){
+						this.$api.msg('不完整粒输入错误')
+						return
+					}
+				}
+				this.WarehouseInOutInfo.deductionAmount=-this.WarehouseInOutInfo.deductionAmount
+				if(this.imgUrls.length > 0){
+					this.WarehouseInOutInfo.addressUrl = this.imgUrls[0]
+				}
+				this.WarehouseInOutInfo.warehouseInOutDetail = this.list
+				this.WarehouseInOutInfo.statusFlag = 3
+				uni.showLoading({
+					title:"正在提交"
+				})
+				
+				this.$api.doRequest('post', '/warehouseInOutInfo/InOutWarehouse', this.WarehouseInOutInfo).then(res => {
+					if(res.data.code==200){
+						uni.showToast({
+							title: '提交成功',
+							icon: 'none'
+						})
+						setTimeout(() => {
+							uni.navigateBack({})
+						}, 200)
+					}else{
+						uni.showToast({
+							title: res.data.message,
+							icon: 'none',
+							duration: 2000
+						})
+					}
+					uni.hideLoading()
+					
+				}).catch(res => {
+					uni.showToast({
+						title: res.data.message,
+						icon: 'none',
+						duration: 2000
+					})
+					uni.hideLoading()
+				})
+			},
+			numFilter(value) {
+				if (!value) {
+					return 0
+				}
+				// 截取当前数据到小数点后两位
+				let realVal = parseFloat(value).toFixed(2)
+				return realVal
+			},
+			grossWeightInput(e) {
+				this.WarehouseInOutInfo.grossWeight = e.detail.value
+				if (this.WarehouseInOutInfo.grossWeight && this.WarehouseInOutInfo.tare) {
+					this.WarehouseInOutInfo.netWeight = this.WarehouseInOutInfo.grossWeight - this.WarehouseInOutInfo.tare
+				}
+			},
+			tareInput(e) {
+				this.WarehouseInOutInfo.tare = e.detail.value
+				if (this.WarehouseInOutInfo.grossWeight && this.WarehouseInOutInfo.tare) {
+					this.WarehouseInOutInfo.netWeight = this.WarehouseInOutInfo.grossWeight - this.WarehouseInOutInfo.tare
+				}
+			},
+			ruChange(e) {
+				this.WarehouseInOutInfo.inOutTypeKey = e.detail.value
+				this.WarehouseInOutInfo.inOutType = this.ruType[this.ruIndex];
+			},
+			pinChange(e) {
+				this.WarehouseInOutInfo.gradeKey = e.detail.value
+				this.WarehouseInOutInfo.grade = this.pinType[this.pinIndex];
+			},
+		}
+
+	}
+</script>
+<style scoped lang='scss'>
+	.upload {
+		/deep/.u-list-item,
+		.u-add-wrap {
+			background-color: #eceae8;
+		}
+	}
+	.center{
+		margin: 15rpx 15rpx 10rpx 15rpx;
+		padding:0rpx 10rpx 30rpx 10rpx;
+		background-color: #FFFFFF;
+		border-radius: 15px;
+	}
+	.title_b{
+		margin: 20rpx 20rpx 0rpx 20rpx;
+		padding:20rpx 10rpx 20rpx 10rpx;
+		font-size: 18px;
+		font-weight: 550;
+		border-bottom: 1px solid #d6d6d6;
+	}
+	.title_c{
+		margin: 20rpx 20rpx 0rpx 20rpx;
+		padding:20rpx 10rpx 20rpx 10rpx;
+		font-size: 18px;
+		font-weight: 550;
+	}
+	.c-row {
+		display: -webkit-box;
+		display: -webkit-flex;
+		display: flex;
+		-webkit-box-align: center;
+		-webkit-align-items: center;
+		align-items: center;
+		padding: 20rpx 30rpx;
+		position: relative;
+	}
+
+	.con-list {
+		-webkit-box-flex: 1;
+		-webkit-flex: 1;
+		flex: 1;
+		display: -webkit-box;
+		display: -webkit-flex;
+		display: flex;
+		-webkit-box-orient: vertical;
+		-webkit-box-direction: normal;
+		-webkit-flex-direction: column;
+		flex-direction: column;
+		color: #303133;
+		line-height: 40rpx;
+		text-align: right;
+		padding-right: 20rpx;
+	}
+
+	.d-header {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		height: 80upx;
+		font-size: $font-base + 2upx;
+		color: $font-color-dark;
+		position: relative;
+
+		text {
+			padding: 0 20upx;
+			background: #fff;
+			position: relative;
+			z-index: 1;
+		}
+
+		&:after {
+			position: absolute;
+			left: 50%;
+			top: 50%;
+			transform: translateX(-50%);
+			width: 300upx;
+			height: 0;
+			content: '';
+			border-bottom: 1px solid #ccc;
+		}
+	}
+	/* 底部操作菜单 */
+	.page-bottom1 {
+		position: fixed;
+		left: 0;
+		bottom: 0;
+		z-index: 95;
+		width:100%;
+		height: 70px;
+		background: rgba(255, 255, 255, .9);
+		padding:15px;
+		border-radius: 0;
+		text-align:right;
+		button{
+			display:inline-block;
+			border-radius:18px;
+			margin:0 10px;
+			font-size:14px;background:#fff;
+			color:#333;
+			border:1px solid #333;
+			padding-left: 50rpx;
+			padding-right: 50rpx;
+		}
+		.action-btn{
+			background:#22C572;
+			color:#fff;
+			border:1px solid #22C572;
+		}
+		.p-b-btn {
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: center;
+			font-size: $font-sm;
+			color: $font-color-base;
+			width: 96upx;
+			height: 80upx;
+	
+			.yticon {
+				font-size: 40upx;
+				line-height: 48upx;
+				color: $font-color-light;
+			}
+	
+			&.active,
+			&.active .yticon {
+				color: $uni-color-primary;
+			}
+	
+			.icon-fenxiang2 {
+				font-size: 42upx;
+				transform: translateY(-2upx);
+			}
+	
+			.icon-shoucang {
+				font-size: 46upx;
+			}
+		}
+	
+		
+	}
+	.container{
+		padding-bottom: 160upx;
+	}
+</style>
+

+ 340 - 0
pageD/warehousings/ex_warehouse_detail.vue

@@ -0,0 +1,340 @@
+<template>
+	<view class="container">
+		<view class="center">
+			<view class="title_b ">发运信息</view>
+			<view class="c-row ">
+				<text class="tit">合同编号</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.contractNo}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">货名</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.goodsName}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">发车净重(吨)</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.startWeight}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">车牌号</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.carNo}}</text>
+				</view>
+			</view>
+		</view>
+		<view class="center">
+			<view class="title_b">出库信息</view>
+			<view class="c-list">
+				<view class="c-row ">
+					<text class="tit">毛重(吨)</text>
+					<view class="con-list">
+						<text>{{warehouseInOutInfo.grossWeight}}</text>
+					</view>
+				</view>
+				<view class="c-row ">
+					<text class="tit">皮重(吨)</text>
+					<view class="con-list">
+						<text>{{warehouseInOutInfo.tare}}</text>
+					</view>
+				</view>
+				<view class="c-row ">
+					<text class="tit">净重(吨)</text>
+					<view class="con-list">
+						<text>{{warehouseInOutInfo.netWeight}}</text>
+					</view>
+				</view>
+				<view class="c-row ">
+					<text class="tit">仓库</text>
+					<view class="con-list">
+						<text>{{warehouseInOutInfo.warehouseName}}</text>
+					</view>
+				</view>
+				<view class="c-row ">
+					<text class="tit">仓位号</text>
+					<view class="con-list">
+						<text>{{warehouseInOutInfo.binNumber}}</text>
+					</view>
+				</view>
+				<view class="c-row ">
+					<text class="tit">入库类型</text>
+					<view class="con-list">
+						<text>{{warehouseInOutInfo.inOutType}}</text>
+					</view>
+				</view>
+				<view class="c-row ">
+					<text class="tit">扣款金额(元/吨)</text>
+					<view class="con-list">
+						<text>{{warehouseInOutInfo.deductionAmount}}</text>
+					</view>
+				</view>
+				<view class="c-row ">
+					<text class="tit">扣款项</text>
+					<view class="con-list">
+						<text>{{warehouseInOutInfo.deductionItems}}</text>
+					</view>
+				</view>
+				<view class="c-row ">
+					<text class="tit">入库日期</text>
+					<view class="con-list">
+						<text>{{warehouseInOutInfo.inOutDate}}</text>
+					</view>
+				</view>
+				<view class="c-row ">
+					<text class="tit">磅单照片</text>
+				</view>
+				<view style="padding-left: 30rpx;">
+					<u-image width="30%" height="180rpx" :src="warehouseInOutInfo.addressUrl"></u-image>
+				</view>
+			</view>
+		</view>
+		<view class="center">
+			<view class="title_b">化验信息</view>
+			<view class="c-row ">
+				<text class="tit">质检员</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.qualityInspector}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">蛋白(%){{'>='}}</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.protein}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">水分(%){{'<='}}</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.waterContent}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">容重(g/L){{'<='}}</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.bulkDensity}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">热损伤(%){{'<='}}</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.jiaorenli}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">杂质(%){{'<='}}</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.impurity}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">霉变粒(%){{'<='}}</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.mildewGrain}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">不完整粒(%){{'<='}} </text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.imperfectGrain}}</text>
+				</view>
+			</view>
+			<view class="c-row ">
+				<text class="tit">品级</text>
+				<view class="con-list">
+					<text>{{warehouseInOutInfo.grade}}</text>
+				</view>
+			</view>
+		</view>
+
+	</view>
+</template>
+<script>
+	export default {
+
+		data() {
+			return {
+				warehouseInOutInfo: {
+					warehouseInOutDetail:{
+						qualityInspector:''
+					}
+				}
+			}
+		},
+		onLoad(options){
+				
+			this.getList(options.id)
+			console.log(options.id,"idwei1")
+		},
+		methods: {
+			typeChange(e){
+				this.typesIndex = e.detail.value
+				this.types = this.typesType[this.typesIndex];
+			},
+			getList(id1){
+				var that=this
+				this.$api.doRequest('get','/warehouseInOutInfo/getInfo',{id:id1}).then(res => {
+					console.log(res)
+					that.warehouseInOutInfo = res.data.data
+					
+				})
+				.catch(res => {
+					uni.showToast({
+						title: res.errmsg,
+						icon:'none',
+						duration: 2000
+					})
+				});
+				console.log(this.warehouseInOutInfo)
+			}
+		}
+		}
+</script>
+<style scoped lang='scss'>
+	.center{
+		margin: 15rpx 15rpx 10rpx 15rpx;
+		padding:0rpx 10rpx 30rpx 10rpx;
+		background-color: #FFFFFF;
+		border-radius: 15px;
+	}
+	.title_b{
+		margin: 20rpx 20rpx 0rpx 20rpx;
+		padding:20rpx 10rpx 20rpx 10rpx;
+		font-size: 18px;
+		font-weight: 550;
+		border-bottom: 1px solid #d6d6d6;
+	}
+	.title_c{
+		margin: 20rpx 20rpx 0rpx 20rpx;
+		padding:20rpx 10rpx 20rpx 10rpx;
+		font-size: 18px;
+		font-weight: 550;
+	}
+	.margin-bottom {
+		margin-bottom: 30px;
+	}
+	
+	.c-row {
+		display: -webkit-box;
+		display: -webkit-flex;
+		display: flex;
+		-webkit-box-align: center;
+		-webkit-align-items: center;
+		align-items: center;
+		padding: 20rpx 30rpx;
+		position: relative;
+	}
+	
+	.con-list {
+		-webkit-box-flex: 1;
+		-webkit-flex: 1;
+		flex: 1;
+		display: -webkit-box;
+		display: -webkit-flex;
+		display: flex;
+		-webkit-box-orient: vertical;
+		-webkit-box-direction: normal;
+		-webkit-flex-direction: column;
+		flex-direction: column;
+		color: #303133;
+		line-height: 40rpx;
+		text-align: right;
+		padding-right: 20rpx;
+	}
+	
+	.d-header {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		height: 80upx;
+		font-size: $font-base + 2upx;
+		color: $font-color-dark;
+		position: relative;
+	
+		text {
+			padding: 0 20upx;
+			background: #fff;
+			position: relative;
+			z-index: 1;
+		}
+	
+		&:after {
+			position: absolute;
+			left: 50%;
+			top: 50%;
+			transform: translateX(-50%);
+			width: 300upx;
+			height: 0;
+			content: '';
+			border-bottom: 1px solid #ccc;
+		}
+	}
+	/* 底部操作菜单 */
+	.page-bottom1 {
+		position: fixed;
+		left: 0;
+		bottom: 0;
+		z-index: 95;
+		width:100%;
+		height: 70px;
+		background: rgba(255, 255, 255, .9);
+		padding:15px;
+		border-radius: 0;
+		text-align:right;
+		button{
+			display:inline-block;
+			border-radius:18px;
+			margin:0 10px;
+			font-size:14px;background:#fff;
+			color:#333;
+			border:1px solid #333;
+			padding-left: 50rpx;
+			padding-right: 50rpx;
+		}
+		.action-btn{
+			background:#22C572;
+			color:#fff;
+			border:1px solid #22C572;
+		}
+		.p-b-btn {
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: center;
+			font-size: $font-sm;
+			color: $font-color-base;
+			width: 96upx;
+			height: 80upx;
+	
+			.yticon {
+				font-size: 40upx;
+				line-height: 48upx;
+				color: $font-color-light;
+			}
+	
+			&.active,
+			&.active .yticon {
+				color: $uni-color-primary;
+			}
+	
+			.icon-fenxiang2 {
+				font-size: 42upx;
+				transform: translateY(-2upx);
+			}
+	
+			.icon-shoucang {
+				font-size: 46upx;
+			}
+		}
+	
+		
+	}
+	.container{
+		padding-bottom: 160upx;
+	}
+</style>
+
+

文件差异内容过多而无法显示
+ 374 - 398
pages.json


+ 115 - 18
pages/release/release.vue

@@ -1,23 +1,40 @@
 <template>
 	<view class="center">
 		<view class="introduce-section">
-			<view class="informations"  v-for="(item , index) in procurementPlanInfos" :Key="index">
+			<view class="informations "  v-for="(item , index) in procurementPlanInfos" :Key="index">
 				<view @click="details(item)">
-				<view class="labels">{{item.goodsName}}</view>
-				<view class="labels">{{item.weight}}</view>
-				<view class="labels">{{item.unitPrice}}</view>
-				<view class="title">{{item.receivePrivate}}{{item.receiveCity}}{{item.receiveArea}}</view>
+					<view class="flex">
+					<view class="logo flex">
+						买粮
+					</view>
+				<text class="grain">{{item.goodsName}}</text>
+				<view class="status">
+					<view v-if='item.status=="已驳回"' class='put2'>未通过</view>
+					<view v-if='item.status=="待审核"' class='put1'>审核中</view>
+					<view v-if='item.status=="已认证"' class='put'>已通过</view>
+				</view>	
+				</view>
+				<view class="address">{{item.receivePrivate}}{{item.receiveCity}}{{item.receiveArea}}</view>
+				<view class="flex ">
+					<view class="weight" >{{item.weight > 0 ? item.weight : 0}}吨</view>
+					<text class="unitPrice">{{item.unitPrice}} <text class="amount">元/吨</text></text>
+					
 				</view>
-				<view @click='edit(item)' v-if='item.status!="待审核"' class='cu-tag radius line-pink'>编辑</view>
-				<view class='cu-tag radius line-pink' @click="switch1(item)">隐藏</view>
-				<view class='cu-tag radius line-pink' @click="switch1(item)">显示</view>
-			    <view class='cu-tag radius line-pink' @click="deleteRelease(item)">删除</view>
-				<view v-if='item.status=="已驳回"' class='cu-tag radius line-pink put'>未通过</view>
+				</view>
+				<hr style="margin: 16px 0; color: #EEEEEE;">
+				<view class="flex" style="right: 10px;">
+					<view @click='edit(item)' v-if='item.status!="待审核"' class='anniu'>编辑</view>
+					<view class='anniu' @click="switch1(item)">隐藏</view>
+					<view class='anniu' @click="switch1(item)">显示</view>
+					<view class='anniu' @click="deleteRelease(item)">删除</view>
+				</view>
+				
+				<!-- <view v-if='item.status=="已驳回"' class='cu-tag radius line-pink put'>未通过</view>
 				<view v-if='item.status=="待审核"' class='cu-tag radius line-pink put'>审核中</view>
-				<view v-if='item.status=="已认证"' class='cu-tag radius line-pink put'>已通过</view>
+				<view v-if='item.status=="已认证"' class='cu-tag radius line-pink put'>已通过</view> -->
 			</view>
 		</view>
-		<view class="page-bottom">
+		<!-- <view class="page-bottom">
 			<view class="action-btn-group">
 				<picker style='display:inline-block;' @change="releaseChange" :value="releases" :range="releaseType">
 					<button  type="primary" class=" action-btn no-border add-cart-btn" >发布</button>
@@ -26,7 +43,13 @@
 					</view>
 				</picker>
 			</view>
-		</view>
+		</view> -->
+		<picker style='display:inline-block;width: 100%;' @change="releaseChange" :value="releases" :range="releaseType">
+			<button  type="primary" class="btn" >发布</button>
+			<view class="picker">
+				{{releases>-1?releaseType[releases]:''}}
+			</view>
+		</picker>
 	</view>
 </template>
 
@@ -162,10 +185,14 @@
 <style>
 	.center {
 		padding: 10px 20px;
+			background-color: #F5F6FA;
 	}
 
 	.informations {
-		/* display: inline-flex; */
+      background-color: #FFFFFF;
+	  margin-top: 20px;
+	  border-radius: 16px;
+	  padding: 10px;
 	}
 
 	.labels {
@@ -173,12 +200,82 @@
 		line-height: 20px;
 		margin-right: 40px;
 	}
-	.put{
-		float: right;
-	}
+
 	.fabuBut{
 		margin-bottom: 0px;
 	}
+	.logo{
+		width: 36px;
+		height: 24px;
+		background-color: #FEECE6;
+		color: #FE6430;
+		border-radius: 8px;
+		padding: 3px;
+		margin-top: 2px;
+	}
+    .grain{
+		font-size: 18px;
+		color: #333333;
+		font-weight: 600;
+		margin-left: 20px;
+	}
+	.address{
+		margin-left: 56px;
+		font-size: 14px;
+		color: #333333;	
+	}
+	.weight{
+		margin-left: 56px;
+		font-size: 14px;
+		color: #878C9C;
+	}
+	.unitPrice{
+		
+		font-size: 22px;
+		font-weight: 600;
+/* 	margin-left: 200px; */
+position: absolute;
+	/* text-align: right; */
+	right: 40px;
 
-
+	}
+	/* .amount{
+		width: 100%;
+	} */
+	.amount{
+		margin-left: 10px;
+		font-size: 12px;
+		
+		}
+		.status{
+			position: absolute;
+			right: 40px;
+		}
+		.put{
+			color: #22C572;
+			font-size: 14px;
+		}
+		.put1{
+			color: #FE6430;
+			font-size: 14px;
+		}
+		.put2{
+			color: #FB1E1E;
+			font-size: 14px;
+		}
+		.anniu{
+			width: 60px;
+			height: 30px;
+			border: 1px solid #CDCDCD;
+			border-radius: 16px;
+			text-align: center;
+			line-height: 30px;
+			margin-left: 10px;
+		}
+		.btn{
+			width: 100%;
+			border-radius: 20px;
+			background-color: #22C572;
+			margin-top: 10px;
+		}
 </style>

部分文件因为文件数量过多而无法显示