Merge remote-tracking branch 'origin/dev' into dev
@ -191,7 +191,7 @@ class StoreOtherOrderRepository extends BaseRepository
|
||||
$i = 1;
|
||||
$isVipCoupon = app()->make(StoreGroupOrderRepository::class)->isVipCoupon($groupOrder);
|
||||
//订单记录
|
||||
$storeOrderStatusRepository = app()->make(StoreOrderStatusRepository::class);
|
||||
$storeOrderStatusRepository = app()->make(StoreOtherOrderRepository::class);
|
||||
$svipDiscount = 0;
|
||||
foreach ($groupOrder->orderList as $_k => $order) {
|
||||
$order->paid = 1;
|
||||
@ -950,7 +950,7 @@ class StoreOtherOrderRepository extends BaseRepository
|
||||
$_group['pay_postage'] = $this->bcmathPrice($orderGroup['pay_postage'], $order['pay_postage'], $data['pay_postage']);
|
||||
event('order.changePrice.before', compact('order', 'data'));
|
||||
//订单记录
|
||||
$storeOrderStatusRepository = app()->make(StoreOrderStatusRepository::class);
|
||||
$storeOrderStatusRepository = app()->make(StoreOrderStatusOtherRepository::class);
|
||||
|
||||
$orderStatus = [
|
||||
'order_id' => $order->order_id,
|
||||
@ -1123,7 +1123,7 @@ class StoreOtherOrderRepository extends BaseRepository
|
||||
if ($order['is_virtual'] && $data['delivery_type'] != 3)
|
||||
throw new ValidateException('虚拟商品只能虚拟发货');
|
||||
//订单记录
|
||||
$statusRepository = app()->make(StoreOrderStatusRepository::class);
|
||||
$statusRepository = app()->make(StoreOrderStatusOtherRepository::class);
|
||||
switch ($data['delivery_type']) {
|
||||
case 1:
|
||||
$exprss = app()->make(ExpressRepository::class)->getWhere(['code' => $data['delivery_name']]);
|
||||
@ -1228,8 +1228,8 @@ class StoreOtherOrderRepository extends BaseRepository
|
||||
|
||||
public function getOrderStatus($where, $page, $limit)
|
||||
{
|
||||
$where['type'] = StoreOrderStatusRepository::TYPE_ORDER;
|
||||
return app()->make(StoreOrderStatusRepository::class)->search($where, $page, $limit);
|
||||
$where['type'] = StoreOrderStatusOtherRepository::TYPE_ORDER;
|
||||
return app()->make(StoreOrderStatusOtherRepository::class)->search($where, $page, $limit);
|
||||
}
|
||||
|
||||
public function remarkForm($id)
|
||||
@ -1801,7 +1801,7 @@ class StoreOtherOrderRepository extends BaseRepository
|
||||
public function delOrder($order, $info = '订单删除')
|
||||
{
|
||||
//订单记录
|
||||
$storeOrderStatusRepository = app()->make(StoreOrderStatusRepository::class);
|
||||
$storeOrderStatusRepository = app()->make(StoreOrderStatusOtherRepository::class);
|
||||
$orderStatus = [
|
||||
'order_id' => $order->order_id,
|
||||
'order_sn' => $order->order_sn,
|
||||
|
@ -426,7 +426,7 @@ class SpuRepository extends BaseRepository
|
||||
if ($status == 1 && in_array($productType, [0, 98, 99])) {
|
||||
Queue(SendSmsJob::class, ['tempId' => 'PRODUCT_INCREASE', 'id' => $id]);
|
||||
}
|
||||
if (in_array($productType, [0, 98, 99])) Queue::push(SyncProductTopJob::class,[]);
|
||||
// if (in_array($productType, [0, 98, 99])) Queue::push(SyncProductTopJob::class,[]);
|
||||
return true;
|
||||
} catch (\Exception $exception) {
|
||||
Log::info($exception->getMessage());
|
||||
|
@ -1543,49 +1543,25 @@ class Auth extends BaseController
|
||||
//获取app版本更新信息
|
||||
public function appVersion()
|
||||
{
|
||||
$brandArray = [
|
||||
'huawei',
|
||||
'honor',
|
||||
'iphone',
|
||||
'samsung',
|
||||
'xiaomi',
|
||||
'redmi',
|
||||
'mi',
|
||||
'oppo',
|
||||
'vivo',
|
||||
'nokia',
|
||||
'meizu',
|
||||
'moto'
|
||||
];
|
||||
Log::info("请求版本参数:" . json_encode(request()->param()));
|
||||
$type = $this->request->param('type', '-1');
|
||||
$version = $this->request->param('version', '');
|
||||
$phoneBrand = $this->request->param('phone_brand', '');
|
||||
$queryBuilder = Db::name('AppUpdate')->where('type', $type);
|
||||
// $version = $this->request->param('version', '');
|
||||
// $phoneBrand = $this->request->param('phone_brand', '');
|
||||
// $queryBuilder = Db::name('AppUpdate')->where('type', $type);
|
||||
if ($type == 3) {
|
||||
$android = (Db::name('AppUpdate')->where('type', 1)->where('phone_brand', '')->order('id', 'desc')->find()) ?? (object)[];
|
||||
$ios = (Db::name('AppUpdate')->where('type', 2)->where('phone_brand', '')->order('id', 'desc')->find()) ?? (object)[];
|
||||
return app('json')->success(compact('android', 'ios'));
|
||||
} else {
|
||||
if ($version) {
|
||||
$queryBuilder = $queryBuilder->where('version', '>', $version);
|
||||
}
|
||||
if ($phoneBrand) {
|
||||
$spos = false;
|
||||
foreach ($brandArray as $b) {
|
||||
$pos = stripos($phoneBrand, $b);
|
||||
if ($pos !== false) {
|
||||
$spos = true;
|
||||
$queryBuilder = $queryBuilder->where('phone_brand', $b);
|
||||
}
|
||||
}
|
||||
if ($spos === false) {
|
||||
$queryBuilder = $queryBuilder->where('phone_brand', '');
|
||||
}
|
||||
}
|
||||
$appInfo = $queryBuilder->order('version', 'desc')->fetchSql(false)->find();
|
||||
if (empty($appInfo)) {
|
||||
$appInfo = (Db::name('AppUpdate')->where('type', $type)->where('version', '>', $version)->find()) ?? (object)[];
|
||||
$agent = strtolower($this->request->server('HTTP_USER_AGENT'));
|
||||
// 检查是否为iOS设备,包括iPhone和iPad
|
||||
if (strpos($agent, 'iphone') !== false || strpos($agent, 'ipad') !== false) {
|
||||
$appInfo=[];
|
||||
} elseif (strpos($agent, 'android') !== false) {
|
||||
// 检查是否为Android设备
|
||||
$appInfo = Db::name('AppUpdate')->where('type', $type)->order('id','desc')->find();
|
||||
} else {
|
||||
$appInfo=[];
|
||||
// 如果都不是,则输出其他
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -135,6 +135,7 @@ class MerchantIntention extends BaseController
|
||||
'village_id',
|
||||
'is_nmsc',
|
||||
'bank_username',
|
||||
'bank_code',
|
||||
'bank_opening',
|
||||
'bank_front',
|
||||
'bank_back',
|
||||
@ -175,6 +176,7 @@ class MerchantIntention extends BaseController
|
||||
}
|
||||
$intenInfo['bank_username'] = $data['bank_username'];
|
||||
$intenInfo['bank_opening'] = $data['bank_opening'];
|
||||
$intenInfo['bank_code'] = $data['bank_code'];
|
||||
$intenInfo['bank_front'] = $data['bank_front'];
|
||||
$intenInfo['bank_back'] = $data['bank_back'];
|
||||
$intenInfo['cardno_front'] = $data['cardno_front'];
|
||||
@ -205,6 +207,7 @@ class MerchantIntention extends BaseController
|
||||
'address' => $intenInfo['address'] ?? '',
|
||||
'bank_username' => $data['bank_username'] ?? '',
|
||||
'bank_opening' => $data['bank_opening'] ?? '',
|
||||
'bank_code' => $data['bank_code'] ?? '',
|
||||
'bank_front' => $data['bank_front'] ?? '',
|
||||
'bank_back' => $data['bank_back'] ?? '',
|
||||
'cardno_front' => $data['cardno_front'] ?? '',
|
||||
|
487
app/controller/merchant/store/order/OrderOther.php
Normal file
@ -0,0 +1,487 @@
|
||||
<?php
|
||||
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\controller\merchant\store\order;
|
||||
|
||||
use app\common\repositories\store\ExcelRepository;
|
||||
use app\common\repositories\store\order\MerchantReconciliationRepository;
|
||||
use app\common\repositories\store\order\StoreOtherOrderRepository;
|
||||
use crmeb\exceptions\UploadException;
|
||||
use crmeb\jobs\BatchDeliveryJob;
|
||||
use crmeb\services\ExcelService;
|
||||
use think\App;
|
||||
use think\facade\Db;
|
||||
use crmeb\basic\BaseController;
|
||||
use app\common\repositories\store\order\StoreOtherOrderRepository as repository;
|
||||
use think\facade\Queue;
|
||||
|
||||
/**
|
||||
* 其他订单
|
||||
*/
|
||||
class OrderOther extends BaseController
|
||||
{
|
||||
protected $repository;
|
||||
|
||||
/**
|
||||
* Product constructor.
|
||||
* @param App $app
|
||||
* @param repository $repository
|
||||
*/
|
||||
public function __construct(App $app, repository $repository)
|
||||
{
|
||||
parent::__construct($app);
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
public function title()
|
||||
{
|
||||
$where = $this->request->params(['status', 'date', 'order_sn', 'username', 'order_type', 'keywords', 'order_id', 'activity_type']);
|
||||
$where['mer_id'] = $this->request->merId();
|
||||
return app('json')->success($this->repository->getStat($where, $where['status']));
|
||||
}
|
||||
/**
|
||||
* 订单列表
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
*/
|
||||
public function lst()
|
||||
{
|
||||
[$page, $limit] = $this->getPage();
|
||||
$where = $this->request->params(['status', 'date', 'order_sn', 'username', 'order_type', 'keywords', 'order_id', 'activity_type', 'group_order_sn', 'store_name']);
|
||||
$where['mer_id'] = $this->request->merId();
|
||||
return app('json')->success($this->repository->merchantGetList($where, $page, $limit));
|
||||
}
|
||||
|
||||
public function takeTitle()
|
||||
{
|
||||
$where = $this->request->params(['date', 'order_sn', 'username', 'keywords']);
|
||||
$where['take_order'] = 1;
|
||||
$where['status'] = -1;
|
||||
$where['verify_date'] = $where['date'];
|
||||
unset($where['date']);
|
||||
$where['mer_id'] = $this->request->merId();
|
||||
return app('json')->success($this->repository->getStat($where, ''));
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 自提订单列表
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-08-17
|
||||
*/
|
||||
public function takeLst()
|
||||
{
|
||||
[$page, $limit] = $this->getPage();
|
||||
$where = $this->request->params(['date', 'order_sn', 'username', 'keywords']);
|
||||
$where['take_order'] = 1;
|
||||
$where['status'] = -1;
|
||||
$where['verify_date'] = $where['date'];
|
||||
unset($where['date']);
|
||||
$where['mer_id'] = $this->request->merId();
|
||||
return app('json')->success($this->repository->merchantGetList($where, $page, $limit));
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单头部统计
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
*/
|
||||
public function chart()
|
||||
{
|
||||
return app('json')->success($this->repository->OrderTitleNumber($this->request->merId(), null));
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 自提订单头部统计
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-08-17
|
||||
*/
|
||||
public function takeChart()
|
||||
{
|
||||
return app('json')->success($this->repository->OrderTitleNumber($this->request->merId(), 1));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* TODO 订单类型
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-08-15
|
||||
*/
|
||||
public function orderType()
|
||||
{
|
||||
$where['mer_id'] = $this->request->merId();
|
||||
return app('json')->success($this->repository->orderType($where));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
*/
|
||||
public function deliveryForm($id)
|
||||
{
|
||||
$data = $this->repository->getWhere(['order_id' => $id, 'mer_id' => $this->request->merId(), 'is_del' => 0]);
|
||||
if (!$data) return app('json')->fail('数据不存在');
|
||||
if (!$data['paid']) return app('json')->fail('订单未支付');
|
||||
if (!in_array($data['status'], [0, 1])) return app('json')->fail('订单状态错误');
|
||||
return app('json')->success(formToData($this->repository->sendProductForm($id, $data)));
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 发货
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
*/
|
||||
public function delivery($id)
|
||||
{
|
||||
$type = $this->request->param('delivery_type');
|
||||
$split = $this->request->params(['is_split', ['split', []]]);
|
||||
if (!$this->repository->merDeliveryExists($id, $this->request->merId()))
|
||||
return app('json')->fail('订单信息或状态错误');
|
||||
switch ($type) {
|
||||
case 3: //虚拟发货
|
||||
$data = $this->request->params([
|
||||
'delivery_type',
|
||||
'remark',
|
||||
]);
|
||||
$data['delivery_name'] = '';
|
||||
$data['delivery_id'] = '';
|
||||
$method = 'delivery';
|
||||
break;
|
||||
case 4: //电子面单
|
||||
if (!systemConfig('crmeb_serve_dump'))
|
||||
return app('json')->fail('电子面单功能未开启');
|
||||
$data = $this->request->params([
|
||||
'delivery_type',
|
||||
'delivery_name',
|
||||
'from_name',
|
||||
'from_tel',
|
||||
'from_addr',
|
||||
'temp_id',
|
||||
'remark',
|
||||
]);
|
||||
if (
|
||||
!$data['from_name'] ||
|
||||
!$data['delivery_name'] ||
|
||||
!$data['from_tel'] ||
|
||||
!$data['from_addr'] ||
|
||||
!$data['temp_id']
|
||||
)
|
||||
return app('json')->fail('填写配送信息');
|
||||
$method = 'dump';
|
||||
break;
|
||||
case 5: //同城配送
|
||||
if (systemConfig('delivery_status') != 1)
|
||||
return app('json')->fail('未开启同城配送');
|
||||
$data = $this->request->params([
|
||||
'delivery_type',
|
||||
'station_id',
|
||||
'mark',
|
||||
['cargo_weight', 0],
|
||||
'remark',
|
||||
]);
|
||||
if ($data['cargo_weight'] < 0) return app('json')->fail('包裹重量能为负数');
|
||||
if (!$data['station_id']) return app('json')->fail('请选择门店');
|
||||
$method = 'cityDelivery';
|
||||
break;
|
||||
default: //快递
|
||||
$data = $this->request->params([
|
||||
'delivery_type',
|
||||
'delivery_name',
|
||||
'delivery_id',
|
||||
'remark',
|
||||
]);
|
||||
if (!$data['delivery_type'] || !$data['delivery_name'] || !$data['delivery_id'])
|
||||
return app('json')->fail('填写配送信息');
|
||||
|
||||
$method = 'delivery';
|
||||
break;
|
||||
}
|
||||
$this->repository->runDelivery($id, $this->request->merId(), $data, $split, $method);
|
||||
return app('json')->success('发货成功');
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO
|
||||
* @return \think\response\Json
|
||||
* @author Qinii
|
||||
* @day 7/26/21
|
||||
*/
|
||||
public function batchDelivery()
|
||||
{
|
||||
$params = $this->request->params([
|
||||
'temp_id',
|
||||
'order_id',
|
||||
'from_tel',
|
||||
'from_addr',
|
||||
'from_name',
|
||||
'delivery_id',
|
||||
'delivery_type',
|
||||
'delivery_name',
|
||||
'remark',
|
||||
]);
|
||||
if (!in_array($params['delivery_type'], [2, 3, 4])) return app('json')->fail('发货类型错误');
|
||||
if (!$params['order_id']) return app('json')->fail('需要订单ID');
|
||||
$data = [
|
||||
'mer_id' => $this->request->merId(),
|
||||
'data' => $params
|
||||
];
|
||||
if ($params['delivery_type'] == 4 && !systemConfig('crmeb_serve_dump'))
|
||||
return app('json')->fail('电子面单功能未开启');
|
||||
Queue::push(BatchDeliveryJob::class, $data);
|
||||
return app('json')->success('开始批量发货');
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 改价form
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-06-11
|
||||
*/
|
||||
public function updateForm($id)
|
||||
{
|
||||
if (!$this->repository->merStatusExists($id, $this->request->merId()))
|
||||
return app('json')->fail('订单信息或状态错误');
|
||||
return app('json')->success(formToData($this->repository->form($id)));
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 改价
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-06-11
|
||||
*/
|
||||
public function update($id)
|
||||
{
|
||||
$data = $this->request->params(['total_price', 'pay_postage']);
|
||||
if ($data['total_price'] < 0 || $data['pay_postage'] < 0)
|
||||
return app('json')->fail('金额不可未负数');
|
||||
if (!$this->repository->merStatusExists($id, $this->request->merId()))
|
||||
return app('json')->fail('订单信息或状态错误');
|
||||
$this->repository->eidt($id, $data);
|
||||
return app('json')->success('修改成功');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-06-11
|
||||
*/
|
||||
public function detail($id)
|
||||
{
|
||||
$data = $this->repository->getOne($id, $this->request->merId());
|
||||
if (!$data) return app('json')->fail('数据不存在');
|
||||
return app('json')->success($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-06-11
|
||||
*/
|
||||
public function status($id)
|
||||
{
|
||||
[$page, $limit] = $this->getPage();
|
||||
$where = $this->request->params(['date', 'user_type']);
|
||||
$where['id'] = $id;
|
||||
if (!$this->repository->getOne($id, $this->request->merId()))
|
||||
return app('json')->fail('数据不存在');
|
||||
return app('json')->success($this->repository->getOrderStatus($where, $page, $limit));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-06-11
|
||||
*/
|
||||
public function remarkForm($id)
|
||||
{
|
||||
return app('json')->success(formToData($this->repository->remarkForm($id)));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-06-11
|
||||
*/
|
||||
public function remark($id)
|
||||
{
|
||||
if (!$this->repository->getOne($id, $this->request->merId()))
|
||||
return app('json')->fail('数据不存在');
|
||||
$data = $this->request->params(['remark']);
|
||||
$this->repository->update($id, $data);
|
||||
|
||||
return app('json')->success('备注成功');
|
||||
}
|
||||
|
||||
/**
|
||||
* 核销
|
||||
* @param $code
|
||||
* @author xaboy
|
||||
* @day 2020/8/15
|
||||
*/
|
||||
public function verify($id)
|
||||
{
|
||||
$data = $this->request->params(['data', 'verify_code']);
|
||||
$this->repository->verifyOrder($id, $this->request->merId(), $data);
|
||||
return app('json')->success('订单核销成功');
|
||||
}
|
||||
|
||||
public function verifyDetail($code)
|
||||
{
|
||||
$order = $this->repository->codeByDetail($code);
|
||||
if (!$order) return app('json')->fail('订单不存在');
|
||||
return app('json')->success($order);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成取货码
|
||||
*/
|
||||
public function logisticsCode($id)
|
||||
{
|
||||
$order = $this->repository->getWhere(['order_id' => $id, 'mer_id' => $this->request->merId(), 'is_del' => 0]);
|
||||
if (!$order)
|
||||
return app('json')->fail('订单状态有误');
|
||||
return app('json')->success(['qrcode' => $this->repository->logisticsQrcode($id, $order->order_sn)]);
|
||||
}
|
||||
/**
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-06-11
|
||||
*/
|
||||
public function delete($id)
|
||||
{
|
||||
if (!$this->repository->userDelExists($id, $this->request->merId()))
|
||||
return app('json')->fail('订单信息或状态错误');
|
||||
$this->repository->merDelete($id);
|
||||
return app('json')->success('删除成功');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* TODO 快递查询
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-06-25
|
||||
*/
|
||||
public function express($id)
|
||||
{
|
||||
return app('json')->success($this->repository->express($id, $this->request->merId()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置取货码
|
||||
*/
|
||||
public function qrcode($id)
|
||||
{
|
||||
$storeInfo = Db::name('store_service')->where('mer_id', $this->request->merId())->find();
|
||||
if (!$storeInfo)
|
||||
return app('json')->fail('商户信息有误');
|
||||
$make = app()->make(StoreOrderRepository::class);
|
||||
$order = $make->getWhere(['order_id' => $id, 'mer_id' => $storeInfo['mer_id'], 'is_del' => 0]);
|
||||
if (!$order)
|
||||
return app('json')->fail('订单状态有误');
|
||||
return app('json')->success(['qrcode' => $make->logisticsQrcode($id, $order->order_sn)]);
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-07-30
|
||||
*/
|
||||
public function reList($id)
|
||||
{
|
||||
[$page, $limit] = $this->getPage();
|
||||
$make = app()->make(MerchantReconciliationRepository::class);
|
||||
if (!$make->getWhereCount(['mer_id' => $this->request->merId(), 'reconciliation_id' => $id]))
|
||||
return app('json')->fail('数据不存在');
|
||||
$where = ['reconciliation_id' => $id, 'type' => 0];
|
||||
return app('json')->success($this->repository->reconList($where, $page, $limit));
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 导出文件
|
||||
* @author Qinii
|
||||
* @day 2020-07-30
|
||||
*/
|
||||
public function excel()
|
||||
{
|
||||
[$page, $limit] = $this->getPage();
|
||||
$where = $this->request->params(['status', 'date', 'order_sn', 'order_type', 'username', 'keywords', 'take_order']);
|
||||
if ($where['take_order']) {
|
||||
$where['status'] = -1;
|
||||
$where['verify_date'] = $where['date'];
|
||||
unset($where['date']);
|
||||
unset($where['order_type']);
|
||||
}
|
||||
$where['mer_id'] = $this->request->merId();
|
||||
$data = app()->make(ExcelService::class)->order($where, $page, $limit);
|
||||
return app('json')->success($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 打印小票
|
||||
* @param $id
|
||||
* @return mixed
|
||||
* @author Qinii
|
||||
* @day 2020-07-30
|
||||
*/
|
||||
public function printer($id)
|
||||
{
|
||||
$merId = $this->request->merId();
|
||||
if (!$this->repository->getWhere(['order_id' => $id, 'mer_id' => $merId]))
|
||||
return app('json')->fail('数据不存在');
|
||||
$this->repository->batchPrinter($id, $merId);
|
||||
return app('json')->success('打印成功');
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 导出发货单
|
||||
* @return \think\response\Json
|
||||
* @author Qinii
|
||||
* @day 3/13/21
|
||||
*/
|
||||
public function deliveryExport()
|
||||
{
|
||||
$where = $this->request->params(['username', 'date', 'activity_type', 'order_type', 'username', 'keywords', 'id']);
|
||||
$where['mer_id'] = $this->request->merId();
|
||||
$where['status'] = 0;
|
||||
$where['paid'] = 1;
|
||||
$make = app()->make(StoreOrderRepository::class);
|
||||
if (is_array($where['id'])) $where['order_ids'] = $where['id'];
|
||||
$count = $make->search($where)->count();
|
||||
if (!$count) return app('json')->fail('没有可导出数据');
|
||||
|
||||
[$page, $limit] = $this->getPage();
|
||||
$data = app()->make(ExcelService::class)->delivery($where, $page, $limit);
|
||||
return app('json')->success($data);
|
||||
}
|
||||
|
||||
public function childrenList($id)
|
||||
{
|
||||
$data = $this->repository->childrenList($id, $this->request->merId());
|
||||
return app('json')->success($data);
|
||||
}
|
||||
}
|
@ -421,4 +421,15 @@ class Product extends BaseController
|
||||
$this->repository->updates($ids,$data);
|
||||
return app('json')->success('修改成功');
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入商品列表管理
|
||||
*/
|
||||
public function xlsx_import_list(){
|
||||
[$page, $limit] = $this->getPage();
|
||||
$select=Db::name('store_product_import')->where('mer_id',$this->request->merId())->page($page)->limit($limit)->select()->toArray();
|
||||
$count=Db::name('store_product_import')->where('mer_id',$this->request->merId())->count();
|
||||
return app('json')->success(['list'=>$select,'count'=>$count]);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -27,6 +27,8 @@ class SendSmsJob implements JobInterface
|
||||
|
||||
public function fire($job, $data)
|
||||
{
|
||||
$backtrace = debug_backtrace();
|
||||
Log::info("函数SendSmsJob被". $backtrace[1]['function'] . "调用\n");
|
||||
$status = app()->make(SystemNoticeConfigRepository::class)->getNoticeStatusByConstKey($data['tempId']);
|
||||
if (!$status) {
|
||||
$job->delete();
|
||||
@ -57,7 +59,6 @@ class SendSmsJob implements JobInterface
|
||||
}
|
||||
if ($status['notice_routine'] == 1) {
|
||||
try {
|
||||
Log::info('订阅消息发送数据' . var_export($data, 1));
|
||||
app()->make(WechatTemplateMessageService::class)->subscribeSendTemplate($data);
|
||||
} catch (\Exception $e) {
|
||||
Log::info('订阅消息发送失败' . var_export($data, 1) . $e->getMessage());
|
||||
|
@ -80,7 +80,6 @@ class WechatTemplateMessageService
|
||||
{
|
||||
event('wechat.subscribeTemplate.before',compact('data'));
|
||||
$res = $this->subscribeTemplateMessage($data);
|
||||
Log::info('订阅消息发送Data' . var_export($data, 1));
|
||||
if(!$res || !is_array($res))return true;
|
||||
|
||||
foreach($res as $item){
|
||||
|
@ -2,4 +2,4 @@
|
||||
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')
|
||||
if(window.location.protocol == 'https:'){
|
||||
document.write('<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">')
|
||||
}</script><link rel=stylesheet href=/static/index.97465e7b.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.958c16a8.js></script><script src=/static/js/index.58c5e001.js></script></body></html>
|
||||
}</script><link rel=stylesheet href=/static/index.97465e7b.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.3822bc6e.js></script><script src=/static/js/index.8cf2de6f.js></script></body></html>
|
1
public/mer/css/chunk-01454a3c.1d14cc16.css
Normal file
@ -0,0 +1 @@
|
||||
.bg[data-v-5d58d76d]{z-index:100;position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.5)}.goods_detail .goods_detail_wrapper[data-v-5d58d76d]{z-index:-10}[data-v-5d58d76d] table.el-input__inner{padding:0}.demo-table-expand[data-v-5d58d76d]{font-size:0}.demo-table-expand1[data-v-5d58d76d] label{width:77px!important;color:#99a9bf}.demo-table-expand .el-form-item[data-v-5d58d76d]{margin-right:0;margin-bottom:0;width:33.33%}.selWidth[data-v-5d58d76d]{width:350px!important}.seachTiele[data-v-5d58d76d]{line-height:35px}
|
1
public/mer/css/chunk-09b9b47e.7b692d98.css
Normal file
@ -0,0 +1 @@
|
||||
.selWidth[data-v-4c2bfa98]{width:330px}.title[data-v-4c2bfa98],.title[data-v-96d4296a]{margin-bottom:16px;color:#17233d;font-weight:500;font-size:14px}.description-term[data-v-96d4296a]{display:table-cell;padding-bottom:10px;line-height:20px;width:50%;font-size:12px}
|
1
public/mer/css/chunk-1187ee40.3e641532.css
Normal file
@ -0,0 +1 @@
|
||||
.head[data-v-41d008dc]{padding:30px 35px 25px}.head .full[data-v-41d008dc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.head .full .order_icon[data-v-41d008dc]{width:60px;height:60px}.head .full .iconfont[data-v-41d008dc]{color:#1890ff}.head .full .iconfont.sale-after[data-v-41d008dc]{color:#90add5}.head .full .text[data-v-41d008dc]{-ms-flex-item-align:center;align-self:center;-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;padding-left:12px;font-size:13px;color:#606266}.head .full .text .title[data-v-41d008dc]{margin-bottom:10px;font-weight:500;font-size:16px;line-height:16px;color:rgba(0,0,0,.85)}.head .full .text .order-num[data-v-41d008dc]{padding-top:10px;white-space:nowrap}.head .list[data-v-41d008dc]{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:20px;overflow:hidden;list-style:none;padding:0}.head .list .item[data-v-41d008dc]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:200px;font-size:14px;line-height:14px;color:rgba(0,0,0,.85)}.head .list .item .title[data-v-41d008dc]{margin-bottom:12px;font-size:13px;line-height:13px;color:#666}.head .list .item .value1[data-v-41d008dc]{color:#f56022}.head .list .item .value2[data-v-41d008dc]{color:#1bbe6b}.head .list .item .value3[data-v-41d008dc]{color:#1890ff}.head .list .item .value4[data-v-41d008dc]{color:#6a7b9d}.head .list .item .value5[data-v-41d008dc]{color:#f5222d}.el-tabs--border-card[data-v-41d008dc]{-webkit-box-shadow:none;box-shadow:none;border-bottom:none}.section[data-v-41d008dc]{padding:20px 0 5px;border-bottom:1px dashed #eee}.section .title[data-v-41d008dc]{padding-left:10px;border-left:3px solid #1890ff;font-size:15px;line-height:15px;color:#303133}.section .list[data-v-41d008dc]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;padding:0}.section .item[data-v-41d008dc]{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:16px;font-size:13px;color:#606266}.section .item[data-v-41d008dc]:nth-child(3n+1){padding-right:20px}.section .item[data-v-41d008dc]:nth-child(3n+2){padding-right:10px;padding-left:10px}.section .item[data-v-41d008dc]:nth-child(3n+3){padding-left:20px}.section .value[data-v-41d008dc]{-webkit-box-flex:1;-ms-flex:1;flex:1}.section .value image[data-v-41d008dc]{display:inline-block;width:40px;height:40px;margin:0 12px 12px 0;vertical-align:middle}.tab[data-v-41d008dc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tab .el-image[data-v-41d008dc]{width:36px;height:36px;margin-right:10px}[data-v-41d008dc] .el-drawer__body{overflow:auto}.gary[data-v-41d008dc]{color:#aaa}.logistics[data-v-41d008dc]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 0}.logistics .logistics_img[data-v-41d008dc]{width:45px;height:45px;margin-right:12px}.logistics .logistics_img img[data-v-41d008dc]{width:100%;height:100%}.logistics .logistics_cent span[data-v-41d008dc]{display:block;font-size:12px}.tabBox_tit[data-v-41d008dc]{width:53%;font-size:12px!important;margin:0 2px 0 10px;letter-spacing:1px;padding:5px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.pictures[data-v-20b2a983]{max-width:100%}.area-desc[data-v-20b2a983]{margin:0;color:#999;font-size:12px}.selWidth[data-v-20b2a983]{width:300px}.spBlock[data-v-20b2a983]{cursor:pointer;display:block;padding:5px 0}.check[data-v-20b2a983]{color:#00a2d4}.el-dropdown-link[data-v-20b2a983]{cursor:pointer;color:#409eff;font-size:12px}.el-icon-arrow-down[data-v-20b2a983]{font-size:12px}.tabBox_tit[data-v-20b2a983]{width:53%;font-size:12px!important;margin:0 2px 0 10px;letter-spacing:1px;padding:5px 0;-webkit-box-sizing:border-box;box-sizing:border-box}[data-v-20b2a983] .row-bg .cell{color:red!important}.headTab[data-v-20b2a983]{position:relative}.headTab .headBtn[data-v-20b2a983]{position:absolute;right:0;top:-6px}.dropdown[data-v-20b2a983]{padding:0 10px;border:1px solid #409eff;margin-right:10px;line-height:28px;border-radius:4px}
|
1
public/mer/css/chunk-23707060.17c23284.css
Normal file
@ -0,0 +1 @@
|
||||
.head[data-v-2f11caa9]{padding:30px 35px 25px}.head .full[data-v-2f11caa9]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.head .full .order_icon[data-v-2f11caa9]{width:60px;height:60px}.head .full .iconfont[data-v-2f11caa9]{color:#1890ff}.head .full .iconfont.sale-after[data-v-2f11caa9]{color:#90add5}.head .full .text[data-v-2f11caa9]{-ms-flex-item-align:center;align-self:center;-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;padding-left:12px;font-size:13px;color:#606266}.head .full .text .title[data-v-2f11caa9]{margin-bottom:10px;font-weight:500;font-size:16px;line-height:16px;color:rgba(0,0,0,.85)}.head .full .text .order-num[data-v-2f11caa9]{padding-top:10px;white-space:nowrap}.head .list[data-v-2f11caa9]{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:20px;overflow:hidden;list-style:none;padding:0}.head .list .item[data-v-2f11caa9]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:200px;font-size:14px;line-height:14px;color:rgba(0,0,0,.85)}.head .list .item .title[data-v-2f11caa9]{margin-bottom:12px;font-size:13px;line-height:13px;color:#666}.head .list .item .value1[data-v-2f11caa9]{color:#f56022}.head .list .item .value2[data-v-2f11caa9]{color:#1bbe6b}.head .list .item .value3[data-v-2f11caa9]{color:#1890ff}.head .list .item .value4[data-v-2f11caa9]{color:#6a7b9d}.head .list .item .value5[data-v-2f11caa9]{color:#f5222d}.el-tabs--border-card[data-v-2f11caa9]{-webkit-box-shadow:none;box-shadow:none;border-bottom:none}.section[data-v-2f11caa9]{padding:20px 0 5px;border-bottom:1px dashed #eee}.section .title[data-v-2f11caa9]{padding-left:10px;border-left:3px solid #1890ff;font-size:15px;line-height:15px;color:#303133}.section .list[data-v-2f11caa9]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;padding:0}.section .item[data-v-2f11caa9]{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:16px;font-size:13px;color:#606266}.section .item[data-v-2f11caa9]:nth-child(3n+1){padding-right:20px}.section .item[data-v-2f11caa9]:nth-child(3n+2){padding-right:10px;padding-left:10px}.section .item[data-v-2f11caa9]:nth-child(3n+3){padding-left:20px}.section .value[data-v-2f11caa9]{-webkit-box-flex:1;-ms-flex:1;flex:1}.section .value image[data-v-2f11caa9]{display:inline-block;width:40px;height:40px;margin:0 12px 12px 0;vertical-align:middle}.tab[data-v-2f11caa9]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tab .el-image[data-v-2f11caa9]{width:36px;height:36px;margin-right:10px}[data-v-2f11caa9] .el-drawer__body{overflow:auto}.gary[data-v-2f11caa9]{color:#aaa}.logistics[data-v-2f11caa9]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 0}.logistics .logistics_img[data-v-2f11caa9]{width:45px;height:45px;margin-right:12px}.logistics .logistics_img img[data-v-2f11caa9]{width:100%;height:100%}.logistics .logistics_cent span[data-v-2f11caa9]{display:block;font-size:12px}.tabBox_tit[data-v-2f11caa9]{width:53%;font-size:12px!important;margin:0 2px 0 10px;letter-spacing:1px;padding:5px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.pictures[data-v-08282ec2]{max-width:100%}.area-desc[data-v-08282ec2]{margin:0;color:#999;font-size:12px}.selWidth[data-v-08282ec2]{width:300px}.spBlock[data-v-08282ec2]{cursor:pointer;display:block;padding:5px 0}.check[data-v-08282ec2]{color:#00a2d4}.el-dropdown-link[data-v-08282ec2]{cursor:pointer;color:#409eff;font-size:12px}.el-icon-arrow-down[data-v-08282ec2]{font-size:12px}.tabBox_tit[data-v-08282ec2]{width:53%;font-size:12px!important;margin:0 2px 0 10px;letter-spacing:1px;padding:5px 0;-webkit-box-sizing:border-box;box-sizing:border-box}[data-v-08282ec2] .row-bg .cell{color:red!important}.headTab[data-v-08282ec2]{position:relative}.headTab .headBtn[data-v-08282ec2]{position:absolute;right:0;top:-6px}.dropdown[data-v-08282ec2]{padding:0 10px;border:1px solid #409eff;margin-right:10px;line-height:28px;border-radius:4px}
|
@ -1 +0,0 @@
|
||||
.selWidth[data-v-4c2bfa98]{width:330px}.title[data-v-4c2bfa98]{margin-bottom:16px;color:#17233d;font-weight:500;font-size:14px}.head[data-v-2f11caa9]{padding:30px 35px 25px}.head .full[data-v-2f11caa9]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.head .full .order_icon[data-v-2f11caa9]{width:60px;height:60px}.head .full .iconfont[data-v-2f11caa9]{color:#1890ff}.head .full .iconfont.sale-after[data-v-2f11caa9]{color:#90add5}.head .full .text[data-v-2f11caa9]{-ms-flex-item-align:center;align-self:center;-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;padding-left:12px;font-size:13px;color:#606266}.head .full .text .title[data-v-2f11caa9]{margin-bottom:10px;font-weight:500;font-size:16px;line-height:16px;color:rgba(0,0,0,.85)}.head .full .text .order-num[data-v-2f11caa9]{padding-top:10px;white-space:nowrap}.head .list[data-v-2f11caa9]{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:20px;overflow:hidden;list-style:none;padding:0}.head .list .item[data-v-2f11caa9]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:200px;font-size:14px;line-height:14px;color:rgba(0,0,0,.85)}.head .list .item .title[data-v-2f11caa9]{margin-bottom:12px;font-size:13px;line-height:13px;color:#666}.head .list .item .value1[data-v-2f11caa9]{color:#f56022}.head .list .item .value2[data-v-2f11caa9]{color:#1bbe6b}.head .list .item .value3[data-v-2f11caa9]{color:#1890ff}.head .list .item .value4[data-v-2f11caa9]{color:#6a7b9d}.head .list .item .value5[data-v-2f11caa9]{color:#f5222d}.el-tabs--border-card[data-v-2f11caa9]{-webkit-box-shadow:none;box-shadow:none;border-bottom:none}.section[data-v-2f11caa9]{padding:20px 0 5px;border-bottom:1px dashed #eee}.section .title[data-v-2f11caa9]{padding-left:10px;border-left:3px solid #1890ff;font-size:15px;line-height:15px;color:#303133}.section .list[data-v-2f11caa9]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;padding:0}.section .item[data-v-2f11caa9]{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:16px;font-size:13px;color:#606266}.section .item[data-v-2f11caa9]:nth-child(3n+1){padding-right:20px}.section .item[data-v-2f11caa9]:nth-child(3n+2){padding-right:10px;padding-left:10px}.section .item[data-v-2f11caa9]:nth-child(3n+3){padding-left:20px}.section .value[data-v-2f11caa9]{-webkit-box-flex:1;-ms-flex:1;flex:1}.section .value image[data-v-2f11caa9]{display:inline-block;width:40px;height:40px;margin:0 12px 12px 0;vertical-align:middle}.tab[data-v-2f11caa9]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tab .el-image[data-v-2f11caa9]{width:36px;height:36px;margin-right:10px}[data-v-2f11caa9] .el-drawer__body{overflow:auto}.gary[data-v-2f11caa9]{color:#aaa}.logistics[data-v-2f11caa9]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 0}.logistics .logistics_img[data-v-2f11caa9]{width:45px;height:45px;margin-right:12px}.logistics .logistics_img img[data-v-2f11caa9]{width:100%;height:100%}.logistics .logistics_cent span[data-v-2f11caa9]{display:block;font-size:12px}.tabBox_tit[data-v-2f11caa9]{width:53%;font-size:12px!important;margin:0 2px 0 10px;letter-spacing:1px;padding:5px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.title[data-v-96d4296a]{margin-bottom:16px;color:#17233d;font-weight:500;font-size:14px}.description-term[data-v-96d4296a]{display:table-cell;padding-bottom:10px;line-height:20px;width:50%;font-size:12px}.pictures[data-v-488b8196]{max-width:100%}.area-desc[data-v-488b8196]{margin:0;color:#999;font-size:12px}.selWidth[data-v-488b8196]{width:300px}.spBlock[data-v-488b8196]{cursor:pointer;display:block;padding:5px 0}.check[data-v-488b8196]{color:#00a2d4}.el-dropdown-link[data-v-488b8196]{cursor:pointer;color:#409eff;font-size:12px}.el-icon-arrow-down[data-v-488b8196]{font-size:12px}.tabBox_tit[data-v-488b8196]{width:53%;font-size:12px!important;margin:0 2px 0 10px;letter-spacing:1px;padding:5px 0;-webkit-box-sizing:border-box;box-sizing:border-box}[data-v-488b8196] .row-bg .cell{color:red!important}.headTab[data-v-488b8196]{position:relative}.headTab .headBtn[data-v-488b8196]{position:absolute;right:0;top:-6px}.dropdown[data-v-488b8196]{padding:0 10px;border:1px solid #409eff;margin-right:10px;line-height:28px;border-radius:4px}
|
1
public/mer/js/chunk-01454a3c.ff2c918e.js
Normal file
1
public/mer/js/chunk-09296115.458d81a7.js
Normal file
1
public/mer/js/chunk-09b9b47e.9ee1eae8.js
Normal file
1
public/mer/js/chunk-1187ee40.8f36610a.js
Normal file
1
public/mer/js/chunk-23707060.d3d09a52.js
Normal file
1
public/mer/js/chunk-ab3d6574.4ba9853b.js
Normal file
1
public/mer/js/chunk-ae0b147e.e852998b.js
Normal file
1
public/mer/js/chunk-e411121c.cd127568.js
Normal file
BIN
public/static/applet/dp.png
Normal file
After Width: | Height: | Size: 500 KiB |
BIN
public/static/applet/icons.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
public/static/applet/live.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
public/static/applet/oa.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
public/static/images/icon/all.png
Normal file
After Width: | Height: | Size: 391 B |
BIN
public/static/images/icon/car.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
public/static/images/icon/close.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
public/static/images/icon/plus.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
public/static/images/icon/short.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/static/images/location.png
Normal file
After Width: | Height: | Size: 682 B |
BIN
public/static/images/no_short.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
public/static/images/re_address.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
public/static/images/used.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/static/img/X.png
Normal file
After Width: | Height: | Size: 897 B |
BIN
public/static/img/close.png
Normal file
After Width: | Height: | Size: 1006 B |
BIN
public/static/img/colse1.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
public/static/img/gn.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
public/static/img/jb.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
public/static/img/jl.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
public/static/img/li.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
public/static/img/missing-face.01b4ac4f.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
public/static/img/missing-face.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
public/static/img/no_short.f2ffcd1c.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
public/static/img/shanpin.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
public/static/img/used.2a20a6fd.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/static/img/you.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
public/static/img/zhi.png
Normal file
After Width: | Height: | Size: 148 KiB |