From b05a84f9178894b40a1d6a601b577403d7d93c46 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期三, 08 一月 2025 09:09:20 +0800 Subject: [PATCH] 1.运费配置说明修改 --- sub_pages/supplier/flower-manage/flower-add.vue | 215 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 157 insertions(+), 58 deletions(-) diff --git a/sub_pages/supplier/flower-manage/flower-add.vue b/sub_pages/supplier/flower-manage/flower-add.vue index 0fd1182..393f814 100644 --- a/sub_pages/supplier/flower-manage/flower-add.vue +++ b/sub_pages/supplier/flower-manage/flower-add.vue @@ -98,7 +98,11 @@ <view class="form-item before-line"> <view class="label required">商品等级</view> <view class="m-l-a m-r-0 flex " :class="[!dto.level?'desc-gray':'']" @click="()=>{ - show_select_level=true + if(dto.category){ + show_select_level=true + }else{ + $message.showToast('请选择分类') + } }"> <view>{{dto.levelStr||dto.level || '请选择'}}</view> <u-icon class="m-l-a" name="arrow-right"></u-icon> @@ -110,17 +114,27 @@ <view class="form-item before-line"> <view class="label required">售价(元)</view> <view class="m-l-a m-r-0 flex"> - <input v-model="dto.price" placeholder="请输入数字" type="digit" - style="margin-top: 16px;text-align: right;"></input> + <!-- <input v-model="dto.price" placeholder="请输入数字" type="digit" class="text-right m-t-15"></input> --> + <u-input v-model="dto.price" placeholder="请输入数字" type="digit" class="text-right m-t-15" /> + </view> </view> <view class="form-item "> <view class="label required">库存</view> <view class="m-l-a m-r-0 flex"> - <input v-model="dto.stock" placeholder="请输入数字" type="number" - style="margin-top: 16px;text-align: right;"></input> + <!-- <input v-model="dto.stock" placeholder="请输入数字" type="number" class="text-right m-t-15"></input> --> + + <u-input v-model="dto.stock" placeholder="请输入数字" type="number" class="text-right m-t-15" /> + </view> </view> + <!-- <view class="form-item "> + <view class="label">限购数量</view> + <view class="m-l-a m-r-0 flex"> + <input v-model="dto.limited" placeholder="请输入数字" type="number" + style="margin-top: 16px;text-align: right;"></input> + </view> + </view> --> <view class="line-gray-big"></view> @@ -146,8 +160,17 @@ </view> <view class="line-gray-big"></view> + <view class="form-item before-line"> + <view class="label">商品描述</view> + <view class="m-l-a m-r-0 flex"> - <view class="form-item before-line"> + </view> + </view> + <view style="min-width: 500rpx;margin-left: 20rpx;margin-right: 20rpx;margin-top: 20rpx;"> + <u--textarea v-model="dto.description" autoHeight placeholder="请输入商品描述"></u--textarea> + </view> + + <view class="form-item bottom-border-no"> <view class="label">商品视频</view> <view class="m-l-a m-r-0 flex"> <!-- :style="{'background-image':dto.icon&&`url('${dto.icon}')`||''}" --> @@ -158,20 +181,12 @@ </view> </view> <view v-if="dto.video"> - <video :src="dto.video" style="display: block;margin: 0 auto;"></video> - </view> - <view class="form-item bottom-border-no"> - <view class="label">商品描述</view> - <view class="m-l-a m-r-0 flex"> - - </view> - </view> - <view style="min-width: 500rpx;margin-left: 20rpx;margin-right: 20rpx;margin-top: 20rpx;"> - <u--textarea v-model="dto.description" autoHeight placeholder="请输入商品描述"></u--textarea> + <video :src="dto.video" :auto-pause-if-navigate="true" style="display: block;margin: 0 auto;"></video> </view> - <view style="min-height: 200rpx;"> + + <view style="min-height: 240rpx;"> </view> <view class="button-green-1 m-t-20 button-fixed-bottom " @click="submit" v-if="!dto.id"> @@ -238,25 +253,28 @@ level: '', //FLOWER_LEVEL price: '', stock: '', + limited: '', params: [], //id,value description: '', }, requireFields: [{ - name: '商品分类', - key: 'category' - }, { - name: '列表封面图', - key: 'cover' - }, { - name: '商品等级', - key: 'level' - }, { - name: '商品价格', - key: 'price' - }, { - name: '商品库存', - key: 'stock' - }], + name: '商品分类', + key: 'category' + }, { + name: '列表封面图', + key: 'cover' + }, { + name: '商品等级', + key: 'level' + }, { + name: '商品价格', + key: 'price' + }, { + name: '商品库存', + key: 'stock' + }, + + ], show_select_category: false, show_select_level: false, columns_categorys: [], @@ -264,6 +282,7 @@ columns_categorys_dict: {}, columns_categorys_search: '', columns_levels: [], + columns_levels_all: [], // columns_params: [], //弹窗选择具体的值 // cancel: { // color: '#999', @@ -303,6 +322,7 @@ } }).then(res => { var data = res.data + this.columns_levels_all = data || [] this.columns_levels = [data || []] // this.columns_levels[0].unshift({ // label: '全部', @@ -338,15 +358,19 @@ methods: { updateValue(item, value) { - if (item.value.indexOf(value) >= 0) { - item.value.splice(item.value.indexOf(value), 1) + + if (item.name == '优点' || item.name === '缺点') { + if (item.value.indexOf(value) < 0) { + item.value.push(value) + } else { + item.value.splice(item.value.indexOf(value), 1) + } } else { - item.value.push(value) + //单选 + item.value = [value] } - // item.value = value - // this.$set(item, 'value', value) + this.$forceUpdate() - // console.log('updateValue') }, async updateSearch(search) { this.columns_categorys_search = search || '' @@ -356,19 +380,58 @@ this.$refs.picker_category.selectedClear() }, async PickCategory(item, e) { - console.log('PickCategory', item, e) + console.log('PickCategory', item, e, this.columns_categorys_dict) if (e.detail.value) { var currentnode = this.columns_categorys_dict['@' + e.detail.value[e.detail.value.length - 1] .value] + let levelLimit = currentnode && currentnode.levelLimit || '' + if (!levelLimit) { + if (currentnode.parentId) { + var currentnodeParentNode = this.columns_categorys_dict['@' + currentnode.parentId] + if (currentnodeParentNode) { + levelLimit = currentnodeParentNode.levelLimit || '' + } + } + } + + let tmpe = e + + if (this.dto.category && this.dto.category !== currentnode.id) { this.$message.confirm('修改分类将清空商品参数,确定修改吗').then(async res => { // console.log('currentnode',currentnode,this.columns_categorys_dict,'@'+e.detail.value[e.detail.value.length - 1].value) this.dto.categoryStr = currentnode.name this.dto.category = currentnode.id + this.dto.name = currentnode.name this.dto.unit = currentnode.unit this.dto.color = currentnode.color + //设置等级 + // console.log('tmpe', currentnode) + if (levelLimit) { + + this.columns_levels = [] + var tarr = [] + var filterLevel = levelLimit.split(",") + for (var t of this.columns_levels_all) { + if (filterLevel.indexOf(t.value) >= 0) { + tarr.push(t) + } + } + this.columns_levels = [tarr] + //如果不包含等级需要清除 + if (this.dto.level) { + if (filterLevel.indexOf(this.dto.level) >= 0) { + + } else { + this.dto.level = '' + this.dto.levelStr = '' + } + } + } else { + this.columns_levels = [this.columns_levels_all] + } //递归获取category的其他数据,用来做map? this.$message.showLoading() await this.refresh_category() @@ -378,6 +441,31 @@ this.$refs.picker_category.onchange(tmpe.detail.value) }) } else { + //设置等级 + // console.log('tmpe', currentnode) + if (levelLimit) { + + this.columns_levels = [] + var tarr = [] + var filterLevel = levelLimit.split(",") + for (var t of this.columns_levels_all) { + if (filterLevel.indexOf(t.value) >= 0) { + tarr.push(t) + } + } + this.columns_levels = [tarr] + //如果不包含等级需要清除 + if (this.dto.level) { + if (filterLevel.indexOf(this.dto.level) >= 0) { + + } else { + this.dto.level = '' + this.dto.levelStr = '' + } + } + } else { + this.columns_levels = [this.columns_levels_all] + } this.dto.categoryStr = currentnode.name this.dto.category = currentnode.id this.dto.name = currentnode.name @@ -507,9 +595,10 @@ } else { k.value = k.value.split(',') || [] } - } + } // console.log('init params',this.dto.params) } + } }, @@ -536,17 +625,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.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() // } @@ -585,14 +674,22 @@ this.$message.showToast('商品库存格式错误,需要大于0') return } + + + // if ( this.dto.limited && this.dto.limited !== '' && (!Number(this.dto.limited) || Number(this.dto.limited) <= 0)) { + // this.$message.showToast('商品限购数量格式错误'); + // return; + // } + + for (var field of this.requireFields) { if (!this.dto[field.key]) { this.$message.showToast(`${field.name}信息未填写`) return } - } - + } + if (this.dto.params.length < 1) { this.$message.showToast('商品参数详情未设置') return @@ -621,11 +718,11 @@ // this.$message.showToast('1') // return - var dto = JSON.parse(JSON.stringify(this.dto)) - if(dto.params){ - for(var k of dto.params){ - k.value = k.value.join(",") - } + 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'}`, { @@ -681,6 +778,7 @@ }).catch(res => { that.$message.hideLoading() console.error(res) + that.$message.showToast('文件上传失败,请联系管理员') }) } } @@ -717,6 +815,7 @@ }).catch(res => { that.$message.hideLoading() console.error(res) + that.$message.showToast('文件上传失败,请联系管理员') }) } } -- Gitblit v1.9.3