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