From 7e247648201b208cfb5a5901803f784b7dbda948 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期三, 31 七月 2024 01:54:17 +0800
Subject: [PATCH] 1

---
 sub_pages/supplier/flower-manage/flower-add.vue |   77 +++++++++++++++++++++++++-------------
 1 files changed, 51 insertions(+), 26 deletions(-)

diff --git a/sub_pages/supplier/flower-manage/flower-add.vue b/sub_pages/supplier/flower-manage/flower-add.vue
index 2382501..0fd1182 100644
--- a/sub_pages/supplier/flower-manage/flower-add.vue
+++ b/sub_pages/supplier/flower-manage/flower-add.vue
@@ -197,8 +197,8 @@
 				<view v-for="(item,i) in dto.params" :key="i" class="m-t-20">
 					<view class="title topic-font" style="font-size: 40rpx;font-weight: 600;">{{item.name}}</view>
 					<view class="m-t-12 flex value-items">
-						<view class="value-item" @click="updateValue(item,each)" :class="[item.value===each?'cur':'']"
-							v-for="(each, j) in item.values" :key="j">
+						<view class="value-item" @click="updateValue(item,each)"
+							:class="[item.value.indexOf(each)>=0?'cur':'']" v-for="(each, j) in item.values" :key="j">
 							{{each || '-'}}
 						</view>
 					</view>
@@ -338,10 +338,15 @@
 
 		methods: {
 			updateValue(item, value) {
-				item.value = value
-				this.$set(item, 'value', value)
+				if (item.value.indexOf(value) >= 0) {
+					item.value.splice(item.value.indexOf(value), 1)
+				} else {
+					item.value.push(value)
+				}
+				// item.value = value
+				// this.$set(item, 'value', value)
 				this.$forceUpdate()
-				console.log('updateValue')
+				// console.log('updateValue')
 			},
 			async updateSearch(search) {
 				this.columns_categorys_search = search || ''
@@ -385,7 +390,7 @@
 					}
 				}
 			},
-			mapCategoryTree(node, arr,parentCheckTrue=false) {
+			mapCategoryTree(node, arr, parentCheckTrue = false) {
 				var has = true
 				if (arr) {
 					var hasTrue = false
@@ -396,9 +401,9 @@
 						has = true
 						if (this.columns_categorys_search) {
 							has = false
-						}
-						if(parentCheckTrue){
-							has = true
+						}
+						if (parentCheckTrue) {
+							has = true
 						}
 						var tmp = {
 							...item,
@@ -423,11 +428,11 @@
 						this.columns_categorys_dict['@' + item.id] = item
 						if (item.children && item.children.length > 0) {
 							//如果上级已经有了,下级都包含
-							tmp.children = []
-							var childrenhas = this.mapCategoryTree(tmp.children, item.children,has)
-							if (childrenhas) {
-								has = true
-								hasTrue = true
+							tmp.children = []
+							var childrenhas = this.mapCategoryTree(tmp.children, item.children, has)
+							if (childrenhas) {
+								has = true
+								hasTrue = true
 							}
 
 						} else {
@@ -496,6 +501,14 @@
 					if (res.code == 0) {
 						// this.columns_params = res.data || []
 						this.dto.params = res.data || []
+						for (var k of this.dto.params) {
+							if (!k.value) {
+								k.value = []
+							} else {
+								k.value = k.value.split(',') || []
+							}
+						}
+						// console.log('init params',this.dto.params)
 					}
 				}
 
@@ -523,7 +536,17 @@
 					// // console.log('this.dto', this.dto)
 					if (!this.dto.bannerList) {
 						this.dto.bannerList = []
-					}
+					}
+					if(this.dto.params){
+						for (var k of this.dto.params) {
+							if (!k.value) {
+								k.value = []
+							} else {
+								k.value = k.value.split(',') || []
+							}
+						}
+					}
+					
 					// if (this.dto.category) {
 					// 	await this.refresh_category()
 					// }
@@ -557,9 +580,9 @@
 					this.$message.showToast('商品价格不能小于等于0')
 					return
 				}
-				tmp = parseFloat(this.dto.stock)
-				if (isNaN(tmp) || ('' + tmp.toFixed(0)) !== ('' + this.dto.stock) || tmp < 0) {
-					this.$message.showToast('商品库存格式错误,需要大于等于0')
+				tmp = parseInt(this.dto.stock)
+				if (isNaN(tmp) || ('' + tmp.toFixed(0)) !== ('' + this.dto.stock) || tmp <= 0) {
+					this.$message.showToast('商品库存格式错误,需要大于0')
 					return
 				}
 
@@ -568,13 +591,14 @@
 						this.$message.showToast(`${field.name}信息未填写`)
 						return
 					}
-				}
+				}
+				
 				if (this.dto.params.length < 1) {
 					this.$message.showToast('商品参数详情未设置')
 					return
 				} else {
 					for (var item of this.dto.params) {
-						if (!item.value) {
+						if (item.value.length < 1) {
 							this.$message.showToast('存在商品参数详情未设置')
 							return
 						}
@@ -597,10 +621,11 @@
 
 				// this.$message.showToast('1')
 				// return
-				var dto = {
-					...this.dto,
-					// applicationDate: this.$util.toDate(new Date()),
-					// applicantId: this.currentInfo.id
+				var dto = JSON.parse(JSON.stringify(this.dto))
+				if(dto.params){
+					for(var k of dto.params){
+						k.value = k.value.join(",")
+					}
 				}
 				this.$message.showLoading()
 				const re = await this.$http.request('post', `/api/supplier/flower/list/${this.id?'edit':'new'}`, {
@@ -707,7 +732,7 @@
 					var strs = []
 					for (var i of this.dto.params) {
 						if (i.value) {
-							strs.push(i.value)
+							strs.push(i.value.join(","))
 						}
 					}
 					return strs.join(',')
@@ -739,7 +764,7 @@
 
 		.label {
 			width: 240rpx;
-			line-height: 60px;
+			line-height: 60px;
 			min-width: 240rpx;
 
 		}

--
Gitblit v1.9.3