first commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
@extends('unicorn.layouts.default')
|
||||
|
||||
@section('content')
|
||||
<div class="page-wrapper">
|
||||
<!-- main start -->
|
||||
<section class="main-container">
|
||||
<div class="container">
|
||||
<div class="good-card">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8 col-12">
|
||||
<div class="card m-3 border-0">
|
||||
<div class="card-body p-4">
|
||||
<h3 class="card-title ali-icon"> {{ $title }}: </h3>
|
||||
<h6>
|
||||
<small class="text-muted">似乎遇到了一点问题~</small>
|
||||
</h6>
|
||||
<div class="err-message text-center p-3">
|
||||
<h5>
|
||||
{{ $content }}
|
||||
</h5>
|
||||
</div>
|
||||
<div class="col-12 mt-3 text-center">
|
||||
@if(!$url)
|
||||
<a href="javascript:history.back(-1);" class="btn btn-outline-dark">{{ __('dujiaoka.callback') }}</a>
|
||||
@else
|
||||
<a href="{{ $url }}" class="btn btn-outline-dark">{{ __('dujiaoka.callback') }}</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- main end -->
|
||||
</div>
|
||||
@stop
|
||||
@@ -0,0 +1,14 @@
|
||||
<!-- footer start-->
|
||||
<footer class="footer p-3">
|
||||
<div class="row">
|
||||
<div class="col-12 text-center">
|
||||
<div class="author">
|
||||
Powered by:<a href="http://dujiaoka.com">@独角数卡</a>
|
||||
</div>
|
||||
<div class="custom">
|
||||
{!! dujiaoka_config_get('footer') !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- footer end-->
|
||||
@@ -0,0 +1,16 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{ isset($page_title) ? $page_title : '' }} | {{ dujiaoka_config_get('title') }}</title>
|
||||
<meta name="Keywords" content="{{ dujiaoka_config_get('keywords') }}">
|
||||
<meta name="Description" content="{{ dujiaoka_config_get('description') }}">
|
||||
@if(\request()->getScheme() == "https")
|
||||
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
|
||||
@endif
|
||||
<link rel="stylesheet" href="/assets/unicorn/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="/assets/unicorn/css/base.css">
|
||||
<link rel="stylesheet" href="/assets/unicorn/css/common.css">
|
||||
<link rel="stylesheet" href="/assets/unicorn/css/index.css">
|
||||
</head>
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
<!-- header start -->
|
||||
<header class="header sticky-top">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="header-left clearfix">
|
||||
<div class="logo text-center d-none d-md-block">
|
||||
<a href="/">
|
||||
<img src="{{ picture_ulr(dujiaoka_config_get('img_logo')) }}" alt="Logo">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<div class="header-right clearfix">
|
||||
<nav class="navbar navbar-expand-lg navbar-light">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">{{ dujiaoka_config_get('text_logo') }}</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
|
||||
data-bs-target="#navbarColor" aria-controls="navbarColor" aria-expanded="false"
|
||||
aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarColor">
|
||||
<ul class="navbar-nav me-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if(\Illuminate\Support\Facades\Request::path() == '/') active @endif " href="/">{{__('dujiaoka.home_page')}}
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if(\Illuminate\Support\Facades\Request::url() == url('order-search')) active @endif" href="{{ url('order-search') }}">{{ __('dujiaoka.order_search') }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
@if(\Illuminate\Support\Facades\Request::path() == '/')
|
||||
<form class="d-flex">
|
||||
<input class="form-control form-control-sm me-sm-2" id="searchText" type="text" placeholder="{{ __('dujiaoka.search_goods_name') }}">
|
||||
<button class="btn btn-secondary my-2 my-sm-0" type="button" id="searchBtn">
|
||||
<i class="ali-icon"></i>
|
||||
</button>
|
||||
</form>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<!-- header end -->
|
||||
@@ -0,0 +1,2 @@
|
||||
<script src="/assets/unicorn/js/jquery-3.6.0.min.js"></script>
|
||||
<script src="/assets/unicorn/js/bootstrap.min.js"></script>
|
||||
@@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_','-',strtolower(app()->getLocale())) }}">
|
||||
@include('unicorn.layouts._header')
|
||||
<body>
|
||||
@include('unicorn.layouts._nav')
|
||||
@yield('content')
|
||||
@include('unicorn.layouts._footer')
|
||||
</body>
|
||||
@include('unicorn.layouts._script')
|
||||
@section('js')
|
||||
@show
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_','-',strtolower(app()->getLocale())) }}">
|
||||
<body>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{ isset($page_title) ? $page_title : '' }} | {{ dujiaoka_config_get('title') }}</title>
|
||||
<meta name="keywords" content="{{ $gd_keywords }}">
|
||||
<meta name="description" content="{{ $gd_description }}">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:image" content="{{ $picture }}">
|
||||
<meta property="og:title" content="{{ isset($page_title) ? $page_title : '' }}">
|
||||
<meta property="og:description" content="{{ $gd_description }}">
|
||||
<meta property="og:release_date" content="{{ $updated_at }}">
|
||||
@if(\request()->getScheme() == "https")
|
||||
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
|
||||
@endif
|
||||
<link rel="stylesheet" href="/assets/unicorn/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="/assets/unicorn/css/base.css">
|
||||
<link rel="stylesheet" href="/assets/unicorn/css/common.css">
|
||||
<link rel="stylesheet" href="/assets/unicorn/css/index.css">
|
||||
</head>
|
||||
@include('unicorn.layouts._nav')
|
||||
@yield('content')
|
||||
@include('unicorn.layouts._footer')
|
||||
</body>
|
||||
@include('unicorn.layouts._script')
|
||||
@section('js')
|
||||
@show
|
||||
</html>
|
||||
@@ -0,0 +1,63 @@
|
||||
@extends('unicorn.layouts.default')
|
||||
@section('content')
|
||||
<!-- main start -->
|
||||
<section class="main-container">
|
||||
<div class="container">
|
||||
<div class="good-card">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8 col-12">
|
||||
<div class="card m-3">
|
||||
<div class="card-body p-2 text-center">
|
||||
<h3 class="card-title text-primary ali-icon">{{ __('dujiaoka.confirm_order') }}</h3>
|
||||
</div>
|
||||
<div class="card card-body p-3 border-0">
|
||||
<div class="mx-auto">
|
||||
<h5>
|
||||
<small class="text-muted">{{ __('order.fields.order_sn') }}:{{ $order_sn }}</small>
|
||||
</h5>
|
||||
<div class="mb-1">
|
||||
<label>{{ __('order.fields.title') }}:</label><span>{{ $title }}</span>
|
||||
</div>
|
||||
<div class="mb-1"><label>{{ __('order.fields.goods_price') }}:</label><span> {{ $goods_price }}</span></div>
|
||||
<div class="mb-1"><label>{{ __('order.fields.buy_amount') }}:</label><span>{{ $buy_amount }}</span></div>
|
||||
<div class="mb-1"><label>{{ __('order.fields.email') }}:</label><span>{{ $email }}</span></div>
|
||||
<div class="mb-1">
|
||||
<label>{{ __('order.fields.type') }}:</label>
|
||||
@if($type == \App\Models\Order::AUTOMATIC_DELIVERY)
|
||||
<span class="badge bg-success">{{ __('goods.fields.automatic_delivery') }}</span>
|
||||
@else
|
||||
<span class="badge bg-warning">{{ __('goods.fields.manual_processing') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@if(!empty($coupon))
|
||||
<div class="mb-1"><label>{{ __('order.fields.coupon_id') }}:</label><span>{{ $coupon['coupon'] }}</span></div>
|
||||
<div class="mb-1"><label>{{ __('order.fields.coupon_discount_price') }}:</label><span>{{ __('dujiaoka.money_symbol') }}{{ $coupon_discount_price }}</span></div>
|
||||
@endif
|
||||
@if($wholesale_discount_price > 0 )
|
||||
<div class="mb-1"><label>{{ __('order.fields.wholesale_discount_price') }}:</label><span>{{ __('dujiaoka.money_symbol') }}{{ $wholesale_discount_price }}</span></div>
|
||||
@endif
|
||||
@if(!empty($info))
|
||||
<div class="mb-1"><label>{{ __('dujiaoka.order_information') }}:</label><p>{{ $info }}</p></div>
|
||||
@endif
|
||||
<div class="mb-1"><label>{{ __('order.fields.actual_price') }}:</label><span>{{ __('dujiaoka.money_symbol') }}{{ $actual_price }}</span></div>
|
||||
<div class="mb-1"><label>{{ __('dujiaoka.payment_method') }}:</label><span>{{ $pay['pay_name'] }}</span></div>
|
||||
<div class="mb-1"><label>{{ __('order.fields.order_created') }}:</label><span>{{ $created_at }}</span></div>
|
||||
|
||||
<div class="pay-now text-center mt-3">
|
||||
<a href="{{ url('pay-gateway', ['handle' => urlencode($pay['pay_handleroute']),'payway' => $pay['pay_check'], 'orderSN' => $order_sn]) }}" type="button" class="btn btn-dark"><i class="ali-icon"></i>
|
||||
{{ __('dujiaoka.pay_immediately') }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- main end -->
|
||||
@stop
|
||||
@section('js')
|
||||
@stop
|
||||
@@ -0,0 +1,213 @@
|
||||
@extends('unicorn.layouts.seo')
|
||||
@section('content')
|
||||
<!-- main start -->
|
||||
<section class="main-container">
|
||||
<div class="container">
|
||||
<div class="good-card">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-12 col-md-8">
|
||||
<div class="card mt-3">
|
||||
<div class="row no-gutters">
|
||||
<div class="col-md-4">
|
||||
<img src="{{ picture_ulr($picture) }}"
|
||||
class="card-img-top p-5" alt="{{ $gd_name }}">
|
||||
@if($type == \App\Models\Goods::AUTOMATIC_DELIVERY)
|
||||
<h6><small class="badge bg-success position-absolute top-0 start-0">
|
||||
<i class="ali-icon"></i>
|
||||
{{ __('goods.fields.automatic_delivery') }}</small>
|
||||
|
||||
</h6>
|
||||
@else
|
||||
<h6>
|
||||
<small class="badge bg-warning position-absolute top-0 start-0">
|
||||
<i class="ali-icon"></i>
|
||||
{{ __('goods.fields.manual_processing') }}
|
||||
</small>
|
||||
</h6>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="card-body p-4">
|
||||
<h3 class="card-title">{{ $gd_name }}</h3>
|
||||
<h6>
|
||||
<small class="text-muted">{{__('goods.fields.in_stock')}}:{{ $in_stock }}</small>
|
||||
</h6>
|
||||
@if($buy_limit_num > 0)
|
||||
<h6><small class="badge bg-danger">
|
||||
{{__('dujiaoka.purchase_limit')}}({{ $buy_limit_num }})</small>
|
||||
</h6>
|
||||
@endif
|
||||
@if(!empty($wholesale_price_cnf) && is_array($wholesale_price_cnf))
|
||||
<div class="sale">
|
||||
@foreach($wholesale_price_cnf as $ws)
|
||||
<span class="badge bg-dark mt-1 mb-1">
|
||||
<i class="ali-icon"></i>
|
||||
{{ __('dujiaoka.by_amount') }}{{ $ws['number'] }}{{ __('dujiaoka.or_the_above') }},{{ __('dujiaoka.each') }}:{{ $ws['price'] }}{{ __('dujiaoka.money_symbol') }}
|
||||
</span>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="buy-form mt-3">
|
||||
<form action="{{ url('create-order') }}" method="post">
|
||||
{{ csrf_field() }}
|
||||
<div class="form-group row">
|
||||
<div class="col-12">
|
||||
<h6>{{ __('dujiaoka.price') }}:{{ __('dujiaoka.money_symbol') }} {{ $actual_price }}</h6>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<input type="hidden" name="gid" value="{{ $id }}">
|
||||
<label for="email" class=" col-form-label">{{ __('dujiaoka.email') }}:</label>
|
||||
<input type="email" class="form-control form-control-sm"
|
||||
name="email" id="email" required placeholder="{{ __('dujiaoka.email') }}">
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-4">
|
||||
<label for="shop-number"
|
||||
class="col-form-label">{{ __('dujiaoka.by_amount') }}:</label>
|
||||
<input type="number" class="form-control form-control-sm"
|
||||
id="shop-number" name="by_amount" placeholder="" min="1" value="1">
|
||||
</div>
|
||||
@if(isset($open_coupon))
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<label for="coupon" class="col-form-label">{{ __('dujiaoka.coupon_code') }}:</label>
|
||||
<input type="text"
|
||||
class=" control form-control form-control-sm"
|
||||
id="coupon" name="coupon_code" placeholder="" value="" >
|
||||
</div>
|
||||
@endif
|
||||
@if(dujiaoka_config_get('is_open_search_pwd') == \App\Models\Goods::STATUS_OPEN)
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<label for="search_pwd" class="col-form-label">{{ __('dujiaoka.search_password') }}:</label>
|
||||
<input type="text"
|
||||
class=" control form-control form-control-sm"
|
||||
id="search_pwd" name="search_pwd" required placeholder="" value="" >
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if(dujiaoka_config_get('is_open_img_code') == \App\Models\Goods::STATUS_OPEN)
|
||||
<div class="col-12 col-md-6">
|
||||
<label for="verifyCode" class=" col-form-label">{{ __('dujiaoka.img_verify_code') }}:</label>
|
||||
<div class="input-group">
|
||||
<input type="text" name="img_verify_code" class="form-control form-control-sm"
|
||||
id="verifyCode" required placeholder="">
|
||||
<img style="margin-left: 10px;" src="{{ captcha_src('buy') . time() }}"
|
||||
height="33px" alt="{{ __('dujiaoka.img_verify_code') }}" onclick="refresh()" id="imageCode">
|
||||
<script>
|
||||
function refresh(){
|
||||
$('#imageCode').attr('src','{{ captcha_src('buy') }}'+Math.random());
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
@if($type == \App\Models\Goods::MANUAL_PROCESSING && is_array($other_ipu))
|
||||
@foreach($other_ipu as $ipu)
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<label for="{{ $ipu['field'] }}" class="col-form-label">{{ $ipu['desc'] }}:</label>
|
||||
<input type="text"
|
||||
class=" control form-control form-control-sm"
|
||||
id="{{ $ipu['field'] }}" name="{{ $ipu['field'] }}" @if($ipu['rule'] !== false) required @endif placeholder="{{ $ipu['placeholder'] }}">
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
@endif
|
||||
<div class="col-12">
|
||||
<fieldset>
|
||||
<label for="coupon" class="col-form-label">{{ __('dujiaoka.payment_method') }}:</label>
|
||||
@foreach($payways as $index => $way)
|
||||
<div class="form-check form-check-inline">
|
||||
<label class="form-check-label">
|
||||
<input type="radio" class="form-check-input"
|
||||
name="payway" value="{{ $way['id'] }}" @if($index == 0) checked="checked" @endif>
|
||||
{{ $way['pay_name'] }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
<div class="col-12 mt-2">
|
||||
<button type="submit" id="submit" class="btn btn-outline-primary"> <i
|
||||
class="ali-icon"></i> {{ __('dujiaoka.order_now') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-12 col-md-8">
|
||||
<div class="card mt-3 mb-3">
|
||||
<div class="card-header">
|
||||
<h5>{{ __('goods.fields.description') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{!! $description !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
<!-- main end -->
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="staticBackdropLabel">{{ __('goods.fields.buy_prompt') }}</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
{!! $buy_prompt !!}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{{ __('dujiaoka.close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal end -->
|
||||
@stop
|
||||
@section('js')
|
||||
<script src="/assets/unicorn/js/bootstrap-input-spinner.js"></script>
|
||||
<script>
|
||||
@if(!empty($buy_prompt))
|
||||
var myModal = new bootstrap.Modal(document.getElementById('staticBackdrop'))
|
||||
$(function(){
|
||||
myModal.show()
|
||||
});
|
||||
@endif
|
||||
$("input[type='number']").inputSpinner();
|
||||
$('#submit').click(function(){
|
||||
if($("input[name='by_amount']").val() > {{ $in_stock }}){
|
||||
{{-- 数量不允许大于库存 --}}
|
||||
$(".modal-body").html("{{ __('dujiaoka.prompt.inventory_shortage') }}")
|
||||
myModal.show()
|
||||
return false;
|
||||
}
|
||||
@if($buy_limit_num > 0)
|
||||
if($("input[name='by_amount']").val() > {{ $buy_limit_num }}){
|
||||
{{-- 已超过限购数量 --}}
|
||||
$(".modal-body").html("{{ __('dujiaoka.prompt.purchase_limit_exceeded') }}")
|
||||
myModal.show()
|
||||
return false;
|
||||
}
|
||||
@endif
|
||||
});
|
||||
</script>
|
||||
|
||||
@stop
|
||||
@@ -0,0 +1,189 @@
|
||||
@extends('unicorn.layouts.default')
|
||||
@section('content')
|
||||
<div class="notice" >
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card mt-3">
|
||||
<div class="card-body">
|
||||
<div class="jumbotron jumbotron-fluid p-1">
|
||||
<div class="container">
|
||||
<h4 class="">{{ __('dujiaoka.site_announcement') }}:</h4>
|
||||
<p class="lead">{!! dujiaoka_config_get('notice') !!}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- main start -->
|
||||
<section class="main-container">
|
||||
<!-- category start -->
|
||||
<div class="category">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3 class="text-center">
|
||||
<span style="vertical-align: inherit;">
|
||||
{{ __('dujiaoka.equipment.what_do_you_need_today') }}
|
||||
</span>
|
||||
</h3>
|
||||
<div class="separator"></div>
|
||||
<p class="lead text-center">
|
||||
<span style="vertical-align: inherit;">
|
||||
{{ __('dujiaoka.equipment.self_promotion') }}
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="category-menus">
|
||||
<ul class="nav nav-pills justify-content-center">
|
||||
<li class="nav-item">
|
||||
<a href="#group-all" data-bs-toggle="tab" class="btn btn-outline-secondary active">{{ __('dujiaoka.group_all') }}</a>
|
||||
</li>
|
||||
@foreach($data as $index => $group)
|
||||
<li class="nav-item">
|
||||
<a href="#group-{{ $group['id'] }}" data-bs-toggle="tab" class="btn btn-outline-secondary">{{ $group['gp_name'] }}</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- category end -->
|
||||
<!-- goods start -->
|
||||
<div class="goods">
|
||||
<div class="container">
|
||||
<div class="goods-list mb-5">
|
||||
<div id="goodsTabContent" class="tab-content">
|
||||
|
||||
<div class="tab-pane fade active show" id="group-all">
|
||||
<div class="row row-cols-2 row-cols-md-5 g-4">
|
||||
@foreach($data as $index => $group)
|
||||
@foreach($group['goods'] as $goods)
|
||||
<div class="col">
|
||||
<div class="card position-relative">
|
||||
@if($goods['type'] == \App\Models\Goods::AUTOMATIC_DELIVERY)
|
||||
<span class="badge bg-success position-absolute top-0 start-0">
|
||||
<i class="ali-icon"></i>
|
||||
{{ __('goods.fields.automatic_delivery') }}
|
||||
</span>
|
||||
@else
|
||||
<span class="badge bg-warning position-absolute top-0 start-0">
|
||||
<i class="ali-icon"></i>
|
||||
{{ __('goods.fields.manual_processing') }}
|
||||
</span>
|
||||
@endif
|
||||
<img src="{{ picture_ulr($goods['picture']) }}" class="card-img-top" alt="{{ $goods['gd_name'] }}">
|
||||
<div class="card-body">
|
||||
|
||||
<h6 class="card-title text-truncate">
|
||||
{{ $goods['gd_name'] }}
|
||||
</h6>
|
||||
|
||||
<button type="button" class="btn btn-sm btn-outline-success">
|
||||
<i class="ali-icon"></i>
|
||||
<strong>{{ $goods['actual_price'] }}</strong>
|
||||
</button>
|
||||
@if($goods['wholesale_price_cnf'])
|
||||
<button type="button" class="btn btn-sm btn-outline-warning">
|
||||
<i class="ali-icon"></i>
|
||||
{{ __('dujiaoka.home_discount') }}
|
||||
</button>
|
||||
@endif
|
||||
<h6 class="mt-2"><small class="text-muted">{{__('goods.fields.in_stock')}}:{{ $goods['in_stock'] }}</small></h6>
|
||||
<a href="{{ url("/buy/{$goods['id']}") }}" class="btn btn-primary fr">
|
||||
<i class="ali-icon"></i>
|
||||
{{ __('dujiaoka.order_now') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@foreach($data as $index => $group)
|
||||
<div class="tab-pane fade" id="group-{{ $group['id'] }}">
|
||||
<div class="row row-cols-2 row-cols-md-5 g-4">
|
||||
@foreach($group['goods'] as $goods)
|
||||
<div class="col">
|
||||
<div class="card position-relative">
|
||||
@if($goods['type'] == \App\Models\Goods::AUTOMATIC_DELIVERY)
|
||||
<span class="badge bg-success position-absolute top-0 start-0">
|
||||
<i class="ali-icon"></i>
|
||||
{{ __('goods.fields.automatic_delivery') }}
|
||||
</span>
|
||||
@else
|
||||
<span class="badge bg-warning position-absolute top-0 start-0">
|
||||
<i class="ali-icon"></i>
|
||||
{{ __('goods.fields.manual_processing') }}
|
||||
</span>
|
||||
@endif
|
||||
<img src="{{ picture_ulr($goods['picture']) }}" class="card-img-top" alt="{{ $goods['gd_name'] }}">
|
||||
<div class="card-body">
|
||||
|
||||
<h6 class="card-title text-truncate">
|
||||
{{ $goods['gd_name'] }}
|
||||
</h6>
|
||||
|
||||
<button type="button" class="btn btn-sm btn-outline-success">
|
||||
<i class="ali-icon"></i>
|
||||
<strong>{{ $goods['actual_price'] }}</strong>
|
||||
</button>
|
||||
@if($goods['wholesale_price_cnf'])
|
||||
<button type="button" class="btn btn-sm btn-outline-warning">
|
||||
<i class="ali-icon"></i>
|
||||
{{ __('dujiaoka.home_discount') }}
|
||||
</button>
|
||||
@endif
|
||||
<h6 class="mt-2"><small class="text-muted">{{__('goods.fields.in_stock')}}:{{ $goods['in_stock'] }}</small></h6>
|
||||
<a href="{{ url("/buy/{$goods['id']}") }}" class="btn btn-primary fr">
|
||||
<i class="ali-icon"></i>
|
||||
{{ __('dujiaoka.order_now') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- goods end -->
|
||||
|
||||
</section>
|
||||
<!-- main end -->
|
||||
|
||||
@stop
|
||||
|
||||
@section('js')
|
||||
<script>
|
||||
$("#searchBtn").on("click",function(e){
|
||||
var search_content = $("#searchText").val();
|
||||
//var search_content = search_content.toLowerCase();
|
||||
if($.trim(search_content)!="") {
|
||||
console.log($.trim(search_content));
|
||||
$(".col").hide().filter(":contains('"+search_content+"')").show();
|
||||
} else {
|
||||
$(".col").show();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@stop
|
||||
@@ -0,0 +1,111 @@
|
||||
@extends('unicorn.layouts.default')
|
||||
@section('content')
|
||||
<!-- main start -->
|
||||
<section class="main-container">
|
||||
<div class="container">
|
||||
<div class="order-card">
|
||||
<div class="row justify-content-center">
|
||||
|
||||
@foreach($orders as $order)
|
||||
<div class="col-md-8">
|
||||
<div class="card mt-3">
|
||||
<div class="row no-gutters">
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="card card-body p-3 border-0">
|
||||
<div class="mx-auto">
|
||||
<h5>
|
||||
<small class="text-muted">{{ __('order.fields.order_sn') }}:{{ $order['order_sn'] }}</small>
|
||||
</h5>
|
||||
<div class="mb-1">
|
||||
<label>{{ __('order.fields.title') }}:</label><span>{{ $order['title'] }}</span>
|
||||
</div>
|
||||
|
||||
<div class="mb-1"><label>{{ __('order.fields.buy_amount') }}:</label><span>{{ $order['buy_amount'] }}</span></div>
|
||||
|
||||
<div class="mb-1"><label>{{ __('order.fields.order_created') }}:</label><span>{{ $order['created_at'] }}</span>
|
||||
</div>
|
||||
|
||||
<div class="mb-1"><label>{{ __('order.fields.email') }}:</label><span>{{ $order['email'] }}</span></div>
|
||||
<div class="mb-1">
|
||||
|
||||
<label>{{ __('order.fields.type') }}:</label>
|
||||
@if($order['type'] == \App\Models\Order::AUTOMATIC_DELIVERY)
|
||||
<span class="badge bg-success">{{ __('goods.fields.automatic_delivery') }}</span>
|
||||
@else
|
||||
<span class="badge bg-warning">{{ __('goods.fields.manual_processing') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="mb-1">
|
||||
|
||||
<label>{{ __('order.fields.actual_price') }}:</label>
|
||||
<span>{{ $order['actual_price'] }}</span>
|
||||
</div>
|
||||
<div class="mb-1">
|
||||
|
||||
<label>{{ __('order.fields.status') }}:</label>
|
||||
@switch($order['status'])
|
||||
@case(\App\Models\Order::STATUS_EXPIRED)
|
||||
<span class="badge bg-dark">{{ __('order.fields.status_expired') }}</span>
|
||||
@break
|
||||
@case(\App\Models\Order::STATUS_WAIT_PAY)
|
||||
<span class="badge bg-secondary">{{ __('order.fields.status_wait_pay') }}</span>
|
||||
@break
|
||||
@case(\App\Models\Order::STATUS_PENDING)
|
||||
<span class="badge bg-info">{{ __('order.fields.status_pending') }}</span>
|
||||
@break
|
||||
@case(\App\Models\Order::STATUS_PROCESSING)
|
||||
<span class="badge bg-primary">{{ __('order.fields.status_processing') }}</span>
|
||||
@break
|
||||
@case(\App\Models\Order::STATUS_COMPLETED)
|
||||
<span class="badge bg-success">{{ __('order.fields.status_completed') }}</span>
|
||||
@break
|
||||
@case(\App\Models\Order::STATUS_FAILURE)
|
||||
<span class="badge bg-danger">{{ __('order.fields.status_failure') }}</span>
|
||||
@break
|
||||
@case(\App\Models\Order::STATUS_ABNORMAL)
|
||||
<span class="badge bg-danger">{{ __('order.fields.status_abnormal') }}</span>
|
||||
@break
|
||||
@endswitch
|
||||
</div>
|
||||
<div class="mb-1">
|
||||
|
||||
<label>{{ __('dujiaoka.payment_method') }}:</label>
|
||||
<span>{{ $order['pay']['pay_name'] ?? '' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title">{{ __('order.fields.info') }}</h6>
|
||||
<div class="card-info">
|
||||
<textarea class="form-control" rows="5">{{ $order['info'] }}</textarea>
|
||||
</div>
|
||||
<button id="copy-card" class="btn btn-primary mt-2" data-clipboard-text="{{ $order['info'] }}">{{ __('dujiaoka.copy_text') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
<!-- main end -->
|
||||
@stop
|
||||
@section('js')
|
||||
<script src="/assets/unicorn/js/clipboard.min.js"></script>
|
||||
<script>
|
||||
var clipboard = new ClipboardJS("#copy-card")
|
||||
clipboard.on('success', function (e) {
|
||||
alert("{{ __('dujiaoka.prompt.copy_text_success') }}")
|
||||
});
|
||||
clipboard.on('error', function (e) {
|
||||
alert("{{ __('dujiaoka.prompt.copy_text_failed') }}")
|
||||
});
|
||||
</script>
|
||||
@stop
|
||||
@@ -0,0 +1,55 @@
|
||||
@extends('unicorn.layouts.default')
|
||||
@section('content')
|
||||
<!-- main start -->
|
||||
<section class="main-container">
|
||||
<div class="container">
|
||||
<div class="good-card">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8 col-12">
|
||||
<div class="card m-3">
|
||||
<div class="card-body p-4 text-center">
|
||||
<h3 class="card-title text-primary">{{ __('dujiaoka.scan_qrcode_to_pay') }}</h3>
|
||||
<h6>
|
||||
<small class="text-muted">{{ __('dujiaoka.payment_method') }}:[{{ $payname }}], {{ __('dujiaoka.pay_order_expiration_date_prompt', ['min' => dujiaoka_config_get('order_expire_time', 5)]) }}</small>
|
||||
</h6>
|
||||
<div class="err-messagep-3">
|
||||
<img src="data:image/png;base64,{!! base64_encode(QrCode::format('png')->size(200)->generate($qr_code)) !!}" alt="{{ __('dujiaoka.scan_qrcode_to_pay') }}" srcset="">
|
||||
</div>
|
||||
<h6>
|
||||
<small class="text-warning">{{ __('dujiaoka.amount_to_be_paid') }}: {{ $actual_price }}</small>
|
||||
</h6>
|
||||
@if(Agent::isMobile() && isset($jump_payuri))
|
||||
<a href="{{ $jump_payuri }}" type="button" class="btn btn-dark">
|
||||
{{ __('dujiaoka.open_the_app_to_pay') }}</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- main end -->
|
||||
@stop
|
||||
@section('js')
|
||||
<script>
|
||||
var getting = {
|
||||
url:'{{ url('check-order-status', ['orderSN' => $orderid]) }}',
|
||||
dataType:'json',
|
||||
success:function(res) {
|
||||
if (res.code == 400001) {
|
||||
window.clearTimeout(timer);
|
||||
alert("{{ __('dujiaoka.prompt.order_is_expired') }}")
|
||||
setTimeout("window.location.href ='/'",3000);
|
||||
}
|
||||
if (res.code == 200) {
|
||||
window.clearTimeout(timer);
|
||||
alert("{{ __('dujiaoka.prompt.payment_successful') }}")
|
||||
setTimeout("window.location.href ='{{ url('detail-order-sn', ['orderSN' => $orderid]) }}'",3000);
|
||||
}
|
||||
}
|
||||
};
|
||||
var timer = window.setInterval(function(){$.ajax(getting)},5000);
|
||||
</script>
|
||||
|
||||
@stop
|
||||
@@ -0,0 +1,91 @@
|
||||
@extends('unicorn.layouts.default')
|
||||
@section('content')
|
||||
<!-- main start -->
|
||||
<section class="main-container">
|
||||
<div class="container">
|
||||
<div class="good-card">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8 col-12">
|
||||
<div class="card m-3">
|
||||
<div class="card-body p-4">
|
||||
<h3 class="card-title">{{ __('dujiaoka.order_search') }}</h3>
|
||||
<h6>
|
||||
<small class="text-muted">{{ __('dujiaoka.prompt.search_order_browser_tips') }}</small>
|
||||
</h6>
|
||||
<div class="buy-form mt-3">
|
||||
<ul class="nav nav-pills mb-3">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-bs-toggle="tab" href="#order_search_by_sn">{{ __('dujiaoka.order_search_by_sn') }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-bs-toggle="tab" href="#order_search_by_email">{{ __('dujiaoka.order_search_by_email') }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-bs-toggle="tab" href="#order_search_by_browser">{{ __('dujiaoka.order_search_by_browser') }}</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<div id="searchTabContent" class="tab-content">
|
||||
<div class="tab-pane fade active show" id="order_search_by_sn">
|
||||
<form action="{{ url('search-order-by-sn') }}" method="post" >
|
||||
{{ csrf_field() }}
|
||||
<div class="form-group row">
|
||||
<div class="col-12 col-md-8">
|
||||
<label for="orderSN" class="col-form-label">{{ __('order.fields.order_sn') }}:</label>
|
||||
<input type="text" class="form-control form-control-sm"
|
||||
id="orderSN" name="order_sn" required placeholder="{{ __('order.fields.order_sn') }}">
|
||||
</div>
|
||||
<div class="col-12 mt-3">
|
||||
<button type="submit" class="btn btn-outline-primary">
|
||||
<i class="ali-icon"></i> {{ __('dujiaoka.search_now') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="order_search_by_email">
|
||||
<form action="{{ url('search-order-by-email') }}" method="post">
|
||||
{{ csrf_field() }}
|
||||
<div class="form-group row">
|
||||
<div class="col-12 col-md-8">
|
||||
<label for="email" class="col-form-label">{{ __('order.fields.email') }}:</label>
|
||||
<input type="email" class="form-control form-control-sm"
|
||||
id="email" name="email" required placeholder="">
|
||||
</div>
|
||||
@if(dujiaoka_config_get('is_open_search_pwd', \App\Models\BaseModel::STATUS_CLOSE) == \App\Models\BaseModel::STATUS_OPEN)
|
||||
<div class="col-12 col-md-8">
|
||||
<label for="searchPwd" class="col-form-label">{{ __('order.fields.search_pwd') }}:</label>
|
||||
<input type="password" class="form-control form-control-sm"
|
||||
id="searchPwd" name="search_pwd" required placeholder="">
|
||||
</div>
|
||||
@endif
|
||||
<div class="col-12 mt-3">
|
||||
<button type="submit" class="btn btn-outline-primary">
|
||||
<i class="ali-icon"></i> {{ __('dujiaoka.search_now') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="order_search_by_browser">
|
||||
<form action="{{ url('search-order-by-browser') }}" method="post">
|
||||
{{ csrf_field() }}
|
||||
<div class="form-group row">
|
||||
<div class="col-12 mt-3">
|
||||
<button type="submit" class="btn btn-outline-primary">
|
||||
<i class="ali-icon"></i> {{ __('dujiaoka.search_now') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- main end -->
|
||||
@stop
|
||||
@section('js')
|
||||
@stop
|
||||
Reference in New Issue
Block a user