mirror of
https://github.com/Megghy/vtsuru.live.git
synced 2025-12-06 18:36:55 +08:00
feat: 确保商品设置对象存在并初始化;更新表单控件以支持 guardFree 和 allowGuardLevel 的动态绑定
This commit is contained in:
@@ -316,10 +316,15 @@ function OnFileListChange(files: UploadFileInfo[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onUpdateClick(item: ResponsePointGoodModel) {
|
function onUpdateClick(item: ResponsePointGoodModel) {
|
||||||
|
const copiedItem = JSON.parse(JSON.stringify(item))
|
||||||
|
// 确保 setting 对象存在
|
||||||
|
if (!copiedItem.setting) {
|
||||||
|
copiedItem.setting = {
|
||||||
|
allowGuardLevel: 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
currentGoodsModel.value = {
|
currentGoodsModel.value = {
|
||||||
goods: JSON.parse(JSON.stringify({
|
goods: copiedItem,
|
||||||
...item,
|
|
||||||
})),
|
|
||||||
fileList: item.cover
|
fileList: item.cover
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
@@ -949,6 +954,9 @@ onMounted(() => { })
|
|||||||
:checked="currentGoodsModel.goods.setting?.guardFree != undefined"
|
:checked="currentGoodsModel.goods.setting?.guardFree != undefined"
|
||||||
@update:checked="
|
@update:checked="
|
||||||
(v) => {
|
(v) => {
|
||||||
|
if (!currentGoodsModel.goods.setting) {
|
||||||
|
currentGoodsModel.goods.setting = { allowGuardLevel: 0 };
|
||||||
|
}
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
currentGoodsModel.goods.setting.guardFree = v ? { year: undefined, month: undefined } : undefined;
|
currentGoodsModel.goods.setting.guardFree = v ? { year: undefined, month: undefined } : undefined;
|
||||||
}
|
}
|
||||||
@@ -978,12 +986,22 @@ onMounted(() => { })
|
|||||||
:gap="8"
|
:gap="8"
|
||||||
>
|
>
|
||||||
<NSelect
|
<NSelect
|
||||||
v-model:value="currentGoodsModel.goods.setting.guardFree.year"
|
:value="currentGoodsModel.goods.setting?.guardFree?.year"
|
||||||
|
@update:value="(v) => {
|
||||||
|
if (currentGoodsModel.goods.setting?.guardFree) {
|
||||||
|
currentGoodsModel.goods.setting.guardFree.year = v;
|
||||||
|
}
|
||||||
|
}"
|
||||||
:options="allowedYearOptions"
|
:options="allowedYearOptions"
|
||||||
placeholder="请选择年份"
|
placeholder="请选择年份"
|
||||||
/>
|
/>
|
||||||
<NSelect
|
<NSelect
|
||||||
v-model:value="currentGoodsModel.goods.setting.guardFree.month"
|
:value="currentGoodsModel.goods.setting?.guardFree?.month"
|
||||||
|
@update:value="(v) => {
|
||||||
|
if (currentGoodsModel.goods.setting?.guardFree) {
|
||||||
|
currentGoodsModel.goods.setting.guardFree.month = v;
|
||||||
|
}
|
||||||
|
}"
|
||||||
:options="allowedMonthOptions"
|
:options="allowedMonthOptions"
|
||||||
placeholder="请选择月份"
|
placeholder="请选择月份"
|
||||||
/>
|
/>
|
||||||
@@ -1009,7 +1027,15 @@ onMounted(() => { })
|
|||||||
</NTooltip>
|
</NTooltip>
|
||||||
</NText>
|
</NText>
|
||||||
|
|
||||||
<NRadioGroup v-model:value="currentGoodsModel.goods.setting.allowGuardLevel">
|
<NRadioGroup
|
||||||
|
:value="currentGoodsModel.goods.setting?.allowGuardLevel ?? 0"
|
||||||
|
@update:value="(v) => {
|
||||||
|
if (!currentGoodsModel.goods.setting) {
|
||||||
|
currentGoodsModel.goods.setting = { allowGuardLevel: 0 };
|
||||||
|
}
|
||||||
|
currentGoodsModel.goods.setting.allowGuardLevel = v;
|
||||||
|
}"
|
||||||
|
>
|
||||||
<NRadioButton :value="0">
|
<NRadioButton :value="0">
|
||||||
不限
|
不限
|
||||||
</NRadioButton>
|
</NRadioButton>
|
||||||
|
|||||||
Reference in New Issue
Block a user