修复 分类页价格筛选
This commit is contained in:
parent
7e569330d7
commit
e41d366f60
|
|
@ -3,6 +3,7 @@
|
||||||
use Beike\Models\AdminUser;
|
use Beike\Models\AdminUser;
|
||||||
use Beike\Models\Customer;
|
use Beike\Models\Customer;
|
||||||
use Beike\Models\Language;
|
use Beike\Models\Language;
|
||||||
|
use Beike\Models\Currency;
|
||||||
use Beike\Repositories\BrandRepo;
|
use Beike\Repositories\BrandRepo;
|
||||||
use Beike\Repositories\CategoryRepo;
|
use Beike\Repositories\CategoryRepo;
|
||||||
use Beike\Repositories\CurrencyRepo;
|
use Beike\Repositories\CurrencyRepo;
|
||||||
|
|
@ -340,6 +341,19 @@ function currency_format($price, string $currency = '', string $value = '', bool
|
||||||
return CurrencyService::getInstance()->format($price, $currency, $value, $format);
|
return CurrencyService::getInstance()->format($price, $currency, $value, $format);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取指定货币汇率
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function current_currency_rate(): float
|
||||||
|
{
|
||||||
|
$currency = current_currency_code();
|
||||||
|
|
||||||
|
return Currency::query()->where('code', $currency)->value('value') ?? 1;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 时间格式化
|
* 时间格式化
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -169,7 +169,8 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="mail_engine == 'sendmail'">
|
<div v-if="mail_engine == 'sendmail'">
|
||||||
<x-admin-form-input name="sendmail[path]" required title="{{ __('admin/setting.sendmail_path') }}" value="{{ old('path', system_setting('base.sendmail.path', '')) }}">
|
<x-admin-form-input name="sendmail[path]" :placeholder="222" required title="{{ __('admin/setting.sendmail_path') }}" value="{{ old('path', system_setting('base.sendmail.path', '')) }}">
|
||||||
|
<div class="help-text font-size-12 lh-base">系统 sendmail 执行路径, 一般为 /usr/sbin/sendmail -bs</div>
|
||||||
</x-admin-form-input>
|
</x-admin-form-input>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@
|
||||||
|
|
||||||
function filterProductData() {
|
function filterProductData() {
|
||||||
let url = bk.removeURLParameters(window.location.href, 'attr', 'price', 'sort', 'order');
|
let url = bk.removeURLParameters(window.location.href, 'attr', 'price', 'sort', 'order');
|
||||||
let [priceMin, priceMax] = [$('.price-min').val(), $('.price-max').val()];
|
let [psMin, psMax, pMin, pMax] = [$('.price-select-min').val(), $('.price-select-max').val(), $('.price-min').val(), $('.price-max').val()];
|
||||||
let order = $('.order-select').val();
|
let order = $('.order-select').val();
|
||||||
let perpage = $('.perpage-select').val();
|
let perpage = $('.perpage-select').val();
|
||||||
let styleList = $('input[name="style_list"]:checked').val();
|
let styleList = $('input[name="style_list"]:checked').val();
|
||||||
|
|
@ -98,8 +98,8 @@
|
||||||
url = bk.updateQueryStringParameter(url, 'attr', filterAttrChecked(filterAttr));
|
url = bk.updateQueryStringParameter(url, 'attr', filterAttrChecked(filterAttr));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (priceMin || priceMax) {
|
if ((psMin != pMin) || (psMax != pMax)) {
|
||||||
url = bk.updateQueryStringParameter(url, 'price', `${priceMin}-${priceMax}`);
|
url = bk.updateQueryStringParameter(url, 'price', `${psMin}-${psMax}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (order) {
|
if (order) {
|
||||||
|
|
|
||||||
|
|
@ -42,8 +42,10 @@
|
||||||
<span class="max">{{ currency_format($filter_data['price']['select_max'], current_currency_code()) }}</span>
|
<span class="max">{{ currency_format($filter_data['price']['select_max'], current_currency_code()) }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<input value="{{ $filter_data['price']['select_min'] }}" class="price-min d-none">
|
<input value="{{ $filter_data['price']['select_min'] }}" class="price-select-min d-none">
|
||||||
<input value="{{ $filter_data['price']['select_max'] }}" class="price-max d-none">
|
<input value="{{ $filter_data['price']['select_max'] }}" class="price-select-max d-none">
|
||||||
|
<input value="{{ $filter_data['price']['min'] }}" class="price-min d-none">
|
||||||
|
<input value="{{ $filter_data['price']['max'] }}" class="price-max d-none">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
@ -68,6 +70,8 @@
|
||||||
|
|
||||||
@push('add-scripts')
|
@push('add-scripts')
|
||||||
<script>
|
<script>
|
||||||
|
const currencyRate = {{ current_currency_rate() }};
|
||||||
|
|
||||||
$("#price-slider").slider({
|
$("#price-slider").slider({
|
||||||
range: true,
|
range: true,
|
||||||
step: 0.01,
|
step: 0.01,
|
||||||
|
|
@ -75,15 +79,15 @@
|
||||||
max: {{ $filter_data['price']['max'] ?? 0 }},
|
max: {{ $filter_data['price']['max'] ?? 0 }},
|
||||||
values: [{{ $filter_data['price']['select_min'] }}, {{ $filter_data['price']['select_max'] }}],
|
values: [{{ $filter_data['price']['select_min'] }}, {{ $filter_data['price']['select_max'] }}],
|
||||||
change: function(event, ui) {
|
change: function(event, ui) {
|
||||||
$('input.price-min').val(ui.values[0])
|
$('input.price-select-min').val(ui.values[0])
|
||||||
$('input.price-max').val(ui.values[1])
|
$('input.price-select-max').val(ui.values[1])
|
||||||
filterProductData();
|
filterProductData();
|
||||||
},
|
},
|
||||||
slide: function(event, ui) {
|
slide: function(event, ui) {
|
||||||
let min = $('.price-range .min').html();
|
let min = $('.price-range .min').html();
|
||||||
let max = $('.price-range .max').html();
|
let max = $('.price-range .max').html();
|
||||||
$('.price-range .min').html(min.replace(min.replace(/[^0-9.]/g, ''), ui.values[0]));
|
$('.price-range .min').html(min.replace(min.replace(/[^0-9.,]/g, ''), (ui.values[0] * currencyRate).toFixed(2)));
|
||||||
$('.price-range .max').html(max.replace(max.replace(/[^0-9.]/g, ''), ui.values[1]));
|
$('.price-range .max').html(max.replace(max.replace(/[^0-9.,]/g, ''), (ui.values[1] * currencyRate).toFixed(2)));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue