From 3fef62b03c16aa69c109c355150cdb698b777feb Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期五, 28 六月 2024 17:39:20 +0800
Subject: [PATCH] Merge branch 'develop/steels' into feature/steels/yangan

---
 pages/public-page/selectSpecifications/selectSpecifications.vue |  373 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 340 insertions(+), 33 deletions(-)

diff --git a/pages/public-page/selectSpecifications/selectSpecifications.vue b/pages/public-page/selectSpecifications/selectSpecifications.vue
index 1ce2331..cefbd16 100644
--- a/pages/public-page/selectSpecifications/selectSpecifications.vue
+++ b/pages/public-page/selectSpecifications/selectSpecifications.vue
@@ -1,11 +1,16 @@
 <template>
 	<view class="main">
 		<u--form labelPosition="top"
-			labelWidth="20%"
+			labelWidth="30%"
 			:borderBottom="false"
+			:rules="pageFlag ? rules : rulesGe"
+			:errorType="'border-bottom'" 
 			:model="dataForm"
 			ref="uForm">
-			<u-form-item label="涓�绾у搧绫�"
+			<!-- <u-form-item 
+			borderBottom=true
+			label="涓�绾у搧绫�"
+			v-if="!pageFlag"
 				prop="firstClass"
 				:borderBottom="false">
 				<u-cell-group>
@@ -16,25 +21,66 @@
 							slot="right-icon"
 							size="30"></u-icon></u-cell>
 				</u-cell-group>
-			</u-form-item>
-			<u-form-item label="浜岀骇鍝佸悕"
+			</u-form-item> -->
+			<u-form-item
+			borderBottom=true
+			label="浜岀骇鍝佸悕"
 				prop="secondClass"
 				:borderBottom="false">
 				<u-cell-group>
-					<u-cell :title="dataForm.secondClass"
+					<!-- <u-cell :title="dataForm.secondClass"
 						value="璇烽�夋嫨"
 						@click="secondClassSelect">
 						<u-icon name="arrow-right"
 							slot="right-icon"
-							size="30"></u-icon></u-cell>
+							size="30"></u-icon></u-cell> -->
+							<!-- <niceui-data-select-input
+							v-model="dataForm.secondClass"
+							:localdata="secondClassActionsList"
+							@change="change"
+							:value="dataForm.secondClass"
+							class="uni-px-5 uni-pb-5"
+							></niceui-data-select-input> -->
+							<uni-combox  :candidates="secondClassActionsList" placeholder="璇烽�夋嫨浜岀骇鍝佸悕" v-model="dataForm.secondClass"></uni-combox>
 				</u-cell-group>
 			</u-form-item>
-			<u-form-item label="瑙勬牸"
+			<u-form-item 
+			label="瑙勬牸"
 				prop="specifications"
 				borderBottom>
 				<u-input v-model="dataForm.specifications"
 					placeholder="璇疯緭鍏ヨ鏍�"
 					border="bottom"
+					@input="$u.debounce(specInputHandle, 500)"></u-input>
+			</u-form-item>
+			<!-- 鏂板涓嶅悎鏍肩О閲� -->
+			<u-form-item label="涓嶅悎鏍奸噸閲�"
+			    v-if="pageFlag"
+				prop="unqualifiedWeight"
+				borderBottom>
+				<u-input v-model="dataForm.unqualifiedWeight"
+					placeholder="璇疯緭鍏ラ噸閲�"
+					type="digit"
+					border="bottom"
+					@change="v=>checkNum(v,'unqualifiedWeight')"
+					@input="$u.debounce(specInputHandle, 500)"></u-input>
+			</u-form-item>
+			<!-- <u-form-item label="涓嶅悎鏍煎垽瀹�" prop="unqualifiedType">
+				<u-radio-group  size='32' v-model="dataForm.unqualifiedType">
+				<u-radio  :label-size="25" :name="'1'"  :label="'瓒呭昂鎵g綒'" :disabled="disabled">闀垮害鎵g綒</u-radio>
+				<u-radio  :label-size="25" :name="'2'" :label="'鍘氬害鎵g綒'" :disabled="disabled">鍘氬害鎵g綒</u-radio>
+				<u-radio  :label-size="25" :name="'3'" :label="'瀵嗛棴鍣�'" :disabled="disabled">瀵嗛棴鍣�</u-radio>
+				</u-radio-group>
+			</u-form-item> -->
+			<u-form-item label="鍗曚环"
+				prop="penaltyUnitPrice"
+				v-if="pageFlag"
+				borderBottom>
+				<u-input v-model="dataForm.penaltyUnitPrice"
+					placeholder="璇疯緭鍏ヤ笉鍚堟牸鍗曚环"
+					type="digit"
+					border="bottom"
+					@change="v=>checkNum(v,'penaltyUnitPrice')"
 					@input="$u.debounce(specInputHandle, 500)"></u-input>
 			</u-form-item>
 		</u--form>
