|
|
@ -105,6 +105,7 @@ const rules = reactive({ |
|
|
}); |
|
|
}); |
|
|
// 查询商品的表单 |
|
|
// 查询商品的表单 |
|
|
const goods = ref([]) |
|
|
const goods = ref([]) |
|
|
|
|
|
const allGoods = ref([]) |
|
|
|
|
|
|
|
|
// 输入验证函数 |
|
|
// 输入验证函数 |
|
|
function validateInput() { |
|
|
function validateInput() { |
|
|
@ -323,7 +324,7 @@ const add = async function () { |
|
|
function handleResponse(result) { |
|
|
function handleResponse(result) { |
|
|
console.log("响应结果", result) |
|
|
console.log("响应结果", result) |
|
|
if (result.code === 200) { |
|
|
if (result.code === 200) { |
|
|
WriteCookies.value = `coinConsume:${addConsume.value.jwcode}:${addConsume.value.goodsName}` |
|
|
|
|
|
|
|
|
WriteCookies.value = `coinConsume-${addConsume.value.jwcode}-${addConsume.value.goodsName}` |
|
|
//value 为消耗时间 |
|
|
//value 为消耗时间 |
|
|
WriteCookiesVale.value = JSON.stringify({ |
|
|
WriteCookiesVale.value = JSON.stringify({ |
|
|
payTime: dayjs().format("YYYY-MM-DD HH:mm:ss"), |
|
|
payTime: dayjs().format("YYYY-MM-DD HH:mm:ss"), |
|
|
@ -480,7 +481,7 @@ const addBefore = () => { |
|
|
if (!validateInput() || !validateRedLimit()) { |
|
|
if (!validateInput() || !validateRedLimit()) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
ReadCookies.value = `coinConsume:${addConsume.value.jwcode}:${addConsume.value.goodsName}` |
|
|
|
|
|
|
|
|
ReadCookies.value = `coinConsume-${addConsume.value.jwcode}-${addConsume.value.goodsName}` |
|
|
console.log('ReadCookies',ReadCookies.value); |
|
|
console.log('ReadCookies',ReadCookies.value); |
|
|
// 获取cookie |
|
|
// 获取cookie |
|
|
const cookieValue = Cookies.get(ReadCookies.value); |
|
|
const cookieValue = Cookies.get(ReadCookies.value); |
|
|
@ -605,12 +606,13 @@ const getGoods = async function () { |
|
|
}); |
|
|
}); |
|
|
// 将响应结果存储到响应式数据中 |
|
|
// 将响应结果存储到响应式数据中 |
|
|
console.log("请求成功", result); |
|
|
console.log("请求成功", result); |
|
|
goods.value = result.data.map(item => ({ |
|
|
|
|
|
|
|
|
allGoods.value = result.data.map(item => ({ |
|
|
id: item.id, |
|
|
id: item.id, |
|
|
label: item.name, |
|
|
label: item.name, |
|
|
value: item.name, |
|
|
value: item.name, |
|
|
price: item.price |
|
|
price: item.price |
|
|
})); |
|
|
})); |
|
|
|
|
|
goods.value = allGoods.value; |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
console.log("请求失败", error); |
|
|
console.log("请求失败", error); |
|
|
// 在这里可以处理错误逻辑,比如显示错误提示等 |
|
|
// 在这里可以处理错误逻辑,比如显示错误提示等 |
|
|
@ -640,13 +642,25 @@ watch( |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
// 监听商品选择,自动展示原价 |
|
|
// 监听商品选择,自动展示原价 |
|
|
const handleGoodsChange = (newGoods) => { |
|
|
|
|
|
if (newGoods && typeof newGoods === 'object') { |
|
|
|
|
|
addConsume.value.price = Number(newGoods.price || 0) || null; |
|
|
|
|
|
|
|
|
const handleGoodsChange = (val) => { |
|
|
|
|
|
const selectedItem = goods.value.find(item => item.value === val); |
|
|
|
|
|
if (selectedItem) { |
|
|
|
|
|
addConsume.value.price = Number(selectedItem.price || 0) || null; |
|
|
} else { |
|
|
} else { |
|
|
addConsume.value.price = null; |
|
|
addConsume.value.price = null; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 自定义搜索方法 |
|
|
|
|
|
const handleFilter = (query) => { |
|
|
|
|
|
if (query) { |
|
|
|
|
|
goods.value = allGoods.value.filter(item => { |
|
|
|
|
|
return item.label.toLowerCase().includes(query.toLowerCase()) |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
goods.value = allGoods.value |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
// 监听商品选择,自动展示原价 |
|
|
// 监听商品选择,自动展示原价 |
|
|
// watch( |
|
|
// watch( |
|
|
// () => addConsume.value.goodsName, |
|
|
// () => addConsume.value.goodsName, |
|
|
@ -786,9 +800,8 @@ onMounted(async function () { |
|
|
|
|
|
|
|
|
<el-form-item prop="goodsName" :label="t('common_add.goodsName')"> |
|
|
<el-form-item prop="goodsName" :label="t('common_add.goodsName')"> |
|
|
<el-select v-model="addConsume.goodsName" :placeholder="t('common_add.goodsNamePlaceholder')" |
|
|
<el-select v-model="addConsume.goodsName" :placeholder="t('common_add.goodsNamePlaceholder')" |
|
|
style="width: 200px" clearable filterable > |
|
|
|
|
|
<el-option v-for="(item, index) in goods" :key="index" :label="item.label" :value="item.value" @click="handleGoodsChange(item)" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
style="width: 200px" clearable filterable :filter-method="handleFilter" @change="handleGoodsChange"> |
|
|
|
|
|
<el-option v-for="(item, index) in goods" :key="item.id" :label="item.label" :value="item.value" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="price" :label="t('common_add.price')"> |
|
|
<el-form-item prop="price" :label="t('common_add.price')"> |
|
|
|