商品管理问题修复

This commit is contained in:
YeMingfei666 2024-10-15 16:54:47 +08:00
parent 61c455cdb7
commit de6320ef6e
2 changed files with 96 additions and 56 deletions

View File

@ -217,7 +217,7 @@
<!-- <view class="u-m-t-32 u-font-32 u-m-l-10 u-m-b-32">规格属性</view> -->
<view class="block" v-for="(sku,index) in skuList.list" :key="index">
<view class="border-top-0">
<uni-forms-item label="售价" required showRequired >
<uni-forms-item label="售价" required showRequired>
<uni-easyinput :paddingNone="inputPaddingNone"
@blur="priceFormat(sku,'salePrice')" :placeholderStyle="placeholderStyle"
:inputBorder="inputBorder" v-model="sku.salePrice" type="digit"
@ -242,7 +242,7 @@
:inputBorder="inputBorder" v-model="sku.originPrice" type="digit"
placeholder="请输入原价(元)" />
</uni-forms-item> -->
<uni-forms-item label="起售数量" required showRequired >
<uni-forms-item label="起售数量" required showRequired>
<uni-easyinput @blur="priceFormat(sku,'suit')" :paddingNone="inputPaddingNone"
:placeholderStyle="placeholderStyle" :inputBorder="inputBorder"
v-model="sku.suit" type="digit" placeholder="请输入起售数量" />
@ -418,11 +418,17 @@
<view class="color-999 u-m-t-16 u-font-24">关闭则不计算出入库数据</view>
</uni-forms-item>
<template v-if="FormData.isStock">
<uni-forms-item label="库存数量">
<uni-easyinput :paddingNone="inputPaddingNone" :disabled="disabledStock"
:placeholderStyle="placeholderStyle" :inputBorder="inputBorder"
v-model="FormData.stockNumber" type="digit" placeholder="请输入库存数量" />
</uni-forms-item>
<view class="u-relative">
<uni-forms-item label="库存数量">
<uni-easyinput
@blur="priceFormat(FormData,'stockNumber')"
:paddingNone="inputPaddingNone" :disabled="disabledStock"
:placeholderStyle="placeholderStyle" :inputBorder="inputBorder"
v-model="FormData.stockNumber" type="digit" placeholder="请输入库存数量" />
</uni-forms-item>
<view class="u-absolute position-all" v-if="disabledStock" @click="canEditGoodsStock(true)">
</view>
</view>
</template>
<uni-forms-item label="">
@ -588,10 +594,10 @@
if (!res) {
return
}
await upDateGoods({
key: 'pauseSale',
value: FormData.isPauseSale ? 0 : 1
})
// await upDateGoods({
// key: 'pauseSale',
// value: FormData.isPauseSale ? 0 : 1
// })
FormData.isPauseSale = FormData.isPauseSale ? 0 : 1
}
@ -604,10 +610,10 @@
if (!res) {
return
}
await upDateGoods({
key: 'grounding',
value: FormData.isGrounding ? 0 : 1
})
// await upDateGoods({
// key: 'grounding',
// value: FormData.isGrounding ? 0 : 1
// })
FormData.isGrounding = FormData.isGrounding ? 0 : 1
}
@ -857,7 +863,7 @@
title: '删除成功'
})
setTimeout(() => {
uni.$emit('del:productIndex',option.productId)
uni.$emit('del:productIndex', option.productId)
go.back()
}, 500)
})
@ -1327,10 +1333,12 @@
}
const skuSnap = []
let submitSkuList = skuList.list || []
if(option.type=='edit'){
submitSkuList=submitSkuList.map(v=>{
return{
...v,productId:FormData.id,shopId:uni.getStorageSync('shopId')
if (option.type == 'edit') {
submitSkuList = submitSkuList.map(v => {
return {
...v,
productId: FormData.id,
shopId: uni.getStorageSync('shopId')
}
})
}
@ -1366,18 +1374,22 @@
const lowPrice = submitSkuList[0] ? submitSkuList[0].salePrice : FormData.salePrice
// const lowPrice = submitSkuList[0] ? submitSkuList[0].salePrice : FormData.salePrice
const suit = submitSkuList[0] ? submitSkuList[0].suit : 0
if(typeEnum=='normal'){
if(lowPrice===''){
const stockNumber = FormData.stockNumber
if (typeEnum == 'normal') {
if (lowPrice === '') {
return infoBox.showToast('请输入售价')
}
if(lowPrice===''){
if (lowPrice === '') {
return infoBox.showToast('请输入售价')
}
if(suit<=0){
if (suit <= 0) {
return infoBox.showToast('起售数量不能小于0')
}
if(stockNumber===''){
return infoBox.showToast('请输入库存数量!')
}
}
const submitData = {
...FormData,
images: images,
@ -1462,6 +1474,7 @@
uni.setStorageSync('guige', FormData.specificationsGroup)
go.to('PAGES_PRODUCT_GUIGE_CHOOSE', {
emitName: 'emitspecificationsSave',
type:option.type,
productId: option.productId
})
// go.to('PAGES_PRODUCT_GUIGE_ADD', {
@ -1566,11 +1579,12 @@
//
let disabledStock = ref(false)
async function canEditGoodsStock() {
async function canEditGoodsStock(tips = false) {
console.log(tips);
if (option.type === 'edit') {
const res = await hasPermission({
text: '允许修改商品库存',
tips: false
tips: tips
})
disabledStock.value = !res
}

View File

@ -90,12 +90,17 @@
:placeholderStyle="placeholderStyle" :inputBorder="inputBorder"
v-model="item.skus.suit" type="digit" placeholder="请输入起售数量" />
</uni-forms-item>
<uni-forms-item label="库存数量" required>
<uni-easyinput @blur="priceFormat(item.skus,'stockNumber')"
:paddingNone="inputPaddingNone" :placeholderStyle="placeholderStyle"
:inputBorder="inputBorder" v-model="item.skus.stockNumber" type="digit"
placeholder="请输入库存数量" />
</uni-forms-item>
<view class="u-relative">
<uni-forms-item label="库存数量" required>
<uni-easyinput :disabled="disabledStock" @blur="priceFormat(item.skus,'stockNumber')"
:paddingNone="inputPaddingNone" :placeholderStyle="placeholderStyle"
:inputBorder="inputBorder" v-model="item.skus.stockNumber" type="digit"
placeholder="请输入库存数量" />
</uni-forms-item>
<view class="u-absolute position-all" v-if="disabledStock" @click="canEditGoodsStock(true)">
</view>
</view>
<uni-forms-item label="分销金额" required>
<uni-easyinput @blur="priceFormat(item.skus,'firstShared')"
:paddingNone="inputPaddingNone" :placeholderStyle="placeholderStyle"
@ -138,6 +143,31 @@
} from "@/commons/utils/format.js";
import popFastEdit from "./components/fast-edit.vue"
import infoBox from '@/commons/utils/infoBox.js'
import dayjs from "dayjs";
import go from '@/commons/utils/go.js';
import color from '@/commons/color.js';
import {
$defaultSku
} from '../goodsData.js'
import {
$productSpec
} from '@/http/yskApi/goods.js';
import {
onLoad,
onReady,
onShow
} from '@dcloudio/uni-app';
import {
onMounted,
reactive,
nextTick,
ref,
onBeforeMount,
watch
} from 'vue';
import {
hasPermission
} from '@/commons/utils/hasPermission.js';
const refFiles = ref([]);
//
function setRefFile(index) {
@ -212,27 +242,7 @@
})
}
import dayjs from "dayjs";
import go from '@/commons/utils/go.js';
import color from '@/commons/color.js';
import {
$defaultSku
} from '../goodsData.js'
import {
$productSpec
} from '@/http/yskApi/goods.js';
import {
onLoad,
onReady
} from '@dcloudio/uni-app';
import {
onMounted,
reactive,
nextTick,
ref,
onBeforeMount,
watch
} from 'vue';
function updateSkuKey(arr) {
for (let i in FormData.result) {
@ -446,9 +456,25 @@
}, '')
return specSnap.substring(0, specSnap.length - 1)
}
//
let disabledStock = ref(false)
async function canEditGoodsStock(tips = false) {
console.log(tips);
if (option.type === 'edit') {
const res = await hasPermission({
text: '允许修改商品库存',
tips: tips
})
disabledStock.value = !res
}
}
onShow(()=>{
canEditGoodsStock()
})
onLoad(opt => {
Object.assign(option,opt)
getTbProductSpec()
const obj = uni.getStorageSync('guige')
if (obj && JSON.stringify(obj) !== '{}') {