!177 电子面单更新

Merge pull request !177 from 赵世界/develop
This commit is contained in:
赵世界 2023-07-31 05:31:00 +00:00 committed by Gitee
commit cc779a52f0
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
176 changed files with 12483 additions and 10570 deletions

View File

@ -20,6 +20,11 @@
6. `php artisan key:generate`
7. `php artisan update:super_admin_permissions` 更新超级管理员角色权限
#### 日常更新
1. 更新文件 resources/lang/zh-CN/permission.php
2. `php artisan db:seed --class=MenusTableSeeder` 更新菜单
3. `php artisan db:seed --class=PermissionsTableSeeder` 更新权限
#### 更新权限
`php artisan db:seed --class=PermissionsTableSeeder`

View File

@ -10,10 +10,14 @@ use App\Models\GoodsSku;
use App\Models\GoodsType;
use App\Models\Log;
use App\Models\Shop;
use App\Models\ShopSender;
use App\Models\ShopShip;
use App\Models\TodayPrice;
use App\Services\Business\BusinessFactory;
use App\Services\Business\KuaiTuanTuan\FaceSheet;
use App\Services\Ship\WayBillService;
use App\Utils\DateTimeUtils;
use Carbon\Carbon;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use App\Jobs\BusinessGoodsSkuIncrQuantity;
@ -46,23 +50,7 @@ class Test extends Command
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$shops = Shop::query()->where('plat_id', Shop::$PLAT_KTT)->where('status', Shop::$STATUS_AUTHORIZED)->where('id', 6)->get();
foreach ($shops as $shop) {
$faceSheet = new FaceSheet();
$faceSheet->setShop($shop);
var_dump($faceSheet->searchWayBill());
}
}
public function getAuthUrl()
{
return "https://wb.pinduoduo.com/logistics/auth?client_id=24f25877aca447c5830a6aa896301d5e&redirect_uri=http://erp.chutang66.com/pdd/ship";
}
}

View File

@ -2,6 +2,9 @@
namespace App\Filters;
use App\Models\BusinessOrderItem;
use Carbon\Carbon;
class BusinessOrderFilter extends Filters
{
protected function participateNo($value)
@ -43,4 +46,39 @@ class BusinessOrderFilter extends Filters
{
return $this->builder->where('after_sales_status', $value);
}
protected function confirmAtStart($value)
{
$start = Carbon::parse($value)->timestamp;
$start *= 1000;
return $this->builder->where('confirm_at', '>=', $start);
}
protected function confirmAtEnd($value)
{
$end = Carbon::parse($value)->timestamp;
$end *= 1000;
return $this->builder->where('confirm_at', '<=', $end);
}
protected function goodsSkuNum($value)
{
if (1 === $value) {
return $this->builder->where('goods_sku_num', '=', 1);
}
if (2 === $value) {
return $this->builder->where('goods_sku_num', '<=', 5)
->where('goods_sku_num', '>=', 2);
}
if (6 === $value) {
return $this->builder->where('goods_sku_num', '>=', 6);
}
}
protected function printStatus($value)
{
return $this->builder->where('print_status', $value);
}
}

View File

@ -23,4 +23,9 @@ class GoodsSkuFilter extends Filters
{
return $this->builder->where('external_sku_id', $value);
}
protected function isCombination($value)
{
return $this->builder->where('is_combination', $value);
}
}

View File

@ -5,87 +5,111 @@ namespace App\Http\Controllers\Business;
use App\Exports\OrderBlankExport;
use App\Http\Controllers\Controller;
use App\Models\BusinessOrder;
use App\Models\BusinessOrderItem;
use App\Models\GoodsSku;
use App\Models\Shop;
use App\Services\Ship\WayBillService;
use App\Utils\DateTimeUtils;
use Carbon\Carbon;
use Illuminate\Http\Request;
use App\Http\Resources\BusinessOrderResource;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Facades\Excel;
class BusinessOrderController extends Controller
{
public function index(Request $request)
{
$businessOrders = BusinessOrder::query()
->where('shop_id', '<>', 8)
$shopIds = Shop::query()
->where('plat_id', Shop::$PLAT_KTT)
->pluck('id');
$builder = BusinessOrder::query()
->with([
'shop:id,name',
'items:id,business_order_id,goods_name,goods_number,external_sku_id'
])
->orderByDesc('confirm_at')
->filter()
->whereIn('shop_id', $shopIds)
->filter();
$externalSkuIds = $request->get('external_sku_ids');
if ($externalSkuIds) {
$ids = BusinessOrderItem::query()->whereIn('external_sku_id', $externalSkuIds)->pluck('business_order_id');
$builder->whereIn('id', $ids);
}
$businessOrders = $builder->orderByDesc('confirm_at')
->paginate($request->get('per_page'));
return BusinessOrderResource::collection($businessOrders);
}
private function getOrderIdsWitmGoodsNum($goodsSkuNum, $orders)
{
$map = [
1 => [
'min' => 1,
'max' => 1
],
2 => [
'min' => 2,
'max' => 5
],
6 => [
'min' => 6,
'max' => 999999
],
];
$numMap = $map[$goodsSkuNum];
// 获取订单商品编码
$externalSkuIds = [];
foreach ($orders as $order) {
foreach ($order->items as $item) {
if ($item['external_sku_id']) {
$externalSkuIds [] = $item['external_sku_id'];
}
}
}
$goodsSkus = GoodsSku::query()
->with('combinationGoods')
->whereIn('external_sku_id', $externalSkuIds)
->get('external_sku_id');
$goodsSkuItems = [];
foreach ($goodsSkus as $goodsSku) {
$goodsSkuItems[$goodsSku['external_sku_id']] = $goodsSku->combinationGoods->count() ?: 1;
}
$ids = [];
foreach ($orders as $order) {
$itemNum = 0;
foreach ($order->items as $item) {
if (0 === $item['cancel_status']) {
$itemNum = isset($goodsSkuItems[$item['external_sku_id']]) ? $itemNum + $goodsSkuItems[$item['external_sku_id']] : $itemNum + 1;
}
}
if ($itemNum >= $numMap['min'] && $itemNum <= $numMap['max']) {
$ids[] = $order['id'];
}
}
return $ids;
}
public function exportOrderBlank(Request $request)
{
$shopId = $request->get('shop_id');
$startNo = $request->get('start_no');
$endNo = $request->get('end_no');
$isSupplier = $request->get('is_supplier');
$field = 'participate_no';
if ($isSupplier) {
$field = 'supply_participate_no';
}
$startTime = BusinessOrder::query()
->where('shop_id', $shopId)
->where('is_supplier', $isSupplier)
->where($field, $startNo)
->orderByDesc('id')
->value('confirm_at');
if (empty($startTime)) {
exit('开始跟团号订单未查询到或正在同步中,请稍后再次获取');
}
$startTime = DateTimeUtils::getMicroTime($startTime);
$endTime = BusinessOrder::query()
->where('shop_id', $shopId)
->where('is_supplier', $isSupplier)
->where($field, $endNo)
->orderByDesc('id')
->value('confirm_at');
if (empty($endTime)) {
exit('结束跟团号订单未查询到或正在同步中,请稍后再次获取');
}
$endTime = DateTimeUtils::getMicroTime($endTime);
if ($startTime > $endTime) {
exit('开始跟团号订单 成交时间 大于 结束跟团号订单时间,请查验后再试!');
}
$orderIds = $request->get('order_ids');
$orders = BusinessOrder::query()
->with([
'items:id,business_order_id,external_sku_id,goods_number,goods_name,already_cancel_number',
'items.goodsSkuLocation:id,external_sku_id,location,goods_name'
])
->where('shop_id', $shopId)
->where('confirm_at', '>=', $startTime)
->where('confirm_at', '<=', $endTime)
->where('after_sales_status', 0)
->where('cancel_status', 0)
->where('is_supplier', $isSupplier)
->orderByDesc('confirm_at')
->get(['id', $field]);
->whereIn('id', $orderIds)
->get(['id']);
$distribution = [];
$no = [];
foreach ($orders as $key => $order) {
$index = $key + 1;
$no[] = 'P' . $index . '(' . $order->$field . ')';
$no[] = 'P' . $index;
foreach ($order->items as $item) {
$item = $item->toArray();
$num = $item['goods_number'] - $item['already_cancel_number'];
if (empty($item['external_sku_id']) || empty($num)) {
continue;
}
$local = $item['goods_sku_location'] ? $item['goods_sku_location']['location'] : '无';
$index = $key + 1;
$index = "P{$index}*{$num}";
@ -105,10 +129,10 @@ class BusinessOrderController extends Controller
}
}
}
$shopName = Shop::query()->where('id', $shopId)->value('name');
$fileName = time();
ob_end_clean();
return Excel::download(new OrderBlankExport($shopName, $no, $distribution), $shopName . date('Y-m-d H:i:s') . '.xlsx');
return Excel::download(new OrderBlankExport($fileName, $no, $distribution), $fileName . date('Y-m-d H:i:s') . '.xlsx');
}
public function groupActivity(Request $request, $shopId)
@ -123,4 +147,81 @@ class BusinessOrderController extends Controller
->get(['activity_title', 'activity_no'])
->toArray();
}
public function print(Request $request)
{
$shopIds = Shop::query()
->where('plat_id', Shop::$PLAT_KTT)
->pluck('id');
$builder = BusinessOrder::query()
->where('order_sn', 'PO-230728-287005797932723')
->with('items')
->whereIn('shop_id', $shopIds)
->filter();
$externalSkuIds = $request->get('external_sku_ids');
if ($externalSkuIds) {
$ids = BusinessOrderItem::query()->whereIn('external_sku_id', $externalSkuIds)->pluck('business_order_id');
$builder->whereIn('id', $ids);
}
$businessOrders = $builder->get();
$waybill = new WayBillService();
$waybill->setOrders($businessOrders);
$contents = $waybill->getContents();
// 待打印数据
[$documents, $orderIds] = $waybill->getDocumentsAndOrderIds($contents);
return response([
'documents' => $this->combinationPrintDocuments($documents),
'order_ids' => implode(',', $orderIds),
]);
}
private function combinationPrintDocuments($documents)
{
$documentData = [
'data' => [
'height' => 240,
'list' => [
[
'fontSize' => 31.2,
'height' => 45.68,
'left' => 2.08,
'text' => '', // 备注
'top' => 2.08,
'width' => 413.52
]
],
'waterdata' => [
'text' => ''
],
'width' => 560
],
'templateURL' => 'http://pinduoduoimg.yangkeduo.com/logistics/2019-07-14/5d7e8b5969d954539fcfba3268bbeb3a.xml'
];
$data = [];
foreach ($documents as &$document) {
$documentID = $document['documentID'];
unset($document['documentID']);
$data[] = [
'documentID' => $documentID,
'contents' => [
$document,
$documentData
]
];
}
return $data;
}
public function printSuccess(Request $request)
{
$orderIds = $request->input('order_ids');
$orderIds = explode(',', $orderIds);
BusinessOrder::query()
->where('id', $orderIds)
->increment('print_status');
return response(['message' => 'success']);
}
}

View File

@ -52,7 +52,7 @@ class GoodsSkusController extends Controller
}])
->where('is_combination', 0)
->orderBy('stock', 'desc')
->paginate($request->get('per_page'));
->paginate(1);
$fields = implode(',', [
'shop_id',
'external_sku_id',
@ -561,4 +561,24 @@ class GoodsSkusController extends Controller
'other_num' => $otherNum,
]);
}
public function goodsSkusList(Request $request)
{
$title = $request->input('title');
$data = [];
$goodsSkus = GoodsSku::query()
->with('goods:id,title')
->whereHas('goods', function ($query) use ($title) {
$query->where('title', 'like', '%' . $title . '%');
})
->get(['title', 'external_sku_id', 'goods_id']);
foreach ($goodsSkus as $goodsSku) {
$data[] = [
'external_sku_id' => $goodsSku['external_sku_id'],
'title' => $goodsSku['goods']['title'] . ' ' . $goodsSku['title']
];
}
return $data;
}
}

View File

@ -0,0 +1,65 @@
<?php
namespace App\Http\Controllers\Shop;
use App\Http\Controllers\Controller;
use App\Http\Resources\ShopsResource;
use App\Models\Shop;
use App\Models\ShopSender;
use App\Models\ShopShip;
use App\Services\Business\KuaiTuanTuan\FaceSheet;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class ShipController extends Controller
{
public function index(Request $request)
{
$shops = Shop::query()
->select(['id', 'name', 'plat_id'])
->with('ship')
->where('plat_id', 1)
->get();
$time = date('Y-m-d H:i:s');
foreach ($shops as $shop) {
$faceSheet = new FaceSheet();
$shop->authUrl = $faceSheet->getAuthUrl($shop->id, $shop->plat_id);
$shop->status = 0;
if ($shop->ship) {
$shop->status = $shop->ship->getOriginal('status');
if ($shop->ship->expires_at && $time >= $shop->ship->expires_at) {
ShopShip::query()->where('shop_id', $shop->id)->update(['status' => Shop::$STATUS_UNAUTHORIZED]);
}
}
}
return ShopsResource::collection($shops);
}
public function getSenders(Request $request)
{
$senders = ShopSender::query()
->where('shop_id', $request->get('shop_id'))
->where('shop_ship_id', $request->get('shop_ship_id'))
->orderBy('sort')
->get();
return JsonResource::collection($senders);
}
public function saveSenders(Request $request)
{
$senderList = $request->input('senderList');
foreach ($senderList as $item) {
$item = json_decode($item, true);
$sender = ShopSender::query()->findOrFail($item['id']);
$sender->name = $item['name'];
$sender->mobile = $item['mobile'];
$sender->sort = $item['sort'];
$sender->status = $item['status'];
$sender->save();
}
return response(['message' =>'保存成功']);
}
}

View File

@ -7,7 +7,9 @@ use App\Models\BusinessGoodsSku;
use App\Models\GoodsSku;
use App\Models\Shop;
use App\Http\Resources\ShopsResource;
use App\Services\PrintModule\Pdd\Ktt;
use App\Models\ShopSender;
use App\Models\ShopShip;
use App\Services\Business\KuaiTuanTuan\FaceSheet;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
@ -23,6 +25,9 @@ class ShopsController extends Controller
$time = time();
foreach ($shops as $shop) {
$shop->authUrl = '';
if ('已授权' === $shop->status && ($shop->expires_at - time()) / 3600 <= 72) {
$shop->status = '重新授权';
}
if ('妙选' !== $shop->plat_id && ('未授权' === $shop->status || '重新授权' === $shop->status)) {
$shop->authUrl = BusinessFactory::init()->make($shop->plat_id)->getAuthUrl($shop->id, $shop->getOriginal('plat_id'));
}
@ -222,7 +227,32 @@ class ShopsController extends Controller
public function pddPrintAuth(Request $request)
{
$ktt = new Ktt();
$ktt->auth($request->get('code'));
[$shopId, $platId] = explode('_', $request->get('state'));
$faceSheet = new FaceSheet();
$faceSheet->setCode($request->get('code'));
$faceSheet->setShopWithId($shopId);
$faceSheet->auth('ship');
$shopShip = ShopShip::query()
->where('shop_id', $shopId)
->first();
if (empty($shopShip)) {
exit();
}
$faceSheet->setShop($shopShip);
$resp = $faceSheet->searchWayBill();
if (!isset($resp['pdd_waybill_search_response']['waybill_apply_subscription_cols'])) {
exit();
}
foreach ($resp['pdd_waybill_search_response']['waybill_apply_subscription_cols'] as $subCols) {
foreach ($subCols['branch_account_cols'] as $accountCols) {
foreach ($accountCols['shipp_address_cols'] as $item) {
$item['wp_code'] = $subCols['wp_code'];
ShopSender::query()->updateOrCreate(
['shop_id' => $shopId, 'shop_ship_id' => $shopShip->id, 'detail' => $item['detail']],
$item
);
}
}
}
}
}

View File

@ -17,6 +17,10 @@ class BusinessOrder extends Model
'cancel_status',
'after_sales_status',
'supply_participate_no',
'confirm_at_start',
'confirm_at_end',
'goods_sku_num',
'print_status',
];
protected $fillable = [
@ -63,21 +67,21 @@ class BusinessOrder extends Model
public function getShippingStatusAttribute($value)
{
$map = ['未发货', '已发货', '部分发货'];
$map = ['未发货', '已发货', '部分发货', '' => ''];
return $map[$value];
}
public function getIsSupplierAttribute($value)
{
$map = ['帮忙团订单', '自卖团订单'];
$map = ['帮忙团订单', '自卖团订单', '' => ''];
return $map[$value];
}
public function getCancelStatusAttribute($value)
{
$map = ['未取消', '已取消'];
$map = ['未取消', '已取消', '' => ''];
return $map[$value];
}

View File

@ -13,7 +13,8 @@ class GoodsSku extends Model
'sku_title',
'status',
'exclude_ids',
'external_sku_id'
'external_sku_id',
'is_combination',
];
protected $fillable = [

View File

@ -26,7 +26,6 @@ class Shop extends Model
'access_token',
'expires_in',
'refresh_token',
'refresh_token_expires_at',
'refresh_token_expires_in',
'pop_auth_token_create_response',
];
@ -43,9 +42,6 @@ class Shop extends Model
2 => '无需授权',
3 => '停用',
];
if (1 === (int)$value && ($this->attributes['expires_at'] - time()) / 3600 <= 72) {
return '重新授权';
}
return $map[$value];
}
@ -61,4 +57,14 @@ class Shop extends Model
return $map[$value];
}
public function getRefreshTokenExpiresAtAttribute($value)
{
return $value ? date('Y-m-d H:i:s', $value) : '';
}
public function ship()
{
return $this->hasOne(ShopShip::class, 'shop_id', 'id');
}
}

10
app/Models/ShopSender.php Normal file
View File

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class ShopSender extends Model
{
protected $guarded = [];
}

39
app/Models/ShopShip.php Normal file
View File

@ -0,0 +1,39 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class ShopShip extends Model
{
protected $guarded = [];
protected function shop()
{
return $this->belongsTo(Shop::class, 'shop_id', 'id');
}
public function getStatusAttribute($value)
{
$map = [
0 => '未授权',
1 => '已授权',
3 => '停用',
];
if (1 === (int)$value && ($this->attributes['expires_at'] - time()) / 3600 <= 72) {
return '重新授权';
}
return $map[$value];
}
public function getExpiresAtAttribute($value)
{
return $value ? date('Y-m-d H:i:s', $value) : '';
}
public function senders()
{
return $this->hasMany(ShopSender::class, 'shop_ship_id');
}
}

10
app/Models/Waybill.php Normal file
View File

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Waybill extends Model
{
protected $guarded = [];
}

View File