@@ -79,13 +125,19 @@
 	export default {
 		data() {
 			return {
+				pageFlag:false, // false:'涓嶅悎鏍�'  true :'鍚堟牸鐨�'
+				
 				dataForm: {
 					firstClass: "",
 					secondClass: "",
-					specifications: ""
+					specifications: "",
+					unqualifiedWeight:'',
+					// unqualifiedType:'',
+					penaltyUnitPrice:''
 				},
 				index: '',
 				takeCoalId: "",
+				params:{},
 				// 涓�绾у搧绫绘搷浣滆彍鍗�
 				firstClassActionsList: [],
 				firstClassShow: false,
@@ -98,6 +150,76 @@
 				// 鍒ゆ柇鏄慨鏀瑰搧鍚嶄笌瑙勬牸杩樻槸涓嶅悎鏍煎搧鍚�
 				productName: false,
 				unqualified: false,
+				rules: {
+				'firstClass': {
+					type: 'string',
+					required: true,
+					message: '璇烽�夋嫨鍊�',
+					trigger: ['blur', 'change']
+				},
+				'secondClass': {
+					type: 'string',
+					required: true,
+					message: '璇烽�夋嫨鍊�',
+					trigger: ['blur', 'change']
+				},
+				'specifications': {
+					type: 'string',
+					required: false,
+					message: '璇烽�夋嫨鍊�',
+					trigger: ['blur', 'change']
+				},
+				'unqualifiedWeight': {
+					required: true,
+					message: '璇烽�夋嫨鍊�',
+					trigger: ['blur', 'change']
+				},
+				// 'unqualifiedType':{
+				// 	required: true,
+				// 	message: '璇烽�夋嫨鍊�',
+				// 	trigger: ['blur', 'change']
+				// },
+				'penaltyUnitPrice':{
+					required: false,
+					message: '璇烽�夋嫨鍊�',
+					trigger: ['blur', 'change']
+				}
+			},
+			    rulesGe:{
+					'firstClass': {
+					type: 'string',
+					required: true,
+					message: '璇烽�夋嫨鍊�',
+					trigger: ['blur', 'change']
+				},
+				'secondClass': {
+					type: 'string',
+					required: true,
+					message: '璇烽�夋嫨鍊�',
+					trigger: ['blur', 'change']
+				},
+				'specifications': {
+					type: 'string',
+					required: false,
+					message: '璇烽�夋嫨鍊�',
+					trigger: ['blur', 'change']
+				},
+				'unqualifiedWeight': {
+					required: false,
+					message: '璇烽�夋嫨鍊�',
+					trigger: ['blur', 'change']
+				},
+				// 'unqualifiedType':{
+				// 	required: true,
+				// 	message: '璇烽�夋嫨鍊�',
+				// 	trigger: ['blur', 'change']
+				// },
+				'penaltyUnitPrice':{
+					required: false,
+					message: '璇烽�夋嫨鍊�',
+					trigger: ['blur', 'change']
+				}
+				},
 				// 
 				showWeighCopyStorge: []
 			}
@@ -105,35 +227,88 @@
 		computed: {
 			...mapState(["globalShowWeigh"]),
 		},
+		onReady() {
+		//濡傛灉闇�瑕佸吋瀹瑰井淇″皬绋嬪簭锛屽苟涓旀牎楠岃鍒欎腑鍚湁鏂规硶绛夛紝鍙兘閫氳繃setRules鏂规硶璁剧疆瑙勫垯銆�
+    	this.$refs.uForm.setRules(this.rules)
+   		 },
 		onLoad(params) {
 			this.index = params.index || ""
 			this.takeCoalId = params.takeCoalId || ''
-			this.getFirstCategoryName()
+			this.getFirstCategoryName(params)
+			this.params = params;
 			this.productName = params.productName === "true" || false
 			this.unqualified = params.unqualified === "true" || false
-			this.showWeighCopyStorge = JSON.parse(JSON.stringify(uni.getStorageSync('showWeighCopyStorge')))
+			params.pageFlag  ? this.pageFlag = false : this.pageFlag = true;
+			this.showWeighCopyStorge = JSON.parse(JSON.stringify(uni.getStorageSync('showWeighCopyStorgeOther')))
+			console.log(params, 'paramsparamsparams');
+			
+			if(params.type == 'edit'){
+				this.init(params)
+			}
 		},
 		methods: {
 			...mapMutations(['changeglobalShowWeigh']),
-			getFirstCategoryName() {
+			getFirstCategoryName(params) {
 				uni.showLoading({
 					title: "鍔犺浇涓�"
 				})
-				this.$reqGet("getFirstCategoryName").then(res => {
-					if (res.code === 0) {
-						uni.hideLoading()
-						this.firstClassActionsList = res.data.filter(Boolean).map(v => {
-							return {
-								...v,
-								name: v &&  v.firstCategoryName
+				// this.$reqGet("getFirstCategoryName").then(res => {
+				// 	if (res.code === 0) {
+				// 		uni.hideLoading()
+				// 		this.firstClassActionsList = res.data.filter(Boolean).map(v => {
+				// 			return {
+				// 				...v,
+				// 				name: v &&  v.firstCategoryName
+				// 			}
+				// 		})
+				// 		if(params.type !== 'edit')	this.dataForm.firstClass = this.firstClassActionsList[0].firstCategoryName
+				// 		//濡傛灉鏄悎鏍肩殑闇�瑕佸洖鏄惧搧鍚嶈鏍�
+				// 		
+
+				// 	} else {
+				// 		uni.hideLoading()
+				// 		this.$u.toast('鍔犺浇澶辫触')
+				// 	}
+					// // 鍥炴樉浜岀骇鍝佸悕
+					this.$reqGet('getSecondCategoryName').then(
+					res => {
+						if (res.code === 0) {
+							uni.hideLoading();
+							console.log(res.data,'result')
+							this.secondClassActionsList = res.data.map(v => {
+								return v.secondCategoryName
+							})
+							// if(this.secondClassActionsList .length){
+							// 	this.dataForm.secondClass = this.secondClassActionsList[0].value;
+							// }
+				// 			
+				// 		}
+							if(params.actionObj){
+								let {breed,spec} = JSON.parse(params.actionObj);
+								 this.secondClassActionsList.unshift(breed)
+							this.dataForm.specifications= spec;;
+							this.dataForm.secondClass= breed;
+							this.dataForm.firstClass= JSON.parse(params.actionObj).firstClass || '';
+							console.log(this.secondClassActionsList,'secondClass')
 							}
-						})
-						this.dataForm.firstClass = this.firstClassActionsList[0].firstCategoryName;
-					} else {
-						uni.hideLoading()
-						this.$u.toast('鍔犺浇澶辫触')
-					}
-				})
+						
+						} else {
+							uni.hideLoading()
+							this.$u.toast('鍔犺浇澶辫触')
+						}
+					})
+				// })
+			},
+			init(params){
+			 let arr =  this.showWeighCopyStorge[params.index];
+			 console.log(this.showWeighCopyStorge,'arr')
+			 let {firstClass,secondClass,specifications} = arr.tempArr[params.indexTo];
+			 Object.assign(this.dataForm,{firstClass,secondClass,specifications});
+			 this.dataForm.unqualifiedWeight = this.showWeighCopyStorge[params.index].unqualifiedWeights.split(',')[params.indexTo];
+			 //涓嶅悎鏍肩被鍒ゅ畾
+			//  this.dataForm.unqualifiedType = this.showWeighCopyStorge[params.index].unqualifiedType.split(',')[params.indexTo];
+			 //鍗曚环
+			this.dataForm.penaltyUnitPrice = this.showWeighCopyStorge[params.index].penaltyUnitPrice.split(',')[params.indexTo];
 			},
 			//涓�绾у搧绫昏彍鍗�
 			firstClassSelect() {
@@ -144,6 +319,7 @@
 			},
 			firstClassSelectClick(val) {
 				this.dataForm.firstClass = val.name
+				this.secondClassSelect();
 			},
 			// 浜岀骇鍝佺被閫夋嫨
 			getSecondCategoryName() {
@@ -157,9 +333,11 @@
 							this.secondClassActionsList = res.data.map(v => {
 								return {
 									...v,
-									name: v.secondCategoryName
+									value: v.secondCategoryName,
+									text:v.secondCategoryName
 								}
 							})
+							this.dataForm.secondClass = this.secondClassActionsList[0].value;
 						} else {
 							uni.hideLoading()
 							this.$u.toast('鍔犺浇澶辫触')
@@ -169,7 +347,7 @@
 			//浜岀骇鍝佺被鑿滃崟
 			async secondClassSelect() {
 				await this.getSecondCategoryName()
-				this.secondClassShow = true
+				// this.secondClassShow = true
 			},
 			secondClassClose() {
 				this.secondClassShow = false
@@ -199,26 +377,150 @@
 				this.haveSelectd = false
 			},
 			formHandle() {
-				console.log(this.globalShowWeigh,'this.globalShowWeigh')
-				this.showWeighCopyStorge = this.globalShowWeigh
-				if (this.productName) {
+				console.log(this.globalShowWeigh,	this.$refs.uForm,'this.globalShowWeigh');
+				this.$refs.uForm.validate().then(res => {
+						// uni.$u.toast('鏍¢獙閫氳繃')
+					
+						this.showWeighCopyStorge = this.globalShowWeigh;
+						console.log(this.showWeighCopyStorge,this.index,'this.showWeighCopyStorge[this.index]');
+				if(this.params.type == 'edit'){
+					if (this.productName) {
 					this.showWeighCopyStorge[this.index].modifyProductName = this.dataForm.secondClass + '/' + this
 						.dataForm.specifications
 					this.showWeighCopyStorge[this.index].breed = this.dataForm.secondClass
 					this.showWeighCopyStorge[this.index].spec = this.dataForm.specifications
 				}
 				if (this.unqualified) {
-					this.showWeighCopyStorge[this.index].unqualifiedBreed = this.dataForm.secondClass + '/' + this.dataForm
-						.specifications
+					let str = this.dataForm.secondClass + '/' + this.dataForm
+						.specifications;
+				 	let tempArr = 	this.showWeighCopyStorge[this.index].unqualifiedBreed.split(",")
+					 let tempWeightArr = 	this.showWeighCopyStorge[this.index].unqualifiedWeights.split(",")
+					//  let noPinArr =this.showWeighCopyStorge[this.index].unqualifiedType.split(",")
+					 let noPriceArr = this.showWeighCopyStorge[this.index].penaltyUnitPrice.split(",");
+				    tempArr[this.params.indexTo] = str;
+					tempWeightArr[this.params.indexTo] = this.dataForm.unqualifiedWeight;
+					// noPinArr[this.params.indexTo] = this.dataForm.unqualifiedType;
+					noPriceArr[this.params.indexTo] = this.dataForm.penaltyUnitPrice || '0';
+					this.showWeighCopyStorge[this.index].unqualifiedBreed = tempArr.join(',');
+					this.showWeighCopyStorge[this.index].unqualifiedWeights = tempWeightArr.join(',');
+					// this.showWeighCopyStorge[this.index].unqualifiedType = noPinArr.join(',');
+					this.showWeighCopyStorge[this.index].penaltyUnitPrice = noPriceArr.join(',');
+					// this.showWeighCopyStorge[this.index].breed = this.dataForm.secondClass
+					// this.showWeighCopyStorge[this.index].spec = this.dataForm.specifications
+					//濡傛灉杩欎釜  tempArr涓嶄负 绌�
+					if(this.showWeighCopyStorge[this.index].tempArr){
+					this.showWeighCopyStorge[this.index].tempArr[this.params.indexTo].firstClass = this.dataForm.firstClass;
+					this.showWeighCopyStorge[this.index].tempArr[this.params.indexTo].secondClass = this.dataForm.secondClass;
+					this.showWeighCopyStorge[this.index].tempArr[this.params.indexTo].specifications = this.dataForm.specifications;
+					}else{
+
+						
+					}
+					
+				}
+				}else{
+					if (this.productName) {
+					this.showWeighCopyStorge[this.index].modifyProductName = this.dataForm.secondClass + '/' + this
+						.dataForm.specifications
 					this.showWeighCopyStorge[this.index].breed = this.dataForm.secondClass
 					this.showWeighCopyStorge[this.index].spec = this.dataForm.specifications
 				}
+				if (this.unqualified) {
+					let str = this.dataForm.secondClass + '/' + this.dataForm
+						.specifications;
+				    let tempArr;
+					if(	this.showWeighCopyStorge[this.index].unqualifiedBreed){
+						tempArr = 	this.showWeighCopyStorge[this.index].unqualifiedBreed.split(",").filter(Boolean);
+					}else{
+						tempArr =  []
+					}
+				
+					let tempWeightArr;
+					if(this.showWeighCopyStorge[this.index].unqualifiedWeights){
+						tempWeightArr = 	this.showWeighCopyStorge[this.index].unqualifiedWeights.split(",").filter(Boolean)
+					}else{
+						tempWeightArr =  [];
+					}
+					// 娣诲姞涓嶅悎鏍煎搧绫诲垽瀹�
+				    // let noPin;
+					// if(this.showWeighCopyStorge[this.index].unqualifiedType){
+					// 	noPin = this.showWeighCopyStorge[this.index].unqualifiedType.split(",").filter(Boolean)
+					// }else{
+					// 	noPin = []
+					// }
+					//娣诲姞涓嶅悎鏍煎崟浠�
+					let noPrice;
+					if(this.showWeighCopyStorge[this.index].penaltyUnitPrice){
+						noPrice = this.showWeighCopyStorge[this.index].penaltyUnitPrice.split(",");
+					}else{
+						noPrice = []
+					}
+
+					tempWeightArr.push(this.dataForm.unqualifiedWeight);
+					tempArr.push(str);
+					// noPin.push(this.dataForm.unqualifiedType)
+					noPrice.push(this.dataForm.penaltyUnitPrice ? this.dataForm.penaltyUnitPrice : '0')
+					this.showWeighCopyStorge[this.index].unqualifiedBreed = tempArr.join(',')
+					this.showWeighCopyStorge[this.index].unqualifiedWeights = tempWeightArr.join(',')
+					// this.showWeighCopyStorge[this.index].unqualifiedType = noPin.join(',') 
+					this.showWeighCopyStorge[this.index].penaltyUnitPrice = noPrice.join(',') 
+
+					// this.showWeighCopyStorge[this.index].breed = this.dataForm.secondClass
+					// this.showWeighCopyStorge[this.index].spec = this.dataForm.specifications
+
+
+					this.showWeighCopyStorge[this.index].firstClass = this.dataForm.firstClass;
+				    this.showWeighCopyStorge[this.index].secondClass = this.dataForm.secondClass;
+				    this.showWeighCopyStorge[this.index].specifications = this.dataForm.specifications;
+
+					if(!this.showWeighCopyStorge[this.index].tempArr){
+						this.showWeighCopyStorge[this.index].tempArr = [];
+					}
+						this.showWeighCopyStorge[this.index].tempArr.push({
+							firstClass: this.dataForm.firstClass,
+							secondClass:this.dataForm.secondClass,
+							specifications:this.dataForm.specifications
+						})
+					
+				
+				}
+
+				}
+				
+			
+				
 				this.changeglobalShowWeigh(this.showWeighCopyStorge)
 				uni.setStorageSync('showWeighCopyStorgeOther', this.globalShowWeigh)
 				uni.navigateBack({
 					url: `/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail?dataForm=${JSON.stringify(this.dataForm)}&orderPlanId=${this.takeCoalId}&index=${this.index}&havedSubmit=${true}`
 				})
-			}
+				uni.$emit("handClick",{data:this.dataForm,tempArr:this.showWeighCopyStorge[this.index].tempArr,index:this.index,pageFlag:this.pageFlag});
+					}).catch(errors => {
+						console.log(errors,'errors')
+						uni.$u.toast('鏍¢獙澶辫触')
+					})
+	
+			},
+			checkNum(value,name){
+				if (
+					value &&
+					value.indexOf(".") < 0 &&
+					value != ""
+					) {
+						value = parseFloat(value);
+						value = value + ""; // 鍙樺洖涓哄瓧绗︿覆
+					}else{
+						value =  value.replace(/^(-)*(\d+)\.(\d\d\d\d).*$/,"$1$2.$3");
+						
+					} // 濡傛灉娌℃湁灏忔暟鐐癸紝棣栦綅涓嶈兘涓虹被浼间簬 01銆�02鐨勫��
+					this.$nextTick(()=>{
+							this.dataForm[name]  = value.replace(/[^\d.]/g, "");
+						});
+				
+			},
+			change(e) {
+				this.dataForm.secondClass =e;
+      },
 		}
 	}
 </script>
@@ -230,6 +532,10 @@
 		margin: 10px;
 		position: relative;
 	}
+	/deep/	.uni-combox  {
+			z-index: 99999!important
+	}
+	
 
 	.slide-fade-enter-active {
 		transition: all 0.3s ease-out;
@@ -259,4 +565,5 @@
 			}
 		}
 	}
+	
 </style>
\ No newline at end of file

--
Gitblit v1.9.1