!94 Fix advanced filter save error

* Fix advanced filter save error
This commit is contained in:
pushuo 2023-05-12 02:33:05 +00:00 committed by Edward Yang
parent f26e239668
commit d2a68741d4
2 changed files with 10 additions and 24 deletions

View File

@ -20,6 +20,8 @@ class MultiFilterController extends Controller
public function index()
{
$multiFilter = system_setting('base.multi_filter');
$multiFilter['attribute'] = $multiFilter['attribute'] ?? [];
if ($attributeIds = $multiFilter['attribute'] ?? []) {
$multiFilter['attribute'] = AttributeRepo::getByIds($attributeIds);
}

View File

@ -21,21 +21,15 @@
@select="(e) => {handleSelect(e, 'product_attributes')}"></el-autocomplete>
<div class="item-group-wrapper" v-loading="multi_filter.loading">
<template v-if="multi_filter.filters.attribute.length">
<div v-for="(item, index) in multi_filter.filters.attribute" :key="index" class="item">
<div>
<i class="el-icon-s-unfold"></i>
<span>@{{ item.name }}</span>
</div>
<i class="el-icon-delete right" @click="attributesRemoveProduct(index)"></i>
<input type="text" :name="'multi_filter[attribute]['+ index +']'" v-model="item.id"
class="form-control d-none">
<div v-for="(item, index) in multi_filter.filters.attribute" :key="index" class="item">
<div>
<i class="el-icon-s-unfold"></i>
<span>@{{ item.name }}</span>
</div>
</template>
<template v-else>
{{ __('admin/setting.please_select') }}
<input type="text" name="multi_filter" value="" class="form-control d-none">
</template>
<i class="el-icon-delete right" @click="attributesRemoveProduct(index)"></i>
<input type="text" :name="'multi_filter[attribute]['+ index +']'" v-model="item.id"
class="form-control d-none">
</div>
</div>
<div class="help-text font-size-12 lh-base">{{ __('admin/setting.multi_filter_helper') }}</div>
</div>
@ -73,16 +67,6 @@
]
},
},
created() {
const multi_filter = @json($multi_filter ?? null);
if (multi_filter) {
this.multi_filter.filters = multi_filter;
} else {
this.multi_filter.filters = {
attribute: [],
}
}
},
methods: {
attributesQuerySearch(keyword, cb, url) {
$http.get('attributes/autocomplete?name=' + encodeURIComponent(keyword), null, {hload:true}).then((res) => {