@ -45,9 +45,20 @@ abstract class BusinessClient
} else {
$orderRecord->update($order);
}
$goodsSkuNum = 0;
foreach ($order['sub_order_list'] as $item) {
$item['shop_id'] = $shopId;
$orderItem = BusinessOrderItem::firstOrNew(['shop_id' => $shopId, 'business_order_id' => $orderRecord->id, 'goods_id' => $item['goods_id'], 'sku_id' => $item['sku_id']], $item);
if ($item['external_sku_id']) {
$goodsSku = GoodsSku::query()
->with('combinationGoods')
->where('external_sku_id', $item['external_sku_id'])
->first('external_sku_id');
$combinationNum = $goodsSku ? ($goodsSku->combinationGoods->count() ?: 1) : 1;
$goodsSkuNum += $combinationNum;
} else {
$goodsSkuNum++;
}
$num = 0;
$cancelNum = $item['already_cancel_number'] ?? 0;
if (empty($orderItem->id)) {
@ -78,13 +89,15 @@ abstract class BusinessClient
event(new BusinessOrdersUpdate($orderItem, $num));
}
}
$orderRecord->goods_sku_num = $goodsSkuNum;
$orderRecord->save();
}
}
public function authCallback($code, $shopId)
public function authCallback($code, $shop)
{
$this->setCode($code);
$this->setShop($shopId);
$this->setShop($shop);
$this->auth();
return $this;
@ -97,7 +110,7 @@ abstract class BusinessClient
return $this;
}
public function setShop(Shop $shop)
public function setShop($shop)
{
$this->shop = $shop;
@ -121,18 +134,6 @@ abstract class BusinessClient
return $this->code;
}
public function setSkuId($skuId)
{
$this->skuId = $skuId;
return $this;
}
public function getSkuId()
{
return $this->skuId;
}
public function formDataPostRequest($url, $params)
{
$method = 'POST';

View File

@ -4,6 +4,21 @@ namespace App\Services\Business\KuaiTuanTuan;
class FaceSheet extends KuaiTuanTuan
{
protected $clientId = '24f25877aca447c5830a6aa896301d5e';
protected $clientSecret = '59b6f4bd402c6423878a8f4ef1bde28359c1f05a';
protected $redirectUri = 'http://erp.chutang66.com/pdd/ship';
public function __construct()
{
}
public function getAuthUrl($shopId, $platId)
{
$state = $shopId . '_' . $platId;
return "https://wb.pinduoduo.com/logistics/auth?client_id={$this->clientId}&redirect_uri={$this->redirectUri}&state={$state}";
}
/**
* 快递公司查看接口
*
@ -17,6 +32,21 @@ class FaceSheet extends KuaiTuanTuan
return $this->doRequest($type, $appendParams);
}
public function getWayBill($sender, $orderInfo, $wpCode)
{
$type = 'pdd.waybill.get';
$appendParams = [
'param_waybill_cloud_print_apply_new_request' => [
'sender' => $sender,
'trade_order_info_dtos' => [$orderInfo],
'wp_code' => $wpCode,
]
];
$appendParams['param_waybill_cloud_print_apply_new_request'] = json_encode($appendParams['param_waybill_cloud_print_apply_new_request'], 256);
return $this->doRequest($type, $appendParams);
}
/**
* searchWayBill
*
@ -38,12 +68,33 @@ class FaceSheet extends KuaiTuanTuan
return $this->doRequest($type, $appendParams);
}
public function test()
public function getStdTemplates()
{
$type = 'pdd.cloudprint.stdtemplates.get';
$appendParams = [
'wp_code' => 'SF'
];
return $this->doRequest($type, $appendParams);
}
public function getCustomares()
{
$type = 'pdd.cloudprint.customares.get';
$appendParams = [];
return $this->doRequest($type, $appendParams);
}
public function cancel($waybillCode, $wpCode)
{
$type = 'pdd.cloudprint.customares.get';
$appendParams = [
'waybill_code' => $waybillCode,
'wp_code' => $wpCode,
];
return $this->doRequest($type, $appendParams);
}
}

View File

@ -5,6 +5,8 @@ namespace App\Services\Business\KuaiTuanTuan;
use App\Models\BusinessGoodsSku;
use App\Models\GoodsSku;
use App\Models\GroupGoods;
use App\Models\Shop;
use App\Models\ShopShip;
use App\Services\Business\BusinessClient;
use App\Models\Groups as GroupsModel;
use Illuminate\Support\Facades\Log;
@ -29,13 +31,21 @@ class KuaiTuanTuan extends BusinessClient
'sign' => ''
];
public function auth()
public function auth($type = 'ktt')
{
$accessToken = $this->getAccessTokenWithCode();
$accessToken['scope'] = json_encode($accessToken['scope'], 256);
$accessToken['pop_auth_token_create_response'] = json_encode($accessToken, 256);
$accessToken['status'] = 1;
$this->shop->update($accessToken);
$accessToken['status'] = Shop::$STATUS_AUTHORIZED;
if ('ktt' === $type) {
$accessToken['pop_auth_token_create_response'] = json_encode($accessToken, 256);
$this->shop->update($accessToken);
}
if ('ship' === $type) {
ShopShip::query()->updateOrCreate(
['shop_id' => $this->shop->id],
$accessToken
);
}
return $this->shop;
}

View File

@ -1,63 +0,0 @@
<?php
namespace App\Services\PrintModule\Pdd;
use GuzzleHttp\Client;
use Illuminate\Support\Facades\Log as LogFile;
class Ktt
{
protected $clientId = '24f25877aca447c5830a6aa896301d5e';
protected $clientSecret = '59b6f4bd402c6423878a8f4ef1bde28359c1f05a';
protected $callBackUrl = 'http://erp.chutang66.com/pdd/ship';
public function auth($code)
{
$accessToken = $this->getAccessTokenWithCode($code);
LogFile::info('电子面单应用授权: ' . json_encode($accessToken, 256));
}
protected function getAccessTokenWithCode($code)
{
$type = 'pdd.pop.auth.token.create';
$res = $this->doRequest($type, ['code' => $code]);
return $res['pop_auth_token_create_response'];
}
public function doRequest($type, $appendParams = [], $url = 'https://gw-api.pinduoduo.com/api/router')
{
$publicParams = [
'type' => $type,
'client_id' => $this->clientId,
'timestamp' => time()
];
$publicParams = array_merge($publicParams, $appendParams);
$publicParams['sign'] = $this->getSign($publicParams);
return $this->formDataPostRequest($url, $publicParams);
}
protected function getSign($params)
{
ksort($params);
$str = '';
foreach ($params as $key => $val) {
$str .= $key . $val;
}
$str = $this->clientSecret . $str . $this->clientSecret;
return strtoupper(md5($str));
}
protected function formDataPostRequest($url, $params)
{
$method = 'POST';
$headers = [
'headers' => ['Content-type' => 'application/x-www-form-urlencoded;charset=UTF-8'],
'form_params' => $params
];
$res = (new Client())->request($method, $url, $headers);
return json_decode($res->getBody()->getContents(), true);
}
}

View File

@ -0,0 +1,293 @@
<?php
namespace App\Services\Ship;
use App\Models\GoodsSku;
use App\Models\ShopShip;
use App\Models\Waybill;
use App\Services\Business\KuaiTuanTuan\FaceSheet;
class WayBillService
{
public $orders;
public $objectId;
public $templateUrl = 'https://file-link.pinduoduo.com/sf_one';
public function getContents()
{
// 已下单过的订单不再下单
$contents = [];
foreach ($this->orders as $shopId => $order) {
// 花落测试;
if ($shopId !== 6) {
continue;
}
// 订单取消的情况暂不处理
$shop = $this->getShop($shopId);
$faceSheet = new FaceSheet();
$faceSheet->setShop($shop);
foreach ($order as $item) {
[$sender, $orderInfo, $wpCode] = $this->prepareRequest($item, $shop);
$waybill = $this->saveWayBill($item, $shop);
if (empty($waybill->id)) {
$resp = $faceSheet->getWayBill($sender, $orderInfo, $wpCode);
if (isset($resp['pdd_waybill_get_response'])) {
$data = $resp['pdd_waybill_get_response']['modules'][0];
$printData = json_decode($data['print_data'], true);
$waybill->request_id = $resp['pdd_waybill_get_response']['request_id'];
$waybill->encryptedData = $printData['encryptedData'];
$waybill->signature = $printData['signature'];
$waybill->templateUrl = $printData['templateUrl'];
$waybill->ver = $printData['ver'];
$waybill->waybill_code = $data['waybill_code'];
$waybill->save();
// 返回待打印内容
$contents[$waybill->id] = [
'addData' => [
'sender' => $sender,
],
'encryptedData' => $printData['encryptedData'],
'signature' => $printData['signature'],
'templateUrl' => 'http://pinduoduoimg.yangkeduo.com/print_template/2019-08-01/4f0d85f35ca5729ad7df47314c990c31.xml',
'ver' => $printData['ver'],
'userid' => $waybill->user_id,
'items' => $item['items'],
'documentID' => $waybill->id,
'order_id' => $item['id']
];
}
} else {
$contents[$waybill->id] = [
'addData' => [
'sender' => $sender,
],
'encryptedData' => $waybill->encryptedData,
'signature' => $waybill->signature,
'templateUrl' => 'http://pinduoduoimg.yangkeduo.com/print_template/2019-08-01/4f0d85f35ca5729ad7df47314c990c31.xml',
'ver' => $waybill->ver,
'userid' => $waybill->user_id,
'items' => json_decode($waybill->items, true),
'documentID' => $waybill->id,
'order_id' => $item['id']
];
}
}
}
return $contents;
}
public function getDocumentsAndOrderIds($contents)
{
// 打印单,根据商品排序
$items = [];
foreach ($contents as $docId => $content) {
foreach ($content['items'] as $item) {
if ($item['is_single']) {
$items[$item['external_sku_id']][] = $docId;
}
}
}
ksort($items);
$documents = $orderIds = $hasIds = [];
foreach ($items as $docIds) {
$docIds = array_unique($docIds);
$docIds = array_diff($docIds, $hasIds);
$hasIds = array_merge($hasIds, $docIds);
foreach ($docIds as $docId) {
$orderIds[] = $contents[$docId]['order_id'];
unset($contents[$docId]['items'], $contents[$docId]['order_id']);
$documents[] = $contents[$docId];
}
}
return [$documents, $orderIds];
}
private function saveWayBill($order, $shop)
{
$senderConfig = $shop->senders[0];
$waybill = Waybill::query()->firstOrNew(
['order_sn' => $order['order_sn']]
);
$waybill->shop_id = $shop->shop_id;
$waybill->object_id = $this->objectId;
$waybill->sender_country = $senderConfig['country'];
$waybill->sender_province = $senderConfig['province'];
$waybill->sender_city = $senderConfig['city'];
$waybill->sender_district = $senderConfig['district'];
$waybill->sender_detail = $senderConfig['detail'];
$waybill->sender_name = $senderConfig['name'];
$waybill->sender_mobile = $senderConfig['mobile'];
$waybill->recipient_province = $order['recipient_province'];
$waybill->recipient_city = $order['recipient_city'];
$waybill->recipient_district = $order['recipient_district'];
$waybill->recipient_detail = $order['recipient_detail'];
$waybill->recipient_name = $order['recipient_name'];
$waybill->recipient_mobile = $order['recipient_mobile'];
$waybill->user_id = $shop->owner_id;
$waybill->wp_code = $senderConfig['wp_code'];
$waybill->order_sn = $order['order_sn'];
$waybill->order_id = $order['id'];
$waybill->items = json_encode($order['items'], 256);
return $waybill;
}
private function prepareRequest($order, $shop)
{
$senderConfig = $shop->senders[0];
$sender = [
'address' => [
'city' => $senderConfig['city'],
'country' => $senderConfig['country'],
'detail' => $senderConfig['detail'],
'district' => $senderConfig['district'],
'province' => $senderConfig['province'],
],
'name' => $senderConfig['name'],
'mobile' => $senderConfig['mobile'],
];
$this->setObjectId();
$items = [];
foreach ($order['items'] as $item) {
if ($item['should_print']) {
$items[] = [
'name' => $item['name'],
'count' => $item['count'],
];
}
}
$orderInfo = [
'object_id' => $this->objectId,
'order_info' => [
'order_channels_type' => 'PDD',
'trade_order_list' => [$order['order_sn']],
],
'package_info' => [
'items' => $items,
],
'recipient' => [
'address' => [
'city' => $order['recipient_city'],
'detail' => $order['recipient_detail'],
'district' => $order['recipient_district'],
'province' => $order['recipient_province'],
],
'name' => $order['recipient_name'],
'mobile' => $order['recipient_mobile'],
],
'template_url' => $this->templateUrl,
'user_id' => $shop->owner_id,
];
return [$sender, $orderInfo, $senderConfig['wp_code']];
}
public function setObjectId()
{
$this->objectId = date('YmdHis') . str_pad(mt_rand(1, 9999999), 7, '0', STR_PAD_LEFT);
return $this;
}
public function setOrders($orders)
{
$orders = $orders->toArray();
// 取出所有组合商品编码
$combinationExternalIds = [];
foreach ($orders as $order) {
foreach ($order['items'] as $item) {
if (false !== strpos($item['external_sku_id'], 'Z')) {
$combinationExternalIds[] = $item['external_sku_id'];
}
}
}
// 获取组合商品详情
$combinations = [];
if ($combinationExternalIds) {
$goodsSkus = GoodsSku::query()
->select(['id', 'external_sku_id'])
->with([
'combinationGoods:id,goods_sku_id,item_id,item_num',
'combinationGoods.goodsSkuItem:id,external_sku_id',
])
->whereIn('external_sku_id', $combinationExternalIds)
->get()
->toArray();
foreach ($goodsSkus as $goodsSku) {
foreach ($goodsSku['combination_goods'] as $item) {
$combinations[$goodsSku['external_sku_id']][] = [
'count' => $item['item_num'],
'external_sku_id' => $item['goods_sku_item']['external_sku_id'],
];
}
}
}
// 订单拆分组合
foreach ($orders as $order) {
$info = [
'id' => $order['id'],
'order_sn' => $order['order_sn'],
'recipient_province' => $order['receiver_address_province'],
'recipient_city' => $order['receiver_address_city'],
'recipient_district' => $order['receiver_address_district'],
'recipient_detail' => $order['receiver_address_detail'],
'recipient_name' => $order['receiver_name'],
'recipient_mobile' => $order['receiver_mobile'],
'items' => []
];
foreach ($order['items'] as $item) {
$count = $item['goods_number'] - $item['already_cancel_number'];
if (isset($combinations[$item['external_sku_id']])) {
$info['items'][] = [
'is_single' => false,
'should_print' => true,
'name' => $item['goods_name'],
'count' => $count,
'external_sku_id' => $item['external_sku_id'],
];
foreach ($combinations[$item['external_sku_id']] as $combinationItem) {
$info['items'][] = [
'is_single' => true,
'should_print' => false,
'count' => $count * $combinationItem['count'],
'external_sku_id' => $combinationItem['external_sku_id'],
];
}
} else {
$info['items'][] = [
'is_single' => true,
'should_print' => true,
'name' => $item['goods_name'],
'count' => $count,
'external_sku_id' => $item['external_sku_id'],
];
}
}
$this->orders[$order['shop_id']][] = $info;
}
return $this;
}
private function getShop($shopId)
{
return ShopShip::query()
->select(['id', 'shop_id', 'access_token', 'owner_id'])
->where('shop_id', $shopId)
->with([
'senders' => function ($query) {
$query->orderBy('sort')->first();
}
])
->first();
}
}

View File

@ -0,0 +1,45 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateShopShipsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
if (Schema::hasTable('shop_ships')) {
return;
}
Schema::create('shop_ships', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('shop_id');
$table->string('access_token');
$table->unsignedBigInteger('expires_at')->comment('access_token过期时间点');
$table->unsignedInteger('expires_in')->comment('access_token过期时间段10表示10秒后过期');
$table->string('owner_id')->comment('商家店铺id');
$table->string('owner_name')->comment('商家账号名称');
$table->string('refresh_token')->comment('refresh token可用来刷新access_token');
$table->unsignedBigInteger('refresh_token_expires_at')->comment('Refresh token过期时间点');
$table->unsignedInteger('refresh_token_expires_in')->comment('refresh_token过期时间段10表示10秒后过期');
$table->text('scope')->comment('接口列表');
$table->tinyInteger('status')->default(0);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('shop_ships');
}
}

View File

@ -0,0 +1,40 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddGoodsSkuNumToBusinessOrdersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
if (Schema::hasColumns('business_orders', ['goods_sku_num', 'print_status'])) {
return;
}
Schema::table('business_orders', function (Blueprint $table) {
$table->integer('goods_sku_num')->default(0)->comment('订单内不同商品种类数量');
$table->tinyInteger('print_status')->default(0)->comment('订单内不同商品种类数量');
$table->index('goods_sku_num');
$table->index('print_status');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('business_orders', function (Blueprint $table) {
$table->dropColumn(['goods_sku_num', 'print_status']);
$table->dropIndex('goods_sku_num');
$table->dropIndex('print_status');
});
}
}

View File

@ -0,0 +1,46 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateShopSendersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
if (Schema::hasTable('shop_senders')) {
return;
}
Schema::create('shop_senders', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('shop_id');
$table->integer('shop_ship_id');
$table->string('country');
$table->string('province');
$table->string('city');
$table->string('district');
$table->string('detail');
$table->string('name')->nullable()->default('');
$table->integer('mobile')->nullable();
$table->integer('sort')->default(1);
$table->integer('status')->default(1);
$table->string('wp_code')->default('');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('shop_senders');
}
}

View File

@ -0,0 +1,71 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateWaybillsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
if (Schema::hasTable('waybills')) {
return;
}
Schema::create('waybills', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('shop_id');
$table->string('request_id')->default('');
$table->text('encryptedData')->nullable();
$table->string('signature')->default('');
$table->string('templateUrl');
$table->string('ver')->default('');
$table->string('waybill_code')->default('');
$table->string('object_id', 32);
$table->integer('key')->default(0);
$table->string('sender_country');
$table->string('sender_province');
$table->string('sender_city');
$table->string('sender_district');
$table->string('sender_detail');
$table->string('sender_name');
$table->integer('sender_mobile');
$table->string('recipient_country')->default('');
$table->string('recipient_province');
$table->string('recipient_city');
$table->string('recipient_district');
$table->string('recipient_detail');
$table->string('recipient_name');
$table->string('recipient_mobile', 16);
$table->string('user_id');
$table->string('wp_code');
$table->string('order_channels_type')->default('PDD');
$table->string('order_sn');
$table->integer('order_id');
$table->text('items');
$table->tinyInteger('cancel')->default(0);
$table->timestamps();
$table->index('object_id');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('waybills');
}
}

View File

@ -49,10 +49,23 @@ class MenusTableSeeder extends Seeder
$routes = include(resource_path('lang/zh-CN/permission.php'));
foreach ($routes as $code => $route) {
if (false === strpos($code, '.')) {
DB::table('menus')->updateOrInsert(
['id' => $route['id'], 'parent_id' => $route['parent_id'], 'code' => $code],
['name' => $route['name'], 'show' => $route['show']]
);
$menu = DB::table('menus')->where('id', $route['id'])->first();
if ($menu) {
DB::table('menus')->where('id', $route['id'])->update([
'parent_id' => $route['parent_id'],
'code' => $code,
'name' => $route['name'],
'show' => $route['show'],
]);
} else {
DB::table('menus')->insert([
'id' => $route['id'],
'parent_id' => $route['parent_id'],
'code' => $code,
'name' => $route['name'],
'show' => $route['show']
]);
}
}
}
}

1
public/dist/css/148.32fc9cb6.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.table[data-v-5ba5084c]{margin-top:20px;position:relative}.btn[data-v-5ba5084c]{float:right}[data-v-5ba5084c] .cell{display:flex;align-items:center}.commodityimg[data-v-5ba5084c]{width:59px;height:59px;background:hsla(0,0%,89%,.39);opacity:1;display:block;margin-right:12px}.Img[data-v-5ba5084c]{width:100%;height:100%}[data-v-5ba5084c] .btn11{padding:0;width:14px;height:14px}[data-v-5ba5084c] .btn11 img{width:100%;height:100%}.page[data-v-5ba5084c]{margin-top:20px}

View File

@ -1 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}

View File

@ -1 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a[data-v-61aedda5]{text-decoration:none;color:#fff}.block[data-v-61aedda5]{margin-top:20px}

View File

@ -1 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-cd5188f4]{margin-top:20px}

View File

@ -1 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-28a560c7]{margin-top:20px}

1
public/dist/css/469.e2c3eff0.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-upload--picture-card[data-v-49170b11]{width:50px;height:50px}.el-form-item[data-v-49170b11]{margin-left:40px}.avatar-uploader .el-upload[data-v-49170b11]{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload[data-v-49170b11]:hover{border-color:#409eff}.avatar-uploader-icon[data-v-49170b11]{font-size:28px;color:#8c939d;width:148px;height:148px;line-height:148px;text-align:center}.avatar[data-v-49170b11]{width:148px;height:148px;display:block}

1
public/dist/css/509.ff505d60.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.width[data-v-00d7c456]{transition:all .3s;opacity:0;width:0!important}.width1[data-v-00d7c456]{transition:all .3s;opacity:1;width:200px!important}.el-container[data-v-00d7c456]{height:100vh}.el-aside[data-v-00d7c456]{background-color:#d3dce6;color:#333;overflow-x:hidden}.el-aside[data-v-00d7c456]::-webkit-scrollbar{width:8px}.el-aside[data-v-00d7c456]::-webkit-scrollbar-thumb{background-color:hsla(220,4%,58%,.3);border-radius:20px}.el-main[data-v-00d7c456]{background-color:#f0f2f5;color:#333;padding:0 0!important}.el-main[data-v-00d7c456]::-webkit-scrollbar{width:10px}.el-main[data-v-00d7c456]::-webkit-scrollbar-thumb{background-color:hsla(220,4%,58%,.3)}.box-card[data-v-00d7c456]{min-height:calc(100vh - 120px);margin:10px}.conent[data-v-00d7c456]{width:100%;min-height:calc(100vh - 200px);position:relative}.add[data-v-00d7c456]{cursor:pointer;font-size:25px;color:#606266}.head[data-v-00d7c456]{padding:10px;background-color:#fff;border-bottom:1px solid #f6f6f6;box-shadow:0 1px 4px rgba(0,21,41,.08)}.head ul[data-v-00d7c456]{display:flex;justify-content:space-between}.head ul li[data-v-00d7c456]{display:flex;align-items:center}.head ul li .right[data-v-00d7c456]{margin-left:20px}.head ul li .token[data-v-00d7c456]{cursor:pointer}.el-aside[data-v-00d7c456]{background:#282c34;box-shadow:2px 0 6px rgba(0,21,41,.35)}[data-v-00d7c456] .el-menu{border:none}.el-menu-item[data-v-00d7c456]:hover{outline:0!important;background:#5470c6!important;border-radius:5px!important}.el-menu-item.is-active[data-v-00d7c456]{color:#fff!important;background:#5470c6!important;border-radius:5px!important}.el-menu-item-group__title[data-v-00d7c456]{padding:0 0!important}

1
public/dist/css/538.c437d427.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-999e92dc]{margin-top:20px}

1
public/dist/css/551.5c0a41ae.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}

1
public/dist/css/629.e29dc41d.css vendored Normal file
View File

@ -0,0 +1 @@
.backimg[data-v-602ebc52]{width:100%;height:1080px;background-image:url(../img/%E7%BB%84%2032.a17892e3.png);background-repeat:no-repeat;background-size:100%;position:relative}.sign[data-v-602ebc52]{width:400px;height:500px;position:absolute;top:270px;right:300px}.sign input[data-v-602ebc52]{width:400px;height:51px;border:2px solid #bcbcbc;opacity:1;border-radius:5px;margin-bottom:25px}.sign .title[data-v-602ebc52]{width:125px;height:23px;font-size:22px;font-family:BigruixianBlackGBV1\.0;font-weight:400;line-height:23px;color:#2b53ec;opacity:1}.sign .manage[data-v-602ebc52]{margin-top:19px;margin-bottom:50px}.sign .manage img[data-v-602ebc52]{margin-right:20px}.sign .manage span[data-v-602ebc52]{width:340px;height:57px;font-size:54px;font-family:BigruixianBlackGBV1\.0;font-weight:400;line-height:57px;color:#2b53ec;opacity:1}.sign .title-1[data-v-602ebc52]{width:70px;height:35px;font-size:35px;font-family:Source Han Sans CN;font-weight:500;line-height:60px;color:#393939;opacity:1;margin-bottom:35px}.sign .el-button[data-v-602ebc52]{width:400px;height:58px;background:#2b53ec;border-radius:5px;margin-top:40px}.sign .el-checkbox[data-v-602ebc52]{color:#2b53ec}

1
public/dist/css/682.aa1db5a0.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-7a83ab34]{margin-top:20px}[data-v-7a83ab34] .el-card__body{padding:0}

1
public/dist/css/712.5c0a41ae.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}

1
public/dist/css/727.c4284d71.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-679bd5d4]{margin-top:20px}

1
public/dist/css/731.97f84af6.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-891ad2ec]{margin-top:20px}

1
public/dist/css/802.581510f4.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.table[data-v-14b6ebcc]{margin-top:20px;position:relative}.btn[data-v-14b6ebcc]{float:right}[data-v-14b6ebcc] .cell{display:flex;align-items:center}.commodityimg[data-v-14b6ebcc]{width:59px;height:59px;background:hsla(0,0%,89%,.39);opacity:1;display:block;margin-right:12px}.Img[data-v-14b6ebcc]{width:100%;height:100%}.confirmbtn[data-v-14b6ebcc]{width:114px;height:44px;border-radius:3px;margin-top:21px;margin-bottom:8px}.import-right[data-v-14b6ebcc]{margin-top:30px}.import-right a[data-v-14b6ebcc]{text-decoration:none;color:#000}[data-v-14b6ebcc] .btn11{padding:0;width:14px;height:14px}[data-v-14b6ebcc] .btn11 img{width:100%;height:100%}.page[data-v-14b6ebcc]{margin-top:20px}

1
public/dist/css/837.1ee98b16.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-72212ab6]{margin-top:20px}

1
public/dist/css/862.5c0a41ae.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}

1
public/dist/css/877.e6e4e404.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-5c3641da]{margin-top:20px}

1
public/dist/css/960.70613752.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-upload--picture-card[data-v-0509b8a0]{width:50px;height:50px}.avatar-uploader .el-upload[data-v-0509b8a0]{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload[data-v-0509b8a0]:hover{border-color:#409eff}.avatar-uploader-icon[data-v-0509b8a0]{font-size:28px;color:#8c939d;width:148px;height:148px;line-height:148px;text-align:center}.avatar[data-v-0509b8a0]{width:148px;height:148px;display:block}.shop-sku-img[data-v-0509b8a0]{display:flex}.shop-sku-img .shop[data-v-0509b8a0]{margin-right:20px;margin-bottom:20px}.shop-sku-img .shop .shop-name[data-v-0509b8a0]{text-align:center}

1
public/dist/css/984.49025908.css vendored Normal file
View File

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a[data-v-5959e012]{text-decoration:none;color:#fff}.block[data-v-5959e012]{margin-top:20px}

View File

@ -1 +0,0 @@
.block[data-v-999e92dc]{margin-top:20px}

View File

@ -1 +0,0 @@
.backimg[data-v-602ebc52]{width:100%;height:1080px;background-image:url(../img/组\ 32.1fba730a.png);background-repeat:no-repeat;background-size:100%;position:relative}.sign[data-v-602ebc52]{width:400px;height:500px;position:absolute;top:270px;right:300px}.sign input[data-v-602ebc52]{width:400px;height:51px;border:2px solid #bcbcbc;opacity:1;border-radius:5px;margin-bottom:25px}.sign .title[data-v-602ebc52]{width:125px;height:23px;font-size:22px;font-family:BigruixianBlackGBV1\.0;font-weight:400;line-height:23px;color:#2b53ec;opacity:1}.sign .manage[data-v-602ebc52]{margin-top:19px;margin-bottom:50px}.sign .manage img[data-v-602ebc52]{margin-right:20px}.sign .manage span[data-v-602ebc52]{width:340px;height:57px;font-size:54px;font-family:BigruixianBlackGBV1\.0;font-weight:400;line-height:57px;color:#2b53ec;opacity:1}.sign .title-1[data-v-602ebc52]{width:70px;height:35px;font-size:35px;font-family:Source Han Sans CN;font-weight:500;line-height:60px;color:#393939;opacity:1;margin-bottom:35px}.sign .el-button[data-v-602ebc52]{width:400px;height:58px;background:#2b53ec;border-radius:5px;margin-top:40px}.sign .el-checkbox[data-v-602ebc52]{color:#2b53ec}

View File

@ -1 +0,0 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.width[data-v-2333c1ea]{transition:all .3s;opacity:0;width:0!important}.width1[data-v-2333c1ea]{transition:all .3s;opacity:1;width:200px!important}.el-container[data-v-2333c1ea]{height:100vh}.el-aside[data-v-2333c1ea]{background-color:#d3dce6;color:#333;overflow-x:hidden}.el-aside[data-v-2333c1ea]::-webkit-scrollbar{width:8px}.el-aside[data-v-2333c1ea]::-webkit-scrollbar-thumb{background-color:rgba(144,147,153,.3);border-radius:20px}.el-main[data-v-2333c1ea]{background-color:#f0f2f5;color:#333;padding:0 0!important}.el-main[data-v-2333c1ea]::-webkit-scrollbar{width:10px}.el-main[data-v-2333c1ea]::-webkit-scrollbar-thumb{background-color:rgba(144,147,153,.3)}.box-card[data-v-2333c1ea]{min-height:calc(100vh - 120px);margin:10px}.conent[data-v-2333c1ea]{width:100%;min-height:calc(100vh - 200px);position:relative}.add[data-v-2333c1ea]{cursor:pointer;font-size:25px;color:#606266}.head[data-v-2333c1ea]{padding:10px;background-color:#fff;border-bottom:1px solid #f6f6f6;box-shadow:0 1px 4px rgba(0,21,41,.08)}.head ul[data-v-2333c1ea]{display:flex;justify-content:space-between}.head ul li[data-v-2333c1ea]{display:flex;align-items:center}.head ul li .right[data-v-2333c1ea]{margin-left:20px}.head ul li .token[data-v-2333c1ea]{cursor:pointer}.el-aside[data-v-2333c1ea]{background:#282c34;box-shadow:2px 0 6px rgba(0,21,41,.35)}[data-v-2333c1ea] .el-menu{border:none}.el-menu-item[data-v-2333c1ea]:hover{outline:0!important;background:#5470c6!important;border-radius:5px!important}.el-menu-item.is-active[data-v-2333c1ea]{color:#fff!important;background:#5470c6!important;border-radius:5px!important}.el-menu-item-group__title[data-v-2333c1ea]{padding:0 0!important}

View File

@ -1 +0,0 @@
.table[data-v-5ba5084c]{margin-top:20px;position:relative}.btn[data-v-5ba5084c]{float:right}[data-v-5ba5084c] .cell{display:flex;align-items:center}.commodityimg[data-v-5ba5084c]{width:59px;height:59px;background:hsla(0,0%,89%,.39);opacity:1;display:block;margin-right:12px}.Img[data-v-5ba5084c]{width:100%;height:100%}[data-v-5ba5084c] .btn11{padding:0;width:14px;height:14px}[data-v-5ba5084c] .btn11 img{width:100%;height:100%}.page[data-v-5ba5084c]{margin-top:20px}

View File

@ -1 +0,0 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-28a560c7]{margin-top:20px}

View File

@ -1 +0,0 @@
.block[data-v-5c3641da]{margin-top:20px}

View File

@ -1 +0,0 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-679bd5d4]{margin-top:20px}

View File

@ -1 +0,0 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a[data-v-4a281b44]{text-decoration:none;color:#fff}.block[data-v-4a281b44]{margin-top:20px}

View File

@ -1 +0,0 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-7a83ab34]{margin-top:20px}[data-v-7a83ab34] .el-card__body{padding:0}

View File

@ -1 +0,0 @@
.block[data-v-b7f74846]{margin-top:20px}

View File

@ -1 +0,0 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-891ad2ec]{margin-top:20px}

View File

@ -1 +0,0 @@
.el-upload--picture-card[data-v-49170b11]{width:50px;height:50px}.el-form-item[data-v-49170b11]{margin-left:40px}.avatar-uploader .el-upload[data-v-49170b11]{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload[data-v-49170b11]:hover{border-color:#409eff}.avatar-uploader-icon[data-v-49170b11]{font-size:28px;color:#8c939d;width:148px;height:148px;line-height:148px;text-align:center}.avatar[data-v-49170b11]{width:148px;height:148px;display:block}

View File

@ -1 +0,0 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-upload--picture-card[data-v-0509b8a0]{width:50px;height:50px}.avatar-uploader .el-upload[data-v-0509b8a0]{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload[data-v-0509b8a0]:hover{border-color:#409eff}.avatar-uploader-icon[data-v-0509b8a0]{font-size:28px;color:#8c939d;width:148px;height:148px;line-height:148px;text-align:center}.avatar[data-v-0509b8a0]{width:148px;height:148px;display:block}.shop-sku-img[data-v-0509b8a0]{display:flex}.shop-sku-img .shop[data-v-0509b8a0]{margin-right:20px;margin-bottom:20px}.shop-sku-img .shop .shop-name[data-v-0509b8a0]{text-align:center}

View File

@ -1 +0,0 @@
.table[data-v-3af2603a]{margin-top:20px;position:relative}.btn[data-v-3af2603a]{float:right}[data-v-3af2603a] .cell{display:flex;align-items:center}.commodityimg[data-v-3af2603a]{width:59px;height:59px;background:hsla(0,0%,89%,.39);opacity:1;display:block;margin-right:12px}.Img[data-v-3af2603a]{width:100%;height:100%}.confirmbtn[data-v-3af2603a]{width:114px;height:44px;border-radius:3px;margin-top:21px;margin-bottom:8px}.import-right[data-v-3af2603a]{margin-top:30px}.import-right a[data-v-3af2603a]{text-decoration:none;color:#000}[data-v-3af2603a] .btn11{padding:0;width:14px;height:14px}[data-v-3af2603a] .btn11 img{width:100%;height:100%}.page[data-v-3af2603a]{margin-top:20px}

View File

@ -1 +0,0 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}

View File

@ -1 +0,0 @@
.block[data-v-cd5188f4]{margin-top:20px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

View File

Before

Width:  |  Height:  |  Size: 198 KiB

After

Width:  |  Height:  |  Size: 198 KiB

View File

@ -1 +1 @@
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>erp</title><link href="css/chunk-086a167d.daab9de2.css" rel="prefetch"><link href="css/chunk-088acbde.902ebb66.css" rel="prefetch"><link href="css/chunk-0cbcaa56.e05858e7.css" rel="prefetch"><link href="css/chunk-1103d586.ad94328f.css" rel="prefetch"><link href="css/chunk-2273ddc8.d350d067.css" rel="prefetch"><link href="css/chunk-26daa808.62429343.css" rel="prefetch"><link href="css/chunk-32da4b3e.d9ee7431.css" rel="prefetch"><link href="css/chunk-35db73ce.1f9c10ff.css" rel="prefetch"><link href="css/chunk-41cd4e14.4e6d7a5a.css" rel="prefetch"><link href="css/chunk-52fcdd7c.51e3ffbd.css" rel="prefetch"><link href="css/chunk-64d6ef70.826b5f9e.css" rel="prefetch"><link href="css/chunk-6ae0a0d3.84a02b23.css" rel="prefetch"><link href="css/chunk-743f0316.fb5066fb.css" rel="prefetch"><link href="css/chunk-75426f71.902ebb66.css" rel="prefetch"><link href="css/chunk-904e5abc.902ebb66.css" rel="prefetch"><link href="css/chunk-a3ddd952.902ebb66.css" rel="prefetch"><link href="css/chunk-ab4d3e40.d941d6ef.css" rel="prefetch"><link href="css/chunk-dc2d15ec.98bc0af6.css" rel="prefetch"><link href="css/chunk-e35186f0.902ebb66.css" rel="prefetch"><link href="css/chunk-f35dfe36.ea52b615.css" rel="prefetch"><link href="js/chunk-086a167d.0cb8b81f.js" rel="prefetch"><link href="js/chunk-088acbde.4e79f6d0.js" rel="prefetch"><link href="js/chunk-0cbcaa56.46e3dd42.js" rel="prefetch"><link href="js/chunk-1103d586.3eb50bc2.js" rel="prefetch"><link href="js/chunk-2273ddc8.48b0def5.js" rel="prefetch"><link href="js/chunk-26daa808.9e326ce2.js" rel="prefetch"><link href="js/chunk-32da4b3e.0151c647.js" rel="prefetch"><link href="js/chunk-35db73ce.ae2590c3.js" rel="prefetch"><link href="js/chunk-41cd4e14.a0cd0f1b.js" rel="prefetch"><link href="js/chunk-52fcdd7c.0070e388.js" rel="prefetch"><link href="js/chunk-63c1eac8.59f3df74.js" rel="prefetch"><link href="js/chunk-64d6ef70.42b3f332.js" rel="prefetch"><link href="js/chunk-6ae0a0d3.ee4aa3e0.js" rel="prefetch"><link href="js/chunk-743f0316.d043435c.js" rel="prefetch"><link href="js/chunk-75426f71.128f599c.js" rel="prefetch"><link href="js/chunk-904e5abc.e6a5edbe.js" rel="prefetch"><link href="js/chunk-a3ddd952.0482ce75.js" rel="prefetch"><link href="js/chunk-ab4d3e40.0c286099.js" rel="prefetch"><link href="js/chunk-dc2d15ec.54e5125d.js" rel="prefetch"><link href="js/chunk-e35186f0.a9d70f92.js" rel="prefetch"><link href="js/chunk-f35dfe36.e7038b09.js" rel="prefetch"><link href="css/app.6c30acd7.css" rel="preload" as="style"><link href="css/chunk-vendors.9181e156.css" rel="preload" as="style"><link href="js/app.b558f5cd.js" rel="preload" as="script"><link href="js/chunk-vendors.524d6b36.js" rel="preload" as="script"><link href="css/chunk-vendors.9181e156.css" rel="stylesheet"><link href="css/app.6c30acd7.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but erp doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/chunk-vendors.524d6b36.js"></script><script src="js/app.b558f5cd.js"></script></body></html>
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>erp</title><script defer="defer" src="js/chunk-vendors.9dd0c7db.js"></script><script defer="defer" src="js/app.b21ce35b.js"></script><link href="css/chunk-vendors.4e2d36cb.css" rel="stylesheet"><link href="css/app.487f8f5a.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but erp doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

2
public/dist/js/148.6d03247e.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/148.6d03247e.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/389.d4943945.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/389.d4943945.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/393.9a618e5b.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/393.9a618e5b.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/395.7a8d3285.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/395.7a8d3285.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/407.53ce5d26.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/407.53ce5d26.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/438.bd62a6b3.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/438.bd62a6b3.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/469.a8113ca2.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/469.a8113ca2.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/509.4d4b16e9.js vendored Normal file
View File

@ -0,0 +1,4 @@
(self["webpackChunkerp"]=self["webpackChunkerp"]||[]).push([[509],{8509:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return m}});var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("el-container",[n("el-container",[n("el-aside",{class:e.show?"width":"width1"},[n("el-menu",{attrs:{router:"","background-color":"#282c34","text-color":"#fff","default-active":e.$route.path,"default-openeds":e.openeds}},e._l(e.menu,(function(t){return n("div",{key:t.id},[t.children?n("el-submenu",{attrs:{index:t.code}},[n("template",{slot:"title"},[n("span",[e._v(e._s(t.name))])]),e._l(t.children,(function(t){return n("el-menu-item",{key:t.id,attrs:{index:t.code}},[e._v(e._s(t.name)+" ")])}))],2):n("el-menu-item",{attrs:{index:t.code}},[n("span",[e._v(e._s(t.name))])])],1)})),0)],1),n("el-main",[n("div",{staticClass:"head"},[n("ul",[n("li",[n("div",{staticClass:"add",on:{click:e.add}},[e.show?n("i",{staticClass:"el-icon-s-unfold"}):n("i",{staticClass:"el-icon-s-fold"})]),n("div",{staticClass:"right"},[n("el-breadcrumb",{attrs:{"separator-class":"el-icon-arrow-right"}},e._l(e.titie,(function(t,r){return n("el-breadcrumb-item",{key:r},[e._v(e._s(t.name)+" ")])})),1)],1)]),n("li",[n("div",{staticStyle:{"margin-right":"10px"}},[e._v(e._s(e.usernmae))]),n("div",{staticClass:"token",on:{click:e.hanleLogout}},[e._v("登出")])])])]),n("div",{staticClass:"box-card"},[n("router-view")],1)])],1)],1)],1)},s=[],i=n(3695),a=n(8430);function o(){return(0,a.Z)({url:"/api/menus",method:"get"})}var u={mounted(){o().then((e=>{this.menu=e.data.data})),this.usernmae=localStorage.getItem("userName")},data(){return{menu:[],show:!0,levelData:[],titie:[],head:"",onindex:0,openeds:["GOODS_MANAGE"],usernmae:""}},watch:{$route:{handler:function(e){this.titie=e.matched,this.head=e.name,this.levelData.push({name:e.name,path:e.path});const t=[],n={};for(var r=0;r<this.levelData.length;r++)n[this.levelData[r].name]||(t.push(this.levelData[r]),n[this.levelData[r].name]=!0);this.levelData=t},deep:!0,immediate:!0}},methods:{next(){this.hanletop()},hanletop(){document.getElementById("bottom").scrollIntoView({behavior:"smooth"})},hanlebottom(){document.getElementById("top").scrollIntoView({behavior:"smooth"})},hanleLogout(){(0,i.gy)(),this.$router.push({path:"/Login"})},handlerclick(e){this.$route.path!==e&&this.$router.push({path:e})},add(){this.show=!this.show},hanblDelete(e,t){var n=this.levelData[e].name;if(this.onindex=e,this.levelData.splice(this.onindex,1),t===this.head){var r,s;for(let e=0;e<this.levelData.length;e++)r=this.levelData[e].path,s=this.levelData[e].name;this.levelData.length&&s!==n&&this.$router.push({path:r})}}}},l=u,c=n(1001),d=(0,c.Z)(l,r,s,!1,null,"00d7c456",null),m=d.exports},4865:function(e,t,n){var r,s;
/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
* @license MIT */(function(i,a){r=a,s="function"===typeof r?r.call(t,n,t,e):r,void 0===s||(e.exports=s)})(0,(function(){var e={version:"0.2.0"},t=e.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function n(e,t,n){return e<t?t:e>n?n:e}function r(e){return 100*(-1+e)}function s(e,n,s){var i;return i="translate3d"===t.positionUsing?{transform:"translate3d("+r(e)+"%,0,0)"}:"translate"===t.positionUsing?{transform:"translate("+r(e)+"%,0)"}:{"margin-left":r(e)+"%"},i.transition="all "+n+"ms "+s,i}e.configure=function(e){var n,r;for(n in e)r=e[n],void 0!==r&&e.hasOwnProperty(n)&&(t[n]=r);return this},e.status=null,e.set=function(r){var o=e.isStarted();r=n(r,t.minimum,1),e.status=1===r?null:r;var u=e.render(!o),l=u.querySelector(t.barSelector),c=t.speed,d=t.easing;return u.offsetWidth,i((function(n){""===t.positionUsing&&(t.positionUsing=e.getPositioningCSS()),a(l,s(r,c,d)),1===r?(a(u,{transition:"none",opacity:1}),u.offsetWidth,setTimeout((function(){a(u,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){e.remove(),n()}),c)}),c)):setTimeout(n,c)})),this},e.isStarted=function(){return"number"===typeof e.status},e.start=function(){e.status||e.set(0);var n=function(){setTimeout((function(){e.status&&(e.trickle(),n())}),t.trickleSpeed)};return t.trickle&&n(),this},e.done=function(t){return t||e.status?e.inc(.3+.5*Math.random()).set(1):this},e.inc=function(t){var r=e.status;return r?("number"!==typeof t&&(t=(1-r)*n(Math.random()*r,.1,.95)),r=n(r+t,0,.994),e.set(r)):e.start()},e.trickle=function(){return e.inc(Math.random()*t.trickleRate)},function(){var t=0,n=0;e.promise=function(r){return r&&"resolved"!==r.state()?(0===n&&e.start(),t++,n++,r.always((function(){n--,0===n?(t=0,e.done()):e.set((t-n)/t)})),this):this}}(),e.render=function(n){if(e.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var s=document.createElement("div");s.id="nprogress",s.innerHTML=t.template;var i,o=s.querySelector(t.barSelector),l=n?"-100":r(e.status||0),c=document.querySelector(t.parent);return a(o,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),t.showSpinner||(i=s.querySelector(t.spinnerSelector),i&&d(i)),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(s),s},e.remove=function(){l(document.documentElement,"nprogress-busy"),l(document.querySelector(t.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&d(e)},e.isRendered=function(){return!!document.getElementById("nprogress")},e.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var i=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),a=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;var r,s=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);while(s--)if(r=e[s]+i,r in n)return r;return t}function s(e){return e=n(e),t[e]||(t[e]=r(e))}function i(e,t,n){t=s(t),e.style[t]=n}return function(e,t){var n,r,s=arguments;if(2==s.length)for(n in t)r=t[n],void 0!==r&&t.hasOwnProperty(n)&&i(e,n,r);else i(e,s[1],s[2])}}();function o(e,t){var n="string"==typeof e?e:c(e);return n.indexOf(" "+t+" ")>=0}function u(e,t){var n=c(e),r=n+t;o(n,t)||(e.className=r.substring(1))}function l(e,t){var n,r=c(e);o(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function c(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function d(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return e}))},3695:function(e,t,n){"use strict";n.d(t,{LP:function(){return s},gy:function(){return i}});const r="admin_token";function s(){return localStorage.getItem("token")}function i(){return localStorage.removeItem(r)}},8430:function(e,t,n){"use strict";var r=n(9669),s=n.n(r),i=n(3695),a=n(4865),o=n.n(a),u=n(4720),l=s().create({timeout:36e4});l.interceptors.request.use((e=>(e.headers.Authorization="Bearer "+(0,i.LP)(),o().start(),e)),(e=>Promise.reject(e))),l.interceptors.response.use((e=>{o().done();const t=e.status;if(200===t||201===t)return e}),(e=>(o().done(),400===e.response.status&&(0,u.Message)({message:e.response.data.errorMessage,type:"error"}),500===e.response.status&&(0,u.Message)({message:e.response.data.message,type:"error"}),Promise.reject(e)))),t.Z=l}}]);
//# sourceMappingURL=509.4d4b16e9.js.map

