139 lines
3.0 KiB
JavaScript
139 lines
3.0 KiB
JavaScript
/**
|
|
* Vuex Price Module - 价格配置状态管理
|
|
* @module store/modules/price
|
|
*
|
|
* 用于管理图书上传/克隆时的价格调整配置
|
|
*/
|
|
|
|
// 从本地存储获取初始状态
|
|
const getPriceInitialState = () => {
|
|
return {
|
|
// 价格调整模式
|
|
// 1: 折扣模式(按百分比调整)
|
|
// 2: 加减值模式(按固定金额调整)
|
|
// 3: 指定金额模式(直接设置价格)
|
|
priceMode: parseInt(uni.getStorageSync('current1') || '1'),
|
|
|
|
// 价格类型(用于不同场景的价格策略)
|
|
priceType: parseInt(uni.getStorageSync('current2') || '1'),
|
|
|
|
// 均价范围(用于计算参考价格时的范围)
|
|
averageRange: parseInt(uni.getStorageSync('averageRange') || '3'),
|
|
|
|
// 运费设置
|
|
freight: parseFloat(uni.getStorageSync('value3') || '0'),
|
|
|
|
// 最低价格限制
|
|
minValue: parseFloat(uni.getStorageSync('value4') || '0.01')
|
|
}
|
|
}
|
|
|
|
const state = getPriceInitialState()
|
|
|
|
const mutations = {
|
|
/**
|
|
* 更新价格模式
|
|
* @param {Number} mode - 价格模式 (1=折扣, 2=加减值, 3=指定金额)
|
|
*/
|
|
updatePriceMode(state, mode) {
|
|
state.priceMode = mode
|
|
uni.setStorageSync('current1', mode)
|
|
},
|
|
|
|
/**
|
|
* 更新价格类型
|
|
* @param {Number} type - 价格类型
|
|
*/
|
|
updatePriceType(state, type) {
|
|
state.priceType = type
|
|
uni.setStorageSync('current2', type)
|
|
},
|
|
|
|
/**
|
|
* 更新均价范围
|
|
* @param {Number} range - 均价范围
|
|
*/
|
|
updateAverageRange(state, range) {
|
|
state.averageRange = range
|
|
uni.setStorageSync('averageRange', range)
|
|
},
|
|
|
|
/**
|
|
* 更新运费
|
|
* @param {Number} value - 运费金额
|
|
*/
|
|
updateFreight(state, value) {
|
|
state.freight = value
|
|
uni.setStorageSync('value3', value)
|
|
},
|
|
|
|
/**
|
|
* 更新最低价格
|
|
* @param {Number} value - 最低价格
|
|
*/
|
|
updateMinValue(state, value) {
|
|
state.minValue = value
|
|
uni.setStorageSync('value4', value)
|
|
},
|
|
|
|
/**
|
|
* 重置所有价格配置
|
|
*/
|
|
resetPriceConfig(state) {
|
|
state.priceMode = 1
|
|
state.priceType = 1
|
|
state.averageRange = 3
|
|
state.freight = 0
|
|
state.minValue = 0.01
|
|
uni.removeStorageSync('current1')
|
|
uni.removeStorageSync('current2')
|
|
uni.removeStorageSync('averageRange')
|
|
uni.removeStorageSync('value3')
|
|
uni.removeStorageSync('value4')
|
|
}
|
|
}
|
|
|
|
const getters = {
|
|
/**
|
|
* 获取当前价格模式
|
|
*/
|
|
priceMode: state => state.priceMode,
|
|
|
|
/**
|
|
* 获取当前价格类型
|
|
*/
|
|
priceType: state => state.priceType,
|
|
|
|
/**
|
|
* 获取均价范围
|
|
*/
|
|
averageRange: state => state.averageRange,
|
|
|
|
/**
|
|
* 获取运费设置
|
|
*/
|
|
freight: state => state.freight,
|
|
|
|
/**
|
|
* 获取最低价格限制
|
|
*/
|
|
minValue: state => state.minValue,
|
|
|
|
/**
|
|
* 获取完整价格配置对象
|
|
*/
|
|
priceConfig: state => ({
|
|
mode: state.priceMode,
|
|
type: state.priceType,
|
|
averageRange: state.averageRange,
|
|
freight: state.freight,
|
|
minValue: state.minValue
|
|
})
|
|
}
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state,
|
|
mutations,
|
|
getters
|
|
} |