1
public/dist/js/509.4d4b16e9.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/538.6f993aae.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/538.6f993aae.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/551.b013f0db.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/551.b013f0db.js.map vendored Normal file

File diff suppressed because one or more lines are too long

2
public/dist/js/629.a081f7d7.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/629.a081f7d7.js.map vendored Normal file

File diff suppressed because one or more lines are too long

2
public/dist/js/669.a06371cb.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/669.a06371cb.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/682.601caf2a.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/682.601caf2a.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/712.93ae2c1f.js vendored Normal file
View File

@ -0,0 +1,4 @@
(self["webpackChunkerp"]=self["webpackChunkerp"]||[]).push([[712],{8712:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return f}});var s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"conent"},[n("div",{staticClass:"from"},[n("el-dialog",{attrs:{title:"新增角色",visible:e.dialogVisible2,width:"30%","close-on-click-modal":!1},on:{"update:visible":function(t){e.dialogVisible2=t}}},[n("div",[n("el-form",{attrs:{"label-width":"80px"}},[n("el-form-item",{attrs:{label:"角色名称"}},[n("el-input",{model:{value:e.newrole,callback:function(t){e.newrole=t},expression:"newrole"}})],1),n("div",{staticClass:"from-btn"},[n("el-button",{attrs:{type:"danger"},on:{click:function(t){e.dialogVisible2=!1}}},[e._v("取消")]),n("el-button",{on:{click:e.onSubmit}},[e._v("确认")])],1)],1)],1)])],1),n("el-button",{attrs:{type:"primary"},on:{click:function(t){e.dialogVisible2=!0}}},[e._v("新增")]),n("div",{staticClass:"table",staticStyle:{"margin-top":"10px"}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticStyle:{width:"100%"},attrs:{data:e.tableList}},[n("el-table-column",{attrs:{prop:"id",label:"ID"}}),n("el-table-column",{attrs:{prop:"name",label:"角色名称"}}),n("el-table-column",{attrs:{label:"权限内容"},scopedSlots:e._u([{key:"default",fn:function(t){return e._l(t.row.permissions,(function(t){return n("span",{key:t.id},[e._v(e._s(t.name)+" ")])}))}}])}),n("el-table-column",{attrs:{label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("el-button",{on:{click:function(n){return e.onEdit(t.row)}}},[e._v("编辑")])]}}])})],1)],1),n("el-dialog",{attrs:{title:"编辑权限",visible:e.dialogVisible,width:"30%","close-on-click-modal":!1},on:{"update:visible":function(t){e.dialogVisible=t}}},[e.isShowtree?n("el-tree",{ref:"tree",attrs:{data:e.Role_Permission,"show-checkbox":"","default-expand-all":!1,"node-key":"id","highlight-current":"",props:e.defaultProps,"default-checked-keys":e.chekedKeys},model:{value:e.permissionIds,callback:function(t){e.permissionIds=t},expression:"permissionIds"}}):e._e(),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:function(t){return e.cancel()}}},[e._v("取 消")]),n("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.getCheckedKeys()}}},[e._v("确 定")])],1)],1)],1)},i=[],r=n(8430);function o(){return(0,r.Z)({url:"/api/roles",method:"get"})}function a(e){return(0,r.Z)({url:"/api/roles",method:"post",data:e})}function l(){return(0,r.Z)({url:"/api/permissions",method:"get"})}function u(e,t){return(0,r.Z)({url:`/api/roles/${e}/permissions`,method:"post",data:t})}var c={data(){return{id:"",loading:!0,tableList:[],rolePermissions:[],newrole:"",dialogVisible:!1,dialogVisible2:!1,permissionIds:[],allpermissionIds:{},Role_Permission:[],defaultProps:{children:"children",label:"name"},isShowtree:!1,chekedKeys:[]}},mounted(){this.getroleList(),this.getJurisdiction()},methods:{getroleList(){o().then((e=>{this.tableList=e.data.data})),this.loading=!1},getJurisdiction(){l().then((e=>{this.Role_Permission=e.data.data}))},onSubmit(){let e={name:this.newrole};a(e).then((e=>{this.dialogVisible2=!1,this.getroleList(),201==e.status&&this.$message({message:"角色添加成功!",type:"success"})}))},onEdit(e){this.id=e.id;let t=e.permissions.map((e=>e.id));this.chekedKeys=t,this.dialogVisible=!0,this.isShowtree=!0},cancel(){this.dialogVisible=!1,this.isShowtree=!1},getCheckedKeys(){let e=this.id;this.permissionIds=this.$refs.tree.getCheckedKeys(),this.allpermissionIds={permissionIds:this.permissionIds},u(e,this.allpermissionIds).then((e=>{200===e.status&&(this.dialogVisible=!1,this.getroleList(),this.$message({message:"权限修改成功!",type:"success"}))}))}}},d=c,m=n(1001),p=(0,m.Z)(d,s,i,!1,null,"7d26d779",null),f=p.exports},4865:function(e,t,n){var s,i;
/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
* @license MIT */(function(r,o){s=o,i="function"===typeof s?s.call(t,n,t,e):s,void 0===i||(e.exports=i)})(0,(function(){var e={version:"0.2.0"},t=e.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function n(e,t,n){return e<t?t:e>n?n:e}function s(e){return 100*(-1+e)}function i(e,n,i){var r;return r="translate3d"===t.positionUsing?{transform:"translate3d("+s(e)+"%,0,0)"}:"translate"===t.positionUsing?{transform:"translate("+s(e)+"%,0)"}:{"margin-left":s(e)+"%"},r.transition="all "+n+"ms "+i,r}e.configure=function(e){var n,s;for(n in e)s=e[n],void 0!==s&&e.hasOwnProperty(n)&&(t[n]=s);return this},e.status=null,e.set=function(s){var a=e.isStarted();s=n(s,t.minimum,1),e.status=1===s?null:s;var l=e.render(!a),u=l.querySelector(t.barSelector),c=t.speed,d=t.easing;return l.offsetWidth,r((function(n){""===t.positionUsing&&(t.positionUsing=e.getPositioningCSS()),o(u,i(s,c,d)),1===s?(o(l,{transition:"none",opacity:1}),l.offsetWidth,setTimeout((function(){o(l,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){e.remove(),n()}),c)}),c)):setTimeout(n,c)})),this},e.isStarted=function(){return"number"===typeof e.status},e.start=function(){e.status||e.set(0);var n=function(){setTimeout((function(){e.status&&(e.trickle(),n())}),t.trickleSpeed)};return t.trickle&&n(),this},e.done=function(t){return t||e.status?e.inc(.3+.5*Math.random()).set(1):this},e.inc=function(t){var s=e.status;return s?("number"!==typeof t&&(t=(1-s)*n(Math.random()*s,.1,.95)),s=n(s+t,0,.994),e.set(s)):e.start()},e.trickle=function(){return e.inc(Math.random()*t.trickleRate)},function(){var t=0,n=0;e.promise=function(s){return s&&"resolved"!==s.state()?(0===n&&e.start(),t++,n++,s.always((function(){n--,0===n?(t=0,e.done()):e.set((t-n)/t)})),this):this}}(),e.render=function(n){if(e.isRendered())return document.getElementById("nprogress");l(document.documentElement,"nprogress-busy");var i=document.createElement("div");i.id="nprogress",i.innerHTML=t.template;var r,a=i.querySelector(t.barSelector),u=n?"-100":s(e.status||0),c=document.querySelector(t.parent);return o(a,{transition:"all 0 linear",transform:"translate3d("+u+"%,0,0)"}),t.showSpinner||(r=i.querySelector(t.spinnerSelector),r&&d(r)),c!=document.body&&l(c,"nprogress-custom-parent"),c.appendChild(i),i},e.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(t.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&d(e)},e.isRendered=function(){return!!document.getElementById("nprogress")},e.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var r=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),o=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function s(t){var n=document.body.style;if(t in n)return t;var s,i=e.length,r=t.charAt(0).toUpperCase()+t.slice(1);while(i--)if(s=e[i]+r,s in n)return s;return t}function i(e){return e=n(e),t[e]||(t[e]=s(e))}function r(e,t,n){t=i(t),e.style[t]=n}return function(e,t){var n,s,i=arguments;if(2==i.length)for(n in t)s=t[n],void 0!==s&&t.hasOwnProperty(n)&&r(e,n,s);else r(e,i[1],i[2])}}();function a(e,t){var n="string"==typeof e?e:c(e);return n.indexOf(" "+t+" ")>=0}function l(e,t){var n=c(e),s=n+t;a(n,t)||(e.className=s.substring(1))}function u(e,t){var n,s=c(e);a(e,t)&&(n=s.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function c(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function d(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return e}))},3695:function(e,t,n){"use strict";n.d(t,{LP:function(){return i},gy:function(){return r}});const s="admin_token";function i(){return localStorage.getItem("token")}function r(){return localStorage.removeItem(s)}},8430:function(e,t,n){"use strict";var s=n(9669),i=n.n(s),r=n(3695),o=n(4865),a=n.n(o),l=n(4720),u=i().create({timeout:36e4});u.interceptors.request.use((e=>(e.headers.Authorization="Bearer "+(0,r.LP)(),a().start(),e)),(e=>Promise.reject(e))),u.interceptors.response.use((e=>{a().done();const t=e.status;if(200===t||201===t)return e}),(e=>(a().done(),400===e.response.status&&(0,l.Message)({message:e.response.data.errorMessage,type:"error"}),500===e.response.status&&(0,l.Message)({message:e.response.data.message,type:"error"}),Promise.reject(e)))),t.Z=u}}]);
//# sourceMappingURL=712.93ae2c1f.js.map

1
public/dist/js/712.93ae2c1f.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/727.03c00a35.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/727.03c00a35.js.map vendored Normal file

File diff suppressed because one or more lines are too long

4
public/dist/js/731.3313dd93.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/731.3313dd93.js.map vendored Normal file

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More