diff --git a/app/Console/Commands/KttOrderQuery.php b/app/Console/Commands/KttOrderQuery.php index 76bbf82..9ca4f0a 100644 --- a/app/Console/Commands/KttOrderQuery.php +++ b/app/Console/Commands/KttOrderQuery.php @@ -40,7 +40,7 @@ class KttOrderQuery extends Command */ public function handle() { - $shops = Shop::query()->where('plat_id', 1)->where('status', 1)->get(); + $shops = Shop::query()->where('plat_id', Shop::$PLAT_KTT)->where('status', Shop::$STATUS_AUTHORIZED)->get(); $endTime = DateTimeUtils::getMicroTime(); $beginTime = $endTime - 60000; foreach ($shops as $shop) { diff --git a/app/Console/Commands/Swoole.php b/app/Console/Commands/Swoole.php index 136b5f5..3d51945 100644 --- a/app/Console/Commands/Swoole.php +++ b/app/Console/Commands/Swoole.php @@ -44,7 +44,7 @@ class Swoole extends Command public function handle() { Timer::tick(3000, function () { - $shops = Shop::query()->where('plat_id', 1)->where('status', 1)->get(); + $shops = Shop::query()->where('plat_id', Shop::$PLAT_KTT)->where('status', Shop::$STATUS_AUTHORIZED)->get(); $endTime = DateTimeUtils::getMicroTime(); $beginTime = $endTime - 3000; foreach ($shops as $shop) { diff --git a/app/Http/Controllers/Group/GroupsController.php b/app/Http/Controllers/Group/GroupsController.php index e5f755e..b3d46fc 100644 --- a/app/Http/Controllers/Group/GroupsController.php +++ b/app/Http/Controllers/Group/GroupsController.php @@ -8,21 +8,14 @@ use App\Http\Requests\GroupsRequest; use App\Http\Resources\GoodsSkuResource; use App\Models\Goods; use App\Models\GoodsSku; -use App\Models\Log as LogModel; use App\Models\Shop; use App\Utils\ArrayUtils; -use App\Utils\DateTimeUtils; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Validator; use App\Models\Groups; -use App\Http\Requests\GoodsRequest; -use Illuminate\Validation\Rule; -use Illuminate\Validation\ValidationException; use App\Http\Resources\GroupsResource; use App\Models\GroupGoods; -use App\Http\Resources\GroupGoodsResource; -use Illuminate\Support\Facades\Cache; class GroupsController extends Controller { @@ -34,9 +27,13 @@ class GroupsController extends Controller public function index(Request $request) { $groups = Groups::query() - ->filter() ->with(['shop:id,name']) + ->where('parent_id', 0) + ->filter() ->paginate($request->get('per_page')); + foreach ($groups as &$group) { + $group['children'] = Groups::query()->with(['shop:id,name'])->where('parent_id', $group->id)->get(); + } return GroupsResource::collection($groups); } @@ -59,19 +56,34 @@ class GroupsController extends Controller ->toArray(); $changeData = $request->change_data; $changeData = ArrayUtils::index($changeData, 'id'); - $shop = Shop::query()->find($request->shop_id); DB::beginTransaction(); + $shopIds = Shop::query() + ->where('plat_id', Shop::$PLAT_KTT) + ->where('expires_at', '>', time()) + ->pluck('id') + ->toArray(); try { $group = new Groups(); - $group->shop_id = $request->shop_id; $group->title = $request->title; $group->is_save_preview = $request->is_save_preview; $group->start_time = $request->datetimerange[0]; $group->end_time = $request->datetimerange[1]; $group->save(); + $shopGroups = []; + foreach ($shopIds as $shopId) { + $shopGroups[] = [ + 'parent_id' => $group->id, + 'shop_id' => $shopId, + 'title' => $group->title, + 'is_save_preview' => $group->is_save_preview, + 'start_time' => strtotime($request->datetimerange[0]) * 1000, + 'end_time' => strtotime($request->datetimerange[1]) * 1000, + ]; + } + (new Groups())->batchInsert($shopGroups); $groupGoods = []; foreach ($skus as $sku) { - $price = $shop['ratio'] * $sku['cost'] * 100; + $price = $sku['cost'] * 100; $groupGoods[] = [ 'group_id' => $group->id, 'category_name' => $sku['goods']['type']['name'], @@ -81,7 +93,6 @@ class GroupsController extends Controller 'limit_buy' => isset($changeData[$sku['id']]) ? $changeData[$sku['id']]['limit_buy'] : 0, 'sku_id' => $sku['id'], 'price_in_fen' => isset($changeData[$sku['id']]) ? $changeData[$sku['id']]['price_in_fen'] * 100 : $price, - 'sort' => isset($changeData[$sku['id']]) ? $changeData[$sku['id']]['sort'] : 500, 'external_sku_id' => $sku['goods']['goods_code'] . '_' . $sku['sku_code'], ]; } @@ -102,6 +113,7 @@ class GroupsController extends Controller public function show($id) { return new GroupsResource(Groups::query() + ->where('parent_id', 0) ->find($id)); } @@ -114,15 +126,15 @@ class GroupsController extends Controller return response($this->res, $this->res['httpCode']); } - $shop = Shop::query()->find($request->shop_id); - $shop['ratio'] = 1; $deleteIds = $request->delete_ids; - $ids = GroupGoods::query() + $groupHasGoods = GroupGoods::query() ->where('group_id', $id) ->whereNotIn('sku_id', $deleteIds) - ->pluck('sku_id')->toArray(); + ->get(['id', 'sku_id', 'limit_buy', 'price_in_fen']) + ->toArray(); + $groupHasGoods = ArrayUtils::index($groupHasGoods, 'sku_id'); $skus = GoodsSku::query() - ->whereIn('id', array_merge($ids, $request->new_ids)) + ->whereIn('id', array_merge(array_keys($groupHasGoods), $request->new_ids)) ->with(['goods' => function ($query) { $query->with(['type:id,name', 'brand:id,name']); }]) @@ -133,20 +145,28 @@ class GroupsController extends Controller DB::beginTransaction(); try { $group = Groups::query()->find($id); + $group->title = $request->title; $group->start_time = $request->datetimerange[0]; $group->end_time = $request->datetimerange[1]; $group->save(); + DB::table('groups') + ->where('parent_id', $group->id) + ->update([ + 'title' => $group->title, + 'start_time' => strtotime($request->datetimerange[0]) * 1000, + 'end_time' => strtotime($request->datetimerange[1]) * 1000, + ]); GroupGoods::where('group_id', $id)->whereIn('sku_id', $deleteIds)->delete(); foreach ($skus as $sku) { - $price = $shop['ratio'] * $sku['cost'] * 100; + $limitBuy = isset($groupHasGoods[$sku['id']]) ? $groupHasGoods[$sku['id']]['limit_buy'] : 0; + $price = isset($groupHasGoods[$sku['id']]) ? $groupHasGoods[$sku['id']]['price_in_fen'] : $sku['cost']; $groupGoods = [ 'category_name' => $sku['goods']['type']['name'], 'type_id' => $sku['goods']['type']['id'], 'goods_name' => $sku['goods']['title'] . ' ' . $sku['title'], 'goods_id' => $sku['goods_id'], - 'limit_buy' => isset($changeData[$sku['id']]) ? $changeData[$sku['id']]['limit_buy'] : 0, - 'price_in_fen' => isset($changeData[$sku['id']]) ? $changeData[$sku['id']]['price_in_fen'] * 100 : $price, - 'sort' => isset($changeData[$sku['id']]) ? $changeData[$sku['id']]['sort'] : 500, + 'limit_buy' => isset($changeData[$sku['id']]) ? $changeData[$sku['id']]['limit_buy'] : $limitBuy, + 'price_in_fen' => isset($changeData[$sku['id']]) ? $changeData[$sku['id']]['price_in_fen'] * 100 : $price * 100, 'external_sku_id' => $sku['goods']['goods_code'] . '_' . $sku['sku_code'], ]; GroupGoods::updateOrCreate( @@ -174,12 +194,10 @@ class GroupsController extends Controller public function getGoods(Request $request) { - $shop = Shop::query()->find($request->get('shop_id')); - $shop['ratio'] = 1; $deleteIds = $request->get('delete_ids') ?: []; $groupId = $request->get('group_id'); $groupGoods = GroupGoods::query() - ->select(['id', 'sku_id', 'sort', 'limit_buy', 'price_in_fen']) + ->select(['id', 'sku_id', 'limit_buy', 'price_in_fen']) ->where('group_id', $groupId) ->whereNotIn('sku_id', $deleteIds) ->get() @@ -237,11 +255,9 @@ class GroupsController extends Controller foreach ($goodsSkus as &$goodsSku) { if (isset($groupGoods[$goodsSku['id']])) { $goodsSku['price_in_fen'] = $groupGoods[$goodsSku['id']]['price_in_fen']; - $goodsSku['sort'] = $groupGoods[$goodsSku['id']]['sort']; $goodsSku['limit_buy'] = $groupGoods[$goodsSku['id']]['limit_buy']; } else { - $goodsSku['price_in_fen'] = $shop['ratio'] * $goodsSku['cost']; - $goodsSku['sort'] = 500; + $goodsSku['price_in_fen'] = $goodsSku['cost']; $goodsSku['limit_buy'] = 0; } $goodsSku['goods_name'] = $goodsSku['goods']['title'] . ' ' . $goodsSku['title']; @@ -254,8 +270,6 @@ class GroupsController extends Controller public function addGroupGoods(Request $request) { - $shop = Shop::query()->find($request->get('shop_id')); - $shop['ratio'] = 1; $ids = []; if ($newIds = $request->get('new_ids')) { $ids = array_merge($ids, $newIds); @@ -271,8 +285,7 @@ class GroupsController extends Controller ->orderBy('updated_at', 'desc') ->paginate($request->get('per_page')); foreach ($goodsSkus as &$goodsSku) { - $goodsSku['price_in_fen'] = $shop['ratio'] * $goodsSku['cost']; - $goodsSku['sort'] = 500; + $goodsSku['price_in_fen'] = $goodsSku['cost']; $goodsSku['limit_buy'] = 0; $goodsSku['goods_name'] = $goodsSku['goods']['title'] . ' ' . $goodsSku['title']; $goodsSku['external_sku_id'] = $goodsSku['goods']['goods_code'] . '_' . $goodsSku['sku_code']; diff --git a/app/Http/Controllers/Shop/ShopsController.php b/app/Http/Controllers/Shop/ShopsController.php index 34678f6..527eca4 100644 --- a/app/Http/Controllers/Shop/ShopsController.php +++ b/app/Http/Controllers/Shop/ShopsController.php @@ -40,13 +40,18 @@ class ShopsController extends Controller $validator = Validator::make($request->all(), [ 'name' => 'required|string|max:191|unique:shops,name', 'plat_id' => 'required|integer', - 'ratio' => 'required|numeric', + 'ratio' => 'required', ]); if ($validator->fails()) { $this->setValidatorFailResponse($validator->getMessageBag()->getMessages()); return response($this->res, $this->res['httpCode']); } + $operator = substr($request->ratio, 0, 1); + if (!in_array($operator, ['+', '-', '*', '/'])) { + $this->res->errorMessage = '运算符号仅允许+,-,*,/'; + return response($this->res, $this->res['httpCode']); + } $shop = new Shop(); $shop->name = $request->name; $shop->plat_id = $request->plat_id; @@ -61,6 +66,11 @@ class ShopsController extends Controller public function update(Request $request, $id) { + $operator = substr($request->ratio, 0, 1); + if (!in_array($operator, ['+', '-', '*', '/'])) { + $this->res->errorMessage = '运算符号仅允许+,-,*,/'; + return response($this->res, $this->res['httpCode']); + } $shop = Shop::query()->find($id); $shop->ratio = $request->ratio; $shop->save(); diff --git a/app/Http/Requests/GroupsRequest.php b/app/Http/Requests/GroupsRequest.php index 1264473..4d089fd 100644 --- a/app/Http/Requests/GroupsRequest.php +++ b/app/Http/Requests/GroupsRequest.php @@ -25,7 +25,6 @@ class GroupsRequest extends FormRequest public function rules() { return [ - 'shop_id' => ['required', 'integer', 'exists:shops,id'], 'title' => ['required', 'string'], 'datetimerange' => ['required', 'array'], 'is_save_preview' => ['required', 'integer'], diff --git a/app/Jobs/KttQueryGroupStatus.php b/app/Jobs/KttQueryGroupStatus.php new file mode 100644 index 0000000..4e91666 --- /dev/null +++ b/app/Jobs/KttQueryGroupStatus.php @@ -0,0 +1,42 @@ +groupId = $groupId; + $this->shopId = $shopId; + } + + /** + * Execute the job. + * + * @return void + */ + public function handle() + { + $shop = Shop::query()->find($this->shopId); + $client = BusinessFactory::init()->make($shop['plat_id'])->setShop($shop); + $client->queryGroupStatus($this->groupId); + } +} diff --git a/app/Listeners/GroupQueryListener.php b/app/Listeners/GroupQueryListener.php index 58a86d3..5258023 100644 --- a/app/Listeners/GroupQueryListener.php +++ b/app/Listeners/GroupQueryListener.php @@ -3,12 +3,16 @@ namespace App\Listeners; use App\Events\GroupSetEvent; -use App\Models\Groups; use App\Models\Shop; use App\Services\Business\BusinessFactory; +use Illuminate\Contracts\Queue\ShouldQueue; +use Illuminate\Queue\InteractsWithQueue; +use App\Jobs\KttQueryGroupStatus; -class GroupQueryListener +class GroupQueryListener implements ShouldQueue { + use InteractsWithQueue; + /** * Create the event listener. * @@ -27,11 +31,15 @@ class GroupQueryListener */ public function handle(GroupSetEvent $event) { - $shopId = Groups::query()->where('id', $event->groupId)->value('shop_id'); - $shop = Shop::query()->find($shopId); - $client = BusinessFactory::init()->make($shop['plat_id'])->setShop($shop); - $client->createGroup($event->groupId); - sleep(1); - $client->queryGroupStatus($event->groupId); + $shops = Shop::query() + ->where('plat_id', Shop::$PLAT_KTT) + ->where('expires_at', '>', time()) + ->get(['id', 'plat_id']) + ->toArray(); + foreach ($shops as $shop) { + $client = BusinessFactory::init()->make($shop['plat_id'])->setShopWithId($shop['id']); + $client->createGroup($event->groupId); + KttQueryGroupStatus::dispatch($event->groupId, $shop['id'])->delay(5); + } } } diff --git a/app/Listeners/StockUpdateListener.php b/app/Listeners/StockUpdateListener.php index eeb6920..6ae9761 100644 --- a/app/Listeners/StockUpdateListener.php +++ b/app/Listeners/StockUpdateListener.php @@ -29,7 +29,7 @@ class StockUpdateListener */ public function handle(StockUpdateEvent $event) { - $shops = Shop::query()->whereNotIn('status', [0, 3])->get(['id', 'plat_id']); + $shops = Shop::query()->whereNotIn('status', [Shop::$STATUS_UNAUTHORIZED, Shop::$STATUS_STOP])->get(['id', 'plat_id']); if (empty($shops)) { return; } diff --git a/app/Listeners/UpdateBusinessGoodsStock.php b/app/Listeners/UpdateBusinessGoodsStock.php index 6b2b8a9..3920617 100644 --- a/app/Listeners/UpdateBusinessGoodsStock.php +++ b/app/Listeners/UpdateBusinessGoodsStock.php @@ -49,7 +49,7 @@ class UpdateBusinessGoodsStock implements ShouldQueue if ('下架' === $event->goodsSku->status) { return; } - $builder = Shop::query()->whereNotIn('status', [0, 3]); + $builder = Shop::query()->whereNotIn('status', [Shop::$STATUS_UNAUTHORIZED, Shop::$STATUS_STOP]); // 非订单影响库存变更,只更新本店铺下商品 if (!isset($event->businessGoods['business_order_id'])) { $builder->where('id', $event->businessGoods['shop_id']); diff --git a/app/Models/GroupGoods.php b/app/Models/GroupGoods.php index 80e81d1..0c89689 100644 --- a/app/Models/GroupGoods.php +++ b/app/Models/GroupGoods.php @@ -30,7 +30,7 @@ class GroupGoods extends Model public function getPriceInFenAttribute($value) { - return round($value / 100, 2); + return $value / 100; } public function goods() diff --git a/app/Models/Groups.php b/app/Models/Groups.php index c213e36..a9fff5d 100644 --- a/app/Models/Groups.php +++ b/app/Models/Groups.php @@ -50,6 +50,17 @@ class Groups extends Model return $map[$value]; } + public function getCreateStatusAttribute($value) + { + $map = [ + 1 => '创建成功', + 2 => '创建失败', + 3 => '创建中', + ]; + + return $map[$value]; + } + public function shop() { return $this->hasOne(Shop::class, 'id', 'shop_id'); diff --git a/app/Models/Shop.php b/app/Models/Shop.php index 4a914fa..ca4ab91 100644 --- a/app/Models/Shop.php +++ b/app/Models/Shop.php @@ -9,6 +9,14 @@ class Shop extends Model { use Filter; + public static $PLAT_KTT = 1; + public static $PLAT_MX = 0; + + public static $STATUS_UNAUTHORIZED = 0; + public static $STATUS_AUTHORIZED = 1; + public static $STATUS_NO_AUTHORIZED = 2; + public static $STATUS_STOP = 3; + //查询字段 public $fieldSearchable = [ 'plat_id', diff --git a/app/Services/Business/KuaiTuanTuan/Groups.php b/app/Services/Business/KuaiTuanTuan/Groups.php index 2f8c6a4..96c2783 100644 --- a/app/Services/Business/KuaiTuanTuan/Groups.php +++ b/app/Services/Business/KuaiTuanTuan/Groups.php @@ -8,25 +8,44 @@ use App\Utils\DateTimeUtils; class Groups { - public static function createGroup($localGroupId) + public static function createGroup($localGroupId, $shop) { $type = 'pdd.ktt.group.create'; - $group = GroupsModel::query()->find($localGroupId); + $group = GroupsModel::query()->where('parent_id', $localGroupId)->where('shop_id', $shop->id)->first(); $groupGoods = GroupGoods::query() - ->where('group_id', $group->id) + ->where('group_id', $group->parent_id) ->with(['goodsSku:id,stock']) + ->orderBy('sort') ->get(); $goodsSkus = []; + $operator = substr($shop->ratio, 0, 1); + $ratio = (float)trim(substr($shop->ratio, 1)); foreach ($groupGoods as $item) { + $priceInFen = $item['price_in_fen']; // 常规数值 + switch ($operator) { + case '+': + $priceInFen += $ratio; + break; + case '-': + $priceInFen -= $ratio; + break; + case '*': + $priceInFen *= $ratio; + break; + case '/': + $priceInFen /= $ratio; + break; + } + $priceInFen *= 100; $goodsSkus[] = [ 'category_name' => $item['category_name'], - 'goods_desc' => $item['goods_desc'] ?: $group['title'], + 'goods_desc' => $item['goods_name'], 'goods_name' => $item['goods_name'], 'limit_buy' => $item['limit_buy'], - 'market_price' => $item['market_price'], + 'market_price' => $priceInFen ?: 10000, 'sku_list' => [[ 'external_sku_id' => $item['external_sku_id'], - 'price_in_fen' => $item['price_in_fen'], + 'price_in_fen' => $priceInFen ?: 10000, 'quantity_type' => 0, 'spec_id_list' => [], 'total_quantity' => $item['goodsSku']['stock'], @@ -44,10 +63,10 @@ class Groups return [$type, $appendParams]; } - public static function queryGroupStatus($localGroupId) + public static function queryGroupStatus($localGroupId, $shopId) { $type = 'pdd.ktt.group.query.status'; - $group = GroupsModel::query()->find($localGroupId); + $group = GroupsModel::query()->where('parent_id', $localGroupId)->where('shop_id', $shopId)->first(); $appendParams = [ 'activity_no' => $group->activity_no ]; diff --git a/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php b/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php index a6be8e8..875829d 100644 --- a/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php +++ b/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php @@ -164,10 +164,10 @@ class KuaiTuanTuan extends BusinessClient public function createGroup($localGroupId) { - [$type, $appendParams] = Groups::createGroup($localGroupId); + [$type, $appendParams] = Groups::createGroup($localGroupId, $this->shop); $res = $this->doRequest($type, $appendParams); if (isset($res['response']['success'])) { - $group = GroupsModel::query()->find($localGroupId); + $group = GroupsModel::query()->where('parent_id', $localGroupId)->where('shop_id', $this->shop->id)->first(); $group->activity_no = $res['response']['activity_no']; $group->save(); } @@ -177,23 +177,27 @@ class KuaiTuanTuan extends BusinessClient public function queryGroupStatus($localGroupId) { - [$type, $appendParams] = Groups::queryGroupStatus($localGroupId); + [$type, $appendParams] = Groups::queryGroupStatus($localGroupId, $this->shop->id); $res = $this->doRequest($type, $appendParams); if (isset($res['response'])) { - $group = GroupsModel::query()->find($localGroupId); - $group->error_msg = $res['response']['error_msg']; - $group->qr_code_url = $res['response']['qr_code_url']; - $group->status = $res['response']['status']; - $group->save(); - foreach ($res['response']['goods_list'] as $goods) { - $groupGoods = GroupGoods::query() - ->where('group_id', $localGroupId) - ->where('external_sku_id', $goods['external_sku_id']) - ->find(); - $groupGoods->erp_goods_id = $goods['goods_id']; - $groupGoods->erp_sku_id = $goods['sku_list'][0]['sku_id']; - $groupGoods->save(); + $group = GroupsModel::query()->where('parent_id', $localGroupId)->where('shop_id', $this->shop->id)->first(); + $group->create_status = $res['response']['status']; + if (1 === $res['response']['status']) { + $group->qr_code_url = $res['response']['qr_code_url']; +// foreach ($res['response']['goods_list'] as $goods) { +// $groupGoods = GroupGoods::query() +// ->where('group_id', $localGroupId) +// ->where('external_sku_id', $goods['sku_list'][0]['external_sku_id']) +// ->first(); +// $groupGoods->ktt_goods_id = $goods['goods_id']; +// $groupGoods->ktt_sku_id = $goods['sku_list'][0]['sku_id']; +// $groupGoods->save(); +// } } + if (2 === $res['response']['status']) { + $group->error_msg = $res['response']['error_msg']; + } + $group->save(); } return $res; @@ -202,7 +206,18 @@ class KuaiTuanTuan extends BusinessClient public function queryGroup() { [$type, $appendParams] = Groups::queryGroup(); + $res = $this->doRequest($type, $appendParams); + if (isset($res['ktt_group_query_list_response'])) { + foreach ($res['ktt_group_query_list_response']['activity_list'] as $activity) { + $group = GroupsModel::query()->where('activity_no', $activity['activity_no'])->first(); + if ($group) { + $group->is_help_sell = $activity['']; + $group->status = $activity['']; + $group->save(); + } + } + } - return $this->doRequest($type, $appendParams); + return $res; } } diff --git a/database/migrations/2022_07_26_090150_create_goods_skus_table.php b/database/migrations/2022_07_26_090150_create_goods_skus_table.php index 393aff0..630e970 100644 --- a/database/migrations/2022_07_26_090150_create_goods_skus_table.php +++ b/database/migrations/2022_07_26_090150_create_goods_skus_table.php @@ -27,6 +27,7 @@ class CreateGoodsSkusTable extends Migration $table->unsignedInteger('yesterday_num')->default(0)->comment('1天前库存'); $table->unsignedDecimal('reference_price')->default(0)->comment('参考售价'); $table->unsignedInteger('reserve')->default(0)->comment('预留量'); + $table->text('thumb_url')->nullable()->comment('sku图url'); $table->timestamps(); // 索引 $table->unique(['goods_id', 'sku_code']); diff --git a/database/migrations/2022_08_02_022448_create_shops_table.php b/database/migrations/2022_08_02_022448_create_shops_table.php index 419e45c..4ff0b3f 100644 --- a/database/migrations/2022_08_02_022448_create_shops_table.php +++ b/database/migrations/2022_08_02_022448_create_shops_table.php @@ -29,7 +29,7 @@ class CreateShopsTable extends Migration $table->text('scope')->nullable()->comment('接口列表'); $table->text('pop_auth_token_create_response')->nullable()->comment('授权认证信息'); $table->unsignedTinyInteger('status')->index()->default(0)->comment('状态'); - $table->decimal('ratio')->default(1)->comment('成本倍率'); + $table->string('ratio')->default('*1')->comment('成本变动'); $table->softDeletes(); $table->timestamps(); //索引 diff --git a/database/migrations/2022_10_20_095356_create_groups_table.php b/database/migrations/2022_10_20_095356_create_groups_table.php index 8001966..f644cbb 100644 --- a/database/migrations/2022_10_20_095356_create_groups_table.php +++ b/database/migrations/2022_10_20_095356_create_groups_table.php @@ -16,7 +16,8 @@ class CreateGroupsTable extends Migration Schema::defaultStringLength(191); Schema::create('groups', function (Blueprint $table) { $table->bigIncrements('id'); - $table->unsignedInteger('shop_id'); + $table->unsignedInteger('shop_id')->default(0); + $table->unsignedInteger('parent_id')->default(0); $table->unsignedBigInteger('end_time'); $table->unsignedTinyInteger('is_save_preview')->comment('是否保存为预览团0-不为预览团,1-预览团'); $table->unsignedBigInteger('start_time'); diff --git a/database/migrations/2022_10_20_095419_create_group_goods_table.php b/database/migrations/2022_10_20_095419_create_group_goods_table.php index ec3ebd2..d116a62 100644 --- a/database/migrations/2022_10_20_095419_create_group_goods_table.php +++ b/database/migrations/2022_10_20_095419_create_group_goods_table.php @@ -22,12 +22,12 @@ class CreateGroupGoodsTable extends Migration $table->string('goods_desc')->nullable(); $table->string('goods_name'); $table->unsignedBigInteger('goods_id'); - $table->unsignedInteger('ktt_goods_id'); + $table->unsignedBigInteger('ktt_goods_id')->nullable(); $table->unsignedInteger('limit_buy')->default(0); $table->unsignedBigInteger('market_price')->default(0); $table->text('pic_url_list')->nullable(); $table->unsignedBigInteger('sku_id'); - $table->unsignedInteger('ktt_sku_id'); + $table->unsignedBigInteger('ktt_sku_id')->nullable(); $table->string('external_sku_id'); $table->unsignedBigInteger('price_in_fen'); $table->unsignedTinyInteger('quantity_type')->default(0)->comment('库存类型,0-普通 1-无限,无限库存时会无视total_quantity字段'); diff --git a/public/dist/css/chunk-20ee929b.902ebb66.css b/public/dist/css/chunk-088acbde.902ebb66.css similarity index 100% rename from public/dist/css/chunk-20ee929b.902ebb66.css rename to public/dist/css/chunk-088acbde.902ebb66.css diff --git a/public/dist/css/chunk-20c83087.d0b599f3.css b/public/dist/css/chunk-0f6f9608.b3153d73.css similarity index 88% rename from public/dist/css/chunk-20c83087.d0b599f3.css rename to public/dist/css/chunk-0f6f9608.b3153d73.css index 9c922d0..ce40e11 100644 --- a/public/dist/css/chunk-20c83087.d0b599f3.css +++ b/public/dist/css/chunk-0f6f9608.b3153d73.css @@ -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)}}a[data-v-538fe600]{text-decoration:none;color:#fff}.block[data-v-538fe600]{margin-top:20px} \ No newline at end of file +#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-1cc99200]{text-decoration:none;color:#fff}.block[data-v-1cc99200]{margin-top:20px} \ No newline at end of file diff --git a/public/dist/css/chunk-3ebcaff1.902ebb66.css b/public/dist/css/chunk-904e5abc.902ebb66.css similarity index 100% rename from public/dist/css/chunk-3ebcaff1.902ebb66.css rename to public/dist/css/chunk-904e5abc.902ebb66.css diff --git a/public/dist/css/chunk-5782cef6.902ebb66.css b/public/dist/css/chunk-a3ddd952.902ebb66.css similarity index 100% rename from public/dist/css/chunk-5782cef6.902ebb66.css rename to public/dist/css/chunk-a3ddd952.902ebb66.css diff --git a/public/dist/css/chunk-6995cb27.902ebb66.css b/public/dist/css/chunk-e35186f0.902ebb66.css similarity index 100% rename from public/dist/css/chunk-6995cb27.902ebb66.css rename to public/dist/css/chunk-e35186f0.902ebb66.css diff --git a/public/dist/index.html b/public/dist/index.html index a278180..fef54bf 100644 --- a/public/dist/index.html +++ b/public/dist/index.html @@ -1 +1 @@ -erp
\ No newline at end of file +erp
\ No newline at end of file diff --git a/public/dist/js/app.7287a242.js b/public/dist/js/app.d5be9b64.js similarity index 58% rename from public/dist/js/app.7287a242.js rename to public/dist/js/app.d5be9b64.js index 33d43bc..46fe054 100644 --- a/public/dist/js/app.7287a242.js +++ b/public/dist/js/app.d5be9b64.js @@ -1,2 +1,2 @@ -(function(e){function n(n){for(var t,u,o=n[0],f=n[1],h=n[2],l=0,i=[];l\n
\n \n \n \n \n
\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=e9f6d1e8&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport VueRouter from \"vue-router\";\n\nVue.use(VueRouter);\n\nconst createRouter = () =>\n new VueRouter({\n scrollBehavior: () => ({ y: 0 }),\n });\n\nconst router = createRouter();\n\nrouter.beforeEach((to, from, next) => {\n const token = localStorage.getItem(\"token\");\n // 目标路由不是登录页,并且还需要token验证,还没有token,那就直接给返回到登录页\n if (to.name !== \"Login\" && !token) {\n next({ name: \"Login\" });\n } else {\n // 目标路由是登录页-自然不需要token验证\n // 或目标路由不需要身份验证\n // 又或目标路由非登录页,需要token验证,但是有token\n // next放行\n next();\n }\n});\n\nexport default router;\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {\n },\n mutations: {\n },\n actions: {\n },\n modules: {\n }\n})\n","const list = [\n {\n path: \"/Login\",\n name: \"Login\",\n component: () => import(\"../views/Login.vue\"),\n },\n {\n path: \"/\",\n component: () => import(\"../views/index.vue\"),\n children: [\n {\n path: \"GOODS_LIST\",\n name: \"商品列表\",\n component: () => import(\"../views/goods/goods.vue\"),\n meta: {\n keepAlive: true,\n },\n },\n {\n path: \"GOODS_TYPE\",\n name: \"商品种类\",\n component: () => import(\"../views/goodsType/goodsType.vue\"),\n },\n {\n path: \"GOODS_BRAND\",\n name: \"商品品牌\",\n component: () => import(\"../views/brand/brand.vue\"),\n },\n {\n path: \"SHOP_MANAGE\",\n name: \"店铺管理\",\n component: () => import(\"../views/store/store.vue\"),\n },\n {\n path: \"USER_MANAGE\",\n name: \"用户管理\",\n component: () => import(\"../views/users/users.vue\"),\n },\n {\n path: \"ROLE_MANAGE\",\n name: \"角色管理\",\n component: () => import(\"../views/system/role.vue\"),\n },\n {\n path: \"SYSTEM_LOG\",\n name: \"系统日志\",\n component: () => import(\"../views/logs/logs.vue\"),\n },\n {\n path: \"GOODS_LOG\",\n name: \"商品记录\",\n component: () => import(\"../views/logs/record.vue\"),\n },\n {\n path: \"ADDGOODS\",\n name: \"新建商品\",\n component: () => import(\"../views/goods/addgoods/addgoods.vue\"),\n },\n {\n path: \"/\",\n redirect: \"GOODS_LIST\",\n },\n {\n path: \"PLAT_GOODS_LIST\",\n name: \"货品列表\",\n component: () => import(\"../views/plat/goodsList.vue\"),\n },\n {\n path: \"GROUP_MANAGEMENT\",\n name: \"团购管理\",\n component: () => import(\"../views/group/group.vue\"),\n },\n {\n path: \"GROUP_GOODS_ADD\",\n name: \"团购商品新增\",\n component: () => import(\"../views/group/addGroup.vue\"),\n },\n {\n path: \"GROUP_GOODS_EDIT\",\n name: \"团购商品修改\",\n component: () => import(\"../views/group/editGroup.vue\"),\n },\n ],\n },\n];\n\nexport default list;\n","import router from './index'\nimport List from './list'\n\nList.forEach(element => {\n router.addRoute(element) // 动态添加更多的路由规则\n})\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\nimport ElementUI from \"element-ui\";\nimport \"element-ui/lib/theme-chalk/index.css\";\nimport \"@/css/style.css\";\nimport \"./router/main\";\n\nVue.use(ElementUI);\nVue.config.productionTip = false;\n\nnew Vue({\n router,\n store,\n render: (h) => h(App),\n}).$mount(\"#app\");\n\ndocument.title = \"春分ERP-鲜花\";\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?a692","webpack:///src/App.vue","webpack:///./src/App.vue?a7d1","webpack:///./src/App.vue","webpack:///./src/router/index.js","webpack:///./src/store/index.js","webpack:///./src/router/list.js","webpack:///./src/router/main.js","webpack:///./src/main.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","attrs","$route","meta","_e","keepAlive","staticRenderFns","component","Vue","use","VueRouter","createRouter","scrollBehavior","y","router","beforeEach","to","from","next","token","localStorage","getItem","Vuex","Store","state","mutations","actions","list","path","children","redirect","List","forEach","element","addRoute","ElementUI","config","productionTip","store","render","h","App","$mount","title"],"mappings":"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","file":"js/app.d5be9b64.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-63c1eac8\":\"59f3df74\",\"chunk-088acbde\":\"46503dcc\",\"chunk-0cbcaa56\":\"46e3dd42\",\"chunk-0f6f9608\":\"540fa080\",\"chunk-26daa808\":\"a340b60b\",\"chunk-35db73ce\":\"e1ffc5fa\",\"chunk-4caed774\":\"92751344\",\"chunk-52fcdd7c\":\"0f505f93\",\"chunk-6ae0a0d3\":\"b08743d0\",\"chunk-75426f71\":\"1a12b5c7\",\"chunk-10d9ee19\":\"6bc719ae\",\"chunk-38b35ffa\":\"6daa44bc\",\"chunk-4f15b41a\":\"8943bdec\",\"chunk-f35dfe36\":\"e7038b09\",\"chunk-904e5abc\":\"3cea2bdf\",\"chunk-a3ddd952\":\"dc1ed0be\",\"chunk-e35186f0\":\"efed2a2b\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-088acbde\":1,\"chunk-0cbcaa56\":1,\"chunk-0f6f9608\":1,\"chunk-26daa808\":1,\"chunk-35db73ce\":1,\"chunk-4caed774\":1,\"chunk-52fcdd7c\":1,\"chunk-6ae0a0d3\":1,\"chunk-75426f71\":1,\"chunk-10d9ee19\":1,\"chunk-38b35ffa\":1,\"chunk-4f15b41a\":1,\"chunk-f35dfe36\":1,\"chunk-904e5abc\":1,\"chunk-a3ddd952\":1,\"chunk-e35186f0\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-63c1eac8\":\"31d6cfe0\",\"chunk-088acbde\":\"902ebb66\",\"chunk-0cbcaa56\":\"e05858e7\",\"chunk-0f6f9608\":\"b3153d73\",\"chunk-26daa808\":\"62429343\",\"chunk-35db73ce\":\"1f9c10ff\",\"chunk-4caed774\":\"ad94328f\",\"chunk-52fcdd7c\":\"51e3ffbd\",\"chunk-6ae0a0d3\":\"84a02b23\",\"chunk-75426f71\":\"902ebb66\",\"chunk-10d9ee19\":\"84a6683c\",\"chunk-38b35ffa\":\"1005fa16\",\"chunk-4f15b41a\":\"2cf53495\",\"chunk-f35dfe36\":\"ea52b615\",\"chunk-904e5abc\":\"902ebb66\",\"chunk-a3ddd952\":\"902ebb66\",\"chunk-e35186f0\":\"902ebb66\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('keep-alive',[(_vm.$route.meta.keepAlive)?_c('router-view'):_vm._e()],1),(!_vm.$route.meta.keepAlive)?_c('router-view'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=e9f6d1e8&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport VueRouter from \"vue-router\";\n\nVue.use(VueRouter);\n\nconst createRouter = () =>\n new VueRouter({\n scrollBehavior: () => ({ y: 0 }),\n });\n\nconst router = createRouter();\n\nrouter.beforeEach((to, from, next) => {\n const token = localStorage.getItem(\"token\");\n // 目标路由不是登录页,并且还需要token验证,还没有token,那就直接给返回到登录页\n if (to.name !== \"Login\" && !token) {\n next({ name: \"Login\" });\n } else {\n // 目标路由是登录页-自然不需要token验证\n // 或目标路由不需要身份验证\n // 又或目标路由非登录页,需要token验证,但是有token\n // next放行\n next();\n }\n});\n\nexport default router;\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {\n },\n mutations: {\n },\n actions: {\n },\n modules: {\n }\n})\n","const list = [\n {\n path: \"/Login\",\n name: \"Login\",\n component: () => import(\"../views/Login.vue\"),\n },\n {\n path: \"/\",\n component: () => import(\"../views/index.vue\"),\n children: [\n {\n path: \"GOODS_LIST\",\n name: \"商品列表\",\n component: () => import(\"../views/goods/goods.vue\"),\n meta: {\n keepAlive: true,\n },\n },\n {\n path: \"GOODS_TYPE\",\n name: \"商品种类\",\n component: () => import(\"../views/goodsType/goodsType.vue\"),\n },\n {\n path: \"GOODS_BRAND\",\n name: \"商品品牌\",\n component: () => import(\"../views/brand/brand.vue\"),\n },\n {\n path: \"SHOP_MANAGE\",\n name: \"店铺管理\",\n component: () => import(\"../views/store/store.vue\"),\n },\n {\n path: \"USER_MANAGE\",\n name: \"用户管理\",\n component: () => import(\"../views/users/users.vue\"),\n },\n {\n path: \"ROLE_MANAGE\",\n name: \"角色管理\",\n component: () => import(\"../views/system/role.vue\"),\n },\n {\n path: \"SYSTEM_LOG\",\n name: \"系统日志\",\n component: () => import(\"../views/logs/logs.vue\"),\n },\n {\n path: \"GOODS_LOG\",\n name: \"商品记录\",\n component: () => import(\"../views/logs/record.vue\"),\n },\n {\n path: \"ADDGOODS\",\n name: \"新建商品\",\n component: () => import(\"../views/goods/addgoods/addgoods.vue\"),\n },\n {\n path: \"/\",\n redirect: \"GOODS_LIST\",\n },\n {\n path: \"PLAT_GOODS_LIST\",\n name: \"货品列表\",\n component: () => import(\"../views/plat/goodsList.vue\"),\n },\n {\n path: \"GROUP_MANAGEMENT\",\n name: \"团购管理\",\n component: () => import(\"../views/group/group.vue\"),\n },\n {\n path: \"GROUP_GOODS_ADD\",\n name: \"团购商品新增\",\n component: () => import(\"../views/group/addGroup.vue\"),\n },\n {\n path: \"GROUP_GOODS_EDIT\",\n name: \"团购商品修改\",\n component: () => import(\"../views/group/editGroup.vue\"),\n },\n ],\n },\n];\n\nexport default list;\n","import router from './index'\nimport List from './list'\n\nList.forEach(element => {\n router.addRoute(element) // 动态添加更多的路由规则\n})\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\nimport ElementUI from \"element-ui\";\nimport \"element-ui/lib/theme-chalk/index.css\";\nimport \"@/css/style.css\";\nimport \"./router/main\";\n\nVue.use(ElementUI);\nVue.config.productionTip = false;\n\nnew Vue({\n router,\n store,\n render: (h) => h(App),\n}).$mount(\"#app\");\n\ndocument.title = \"春分ERP-鲜花\";\n"],"sourceRoot":""} \ No newline at end of file diff --git a/public/dist/js/chunk-088acbde.46503dcc.js b/public/dist/js/chunk-088acbde.46503dcc.js new file mode 100644 index 0000000..76bc1cb --- /dev/null +++ b/public/dist/js/chunk-088acbde.46503dcc.js @@ -0,0 +1,4 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-088acbde"],{"0a5a":function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return a}));var r="admin_token";function n(){return localStorage.getItem("token")}function a(){return localStorage.removeItem(r)}},"23ba":function(e,t,o){"use strict";o.d(t,"e",(function(){return n})),o.d(t,"a",(function(){return a})),o.d(t,"f",(function(){return s})),o.d(t,"c",(function(){return i})),o.d(t,"d",(function(){return u})),o.d(t,"b",(function(){return d}));var r=o("adb5");function n(e){return Object(r["a"])({url:"/api/group",method:"get",params:e})}function a(e){return Object(r["a"])({url:"/api/group",method:"post",data:e})}function s(e){return Object(r["a"])({url:"/api/group/".concat(e),method:"get"})}function i(e,t){return Object(r["a"])({url:"/api/group/".concat(e),method:"patch",data:t})}function u(e){return Object(r["a"])({url:"/api/groupGoods",method:"get",params:e})}function d(e){return Object(r["a"])({url:"/api/groupGoods",method:"post",params:e})}},"323e":function(e,t,o){var r,n; +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */(function(a,s){r=s,n="function"===typeof r?r.call(t,o,t,e):r,void 0===n||(e.exports=n)})(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:'
'};function o(e,t,o){return eo?o:e}function r(e){return 100*(-1+e)}function n(e,o,n){var a;return a="translate3d"===t.positionUsing?{transform:"translate3d("+r(e)+"%,0,0)"}:"translate"===t.positionUsing?{transform:"translate("+r(e)+"%,0)"}:{"margin-left":r(e)+"%"},a.transition="all "+o+"ms "+n,a}e.configure=function(e){var o,r;for(o in e)r=e[o],void 0!==r&&e.hasOwnProperty(o)&&(t[o]=r);return this},e.status=null,e.set=function(r){var i=e.isStarted();r=o(r,t.minimum,1),e.status=1===r?null:r;var u=e.render(!i),d=u.querySelector(t.barSelector),l=t.speed,c=t.easing;return u.offsetWidth,a((function(o){""===t.positionUsing&&(t.positionUsing=e.getPositioningCSS()),s(d,n(r,l,c)),1===r?(s(u,{transition:"none",opacity:1}),u.offsetWidth,setTimeout((function(){s(u,{transition:"all "+l+"ms linear",opacity:0}),setTimeout((function(){e.remove(),o()}),l)}),l)):setTimeout(o,l)})),this},e.isStarted=function(){return"number"===typeof e.status},e.start=function(){e.status||e.set(0);var o=function(){setTimeout((function(){e.status&&(e.trickle(),o())}),t.trickleSpeed)};return t.trickle&&o(),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)*o(Math.random()*r,.1,.95)),r=o(r+t,0,.994),e.set(r)):e.start()},e.trickle=function(){return e.inc(Math.random()*t.trickleRate)},function(){var t=0,o=0;e.promise=function(r){return r&&"resolved"!==r.state()?(0===o&&e.start(),t++,o++,r.always((function(){o--,0===o?(t=0,e.done()):e.set((t-o)/t)})),this):this}}(),e.render=function(o){if(e.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var n=document.createElement("div");n.id="nprogress",n.innerHTML=t.template;var a,i=n.querySelector(t.barSelector),d=o?"-100":r(e.status||0),l=document.querySelector(t.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+d+"%,0,0)"}),t.showSpinner||(a=n.querySelector(t.spinnerSelector),a&&c(a)),l!=document.body&&u(l,"nprogress-custom-parent"),l.appendChild(n),n},e.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(t.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&c(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 a=function(){var e=[];function t(){var o=e.shift();o&&o(t)}return function(o){e.push(o),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function o(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var o=document.body.style;if(t in o)return t;var r,n=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);while(n--)if(r=e[n]+a,r in o)return r;return t}function n(e){return e=o(e),t[e]||(t[e]=r(e))}function a(e,t,o){t=n(t),e.style[t]=o}return function(e,t){var o,r,n=arguments;if(2==n.length)for(o in t)r=t[o],void 0!==r&&t.hasOwnProperty(o)&&a(e,o,r);else a(e,n[1],n[2])}}();function i(e,t){var o="string"==typeof e?e:l(e);return o.indexOf(" "+t+" ")>=0}function u(e,t){var o=l(e),r=o+t;i(o,t)||(e.className=r.substring(1))}function d(e,t){var o,r=l(e);i(e,t)&&(o=r.replace(" "+t+" "," "),e.className=o.substring(1,o.length-1))}function l(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function c(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return e}))},6273:function(e,t,o){"use strict";o.r(t);var r=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[o("el-form",{ref:"group",attrs:{rules:e.rules,model:e.group,"label-width":"80px"}},[o("el-form-item",{attrs:{label:"活动标题",prop:"title"}},[o("el-input",{staticStyle:{width:"500px"},attrs:{type:"textarea"},model:{value:e.group.title,callback:function(t){e.$set(e.group,"title",t)},expression:"group.title"}})],1),o("el-form-item",{attrs:{label:"团购商品"}},[o("el-button",{on:{click:function(t){return e.importGoods()}}},[e._v("从商品列表导入")]),o("el-input",{staticStyle:{"margin-left":"20px",width:"400px"},attrs:{placeholder:"搜索商品名称、编码"},model:{value:e.groupGoodsSearch.external_sku_id,callback:function(t){e.$set(e.groupGoodsSearch,"external_sku_id",t)},expression:"groupGoodsSearch.external_sku_id"}},[o("el-button",{attrs:{slot:"append"},on:{click:function(t){return e.getGroupGoodsList()}},slot:"append"},[e._v("查询")])],1),o("div",{staticStyle:{display:"flex","align-items":"center"}},[o("span",{staticStyle:{"margin-right":"20px"}},[e._v("商品状态")]),o("el-radio-group",{on:{change:function(t){return e.getGroupGoodsList()}},model:{value:e.groupGoodsSearch.has_stock,callback:function(t){e.$set(e.groupGoodsSearch,"has_stock",t)},expression:"groupGoodsSearch.has_stock"}},[o("el-radio",{attrs:{label:0}},[e._v("全部")]),o("el-radio",{attrs:{label:1}},[e._v("在售中")]),o("el-radio",{attrs:{label:-1}},[e._v("已售罄")])],1)],1),o("div",{staticStyle:{display:"flex","align-items":"center"}},[o("span",{staticStyle:{"margin-right":"20px"}},[e._v("商品分类")]),o("el-radio-group",{attrs:{size:"small"},on:{change:function(t){return e.getGroupGoodsList()}},model:{value:e.groupGoodsSearch.type_id,callback:function(t){e.$set(e.groupGoodsSearch,"type_id",t)},expression:"groupGoodsSearch.type_id"}},[o("el-radio-button",{attrs:{label:"0"}},[e._v("全部")]),e._l(e.types,(function(t){return o("el-radio-button",{key:t.id,attrs:{label:t.id}},[e._v(" "+e._s(t.name))])}))],2)],1),o("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.groupLoading,expression:"groupLoading"}],ref:"multipleTableGroup",staticStyle:{width:"100%"},attrs:{data:e.groupGoods.data,border:"",height:"800","row-key":e.getRowKeys}},[o("el-table-column",{attrs:{type:"selection","reserve-selection":!0,width:"55"}}),o("el-table-column",{attrs:{prop:"goods_name",label:" 商品名称"}}),o("el-table-column",{attrs:{prop:"external_sku_id",label:"编码"}}),o("el-table-column",{attrs:{prop:"category_name",label:"分类"}}),o("el-table-column",{attrs:{prop:"stock",label:"库存"}}),o("el-table-column",{attrs:{label:"限购数量"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("el-input",{attrs:{placeholder:"限购数量"},on:{change:function(o){return e.handleCellChange(t.row)}},model:{value:t.row.limit_buy,callback:function(o){e.$set(t.row,"limit_buy",o)},expression:"scope.row.limit_buy"}})]}}])}),o("el-table-column",{attrs:{label:"价格"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("el-input",{attrs:{placeholder:"价格"},on:{change:function(o){return e.handleCellChange(t.row)}},model:{value:t.row.price_in_fen,callback:function(o){e.$set(t.row,"price_in_fen",o)},expression:"scope.row.price_in_fen"}})]}}])}),o("el-table-column",{attrs:{prop:"options",label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.remove(t.row)}}},[e._v("删除")])]}}])})],1),o("div",{staticStyle:{display:"flex","justify-content":"space-between","align-items":"center","line-height":"32px","margin-top":"20px"}},[o("el-button",{attrs:{type:"danger",size:"small"},on:{click:function(t){return e.batchRemove()}}},[e._v("批量删除")]),o("el-pagination",{attrs:{"current-page":e.groupGoods.meta.current_page,"page-sizes":[20,30,50,100],"page-size":e.groupGoods.meta.per_page,layout:"sizes, prev, pager, next",total:e.groupGoods.meta.total},on:{"size-change":e.handleSizeChangeGroup,"current-change":e.getGroupGoodsList,"update:currentPage":function(t){return e.$set(e.groupGoods.meta,"current_page",t)},"update:current-page":function(t){return e.$set(e.groupGoods.meta,"current_page",t)}}})],1)],1),o("el-form-item",{attrs:{label:"团购时间",prop:"datetimerange"}},[o("el-date-picker",{attrs:{type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"yyyy-MM-dd HH:mm:ss"},model:{value:e.group.datetimerange,callback:function(t){e.$set(e.group,"datetimerange",t)},expression:"group.datetimerange"}})],1),o("el-form-item",{staticStyle:{display:"flex","justify-content":"flex-end"}},[o("el-button",{attrs:{type:"success"},on:{click:function(t){return e.onEdit()}}},[e._v("修改团购")])],1)],1)],1),o("el-dialog",{attrs:{title:e.dialogTitle,visible:e.centerDialogVisible,width:"80%","close-on-click-modal":!1},on:{"update:visible":function(t){e.centerDialogVisible=t}}},[o("el-form",{ref:"goodsList",attrs:{model:e.goodsList,"label-width":"80px"}},[o("el-form-item",{attrs:{label:"商品分类",prop:"type_id"}},[o("el-radio-group",{attrs:{size:"small"},on:{change:function(t){return e.goodsSearch()}},model:{value:e.goodsList.type_id,callback:function(t){e.$set(e.goodsList,"type_id",t)},expression:"goodsList.type_id"}},[o("el-radio-button",{attrs:{label:"0"}},[e._v("全部")]),e._l(e.types,(function(t){return o("el-radio-button",{key:t.id,attrs:{label:t.id}},[e._v(" "+e._s(t.name))])}))],2)],1),o("el-form-item",{attrs:{label:"商品品牌",prop:"brand_id"}},[o("el-radio-group",{attrs:{size:"small"},on:{change:function(t){return e.goodsSearch()}},model:{value:e.goodsList.brand_id,callback:function(t){e.$set(e.goodsList,"brand_id",t)},expression:"goodsList.brand_id"}},[o("el-radio-button",{attrs:{label:"0"}},[e._v("全部")]),e._l(e.brands,(function(t){return o("el-radio-button",{key:t.id,attrs:{label:t.id}},[e._v(" "+e._s(t.name))])}))],2)],1),o("el-form-item",{attrs:{label:"搜索",prop:"goods_keyword"}},[o("el-input",{staticStyle:{width:"400px"},attrs:{placeholder:"搜索商品名称、编码"},model:{value:e.goodsList.goods_keyword,callback:function(t){e.$set(e.goodsList,"goods_keyword",t)},expression:"goodsList.goods_keyword"}}),o("el-radio-group",{staticStyle:{margin:"0 30px"},model:{value:e.goodsList.has_stock,callback:function(t){e.$set(e.goodsList,"has_stock",t)},expression:"goodsList.has_stock"}},[o("el-radio",{attrs:{label:1}},[e._v("有库存")]),o("el-radio",{attrs:{label:0}},[e._v("全部")])],1),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){return e.goodsSearch()}}},[e._v("查询")]),o("el-button",{attrs:{size:"small"},on:{click:function(t){return e.resetForm()}}},[e._v("重置")])],1)],1),o("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.goodsLoading,expression:"goodsLoading"}],ref:"multipleTable",staticStyle:{width:"100%"},attrs:{data:e.goods.data,border:"",height:"520","row-key":e.getRowKeys},on:{select:e.handleSelect,"select-all":e.selectCurrentGoods}},[o("el-table-column",{attrs:{type:"selection","reserve-selection":!0,width:"55"}}),o("el-table-column",{attrs:{label:"商品信息"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(t.row.goods.title+" "+t.row.title)+" ")]}}])}),o("el-table-column",{attrs:{label:"编码"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(t.row.goods.goods_code+"_"+t.row.sku_code)+" ")]}}])}),o("el-table-column",{attrs:{label:"品牌"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(t.row.goods.brand?t.row.goods.brand.name:"")+" ")]}}])}),o("el-table-column",{attrs:{prop:"goods.type.name",label:"分类"}}),o("el-table-column",{attrs:{prop:"num",label:"库存"}})],1),o("div",{staticStyle:{display:"flex","flex-direction":"row-reverse","align-items":"center","margin-top":"10px"}},[o("el-pagination",{attrs:{"current-page":e.goods.meta.current_page,"page-sizes":[20,30,50,100],"page-size":e.goods.meta.per_page,layout:"sizes, prev, pager, next",total:e.goods.meta.total},on:{"size-change":e.handleSizeChange,"current-change":e.goodsSearch,"update:currentPage":function(t){return e.$set(e.goods.meta,"current_page",t)},"update:current-page":function(t){return e.$set(e.goods.meta,"current_page",t)}}})],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("div",{staticStyle:{display:"flex","justify-content":"space-between","align-items":"center"}},[o("div",[o("el-button",{on:{click:function(t){return e.toggleSelection(1)}}},[e._v("全选")]),o("el-button",{on:{click:function(t){return e.toggleSelection(0)}}},[e._v("取消全选")])],1),o("div",[e._v("已选 "+e._s(e.selectNum)+" 件")]),o("div",[o("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.addGoods()}}},[e._v("确 定")]),o("el-button",{on:{click:function(t){e.centerDialogVisible=!1}}},[e._v("取 消")])],1)])])],1)],1)},n=[],a=(o("159b"),o("23ba")),s=o("6d71"),i=o("c40e"),u={data:function(){return{group:{title:"",is_save_preview:1,datetimerange:[],start_time:"",end_time:""},rules:{title:[{required:!0,message:"请输入活动标题",trigger:"blur"}],datetimerange:[{required:!0,message:"请选择团购时间",trigger:"blur"}]},groupGoods:{data:[],meta:{total:0,current_page:1,per_page:20}},groupGoodsSearch:{external_sku_id:"",has_stock:0,page:1,per_page:20,group_id:0,delete_ids:[],new_ids:[],type_id:0},groupLoading:!1,goodsLoading:!0,goods:{data:[],meta:{total:0,current_page:1,per_page:20}},centerDialogVisible:!1,types:[],brands:[],goodsList:{goods_keyword:"",has_stock:1,type_id:0,brand_id:0,delete_ids:[],new_ids:[],has_ids:[]},goodsListPage:{page:1,per_page:20},dialogTitle:"您的商品库中已有 0 件商品",selectNum:0,selectGoods:[],deleteGoods:[],allGoods:[],changeData:[]}},mounted:function(){this.groupGoodsSearch.group_id=parseInt(this.$route.query.id),this.getGoupInfo(this.$route.query.id),this.getGroupGoodsList(),this.getbrandType(),this.getgoodsType()},methods:{onEdit:function(){var e=this;this.group.new_ids=this.goodsList.has_ids;var t=[];this.changeData.forEach((function(e,o){e&&t.push(e)})),this.group.change_data=t,this.group.delete_ids=this.groupGoodsSearch.delete_ids,this.$refs.group.validate((function(t){if(!t)return!1;var o=e.$loading({lock:!0,text:"Loading",spinner:"el-icon-loading",background:"rgba(0, 0, 0, 0.7)"});Object(a["c"])(e.groupGoodsSearch.group_id,e.group).then((function(t){o.close(),e.$message(t.data.message),e.$router.push({path:"GROUP_MANAGEMENT"})}))}))},handleSizeChangeGroup:function(e){this.groupGoodsSearch.per_page=e,this.getGroupGoodsList()},getGroupGoodsList:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.groupGoodsSearch.page=t,this.groupGoodsSearch.new_ids=this.goodsList.new_ids,Object(a["d"])(this.groupGoodsSearch).then((function(t){e.groupGoods=t.data,e.groupGoods.data.forEach((function(t,o){void 0!==e.changeData[t.id]&&(e.groupGoods.data[o].limit_buy=e.changeData[t.id].limit_buy,e.groupGoods.data[o].price_in_fen=e.changeData[t.id].price_in_fen)})),e.groupGoods.meta.per_page=parseInt(e.groupGoods.meta.per_page)}))},getGoupInfo:function(e){var t=this;Object(a["f"])(e).then((function(e){void 0===e.data.data.id?(t.$message.error("不可编辑!!!"),t.$router.push({path:"GROUP_MANAGEMENT"})):(t.group=e.data.data,t.group.datetimerange=[t.group.start_time,t.group.end_time])}))},getgoodsType:function(){var e=this,t={per_page:9999};Object(s["h"])(t).then((function(t){e.types=t.data.data}))},getbrandType:function(){var e=this,t={per_page:9999};Object(s["c"])(t).then((function(t){e.brands=t.data.data}))},batchRemove:function(){var e=this;this.$refs.multipleTableGroup.selection.forEach((function(t){e.groupGoodsSearch.delete_ids.push(t.id);var o=e.goodsList.has_ids.indexOf(t.id);o>0&&delete e.goodsList.has_ids[o]})),this.$refs.multipleTableGroup.clearSelection(),this.getGroupGoodsList()},remove:function(e){var t=this;this.groupGoodsSearch.delete_ids.push(e.id),this.goodsList.has_ids.forEach((function(o,r){o==e.id&&delete t.goodsList.has_ids[r]})),this.getGroupGoodsList()},handleCellChange:function(e){this.changeData[e.id]={id:e.id,limit_buy:e.limit_buy,price_in_fen:e.price_in_fen}},importGoods:function(){this.dialogTitle="您的商品库中已有 "+this.groupGoods.meta.total+" 件商品",this.goodsSearch(),this.centerDialogVisible=!0},goodsSearch:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.goodsList.page=t,this.goodsList.per_page=this.goodsListPage.per_page,this.goodsList.group_id=this.groupGoodsSearch.group_id,this.goodsList.delete_ids=this.groupGoodsSearch.delete_ids,this.goodsLoading=!0,Object(i["c"])(this.goodsList).then((function(t){e.goods=t.data,e.goods.meta.per_page=parseInt(e.goods.meta.per_page),e.goods.data.forEach((function(t,o){void 0!==e.selectGoods[t.id]&&e.$refs.multipleTable.toggleRowSelection(t,!0)})),e.goodsLoading=!1})),1===t&&this.getAllGoods(this.goodsList)},getAllGoods:function(e){var t=this;e.page=1,e.per_page=9999,Object(i["c"])(e).then((function(e){t.allGoods=e.data.data}))},handleSizeChange:function(e){this.goodsListPage.per_page=e,this.goodsSearch()},getRowKeys:function(e){return e.id},toggleSelection:function(e){var t=this;e?(this.allGoods.forEach((function(e,o){void 0===t.selectGoods[e.id]&&t.selectNum++,t.selectGoods[e.id]=1})),this.goods.data.forEach((function(e,o){t.$refs.multipleTable.toggleRowSelection(e,!0)}))):(this.allGoods.forEach((function(e,o){void 0!==t.selectGoods[e.id]&&(delete t.selectGoods[e.id],t.selectNum--)})),this.$refs.multipleTable.clearSelection())},handleSelect:function(e,t){void 0===this.selectGoods[t.id]?(this.selectGoods[t.id]=1,this.selectNum++):(delete this.selectGoods[t.id],this.selectNum--)},resetForm:function(){this.$refs.goodsList.resetFields(),this.goodsSearch()},addGoods:function(){var e=this;this.selectGoods.forEach((function(t,o){void 0!==o&&(e.goodsList.new_ids.push(o),e.goodsList.has_ids.push(o))})),this.getGroupGoodsList(),this.$refs.goodsList.resetFields(),this.$refs.multipleTable.clearSelection(),this.selectGoods=[],this.selectNum=0,this.centerDialogVisible=!1},selectCurrentGoods:function(e){var t=this;e.length?(e.forEach((function(e){void 0===t.selectGoods[e.id]&&(t.selectGoods[e.id]=1)})),this.selectNum+=e.length):(this.goods.data.forEach((function(e){void 0!==t.selectGoods[e.id]&&delete t.selectGoods[e.id]})),this.selectNum-=this.goods.data.length)}}},d=u,l=o("2877"),c=Object(l["a"])(d,r,n,!1,null,null,null);t["default"]=c.exports},"6d71":function(e,t,o){"use strict";o.d(t,"h",(function(){return n})),o.d(t,"e",(function(){return a})),o.d(t,"b",(function(){return s})),o.d(t,"g",(function(){return i})),o.d(t,"c",(function(){return u})),o.d(t,"d",(function(){return d})),o.d(t,"a",(function(){return l})),o.d(t,"f",(function(){return c}));var r=o("adb5");function n(e){return Object(r["a"])({url:"/api/goods_types",method:"get",params:e})}function a(e){return Object(r["a"])({url:"/api/goods_types/".concat(e),method:"delete"})}function s(e){return Object(r["a"])({url:"/api/goods_types/",method:"post",data:e})}function i(e,t){return Object(r["a"])({url:"/api/goods_types/".concat(e),method:"patch",data:t})}function u(e){return Object(r["a"])({url:"/api/goods_brands",method:"get",params:e})}function d(e){return Object(r["a"])({url:"/api/goods_brands/".concat(e),method:"delete"})}function l(e){return Object(r["a"])({url:"/api/goods_brands",method:"post",data:e})}function c(e,t){return Object(r["a"])({url:"/api/goods_brands/".concat(e),method:"patch",data:t})}},a5d8:function(e,t,o){},adb5:function(e,t,o){"use strict";o("d3b7");var r=o("bc3a"),n=o.n(r),a=o("0a5a"),s=o("323e"),i=o.n(s),u=(o("a5d8"),o("5c96")),d=n.a.create({timeout:3e4});d.interceptors.request.use((function(e){return e.headers.Authorization="Bearer "+Object(a["a"])(),i.a.start(),e}),(function(e){return Promise.reject(e)})),d.interceptors.response.use((function(e){i.a.done();var t=e.status;if(200===t||201===t)return e}),(function(e){return i.a.done(),400===e.response.status&&Object(u["Message"])({message:e.response.data.errorMessage,type:"error"}),500===e.response.status&&Object(u["Message"])({message:e.response.data.message,type:"error"}),Promise.reject(e)})),t["a"]=d},c40e:function(e,t,o){"use strict";o.d(t,"d",(function(){return n})),o.d(t,"a",(function(){return a})),o.d(t,"b",(function(){return s})),o.d(t,"e",(function(){return i})),o.d(t,"i",(function(){return u})),o.d(t,"h",(function(){return d})),o.d(t,"g",(function(){return l})),o.d(t,"f",(function(){return c})),o.d(t,"c",(function(){return p}));var r=o("adb5");function n(e){return Object(r["a"])({url:"/api/goods_skus",method:"get",params:e})}function a(e){return Object(r["a"])({url:"/api/goods",method:"post",data:e})}function s(e){return Object(r["a"])({url:"/api/goods_skus/".concat(e),method:"get"})}function i(e){return Object(r["a"])({url:"/api/goods",method:"get",params:e})}function u(e,t){return Object(r["a"])({url:"/api/goods_skus/".concat(e),method:"patch",data:t})}function d(e){return Object(r["a"])({url:"/api/batch/goods_skus",method:"patch",data:e})}function l(e,t){return Object(r["a"])({url:"/api/single/goods_skus/".concat(e),method:"patch",data:t})}function c(e,t){return Object(r["a"])({url:"/api/upload",Headers:t,method:"post",data:e})}function p(e){return Object(r["a"])({url:"/api/goodsList",method:"get",params:e})}}}]); +//# sourceMappingURL=chunk-088acbde.46503dcc.js.map \ No newline at end of file diff --git a/public/dist/js/chunk-088acbde.46503dcc.js.map b/public/dist/js/chunk-088acbde.46503dcc.js.map new file mode 100644 index 0000000..1e0f78f --- /dev/null +++ b/public/dist/js/chunk-088acbde.46503dcc.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/util/auth.js","webpack:///./src/api/group.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./src/views/group/editGroup.vue?b311","webpack:///src/views/group/editGroup.vue","webpack:///./src/views/group/editGroup.vue?381c","webpack:///./src/views/group/editGroup.vue","webpack:///./src/api/rankingData.js","webpack:///./src/util/http.js","webpack:///./src/api/goods.js"],"names":["TokenKey","getToken","localStorage","getItem","removeToken","removeItem","groupList","params","http","url","method","addGroup","data","showGroup","id","editGroup","getGroupGoods","addGroupGoods","root","factory","this","NProgress","Settings","settings","minimum","easing","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","parent","template","clamp","n","min","max","toBarPerc","barPositionCSS","ease","barCSS","transform","transition","configure","options","key","value","undefined","hasOwnProperty","status","set","started","isStarted","progress","render","bar","querySelector","offsetWidth","queue","next","getPositioningCSS","css","opacity","setTimeout","remove","start","work","done","force","inc","Math","random","amount","initial","current","promise","$promise","state","always","fromStart","isRendered","document","getElementById","addClass","documentElement","createElement","innerHTML","spinner","perc","removeElement","body","appendChild","removeClass","bodyStyle","style","vendorPrefix","pending","fn","shift","push","length","cssPrefixes","cssProps","camelCase","string","replace","match","letter","toUpperCase","getVendorProp","name","vendorName","i","capName","charAt","slice","getStyleProp","applyCss","element","prop","properties","args","arguments","hasClass","list","classList","indexOf","oldList","newList","className","substring","parentNode","removeChild","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","ref","attrs","rules","group","model","callback","$$v","$set","expression","on","$event","importGoods","_v","groupGoodsSearch","getGroupGoodsList","slot","_l","goodsType","_s","directives","rawName","groupGoods","getRowKeys","scopedSlots","_u","scope","handleCellChange","row","batchRemove","meta","current_page","per_page","total","handleSizeChangeGroup","onEdit","dialogTitle","centerDialogVisible","goodsList","goodsSearch","goodsBrand","resetForm","goods","handleSelect","selectCurrentGoods","title","goods_code","sku_code","brand","handleSizeChange","toggleSelection","selectNum","addGoods","staticRenderFns","component","goods_types","Delgoods_types","Addgoods_types","editGoods_types","Brand_goods_types","DelBrand_goods_types","AddBrandgoods_types","editBrand_types","instance","axios","create","timeout","interceptors","request","use","config","headers","Authorization","error","Promise","reject","response","res","Message","message","errorMessage","type","checkGoods","updateGoods","update","singleUpdate","imgUpload","item","Headers","getGoodsList"],"mappings":"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","file":"js/chunk-088acbde.46503dcc.js","sourcesContent":["const TokenKey = \"admin_token\";\n// 获取token\nexport function getToken() {\n return localStorage.getItem(\"token\");\n}\n// 设置token\nexport function setToken(token) {\n return localStorage.setItem(TokenKey, token);\n}\n// 删除token\nexport function removeToken() {\n return localStorage.removeItem(TokenKey);\n}\n","import http from \"@/util/http.js\";\n\n// 团购管理列表\nexport function groupList(params) {\n return http({\n url: \"/api/group\",\n method: \"get\",\n params\n });\n}\n\n// 新增\nexport function addGroup(data) {\n return http({\n url: \"/api/group\",\n method: \"post\",\n data,\n });\n}\n\n// 查看\nexport function showGroup(id) {\n return http({\n url: `/api/group/${id}`,\n method: \"get\",\n });\n}\n\n// 编辑\nexport function editGroup(id, data) {\n return http({\n url: `/api/group/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 获取团购商品列表\nexport function getGroupGoods(params) {\n return http({\n url: `/api/groupGoods`,\n method: \"get\",\n params,\n });\n}\n\n// 增加团购商品\nexport function addGroupGoods(params) {\n return http({\n url: `/api/groupGoods`,\n method: \"post\",\n params,\n });\n}\n","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',{staticClass:\"box-card\",staticStyle:{\"margin-top\":\"10px\"}},[_c('el-form',{ref:\"group\",attrs:{\"rules\":_vm.rules,\"model\":_vm.group,\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"活动标题\",\"prop\":\"title\"}},[_c('el-input',{staticStyle:{\"width\":\"500px\"},attrs:{\"type\":\"textarea\"},model:{value:(_vm.group.title),callback:function ($$v) {_vm.$set(_vm.group, \"title\", $$v)},expression:\"group.title\"}})],1),_c('el-form-item',{attrs:{\"label\":\"团购商品\"}},[_c('el-button',{on:{\"click\":function($event){return _vm.importGoods()}}},[_vm._v(\"从商品列表导入\")]),_c('el-input',{staticStyle:{\"margin-left\":\"20px\",\"width\":\"400px\"},attrs:{\"placeholder\":\"搜索商品名称、编码\"},model:{value:(_vm.groupGoodsSearch.external_sku_id),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"external_sku_id\", $$v)},expression:\"groupGoodsSearch.external_sku_id\"}},[_c('el-button',{attrs:{\"slot\":\"append\"},on:{\"click\":function($event){return _vm.getGroupGoodsList();}},slot:\"append\"},[_vm._v(\"查询\")])],1),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('span',{staticStyle:{\"margin-right\":\"20px\"}},[_vm._v(\"商品状态\")]),_c('el-radio-group',{on:{\"change\":function($event){return _vm.getGroupGoodsList()}},model:{value:(_vm.groupGoodsSearch.has_stock),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"has_stock\", $$v)},expression:\"groupGoodsSearch.has_stock\"}},[_c('el-radio',{attrs:{\"label\":0}},[_vm._v(\"全部\")]),_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\"在售中\")]),_c('el-radio',{attrs:{\"label\":-1}},[_vm._v(\"已售罄\")])],1)],1),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('span',{staticStyle:{\"margin-right\":\"20px\"}},[_vm._v(\"商品分类\")]),_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.getGroupGoodsList()}},model:{value:(_vm.groupGoodsSearch.type_id),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"type_id\", $$v)},expression:\"groupGoodsSearch.type_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.types),function(goodsType){return _c('el-radio-button',{key:goodsType.id,attrs:{\"label\":goodsType.id}},[_vm._v(\" \"+_vm._s(goodsType.name))])})],2)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.groupLoading),expression:\"groupLoading\"}],ref:\"multipleTableGroup\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.groupGoods.data,\"border\":\"\",\"height\":\"800\",\"row-key\":_vm.getRowKeys}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true,\"width\":\"55\"}}),_c('el-table-column',{attrs:{\"prop\":\"goods_name\",\"label\":\" 商品名称\"}}),_c('el-table-column',{attrs:{\"prop\":\"external_sku_id\",\"label\":\"编码\"}}),_c('el-table-column',{attrs:{\"prop\":\"category_name\",\"label\":\"分类\"}}),_c('el-table-column',{attrs:{\"prop\":\"stock\",\"label\":\"库存\"}}),_c('el-table-column',{attrs:{\"label\":\"限购数量\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"限购数量\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.limit_buy),callback:function ($$v) {_vm.$set(scope.row, \"limit_buy\", $$v)},expression:\"scope.row.limit_buy\"}})]}}])}),_c('el-table-column',{attrs:{\"label\":\"价格\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"价格\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.price_in_fen),callback:function ($$v) {_vm.$set(scope.row, \"price_in_fen\", $$v)},expression:\"scope.row.price_in_fen\"}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"options\",\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.remove(scope.row)}}},[_vm._v(\"删除\")])]}}])})],1),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"line-height\":\"32px\",\"margin-top\":\"20px\"}},[_c('el-button',{attrs:{\"type\":\"danger\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.batchRemove();}}},[_vm._v(\"批量删除\")]),_c('el-pagination',{attrs:{\"current-page\":_vm.groupGoods.meta.current_page,\"page-sizes\":[20, 30, 50, 100],\"page-size\":_vm.groupGoods.meta.per_page,\"layout\":\"sizes, prev, pager, next\",\"total\":_vm.groupGoods.meta.total},on:{\"size-change\":_vm.handleSizeChangeGroup,\"current-change\":_vm.getGroupGoodsList,\"update:currentPage\":function($event){return _vm.$set(_vm.groupGoods.meta, \"current_page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.groupGoods.meta, \"current_page\", $event)}}})],1)],1),_c('el-form-item',{attrs:{\"label\":\"团购时间\",\"prop\":\"datetimerange\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetimerange\",\"range-separator\":\"至\",\"start-placeholder\":\"开始时间\",\"end-placeholder\":\"结束时间\",\"value-format\":\"yyyy-MM-dd HH:mm:ss\"},model:{value:(_vm.group.datetimerange),callback:function ($$v) {_vm.$set(_vm.group, \"datetimerange\", $$v)},expression:\"group.datetimerange\"}})],1),_c('el-form-item',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"flex-end\"}},[_c('el-button',{attrs:{\"type\":\"success\"},on:{\"click\":function($event){return _vm.onEdit();}}},[_vm._v(\"修改团购\")])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.dialogTitle,\"visible\":_vm.centerDialogVisible,\"width\":\"80%\",\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.centerDialogVisible=$event}}},[_c('el-form',{ref:\"goodsList\",attrs:{\"model\":_vm.goodsList,\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"商品分类\",\"prop\":\"type_id\"}},[_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.goodsSearch()}},model:{value:(_vm.goodsList.type_id),callback:function ($$v) {_vm.$set(_vm.goodsList, \"type_id\", $$v)},expression:\"goodsList.type_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.types),function(goodsType){return _c('el-radio-button',{key:goodsType.id,attrs:{\"label\":goodsType.id}},[_vm._v(\" \"+_vm._s(goodsType.name))])})],2)],1),_c('el-form-item',{attrs:{\"label\":\"商品品牌\",\"prop\":\"brand_id\"}},[_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.goodsSearch()}},model:{value:(_vm.goodsList.brand_id),callback:function ($$v) {_vm.$set(_vm.goodsList, \"brand_id\", $$v)},expression:\"goodsList.brand_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.brands),function(goodsBrand){return _c('el-radio-button',{key:goodsBrand.id,attrs:{\"label\":goodsBrand.id}},[_vm._v(\" \"+_vm._s(goodsBrand.name))])})],2)],1),_c('el-form-item',{attrs:{\"label\":\"搜索\",\"prop\":\"goods_keyword\"}},[_c('el-input',{staticStyle:{\"width\":\"400px\"},attrs:{\"placeholder\":\"搜索商品名称、编码\"},model:{value:(_vm.goodsList.goods_keyword),callback:function ($$v) {_vm.$set(_vm.goodsList, \"goods_keyword\", $$v)},expression:\"goodsList.goods_keyword\"}}),_c('el-radio-group',{staticStyle:{\"margin\":\"0 30px\"},model:{value:(_vm.goodsList.has_stock),callback:function ($$v) {_vm.$set(_vm.goodsList, \"has_stock\", $$v)},expression:\"goodsList.has_stock\"}},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\"有库存\")]),_c('el-radio',{attrs:{\"label\":0}},[_vm._v(\"全部\")])],1),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.goodsSearch();}}},[_vm._v(\"查询\")]),_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){return _vm.resetForm()}}},[_vm._v(\"重置\")])],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.goodsLoading),expression:\"goodsLoading\"}],ref:\"multipleTable\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.goods.data,\"border\":\"\",\"height\":\"520\",\"row-key\":_vm.getRowKeys},on:{\"select\":_vm.handleSelect,\"select-all\":_vm.selectCurrentGoods}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true,\"width\":\"55\"}}),_c('el-table-column',{attrs:{\"label\":\"商品信息\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.title + ' ' + scope.row.title)+\" \")]}}])}),_c('el-table-column',{attrs:{\"label\":\"编码\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.goods_code + '_' + scope.row.sku_code)+\" \")]}}])}),_c('el-table-column',{attrs:{\"label\":\"品牌\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.brand ? scope.row.goods.brand.name : '')+\" \")]}}])}),_c('el-table-column',{attrs:{\"prop\":\"goods.type.name\",\"label\":\"分类\"}}),_c('el-table-column',{attrs:{\"prop\":\"num\",\"label\":\"库存\"}})],1),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row-reverse\",\"align-items\":\"center\",\"margin-top\":\"10px\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.goods.meta.current_page,\"page-sizes\":[20, 30, 50, 100],\"page-size\":_vm.goods.meta.per_page,\"layout\":\"sizes, prev, pager, next\",\"total\":_vm.goods.meta.total},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.goodsSearch,\"update:currentPage\":function($event){return _vm.$set(_vm.goods.meta, \"current_page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.goods.meta, \"current_page\", $event)}}})],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"}},[_c('div',[_c('el-button',{on:{\"click\":function($event){return _vm.toggleSelection(1)}}},[_vm._v(\"全选\")]),_c('el-button',{on:{\"click\":function($event){return _vm.toggleSelection(0)}}},[_vm._v(\"取消全选\")])],1),_c('div',[_vm._v(\"已选 \"+_vm._s(_vm.selectNum)+\" 件\")]),_c('div',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.addGoods();}}},[_vm._v(\"确 定\")]),_c('el-button',{on:{\"click\":function($event){_vm.centerDialogVisible = false}}},[_vm._v(\"取 消\")])],1)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./editGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./editGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./editGroup.vue?vue&type=template&id=5ffa49d0&\"\nimport script from \"./editGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./editGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import http from \"@/util/http.js\";\n\nexport function postadd(params) {\n // 传递id\n return http({\n url: \"/api/admin/auth/login\",\n method: \"post\",\n params: params,\n });\n}\n\n// 列表\nexport function store_list(params) {\n return http({\n url: \"/api/admin/shopGroups\",\n method: \"get\",\n params: params,\n });\n}\n\nexport function storeDetail(params) {\n return http({\n url: \"/storess/show\",\n method: \"get\",\n params: params,\n });\n}\n\n// 商品种类列表\nexport function goods_types(params) {\n return http({\n url: \"/api/goods_types\",\n method: \"get\",\n params,\n });\n}\n// 商品种类列表删除\nexport function Delgoods_types(id) {\n return http({\n url: `/api/goods_types/${id}`,\n method: \"delete\",\n });\n}\n// 新增种类\nexport function Addgoods_types(data) {\n return http({\n url: \"/api/goods_types/\",\n method: \"post\",\n data,\n });\n}\n// 编辑种类\nexport function editGoods_types(id, data) {\n return http({\n url: `/api/goods_types/${id}`,\n method: \"patch\",\n data,\n });\n}\n// 商品品牌列表\nexport function Brand_goods_types(params) {\n return http({\n url: \"/api/goods_brands\",\n method: \"get\",\n params\n });\n}\n// 商品品牌列表删除\nexport function DelBrand_goods_types(id) {\n return http({\n url: `/api/goods_brands/${id}`,\n method: \"delete\",\n });\n}\n// 新增品牌\nexport function AddBrandgoods_types(data) {\n return http({\n url: \"/api/goods_brands\",\n method: \"post\",\n data,\n });\n}\n// 编辑品牌\nexport function editBrand_types(id, data) {\n return http({\n url: `/api/goods_brands/${id}`,\n method: \"patch\",\n data,\n });\n}\n","import axios from \"axios\";\nimport { getToken } from \"@/util/auth\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport { Message } from \"element-ui\";\nvar instance = axios.create({\n timeout: 30000,\n});\n\ninstance.interceptors.request.use(\n (config) => {\n // config.headers['content-type'] = 'application/json'\n\n // config.headers['Shop-Id'] = localStorage.getItem('shopId') || 1\n\n // 在发送请求之前做些什么\n // config.headers['content-type'] = 'application/json'\n config.headers.Authorization = \"Bearer \" + getToken(); // 请求头\n NProgress.start();\n return config;\n },\n (error) => {\n // 对请求错误做些什么\n return Promise.reject(error);\n }\n);\n\n// 添加响应拦截器\ninstance.interceptors.response.use(\n (response) => {\n NProgress.done();\n const res = response.status;\n // 对响应数据做点什么\n if (res === 200 || res === 201) {\n return response;\n }\n },\n (error) => {\n NProgress.done();\n // 对响应错误做点什么\n if (error.response.status === 400) {\n Message({\n message: error.response.data.errorMessage,\n type: \"error\",\n });\n }\n\n if (error.response.status === 500) {\n Message({\n message: error.response.data.message,\n type: \"error\",\n });\n }\n return Promise.reject(error);\n }\n);\n\nexport default instance;\n","import http from \"@/util/http.js\";\n\n//店铺订单\nexport function shops(params) {\n return http({\n url: \"/api/count/orders/num\",\n method: \"get\",\n params,\n });\n}\n\n// 商品管理列表\nexport function goods(params) {\n return http({\n url: \"/api/goods_skus\",\n method: \"get\",\n params,\n });\n}\n// 新建商品\nexport function addGoods(data) {\n return http({\n url: \"/api/goods\",\n method: \"post\",\n data,\n });\n}\n// 查看商品\nexport function checkGoods(id) {\n return http({\n url: `/api/goods_skus/${id}`,\n method: \"get\",\n });\n}\n// 商品列表\nexport function goodsList(params) {\n return http({\n url: \"/api/goods\",\n method: \"get\",\n params,\n });\n}\n// 更新商品\nexport function updateGoods(id, data) {\n return http({\n url: `/api/goods_skus/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 上新/库存盘点/库存\nexport function update(data) {\n return http({\n url: \"/api/batch/goods_skus\",\n method: \"patch\",\n data,\n });\n}\n\n// 单个字段更新\nexport function singleUpdate(id, data) {\n return http({\n url: `/api/single/goods_skus/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 图片上传\nexport function imgUpload(data, item) {\n return http({\n url: \"/api/upload\",\n Headers: item,\n method: \"post\",\n data,\n });\n}\n\n// 表格导出\nexport function tableExport(params) {\n return http({\n url: \"/goods_skus/export\",\n method: \"get\",\n params,\n });\n}\n\n// 商品列表(添加)\nexport function getGoodsList(params) {\n return http({\n url: \"/api/goodsList\",\n method: \"get\",\n params,\n });\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/public/dist/js/chunk-20c83087.a3787c22.js b/public/dist/js/chunk-0f6f9608.540fa080.js similarity index 68% rename from public/dist/js/chunk-20c83087.a3787c22.js rename to public/dist/js/chunk-0f6f9608.540fa080.js index 2098b3f..0ad1655 100644 --- a/public/dist/js/chunk-20c83087.a3787c22.js +++ b/public/dist/js/chunk-0f6f9608.540fa080.js @@ -1,4 +1,4 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-20c83087"],{"0a5a":function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n.d(e,"b",(function(){return o}));var r="admin_token";function a(){return localStorage.getItem("token")}function o(){return localStorage.removeItem(r)}},"323e":function(t,e,n){var r,a; +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0f6f9608"],{"0a5a":function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n.d(e,"b",(function(){return o}));var r="admin_token";function a(){return localStorage.getItem("token")}function o(){return localStorage.removeItem(r)}},"1f6c":function(t,e,n){},"323e":function(t,e,n){var r,a; /* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT */(function(o,i){r=i,a="function"===typeof r?r.call(e,n,e,t):r,void 0===a||(t.exports=a)})(0,(function(){var t={version:"0.2.0"},e=t.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:'
'};function n(t,e,n){return tn?n:t}function r(t){return 100*(-1+t)}function a(t,n,a){var o;return o="translate3d"===e.positionUsing?{transform:"translate3d("+r(t)+"%,0,0)"}:"translate"===e.positionUsing?{transform:"translate("+r(t)+"%,0)"}:{"margin-left":r(t)+"%"},o.transition="all "+n+"ms "+a,o}t.configure=function(t){var n,r;for(n in t)r=t[n],void 0!==r&&t.hasOwnProperty(n)&&(e[n]=r);return this},t.status=null,t.set=function(r){var s=t.isStarted();r=n(r,e.minimum,1),t.status=1===r?null:r;var u=t.render(!s),l=u.querySelector(e.barSelector),c=e.speed,d=e.easing;return u.offsetWidth,o((function(n){""===e.positionUsing&&(e.positionUsing=t.getPositioningCSS()),i(l,a(r,c,d)),1===r?(i(u,{transition:"none",opacity:1}),u.offsetWidth,setTimeout((function(){i(u,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){t.remove(),n()}),c)}),c)):setTimeout(n,c)})),this},t.isStarted=function(){return"number"===typeof t.status},t.start=function(){t.status||t.set(0);var n=function(){setTimeout((function(){t.status&&(t.trickle(),n())}),e.trickleSpeed)};return e.trickle&&n(),this},t.done=function(e){return e||t.status?t.inc(.3+.5*Math.random()).set(1):this},t.inc=function(e){var r=t.status;return r?("number"!==typeof e&&(e=(1-r)*n(Math.random()*r,.1,.95)),r=n(r+e,0,.994),t.set(r)):t.start()},t.trickle=function(){return t.inc(Math.random()*e.trickleRate)},function(){var e=0,n=0;t.promise=function(r){return r&&"resolved"!==r.state()?(0===n&&t.start(),e++,n++,r.always((function(){n--,0===n?(e=0,t.done()):t.set((e-n)/e)})),this):this}}(),t.render=function(n){if(t.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var a=document.createElement("div");a.id="nprogress",a.innerHTML=e.template;var o,s=a.querySelector(e.barSelector),l=n?"-100":r(t.status||0),c=document.querySelector(e.parent);return i(s,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),e.showSpinner||(o=a.querySelector(e.spinnerSelector),o&&d(o)),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(a),a},t.remove=function(){l(document.documentElement,"nprogress-busy"),l(document.querySelector(e.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&d(t)},t.isRendered=function(){return!!document.getElementById("nprogress")},t.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var o=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),i=function(){var t=["Webkit","O","Moz","ms"],e={};function n(t){return t.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()}))}function r(e){var n=document.body.style;if(e in n)return e;var r,a=t.length,o=e.charAt(0).toUpperCase()+e.slice(1);while(a--)if(r=t[a]+o,r in n)return r;return e}function a(t){return t=n(t),e[t]||(e[t]=r(t))}function o(t,e,n){e=a(e),t.style[e]=n}return function(t,e){var n,r,a=arguments;if(2==a.length)for(n in e)r=e[n],void 0!==r&&e.hasOwnProperty(n)&&o(t,n,r);else o(t,a[1],a[2])}}();function s(t,e){var n="string"==typeof t?t:c(t);return n.indexOf(" "+e+" ")>=0}function u(t,e){var n=c(t),r=n+e;s(n,e)||(t.className=r.substring(1))}function l(t,e){var n,r=c(t);s(t,e)&&(n=r.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function c(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function d(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return t}))},"3e63":function(t,e,n){"use strict";n.r(e);var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"conent"},[n("el-button",{attrs:{type:"primary"},on:{click:t.handAdd}},[t._v("新增")]),n("div",{staticClass:"table",staticStyle:{"margin-top":"10px"}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],staticStyle:{width:"100%"},attrs:{data:t.tableData}},[n("el-table-column",{attrs:{prop:"id",label:"ID"}}),n("el-table-column",{attrs:{prop:"name",label:"店铺名称"}}),n("el-table-column",{attrs:{prop:"plat_id",label:"所属平台"}}),n("el-table-column",{attrs:{label:"成本倍率"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-input",{attrs:{placeholder:"成本倍率"},on:{change:function(n){return t.handleCellChange(e.row)}},model:{value:e.row.ratio,callback:function(n){t.$set(e.row,"ratio",n)},expression:"scope.row.ratio"}})]}}])}),n("el-table-column",{attrs:{label:"操作"},scopedSlots:t._u([{key:"default",fn:function(e){return["未授权"===e.row.status?n("el-button",{attrs:{type:"danger"}},[n("a",{attrs:{href:e.row.authUrl,target:"_blank",rel:"noopener noreferrer"}},[t._v("  授   权  ")])]):t._e(),"已授权"===e.row.status?n("div",[n("el-button",{attrs:{type:"success",disabled:!0}},[t._v(t._s(e.row.status))]),n("el-button",{on:{click:function(n){return t.download(e.row)}}},[t._v("下载商品")])],1):t._e(),"重新授权"===e.row.status?n("div",[n("el-button",{attrs:{type:"danger",target:"_blank"}},[n("a",{attrs:{href:e.row.authUrl,rel:"noopener noreferrer"}},[t._v("重新授权")])]),n("el-button",{on:{click:function(n){return t.download(e.row)}}},[t._v("下载商品")])],1):t._e(),"无需授权"===e.row.status?n("div",[n("el-button",{attrs:{type:"success",disabled:!0}},[t._v(t._s(e.row.status))])],1):t._e()]}}])})],1)],1),n("div",{staticClass:"block"},[n("el-pagination",{attrs:{"current-page":t.current_page,"page-sizes":[15,50,100],"page-size":t.per_page,layout:"total, sizes, prev, pager, next, jumper",total:t.Paginationdata.total},on:{"size-change":t.handleSizeChange,"current-change":t.handleCurrentChange}})],1),n("el-dialog",{attrs:{title:"新增店铺",visible:t.dialogFormVisible,"close-on-click-modal":!1,width:"20%"},on:{"update:visible":function(e){t.dialogFormVisible=e}}},[n("el-form",{ref:"form",attrs:{rules:t.rules,model:t.form,"lable-width":"80px"}},[n("el-form-item",{attrs:{label:"店铺名称"}},[n("el-input",{staticStyle:{width:"400px"},attrs:{placeholder:"输入店铺名称"},model:{value:t.form.name,callback:function(e){t.$set(t.form,"name",e)},expression:"form.name"}})],1),n("el-form-item",{attrs:{label:"店铺平台"}},[n("el-select",{staticStyle:{width:"400px"},attrs:{placeholder:"输入店铺平台"},model:{value:t.form.plat_id,callback:function(e){t.$set(t.form,"plat_id",e)},expression:"form.plat_id"}},t._l(t.storeId,(function(t,e){return n("el-option",{key:e,attrs:{label:t,value:e}})})),1)],1),n("el-form-item",{attrs:{label:"成本倍率"}},[n("el-input",{staticStyle:{width:"400px"},attrs:{placeholder:"成本倍率"},model:{value:t.form.ratio,callback:function(e){t.$set(t.form,"ratio",e)},expression:"form.ratio"}})],1)],1),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:function(e){t.dialogFormVisible=!1}}},[t._v("取 消")]),n("el-button",{attrs:{type:"primary"},on:{click:t.addSubmit}},[t._v("确 定")])],1)],1)],1)},a=[],o=(n("b0c0"),n("e692")),i={data:function(){return{dialogFormVisible:!1,form:{name:"",plat_id:"",ratio:1},rules:{name:[{required:!0,message:"请输入店铺名称",trigger:"blur"}],plat_id:[{required:!0,message:"请选择店铺平台",trigger:"blur"}],ratio:[{required:!0,message:"请输入成本倍率",trigger:"blur"}]},storeId:[],loading:!0,tableData:[],Paginationdata:{},current_page:1,per_page:15}},mounted:function(){this.getStoreList()},methods:{handAdd:function(){this.form.name="",this.form.plat_id="",this.dialogFormVisible=!0,this.getshop()},addSubmit:function(){var t=this,e=this.form;Object(o["b"])(e).then((function(e){200==e.status&&t.$message({type:"success",message:"添加成功"}),t.getStoreList()})),this.dialogFormVisible=!1},getStoreList:function(){var t=this,e={page:this.current_page,per_page:this.per_page};Object(o["d"])(e).then((function(e){t.tableData=e.data.data,t.Paginationdata=e.data.meta})),this.loading=!1},handleSizeChange:function(t){this.per_page=t,this.getStoreList()},handleCurrentChange:function(t){this.current_page=t,this.getStoreList()},getshop:function(){var t=this;Object(o["c"])().then((function(e){t.storeId=e.data.data}))},download:function(t){var e=this,n=this.$loading({lock:!0,text:t.name+" 店铺商品下载中...",spinner:"el-icon-loading",background:"rgba(0, 0, 0, 0.7)"});Object(o["a"])(t.id).then((function(t){n.close(),e.$message({type:"success",message:t.data.message})}))},handleCellChange:function(t){var e=this;this.$confirm("确认修改成本倍率吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){Object(o["e"])(t.id,{ratio:t.ratio}).then((function(t){e.$message({type:"info",message:t.data.message})}))}))}}},s=i,u=(n("e4e9"),n("2877")),l=Object(u["a"])(s,r,a,!1,null,"538fe600",null);e["default"]=l.exports},8606:function(t,e,n){},a5d8:function(t,e,n){},adb5:function(t,e,n){"use strict";n("d3b7");var r=n("bc3a"),a=n.n(r),o=n("0a5a"),i=n("323e"),s=n.n(i),u=(n("a5d8"),n("5c96")),l=a.a.create({timeout:3e4});l.interceptors.request.use((function(t){return t.headers.Authorization="Bearer "+Object(o["a"])(),s.a.start(),t}),(function(t){return Promise.reject(t)})),l.interceptors.response.use((function(t){s.a.done();var e=t.status;if(200===e||201===e)return t}),(function(t){return s.a.done(),400===t.response.status&&Object(u["Message"])({message:t.response.data.errorMessage,type:"error"}),500===t.response.status&&Object(u["Message"])({message:t.response.data.message,type:"error"}),Promise.reject(t)})),e["a"]=l},e4e9:function(t,e,n){"use strict";n("8606")},e692:function(t,e,n){"use strict";n.d(e,"c",(function(){return a})),n.d(e,"b",(function(){return o})),n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return s})),n.d(e,"e",(function(){return u}));var r=n("adb5");function a(){return Object(r["a"])({url:"/api/shop_platforms",method:"get"})}function o(t){return Object(r["a"])({url:"/api/shops",method:"post",data:t})}function i(t){return Object(r["a"])({url:"/api/shops",method:"get",params:t})}function s(t){return Object(r["a"])({url:"/api/download/".concat(t,"/goods"),method:"get"})}function u(t,e){return Object(r["a"])({url:"/api/shops/".concat(t),method:"patch",params:e})}}}]); -//# sourceMappingURL=chunk-20c83087.a3787c22.js.map \ No newline at end of file + * @license MIT */(function(o,i){r=i,a="function"===typeof r?r.call(e,n,e,t):r,void 0===a||(t.exports=a)})(0,(function(){var t={version:"0.2.0"},e=t.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:'
'};function n(t,e,n){return tn?n:t}function r(t){return 100*(-1+t)}function a(t,n,a){var o;return o="translate3d"===e.positionUsing?{transform:"translate3d("+r(t)+"%,0,0)"}:"translate"===e.positionUsing?{transform:"translate("+r(t)+"%,0)"}:{"margin-left":r(t)+"%"},o.transition="all "+n+"ms "+a,o}t.configure=function(t){var n,r;for(n in t)r=t[n],void 0!==r&&t.hasOwnProperty(n)&&(e[n]=r);return this},t.status=null,t.set=function(r){var s=t.isStarted();r=n(r,e.minimum,1),t.status=1===r?null:r;var u=t.render(!s),l=u.querySelector(e.barSelector),c=e.speed,d=e.easing;return u.offsetWidth,o((function(n){""===e.positionUsing&&(e.positionUsing=t.getPositioningCSS()),i(l,a(r,c,d)),1===r?(i(u,{transition:"none",opacity:1}),u.offsetWidth,setTimeout((function(){i(u,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){t.remove(),n()}),c)}),c)):setTimeout(n,c)})),this},t.isStarted=function(){return"number"===typeof t.status},t.start=function(){t.status||t.set(0);var n=function(){setTimeout((function(){t.status&&(t.trickle(),n())}),e.trickleSpeed)};return e.trickle&&n(),this},t.done=function(e){return e||t.status?t.inc(.3+.5*Math.random()).set(1):this},t.inc=function(e){var r=t.status;return r?("number"!==typeof e&&(e=(1-r)*n(Math.random()*r,.1,.95)),r=n(r+e,0,.994),t.set(r)):t.start()},t.trickle=function(){return t.inc(Math.random()*e.trickleRate)},function(){var e=0,n=0;t.promise=function(r){return r&&"resolved"!==r.state()?(0===n&&t.start(),e++,n++,r.always((function(){n--,0===n?(e=0,t.done()):t.set((e-n)/e)})),this):this}}(),t.render=function(n){if(t.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var a=document.createElement("div");a.id="nprogress",a.innerHTML=e.template;var o,s=a.querySelector(e.barSelector),l=n?"-100":r(t.status||0),c=document.querySelector(e.parent);return i(s,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),e.showSpinner||(o=a.querySelector(e.spinnerSelector),o&&d(o)),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(a),a},t.remove=function(){l(document.documentElement,"nprogress-busy"),l(document.querySelector(e.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&d(t)},t.isRendered=function(){return!!document.getElementById("nprogress")},t.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var o=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),i=function(){var t=["Webkit","O","Moz","ms"],e={};function n(t){return t.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()}))}function r(e){var n=document.body.style;if(e in n)return e;var r,a=t.length,o=e.charAt(0).toUpperCase()+e.slice(1);while(a--)if(r=t[a]+o,r in n)return r;return e}function a(t){return t=n(t),e[t]||(e[t]=r(t))}function o(t,e,n){e=a(e),t.style[e]=n}return function(t,e){var n,r,a=arguments;if(2==a.length)for(n in e)r=e[n],void 0!==r&&e.hasOwnProperty(n)&&o(t,n,r);else o(t,a[1],a[2])}}();function s(t,e){var n="string"==typeof t?t:c(t);return n.indexOf(" "+e+" ")>=0}function u(t,e){var n=c(t),r=n+e;s(n,e)||(t.className=r.substring(1))}function l(t,e){var n,r=c(t);s(t,e)&&(n=r.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function c(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function d(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return t}))},"3e63":function(t,e,n){"use strict";n.r(e);var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"conent"},[n("el-button",{attrs:{type:"primary"},on:{click:t.handAdd}},[t._v("新增")]),n("div",{staticClass:"table",staticStyle:{"margin-top":"10px"}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],staticStyle:{width:"100%"},attrs:{data:t.tableData}},[n("el-table-column",{attrs:{prop:"id",label:"ID"}}),n("el-table-column",{attrs:{prop:"name",label:"店铺名称"}}),n("el-table-column",{attrs:{prop:"plat_id",label:"所属平台"}}),n("el-table-column",{attrs:{label:"成本变动"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-input",{attrs:{placeholder:"成本变动"},on:{change:function(n){return t.handleCellChange(e.row)}},model:{value:e.row.ratio,callback:function(n){t.$set(e.row,"ratio",n)},expression:"scope.row.ratio"}})]}}])}),n("el-table-column",{attrs:{label:"操作"},scopedSlots:t._u([{key:"default",fn:function(e){return["未授权"===e.row.status?n("el-button",{attrs:{type:"danger"}},[n("a",{attrs:{href:e.row.authUrl,target:"_blank",rel:"noopener noreferrer"}},[t._v("  授   权  ")])]):t._e(),"已授权"===e.row.status?n("div",[n("el-button",{attrs:{type:"success",disabled:!0}},[t._v(t._s(e.row.status))]),n("el-button",{on:{click:function(n){return t.download(e.row)}}},[t._v("下载商品")])],1):t._e(),"重新授权"===e.row.status?n("div",[n("el-button",{attrs:{type:"danger",target:"_blank"}},[n("a",{attrs:{href:e.row.authUrl,rel:"noopener noreferrer"}},[t._v("重新授权")])]),n("el-button",{on:{click:function(n){return t.download(e.row)}}},[t._v("下载商品")])],1):t._e(),"无需授权"===e.row.status?n("div",[n("el-button",{attrs:{type:"success",disabled:!0}},[t._v(t._s(e.row.status))])],1):t._e()]}}])})],1)],1),n("div",{staticClass:"block"},[n("el-pagination",{attrs:{"current-page":t.current_page,"page-sizes":[15,50,100],"page-size":t.per_page,layout:"total, sizes, prev, pager, next, jumper",total:t.Paginationdata.total},on:{"size-change":t.handleSizeChange,"current-change":t.handleCurrentChange}})],1),n("el-dialog",{attrs:{title:"新增店铺",visible:t.dialogFormVisible,"close-on-click-modal":!1,width:"20%"},on:{"update:visible":function(e){t.dialogFormVisible=e}}},[n("el-form",{ref:"form",attrs:{rules:t.rules,model:t.form,"lable-width":"80px"}},[n("el-form-item",{attrs:{label:"店铺名称"}},[n("el-input",{staticStyle:{width:"400px"},attrs:{placeholder:"输入店铺名称"},model:{value:t.form.name,callback:function(e){t.$set(t.form,"name",e)},expression:"form.name"}})],1),n("el-form-item",{attrs:{label:"店铺平台"}},[n("el-select",{staticStyle:{width:"400px"},attrs:{placeholder:"输入店铺平台"},model:{value:t.form.plat_id,callback:function(e){t.$set(t.form,"plat_id",e)},expression:"form.plat_id"}},t._l(t.storeId,(function(t,e){return n("el-option",{key:e,attrs:{label:t,value:e}})})),1)],1),n("el-form-item",{attrs:{label:"成本变动"}},[n("el-input",{staticStyle:{width:"400px"},attrs:{placeholder:"成本变动"},model:{value:t.form.ratio,callback:function(e){t.$set(t.form,"ratio",e)},expression:"form.ratio"}})],1)],1),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:function(e){t.dialogFormVisible=!1}}},[t._v("取 消")]),n("el-button",{attrs:{type:"primary"},on:{click:t.addSubmit}},[t._v("确 定")])],1)],1)],1)},a=[],o=(n("b0c0"),n("e692")),i={data:function(){return{dialogFormVisible:!1,form:{name:"",plat_id:"",ratio:"*1"},rules:{name:[{required:!0,message:"请输入店铺名称",trigger:"blur"}],plat_id:[{required:!0,message:"请选择店铺平台",trigger:"blur"}],ratio:[{required:!0,message:"请输入成本变动",trigger:"blur"}]},storeId:[],loading:!0,tableData:[],Paginationdata:{},current_page:1,per_page:15}},mounted:function(){this.getStoreList()},methods:{handAdd:function(){this.form.name="",this.form.plat_id="",this.dialogFormVisible=!0,this.getshop()},addSubmit:function(){var t=this,e=this.form;Object(o["b"])(e).then((function(e){200==e.status&&t.$message({type:"success",message:"添加成功"}),t.getStoreList()})),this.dialogFormVisible=!1},getStoreList:function(){var t=this,e={page:this.current_page,per_page:this.per_page};Object(o["d"])(e).then((function(e){t.tableData=e.data.data,t.Paginationdata=e.data.meta})),this.loading=!1},handleSizeChange:function(t){this.per_page=t,this.getStoreList()},handleCurrentChange:function(t){this.current_page=t,this.getStoreList()},getshop:function(){var t=this;Object(o["c"])().then((function(e){t.storeId=e.data.data}))},download:function(t){var e=this,n=this.$loading({lock:!0,text:t.name+" 店铺商品下载中...",spinner:"el-icon-loading",background:"rgba(0, 0, 0, 0.7)"});Object(o["a"])(t.id).then((function(t){n.close(),e.$message({type:"success",message:t.data.message})}))},handleCellChange:function(t){var e=this;this.$confirm("确认修改成本变动吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){Object(o["e"])(t.id,{ratio:t.ratio}).then((function(t){e.$message({type:"info",message:t.data.message})}))}))}}},s=i,u=(n("ca97"),n("2877")),l=Object(u["a"])(s,r,a,!1,null,"1cc99200",null);e["default"]=l.exports},a5d8:function(t,e,n){},adb5:function(t,e,n){"use strict";n("d3b7");var r=n("bc3a"),a=n.n(r),o=n("0a5a"),i=n("323e"),s=n.n(i),u=(n("a5d8"),n("5c96")),l=a.a.create({timeout:3e4});l.interceptors.request.use((function(t){return t.headers.Authorization="Bearer "+Object(o["a"])(),s.a.start(),t}),(function(t){return Promise.reject(t)})),l.interceptors.response.use((function(t){s.a.done();var e=t.status;if(200===e||201===e)return t}),(function(t){return s.a.done(),400===t.response.status&&Object(u["Message"])({message:t.response.data.errorMessage,type:"error"}),500===t.response.status&&Object(u["Message"])({message:t.response.data.message,type:"error"}),Promise.reject(t)})),e["a"]=l},ca97:function(t,e,n){"use strict";n("1f6c")},e692:function(t,e,n){"use strict";n.d(e,"c",(function(){return a})),n.d(e,"b",(function(){return o})),n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return s})),n.d(e,"e",(function(){return u}));var r=n("adb5");function a(){return Object(r["a"])({url:"/api/shop_platforms",method:"get"})}function o(t){return Object(r["a"])({url:"/api/shops",method:"post",data:t})}function i(t){return Object(r["a"])({url:"/api/shops",method:"get",params:t})}function s(t){return Object(r["a"])({url:"/api/download/".concat(t,"/goods"),method:"get"})}function u(t,e){return Object(r["a"])({url:"/api/shops/".concat(t),method:"patch",params:e})}}}]); +//# sourceMappingURL=chunk-0f6f9608.540fa080.js.map \ No newline at end of file diff --git a/public/dist/js/chunk-20c83087.a3787c22.js.map b/public/dist/js/chunk-0f6f9608.540fa080.js.map similarity index 78% rename from public/dist/js/chunk-20c83087.a3787c22.js.map rename to public/dist/js/chunk-0f6f9608.540fa080.js.map index 00cc6d8..0fa0f21 100644 --- a/public/dist/js/chunk-20c83087.a3787c22.js.map +++ b/public/dist/js/chunk-0f6f9608.540fa080.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/util/auth.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./src/views/store/store.vue?d151","webpack:///src/views/store/store.vue","webpack:///./src/views/store/store.vue?367e","webpack:///./src/views/store/store.vue","webpack:///./src/util/http.js","webpack:///./src/views/store/store.vue?f032","webpack:///./src/api/shop.js"],"names":["TokenKey","getToken","localStorage","getItem","removeToken","removeItem","root","factory","this","NProgress","Settings","settings","minimum","easing","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","parent","template","clamp","n","min","max","toBarPerc","barPositionCSS","ease","barCSS","transform","transition","configure","options","key","value","undefined","hasOwnProperty","status","set","started","isStarted","progress","render","bar","querySelector","offsetWidth","queue","next","getPositioningCSS","css","opacity","setTimeout","remove","start","work","done","force","inc","Math","random","amount","initial","current","promise","$promise","state","always","fromStart","isRendered","document","getElementById","addClass","documentElement","createElement","id","innerHTML","spinner","perc","removeElement","body","appendChild","removeClass","bodyStyle","style","vendorPrefix","pending","fn","shift","push","length","cssPrefixes","cssProps","camelCase","string","replace","match","letter","toUpperCase","getVendorProp","name","vendorName","i","capName","charAt","slice","getStyleProp","applyCss","element","prop","properties","args","arguments","hasClass","list","classList","indexOf","oldList","newList","className","substring","parentNode","removeChild","_vm","_h","$createElement","_c","_self","staticClass","attrs","on","handAdd","_v","staticStyle","directives","rawName","expression","tableData","scopedSlots","_u","scope","$event","handleCellChange","row","model","callback","$$v","$set","authUrl","_e","_s","download","current_page","per_page","Paginationdata","total","handleSizeChange","handleCurrentChange","dialogFormVisible","ref","rules","form","_l","item","index","slot","addSubmit","staticRenderFns","component","instance","axios","create","timeout","interceptors","request","use","config","headers","Authorization","error","Promise","reject","response","res","Message","message","data","errorMessage","type","shopListId","http","url","method","shopAdd","storeList","params","downloadGoods","updateStore"],"mappings":"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","file":"js/chunk-20c83087.a3787c22.js","sourcesContent":["const TokenKey = \"admin_token\";\n// 获取token\nexport function getToken() {\n return localStorage.getItem(\"token\");\n}\n// 设置token\nexport function setToken(token) {\n return localStorage.setItem(TokenKey, token);\n}\n// 删除token\nexport function removeToken() {\n return localStorage.removeItem(TokenKey);\n}\n","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"conent\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handAdd}},[_vm._v(\"新增\")]),_c('div',{staticClass:\"table\",staticStyle:{\"margin-top\":\"10px\"}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableData}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"店铺名称\"}}),_c('el-table-column',{attrs:{\"prop\":\"plat_id\",\"label\":\"所属平台\"}}),_c('el-table-column',{attrs:{\"label\":\"成本倍率\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"成本倍率\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.ratio),callback:function ($$v) {_vm.$set(scope.row, \"ratio\", $$v)},expression:\"scope.row.ratio\"}})]}}])}),_c('el-table-column',{attrs:{\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.status === '未授权')?_c('el-button',{attrs:{\"type\":\"danger\"}},[_c('a',{attrs:{\"href\":scope.row.authUrl,\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"  授   权  \")])]):_vm._e(),(scope.row.status === '已授权')?_c('div',[_c('el-button',{attrs:{\"type\":\"success\",\"disabled\":true}},[_vm._v(_vm._s(scope.row.status))]),_c('el-button',{on:{\"click\":function($event){return _vm.download(scope.row)}}},[_vm._v(\"下载商品\")])],1):_vm._e(),(scope.row.status === '重新授权')?_c('div',[_c('el-button',{attrs:{\"type\":\"danger\",\"target\":\"_blank\"}},[_c('a',{attrs:{\"href\":scope.row.authUrl,\"rel\":\"noopener noreferrer\"}},[_vm._v(\"重新授权\")])]),_c('el-button',{on:{\"click\":function($event){return _vm.download(scope.row)}}},[_vm._v(\"下载商品\")])],1):_vm._e(),(scope.row.status === '无需授权')?_c('div',[_c('el-button',{attrs:{\"type\":\"success\",\"disabled\":true}},[_vm._v(_vm._s(scope.row.status))])],1):_vm._e()]}}])})],1)],1),_c('div',{staticClass:\"block\"},[_c('el-pagination',{attrs:{\"current-page\":_vm.current_page,\"page-sizes\":[15, 50, 100],\"page-size\":_vm.per_page,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.Paginationdata.total},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_c('el-dialog',{attrs:{\"title\":\"新增店铺\",\"visible\":_vm.dialogFormVisible,\"close-on-click-modal\":false,\"width\":\"20%\"},on:{\"update:visible\":function($event){_vm.dialogFormVisible=$event}}},[_c('el-form',{ref:\"form\",attrs:{\"rules\":_vm.rules,\"model\":_vm.form,\"lable-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"店铺名称\"}},[_c('el-input',{staticStyle:{\"width\":\"400px\"},attrs:{\"placeholder\":\"输入店铺名称\"},model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, \"name\", $$v)},expression:\"form.name\"}})],1),_c('el-form-item',{attrs:{\"label\":\"店铺平台\"}},[_c('el-select',{staticStyle:{\"width\":\"400px\"},attrs:{\"placeholder\":\"输入店铺平台\"},model:{value:(_vm.form.plat_id),callback:function ($$v) {_vm.$set(_vm.form, \"plat_id\", $$v)},expression:\"form.plat_id\"}},_vm._l((_vm.storeId),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item,\"value\":index}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"成本倍率\"}},[_c('el-input',{staticStyle:{\"width\":\"400px\"},attrs:{\"placeholder\":\"成本倍率\"},model:{value:(_vm.form.ratio),callback:function ($$v) {_vm.$set(_vm.form, \"ratio\", $$v)},expression:\"form.ratio\"}})],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogFormVisible = false}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.addSubmit}},[_vm._v(\"确 定\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./store.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./store.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./store.vue?vue&type=template&id=538fe600&scoped=true&\"\nimport script from \"./store.vue?vue&type=script&lang=js&\"\nexport * from \"./store.vue?vue&type=script&lang=js&\"\nimport style0 from \"./store.vue?vue&type=style&index=0&id=538fe600&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"538fe600\",\n null\n \n)\n\nexport default component.exports","import axios from \"axios\";\nimport { getToken } from \"@/util/auth\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport { Message } from \"element-ui\";\nvar instance = axios.create({\n timeout: 30000,\n});\n\ninstance.interceptors.request.use(\n (config) => {\n // config.headers['content-type'] = 'application/json'\n\n // config.headers['Shop-Id'] = localStorage.getItem('shopId') || 1\n\n // 在发送请求之前做些什么\n // config.headers['content-type'] = 'application/json'\n config.headers.Authorization = \"Bearer \" + getToken(); // 请求头\n NProgress.start();\n return config;\n },\n (error) => {\n // 对请求错误做些什么\n return Promise.reject(error);\n }\n);\n\n// 添加响应拦截器\ninstance.interceptors.response.use(\n (response) => {\n NProgress.done();\n const res = response.status;\n // 对响应数据做点什么\n if (res === 200 || res === 201) {\n return response;\n }\n },\n (error) => {\n NProgress.done();\n // 对响应错误做点什么\n if (error.response.status === 400) {\n Message({\n message: error.response.data.errorMessage,\n type: \"error\",\n });\n }\n\n if (error.response.status === 500) {\n Message({\n message: error.response.data.message,\n type: \"error\",\n });\n }\n return Promise.reject(error);\n }\n);\n\nexport default instance;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./store.vue?vue&type=style&index=0&id=538fe600&lang=scss&scoped=true&\"","import http from \"@/util/http.js\";\n\n// 店铺管理页面请求\n\n// 店铺平台\nexport function shopListId() {\n return http({\n url: \"/api/shop_platforms\",\n method: \"get\",\n });\n}\n// 店铺新增\nexport function shopAdd(data) {\n return http({\n url: \"/api/shops\",\n method: \"post\",\n data,\n });\n}\n// 店铺列表\nexport function storeList(params) {\n return http({\n url: \"/api/shops\",\n method: \"get\",\n params,\n });\n}\n\n// 下载商品\nexport function downloadGoods(id) {\n return http({\n url: `/api/download/${id}/goods`,\n method: \"get\",\n });\n}\n\nexport function updateStore(id, params) {\n return http({\n url: `/api/shops/${id}`,\n method: \"patch\",\n params,\n });\n}\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/util/auth.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./src/views/store/store.vue?1f92","webpack:///src/views/store/store.vue","webpack:///./src/views/store/store.vue?367e","webpack:///./src/views/store/store.vue","webpack:///./src/util/http.js","webpack:///./src/views/store/store.vue?4862","webpack:///./src/api/shop.js"],"names":["TokenKey","getToken","localStorage","getItem","removeToken","removeItem","root","factory","this","NProgress","Settings","settings","minimum","easing","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","parent","template","clamp","n","min","max","toBarPerc","barPositionCSS","ease","barCSS","transform","transition","configure","options","key","value","undefined","hasOwnProperty","status","set","started","isStarted","progress","render","bar","querySelector","offsetWidth","queue","next","getPositioningCSS","css","opacity","setTimeout","remove","start","work","done","force","inc","Math","random","amount","initial","current","promise","$promise","state","always","fromStart","isRendered","document","getElementById","addClass","documentElement","createElement","id","innerHTML","spinner","perc","removeElement","body","appendChild","removeClass","bodyStyle","style","vendorPrefix","pending","fn","shift","push","length","cssPrefixes","cssProps","camelCase","string","replace","match","letter","toUpperCase","getVendorProp","name","vendorName","i","capName","charAt","slice","getStyleProp","applyCss","element","prop","properties","args","arguments","hasClass","list","classList","indexOf","oldList","newList","className","substring","parentNode","removeChild","_vm","_h","$createElement","_c","_self","staticClass","attrs","on","handAdd","_v","staticStyle","directives","rawName","expression","tableData","scopedSlots","_u","scope","$event","handleCellChange","row","model","callback","$$v","$set","authUrl","_e","_s","download","current_page","per_page","Paginationdata","total","handleSizeChange","handleCurrentChange","dialogFormVisible","ref","rules","form","_l","item","index","slot","addSubmit","staticRenderFns","component","instance","axios","create","timeout","interceptors","request","use","config","headers","Authorization","error","Promise","reject","response","res","Message","message","data","errorMessage","type","shopListId","http","url","method","shopAdd","storeList","params","downloadGoods","updateStore"],"mappings":"kHAAA,wEAAMA,EAAW,cAEV,SAASC,IACd,OAAOC,aAAaC,QAAQ,SAOvB,SAASC,IACd,OAAOF,aAAaG,WAAWL,K,gDCXjC;;mBAGC,SAAUM,EAAMC,GAGb,IAAc,qEAHjB,CAUEC,GAAM,WACP,IAAIC,EAAY,CAEhB,QAAoB,SAEhBC,EAAWD,EAAUE,SAAW,CAClCC,QAAS,IACTC,OAAQ,OACRC,cAAe,GACfC,MAAO,IACPC,SAAS,EACTC,YAAa,IACbC,aAAc,IACdC,aAAa,EACbC,YAAa,eACbC,gBAAiB,mBACjBC,OAAQ,OACRC,SAAU,uIA6QZ,SAASC,EAAMC,EAAGC,EAAKC,GACrB,OAAIF,EAAIC,EAAYA,EAChBD,EAAIE,EAAYA,EACbF,EAQT,SAASG,EAAUH,GACjB,OAAkB,MAAT,EAAIA,GASf,SAASI,EAAeJ,EAAGV,EAAOe,GAChC,IAAIC,EAYJ,OATEA,EAD6B,gBAA3BrB,EAASI,cACF,CAAEkB,UAAW,eAAeJ,EAAUH,GAAG,UACd,cAA3Bf,EAASI,cACT,CAAEkB,UAAW,aAAaJ,EAAUH,GAAG,QAEvC,CAAE,cAAeG,EAAUH,GAAG,KAGzCM,EAAOE,WAAa,OAAOlB,EAAM,MAAMe,EAEhCC,EArSTtB,EAAUyB,UAAY,SAASC,GAC7B,IAAIC,EAAKC,EACT,IAAKD,KAAOD,EACVE,EAAQF,EAAQC,QACFE,IAAVD,GAAuBF,EAAQI,eAAeH,KAAM1B,EAAS0B,GAAOC,GAG1E,OAAO7B,MAOTC,EAAU+B,OAAS,KASnB/B,EAAUgC,IAAM,SAAShB,GACvB,IAAIiB,EAAUjC,EAAUkC,YAExBlB,EAAID,EAAMC,EAAGf,EAASE,QAAS,GAC/BH,EAAU+B,OAAgB,IAANf,EAAU,KAAOA,EAErC,IAAImB,EAAWnC,EAAUoC,QAAQH,GAC7BI,EAAWF,EAASG,cAAcrC,EAASU,aAC3CL,EAAWL,EAASK,MACpBe,EAAWpB,EAASG,OAkCxB,OAhCA+B,EAASI,YAETC,GAAM,SAASC,GAEkB,KAA3BxC,EAASI,gBAAsBJ,EAASI,cAAgBL,EAAU0C,qBAGtEC,EAAIN,EAAKjB,EAAeJ,EAAGV,EAAOe,IAExB,IAANL,GAEF2B,EAAIR,EAAU,CACZX,WAAY,OACZoB,QAAS,IAEXT,EAASI,YAETM,YAAW,WACTF,EAAIR,EAAU,CACZX,WAAY,OAASlB,EAAQ,YAC7BsC,QAAS,IAEXC,YAAW,WACT7C,EAAU8C,SACVL,MACCnC,KACFA,IAEHuC,WAAWJ,EAAMnC,MAIdP,MAGTC,EAAUkC,UAAY,WACpB,MAAmC,kBAArBlC,EAAU+B,QAU1B/B,EAAU+C,MAAQ,WACX/C,EAAU+B,QAAQ/B,EAAUgC,IAAI,GAErC,IAAIgB,EAAO,WACTH,YAAW,WACJ7C,EAAU+B,SACf/B,EAAUO,UACVyC,OACC/C,EAASQ,eAKd,OAFIR,EAASM,SAASyC,IAEfjD,MAeTC,EAAUiD,KAAO,SAASC,GACxB,OAAKA,GAAUlD,EAAU+B,OAElB/B,EAAUmD,IAAI,GAAM,GAAMC,KAAKC,UAAUrB,IAAI,GAFZjC,MAS1CC,EAAUmD,IAAM,SAASG,GACvB,IAAItC,EAAIhB,EAAU+B,OAElB,OAAKf,GAGmB,kBAAXsC,IACTA,GAAU,EAAItC,GAAKD,EAAMqC,KAAKC,SAAWrC,EAAG,GAAK,MAGnDA,EAAID,EAAMC,EAAIsC,EAAQ,EAAG,MAClBtD,EAAUgC,IAAIhB,IAPdhB,EAAU+C,SAWrB/C,EAAUO,QAAU,WAClB,OAAOP,EAAUmD,IAAIC,KAAKC,SAAWpD,EAASO,cAShD,WACE,IAAI+C,EAAU,EAAGC,EAAU,EAE3BxD,EAAUyD,QAAU,SAASC,GAC3B,OAAKA,GAAiC,aAArBA,EAASC,SAIV,IAAZH,GACFxD,EAAU+C,QAGZQ,IACAC,IAEAE,EAASE,QAAO,WACdJ,IACgB,IAAZA,GACAD,EAAU,EACVvD,EAAUiD,QAEVjD,EAAUgC,KAAKuB,EAAUC,GAAWD,MAInCxD,MApBEA,MALb,GAmCAC,EAAUoC,OAAS,SAASyB,GAC1B,GAAI7D,EAAU8D,aAAc,OAAOC,SAASC,eAAe,aAE3DC,EAASF,SAASG,gBAAiB,kBAEnC,IAAI/B,EAAW4B,SAASI,cAAc,OACtChC,EAASiC,GAAK,YACdjC,EAASkC,UAAYpE,EAASa,SAE9B,IAGIwD,EAHAjC,EAAWF,EAASG,cAAcrC,EAASU,aAC3C4D,EAAWV,EAAY,OAAS1C,EAAUnB,EAAU+B,QAAU,GAC9DlB,EAAWkD,SAASzB,cAAcrC,EAASY,QAkB/C,OAfA8B,EAAIN,EAAK,CACPb,WAAY,eACZD,UAAW,eAAiBgD,EAAO,WAGhCtE,EAASS,cACZ4D,EAAUnC,EAASG,cAAcrC,EAASW,iBAC1C0D,GAAWE,EAAcF,IAGvBzD,GAAUkD,SAASU,MACrBR,EAASpD,EAAQ,2BAGnBA,EAAO6D,YAAYvC,GACZA,GAOTnC,EAAU8C,OAAS,WACjB6B,EAAYZ,SAASG,gBAAiB,kBACtCS,EAAYZ,SAASzB,cAAcrC,EAASY,QAAS,2BACrD,IAAIsB,EAAW4B,SAASC,eAAe,aACvC7B,GAAYqC,EAAcrC,IAO5BnC,EAAU8D,WAAa,WACrB,QAASC,SAASC,eAAe,cAOnChE,EAAU0C,kBAAoB,WAE5B,IAAIkC,EAAYb,SAASU,KAAKI,MAG1BC,EAAgB,oBAAqBF,EAAa,SAClC,iBAAkBA,EAAa,MAC/B,gBAAiBA,EAAa,KAC9B,eAAgBA,EAAa,IAAM,GAEvD,OAAIE,EAAe,gBAAiBF,EAE3B,cACEE,EAAe,cAAeF,EAEhC,YAGA,UAiDX,IAAIpC,EAAQ,WACV,IAAIuC,EAAU,GAEd,SAAStC,IACP,IAAIuC,EAAKD,EAAQE,QACbD,GACFA,EAAGvC,GAIP,OAAO,SAASuC,GACdD,EAAQG,KAAKF,GACS,GAAlBD,EAAQI,QAAa1C,KAZjB,GAwBRE,EAAM,WACR,IAAIyC,EAAc,CAAE,SAAU,IAAK,MAAO,MACtCC,EAAc,GAElB,SAASC,EAAUC,GACjB,OAAOA,EAAOC,QAAQ,QAAS,OAAOA,QAAQ,gBAAgB,SAASC,EAAOC,GAC5E,OAAOA,EAAOC,iBAIlB,SAASC,EAAcC,GACrB,IAAIhB,EAAQd,SAASU,KAAKI,MAC1B,GAAIgB,KAAQhB,EAAO,OAAOgB,EAE1B,IAEIC,EAFAC,EAAIX,EAAYD,OAChBa,EAAUH,EAAKI,OAAO,GAAGN,cAAgBE,EAAKK,MAAM,GAExD,MAAOH,IAEL,GADAD,EAAaV,EAAYW,GAAKC,EAC1BF,KAAcjB,EAAO,OAAOiB,EAGlC,OAAOD,EAGT,SAASM,EAAaN,GAEpB,OADAA,EAAOP,EAAUO,GACVR,EAASQ,KAAUR,EAASQ,GAAQD,EAAcC,IAG3D,SAASO,EAASC,EAASC,EAAM1E,GAC/B0E,EAAOH,EAAaG,GACpBD,EAAQxB,MAAMyB,GAAQ1E,EAGxB,OAAO,SAASyE,EAASE,GACvB,IACID,EACA1E,EAFA4E,EAAOC,UAIX,GAAmB,GAAfD,EAAKrB,OACP,IAAKmB,KAAQC,EACX3E,EAAQ2E,EAAWD,QACLzE,IAAVD,GAAuB2E,EAAWzE,eAAewE,IAAOF,EAASC,EAASC,EAAM1E,QAGtFwE,EAASC,EAASG,EAAK,GAAIA,EAAK,KA9C5B,GAuDV,SAASE,EAASL,EAASR,GACzB,IAAIc,EAAyB,iBAAXN,EAAsBA,EAAUO,EAAUP,GAC5D,OAAOM,EAAKE,QAAQ,IAAMhB,EAAO,MAAQ,EAO3C,SAAS5B,EAASoC,EAASR,GACzB,IAAIiB,EAAUF,EAAUP,GACpBU,EAAUD,EAAUjB,EAEpBa,EAASI,EAASjB,KAGtBQ,EAAQW,UAAYD,EAAQE,UAAU,IAOxC,SAAStC,EAAY0B,EAASR,GAC5B,IACIkB,EADAD,EAAUF,EAAUP,GAGnBK,EAASL,EAASR,KAGvBkB,EAAUD,EAAQtB,QAAQ,IAAMK,EAAO,IAAK,KAG5CQ,EAAQW,UAAYD,EAAQE,UAAU,EAAGF,EAAQ5B,OAAS,IAS5D,SAASyB,EAAUP,GACjB,OAAQ,KAAOA,EAAQW,WAAa,IAAM,KAAKxB,QAAQ,QAAS,KAOlE,SAAShB,EAAc6B,GACrBA,GAAWA,EAAQa,YAAcb,EAAQa,WAAWC,YAAYd,GAGlE,OAAOrG,M,2CCzdT,IAAIoC,EAAS,WAAa,IAAIgF,EAAIrH,KAASsH,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,WAAWC,GAAG,CAAC,MAAQP,EAAIQ,UAAU,CAACR,EAAIS,GAAG,QAAQN,EAAG,MAAM,CAACE,YAAY,QAAQK,YAAY,CAAC,aAAa,SAAS,CAACP,EAAG,WAAW,CAACQ,WAAW,CAAC,CAAClC,KAAK,UAAUmC,QAAQ,YAAYpG,MAAOwF,EAAW,QAAEa,WAAW,YAAYH,YAAY,CAAC,MAAQ,QAAQJ,MAAM,CAAC,KAAON,EAAIc,YAAY,CAACX,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,KAAK,MAAQ,QAAQH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,OAAO,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,UAAU,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,QAAQS,YAAYf,EAAIgB,GAAG,CAAC,CAACzG,IAAI,UAAUqD,GAAG,SAASqD,GAAO,MAAO,CAACd,EAAG,WAAW,CAACG,MAAM,CAAC,YAAc,QAAQC,GAAG,CAAC,OAAS,SAASW,GAAQ,OAAOlB,EAAImB,iBAAiBF,EAAMG,OAAOC,MAAM,CAAC7G,MAAOyG,EAAMG,IAAS,MAAEE,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKP,EAAMG,IAAK,QAASG,IAAMV,WAAW,4BAA4BV,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,MAAMS,YAAYf,EAAIgB,GAAG,CAAC,CAACzG,IAAI,UAAUqD,GAAG,SAASqD,GAAO,MAAO,CAAuB,QAArBA,EAAMG,IAAIzG,OAAkBwF,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,WAAW,CAACH,EAAG,IAAI,CAACG,MAAM,CAAC,KAAOW,EAAMG,IAAIK,QAAQ,OAAS,SAAS,IAAM,wBAAwB,CAACzB,EAAIS,GAAG,iBAAiBT,EAAI0B,KAA2B,QAArBT,EAAMG,IAAIzG,OAAkBwF,EAAG,MAAM,CAACA,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,UAAU,UAAW,IAAO,CAACN,EAAIS,GAAGT,EAAI2B,GAAGV,EAAMG,IAAIzG,WAAWwF,EAAG,YAAY,CAACI,GAAG,CAAC,MAAQ,SAASW,GAAQ,OAAOlB,EAAI4B,SAASX,EAAMG,QAAQ,CAACpB,EAAIS,GAAG,WAAW,GAAGT,EAAI0B,KAA2B,SAArBT,EAAMG,IAAIzG,OAAmBwF,EAAG,MAAM,CAACA,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,SAAS,OAAS,WAAW,CAACH,EAAG,IAAI,CAACG,MAAM,CAAC,KAAOW,EAAMG,IAAIK,QAAQ,IAAM,wBAAwB,CAACzB,EAAIS,GAAG,YAAYN,EAAG,YAAY,CAACI,GAAG,CAAC,MAAQ,SAASW,GAAQ,OAAOlB,EAAI4B,SAASX,EAAMG,QAAQ,CAACpB,EAAIS,GAAG,WAAW,GAAGT,EAAI0B,KAA2B,SAArBT,EAAMG,IAAIzG,OAAmBwF,EAAG,MAAM,CAACA,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,UAAU,UAAW,IAAO,CAACN,EAAIS,GAAGT,EAAI2B,GAAGV,EAAMG,IAAIzG,YAAY,GAAGqF,EAAI0B,aAAa,IAAI,GAAGvB,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,gBAAgB,CAACG,MAAM,CAAC,eAAeN,EAAI6B,aAAa,aAAa,CAAC,GAAI,GAAI,KAAK,YAAY7B,EAAI8B,SAAS,OAAS,0CAA0C,MAAQ9B,EAAI+B,eAAeC,OAAOzB,GAAG,CAAC,cAAcP,EAAIiC,iBAAiB,iBAAiBjC,EAAIkC,wBAAwB,GAAG/B,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,OAAO,QAAUN,EAAImC,kBAAkB,wBAAuB,EAAM,MAAQ,OAAO5B,GAAG,CAAC,iBAAiB,SAASW,GAAQlB,EAAImC,kBAAkBjB,KAAU,CAACf,EAAG,UAAU,CAACiC,IAAI,OAAO9B,MAAM,CAAC,MAAQN,EAAIqC,MAAM,MAAQrC,EAAIsC,KAAK,cAAc,SAAS,CAACnC,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,WAAW,CAACO,YAAY,CAAC,MAAQ,SAASJ,MAAM,CAAC,YAAc,UAAUe,MAAM,CAAC7G,MAAOwF,EAAIsC,KAAS,KAAEhB,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIsC,KAAM,OAAQf,IAAMV,WAAW,gBAAgB,GAAGV,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,YAAY,CAACO,YAAY,CAAC,MAAQ,SAASJ,MAAM,CAAC,YAAc,UAAUe,MAAM,CAAC7G,MAAOwF,EAAIsC,KAAY,QAAEhB,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIsC,KAAM,UAAWf,IAAMV,WAAW,iBAAiBb,EAAIuC,GAAIvC,EAAW,SAAE,SAASwC,EAAKC,GAAO,OAAOtC,EAAG,YAAY,CAAC5F,IAAIkI,EAAMnC,MAAM,CAAC,MAAQkC,EAAK,MAAQC,QAAW,IAAI,GAAGtC,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,WAAW,CAACO,YAAY,CAAC,MAAQ,SAASJ,MAAM,CAAC,YAAc,QAAQe,MAAM,CAAC7G,MAAOwF,EAAIsC,KAAU,MAAEhB,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIsC,KAAM,QAASf,IAAMV,WAAW,iBAAiB,IAAI,GAAGV,EAAG,MAAM,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUoC,KAAK,UAAU,CAACvC,EAAG,YAAY,CAACI,GAAG,CAAC,MAAQ,SAASW,GAAQlB,EAAImC,mBAAoB,KAAS,CAACnC,EAAIS,GAAG,SAASN,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,WAAWC,GAAG,CAAC,MAAQP,EAAI2C,YAAY,CAAC3C,EAAIS,GAAG,UAAU,IAAI,IAAI,IAC9lHmC,EAAkB,G,wBC+EtB,GACE,KADF,WAEI,MAAJ,CACM,mBAAN,EACM,KAAN,CACQ,KAAR,GACQ,QAAR,GACQ,MAAR,MAEM,MAAN,CACQ,KAAR,CACA,CAAU,UAAV,EAAU,QAAV,UAAU,QAAV,SAEQ,QAAR,CACA,CAAU,UAAV,EAAU,QAAV,UAAU,QAAV,SAEQ,MAAR,CACA,CAAU,UAAV,EAAU,QAAV,UAAU,QAAV,UAGM,QAAN,GACM,SAAN,EACM,UAAN,GACM,eAAN,GACM,aAAN,EACM,SAAN,KAGE,QA5BF,WA8BI,KAAJ,gBAEE,QAAF,CAEI,QAFJ,WAGM,KAAN,aACM,KAAN,gBACM,KAAN,qBACM,KAAN,WAII,UAVJ,WAUM,IAAN,OACA,YACM,OAAN,OAAM,CAAN,qBACA,eACU,EAAV,UACY,KAAZ,UACY,QAAZ,SAGQ,EAAR,kBAEM,KAAN,sBAII,aAzBJ,WAyBM,IAAN,OACA,GACQ,KAAR,kBACQ,SAAR,eAEM,OAAN,OAAM,CAAN,qBACQ,EAAR,sBACQ,EAAR,8BAEM,KAAN,YAII,iBAtCJ,SAsCA,GAEM,KAAN,WACM,KAAN,gBAEI,oBA3CJ,SA2CA,GAEM,KAAN,eACM,KAAN,gBAII,QAlDJ,WAkDM,IAAN,OACM,OAAN,OAAM,GAAN,kBACQ,EAAR,wBAKI,SAzDJ,SAyDA,GAAM,IAAN,OACA,iBACQ,MAAR,EACQ,KAAR,qBACQ,QAAR,kBACQ,WAAR,uBAEM,OAAN,OAAM,CAAN,wBACQ,EAAR,QACQ,EAAR,UACU,KAAV,UACU,QAAV,qBAII,iBAxEJ,SAwEA,GAAM,IAAN,OACM,KAAN,4BACQ,kBAAR,KACQ,iBAAR,KACQ,KAAR,YACA,iBACQ,OAAR,OAAQ,CAAR,MAAU,MAAV,4BACU,EAAV,UACY,KAAZ,OACY,QAAZ,0BCjM8V,I,wBCQ1VC,EAAY,eACd,EACA7H,EACA4H,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,8JCdXC,EAAWC,IAAMC,OAAO,CACxBC,QAAS,MAGbH,EAASI,aAAaC,QAAQC,KAC1B,SAACC,GASG,OAFAA,EAAOC,QAAQC,cAAgB,UAAYnL,iBAC3CQ,IAAU+C,QACH0H,KAEX,SAACG,GAEG,OAAOC,QAAQC,OAAOF,MAK9BV,EAASI,aAAaS,SAASP,KAC3B,SAACO,GACG/K,IAAUiD,OACV,IAAM+H,EAAMD,EAAShJ,OAErB,GAAY,MAARiJ,GAAuB,MAARA,EACf,OAAOD,KAGf,SAACH,GAgBG,OAfA5K,IAAUiD,OAEoB,MAA1B2H,EAAMG,SAAShJ,QACfkJ,qBAAQ,CACJC,QAASN,EAAMG,SAASI,KAAKC,aAC7BC,KAAM,UAIgB,MAA1BT,EAAMG,SAAShJ,QACfkJ,qBAAQ,CACJC,QAASN,EAAMG,SAASI,KAAKD,QAC7BG,KAAM,UAGPR,QAAQC,OAAOF,MAIfV,U,kCCzDf,W,kCCAA,0LAKO,SAASoB,IACZ,OAAOC,eAAK,CACRC,IAAK,sBACLC,OAAQ,QAIT,SAASC,EAAQP,GACpB,OAAOI,eAAK,CACRC,IAAK,aACLC,OAAQ,OACRN,SAID,SAASQ,EAAUC,GACtB,OAAOL,eAAK,CACRC,IAAK,aACLC,OAAQ,MACRG,WAKD,SAASC,EAAczH,GAC1B,OAAOmH,eAAK,CACRC,IAAK,iBAAF,OAAmBpH,EAAnB,UACHqH,OAAQ,QAIT,SAASK,EAAY1H,EAAIwH,GAC5B,OAAOL,eAAK,CACRC,IAAK,cAAF,OAAgBpH,GACnBqH,OAAQ,QACRG","file":"js/chunk-0f6f9608.540fa080.js","sourcesContent":["const TokenKey = \"admin_token\";\n// 获取token\nexport function getToken() {\n return localStorage.getItem(\"token\");\n}\n// 设置token\nexport function setToken(token) {\n return localStorage.setItem(TokenKey, token);\n}\n// 删除token\nexport function removeToken() {\n return localStorage.removeItem(TokenKey);\n}\n","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"conent\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handAdd}},[_vm._v(\"新增\")]),_c('div',{staticClass:\"table\",staticStyle:{\"margin-top\":\"10px\"}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableData}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"店铺名称\"}}),_c('el-table-column',{attrs:{\"prop\":\"plat_id\",\"label\":\"所属平台\"}}),_c('el-table-column',{attrs:{\"label\":\"成本变动\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"成本变动\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.ratio),callback:function ($$v) {_vm.$set(scope.row, \"ratio\", $$v)},expression:\"scope.row.ratio\"}})]}}])}),_c('el-table-column',{attrs:{\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.status === '未授权')?_c('el-button',{attrs:{\"type\":\"danger\"}},[_c('a',{attrs:{\"href\":scope.row.authUrl,\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"  授   权  \")])]):_vm._e(),(scope.row.status === '已授权')?_c('div',[_c('el-button',{attrs:{\"type\":\"success\",\"disabled\":true}},[_vm._v(_vm._s(scope.row.status))]),_c('el-button',{on:{\"click\":function($event){return _vm.download(scope.row)}}},[_vm._v(\"下载商品\")])],1):_vm._e(),(scope.row.status === '重新授权')?_c('div',[_c('el-button',{attrs:{\"type\":\"danger\",\"target\":\"_blank\"}},[_c('a',{attrs:{\"href\":scope.row.authUrl,\"rel\":\"noopener noreferrer\"}},[_vm._v(\"重新授权\")])]),_c('el-button',{on:{\"click\":function($event){return _vm.download(scope.row)}}},[_vm._v(\"下载商品\")])],1):_vm._e(),(scope.row.status === '无需授权')?_c('div',[_c('el-button',{attrs:{\"type\":\"success\",\"disabled\":true}},[_vm._v(_vm._s(scope.row.status))])],1):_vm._e()]}}])})],1)],1),_c('div',{staticClass:\"block\"},[_c('el-pagination',{attrs:{\"current-page\":_vm.current_page,\"page-sizes\":[15, 50, 100],\"page-size\":_vm.per_page,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.Paginationdata.total},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_c('el-dialog',{attrs:{\"title\":\"新增店铺\",\"visible\":_vm.dialogFormVisible,\"close-on-click-modal\":false,\"width\":\"20%\"},on:{\"update:visible\":function($event){_vm.dialogFormVisible=$event}}},[_c('el-form',{ref:\"form\",attrs:{\"rules\":_vm.rules,\"model\":_vm.form,\"lable-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"店铺名称\"}},[_c('el-input',{staticStyle:{\"width\":\"400px\"},attrs:{\"placeholder\":\"输入店铺名称\"},model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, \"name\", $$v)},expression:\"form.name\"}})],1),_c('el-form-item',{attrs:{\"label\":\"店铺平台\"}},[_c('el-select',{staticStyle:{\"width\":\"400px\"},attrs:{\"placeholder\":\"输入店铺平台\"},model:{value:(_vm.form.plat_id),callback:function ($$v) {_vm.$set(_vm.form, \"plat_id\", $$v)},expression:\"form.plat_id\"}},_vm._l((_vm.storeId),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item,\"value\":index}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"成本变动\"}},[_c('el-input',{staticStyle:{\"width\":\"400px\"},attrs:{\"placeholder\":\"成本变动\"},model:{value:(_vm.form.ratio),callback:function ($$v) {_vm.$set(_vm.form, \"ratio\", $$v)},expression:\"form.ratio\"}})],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogFormVisible = false}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.addSubmit}},[_vm._v(\"确 定\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./store.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./store.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./store.vue?vue&type=template&id=1cc99200&scoped=true&\"\nimport script from \"./store.vue?vue&type=script&lang=js&\"\nexport * from \"./store.vue?vue&type=script&lang=js&\"\nimport style0 from \"./store.vue?vue&type=style&index=0&id=1cc99200&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1cc99200\",\n null\n \n)\n\nexport default component.exports","import axios from \"axios\";\nimport { getToken } from \"@/util/auth\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport { Message } from \"element-ui\";\nvar instance = axios.create({\n timeout: 30000,\n});\n\ninstance.interceptors.request.use(\n (config) => {\n // config.headers['content-type'] = 'application/json'\n\n // config.headers['Shop-Id'] = localStorage.getItem('shopId') || 1\n\n // 在发送请求之前做些什么\n // config.headers['content-type'] = 'application/json'\n config.headers.Authorization = \"Bearer \" + getToken(); // 请求头\n NProgress.start();\n return config;\n },\n (error) => {\n // 对请求错误做些什么\n return Promise.reject(error);\n }\n);\n\n// 添加响应拦截器\ninstance.interceptors.response.use(\n (response) => {\n NProgress.done();\n const res = response.status;\n // 对响应数据做点什么\n if (res === 200 || res === 201) {\n return response;\n }\n },\n (error) => {\n NProgress.done();\n // 对响应错误做点什么\n if (error.response.status === 400) {\n Message({\n message: error.response.data.errorMessage,\n type: \"error\",\n });\n }\n\n if (error.response.status === 500) {\n Message({\n message: error.response.data.message,\n type: \"error\",\n });\n }\n return Promise.reject(error);\n }\n);\n\nexport default instance;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./store.vue?vue&type=style&index=0&id=1cc99200&lang=scss&scoped=true&\"","import http from \"@/util/http.js\";\n\n// 店铺管理页面请求\n\n// 店铺平台\nexport function shopListId() {\n return http({\n url: \"/api/shop_platforms\",\n method: \"get\",\n });\n}\n// 店铺新增\nexport function shopAdd(data) {\n return http({\n url: \"/api/shops\",\n method: \"post\",\n data,\n });\n}\n// 店铺列表\nexport function storeList(params) {\n return http({\n url: \"/api/shops\",\n method: \"get\",\n params,\n });\n}\n\n// 下载商品\nexport function downloadGoods(id) {\n return http({\n url: `/api/download/${id}/goods`,\n method: \"get\",\n });\n}\n\nexport function updateStore(id, params) {\n return http({\n url: `/api/shops/${id}`,\n method: \"patch\",\n params,\n });\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/public/dist/js/chunk-20ee929b.97f64c98.js b/public/dist/js/chunk-20ee929b.97f64c98.js deleted file mode 100644 index e05436f..0000000 --- a/public/dist/js/chunk-20ee929b.97f64c98.js +++ /dev/null @@ -1,4 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-20ee929b"],{"04d1":function(t,e,o){var r=o("342f"),n=r.match(/firefox\/(\d+)/i);t.exports=!!n&&+n[1]},"0a5a":function(t,e,o){"use strict";o.d(e,"a",(function(){return n})),o.d(e,"b",(function(){return a}));var r="admin_token";function n(){return localStorage.getItem("token")}function a(){return localStorage.removeItem(r)}},"23ba":function(t,e,o){"use strict";o.d(e,"e",(function(){return n})),o.d(e,"a",(function(){return a})),o.d(e,"f",(function(){return s})),o.d(e,"c",(function(){return i})),o.d(e,"d",(function(){return u})),o.d(e,"b",(function(){return l}));var r=o("adb5");function n(t){return Object(r["a"])({url:"/api/group",method:"get",params:t})}function a(t){return Object(r["a"])({url:"/api/group",method:"post",data:t})}function s(t){return Object(r["a"])({url:"/api/group/".concat(t),method:"get"})}function i(t,e){return Object(r["a"])({url:"/api/group/".concat(t),method:"patch",data:e})}function u(t){return Object(r["a"])({url:"/api/groupGoods",method:"get",params:t})}function l(t){return Object(r["a"])({url:"/api/groupGoods",method:"post",params:t})}},"323e":function(t,e,o){var r,n; -/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT */(function(a,s){r=s,n="function"===typeof r?r.call(e,o,e,t):r,void 0===n||(t.exports=n)})(0,(function(){var t={version:"0.2.0"},e=t.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:'
'};function o(t,e,o){return to?o:t}function r(t){return 100*(-1+t)}function n(t,o,n){var a;return a="translate3d"===e.positionUsing?{transform:"translate3d("+r(t)+"%,0,0)"}:"translate"===e.positionUsing?{transform:"translate("+r(t)+"%,0)"}:{"margin-left":r(t)+"%"},a.transition="all "+o+"ms "+n,a}t.configure=function(t){var o,r;for(o in t)r=t[o],void 0!==r&&t.hasOwnProperty(o)&&(e[o]=r);return this},t.status=null,t.set=function(r){var i=t.isStarted();r=o(r,e.minimum,1),t.status=1===r?null:r;var u=t.render(!i),l=u.querySelector(e.barSelector),c=e.speed,d=e.easing;return u.offsetWidth,a((function(o){""===e.positionUsing&&(e.positionUsing=t.getPositioningCSS()),s(l,n(r,c,d)),1===r?(s(u,{transition:"none",opacity:1}),u.offsetWidth,setTimeout((function(){s(u,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){t.remove(),o()}),c)}),c)):setTimeout(o,c)})),this},t.isStarted=function(){return"number"===typeof t.status},t.start=function(){t.status||t.set(0);var o=function(){setTimeout((function(){t.status&&(t.trickle(),o())}),e.trickleSpeed)};return e.trickle&&o(),this},t.done=function(e){return e||t.status?t.inc(.3+.5*Math.random()).set(1):this},t.inc=function(e){var r=t.status;return r?("number"!==typeof e&&(e=(1-r)*o(Math.random()*r,.1,.95)),r=o(r+e,0,.994),t.set(r)):t.start()},t.trickle=function(){return t.inc(Math.random()*e.trickleRate)},function(){var e=0,o=0;t.promise=function(r){return r&&"resolved"!==r.state()?(0===o&&t.start(),e++,o++,r.always((function(){o--,0===o?(e=0,t.done()):t.set((e-o)/e)})),this):this}}(),t.render=function(o){if(t.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var n=document.createElement("div");n.id="nprogress",n.innerHTML=e.template;var a,i=n.querySelector(e.barSelector),l=o?"-100":r(t.status||0),c=document.querySelector(e.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),e.showSpinner||(a=n.querySelector(e.spinnerSelector),a&&d(a)),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(n),n},t.remove=function(){l(document.documentElement,"nprogress-busy"),l(document.querySelector(e.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&d(t)},t.isRendered=function(){return!!document.getElementById("nprogress")},t.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var a=function(){var t=[];function e(){var o=t.shift();o&&o(e)}return function(o){t.push(o),1==t.length&&e()}}(),s=function(){var t=["Webkit","O","Moz","ms"],e={};function o(t){return t.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()}))}function r(e){var o=document.body.style;if(e in o)return e;var r,n=t.length,a=e.charAt(0).toUpperCase()+e.slice(1);while(n--)if(r=t[n]+a,r in o)return r;return e}function n(t){return t=o(t),e[t]||(e[t]=r(t))}function a(t,e,o){e=n(e),t.style[e]=o}return function(t,e){var o,r,n=arguments;if(2==n.length)for(o in e)r=e[o],void 0!==r&&e.hasOwnProperty(o)&&a(t,o,r);else a(t,n[1],n[2])}}();function i(t,e){var o="string"==typeof t?t:c(t);return o.indexOf(" "+e+" ")>=0}function u(t,e){var o=c(t),r=o+e;i(o,e)||(t.className=r.substring(1))}function l(t,e){var o,r=c(t);i(t,e)&&(o=r.replace(" "+e+" "," "),t.className=o.substring(1,o.length-1))}function c(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function d(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return t}))},"4e82":function(t,e,o){"use strict";var r=o("23e7"),n=o("1c0b"),a=o("7b0b"),s=o("50c4"),i=o("d039"),u=o("addb"),l=o("a640"),c=o("04d1"),d=o("d998"),p=o("2d00"),g=o("512ce"),f=[],h=f.sort,m=i((function(){f.sort(void 0)})),b=i((function(){f.sort(null)})),_=l("sort"),v=!i((function(){if(p)return p<70;if(!(c&&c>3)){if(d)return!0;if(g)return g<603;var t,e,o,r,n="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:o=3;break;case 68:case 71:o=4;break;default:o=2}for(r=0;r<47;r++)f.push({k:e+r,v:o})}for(f.sort((function(t,e){return e.v-t.v})),r=0;rString(o)?1:-1}};r({target:"Array",proto:!0,forced:y},{sort:function(t){void 0!==t&&n(t);var e=a(this);if(v)return void 0===t?h.call(e):h.call(e,t);var o,r,i=[],l=s(e.length);for(r=0;r0)t[r]=t[--r];r!==a++&&(t[r]=o)}return t},a=function(t,e,o){var r=t.length,n=e.length,a=0,s=0,i=[];while(a0&&void 0!==arguments[0]?arguments[0]:1,o={page:e,per_page:this.groupGoodsSearch.per_page,goods_keyword:this.groupGoodsSearch.external_sku_id,has_stock:this.groupGoodsSearch.has_stock,type_id:this.groupGoodsSearch.type_id,shop_id:this.group.shop_id,has_ids:this.goodsList.has_ids};Object(s["b"])(o).then((function(e){t.groupGoods=e.data,t.groupGoods.data.forEach((function(e,o){void 0!==t.changeData[e.id]&&(t.groupGoods.data[o].sort=t.changeData[e.id].sort,t.groupGoods.data[o].limit_buy=t.changeData[e.id].limit_buy,t.groupGoods.data[o].price_in_fen=t.changeData[e.id].price_in_fen)})),t.groupGoods.meta.per_page=parseInt(t.groupGoods.meta.per_page)}))},getgoodsType:function(){var t=this,e={per_page:9999};Object(i["h"])(e).then((function(e){t.types=e.data.data}))},getbrandType:function(){var t=this,e={per_page:9999};Object(i["c"])(e).then((function(e){t.brands=e.data.data}))},batchRemove:function(){var t=this;this.$refs.multipleTableGroup.selection.forEach((function(e){var o=t.goodsList.has_ids.indexOf(e.id);o>0&&delete t.goodsList.has_ids[o]})),this.$refs.multipleTableGroup.clearSelection(),this.getGroupGoodsList()},remove:function(t){var e=this;this.goodsList.has_ids.forEach((function(o,r){o==t.id&&delete e.goodsList.has_ids[r]})),this.getGroupGoodsList()},handleCellChange:function(t){this.changeData[t.id]={id:t.id,sort:t.sort,limit_buy:t.limit_buy,price_in_fen:t.price_in_fen}},importGoods:function(){this.group.shop_id?(this.dialogTitle="您的商品库中已有 "+this.groupGoods.meta.total+" 件商品",this.goodsSearch(),this.centerDialogVisible=!0):this.$message.error("请先选择店铺")},goodsSearch:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.goodsList.page=e,this.goodsList.per_page=this.goodsListPage.per_page,this.goodsLoading=!0,Object(u["c"])(this.goodsList).then((function(e){t.goods=e.data,t.goods.meta.per_page=parseInt(t.goods.meta.per_page),t.goods.data.forEach((function(e,o){void 0!==t.selectGoods[e.id]&&t.$refs.multipleTable.toggleRowSelection(e,!0)})),t.goodsLoading=!1})),1===e&&this.getAllGoods(this.goodsList)},getAllGoods:function(t){var e=this;t.page=1,t.per_page=9999,Object(u["c"])(t).then((function(t){e.allGoods=t.data.data}))},handleSizeChange:function(t){this.goodsListPage.per_page=t,this.goodsSearch()},getRowKeys:function(t){return t.id},toggleSelection:function(t){var e=this;t?(this.allGoods.forEach((function(t,o){void 0===e.selectGoods[t.id]&&e.selectNum++,e.selectGoods[t.id]=1})),this.goods.data.forEach((function(t,o){e.$refs.multipleTable.toggleRowSelection(t,!0)}))):(this.allGoods.forEach((function(t,o){void 0!==e.selectGoods[t.id]&&(delete e.selectGoods[t.id],e.selectNum--)})),this.$refs.multipleTable.clearSelection())},handleSelect:function(t,e){void 0===this.selectGoods[e.id]?(this.selectGoods[e.id]=1,this.selectNum++):(delete this.selectGoods[e.id],this.selectNum--)},resetForm:function(){this.$refs.goodsList.resetFields(),this.goodsSearch()},addGoods:function(){var t,e=this,o=[];this.selectGoods.forEach((function(t,e){void 0!==e&&o.push(e)}));var r={shop_id:this.group.shop_id,has_ids:this.goodsList.has_ids,new_ids:o,per_page:this.groupGoods.meta.per_page};(t=this.goodsList.has_ids).push.apply(t,o),Object(s["b"])(r).then((function(t){e.groupGoods=t.data,e.groupGoods.meta.per_page=parseInt(e.groupGoods.meta.per_page)})),this.$refs.goodsList.resetFields(),this.$refs.multipleTable.clearSelection(),this.selectGoods=[],this.selectNum=0,this.centerDialogVisible=!1},selectCurrentGoods:function(t){var e=this;t.length?(t.forEach((function(t){void 0===e.selectGoods[t.id]&&(e.selectGoods[t.id]=1)})),this.selectNum+=t.length):(this.goods.data.forEach((function(t){void 0!==e.selectGoods[t.id]&&delete e.selectGoods[t.id]})),this.selectNum-=this.goods.data.length)}}},c=l,d=o("2877"),p=Object(d["a"])(c,r,n,!1,null,null,null);e["default"]=p.exports},c40e:function(t,e,o){"use strict";o.d(e,"d",(function(){return n})),o.d(e,"a",(function(){return a})),o.d(e,"b",(function(){return s})),o.d(e,"e",(function(){return i})),o.d(e,"i",(function(){return u})),o.d(e,"h",(function(){return l})),o.d(e,"g",(function(){return c})),o.d(e,"f",(function(){return d})),o.d(e,"c",(function(){return p}));var r=o("adb5");function n(t){return Object(r["a"])({url:"/api/goods_skus",method:"get",params:t})}function a(t){return Object(r["a"])({url:"/api/goods",method:"post",data:t})}function s(t){return Object(r["a"])({url:"/api/goods_skus/".concat(t),method:"get"})}function i(t){return Object(r["a"])({url:"/api/goods",method:"get",params:t})}function u(t,e){return Object(r["a"])({url:"/api/goods_skus/".concat(t),method:"patch",data:e})}function l(t){return Object(r["a"])({url:"/api/batch/goods_skus",method:"patch",data:t})}function c(t,e){return Object(r["a"])({url:"/api/single/goods_skus/".concat(t),method:"patch",data:e})}function d(t,e){return Object(r["a"])({url:"/api/upload",Headers:e,method:"post",data:t})}function p(t){return Object(r["a"])({url:"/api/goodsList",method:"get",params:t})}},d998:function(t,e,o){var r=o("342f");t.exports=/MSIE|Trident/.test(r)},e692:function(t,e,o){"use strict";o.d(e,"c",(function(){return n})),o.d(e,"b",(function(){return a})),o.d(e,"d",(function(){return s})),o.d(e,"a",(function(){return i})),o.d(e,"e",(function(){return u}));var r=o("adb5");function n(){return Object(r["a"])({url:"/api/shop_platforms",method:"get"})}function a(t){return Object(r["a"])({url:"/api/shops",method:"post",data:t})}function s(t){return Object(r["a"])({url:"/api/shops",method:"get",params:t})}function i(t){return Object(r["a"])({url:"/api/download/".concat(t,"/goods"),method:"get"})}function u(t,e){return Object(r["a"])({url:"/api/shops/".concat(t),method:"patch",params:e})}}}]); -//# sourceMappingURL=chunk-20ee929b.97f64c98.js.map \ No newline at end of file diff --git a/public/dist/js/chunk-20ee929b.97f64c98.js.map b/public/dist/js/chunk-20ee929b.97f64c98.js.map deleted file mode 100644 index 79b875f..0000000 --- a/public/dist/js/chunk-20ee929b.97f64c98.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./node_modules/core-js/internals/engine-ff-version.js","webpack:///./src/util/auth.js","webpack:///./src/api/group.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./node_modules/core-js/internals/engine-webkit-version.js","webpack:///./src/api/rankingData.js","webpack:///./src/util/http.js","webpack:///./node_modules/core-js/internals/array-sort.js","webpack:///./src/views/group/addGroup.vue?d5d4","webpack:///src/views/group/addGroup.vue","webpack:///./src/views/group/addGroup.vue?98e8","webpack:///./src/views/group/addGroup.vue","webpack:///./src/api/goods.js","webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack:///./src/api/shop.js"],"names":["userAgent","firefox","match","module","exports","TokenKey","getToken","localStorage","getItem","removeToken","removeItem","groupList","params","http","url","method","addGroup","data","showGroup","id","editGroup","getGroupGoods","addGroupGoods","root","factory","this","NProgress","Settings","settings","minimum","easing","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","parent","template","clamp","n","min","max","toBarPerc","barPositionCSS","ease","barCSS","transform","transition","configure","options","key","value","undefined","hasOwnProperty","status","set","started","isStarted","progress","render","bar","querySelector","offsetWidth","queue","next","getPositioningCSS","css","opacity","setTimeout","remove","start","work","done","force","inc","Math","random","amount","initial","current","promise","$promise","state","always","fromStart","isRendered","document","getElementById","addClass","documentElement","createElement","innerHTML","spinner","perc","removeElement","body","appendChild","removeClass","bodyStyle","style","vendorPrefix","pending","fn","shift","push","length","cssPrefixes","cssProps","camelCase","string","replace","letter","toUpperCase","getVendorProp","name","vendorName","i","capName","charAt","slice","getStyleProp","applyCss","element","prop","properties","args","arguments","hasClass","list","classList","indexOf","oldList","newList","className","substring","parentNode","removeChild","$","aFunction","toObject","toLength","fails","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","test","nativeSort","sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","chr","index","result","String","fromCharCode","k","v","a","b","FORCED","getSortCompare","comparefn","x","y","target","proto","forced","array","call","itemsLength","items","arrayLength","webkit","goods_types","Delgoods_types","Addgoods_types","editGoods_types","Brand_goods_types","DelBrand_goods_types","AddBrandgoods_types","editBrand_types","instance","axios","create","timeout","interceptors","request","use","config","headers","Authorization","error","Promise","reject","response","res","Message","message","errorMessage","type","floor","mergeSort","middle","insertionSort","merge","j","left","right","llength","rlength","lindex","rindex","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","ref","attrs","rules","group","model","callback","$$v","$set","expression","_l","store","on","$event","importGoods","_v","groupGoodsSearch","getGroupGoodsList","slot","goodsType","_s","directives","rawName","groupGoods","getRowKeys","scopedSlots","_u","scope","handleCellChange","row","batchRemove","meta","current_page","per_page","total","handleSizeChangeGroup","onAdd","dialogTitle","centerDialogVisible","goodsList","goodsSearch","goodsBrand","resetForm","goods","handleSelect","selectCurrentGoods","title","goods_code","sku_code","brand","handleSizeChange","toggleSelection","selectNum","addGoods","staticRenderFns","component","checkGoods","updateGoods","update","singleUpdate","imgUpload","item","Headers","getGoodsList","UA","shopListId","shopAdd","storeList","downloadGoods","updateStore"],"mappings":"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","file":"js/chunk-20ee929b.97f64c98.js","sourcesContent":["var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","const TokenKey = \"admin_token\";\n// 获取token\nexport function getToken() {\n return localStorage.getItem(\"token\");\n}\n// 设置token\nexport function setToken(token) {\n return localStorage.setItem(TokenKey, token);\n}\n// 删除token\nexport function removeToken() {\n return localStorage.removeItem(TokenKey);\n}\n","import http from \"@/util/http.js\";\n\n// 团购管理列表\nexport function groupList(params) {\n return http({\n url: \"/api/group\",\n method: \"get\",\n params\n });\n}\n\n// 新增\nexport function addGroup(data) {\n return http({\n url: \"/api/group\",\n method: \"post\",\n data,\n });\n}\n\n// 查看\nexport function showGroup(id) {\n return http({\n url: `/api/group/${id}`,\n method: \"get\",\n });\n}\n\n// 编辑\nexport function editGroup(id, data) {\n return http({\n url: `/api/group/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 获取团购商品列表\nexport function getGroupGoods(params) {\n return http({\n url: `/api/groupGoods`,\n method: \"get\",\n params,\n });\n}\n\n// 增加团购商品\nexport function addGroupGoods(params) {\n return http({\n url: `/api/groupGoods`,\n method: \"post\",\n params,\n });\n}\n","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return String(x) > String(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aFunction(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort.call(array) : nativeSort.call(array, comparefn);\n\n var items = [];\n var arrayLength = toLength(array.length);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) items.push(array[index]);\n }\n\n items = internalSort(items, getSortCompare(comparefn));\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","import http from \"@/util/http.js\";\n\nexport function postadd(params) {\n // 传递id\n return http({\n url: \"/api/admin/auth/login\",\n method: \"post\",\n params: params,\n });\n}\n\n// 列表\nexport function store_list(params) {\n return http({\n url: \"/api/admin/shopGroups\",\n method: \"get\",\n params: params,\n });\n}\n\nexport function storeDetail(params) {\n return http({\n url: \"/storess/show\",\n method: \"get\",\n params: params,\n });\n}\n\n// 商品种类列表\nexport function goods_types(params) {\n return http({\n url: \"/api/goods_types\",\n method: \"get\",\n params,\n });\n}\n// 商品种类列表删除\nexport function Delgoods_types(id) {\n return http({\n url: `/api/goods_types/${id}`,\n method: \"delete\",\n });\n}\n// 新增种类\nexport function Addgoods_types(data) {\n return http({\n url: \"/api/goods_types/\",\n method: \"post\",\n data,\n });\n}\n// 编辑种类\nexport function editGoods_types(id, data) {\n return http({\n url: `/api/goods_types/${id}`,\n method: \"patch\",\n data,\n });\n}\n// 商品品牌列表\nexport function Brand_goods_types(params) {\n return http({\n url: \"/api/goods_brands\",\n method: \"get\",\n params\n });\n}\n// 商品品牌列表删除\nexport function DelBrand_goods_types(id) {\n return http({\n url: `/api/goods_brands/${id}`,\n method: \"delete\",\n });\n}\n// 新增品牌\nexport function AddBrandgoods_types(data) {\n return http({\n url: \"/api/goods_brands\",\n method: \"post\",\n data,\n });\n}\n// 编辑品牌\nexport function editBrand_types(id, data) {\n return http({\n url: `/api/goods_brands/${id}`,\n method: \"patch\",\n data,\n });\n}\n","import axios from \"axios\";\nimport { getToken } from \"@/util/auth\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport { Message } from \"element-ui\";\nvar instance = axios.create({\n timeout: 30000,\n});\n\ninstance.interceptors.request.use(\n (config) => {\n // config.headers['content-type'] = 'application/json'\n\n // config.headers['Shop-Id'] = localStorage.getItem('shopId') || 1\n\n // 在发送请求之前做些什么\n // config.headers['content-type'] = 'application/json'\n config.headers.Authorization = \"Bearer \" + getToken(); // 请求头\n NProgress.start();\n return config;\n },\n (error) => {\n // 对请求错误做些什么\n return Promise.reject(error);\n }\n);\n\n// 添加响应拦截器\ninstance.interceptors.response.use(\n (response) => {\n NProgress.done();\n const res = response.status;\n // 对响应数据做点什么\n if (res === 200 || res === 201) {\n return response;\n }\n },\n (error) => {\n NProgress.done();\n // 对响应错误做点什么\n if (error.response.status === 400) {\n Message({\n message: error.response.data.errorMessage,\n type: \"error\",\n });\n }\n\n if (error.response.status === 500) {\n Message({\n message: error.response.data.message,\n type: \"error\",\n });\n }\n return Promise.reject(error);\n }\n);\n\nexport default instance;\n","// TODO: use something more complex like timsort?\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n mergeSort(array.slice(0, middle), comparefn),\n mergeSort(array.slice(middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n var result = [];\n\n while (lindex < llength || rindex < rlength) {\n if (lindex < llength && rindex < rlength) {\n result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]);\n } else {\n result.push(lindex < llength ? left[lindex++] : right[rindex++]);\n }\n } return result;\n};\n\nmodule.exports = mergeSort;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',{staticClass:\"box-card\",staticStyle:{\"margin-top\":\"10px\"}},[_c('el-form',{ref:\"group\",attrs:{\"rules\":_vm.rules,\"model\":_vm.group,\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"店铺\",\"prop\":\"shop_id\"}},[_c('el-select',{model:{value:(_vm.group.shop_id),callback:function ($$v) {_vm.$set(_vm.group, \"shop_id\", $$v)},expression:\"group.shop_id\"}},_vm._l((_vm.stores),function(store){return _c('el-option',{key:store.id,attrs:{\"label\":store.name,\"value\":store.id}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"活动标题\",\"prop\":\"title\"}},[_c('el-input',{staticStyle:{\"width\":\"500px\"},attrs:{\"type\":\"textarea\"},model:{value:(_vm.group.title),callback:function ($$v) {_vm.$set(_vm.group, \"title\", $$v)},expression:\"group.title\"}})],1),_c('el-form-item',{attrs:{\"label\":\"团购商品\"}},[_c('el-button',{on:{\"click\":function($event){return _vm.importGoods()}}},[_vm._v(\"从商品列表导入\")]),_c('el-input',{staticStyle:{\"margin-left\":\"20px\",\"width\":\"400px\"},attrs:{\"placeholder\":\"搜索商品名称、编码\"},model:{value:(_vm.groupGoodsSearch.external_sku_id),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"external_sku_id\", $$v)},expression:\"groupGoodsSearch.external_sku_id\"}},[_c('el-button',{attrs:{\"slot\":\"append\"},on:{\"click\":function($event){return _vm.getGroupGoodsList();}},slot:\"append\"},[_vm._v(\"查询\")])],1),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('span',{staticStyle:{\"margin-right\":\"20px\"}},[_vm._v(\"商品状态\")]),_c('el-radio-group',{on:{\"change\":function($event){return _vm.getGroupGoodsList()}},model:{value:(_vm.groupGoodsSearch.has_stock),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"has_stock\", $$v)},expression:\"groupGoodsSearch.has_stock\"}},[_c('el-radio',{attrs:{\"label\":2}},[_vm._v(\"全部\")]),_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\"在售中\")]),_c('el-radio',{attrs:{\"label\":0}},[_vm._v(\"已售罄\")])],1)],1),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('span',{staticStyle:{\"margin-right\":\"20px\"}},[_vm._v(\"商品分类\")]),_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.getGroupGoodsList()}},model:{value:(_vm.groupGoodsSearch.type_id),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"type_id\", $$v)},expression:\"groupGoodsSearch.type_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.types),function(goodsType){return _c('el-radio-button',{key:goodsType.id,attrs:{\"label\":goodsType.id}},[_vm._v(\" \"+_vm._s(goodsType.name))])})],2)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.groupLoading),expression:\"groupLoading\"}],ref:\"multipleTableGroup\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.groupGoods.data,\"border\":\"\",\"height\":\"800\",\"row-key\":_vm.getRowKeys}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true,\"width\":\"55\"}}),_c('el-table-column',{attrs:{\"label\":\"排序\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"排序\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.sort),callback:function ($$v) {_vm.$set(scope.row, \"sort\", $$v)},expression:\"scope.row.sort\"}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"goods_name\",\"label\":\" 商品名称\"}}),_c('el-table-column',{attrs:{\"prop\":\"external_sku_id\",\"label\":\"编码\"}}),_c('el-table-column',{attrs:{\"prop\":\"category_name\",\"label\":\"分类\"}}),_c('el-table-column',{attrs:{\"prop\":\"stock\",\"label\":\"库存\"}}),_c('el-table-column',{attrs:{\"label\":\"限购数量\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"限购数量\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.limit_buy),callback:function ($$v) {_vm.$set(scope.row, \"limit_buy\", $$v)},expression:\"scope.row.limit_buy\"}})]}}])}),_c('el-table-column',{attrs:{\"label\":\"价格\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"价格\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.price_in_fen),callback:function ($$v) {_vm.$set(scope.row, \"price_in_fen\", $$v)},expression:\"scope.row.price_in_fen\"}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"options\",\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.remove(scope.row)}}},[_vm._v(\"删除\")])]}}])})],1),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"line-height\":\"32px\",\"margin-top\":\"20px\"}},[_c('el-button',{attrs:{\"type\":\"danger\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.batchRemove();}}},[_vm._v(\"批量删除\")]),_c('el-pagination',{attrs:{\"current-page\":_vm.groupGoods.meta.current_page,\"page-sizes\":[20, 30, 50, 100],\"page-size\":_vm.groupGoods.meta.per_page,\"layout\":\"sizes, prev, pager, next\",\"total\":_vm.groupGoods.meta.total},on:{\"size-change\":_vm.handleSizeChangeGroup,\"current-change\":_vm.getGroupGoodsList,\"update:currentPage\":function($event){return _vm.$set(_vm.groupGoods.meta, \"current_page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.groupGoods.meta, \"current_page\", $event)}}})],1)],1),_c('el-form-item',{attrs:{\"label\":\"团购时间\",\"prop\":\"datetimerange\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetimerange\",\"range-separator\":\"至\",\"start-placeholder\":\"开始时间\",\"end-placeholder\":\"结束时间\",\"value-format\":\"yyyy-MM-dd HH:mm:ss\"},model:{value:(_vm.group.datetimerange),callback:function ($$v) {_vm.$set(_vm.group, \"datetimerange\", $$v)},expression:\"group.datetimerange\"}})],1),_c('el-form-item',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"flex-end\"}},[_c('el-button',{on:{\"click\":function($event){return _vm.onAdd(1);}}},[_vm._v(\"保存预览\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.onAdd(0);}}},[_vm._v(\"发布\")])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.dialogTitle,\"visible\":_vm.centerDialogVisible,\"width\":\"80%\",\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.centerDialogVisible=$event}}},[_c('el-form',{ref:\"goodsList\",attrs:{\"model\":_vm.goodsList,\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"商品分类\",\"prop\":\"type_id\"}},[_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.goodsSearch()}},model:{value:(_vm.goodsList.type_id),callback:function ($$v) {_vm.$set(_vm.goodsList, \"type_id\", $$v)},expression:\"goodsList.type_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.types),function(goodsType){return _c('el-radio-button',{key:goodsType.id,attrs:{\"label\":goodsType.id}},[_vm._v(\" \"+_vm._s(goodsType.name))])})],2)],1),_c('el-form-item',{attrs:{\"label\":\"商品品牌\",\"prop\":\"brand_id\"}},[_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.goodsSearch()}},model:{value:(_vm.goodsList.brand_id),callback:function ($$v) {_vm.$set(_vm.goodsList, \"brand_id\", $$v)},expression:\"goodsList.brand_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.brands),function(goodsBrand){return _c('el-radio-button',{key:goodsBrand.id,attrs:{\"label\":goodsBrand.id}},[_vm._v(\" \"+_vm._s(goodsBrand.name))])})],2)],1),_c('el-form-item',{attrs:{\"label\":\"搜索\",\"prop\":\"goods_keyword\"}},[_c('el-input',{staticStyle:{\"width\":\"400px\"},attrs:{\"placeholder\":\"搜索商品名称、编码\"},model:{value:(_vm.goodsList.goods_keyword),callback:function ($$v) {_vm.$set(_vm.goodsList, \"goods_keyword\", $$v)},expression:\"goodsList.goods_keyword\"}}),_c('el-radio-group',{staticStyle:{\"margin\":\"0 30px\"},model:{value:(_vm.goodsList.has_stock),callback:function ($$v) {_vm.$set(_vm.goodsList, \"has_stock\", $$v)},expression:\"goodsList.has_stock\"}},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\"有库存\")]),_c('el-radio',{attrs:{\"label\":0}},[_vm._v(\"全部\")])],1),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.goodsSearch();}}},[_vm._v(\"查询\")]),_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){return _vm.resetForm()}}},[_vm._v(\"重置\")])],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.goodsLoading),expression:\"goodsLoading\"}],ref:\"multipleTable\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.goods.data,\"border\":\"\",\"height\":\"520\",\"row-key\":_vm.getRowKeys},on:{\"select\":_vm.handleSelect,\"select-all\":_vm.selectCurrentGoods}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true,\"width\":\"55\"}}),_c('el-table-column',{attrs:{\"label\":\"商品信息\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.title + ' ' + scope.row.title)+\" \")]}}])}),_c('el-table-column',{attrs:{\"label\":\"编码\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.goods_code + '_' + scope.row.sku_code)+\" \")]}}])}),_c('el-table-column',{attrs:{\"label\":\"品牌\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.brand ? scope.row.goods.brand.name : '')+\" \")]}}])}),_c('el-table-column',{attrs:{\"prop\":\"goods.type.name\",\"label\":\"分类\"}}),_c('el-table-column',{attrs:{\"prop\":\"num\",\"label\":\"库存\"}})],1),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row-reverse\",\"align-items\":\"center\",\"margin-top\":\"10px\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.goods.meta.current_page,\"page-sizes\":[20, 30, 50, 100],\"page-size\":_vm.goods.meta.per_page,\"layout\":\"sizes, prev, pager, next\",\"total\":_vm.goods.meta.total},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.goodsSearch,\"update:currentPage\":function($event){return _vm.$set(_vm.goods.meta, \"current_page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.goods.meta, \"current_page\", $event)}}})],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"}},[_c('div',[_c('el-button',{on:{\"click\":function($event){return _vm.toggleSelection(1)}}},[_vm._v(\"全选\")]),_c('el-button',{on:{\"click\":function($event){return _vm.toggleSelection(0)}}},[_vm._v(\"取消全选\")])],1),_c('div',[_vm._v(\"已选 \"+_vm._s(_vm.selectNum)+\" 件\")]),_c('div',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.addGoods();}}},[_vm._v(\"确 定\")]),_c('el-button',{on:{\"click\":function($event){_vm.centerDialogVisible = false}}},[_vm._v(\"取 消\")])],1)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./addGroup.vue?vue&type=template&id=3bafd5e0&\"\nimport script from \"./addGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./addGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import http from \"@/util/http.js\";\n\n//店铺订单\nexport function shops(params) {\n return http({\n url: \"/api/count/orders/num\",\n method: \"get\",\n params,\n });\n}\n\n// 商品管理列表\nexport function goods(params) {\n return http({\n url: \"/api/goods_skus\",\n method: \"get\",\n params,\n });\n}\n// 新建商品\nexport function addGoods(data) {\n return http({\n url: \"/api/goods\",\n method: \"post\",\n data,\n });\n}\n// 查看商品\nexport function checkGoods(id) {\n return http({\n url: `/api/goods_skus/${id}`,\n method: \"get\",\n });\n}\n// 商品列表\nexport function goodsList(params) {\n return http({\n url: \"/api/goods\",\n method: \"get\",\n params,\n });\n}\n// 更新商品\nexport function updateGoods(id, data) {\n return http({\n url: `/api/goods_skus/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 上新/库存盘点/库存\nexport function update(data) {\n return http({\n url: \"/api/batch/goods_skus\",\n method: \"patch\",\n data,\n });\n}\n\n// 单个字段更新\nexport function singleUpdate(id, data) {\n return http({\n url: `/api/single/goods_skus/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 图片上传\nexport function imgUpload(data, item) {\n return http({\n url: \"/api/upload\",\n Headers: item,\n method: \"post\",\n data,\n });\n}\n\n// 表格导出\nexport function tableExport(params) {\n return http({\n url: \"/goods_skus/export\",\n method: \"get\",\n params,\n });\n}\n\n// 商品列表(添加)\nexport function getGoodsList(params) {\n return http({\n url: \"/api/goodsList\",\n method: \"get\",\n params,\n });\n}\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","import http from \"@/util/http.js\";\n\n// 店铺管理页面请求\n\n// 店铺平台\nexport function shopListId() {\n return http({\n url: \"/api/shop_platforms\",\n method: \"get\",\n });\n}\n// 店铺新增\nexport function shopAdd(data) {\n return http({\n url: \"/api/shops\",\n method: \"post\",\n data,\n });\n}\n// 店铺列表\nexport function storeList(params) {\n return http({\n url: \"/api/shops\",\n method: \"get\",\n params,\n });\n}\n\n// 下载商品\nexport function downloadGoods(id) {\n return http({\n url: `/api/download/${id}/goods`,\n method: \"get\",\n });\n}\n\nexport function updateStore(id, params) {\n return http({\n url: `/api/shops/${id}`,\n method: \"patch\",\n params,\n });\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/public/dist/js/chunk-3ebcaff1.b3f1815c.js b/public/dist/js/chunk-3ebcaff1.b3f1815c.js deleted file mode 100644 index 78e63e3..0000000 --- a/public/dist/js/chunk-3ebcaff1.b3f1815c.js +++ /dev/null @@ -1,4 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-3ebcaff1"],{"0a5a":function(t,e,n){"use strict";n.d(e,"a",(function(){return o})),n.d(e,"b",(function(){return a}));var r="admin_token";function o(){return localStorage.getItem("token")}function a(){return localStorage.removeItem(r)}},"23ba":function(t,e,n){"use strict";n.d(e,"e",(function(){return o})),n.d(e,"a",(function(){return a})),n.d(e,"f",(function(){return i})),n.d(e,"c",(function(){return s})),n.d(e,"d",(function(){return u})),n.d(e,"b",(function(){return c}));var r=n("adb5");function o(t){return Object(r["a"])({url:"/api/group",method:"get",params:t})}function a(t){return Object(r["a"])({url:"/api/group",method:"post",data:t})}function i(t){return Object(r["a"])({url:"/api/group/".concat(t),method:"get"})}function s(t,e){return Object(r["a"])({url:"/api/group/".concat(t),method:"patch",data:e})}function u(t){return Object(r["a"])({url:"/api/groupGoods",method:"get",params:t})}function c(t){return Object(r["a"])({url:"/api/groupGoods",method:"post",params:t})}},"323e":function(t,e,n){var r,o; -/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT */(function(a,i){r=i,o="function"===typeof r?r.call(e,n,e,t):r,void 0===o||(t.exports=o)})(0,(function(){var t={version:"0.2.0"},e=t.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:'
'};function n(t,e,n){return tn?n:t}function r(t){return 100*(-1+t)}function o(t,n,o){var a;return a="translate3d"===e.positionUsing?{transform:"translate3d("+r(t)+"%,0,0)"}:"translate"===e.positionUsing?{transform:"translate("+r(t)+"%,0)"}:{"margin-left":r(t)+"%"},a.transition="all "+n+"ms "+o,a}t.configure=function(t){var n,r;for(n in t)r=t[n],void 0!==r&&t.hasOwnProperty(n)&&(e[n]=r);return this},t.status=null,t.set=function(r){var s=t.isStarted();r=n(r,e.minimum,1),t.status=1===r?null:r;var u=t.render(!s),c=u.querySelector(e.barSelector),l=e.speed,d=e.easing;return u.offsetWidth,a((function(n){""===e.positionUsing&&(e.positionUsing=t.getPositioningCSS()),i(c,o(r,l,d)),1===r?(i(u,{transition:"none",opacity:1}),u.offsetWidth,setTimeout((function(){i(u,{transition:"all "+l+"ms linear",opacity:0}),setTimeout((function(){t.remove(),n()}),l)}),l)):setTimeout(n,l)})),this},t.isStarted=function(){return"number"===typeof t.status},t.start=function(){t.status||t.set(0);var n=function(){setTimeout((function(){t.status&&(t.trickle(),n())}),e.trickleSpeed)};return e.trickle&&n(),this},t.done=function(e){return e||t.status?t.inc(.3+.5*Math.random()).set(1):this},t.inc=function(e){var r=t.status;return r?("number"!==typeof e&&(e=(1-r)*n(Math.random()*r,.1,.95)),r=n(r+e,0,.994),t.set(r)):t.start()},t.trickle=function(){return t.inc(Math.random()*e.trickleRate)},function(){var e=0,n=0;t.promise=function(r){return r&&"resolved"!==r.state()?(0===n&&t.start(),e++,n++,r.always((function(){n--,0===n?(e=0,t.done()):t.set((e-n)/e)})),this):this}}(),t.render=function(n){if(t.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var o=document.createElement("div");o.id="nprogress",o.innerHTML=e.template;var a,s=o.querySelector(e.barSelector),c=n?"-100":r(t.status||0),l=document.querySelector(e.parent);return i(s,{transition:"all 0 linear",transform:"translate3d("+c+"%,0,0)"}),e.showSpinner||(a=o.querySelector(e.spinnerSelector),a&&d(a)),l!=document.body&&u(l,"nprogress-custom-parent"),l.appendChild(o),o},t.remove=function(){c(document.documentElement,"nprogress-busy"),c(document.querySelector(e.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&d(t)},t.isRendered=function(){return!!document.getElementById("nprogress")},t.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var a=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),i=function(){var t=["Webkit","O","Moz","ms"],e={};function n(t){return t.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()}))}function r(e){var n=document.body.style;if(e in n)return e;var r,o=t.length,a=e.charAt(0).toUpperCase()+e.slice(1);while(o--)if(r=t[o]+a,r in n)return r;return e}function o(t){return t=n(t),e[t]||(e[t]=r(t))}function a(t,e,n){e=o(e),t.style[e]=n}return function(t,e){var n,r,o=arguments;if(2==o.length)for(n in e)r=e[n],void 0!==r&&e.hasOwnProperty(n)&&a(t,n,r);else a(t,o[1],o[2])}}();function s(t,e){var n="string"==typeof t?t:l(t);return n.indexOf(" "+e+" ")>=0}function u(t,e){var n=l(t),r=n+e;s(n,e)||(t.className=r.substring(1))}function c(t,e){var n,r=l(t);s(t,e)&&(n=r.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function l(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function d(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return t}))},"548e":function(t,e,n){"use strict";n.r(e);var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-card",{staticClass:"box-card",attrs:{"body-style":{padding:"20px 20px 0 20px"}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0,model:t.formSearch}},[n("el-form-item",{attrs:{label:"店铺"}},[n("el-select",{attrs:{placeholder:"全部"},model:{value:t.formSearch.store_id,callback:function(e){t.$set(t.formSearch,"store_id",e)},expression:"formSearch.store_id"}},t._l(t.stores,(function(t){return n("el-option",{key:t.id,attrs:{label:t.name,value:t.id}})})),1)],1),n("el-form-item",{attrs:{label:"团购状态"}},[n("el-select",{attrs:{placeholder:"团购状态"},model:{value:t.formSearch.status,callback:function(e){t.$set(t.formSearch,"status",e)},expression:"formSearch.status"}},[n("el-option",{attrs:{label:"未开始",value:"-5"}}),n("el-option",{attrs:{label:"跟团中",value:"1"}}),n("el-option",{attrs:{label:"预览中",value:"-10"}}),n("el-option",{attrs:{label:"已结束",value:"20"}})],1)],1),n("el-form-item",{attrs:{label:"活动标题"}},[n("el-input",{attrs:{placeholder:"活动标题"},model:{value:t.formSearch.title,callback:function(e){t.$set(t.formSearch,"title",e)},expression:"formSearch.title"}})],1),n("el-form-item",[n("el-button",{attrs:{type:"primary"},on:{click:function(e){return t.getGroupList()}}},[t._v("查询")]),n("el-button",{attrs:{type:"success"},on:{click:function(e){return t.groupAdd()}}},[t._v("新增团购")])],1)],1)],1),n("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],staticStyle:{width:"100%"},attrs:{data:t.tableData,border:""}},[n("el-table-column",{attrs:{prop:"shop.name",label:"店铺"}}),n("el-table-column",{attrs:{prop:"title",label:"活动标题"}}),n("el-table-column",{attrs:{prop:"status",label:"团购状态"}}),n("el-table-column",{attrs:{label:"开团时间"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("div",[t._v(t._s(e.row.start_time))]),n("div",[t._v("至")]),n("div",[t._v(t._s(e.row.end_time))])]}}])}),n("el-table-column",{attrs:{label:"手机查看"},scopedSlots:t._u([{key:"default",fn:function(t){return[n("el-image",{staticStyle:{width:"100px",height:"100px"},attrs:{src:t.row.ercode}})]}}])}),n("el-table-column",{attrs:{prop:"options",label:"操作"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return t.groupEdit(e.row.id)}}},[t._v("编辑")])]}}])})],1)],1)],1)},o=[],a=n("e692"),i=n("23ba"),s={data:function(){return{formSearch:{store_id:"",status:"",title:"",page:1,per_page:20},stores:[],loading:!1,tableData:[]}},mounted:function(){this.getStoreList(),this.getGroupList()},methods:{getStoreList:function(){var t=this,e={page:0,per_page:999,plat_id:1};Object(a["d"])(e).then((function(e){t.stores=e.data.data}))},getGroupList:function(){var t=this;Object(i["e"])(this.formSearch).then((function(e){t.tableData=e.data.data}))},groupAdd:function(){this.$router.push({path:"GROUP_GOODS_ADD",query:{id:0}})},groupEdit:function(t){this.$router.push({path:"GROUP_GOODS_EDIT",query:{id:t}})}}},u=s,c=n("2877"),l=Object(c["a"])(u,r,o,!1,null,null,null);e["default"]=l.exports},a5d8:function(t,e,n){},adb5:function(t,e,n){"use strict";n("d3b7");var r=n("bc3a"),o=n.n(r),a=n("0a5a"),i=n("323e"),s=n.n(i),u=(n("a5d8"),n("5c96")),c=o.a.create({timeout:3e4});c.interceptors.request.use((function(t){return t.headers.Authorization="Bearer "+Object(a["a"])(),s.a.start(),t}),(function(t){return Promise.reject(t)})),c.interceptors.response.use((function(t){s.a.done();var e=t.status;if(200===e||201===e)return t}),(function(t){return s.a.done(),400===t.response.status&&Object(u["Message"])({message:t.response.data.errorMessage,type:"error"}),500===t.response.status&&Object(u["Message"])({message:t.response.data.message,type:"error"}),Promise.reject(t)})),e["a"]=c},e692:function(t,e,n){"use strict";n.d(e,"c",(function(){return o})),n.d(e,"b",(function(){return a})),n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return s})),n.d(e,"e",(function(){return u}));var r=n("adb5");function o(){return Object(r["a"])({url:"/api/shop_platforms",method:"get"})}function a(t){return Object(r["a"])({url:"/api/shops",method:"post",data:t})}function i(t){return Object(r["a"])({url:"/api/shops",method:"get",params:t})}function s(t){return Object(r["a"])({url:"/api/download/".concat(t,"/goods"),method:"get"})}function u(t,e){return Object(r["a"])({url:"/api/shops/".concat(t),method:"patch",params:e})}}}]); -//# sourceMappingURL=chunk-3ebcaff1.b3f1815c.js.map \ No newline at end of file diff --git a/public/dist/js/chunk-3ebcaff1.b3f1815c.js.map b/public/dist/js/chunk-3ebcaff1.b3f1815c.js.map deleted file mode 100644 index b25f3d6..0000000 --- a/public/dist/js/chunk-3ebcaff1.b3f1815c.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/util/auth.js","webpack:///./src/api/group.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./src/views/group/group.vue?0947","webpack:///src/views/group/group.vue","webpack:///./src/views/group/group.vue?b105","webpack:///./src/views/group/group.vue","webpack:///./src/util/http.js","webpack:///./src/api/shop.js"],"names":["TokenKey","getToken","localStorage","getItem","removeToken","removeItem","groupList","params","http","url","method","addGroup","data","showGroup","id","editGroup","getGroupGoods","addGroupGoods","root","factory","this","NProgress","Settings","settings","minimum","easing","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","parent","template","clamp","n","min","max","toBarPerc","barPositionCSS","ease","barCSS","transform","transition","configure","options","key","value","undefined","hasOwnProperty","status","set","started","isStarted","progress","render","bar","querySelector","offsetWidth","queue","next","getPositioningCSS","css","opacity","setTimeout","remove","start","work","done","force","inc","Math","random","amount","initial","current","promise","$promise","state","always","fromStart","isRendered","document","getElementById","addClass","documentElement","createElement","innerHTML","spinner","perc","removeElement","body","appendChild","removeClass","bodyStyle","style","vendorPrefix","pending","fn","shift","push","length","cssPrefixes","cssProps","camelCase","string","replace","match","letter","toUpperCase","getVendorProp","name","vendorName","i","capName","charAt","slice","getStyleProp","applyCss","element","prop","properties","args","arguments","hasClass","list","classList","indexOf","oldList","newList","className","substring","parentNode","removeChild","_vm","_h","$createElement","_c","_self","staticClass","attrs","padding","formSearch","model","callback","$$v","$set","expression","_l","store","on","$event","getGroupList","_v","groupAdd","staticStyle","directives","rawName","tableData","scopedSlots","_u","scope","_s","row","start_time","end_time","ercode","groupEdit","staticRenderFns","component","instance","axios","create","timeout","interceptors","request","use","config","headers","Authorization","error","Promise","reject","response","res","Message","message","errorMessage","type","shopListId","shopAdd","storeList","downloadGoods","updateStore"],"mappings":"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","file":"js/chunk-3ebcaff1.b3f1815c.js","sourcesContent":["const TokenKey = \"admin_token\";\n// 获取token\nexport function getToken() {\n return localStorage.getItem(\"token\");\n}\n// 设置token\nexport function setToken(token) {\n return localStorage.setItem(TokenKey, token);\n}\n// 删除token\nexport function removeToken() {\n return localStorage.removeItem(TokenKey);\n}\n","import http from \"@/util/http.js\";\n\n// 团购管理列表\nexport function groupList(params) {\n return http({\n url: \"/api/group\",\n method: \"get\",\n params\n });\n}\n\n// 新增\nexport function addGroup(data) {\n return http({\n url: \"/api/group\",\n method: \"post\",\n data,\n });\n}\n\n// 查看\nexport function showGroup(id) {\n return http({\n url: `/api/group/${id}`,\n method: \"get\",\n });\n}\n\n// 编辑\nexport function editGroup(id, data) {\n return http({\n url: `/api/group/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 获取团购商品列表\nexport function getGroupGoods(params) {\n return http({\n url: `/api/groupGoods`,\n method: \"get\",\n params,\n });\n}\n\n// 增加团购商品\nexport function addGroupGoods(params) {\n return http({\n url: `/api/groupGoods`,\n method: \"post\",\n params,\n });\n}\n","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',{staticClass:\"box-card\",attrs:{\"body-style\":{ padding: '20px 20px 0 20px' }}},[_c('el-form',{staticClass:\"demo-form-inline\",attrs:{\"inline\":true,\"model\":_vm.formSearch}},[_c('el-form-item',{attrs:{\"label\":\"店铺\"}},[_c('el-select',{attrs:{\"placeholder\":\"全部\"},model:{value:(_vm.formSearch.store_id),callback:function ($$v) {_vm.$set(_vm.formSearch, \"store_id\", $$v)},expression:\"formSearch.store_id\"}},_vm._l((_vm.stores),function(store){return _c('el-option',{key:store.id,attrs:{\"label\":store.name,\"value\":store.id}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"团购状态\"}},[_c('el-select',{attrs:{\"placeholder\":\"团购状态\"},model:{value:(_vm.formSearch.status),callback:function ($$v) {_vm.$set(_vm.formSearch, \"status\", $$v)},expression:\"formSearch.status\"}},[_c('el-option',{attrs:{\"label\":\"未开始\",\"value\":\"-5\"}}),_c('el-option',{attrs:{\"label\":\"跟团中\",\"value\":\"1\"}}),_c('el-option',{attrs:{\"label\":\"预览中\",\"value\":\"-10\"}}),_c('el-option',{attrs:{\"label\":\"已结束\",\"value\":\"20\"}})],1)],1),_c('el-form-item',{attrs:{\"label\":\"活动标题\"}},[_c('el-input',{attrs:{\"placeholder\":\"活动标题\"},model:{value:(_vm.formSearch.title),callback:function ($$v) {_vm.$set(_vm.formSearch, \"title\", $$v)},expression:\"formSearch.title\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.getGroupList();}}},[_vm._v(\"查询\")]),_c('el-button',{attrs:{\"type\":\"success\"},on:{\"click\":function($event){return _vm.groupAdd();}}},[_vm._v(\"新增团购\")])],1)],1)],1),_c('el-card',{staticClass:\"box-card\",staticStyle:{\"margin-top\":\"10px\"}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableData,\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"shop.name\",\"label\":\"店铺\"}}),_c('el-table-column',{attrs:{\"prop\":\"title\",\"label\":\"活动标题\"}}),_c('el-table-column',{attrs:{\"prop\":\"status\",\"label\":\"团购状态\"}}),_c('el-table-column',{attrs:{\"label\":\"开团时间\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(scope.row.start_time))]),_c('div',[_vm._v(\"至\")]),_c('div',[_vm._v(_vm._s(scope.row.end_time))])]}}])}),_c('el-table-column',{attrs:{\"label\":\"手机查看\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-image',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"src\":scope.row.ercode}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"options\",\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.groupEdit(scope.row.id)}}},[_vm._v(\"编辑\")])]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./group.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./group.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./group.vue?vue&type=template&id=bad77e16&\"\nimport script from \"./group.vue?vue&type=script&lang=js&\"\nexport * from \"./group.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from \"axios\";\nimport { getToken } from \"@/util/auth\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport { Message } from \"element-ui\";\nvar instance = axios.create({\n timeout: 30000,\n});\n\ninstance.interceptors.request.use(\n (config) => {\n // config.headers['content-type'] = 'application/json'\n\n // config.headers['Shop-Id'] = localStorage.getItem('shopId') || 1\n\n // 在发送请求之前做些什么\n // config.headers['content-type'] = 'application/json'\n config.headers.Authorization = \"Bearer \" + getToken(); // 请求头\n NProgress.start();\n return config;\n },\n (error) => {\n // 对请求错误做些什么\n return Promise.reject(error);\n }\n);\n\n// 添加响应拦截器\ninstance.interceptors.response.use(\n (response) => {\n NProgress.done();\n const res = response.status;\n // 对响应数据做点什么\n if (res === 200 || res === 201) {\n return response;\n }\n },\n (error) => {\n NProgress.done();\n // 对响应错误做点什么\n if (error.response.status === 400) {\n Message({\n message: error.response.data.errorMessage,\n type: \"error\",\n });\n }\n\n if (error.response.status === 500) {\n Message({\n message: error.response.data.message,\n type: \"error\",\n });\n }\n return Promise.reject(error);\n }\n);\n\nexport default instance;\n","import http from \"@/util/http.js\";\n\n// 店铺管理页面请求\n\n// 店铺平台\nexport function shopListId() {\n return http({\n url: \"/api/shop_platforms\",\n method: \"get\",\n });\n}\n// 店铺新增\nexport function shopAdd(data) {\n return http({\n url: \"/api/shops\",\n method: \"post\",\n data,\n });\n}\n// 店铺列表\nexport function storeList(params) {\n return http({\n url: \"/api/shops\",\n method: \"get\",\n params,\n });\n}\n\n// 下载商品\nexport function downloadGoods(id) {\n return http({\n url: `/api/download/${id}/goods`,\n method: \"get\",\n });\n}\n\nexport function updateStore(id, params) {\n return http({\n url: `/api/shops/${id}`,\n method: \"patch\",\n params,\n });\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/public/dist/js/chunk-5782cef6.379f5198.js b/public/dist/js/chunk-5782cef6.379f5198.js deleted file mode 100644 index 5ee7a2f..0000000 --- a/public/dist/js/chunk-5782cef6.379f5198.js +++ /dev/null @@ -1,4 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5782cef6"],{"04d1":function(t,e,o){var r=o("342f"),n=r.match(/firefox\/(\d+)/i);t.exports=!!n&&+n[1]},"0a5a":function(t,e,o){"use strict";o.d(e,"a",(function(){return n})),o.d(e,"b",(function(){return a}));var r="admin_token";function n(){return localStorage.getItem("token")}function a(){return localStorage.removeItem(r)}},"23ba":function(t,e,o){"use strict";o.d(e,"e",(function(){return n})),o.d(e,"a",(function(){return a})),o.d(e,"f",(function(){return s})),o.d(e,"c",(function(){return i})),o.d(e,"d",(function(){return u})),o.d(e,"b",(function(){return d}));var r=o("adb5");function n(t){return Object(r["a"])({url:"/api/group",method:"get",params:t})}function a(t){return Object(r["a"])({url:"/api/group",method:"post",data:t})}function s(t){return Object(r["a"])({url:"/api/group/".concat(t),method:"get"})}function i(t,e){return Object(r["a"])({url:"/api/group/".concat(t),method:"patch",data:e})}function u(t){return Object(r["a"])({url:"/api/groupGoods",method:"get",params:t})}function d(t){return Object(r["a"])({url:"/api/groupGoods",method:"post",params:t})}},"323e":function(t,e,o){var r,n; -/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT */(function(a,s){r=s,n="function"===typeof r?r.call(e,o,e,t):r,void 0===n||(t.exports=n)})(0,(function(){var t={version:"0.2.0"},e=t.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:'
'};function o(t,e,o){return to?o:t}function r(t){return 100*(-1+t)}function n(t,o,n){var a;return a="translate3d"===e.positionUsing?{transform:"translate3d("+r(t)+"%,0,0)"}:"translate"===e.positionUsing?{transform:"translate("+r(t)+"%,0)"}:{"margin-left":r(t)+"%"},a.transition="all "+o+"ms "+n,a}t.configure=function(t){var o,r;for(o in t)r=t[o],void 0!==r&&t.hasOwnProperty(o)&&(e[o]=r);return this},t.status=null,t.set=function(r){var i=t.isStarted();r=o(r,e.minimum,1),t.status=1===r?null:r;var u=t.render(!i),d=u.querySelector(e.barSelector),l=e.speed,c=e.easing;return u.offsetWidth,a((function(o){""===e.positionUsing&&(e.positionUsing=t.getPositioningCSS()),s(d,n(r,l,c)),1===r?(s(u,{transition:"none",opacity:1}),u.offsetWidth,setTimeout((function(){s(u,{transition:"all "+l+"ms linear",opacity:0}),setTimeout((function(){t.remove(),o()}),l)}),l)):setTimeout(o,l)})),this},t.isStarted=function(){return"number"===typeof t.status},t.start=function(){t.status||t.set(0);var o=function(){setTimeout((function(){t.status&&(t.trickle(),o())}),e.trickleSpeed)};return e.trickle&&o(),this},t.done=function(e){return e||t.status?t.inc(.3+.5*Math.random()).set(1):this},t.inc=function(e){var r=t.status;return r?("number"!==typeof e&&(e=(1-r)*o(Math.random()*r,.1,.95)),r=o(r+e,0,.994),t.set(r)):t.start()},t.trickle=function(){return t.inc(Math.random()*e.trickleRate)},function(){var e=0,o=0;t.promise=function(r){return r&&"resolved"!==r.state()?(0===o&&t.start(),e++,o++,r.always((function(){o--,0===o?(e=0,t.done()):t.set((e-o)/e)})),this):this}}(),t.render=function(o){if(t.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var n=document.createElement("div");n.id="nprogress",n.innerHTML=e.template;var a,i=n.querySelector(e.barSelector),d=o?"-100":r(t.status||0),l=document.querySelector(e.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+d+"%,0,0)"}),e.showSpinner||(a=n.querySelector(e.spinnerSelector),a&&c(a)),l!=document.body&&u(l,"nprogress-custom-parent"),l.appendChild(n),n},t.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(e.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&c(t)},t.isRendered=function(){return!!document.getElementById("nprogress")},t.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var a=function(){var t=[];function e(){var o=t.shift();o&&o(e)}return function(o){t.push(o),1==t.length&&e()}}(),s=function(){var t=["Webkit","O","Moz","ms"],e={};function o(t){return t.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()}))}function r(e){var o=document.body.style;if(e in o)return e;var r,n=t.length,a=e.charAt(0).toUpperCase()+e.slice(1);while(n--)if(r=t[n]+a,r in o)return r;return e}function n(t){return t=o(t),e[t]||(e[t]=r(t))}function a(t,e,o){e=n(e),t.style[e]=o}return function(t,e){var o,r,n=arguments;if(2==n.length)for(o in e)r=e[o],void 0!==r&&e.hasOwnProperty(o)&&a(t,o,r);else a(t,n[1],n[2])}}();function i(t,e){var o="string"==typeof t?t:l(t);return o.indexOf(" "+e+" ")>=0}function u(t,e){var o=l(t),r=o+e;i(o,e)||(t.className=r.substring(1))}function d(t,e){var o,r=l(t);i(t,e)&&(o=r.replace(" "+e+" "," "),t.className=o.substring(1,o.length-1))}function l(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function c(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return t}))},"4e82":function(t,e,o){"use strict";var r=o("23e7"),n=o("1c0b"),a=o("7b0b"),s=o("50c4"),i=o("d039"),u=o("addb"),d=o("a640"),l=o("04d1"),c=o("d998"),p=o("2d00"),g=o("512ce"),f=[],h=f.sort,m=i((function(){f.sort(void 0)})),b=i((function(){f.sort(null)})),_=d("sort"),v=!i((function(){if(p)return p<70;if(!(l&&l>3)){if(c)return!0;if(g)return g<603;var t,e,o,r,n="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:o=3;break;case 68:case 71:o=4;break;default:o=2}for(r=0;r<47;r++)f.push({k:e+r,v:o})}for(f.sort((function(t,e){return e.v-t.v})),r=0;rString(o)?1:-1}};r({target:"Array",proto:!0,forced:y},{sort:function(t){void 0!==t&&n(t);var e=a(this);if(v)return void 0===t?h.call(e):h.call(e,t);var o,r,i=[],d=s(e.length);for(r=0;r0&&void 0!==arguments[0]?arguments[0]:1;this.groupGoodsSearch.page=e,this.groupGoodsSearch.new_ids=this.goodsList.new_ids,Object(s["d"])(this.groupGoodsSearch).then((function(e){t.groupGoods=e.data,t.groupGoods.data.forEach((function(e,o){void 0!==t.changeData[e.id]&&(t.groupGoods.data[o].sort=t.changeData[e.id].sort,t.groupGoods.data[o].limit_buy=t.changeData[e.id].limit_buy,t.groupGoods.data[o].price_in_fen=t.changeData[e.id].price_in_fen)})),t.groupGoods.meta.per_page=parseInt(t.groupGoods.meta.per_page)}))},getGoupInfo:function(t){var e=this;Object(s["f"])(t).then((function(t){e.group=t.data.data,e.group.datetimerange=[e.group.start_time,e.group.end_time]}))},getgoodsType:function(){var t=this,e={per_page:9999};Object(i["h"])(e).then((function(e){t.types=e.data.data}))},getbrandType:function(){var t=this,e={per_page:9999};Object(i["c"])(e).then((function(e){t.brands=e.data.data}))},batchRemove:function(){var t=this;this.$refs.multipleTableGroup.selection.forEach((function(e){t.groupGoodsSearch.delete_ids.push(e.id);var o=t.goodsList.has_ids.indexOf(e.id);o>0&&delete t.goodsList.has_ids[o]})),this.$refs.multipleTableGroup.clearSelection(),this.getGroupGoodsList()},remove:function(t){var e=this;this.groupGoodsSearch.delete_ids.push(t.id),this.goodsList.has_ids.forEach((function(o,r){o==t.id&&delete e.goodsList.has_ids[r]})),this.getGroupGoodsList()},handleCellChange:function(t){this.changeData[t.id]={id:t.id,sort:t.sort,limit_buy:t.limit_buy,price_in_fen:t.price_in_fen}},importGoods:function(){this.group.shop_id?(this.dialogTitle="您的商品库中已有 "+this.groupGoods.meta.total+" 件商品",this.goodsSearch(),this.centerDialogVisible=!0):this.$message.error("请先选择店铺")},goodsSearch:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.goodsList.page=e,this.goodsList.per_page=this.goodsListPage.per_page,this.goodsList.group_id=this.groupGoodsSearch.group_id,this.goodsList.delete_ids=this.groupGoodsSearch.delete_ids,this.goodsLoading=!0,Object(u["c"])(this.goodsList).then((function(e){t.goods=e.data,t.goods.meta.per_page=parseInt(t.goods.meta.per_page),t.goods.data.forEach((function(e,o){void 0!==t.selectGoods[e.id]&&t.$refs.multipleTable.toggleRowSelection(e,!0)})),t.goodsLoading=!1})),1===e&&this.getAllGoods(this.goodsList)},getAllGoods:function(t){var e=this;t.page=1,t.per_page=9999,Object(u["c"])(t).then((function(t){e.allGoods=t.data.data}))},handleSizeChange:function(t){this.goodsListPage.per_page=t,this.goodsSearch()},getRowKeys:function(t){return t.id},toggleSelection:function(t){var e=this;t?(this.allGoods.forEach((function(t,o){void 0===e.selectGoods[t.id]&&e.selectNum++,e.selectGoods[t.id]=1})),this.goods.data.forEach((function(t,o){e.$refs.multipleTable.toggleRowSelection(t,!0)}))):(this.allGoods.forEach((function(t,o){void 0!==e.selectGoods[t.id]&&(delete e.selectGoods[t.id],e.selectNum--)})),this.$refs.multipleTable.clearSelection())},handleSelect:function(t,e){void 0===this.selectGoods[e.id]?(this.selectGoods[e.id]=1,this.selectNum++):(delete this.selectGoods[e.id],this.selectNum--)},resetForm:function(){this.$refs.goodsList.resetFields(),this.goodsSearch()},addGoods:function(){var t=this;this.selectGoods.forEach((function(e,o){void 0!==o&&(t.goodsList.new_ids.push(o),t.goodsList.has_ids.push(o))})),this.getGroupGoodsList(),this.$refs.goodsList.resetFields(),this.$refs.multipleTable.clearSelection(),this.selectGoods=[],this.selectNum=0,this.centerDialogVisible=!1},selectCurrentGoods:function(t){var e=this;t.length?(t.forEach((function(t){void 0===e.selectGoods[t.id]&&(e.selectGoods[t.id]=1)})),this.selectNum+=t.length):(this.goods.data.forEach((function(t){void 0!==e.selectGoods[t.id]&&delete e.selectGoods[t.id]})),this.selectNum-=this.goods.data.length)}}},l=d,c=o("2877"),p=Object(c["a"])(l,r,n,!1,null,null,null);e["default"]=p.exports},"6d71":function(t,e,o){"use strict";o.d(e,"h",(function(){return n})),o.d(e,"e",(function(){return a})),o.d(e,"b",(function(){return s})),o.d(e,"g",(function(){return i})),o.d(e,"c",(function(){return u})),o.d(e,"d",(function(){return d})),o.d(e,"a",(function(){return l})),o.d(e,"f",(function(){return c}));var r=o("adb5");function n(t){return Object(r["a"])({url:"/api/goods_types",method:"get",params:t})}function a(t){return Object(r["a"])({url:"/api/goods_types/".concat(t),method:"delete"})}function s(t){return Object(r["a"])({url:"/api/goods_types/",method:"post",data:t})}function i(t,e){return Object(r["a"])({url:"/api/goods_types/".concat(t),method:"patch",data:e})}function u(t){return Object(r["a"])({url:"/api/goods_brands",method:"get",params:t})}function d(t){return Object(r["a"])({url:"/api/goods_brands/".concat(t),method:"delete"})}function l(t){return Object(r["a"])({url:"/api/goods_brands",method:"post",data:t})}function c(t,e){return Object(r["a"])({url:"/api/goods_brands/".concat(t),method:"patch",data:e})}},a5d8:function(t,e,o){},adb5:function(t,e,o){"use strict";o("d3b7");var r=o("bc3a"),n=o.n(r),a=o("0a5a"),s=o("323e"),i=o.n(s),u=(o("a5d8"),o("5c96")),d=n.a.create({timeout:3e4});d.interceptors.request.use((function(t){return t.headers.Authorization="Bearer "+Object(a["a"])(),i.a.start(),t}),(function(t){return Promise.reject(t)})),d.interceptors.response.use((function(t){i.a.done();var e=t.status;if(200===e||201===e)return t}),(function(t){return i.a.done(),400===t.response.status&&Object(u["Message"])({message:t.response.data.errorMessage,type:"error"}),500===t.response.status&&Object(u["Message"])({message:t.response.data.message,type:"error"}),Promise.reject(t)})),e["a"]=d},addb:function(t,e){var o=Math.floor,r=function(t,e){var s=t.length,i=o(s/2);return s<8?n(t,e):a(r(t.slice(0,i),e),r(t.slice(i),e),e)},n=function(t,e){var o,r,n=t.length,a=1;while(a0)t[r]=t[--r];r!==a++&&(t[r]=o)}return t},a=function(t,e,o){var r=t.length,n=e.length,a=0,s=0,i=[];while(a
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return String(x) > String(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aFunction(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort.call(array) : nativeSort.call(array, comparefn);\n\n var items = [];\n var arrayLength = toLength(array.length);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) items.push(array[index]);\n }\n\n items = internalSort(items, getSortCompare(comparefn));\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',{staticClass:\"box-card\",staticStyle:{\"margin-top\":\"10px\"}},[_c('el-form',{ref:\"group\",attrs:{\"rules\":_vm.rules,\"model\":_vm.group,\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"店铺\",\"prop\":\"shop_id\"}},[_c('el-select',{attrs:{\"disabled\":true},model:{value:(_vm.group.shop_id),callback:function ($$v) {_vm.$set(_vm.group, \"shop_id\", $$v)},expression:\"group.shop_id\"}},_vm._l((_vm.stores),function(store){return _c('el-option',{key:store.id,attrs:{\"label\":store.name,\"value\":store.id}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"活动标题\",\"prop\":\"title\"}},[_c('el-input',{staticStyle:{\"width\":\"500px\"},attrs:{\"type\":\"textarea\"},model:{value:(_vm.group.title),callback:function ($$v) {_vm.$set(_vm.group, \"title\", $$v)},expression:\"group.title\"}})],1),_c('el-form-item',{attrs:{\"label\":\"团购商品\"}},[_c('el-button',{on:{\"click\":function($event){return _vm.importGoods()}}},[_vm._v(\"从商品列表导入\")]),_c('el-input',{staticStyle:{\"margin-left\":\"20px\",\"width\":\"400px\"},attrs:{\"placeholder\":\"搜索商品名称、编码\"},model:{value:(_vm.groupGoodsSearch.external_sku_id),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"external_sku_id\", $$v)},expression:\"groupGoodsSearch.external_sku_id\"}},[_c('el-button',{attrs:{\"slot\":\"append\"},on:{\"click\":function($event){return _vm.getGroupGoodsList();}},slot:\"append\"},[_vm._v(\"查询\")])],1),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('span',{staticStyle:{\"margin-right\":\"20px\"}},[_vm._v(\"商品状态\")]),_c('el-radio-group',{on:{\"change\":function($event){return _vm.getGroupGoodsList()}},model:{value:(_vm.groupGoodsSearch.has_stock),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"has_stock\", $$v)},expression:\"groupGoodsSearch.has_stock\"}},[_c('el-radio',{attrs:{\"label\":0}},[_vm._v(\"全部\")]),_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\"在售中\")]),_c('el-radio',{attrs:{\"label\":-1}},[_vm._v(\"已售罄\")])],1)],1),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('span',{staticStyle:{\"margin-right\":\"20px\"}},[_vm._v(\"商品分类\")]),_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.getGroupGoodsList()}},model:{value:(_vm.groupGoodsSearch.type_id),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"type_id\", $$v)},expression:\"groupGoodsSearch.type_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.types),function(goodsType){return _c('el-radio-button',{key:goodsType.id,attrs:{\"label\":goodsType.id}},[_vm._v(\" \"+_vm._s(goodsType.name))])})],2)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.groupLoading),expression:\"groupLoading\"}],ref:\"multipleTableGroup\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.groupGoods.data,\"border\":\"\",\"height\":\"800\",\"row-key\":_vm.getRowKeys}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true,\"width\":\"55\"}}),_c('el-table-column',{attrs:{\"label\":\"排序\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"排序\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.sort),callback:function ($$v) {_vm.$set(scope.row, \"sort\", $$v)},expression:\"scope.row.sort\"}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"goods_name\",\"label\":\" 商品名称\"}}),_c('el-table-column',{attrs:{\"prop\":\"external_sku_id\",\"label\":\"编码\"}}),_c('el-table-column',{attrs:{\"prop\":\"category_name\",\"label\":\"分类\"}}),_c('el-table-column',{attrs:{\"prop\":\"stock\",\"label\":\"库存\"}}),_c('el-table-column',{attrs:{\"label\":\"限购数量\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"限购数量\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.limit_buy),callback:function ($$v) {_vm.$set(scope.row, \"limit_buy\", $$v)},expression:\"scope.row.limit_buy\"}})]}}])}),_c('el-table-column',{attrs:{\"label\":\"价格\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"价格\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.price_in_fen),callback:function ($$v) {_vm.$set(scope.row, \"price_in_fen\", $$v)},expression:\"scope.row.price_in_fen\"}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"options\",\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.remove(scope.row)}}},[_vm._v(\"删除\")])]}}])})],1),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"line-height\":\"32px\",\"margin-top\":\"20px\"}},[_c('el-button',{attrs:{\"type\":\"danger\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.batchRemove();}}},[_vm._v(\"批量删除\")]),_c('el-pagination',{attrs:{\"current-page\":_vm.groupGoods.meta.current_page,\"page-sizes\":[20, 30, 50, 100],\"page-size\":_vm.groupGoods.meta.per_page,\"layout\":\"sizes, prev, pager, next\",\"total\":_vm.groupGoods.meta.total},on:{\"size-change\":_vm.handleSizeChangeGroup,\"current-change\":_vm.getGroupGoodsList,\"update:currentPage\":function($event){return _vm.$set(_vm.groupGoods.meta, \"current_page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.groupGoods.meta, \"current_page\", $event)}}})],1)],1),_c('el-form-item',{attrs:{\"label\":\"团购时间\",\"prop\":\"datetimerange\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetimerange\",\"range-separator\":\"至\",\"start-placeholder\":\"开始时间\",\"end-placeholder\":\"结束时间\",\"value-format\":\"yyyy-MM-dd HH:mm:ss\"},model:{value:(_vm.group.datetimerange),callback:function ($$v) {_vm.$set(_vm.group, \"datetimerange\", $$v)},expression:\"group.datetimerange\"}})],1),_c('el-form-item',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"flex-end\"}},[_c('el-button',{attrs:{\"type\":\"success\"},on:{\"click\":function($event){return _vm.onEdit();}}},[_vm._v(\"修改团购\")])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.dialogTitle,\"visible\":_vm.centerDialogVisible,\"width\":\"80%\",\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.centerDialogVisible=$event}}},[_c('el-form',{ref:\"goodsList\",attrs:{\"model\":_vm.goodsList,\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"商品分类\",\"prop\":\"type_id\"}},[_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.goodsSearch()}},model:{value:(_vm.goodsList.type_id),callback:function ($$v) {_vm.$set(_vm.goodsList, \"type_id\", $$v)},expression:\"goodsList.type_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.types),function(goodsType){return _c('el-radio-button',{key:goodsType.id,attrs:{\"label\":goodsType.id}},[_vm._v(\" \"+_vm._s(goodsType.name))])})],2)],1),_c('el-form-item',{attrs:{\"label\":\"商品品牌\",\"prop\":\"brand_id\"}},[_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.goodsSearch()}},model:{value:(_vm.goodsList.brand_id),callback:function ($$v) {_vm.$set(_vm.goodsList, \"brand_id\", $$v)},expression:\"goodsList.brand_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.brands),function(goodsBrand){return _c('el-radio-button',{key:goodsBrand.id,attrs:{\"label\":goodsBrand.id}},[_vm._v(\" \"+_vm._s(goodsBrand.name))])})],2)],1),_c('el-form-item',{attrs:{\"label\":\"搜索\",\"prop\":\"goods_keyword\"}},[_c('el-input',{staticStyle:{\"width\":\"400px\"},attrs:{\"placeholder\":\"搜索商品名称、编码\"},model:{value:(_vm.goodsList.goods_keyword),callback:function ($$v) {_vm.$set(_vm.goodsList, \"goods_keyword\", $$v)},expression:\"goodsList.goods_keyword\"}}),_c('el-radio-group',{staticStyle:{\"margin\":\"0 30px\"},model:{value:(_vm.goodsList.has_stock),callback:function ($$v) {_vm.$set(_vm.goodsList, \"has_stock\", $$v)},expression:\"goodsList.has_stock\"}},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\"有库存\")]),_c('el-radio',{attrs:{\"label\":0}},[_vm._v(\"全部\")])],1),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.goodsSearch();}}},[_vm._v(\"查询\")]),_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){return _vm.resetForm()}}},[_vm._v(\"重置\")])],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.goodsLoading),expression:\"goodsLoading\"}],ref:\"multipleTable\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.goods.data,\"border\":\"\",\"height\":\"520\",\"row-key\":_vm.getRowKeys},on:{\"select\":_vm.handleSelect,\"select-all\":_vm.selectCurrentGoods}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true,\"width\":\"55\"}}),_c('el-table-column',{attrs:{\"label\":\"商品信息\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.title + ' ' + scope.row.title)+\" \")]}}])}),_c('el-table-column',{attrs:{\"label\":\"编码\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.goods_code + '_' + scope.row.sku_code)+\" \")]}}])}),_c('el-table-column',{attrs:{\"label\":\"品牌\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.brand ? scope.row.goods.brand.name : '')+\" \")]}}])}),_c('el-table-column',{attrs:{\"prop\":\"goods.type.name\",\"label\":\"分类\"}}),_c('el-table-column',{attrs:{\"prop\":\"num\",\"label\":\"库存\"}})],1),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row-reverse\",\"align-items\":\"center\",\"margin-top\":\"10px\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.goods.meta.current_page,\"page-sizes\":[20, 30, 50, 100],\"page-size\":_vm.goods.meta.per_page,\"layout\":\"sizes, prev, pager, next\",\"total\":_vm.goods.meta.total},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.goodsSearch,\"update:currentPage\":function($event){return _vm.$set(_vm.goods.meta, \"current_page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.goods.meta, \"current_page\", $event)}}})],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"}},[_c('div',[_c('el-button',{on:{\"click\":function($event){return _vm.toggleSelection(1)}}},[_vm._v(\"全选\")]),_c('el-button',{on:{\"click\":function($event){return _vm.toggleSelection(0)}}},[_vm._v(\"取消全选\")])],1),_c('div',[_vm._v(\"已选 \"+_vm._s(_vm.selectNum)+\" 件\")]),_c('div',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.addGoods();}}},[_vm._v(\"确 定\")]),_c('el-button',{on:{\"click\":function($event){_vm.centerDialogVisible = false}}},[_vm._v(\"取 消\")])],1)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./editGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./editGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./editGroup.vue?vue&type=template&id=15435ad1&\"\nimport script from \"./editGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./editGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import http from \"@/util/http.js\";\n\nexport function postadd(params) {\n // 传递id\n return http({\n url: \"/api/admin/auth/login\",\n method: \"post\",\n params: params,\n });\n}\n\n// 列表\nexport function store_list(params) {\n return http({\n url: \"/api/admin/shopGroups\",\n method: \"get\",\n params: params,\n });\n}\n\nexport function storeDetail(params) {\n return http({\n url: \"/storess/show\",\n method: \"get\",\n params: params,\n });\n}\n\n// 商品种类列表\nexport function goods_types(params) {\n return http({\n url: \"/api/goods_types\",\n method: \"get\",\n params,\n });\n}\n// 商品种类列表删除\nexport function Delgoods_types(id) {\n return http({\n url: `/api/goods_types/${id}`,\n method: \"delete\",\n });\n}\n// 新增种类\nexport function Addgoods_types(data) {\n return http({\n url: \"/api/goods_types/\",\n method: \"post\",\n data,\n });\n}\n// 编辑种类\nexport function editGoods_types(id, data) {\n return http({\n url: `/api/goods_types/${id}`,\n method: \"patch\",\n data,\n });\n}\n// 商品品牌列表\nexport function Brand_goods_types(params) {\n return http({\n url: \"/api/goods_brands\",\n method: \"get\",\n params\n });\n}\n// 商品品牌列表删除\nexport function DelBrand_goods_types(id) {\n return http({\n url: `/api/goods_brands/${id}`,\n method: \"delete\",\n });\n}\n// 新增品牌\nexport function AddBrandgoods_types(data) {\n return http({\n url: \"/api/goods_brands\",\n method: \"post\",\n data,\n });\n}\n// 编辑品牌\nexport function editBrand_types(id, data) {\n return http({\n url: `/api/goods_brands/${id}`,\n method: \"patch\",\n data,\n });\n}\n","import axios from \"axios\";\nimport { getToken } from \"@/util/auth\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport { Message } from \"element-ui\";\nvar instance = axios.create({\n timeout: 30000,\n});\n\ninstance.interceptors.request.use(\n (config) => {\n // config.headers['content-type'] = 'application/json'\n\n // config.headers['Shop-Id'] = localStorage.getItem('shopId') || 1\n\n // 在发送请求之前做些什么\n // config.headers['content-type'] = 'application/json'\n config.headers.Authorization = \"Bearer \" + getToken(); // 请求头\n NProgress.start();\n return config;\n },\n (error) => {\n // 对请求错误做些什么\n return Promise.reject(error);\n }\n);\n\n// 添加响应拦截器\ninstance.interceptors.response.use(\n (response) => {\n NProgress.done();\n const res = response.status;\n // 对响应数据做点什么\n if (res === 200 || res === 201) {\n return response;\n }\n },\n (error) => {\n NProgress.done();\n // 对响应错误做点什么\n if (error.response.status === 400) {\n Message({\n message: error.response.data.errorMessage,\n type: \"error\",\n });\n }\n\n if (error.response.status === 500) {\n Message({\n message: error.response.data.message,\n type: \"error\",\n });\n }\n return Promise.reject(error);\n }\n);\n\nexport default instance;\n","// TODO: use something more complex like timsort?\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n mergeSort(array.slice(0, middle), comparefn),\n mergeSort(array.slice(middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n var result = [];\n\n while (lindex < llength || rindex < rlength) {\n if (lindex < llength && rindex < rlength) {\n result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]);\n } else {\n result.push(lindex < llength ? left[lindex++] : right[rindex++]);\n }\n } return result;\n};\n\nmodule.exports = mergeSort;\n","import http from \"@/util/http.js\";\n\n//店铺订单\nexport function shops(params) {\n return http({\n url: \"/api/count/orders/num\",\n method: \"get\",\n params,\n });\n}\n\n// 商品管理列表\nexport function goods(params) {\n return http({\n url: \"/api/goods_skus\",\n method: \"get\",\n params,\n });\n}\n// 新建商品\nexport function addGoods(data) {\n return http({\n url: \"/api/goods\",\n method: \"post\",\n data,\n });\n}\n// 查看商品\nexport function checkGoods(id) {\n return http({\n url: `/api/goods_skus/${id}`,\n method: \"get\",\n });\n}\n// 商品列表\nexport function goodsList(params) {\n return http({\n url: \"/api/goods\",\n method: \"get\",\n params,\n });\n}\n// 更新商品\nexport function updateGoods(id, data) {\n return http({\n url: `/api/goods_skus/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 上新/库存盘点/库存\nexport function update(data) {\n return http({\n url: \"/api/batch/goods_skus\",\n method: \"patch\",\n data,\n });\n}\n\n// 单个字段更新\nexport function singleUpdate(id, data) {\n return http({\n url: `/api/single/goods_skus/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 图片上传\nexport function imgUpload(data, item) {\n return http({\n url: \"/api/upload\",\n Headers: item,\n method: \"post\",\n data,\n });\n}\n\n// 表格导出\nexport function tableExport(params) {\n return http({\n url: \"/goods_skus/export\",\n method: \"get\",\n params,\n });\n}\n\n// 商品列表(添加)\nexport function getGoodsList(params) {\n return http({\n url: \"/api/goodsList\",\n method: \"get\",\n params,\n });\n}\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","import http from \"@/util/http.js\";\n\n// 店铺管理页面请求\n\n// 店铺平台\nexport function shopListId() {\n return http({\n url: \"/api/shop_platforms\",\n method: \"get\",\n });\n}\n// 店铺新增\nexport function shopAdd(data) {\n return http({\n url: \"/api/shops\",\n method: \"post\",\n data,\n });\n}\n// 店铺列表\nexport function storeList(params) {\n return http({\n url: \"/api/shops\",\n method: \"get\",\n params,\n });\n}\n\n// 下载商品\nexport function downloadGoods(id) {\n return http({\n url: `/api/download/${id}/goods`,\n method: \"get\",\n });\n}\n\nexport function updateStore(id, params) {\n return http({\n url: `/api/shops/${id}`,\n method: \"patch\",\n params,\n });\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/public/dist/js/chunk-904e5abc.3cea2bdf.js b/public/dist/js/chunk-904e5abc.3cea2bdf.js new file mode 100644 index 0000000..396b311 --- /dev/null +++ b/public/dist/js/chunk-904e5abc.3cea2bdf.js @@ -0,0 +1,4 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-904e5abc"],{"0a5a":function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n.d(e,"b",(function(){return o}));var r="admin_token";function a(){return localStorage.getItem("token")}function o(){return localStorage.removeItem(r)}},"23ba":function(t,e,n){"use strict";n.d(e,"e",(function(){return a})),n.d(e,"a",(function(){return o})),n.d(e,"f",(function(){return i})),n.d(e,"c",(function(){return s})),n.d(e,"d",(function(){return u})),n.d(e,"b",(function(){return c}));var r=n("adb5");function a(t){return Object(r["a"])({url:"/api/group",method:"get",params:t})}function o(t){return Object(r["a"])({url:"/api/group",method:"post",data:t})}function i(t){return Object(r["a"])({url:"/api/group/".concat(t),method:"get"})}function s(t,e){return Object(r["a"])({url:"/api/group/".concat(t),method:"patch",data:e})}function u(t){return Object(r["a"])({url:"/api/groupGoods",method:"get",params:t})}function c(t){return Object(r["a"])({url:"/api/groupGoods",method:"post",params:t})}},"323e":function(t,e,n){var r,a; +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */(function(o,i){r=i,a="function"===typeof r?r.call(e,n,e,t):r,void 0===a||(t.exports=a)})(0,(function(){var t={version:"0.2.0"},e=t.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:'
'};function n(t,e,n){return tn?n:t}function r(t){return 100*(-1+t)}function a(t,n,a){var o;return o="translate3d"===e.positionUsing?{transform:"translate3d("+r(t)+"%,0,0)"}:"translate"===e.positionUsing?{transform:"translate("+r(t)+"%,0)"}:{"margin-left":r(t)+"%"},o.transition="all "+n+"ms "+a,o}t.configure=function(t){var n,r;for(n in t)r=t[n],void 0!==r&&t.hasOwnProperty(n)&&(e[n]=r);return this},t.status=null,t.set=function(r){var s=t.isStarted();r=n(r,e.minimum,1),t.status=1===r?null:r;var u=t.render(!s),c=u.querySelector(e.barSelector),l=e.speed,d=e.easing;return u.offsetWidth,o((function(n){""===e.positionUsing&&(e.positionUsing=t.getPositioningCSS()),i(c,a(r,l,d)),1===r?(i(u,{transition:"none",opacity:1}),u.offsetWidth,setTimeout((function(){i(u,{transition:"all "+l+"ms linear",opacity:0}),setTimeout((function(){t.remove(),n()}),l)}),l)):setTimeout(n,l)})),this},t.isStarted=function(){return"number"===typeof t.status},t.start=function(){t.status||t.set(0);var n=function(){setTimeout((function(){t.status&&(t.trickle(),n())}),e.trickleSpeed)};return e.trickle&&n(),this},t.done=function(e){return e||t.status?t.inc(.3+.5*Math.random()).set(1):this},t.inc=function(e){var r=t.status;return r?("number"!==typeof e&&(e=(1-r)*n(Math.random()*r,.1,.95)),r=n(r+e,0,.994),t.set(r)):t.start()},t.trickle=function(){return t.inc(Math.random()*e.trickleRate)},function(){var e=0,n=0;t.promise=function(r){return r&&"resolved"!==r.state()?(0===n&&t.start(),e++,n++,r.always((function(){n--,0===n?(e=0,t.done()):t.set((e-n)/e)})),this):this}}(),t.render=function(n){if(t.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var a=document.createElement("div");a.id="nprogress",a.innerHTML=e.template;var o,s=a.querySelector(e.barSelector),c=n?"-100":r(t.status||0),l=document.querySelector(e.parent);return i(s,{transition:"all 0 linear",transform:"translate3d("+c+"%,0,0)"}),e.showSpinner||(o=a.querySelector(e.spinnerSelector),o&&d(o)),l!=document.body&&u(l,"nprogress-custom-parent"),l.appendChild(a),a},t.remove=function(){c(document.documentElement,"nprogress-busy"),c(document.querySelector(e.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&d(t)},t.isRendered=function(){return!!document.getElementById("nprogress")},t.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var o=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),i=function(){var t=["Webkit","O","Moz","ms"],e={};function n(t){return t.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()}))}function r(e){var n=document.body.style;if(e in n)return e;var r,a=t.length,o=e.charAt(0).toUpperCase()+e.slice(1);while(a--)if(r=t[a]+o,r in n)return r;return e}function a(t){return t=n(t),e[t]||(e[t]=r(t))}function o(t,e,n){e=a(e),t.style[e]=n}return function(t,e){var n,r,a=arguments;if(2==a.length)for(n in e)r=e[n],void 0!==r&&e.hasOwnProperty(n)&&o(t,n,r);else o(t,a[1],a[2])}}();function s(t,e){var n="string"==typeof t?t:l(t);return n.indexOf(" "+e+" ")>=0}function u(t,e){var n=l(t),r=n+e;s(n,e)||(t.className=r.substring(1))}function c(t,e){var n,r=l(t);s(t,e)&&(n=r.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function l(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function d(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return t}))},"548e":function(t,e,n){"use strict";n.r(e);var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-card",{staticClass:"box-card",attrs:{"body-style":{padding:"20px 20px 0 20px"}}},[n("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0,model:t.formSearch}},[n("el-form-item",{attrs:{label:"团购状态"}},[n("el-select",{attrs:{placeholder:"团购状态"},model:{value:t.formSearch.status,callback:function(e){t.$set(t.formSearch,"status",e)},expression:"formSearch.status"}},[n("el-option",{attrs:{label:"未开始",value:"-5"}}),n("el-option",{attrs:{label:"跟团中",value:"1"}}),n("el-option",{attrs:{label:"预览中",value:"-10"}}),n("el-option",{attrs:{label:"已结束",value:"20"}})],1)],1),n("el-form-item",{attrs:{label:"活动标题"}},[n("el-input",{attrs:{placeholder:"活动标题"},model:{value:t.formSearch.title,callback:function(e){t.$set(t.formSearch,"title",e)},expression:"formSearch.title"}})],1),n("el-form-item",[n("el-button",{attrs:{type:"primary"},on:{click:function(e){return t.getGroupList()}}},[t._v("查询")]),n("el-button",{attrs:{type:"success"},on:{click:function(e){return t.groupAdd()}}},[t._v("新增团购")])],1)],1)],1),n("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],staticStyle:{width:"100%"},attrs:{data:t.tableData,border:"","row-key":"id","tree-props":{children:"children"}}},[n("el-table-column",{attrs:{prop:"shop.name",label:"店铺"}}),n("el-table-column",{attrs:{prop:"title",label:"活动标题"}}),n("el-table-column",{attrs:{prop:"status",label:"团购状态"}}),n("el-table-column",{attrs:{label:"开团时间"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("div",[t._v(t._s(e.row.start_time))]),n("div",[t._v("至")]),n("div",[t._v(t._s(e.row.end_time))])]}}])}),n("el-table-column",{attrs:{label:"手机查看"},scopedSlots:t._u([{key:"default",fn:function(t){return[n("el-image",{staticStyle:{width:"100px",height:"100px"},attrs:{src:t.row.qr_code_url}})]}}])}),n("el-table-column",{attrs:{prop:"create_status",label:"创建结果"}}),n("el-table-column",{attrs:{prop:"options",label:"操作"},scopedSlots:t._u([{key:"default",fn:function(e){return[0==e.row.parent_id?n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return t.groupEdit(e.row.id)}}},[t._v("编辑")]):t._e()]}}])})],1)],1)],1)},a=[],o=n("23ba"),i={data:function(){return{formSearch:{status:"",title:"",page:1,per_page:20},loading:!0,tableData:[]}},mounted:function(){this.getGroupList()},methods:{getGroupList:function(){var t=this;Object(o["e"])(this.formSearch).then((function(e){t.tableData=e.data.data,t.loading=!1}))},groupAdd:function(){this.$router.push({path:"GROUP_GOODS_ADD",query:{id:0}})},groupEdit:function(t){this.$router.push({path:"GROUP_GOODS_EDIT",query:{id:t}})}}},s=i,u=n("2877"),c=Object(u["a"])(s,r,a,!1,null,null,null);e["default"]=c.exports},a5d8:function(t,e,n){},adb5:function(t,e,n){"use strict";n("d3b7");var r=n("bc3a"),a=n.n(r),o=n("0a5a"),i=n("323e"),s=n.n(i),u=(n("a5d8"),n("5c96")),c=a.a.create({timeout:3e4});c.interceptors.request.use((function(t){return t.headers.Authorization="Bearer "+Object(o["a"])(),s.a.start(),t}),(function(t){return Promise.reject(t)})),c.interceptors.response.use((function(t){s.a.done();var e=t.status;if(200===e||201===e)return t}),(function(t){return s.a.done(),400===t.response.status&&Object(u["Message"])({message:t.response.data.errorMessage,type:"error"}),500===t.response.status&&Object(u["Message"])({message:t.response.data.message,type:"error"}),Promise.reject(t)})),e["a"]=c}}]); +//# sourceMappingURL=chunk-904e5abc.3cea2bdf.js.map \ No newline at end of file diff --git a/public/dist/js/chunk-904e5abc.3cea2bdf.js.map b/public/dist/js/chunk-904e5abc.3cea2bdf.js.map new file mode 100644 index 0000000..fc2077e --- /dev/null +++ b/public/dist/js/chunk-904e5abc.3cea2bdf.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/util/auth.js","webpack:///./src/api/group.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./src/views/group/group.vue?0798","webpack:///src/views/group/group.vue","webpack:///./src/views/group/group.vue?b105","webpack:///./src/views/group/group.vue","webpack:///./src/util/http.js"],"names":["TokenKey","getToken","localStorage","getItem","removeToken","removeItem","groupList","params","http","url","method","addGroup","data","showGroup","id","editGroup","getGroupGoods","addGroupGoods","root","factory","this","NProgress","Settings","settings","minimum","easing","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","parent","template","clamp","n","min","max","toBarPerc","barPositionCSS","ease","barCSS","transform","transition","configure","options","key","value","undefined","hasOwnProperty","status","set","started","isStarted","progress","render","bar","querySelector","offsetWidth","queue","next","getPositioningCSS","css","opacity","setTimeout","remove","start","work","done","force","inc","Math","random","amount","initial","current","promise","$promise","state","always","fromStart","isRendered","document","getElementById","addClass","documentElement","createElement","innerHTML","spinner","perc","removeElement","body","appendChild","removeClass","bodyStyle","style","vendorPrefix","pending","fn","shift","push","length","cssPrefixes","cssProps","camelCase","string","replace","match","letter","toUpperCase","getVendorProp","name","vendorName","i","capName","charAt","slice","getStyleProp","applyCss","element","prop","properties","args","arguments","hasClass","list","classList","indexOf","oldList","newList","className","substring","parentNode","removeChild","_vm","_h","$createElement","_c","_self","staticClass","attrs","padding","formSearch","model","callback","$$v","$set","expression","on","$event","getGroupList","_v","groupAdd","staticStyle","directives","rawName","tableData","children","scopedSlots","_u","scope","_s","row","start_time","end_time","qr_code_url","parent_id","groupEdit","_e","staticRenderFns","component","instance","axios","create","timeout","interceptors","request","use","config","headers","Authorization","error","Promise","reject","response","res","Message","message","errorMessage","type"],"mappings":"kHAAA,wEAAMA,EAAW,cAEV,SAASC,IACd,OAAOC,aAAaC,QAAQ,SAOvB,SAASC,IACd,OAAOF,aAAaG,WAAWL,K,oCCXjC,4NAGO,SAASM,EAAUC,GACtB,OAAOC,eAAK,CACRC,IAAK,aACLC,OAAQ,MACRH,WAKD,SAASI,EAASC,GACrB,OAAOJ,eAAK,CACRC,IAAK,aACLC,OAAQ,OACRE,SAKD,SAASC,EAAUC,GACtB,OAAON,eAAK,CACRC,IAAK,cAAF,OAAgBK,GACnBJ,OAAQ,QAKT,SAASK,EAAUD,EAAIF,GAC1B,OAAOJ,eAAK,CACRC,IAAK,cAAF,OAAgBK,GACnBJ,OAAQ,QACRE,SAKD,SAASI,EAAcT,GAC1B,OAAOC,eAAK,CACRC,IAAK,kBACLC,OAAQ,MACRH,WAKD,SAASU,EAAcV,GAC1B,OAAOC,eAAK,CACRC,IAAK,kBACLC,OAAQ,OACRH,a,uBCnDR;;mBAGC,SAAUW,EAAMC,GAGb,IAAc,qEAHjB,CAUEC,GAAM,WACP,IAAIC,EAAY,CAEhB,QAAoB,SAEhBC,EAAWD,EAAUE,SAAW,CAClCC,QAAS,IACTC,OAAQ,OACRC,cAAe,GACfC,MAAO,IACPC,SAAS,EACTC,YAAa,IACbC,aAAc,IACdC,aAAa,EACbC,YAAa,eACbC,gBAAiB,mBACjBC,OAAQ,OACRC,SAAU,uIA6QZ,SAASC,EAAMC,EAAGC,EAAKC,GACrB,OAAIF,EAAIC,EAAYA,EAChBD,EAAIE,EAAYA,EACbF,EAQT,SAASG,EAAUH,GACjB,OAAkB,MAAT,EAAIA,GASf,SAASI,EAAeJ,EAAGV,EAAOe,GAChC,IAAIC,EAYJ,OATEA,EAD6B,gBAA3BrB,EAASI,cACF,CAAEkB,UAAW,eAAeJ,EAAUH,GAAG,UACd,cAA3Bf,EAASI,cACT,CAAEkB,UAAW,aAAaJ,EAAUH,GAAG,QAEvC,CAAE,cAAeG,EAAUH,GAAG,KAGzCM,EAAOE,WAAa,OAAOlB,EAAM,MAAMe,EAEhCC,EArSTtB,EAAUyB,UAAY,SAASC,GAC7B,IAAIC,EAAKC,EACT,IAAKD,KAAOD,EACVE,EAAQF,EAAQC,QACFE,IAAVD,GAAuBF,EAAQI,eAAeH,KAAM1B,EAAS0B,GAAOC,GAG1E,OAAO7B,MAOTC,EAAU+B,OAAS,KASnB/B,EAAUgC,IAAM,SAAShB,GACvB,IAAIiB,EAAUjC,EAAUkC,YAExBlB,EAAID,EAAMC,EAAGf,EAASE,QAAS,GAC/BH,EAAU+B,OAAgB,IAANf,EAAU,KAAOA,EAErC,IAAImB,EAAWnC,EAAUoC,QAAQH,GAC7BI,EAAWF,EAASG,cAAcrC,EAASU,aAC3CL,EAAWL,EAASK,MACpBe,EAAWpB,EAASG,OAkCxB,OAhCA+B,EAASI,YAETC,GAAM,SAASC,GAEkB,KAA3BxC,EAASI,gBAAsBJ,EAASI,cAAgBL,EAAU0C,qBAGtEC,EAAIN,EAAKjB,EAAeJ,EAAGV,EAAOe,IAExB,IAANL,GAEF2B,EAAIR,EAAU,CACZX,WAAY,OACZoB,QAAS,IAEXT,EAASI,YAETM,YAAW,WACTF,EAAIR,EAAU,CACZX,WAAY,OAASlB,EAAQ,YAC7BsC,QAAS,IAEXC,YAAW,WACT7C,EAAU8C,SACVL,MACCnC,KACFA,IAEHuC,WAAWJ,EAAMnC,MAIdP,MAGTC,EAAUkC,UAAY,WACpB,MAAmC,kBAArBlC,EAAU+B,QAU1B/B,EAAU+C,MAAQ,WACX/C,EAAU+B,QAAQ/B,EAAUgC,IAAI,GAErC,IAAIgB,EAAO,WACTH,YAAW,WACJ7C,EAAU+B,SACf/B,EAAUO,UACVyC,OACC/C,EAASQ,eAKd,OAFIR,EAASM,SAASyC,IAEfjD,MAeTC,EAAUiD,KAAO,SAASC,GACxB,OAAKA,GAAUlD,EAAU+B,OAElB/B,EAAUmD,IAAI,GAAM,GAAMC,KAAKC,UAAUrB,IAAI,GAFZjC,MAS1CC,EAAUmD,IAAM,SAASG,GACvB,IAAItC,EAAIhB,EAAU+B,OAElB,OAAKf,GAGmB,kBAAXsC,IACTA,GAAU,EAAItC,GAAKD,EAAMqC,KAAKC,SAAWrC,EAAG,GAAK,MAGnDA,EAAID,EAAMC,EAAIsC,EAAQ,EAAG,MAClBtD,EAAUgC,IAAIhB,IAPdhB,EAAU+C,SAWrB/C,EAAUO,QAAU,WAClB,OAAOP,EAAUmD,IAAIC,KAAKC,SAAWpD,EAASO,cAShD,WACE,IAAI+C,EAAU,EAAGC,EAAU,EAE3BxD,EAAUyD,QAAU,SAASC,GAC3B,OAAKA,GAAiC,aAArBA,EAASC,SAIV,IAAZH,GACFxD,EAAU+C,QAGZQ,IACAC,IAEAE,EAASE,QAAO,WACdJ,IACgB,IAAZA,GACAD,EAAU,EACVvD,EAAUiD,QAEVjD,EAAUgC,KAAKuB,EAAUC,GAAWD,MAInCxD,MApBEA,MALb,GAmCAC,EAAUoC,OAAS,SAASyB,GAC1B,GAAI7D,EAAU8D,aAAc,OAAOC,SAASC,eAAe,aAE3DC,EAASF,SAASG,gBAAiB,kBAEnC,IAAI/B,EAAW4B,SAASI,cAAc,OACtChC,EAAS1C,GAAK,YACd0C,EAASiC,UAAYnE,EAASa,SAE9B,IAGIuD,EAHAhC,EAAWF,EAASG,cAAcrC,EAASU,aAC3C2D,EAAWT,EAAY,OAAS1C,EAAUnB,EAAU+B,QAAU,GAC9DlB,EAAWkD,SAASzB,cAAcrC,EAASY,QAkB/C,OAfA8B,EAAIN,EAAK,CACPb,WAAY,eACZD,UAAW,eAAiB+C,EAAO,WAGhCrE,EAASS,cACZ2D,EAAUlC,EAASG,cAAcrC,EAASW,iBAC1CyD,GAAWE,EAAcF,IAGvBxD,GAAUkD,SAASS,MACrBP,EAASpD,EAAQ,2BAGnBA,EAAO4D,YAAYtC,GACZA,GAOTnC,EAAU8C,OAAS,WACjB4B,EAAYX,SAASG,gBAAiB,kBACtCQ,EAAYX,SAASzB,cAAcrC,EAASY,QAAS,2BACrD,IAAIsB,EAAW4B,SAASC,eAAe,aACvC7B,GAAYoC,EAAcpC,IAO5BnC,EAAU8D,WAAa,WACrB,QAASC,SAASC,eAAe,cAOnChE,EAAU0C,kBAAoB,WAE5B,IAAIiC,EAAYZ,SAASS,KAAKI,MAG1BC,EAAgB,oBAAqBF,EAAa,SAClC,iBAAkBA,EAAa,MAC/B,gBAAiBA,EAAa,KAC9B,eAAgBA,EAAa,IAAM,GAEvD,OAAIE,EAAe,gBAAiBF,EAE3B,cACEE,EAAe,cAAeF,EAEhC,YAGA,UAiDX,IAAInC,EAAQ,WACV,IAAIsC,EAAU,GAEd,SAASrC,IACP,IAAIsC,EAAKD,EAAQE,QACbD,GACFA,EAAGtC,GAIP,OAAO,SAASsC,GACdD,EAAQG,KAAKF,GACS,GAAlBD,EAAQI,QAAazC,KAZjB,GAwBRE,EAAM,WACR,IAAIwC,EAAc,CAAE,SAAU,IAAK,MAAO,MACtCC,EAAc,GAElB,SAASC,EAAUC,GACjB,OAAOA,EAAOC,QAAQ,QAAS,OAAOA,QAAQ,gBAAgB,SAASC,EAAOC,GAC5E,OAAOA,EAAOC,iBAIlB,SAASC,EAAcC,GACrB,IAAIhB,EAAQb,SAASS,KAAKI,MAC1B,GAAIgB,KAAQhB,EAAO,OAAOgB,EAE1B,IAEIC,EAFAC,EAAIX,EAAYD,OAChBa,EAAUH,EAAKI,OAAO,GAAGN,cAAgBE,EAAKK,MAAM,GAExD,MAAOH,IAEL,GADAD,EAAaV,EAAYW,GAAKC,EAC1BF,KAAcjB,EAAO,OAAOiB,EAGlC,OAAOD,EAGT,SAASM,EAAaN,GAEpB,OADAA,EAAOP,EAAUO,GACVR,EAASQ,KAAUR,EAASQ,GAAQD,EAAcC,IAG3D,SAASO,EAASC,EAASC,EAAMzE,GAC/ByE,EAAOH,EAAaG,GACpBD,EAAQxB,MAAMyB,GAAQzE,EAGxB,OAAO,SAASwE,EAASE,GACvB,IACID,EACAzE,EAFA2E,EAAOC,UAIX,GAAmB,GAAfD,EAAKrB,OACP,IAAKmB,KAAQC,EACX1E,EAAQ0E,EAAWD,QACLxE,IAAVD,GAAuB0E,EAAWxE,eAAeuE,IAAOF,EAASC,EAASC,EAAMzE,QAGtFuE,EAASC,EAASG,EAAK,GAAIA,EAAK,KA9C5B,GAuDV,SAASE,EAASL,EAASR,GACzB,IAAIc,EAAyB,iBAAXN,EAAsBA,EAAUO,EAAUP,GAC5D,OAAOM,EAAKE,QAAQ,IAAMhB,EAAO,MAAQ,EAO3C,SAAS3B,EAASmC,EAASR,GACzB,IAAIiB,EAAUF,EAAUP,GACpBU,EAAUD,EAAUjB,EAEpBa,EAASI,EAASjB,KAGtBQ,EAAQW,UAAYD,EAAQE,UAAU,IAOxC,SAAStC,EAAY0B,EAASR,GAC5B,IACIkB,EADAD,EAAUF,EAAUP,GAGnBK,EAASL,EAASR,KAGvBkB,EAAUD,EAAQtB,QAAQ,IAAMK,EAAO,IAAK,KAG5CQ,EAAQW,UAAYD,EAAQE,UAAU,EAAGF,EAAQ5B,OAAS,IAS5D,SAASyB,EAAUP,GACjB,OAAQ,KAAOA,EAAQW,WAAa,IAAM,KAAKxB,QAAQ,QAAS,KAOlE,SAAShB,EAAc6B,GACrBA,GAAWA,EAAQa,YAAcb,EAAQa,WAAWC,YAAYd,GAGlE,OAAOpG,M,2CCzdT,IAAIoC,EAAS,WAAa,IAAI+E,EAAIpH,KAASqH,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,UAAU,CAACE,YAAY,WAAWC,MAAM,CAAC,aAAa,CAAEC,QAAS,sBAAuB,CAACJ,EAAG,UAAU,CAACE,YAAY,mBAAmBC,MAAM,CAAC,QAAS,EAAK,MAAQN,EAAIQ,aAAa,CAACL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,QAAQG,MAAM,CAAChG,MAAOuF,EAAIQ,WAAiB,OAAEE,SAAS,SAAUC,GAAMX,EAAIY,KAAKZ,EAAIQ,WAAY,SAAUG,IAAME,WAAW,sBAAsB,CAACV,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,MAAM,MAAQ,QAAQH,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,MAAM,MAAQ,OAAOH,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,MAAM,MAAQ,SAASH,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,MAAM,MAAQ,SAAS,IAAI,GAAGH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,YAAc,QAAQG,MAAM,CAAChG,MAAOuF,EAAIQ,WAAgB,MAAEE,SAAS,SAAUC,GAAMX,EAAIY,KAAKZ,EAAIQ,WAAY,QAASG,IAAME,WAAW,uBAAuB,GAAGV,EAAG,eAAe,CAACA,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,WAAWQ,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOf,EAAIgB,kBAAmB,CAAChB,EAAIiB,GAAG,QAAQd,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,WAAWQ,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOf,EAAIkB,cAAe,CAAClB,EAAIiB,GAAG,WAAW,IAAI,IAAI,GAAGd,EAAG,UAAU,CAACE,YAAY,WAAWc,YAAY,CAAC,aAAa,SAAS,CAAChB,EAAG,WAAW,CAACiB,WAAW,CAAC,CAAC3C,KAAK,UAAU4C,QAAQ,YAAY5G,MAAOuF,EAAW,QAAEa,WAAW,YAAYM,YAAY,CAAC,MAAQ,QAAQb,MAAM,CAAC,KAAON,EAAIsB,UAAU,OAAS,GAAG,UAAU,KAAK,aAAa,CAAEC,SAAU,cAAe,CAACpB,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,YAAY,MAAQ,QAAQH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,QAAQ,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,QAAQkB,YAAYxB,EAAIyB,GAAG,CAAC,CAACjH,IAAI,UAAUoD,GAAG,SAAS8D,GAAO,MAAO,CAACvB,EAAG,MAAM,CAACH,EAAIiB,GAAGjB,EAAI2B,GAAGD,EAAME,IAAIC,eAAe1B,EAAG,MAAM,CAACH,EAAIiB,GAAG,OAAOd,EAAG,MAAM,CAACH,EAAIiB,GAAGjB,EAAI2B,GAAGD,EAAME,IAAIE,oBAAoB3B,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,QAAQkB,YAAYxB,EAAIyB,GAAG,CAAC,CAACjH,IAAI,UAAUoD,GAAG,SAAS8D,GAAO,MAAO,CAACvB,EAAG,WAAW,CAACgB,YAAY,CAAC,MAAQ,QAAQ,OAAS,SAASb,MAAM,CAAC,IAAMoB,EAAME,IAAIG,sBAAsB5B,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,gBAAgB,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,UAAU,MAAQ,MAAMkB,YAAYxB,EAAIyB,GAAG,CAAC,CAACjH,IAAI,UAAUoD,GAAG,SAAS8D,GAAO,MAAO,CAAyB,GAAvBA,EAAME,IAAII,UAAgB7B,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,OAAO,KAAO,SAASQ,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOf,EAAIiC,UAAUP,EAAME,IAAItJ,OAAO,CAAC0H,EAAIiB,GAAG,QAAQjB,EAAIkC,aAAa,IAAI,IAAI,IAC5+EC,EAAkB,G,YC0DtB,GACE,KADF,WAEI,MAAJ,CACM,WAAN,CACQ,OAAR,GACQ,MAAR,GACQ,KAAR,EACQ,SAAR,IAEM,SAAN,EACM,UAAN,KAGE,QAbF,WAcI,KAAJ,gBAEE,QAAF,CACI,aADJ,WACM,IAAN,OACM,OAAN,OAAM,CAAN,mCACQ,EAAR,sBACQ,EAAR,eAGI,SAPJ,WAQM,KAAN,cAAQ,KAAR,kBAAQ,MAAR,CAAU,GAAV,MAEI,UAVJ,SAUA,GACM,KAAN,cAAQ,KAAR,mBAAQ,MAAR,CAAU,GAAV,QCtF8V,I,YCO1VC,EAAY,eACd,EACAnH,EACAkH,GACA,EACA,KACA,KACA,MAIa,aAAAC,E,8JCbXC,EAAWC,IAAMC,OAAO,CACxBC,QAAS,MAGbH,EAASI,aAAaC,QAAQC,KAC1B,SAACC,GASG,OAFAA,EAAOC,QAAQC,cAAgB,UAAYrL,iBAC3CoB,IAAU+C,QACHgH,KAEX,SAACG,GAEG,OAAOC,QAAQC,OAAOF,MAK9BV,EAASI,aAAaS,SAASP,KAC3B,SAACO,GACGrK,IAAUiD,OACV,IAAMqH,EAAMD,EAAStI,OAErB,GAAY,MAARuI,GAAuB,MAARA,EACf,OAAOD,KAGf,SAACH,GAgBG,OAfAlK,IAAUiD,OAEoB,MAA1BiH,EAAMG,SAAStI,QACfwI,qBAAQ,CACJC,QAASN,EAAMG,SAAS9K,KAAKkL,aAC7BC,KAAM,UAIgB,MAA1BR,EAAMG,SAAStI,QACfwI,qBAAQ,CACJC,QAASN,EAAMG,SAAS9K,KAAKiL,QAC7BE,KAAM,UAGPP,QAAQC,OAAOF,MAIfV","file":"js/chunk-904e5abc.3cea2bdf.js","sourcesContent":["const TokenKey = \"admin_token\";\n// 获取token\nexport function getToken() {\n return localStorage.getItem(\"token\");\n}\n// 设置token\nexport function setToken(token) {\n return localStorage.setItem(TokenKey, token);\n}\n// 删除token\nexport function removeToken() {\n return localStorage.removeItem(TokenKey);\n}\n","import http from \"@/util/http.js\";\n\n// 团购管理列表\nexport function groupList(params) {\n return http({\n url: \"/api/group\",\n method: \"get\",\n params\n });\n}\n\n// 新增\nexport function addGroup(data) {\n return http({\n url: \"/api/group\",\n method: \"post\",\n data,\n });\n}\n\n// 查看\nexport function showGroup(id) {\n return http({\n url: `/api/group/${id}`,\n method: \"get\",\n });\n}\n\n// 编辑\nexport function editGroup(id, data) {\n return http({\n url: `/api/group/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 获取团购商品列表\nexport function getGroupGoods(params) {\n return http({\n url: `/api/groupGoods`,\n method: \"get\",\n params,\n });\n}\n\n// 增加团购商品\nexport function addGroupGoods(params) {\n return http({\n url: `/api/groupGoods`,\n method: \"post\",\n params,\n });\n}\n","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',{staticClass:\"box-card\",attrs:{\"body-style\":{ padding: '20px 20px 0 20px' }}},[_c('el-form',{staticClass:\"demo-form-inline\",attrs:{\"inline\":true,\"model\":_vm.formSearch}},[_c('el-form-item',{attrs:{\"label\":\"团购状态\"}},[_c('el-select',{attrs:{\"placeholder\":\"团购状态\"},model:{value:(_vm.formSearch.status),callback:function ($$v) {_vm.$set(_vm.formSearch, \"status\", $$v)},expression:\"formSearch.status\"}},[_c('el-option',{attrs:{\"label\":\"未开始\",\"value\":\"-5\"}}),_c('el-option',{attrs:{\"label\":\"跟团中\",\"value\":\"1\"}}),_c('el-option',{attrs:{\"label\":\"预览中\",\"value\":\"-10\"}}),_c('el-option',{attrs:{\"label\":\"已结束\",\"value\":\"20\"}})],1)],1),_c('el-form-item',{attrs:{\"label\":\"活动标题\"}},[_c('el-input',{attrs:{\"placeholder\":\"活动标题\"},model:{value:(_vm.formSearch.title),callback:function ($$v) {_vm.$set(_vm.formSearch, \"title\", $$v)},expression:\"formSearch.title\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.getGroupList();}}},[_vm._v(\"查询\")]),_c('el-button',{attrs:{\"type\":\"success\"},on:{\"click\":function($event){return _vm.groupAdd();}}},[_vm._v(\"新增团购\")])],1)],1)],1),_c('el-card',{staticClass:\"box-card\",staticStyle:{\"margin-top\":\"10px\"}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableData,\"border\":\"\",\"row-key\":\"id\",\"tree-props\":{ children: 'children' }}},[_c('el-table-column',{attrs:{\"prop\":\"shop.name\",\"label\":\"店铺\"}}),_c('el-table-column',{attrs:{\"prop\":\"title\",\"label\":\"活动标题\"}}),_c('el-table-column',{attrs:{\"prop\":\"status\",\"label\":\"团购状态\"}}),_c('el-table-column',{attrs:{\"label\":\"开团时间\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(scope.row.start_time))]),_c('div',[_vm._v(\"至\")]),_c('div',[_vm._v(_vm._s(scope.row.end_time))])]}}])}),_c('el-table-column',{attrs:{\"label\":\"手机查看\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-image',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"src\":scope.row.qr_code_url}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"create_status\",\"label\":\"创建结果\"}}),_c('el-table-column',{attrs:{\"prop\":\"options\",\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.parent_id == 0)?_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.groupEdit(scope.row.id)}}},[_vm._v(\"编辑\")]):_vm._e()]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./group.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./group.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./group.vue?vue&type=template&id=394196d8&\"\nimport script from \"./group.vue?vue&type=script&lang=js&\"\nexport * from \"./group.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from \"axios\";\nimport { getToken } from \"@/util/auth\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport { Message } from \"element-ui\";\nvar instance = axios.create({\n timeout: 30000,\n});\n\ninstance.interceptors.request.use(\n (config) => {\n // config.headers['content-type'] = 'application/json'\n\n // config.headers['Shop-Id'] = localStorage.getItem('shopId') || 1\n\n // 在发送请求之前做些什么\n // config.headers['content-type'] = 'application/json'\n config.headers.Authorization = \"Bearer \" + getToken(); // 请求头\n NProgress.start();\n return config;\n },\n (error) => {\n // 对请求错误做些什么\n return Promise.reject(error);\n }\n);\n\n// 添加响应拦截器\ninstance.interceptors.response.use(\n (response) => {\n NProgress.done();\n const res = response.status;\n // 对响应数据做点什么\n if (res === 200 || res === 201) {\n return response;\n }\n },\n (error) => {\n NProgress.done();\n // 对响应错误做点什么\n if (error.response.status === 400) {\n Message({\n message: error.response.data.errorMessage,\n type: \"error\",\n });\n }\n\n if (error.response.status === 500) {\n Message({\n message: error.response.data.message,\n type: \"error\",\n });\n }\n return Promise.reject(error);\n }\n);\n\nexport default instance;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/public/dist/js/chunk-6995cb27.94c8f05b.js b/public/dist/js/chunk-a3ddd952.dc1ed0be.js similarity index 98% rename from public/dist/js/chunk-6995cb27.94c8f05b.js rename to public/dist/js/chunk-a3ddd952.dc1ed0be.js index 02e6a79..1c2eca0 100644 --- a/public/dist/js/chunk-6995cb27.94c8f05b.js +++ b/public/dist/js/chunk-a3ddd952.dc1ed0be.js @@ -1,4 +1,4 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-6995cb27"],{"0a5a":function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return s}));var i="admin_token";function r(){return localStorage.getItem("token")}function s(){return localStorage.removeItem(i)}},"1dde":function(e,t,n){var i=n("d039"),r=n("b622"),s=n("2d00"),o=r("species");e.exports=function(e){return s>=51||!i((function(){var t=[],n=t.constructor={};return n[o]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},"323e":function(e,t,n){var i,r; +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-a3ddd952"],{"0a5a":function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return s}));var i="admin_token";function r(){return localStorage.getItem("token")}function s(){return localStorage.removeItem(i)}},"1dde":function(e,t,n){var i=n("d039"),r=n("b622"),s=n("2d00"),o=r("species");e.exports=function(e){return s>=51||!i((function(){var t=[],n=t.constructor={};return n[o]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},"323e":function(e,t,n){var i,r; /* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress * @license MIT */(function(s,o){i=o,r="function"===typeof i?i.call(t,n,t,e):i,void 0===r||(e.exports=r)})(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:'
'};function n(e,t,n){return en?n:e}function i(e){return 100*(-1+e)}function r(e,n,r){var s;return s="translate3d"===t.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===t.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"},s.transition="all "+n+"ms "+r,s}e.configure=function(e){var n,i;for(n in e)i=e[n],void 0!==i&&e.hasOwnProperty(n)&&(t[n]=i);return this},e.status=null,e.set=function(i){var a=e.isStarted();i=n(i,t.minimum,1),e.status=1===i?null:i;var l=e.render(!a),u=l.querySelector(t.barSelector),c=t.speed,d=t.easing;return l.offsetWidth,s((function(n){""===t.positionUsing&&(t.positionUsing=e.getPositioningCSS()),o(u,r(i,c,d)),1===i?(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 i=e.status;return i?("number"!==typeof t&&(t=(1-i)*n(Math.random()*i,.1,.95)),i=n(i+t,0,.994),e.set(i)):e.start()},e.trickle=function(){return e.inc(Math.random()*t.trickleRate)},function(){var t=0,n=0;e.promise=function(i){return i&&"resolved"!==i.state()?(0===n&&e.start(),t++,n++,i.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 r=document.createElement("div");r.id="nprogress",r.innerHTML=t.template;var s,a=r.querySelector(t.barSelector),u=n?"-100":i(e.status||0),c=document.querySelector(t.parent);return o(a,{transition:"all 0 linear",transform:"translate3d("+u+"%,0,0)"}),t.showSpinner||(s=r.querySelector(t.spinnerSelector),s&&d(s)),c!=document.body&&l(c,"nprogress-custom-parent"),c.appendChild(r),r},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 s=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 i(t){var n=document.body.style;if(t in n)return t;var i,r=e.length,s=t.charAt(0).toUpperCase()+t.slice(1);while(r--)if(i=e[r]+s,i in n)return i;return t}function r(e){return e=n(e),t[e]||(t[e]=i(e))}function s(e,t,n){t=r(t),e.style[t]=n}return function(e,t){var n,i,r=arguments;if(2==r.length)for(n in t)i=t[n],void 0!==i&&t.hasOwnProperty(n)&&s(e,n,i);else s(e,r[1],r[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),i=n+t;a(n,t)||(e.className=i.substring(1))}function u(e,t){var n,i=c(e);a(e,t)&&(n=i.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}))},a5d8:function(e,t,n){},adb5:function(e,t,n){"use strict";n("d3b7");var i=n("bc3a"),r=n.n(i),s=n("0a5a"),o=n("323e"),a=n.n(o),l=(n("a5d8"),n("5c96")),u=r.a.create({timeout:3e4});u.interceptors.request.use((function(e){return e.headers.Authorization="Bearer "+Object(s["a"])(),a.a.start(),e}),(function(e){return Promise.reject(e)})),u.interceptors.response.use((function(e){a.a.done();var t=e.status;if(200===t||201===t)return e}),(function(e){return a.a.done(),400===e.response.status&&Object(l["Message"])({message:e.response.data.errorMessage,type:"error"}),500===e.response.status&&Object(l["Message"])({message:e.response.data.message,type:"error"}),Promise.reject(e)})),t["a"]=u},d81d:function(e,t,n){"use strict";var i=n("23e7"),r=n("b727").map,s=n("1dde"),o=s("map");i({target:"Array",proto:!0,forced:!o},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}})},f982:function(e,t,n){"use strict";n.r(t);var i=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)},r=[],s=(n("d81d"),n("adb5"));function o(){return Object(s["a"])({url:"/api/roles",method:"get"})}function a(e){return Object(s["a"])({url:"/api/roles",method:"post",data:e})}function l(){return Object(s["a"])({url:"/api/permissions",method:"get"})}function u(e,t){return Object(s["a"])({url:"/api/roles/".concat(e,"/permissions"),method:"post",data:t})}var c={data:function(){return{id:"",loading:!0,tableList:[],rolePermissions:[],newrole:"",dialogVisible:!1,dialogVisible2:!1,permissionIds:[],allpermissionIds:{},Role_Permission:[],defaultProps:{children:"children",label:"name"},isShowtree:!1,chekedKeys:[]}},mounted:function(){this.getroleList(),this.getJurisdiction()},methods:{getroleList:function(){var e=this;o().then((function(t){e.tableList=t.data.data})),this.loading=!1},getJurisdiction:function(){var e=this;l().then((function(t){e.Role_Permission=t.data.data}))},onSubmit:function(){var e=this,t={name:this.newrole};a(t).then((function(t){e.dialogVisible2=!1,e.getroleList(),201==t.status&&e.$message({message:"角色添加成功!",type:"success"})}))},onEdit:function(e){this.id=e.id;var t=e.permissions.map((function(e){return e.id}));this.chekedKeys=t,this.dialogVisible=!0,this.isShowtree=!0},cancel:function(){this.dialogVisible=!1,this.isShowtree=!1},getCheckedKeys:function(){var e=this,t=this.id;this.permissionIds=this.$refs.tree.getCheckedKeys(),this.allpermissionIds={permissionIds:this.permissionIds},u(t,this.allpermissionIds).then((function(t){200===t.status&&(e.dialogVisible=!1,e.getroleList(),e.$message({message:"权限修改成功!",type:"success"}))}))}}},d=c,f=n("2877"),m=Object(f["a"])(d,i,r,!1,null,"7d26d779",null);t["default"]=m.exports}}]); -//# sourceMappingURL=chunk-6995cb27.94c8f05b.js.map \ No newline at end of file +//# sourceMappingURL=chunk-a3ddd952.dc1ed0be.js.map \ No newline at end of file diff --git a/public/dist/js/chunk-6995cb27.94c8f05b.js.map b/public/dist/js/chunk-a3ddd952.dc1ed0be.js.map similarity index 99% rename from public/dist/js/chunk-6995cb27.94c8f05b.js.map rename to public/dist/js/chunk-a3ddd952.dc1ed0be.js.map index f9c8031..54e1949 100644 --- a/public/dist/js/chunk-6995cb27.94c8f05b.js.map +++ b/public/dist/js/chunk-a3ddd952.dc1ed0be.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/util/auth.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./src/util/http.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./src/views/system/role.vue?f815","webpack:///./src/api/role.js","webpack:///src/views/system/role.vue","webpack:///./src/views/system/role.vue?180f","webpack:///./src/views/system/role.vue"],"names":["TokenKey","getToken","localStorage","getItem","removeToken","removeItem","fails","wellKnownSymbol","V8_VERSION","SPECIES","module","exports","METHOD_NAME","array","constructor","foo","Boolean","root","factory","this","NProgress","Settings","settings","minimum","easing","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","parent","template","clamp","n","min","max","toBarPerc","barPositionCSS","ease","barCSS","transform","transition","configure","options","key","value","undefined","hasOwnProperty","status","set","started","isStarted","progress","render","bar","querySelector","offsetWidth","queue","next","getPositioningCSS","css","opacity","setTimeout","remove","start","work","done","force","inc","Math","random","amount","initial","current","promise","$promise","state","always","fromStart","isRendered","document","getElementById","addClass","documentElement","createElement","id","innerHTML","spinner","perc","removeElement","body","appendChild","removeClass","bodyStyle","style","vendorPrefix","pending","fn","shift","push","length","cssPrefixes","cssProps","camelCase","string","replace","match","letter","toUpperCase","getVendorProp","name","vendorName","i","capName","charAt","slice","getStyleProp","applyCss","element","prop","properties","args","arguments","hasClass","list","classList","indexOf","oldList","newList","className","substring","parentNode","removeChild","instance","axios","create","timeout","interceptors","request","use","config","headers","Authorization","error","Promise","reject","response","res","Message","message","data","errorMessage","type","$","$map","map","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","target","proto","forced","callbackfn","_vm","_h","$createElement","_c","_self","staticClass","attrs","dialogVisible2","on","$event","model","callback","$$v","newrole","expression","_v","onSubmit","staticStyle","directives","rawName","tableList","scopedSlots","_u","scope","_l","row","item","_s","onEdit","dialogVisible","ref","Role_Permission","defaultProps","chekedKeys","permissionIds","_e","slot","cancel","getCheckedKeys","staticRenderFns","roleList","http","url","method","roleAdd","jurisdiction","jurisdictionEdit","component"],"mappings":"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","file":"js/chunk-6995cb27.94c8f05b.js","sourcesContent":["const TokenKey = \"admin_token\";\n// 获取token\nexport function getToken() {\n return localStorage.getItem(\"token\");\n}\n// 设置token\nexport function setToken(token) {\n return localStorage.setItem(TokenKey, token);\n}\n// 删除token\nexport function removeToken() {\n return localStorage.removeItem(TokenKey);\n}\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n","import axios from \"axios\";\nimport { getToken } from \"@/util/auth\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport { Message } from \"element-ui\";\nvar instance = axios.create({\n timeout: 30000,\n});\n\ninstance.interceptors.request.use(\n (config) => {\n // config.headers['content-type'] = 'application/json'\n\n // config.headers['Shop-Id'] = localStorage.getItem('shopId') || 1\n\n // 在发送请求之前做些什么\n // config.headers['content-type'] = 'application/json'\n config.headers.Authorization = \"Bearer \" + getToken(); // 请求头\n NProgress.start();\n return config;\n },\n (error) => {\n // 对请求错误做些什么\n return Promise.reject(error);\n }\n);\n\n// 添加响应拦截器\ninstance.interceptors.response.use(\n (response) => {\n NProgress.done();\n const res = response.status;\n // 对响应数据做点什么\n if (res === 200 || res === 201) {\n return response;\n }\n },\n (error) => {\n NProgress.done();\n // 对响应错误做点什么\n if (error.response.status === 400) {\n Message({\n message: error.response.data.errorMessage,\n type: \"error\",\n });\n }\n\n if (error.response.status === 500) {\n Message({\n message: error.response.data.message,\n type: \"error\",\n });\n }\n return Promise.reject(error);\n }\n);\n\nexport default instance;\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"conent\"},[_c('div',{staticClass:\"from\"},[_c('el-dialog',{attrs:{\"title\":\"新增角色\",\"visible\":_vm.dialogVisible2,\"width\":\"30%\",\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.dialogVisible2=$event}}},[_c('div',[_c('el-form',{attrs:{\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"角色名称\"}},[_c('el-input',{model:{value:(_vm.newrole),callback:function ($$v) {_vm.newrole=$$v},expression:\"newrole\"}})],1),_c('div',{staticClass:\"from-btn\"},[_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":function($event){_vm.dialogVisible2 = false}}},[_vm._v(\"取消\")]),_c('el-button',{on:{\"click\":_vm.onSubmit}},[_vm._v(\"确认\")])],1)],1)],1)])],1),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.dialogVisible2 = true}}},[_vm._v(\"新增\")]),_c('div',{staticClass:\"table\",staticStyle:{\"margin-top\":\"10px\"}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableList}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"角色名称\"}}),_c('el-table-column',{attrs:{\"label\":\"权限内容\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._l((scope.row.permissions),function(item){return _c('span',{key:item.id},[_vm._v(_vm._s(item.name)+\" \")])})}}])}),_c('el-table-column',{attrs:{\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{on:{\"click\":function($event){return _vm.onEdit(scope.row)}}},[_vm._v(\"编辑\")])]}}])})],1)],1),_c('el-dialog',{attrs:{\"title\":\"编辑权限\",\"visible\":_vm.dialogVisible,\"width\":\"30%\",\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[(_vm.isShowtree)?_c('el-tree',{ref:\"tree\",attrs:{\"data\":_vm.Role_Permission,\"show-checkbox\":\"\",\"default-expand-all\":false,\"node-key\":\"id\",\"highlight-current\":\"\",\"props\":_vm.defaultProps,\"default-checked-keys\":_vm.chekedKeys},model:{value:(_vm.permissionIds),callback:function ($$v) {_vm.permissionIds=$$v},expression:\"permissionIds\"}}):_vm._e(),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.getCheckedKeys()}}},[_vm._v(\"确 定\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import http from \"@/util/http.js\";\n\n// 角色管理页面请求\nexport function roleList() {\n return http({\n url: \"/api/roles\",\n method: \"get\",\n });\n}\n\n// 角色新增请求\nexport function roleAdd(data) {\n return http({\n url: \"/api/roles\",\n method: \"post\",\n data,\n });\n}\n\n// 角色权限列表请求\nexport function jurisdiction() {\n return http({\n url: \"/api/permissions\",\n method: \"get\",\n });\n}\n\n// 角色权限编辑\nexport function jurisdictionEdit(id, data) {\n return http({\n url: `/api/roles/${id}/permissions`,\n method: \"post\",\n data,\n });\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./role.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./role.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./role.vue?vue&type=template&id=7d26d779&scoped=true&\"\nimport script from \"./role.vue?vue&type=script&lang=js&\"\nexport * from \"./role.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d26d779\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/util/auth.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./src/util/http.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./src/views/system/role.vue?f815","webpack:///./src/api/role.js","webpack:///src/views/system/role.vue","webpack:///./src/views/system/role.vue?180f","webpack:///./src/views/system/role.vue"],"names":["TokenKey","getToken","localStorage","getItem","removeToken","removeItem","fails","wellKnownSymbol","V8_VERSION","SPECIES","module","exports","METHOD_NAME","array","constructor","foo","Boolean","root","factory","this","NProgress","Settings","settings","minimum","easing","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","parent","template","clamp","n","min","max","toBarPerc","barPositionCSS","ease","barCSS","transform","transition","configure","options","key","value","undefined","hasOwnProperty","status","set","started","isStarted","progress","render","bar","querySelector","offsetWidth","queue","next","getPositioningCSS","css","opacity","setTimeout","remove","start","work","done","force","inc","Math","random","amount","initial","current","promise","$promise","state","always","fromStart","isRendered","document","getElementById","addClass","documentElement","createElement","id","innerHTML","spinner","perc","removeElement","body","appendChild","removeClass","bodyStyle","style","vendorPrefix","pending","fn","shift","push","length","cssPrefixes","cssProps","camelCase","string","replace","match","letter","toUpperCase","getVendorProp","name","vendorName","i","capName","charAt","slice","getStyleProp","applyCss","element","prop","properties","args","arguments","hasClass","list","classList","indexOf","oldList","newList","className","substring","parentNode","removeChild","instance","axios","create","timeout","interceptors","request","use","config","headers","Authorization","error","Promise","reject","response","res","Message","message","data","errorMessage","type","$","$map","map","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","target","proto","forced","callbackfn","_vm","_h","$createElement","_c","_self","staticClass","attrs","dialogVisible2","on","$event","model","callback","$$v","newrole","expression","_v","onSubmit","staticStyle","directives","rawName","tableList","scopedSlots","_u","scope","_l","row","item","_s","onEdit","dialogVisible","ref","Role_Permission","defaultProps","chekedKeys","permissionIds","_e","slot","cancel","getCheckedKeys","staticRenderFns","roleList","http","url","method","roleAdd","jurisdiction","jurisdictionEdit","component"],"mappings":"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","file":"js/chunk-a3ddd952.dc1ed0be.js","sourcesContent":["const TokenKey = \"admin_token\";\n// 获取token\nexport function getToken() {\n return localStorage.getItem(\"token\");\n}\n// 设置token\nexport function setToken(token) {\n return localStorage.setItem(TokenKey, token);\n}\n// 删除token\nexport function removeToken() {\n return localStorage.removeItem(TokenKey);\n}\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n","import axios from \"axios\";\nimport { getToken } from \"@/util/auth\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport { Message } from \"element-ui\";\nvar instance = axios.create({\n timeout: 30000,\n});\n\ninstance.interceptors.request.use(\n (config) => {\n // config.headers['content-type'] = 'application/json'\n\n // config.headers['Shop-Id'] = localStorage.getItem('shopId') || 1\n\n // 在发送请求之前做些什么\n // config.headers['content-type'] = 'application/json'\n config.headers.Authorization = \"Bearer \" + getToken(); // 请求头\n NProgress.start();\n return config;\n },\n (error) => {\n // 对请求错误做些什么\n return Promise.reject(error);\n }\n);\n\n// 添加响应拦截器\ninstance.interceptors.response.use(\n (response) => {\n NProgress.done();\n const res = response.status;\n // 对响应数据做点什么\n if (res === 200 || res === 201) {\n return response;\n }\n },\n (error) => {\n NProgress.done();\n // 对响应错误做点什么\n if (error.response.status === 400) {\n Message({\n message: error.response.data.errorMessage,\n type: \"error\",\n });\n }\n\n if (error.response.status === 500) {\n Message({\n message: error.response.data.message,\n type: \"error\",\n });\n }\n return Promise.reject(error);\n }\n);\n\nexport default instance;\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"conent\"},[_c('div',{staticClass:\"from\"},[_c('el-dialog',{attrs:{\"title\":\"新增角色\",\"visible\":_vm.dialogVisible2,\"width\":\"30%\",\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.dialogVisible2=$event}}},[_c('div',[_c('el-form',{attrs:{\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"角色名称\"}},[_c('el-input',{model:{value:(_vm.newrole),callback:function ($$v) {_vm.newrole=$$v},expression:\"newrole\"}})],1),_c('div',{staticClass:\"from-btn\"},[_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":function($event){_vm.dialogVisible2 = false}}},[_vm._v(\"取消\")]),_c('el-button',{on:{\"click\":_vm.onSubmit}},[_vm._v(\"确认\")])],1)],1)],1)])],1),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.dialogVisible2 = true}}},[_vm._v(\"新增\")]),_c('div',{staticClass:\"table\",staticStyle:{\"margin-top\":\"10px\"}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableList}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"角色名称\"}}),_c('el-table-column',{attrs:{\"label\":\"权限内容\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._l((scope.row.permissions),function(item){return _c('span',{key:item.id},[_vm._v(_vm._s(item.name)+\" \")])})}}])}),_c('el-table-column',{attrs:{\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{on:{\"click\":function($event){return _vm.onEdit(scope.row)}}},[_vm._v(\"编辑\")])]}}])})],1)],1),_c('el-dialog',{attrs:{\"title\":\"编辑权限\",\"visible\":_vm.dialogVisible,\"width\":\"30%\",\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[(_vm.isShowtree)?_c('el-tree',{ref:\"tree\",attrs:{\"data\":_vm.Role_Permission,\"show-checkbox\":\"\",\"default-expand-all\":false,\"node-key\":\"id\",\"highlight-current\":\"\",\"props\":_vm.defaultProps,\"default-checked-keys\":_vm.chekedKeys},model:{value:(_vm.permissionIds),callback:function ($$v) {_vm.permissionIds=$$v},expression:\"permissionIds\"}}):_vm._e(),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.getCheckedKeys()}}},[_vm._v(\"确 定\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import http from \"@/util/http.js\";\n\n// 角色管理页面请求\nexport function roleList() {\n return http({\n url: \"/api/roles\",\n method: \"get\",\n });\n}\n\n// 角色新增请求\nexport function roleAdd(data) {\n return http({\n url: \"/api/roles\",\n method: \"post\",\n data,\n });\n}\n\n// 角色权限列表请求\nexport function jurisdiction() {\n return http({\n url: \"/api/permissions\",\n method: \"get\",\n });\n}\n\n// 角色权限编辑\nexport function jurisdictionEdit(id, data) {\n return http({\n url: `/api/roles/${id}/permissions`,\n method: \"post\",\n data,\n });\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./role.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./role.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./role.vue?vue&type=template&id=7d26d779&scoped=true&\"\nimport script from \"./role.vue?vue&type=script&lang=js&\"\nexport * from \"./role.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d26d779\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/public/dist/js/chunk-e35186f0.efed2a2b.js b/public/dist/js/chunk-e35186f0.efed2a2b.js new file mode 100644 index 0000000..9328b32 --- /dev/null +++ b/public/dist/js/chunk-e35186f0.efed2a2b.js @@ -0,0 +1,4 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-e35186f0"],{"0a5a":function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return a}));var n="admin_token";function r(){return localStorage.getItem("token")}function a(){return localStorage.removeItem(n)}},"23ba":function(e,t,o){"use strict";o.d(t,"e",(function(){return r})),o.d(t,"a",(function(){return a})),o.d(t,"f",(function(){return s})),o.d(t,"c",(function(){return i})),o.d(t,"d",(function(){return l})),o.d(t,"b",(function(){return u}));var n=o("adb5");function r(e){return Object(n["a"])({url:"/api/group",method:"get",params:e})}function a(e){return Object(n["a"])({url:"/api/group",method:"post",data:e})}function s(e){return Object(n["a"])({url:"/api/group/".concat(e),method:"get"})}function i(e,t){return Object(n["a"])({url:"/api/group/".concat(e),method:"patch",data:t})}function l(e){return Object(n["a"])({url:"/api/groupGoods",method:"get",params:e})}function u(e){return Object(n["a"])({url:"/api/groupGoods",method:"post",params:e})}},"323e":function(e,t,o){var n,r; +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */(function(a,s){n=s,r="function"===typeof n?n.call(t,o,t,e):n,void 0===r||(e.exports=r)})(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:'
'};function o(e,t,o){return eo?o:e}function n(e){return 100*(-1+e)}function r(e,o,r){var a;return a="translate3d"===t.positionUsing?{transform:"translate3d("+n(e)+"%,0,0)"}:"translate"===t.positionUsing?{transform:"translate("+n(e)+"%,0)"}:{"margin-left":n(e)+"%"},a.transition="all "+o+"ms "+r,a}e.configure=function(e){var o,n;for(o in e)n=e[o],void 0!==n&&e.hasOwnProperty(o)&&(t[o]=n);return this},e.status=null,e.set=function(n){var i=e.isStarted();n=o(n,t.minimum,1),e.status=1===n?null:n;var l=e.render(!i),u=l.querySelector(t.barSelector),c=t.speed,d=t.easing;return l.offsetWidth,a((function(o){""===t.positionUsing&&(t.positionUsing=e.getPositioningCSS()),s(u,r(n,c,d)),1===n?(s(l,{transition:"none",opacity:1}),l.offsetWidth,setTimeout((function(){s(l,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){e.remove(),o()}),c)}),c)):setTimeout(o,c)})),this},e.isStarted=function(){return"number"===typeof e.status},e.start=function(){e.status||e.set(0);var o=function(){setTimeout((function(){e.status&&(e.trickle(),o())}),t.trickleSpeed)};return t.trickle&&o(),this},e.done=function(t){return t||e.status?e.inc(.3+.5*Math.random()).set(1):this},e.inc=function(t){var n=e.status;return n?("number"!==typeof t&&(t=(1-n)*o(Math.random()*n,.1,.95)),n=o(n+t,0,.994),e.set(n)):e.start()},e.trickle=function(){return e.inc(Math.random()*t.trickleRate)},function(){var t=0,o=0;e.promise=function(n){return n&&"resolved"!==n.state()?(0===o&&e.start(),t++,o++,n.always((function(){o--,0===o?(t=0,e.done()):e.set((t-o)/t)})),this):this}}(),e.render=function(o){if(e.isRendered())return document.getElementById("nprogress");l(document.documentElement,"nprogress-busy");var r=document.createElement("div");r.id="nprogress",r.innerHTML=t.template;var a,i=r.querySelector(t.barSelector),u=o?"-100":n(e.status||0),c=document.querySelector(t.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+u+"%,0,0)"}),t.showSpinner||(a=r.querySelector(t.spinnerSelector),a&&d(a)),c!=document.body&&l(c,"nprogress-custom-parent"),c.appendChild(r),r},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 a=function(){var e=[];function t(){var o=e.shift();o&&o(t)}return function(o){e.push(o),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function o(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function n(t){var o=document.body.style;if(t in o)return t;var n,r=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);while(r--)if(n=e[r]+a,n in o)return n;return t}function r(e){return e=o(e),t[e]||(t[e]=n(e))}function a(e,t,o){t=r(t),e.style[t]=o}return function(e,t){var o,n,r=arguments;if(2==r.length)for(o in t)n=t[o],void 0!==n&&t.hasOwnProperty(o)&&a(e,o,n);else a(e,r[1],r[2])}}();function i(e,t){var o="string"==typeof e?e:c(e);return o.indexOf(" "+t+" ")>=0}function l(e,t){var o=c(e),n=o+t;i(o,t)||(e.className=n.substring(1))}function u(e,t){var o,n=c(e);i(e,t)&&(o=n.replace(" "+t+" "," "),e.className=o.substring(1,o.length-1))}function c(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function d(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return e}))},"6d71":function(e,t,o){"use strict";o.d(t,"h",(function(){return r})),o.d(t,"e",(function(){return a})),o.d(t,"b",(function(){return s})),o.d(t,"g",(function(){return i})),o.d(t,"c",(function(){return l})),o.d(t,"d",(function(){return u})),o.d(t,"a",(function(){return c})),o.d(t,"f",(function(){return d}));var n=o("adb5");function r(e){return Object(n["a"])({url:"/api/goods_types",method:"get",params:e})}function a(e){return Object(n["a"])({url:"/api/goods_types/".concat(e),method:"delete"})}function s(e){return Object(n["a"])({url:"/api/goods_types/",method:"post",data:e})}function i(e,t){return Object(n["a"])({url:"/api/goods_types/".concat(e),method:"patch",data:t})}function l(e){return Object(n["a"])({url:"/api/goods_brands",method:"get",params:e})}function u(e){return Object(n["a"])({url:"/api/goods_brands/".concat(e),method:"delete"})}function c(e){return Object(n["a"])({url:"/api/goods_brands",method:"post",data:e})}function d(e,t){return Object(n["a"])({url:"/api/goods_brands/".concat(e),method:"patch",data:t})}},a5d8:function(e,t,o){},adb5:function(e,t,o){"use strict";o("d3b7");var n=o("bc3a"),r=o.n(n),a=o("0a5a"),s=o("323e"),i=o.n(s),l=(o("a5d8"),o("5c96")),u=r.a.create({timeout:3e4});u.interceptors.request.use((function(e){return e.headers.Authorization="Bearer "+Object(a["a"])(),i.a.start(),e}),(function(e){return Promise.reject(e)})),u.interceptors.response.use((function(e){i.a.done();var t=e.status;if(200===t||201===t)return e}),(function(e){return i.a.done(),400===e.response.status&&Object(l["Message"])({message:e.response.data.errorMessage,type:"error"}),500===e.response.status&&Object(l["Message"])({message:e.response.data.message,type:"error"}),Promise.reject(e)})),t["a"]=u},c3b4:function(e,t,o){"use strict";o.r(t);var n=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[o("el-form",{ref:"group",attrs:{rules:e.rules,model:e.group,"label-width":"80px"}},[o("el-form-item",{attrs:{label:"活动标题",prop:"title"}},[o("el-input",{staticStyle:{width:"500px"},attrs:{type:"textarea"},model:{value:e.group.title,callback:function(t){e.$set(e.group,"title",t)},expression:"group.title"}})],1),o("el-form-item",{attrs:{label:"团购商品"}},[o("el-button",{on:{click:function(t){return e.importGoods()}}},[e._v("从商品列表导入")]),o("el-input",{staticStyle:{"margin-left":"20px",width:"400px"},attrs:{placeholder:"搜索商品名称、编码"},model:{value:e.groupGoodsSearch.external_sku_id,callback:function(t){e.$set(e.groupGoodsSearch,"external_sku_id",t)},expression:"groupGoodsSearch.external_sku_id"}},[o("el-button",{attrs:{slot:"append"},on:{click:function(t){return e.getGroupGoodsList()}},slot:"append"},[e._v("查询")])],1),o("div",{staticStyle:{display:"flex","align-items":"center"}},[o("span",{staticStyle:{"margin-right":"20px"}},[e._v("商品状态")]),o("el-radio-group",{on:{change:function(t){return e.getGroupGoodsList()}},model:{value:e.groupGoodsSearch.has_stock,callback:function(t){e.$set(e.groupGoodsSearch,"has_stock",t)},expression:"groupGoodsSearch.has_stock"}},[o("el-radio",{attrs:{label:2}},[e._v("全部")]),o("el-radio",{attrs:{label:1}},[e._v("在售中")]),o("el-radio",{attrs:{label:0}},[e._v("已售罄")])],1)],1),o("div",{staticStyle:{display:"flex","align-items":"center"}},[o("span",{staticStyle:{"margin-right":"20px"}},[e._v("商品分类")]),o("el-radio-group",{attrs:{size:"small"},on:{change:function(t){return e.getGroupGoodsList()}},model:{value:e.groupGoodsSearch.type_id,callback:function(t){e.$set(e.groupGoodsSearch,"type_id",t)},expression:"groupGoodsSearch.type_id"}},[o("el-radio-button",{attrs:{label:"0"}},[e._v("全部")]),e._l(e.types,(function(t){return o("el-radio-button",{key:t.id,attrs:{label:t.id}},[e._v(" "+e._s(t.name))])}))],2)],1),o("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.groupLoading,expression:"groupLoading"}],ref:"multipleTableGroup",staticStyle:{width:"100%"},attrs:{data:e.groupGoods.data,border:"",height:"800","row-key":e.getRowKeys}},[o("el-table-column",{attrs:{type:"selection","reserve-selection":!0,width:"55"}}),o("el-table-column",{attrs:{prop:"goods_name",label:" 商品名称"}}),o("el-table-column",{attrs:{prop:"external_sku_id",label:"编码"}}),o("el-table-column",{attrs:{prop:"category_name",label:"分类"}}),o("el-table-column",{attrs:{prop:"stock",label:"库存"}}),o("el-table-column",{attrs:{label:"限购数量"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("el-input",{attrs:{placeholder:"限购数量"},on:{change:function(o){return e.handleCellChange(t.row)}},model:{value:t.row.limit_buy,callback:function(o){e.$set(t.row,"limit_buy",o)},expression:"scope.row.limit_buy"}})]}}])}),o("el-table-column",{attrs:{label:"成本"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("el-input",{attrs:{placeholder:"成本"},on:{change:function(o){return e.handleCellChange(t.row)}},model:{value:t.row.price_in_fen,callback:function(o){e.$set(t.row,"price_in_fen",o)},expression:"scope.row.price_in_fen"}})]}}])}),o("el-table-column",{attrs:{prop:"options",label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.remove(t.row)}}},[e._v("删除")])]}}])})],1),o("div",{staticStyle:{display:"flex","justify-content":"space-between","align-items":"center","line-height":"32px","margin-top":"20px"}},[o("el-button",{attrs:{type:"danger",size:"small"},on:{click:function(t){return e.batchRemove()}}},[e._v("批量删除")]),o("el-pagination",{attrs:{"current-page":e.groupGoods.meta.current_page,"page-sizes":[20,30,50,100],"page-size":e.groupGoods.meta.per_page,layout:"sizes, prev, pager, next",total:e.groupGoods.meta.total},on:{"size-change":e.handleSizeChangeGroup,"current-change":e.getGroupGoodsList,"update:currentPage":function(t){return e.$set(e.groupGoods.meta,"current_page",t)},"update:current-page":function(t){return e.$set(e.groupGoods.meta,"current_page",t)}}})],1)],1),o("el-form-item",{attrs:{label:"团购时间",prop:"datetimerange"}},[o("el-date-picker",{attrs:{type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"yyyy-MM-dd HH:mm:ss"},model:{value:e.group.datetimerange,callback:function(t){e.$set(e.group,"datetimerange",t)},expression:"group.datetimerange"}})],1),o("el-form-item",{staticStyle:{display:"flex","justify-content":"flex-end"}},[o("el-button",{on:{click:function(t){return e.onAdd(1)}}},[e._v("保存预览")]),o("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.onAdd(0)}}},[e._v("发布")])],1)],1)],1),o("el-dialog",{attrs:{title:e.dialogTitle,visible:e.centerDialogVisible,width:"80%","close-on-click-modal":!1},on:{"update:visible":function(t){e.centerDialogVisible=t}}},[o("el-form",{ref:"goodsList",attrs:{model:e.goodsList,"label-width":"80px"}},[o("el-form-item",{attrs:{label:"商品分类",prop:"type_id"}},[o("el-radio-group",{attrs:{size:"small"},on:{change:function(t){return e.goodsSearch()}},model:{value:e.goodsList.type_id,callback:function(t){e.$set(e.goodsList,"type_id",t)},expression:"goodsList.type_id"}},[o("el-radio-button",{attrs:{label:"0"}},[e._v("全部")]),e._l(e.types,(function(t){return o("el-radio-button",{key:t.id,attrs:{label:t.id}},[e._v(" "+e._s(t.name))])}))],2)],1),o("el-form-item",{attrs:{label:"商品品牌",prop:"brand_id"}},[o("el-radio-group",{attrs:{size:"small"},on:{change:function(t){return e.goodsSearch()}},model:{value:e.goodsList.brand_id,callback:function(t){e.$set(e.goodsList,"brand_id",t)},expression:"goodsList.brand_id"}},[o("el-radio-button",{attrs:{label:"0"}},[e._v("全部")]),e._l(e.brands,(function(t){return o("el-radio-button",{key:t.id,attrs:{label:t.id}},[e._v(" "+e._s(t.name))])}))],2)],1),o("el-form-item",{attrs:{label:"搜索",prop:"goods_keyword"}},[o("el-input",{staticStyle:{width:"400px"},attrs:{placeholder:"搜索商品名称、编码"},model:{value:e.goodsList.goods_keyword,callback:function(t){e.$set(e.goodsList,"goods_keyword",t)},expression:"goodsList.goods_keyword"}}),o("el-radio-group",{staticStyle:{margin:"0 30px"},model:{value:e.goodsList.has_stock,callback:function(t){e.$set(e.goodsList,"has_stock",t)},expression:"goodsList.has_stock"}},[o("el-radio",{attrs:{label:1}},[e._v("有库存")]),o("el-radio",{attrs:{label:0}},[e._v("全部")])],1),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){return e.goodsSearch()}}},[e._v("查询")]),o("el-button",{attrs:{size:"small"},on:{click:function(t){return e.resetForm()}}},[e._v("重置")])],1)],1),o("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.goodsLoading,expression:"goodsLoading"}],ref:"multipleTable",staticStyle:{width:"100%"},attrs:{data:e.goods.data,border:"",height:"520","row-key":e.getRowKeys},on:{select:e.handleSelect,"select-all":e.selectCurrentGoods}},[o("el-table-column",{attrs:{type:"selection","reserve-selection":!0,width:"55"}}),o("el-table-column",{attrs:{label:"商品信息"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(t.row.goods.title+" "+t.row.title)+" ")]}}])}),o("el-table-column",{attrs:{label:"编码"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(t.row.goods.goods_code+"_"+t.row.sku_code)+" ")]}}])}),o("el-table-column",{attrs:{label:"品牌"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(t.row.goods.brand?t.row.goods.brand.name:"")+" ")]}}])}),o("el-table-column",{attrs:{prop:"goods.type.name",label:"分类"}}),o("el-table-column",{attrs:{prop:"num",label:"库存"}})],1),o("div",{staticStyle:{display:"flex","flex-direction":"row-reverse","align-items":"center","margin-top":"10px"}},[o("el-pagination",{attrs:{"current-page":e.goods.meta.current_page,"page-sizes":[20,30,50,100],"page-size":e.goods.meta.per_page,layout:"sizes, prev, pager, next",total:e.goods.meta.total},on:{"size-change":e.handleSizeChange,"current-change":e.goodsSearch,"update:currentPage":function(t){return e.$set(e.goods.meta,"current_page",t)},"update:current-page":function(t){return e.$set(e.goods.meta,"current_page",t)}}})],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("div",{staticStyle:{display:"flex","justify-content":"space-between","align-items":"center"}},[o("div",[o("el-button",{on:{click:function(t){return e.toggleSelection(1)}}},[e._v("全选")]),o("el-button",{on:{click:function(t){return e.toggleSelection(0)}}},[e._v("取消全选")])],1),o("div",[e._v("已选 "+e._s(e.selectNum)+" 件")]),o("div",[o("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.addGoods()}}},[e._v("确 定")]),o("el-button",{on:{click:function(t){e.centerDialogVisible=!1}}},[e._v("取 消")])],1)])])],1)],1)},r=[],a=(o("159b"),o("23ba")),s=o("6d71"),i=o("c40e"),l={data:function(){return{group:{title:"",is_save_preview:1,datetimerange:[]},rules:{title:[{required:!0,message:"请输入活动标题",trigger:"blur"}],datetimerange:[{required:!0,message:"请选择团购时间",trigger:"blur"}]},groupGoods:{data:[],meta:{total:0,current_page:1,per_page:20}},groupGoodsSearch:{external_sku_id:"",has_stock:2,type_id:0,page:1,per_page:20},groupLoading:!1,goodsLoading:!0,goods:{data:[],meta:{total:0,current_page:1,per_page:20}},centerDialogVisible:!1,types:[],brands:[],goodsList:{goods_keyword:"",has_stock:1,type_id:0,brand_id:0,has_ids:[]},goodsListPage:{page:1,per_page:20},dialogTitle:"您的商品库中已有 0 件商品",selectNum:0,selectGoods:[],allGoods:[],changeData:[]}},mounted:function(){this.getbrandType(),this.getgoodsType(),this.goodsSearch()},methods:{onAdd:function(e){var t=this;this.group.is_save_preview=e,this.group.new_ids=this.goodsList.has_ids;var o=[];this.changeData.forEach((function(e,t){e&&o.push(e)})),this.group.change_data=o,this.$refs.group.validate((function(e){if(!e)return!1;var o=t.$loading({lock:!0,text:"Loading",spinner:"el-icon-loading",background:"rgba(0, 0, 0, 0.7)"});Object(a["a"])(t.group).then((function(e){o.close(),t.$message(e.data.message),t.$router.push({path:"GROUP_MANAGEMENT"})}))}))},handleSizeChangeGroup:function(e){this.groupGoodsSearch.per_page=e,this.getGroupGoodsList()},getGroupGoodsList:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,o={page:t,per_page:this.groupGoodsSearch.per_page,goods_keyword:this.groupGoodsSearch.external_sku_id,has_stock:this.groupGoodsSearch.has_stock,type_id:this.groupGoodsSearch.type_id,has_ids:this.goodsList.has_ids};Object(a["b"])(o).then((function(t){e.groupGoods=t.data,e.groupGoods.data.forEach((function(t,o){void 0!==e.changeData[t.id]&&(e.groupGoods.data[o].limit_buy=e.changeData[t.id].limit_buy,e.groupGoods.data[o].price_in_fen=e.changeData[t.id].price_in_fen)})),e.groupGoods.meta.per_page=parseInt(e.groupGoods.meta.per_page)}))},getgoodsType:function(){var e=this,t={per_page:9999};Object(s["h"])(t).then((function(t){e.types=t.data.data}))},getbrandType:function(){var e=this,t={per_page:9999};Object(s["c"])(t).then((function(t){e.brands=t.data.data}))},batchRemove:function(){var e=this;this.$refs.multipleTableGroup.selection.forEach((function(t){var o=e.goodsList.has_ids.indexOf(t.id);o>0&&delete e.goodsList.has_ids[o]})),this.$refs.multipleTableGroup.clearSelection(),this.getGroupGoodsList()},remove:function(e){var t=this;this.goodsList.has_ids.forEach((function(o,n){o==e.id&&delete t.goodsList.has_ids[n]})),this.getGroupGoodsList()},handleCellChange:function(e){this.changeData[e.id]={id:e.id,limit_buy:e.limit_buy,price_in_fen:e.price_in_fen}},importGoods:function(){this.dialogTitle="您的商品库中已有 "+this.groupGoods.meta.total+" 件商品",this.goodsSearch(),this.centerDialogVisible=!0},goodsSearch:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.goodsList.page=t,this.goodsList.per_page=this.goodsListPage.per_page,this.goodsLoading=!0,Object(i["c"])(this.goodsList).then((function(t){e.goods=t.data,e.goods.meta.per_page=parseInt(e.goods.meta.per_page),e.goods.data.forEach((function(t,o){void 0!==e.selectGoods[t.id]&&e.$refs.multipleTable.toggleRowSelection(t,!0)})),e.goodsLoading=!1})),1===t&&this.getAllGoods(this.goodsList)},getAllGoods:function(e){var t=this;e.page=1,e.per_page=9999,Object(i["c"])(e).then((function(e){t.allGoods=e.data.data}))},handleSizeChange:function(e){this.goodsListPage.per_page=e,this.goodsSearch()},getRowKeys:function(e){return e.id},toggleSelection:function(e){var t=this;e?(this.allGoods.forEach((function(e,o){void 0===t.selectGoods[e.id]&&t.selectNum++,t.selectGoods[e.id]=1})),this.goods.data.forEach((function(e,o){t.$refs.multipleTable.toggleRowSelection(e,!0)}))):(this.allGoods.forEach((function(e,o){void 0!==t.selectGoods[e.id]&&(delete t.selectGoods[e.id],t.selectNum--)})),this.$refs.multipleTable.clearSelection())},handleSelect:function(e,t){void 0===this.selectGoods[t.id]?(this.selectGoods[t.id]=1,this.selectNum++):(delete this.selectGoods[t.id],this.selectNum--)},resetForm:function(){this.$refs.goodsList.resetFields(),this.goodsSearch()},addGoods:function(){var e,t=this,o=[];this.selectGoods.forEach((function(e,t){void 0!==t&&o.push(t)}));var n={has_ids:this.goodsList.has_ids,new_ids:o,per_page:this.groupGoods.meta.per_page};(e=this.goodsList.has_ids).push.apply(e,o),Object(a["b"])(n).then((function(e){t.groupGoods=e.data,t.groupGoods.meta.per_page=parseInt(t.groupGoods.meta.per_page)})),this.$refs.goodsList.resetFields(),this.$refs.multipleTable.clearSelection(),this.selectGoods=[],this.selectNum=0,this.centerDialogVisible=!1},selectCurrentGoods:function(e){var t=this;e.length?(e.forEach((function(e){void 0===t.selectGoods[e.id]&&(t.selectGoods[e.id]=1)})),this.selectNum+=e.length):(this.goods.data.forEach((function(e){void 0!==t.selectGoods[e.id]&&delete t.selectGoods[e.id]})),this.selectNum-=this.goods.data.length)}}},u=l,c=o("2877"),d=Object(c["a"])(u,n,r,!1,null,null,null);t["default"]=d.exports},c40e:function(e,t,o){"use strict";o.d(t,"d",(function(){return r})),o.d(t,"a",(function(){return a})),o.d(t,"b",(function(){return s})),o.d(t,"e",(function(){return i})),o.d(t,"i",(function(){return l})),o.d(t,"h",(function(){return u})),o.d(t,"g",(function(){return c})),o.d(t,"f",(function(){return d})),o.d(t,"c",(function(){return p}));var n=o("adb5");function r(e){return Object(n["a"])({url:"/api/goods_skus",method:"get",params:e})}function a(e){return Object(n["a"])({url:"/api/goods",method:"post",data:e})}function s(e){return Object(n["a"])({url:"/api/goods_skus/".concat(e),method:"get"})}function i(e){return Object(n["a"])({url:"/api/goods",method:"get",params:e})}function l(e,t){return Object(n["a"])({url:"/api/goods_skus/".concat(e),method:"patch",data:t})}function u(e){return Object(n["a"])({url:"/api/batch/goods_skus",method:"patch",data:e})}function c(e,t){return Object(n["a"])({url:"/api/single/goods_skus/".concat(e),method:"patch",data:t})}function d(e,t){return Object(n["a"])({url:"/api/upload",Headers:t,method:"post",data:e})}function p(e){return Object(n["a"])({url:"/api/goodsList",method:"get",params:e})}}}]); +//# sourceMappingURL=chunk-e35186f0.efed2a2b.js.map \ No newline at end of file diff --git a/public/dist/js/chunk-e35186f0.efed2a2b.js.map b/public/dist/js/chunk-e35186f0.efed2a2b.js.map new file mode 100644 index 0000000..e7e4288 --- /dev/null +++ b/public/dist/js/chunk-e35186f0.efed2a2b.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/util/auth.js","webpack:///./src/api/group.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./src/api/rankingData.js","webpack:///./src/util/http.js","webpack:///./src/views/group/addGroup.vue?4d1a","webpack:///src/views/group/addGroup.vue","webpack:///./src/views/group/addGroup.vue?98e8","webpack:///./src/views/group/addGroup.vue","webpack:///./src/api/goods.js"],"names":["TokenKey","getToken","localStorage","getItem","removeToken","removeItem","groupList","params","http","url","method","addGroup","data","showGroup","id","editGroup","getGroupGoods","addGroupGoods","root","factory","this","NProgress","Settings","settings","minimum","easing","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","parent","template","clamp","n","min","max","toBarPerc","barPositionCSS","ease","barCSS","transform","transition","configure","options","key","value","undefined","hasOwnProperty","status","set","started","isStarted","progress","render","bar","querySelector","offsetWidth","queue","next","getPositioningCSS","css","opacity","setTimeout","remove","start","work","done","force","inc","Math","random","amount","initial","current","promise","$promise","state","always","fromStart","isRendered","document","getElementById","addClass","documentElement","createElement","innerHTML","spinner","perc","removeElement","body","appendChild","removeClass","bodyStyle","style","vendorPrefix","pending","fn","shift","push","length","cssPrefixes","cssProps","camelCase","string","replace","match","letter","toUpperCase","getVendorProp","name","vendorName","i","capName","charAt","slice","getStyleProp","applyCss","element","prop","properties","args","arguments","hasClass","list","classList","indexOf","oldList","newList","className","substring","parentNode","removeChild","goods_types","Delgoods_types","Addgoods_types","editGoods_types","Brand_goods_types","DelBrand_goods_types","AddBrandgoods_types","editBrand_types","instance","axios","create","timeout","interceptors","request","use","config","headers","Authorization","error","Promise","reject","response","res","Message","message","errorMessage","type","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","ref","attrs","rules","group","model","callback","$$v","$set","expression","on","$event","importGoods","_v","groupGoodsSearch","getGroupGoodsList","slot","_l","goodsType","_s","directives","rawName","groupGoods","getRowKeys","scopedSlots","_u","scope","handleCellChange","row","batchRemove","meta","current_page","per_page","total","handleSizeChangeGroup","onAdd","dialogTitle","centerDialogVisible","goodsList","goodsSearch","goodsBrand","resetForm","goods","handleSelect","selectCurrentGoods","title","goods_code","sku_code","brand","handleSizeChange","toggleSelection","selectNum","addGoods","staticRenderFns","component","checkGoods","updateGoods","update","singleUpdate","imgUpload","item","Headers","getGoodsList"],"mappings":"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","file":"js/chunk-e35186f0.efed2a2b.js","sourcesContent":["const TokenKey = \"admin_token\";\n// 获取token\nexport function getToken() {\n return localStorage.getItem(\"token\");\n}\n// 设置token\nexport function setToken(token) {\n return localStorage.setItem(TokenKey, token);\n}\n// 删除token\nexport function removeToken() {\n return localStorage.removeItem(TokenKey);\n}\n","import http from \"@/util/http.js\";\n\n// 团购管理列表\nexport function groupList(params) {\n return http({\n url: \"/api/group\",\n method: \"get\",\n params\n });\n}\n\n// 新增\nexport function addGroup(data) {\n return http({\n url: \"/api/group\",\n method: \"post\",\n data,\n });\n}\n\n// 查看\nexport function showGroup(id) {\n return http({\n url: `/api/group/${id}`,\n method: \"get\",\n });\n}\n\n// 编辑\nexport function editGroup(id, data) {\n return http({\n url: `/api/group/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 获取团购商品列表\nexport function getGroupGoods(params) {\n return http({\n url: `/api/groupGoods`,\n method: \"get\",\n params,\n });\n}\n\n// 增加团购商品\nexport function addGroupGoods(params) {\n return http({\n url: `/api/groupGoods`,\n method: \"post\",\n params,\n });\n}\n","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n","import http from \"@/util/http.js\";\n\nexport function postadd(params) {\n // 传递id\n return http({\n url: \"/api/admin/auth/login\",\n method: \"post\",\n params: params,\n });\n}\n\n// 列表\nexport function store_list(params) {\n return http({\n url: \"/api/admin/shopGroups\",\n method: \"get\",\n params: params,\n });\n}\n\nexport function storeDetail(params) {\n return http({\n url: \"/storess/show\",\n method: \"get\",\n params: params,\n });\n}\n\n// 商品种类列表\nexport function goods_types(params) {\n return http({\n url: \"/api/goods_types\",\n method: \"get\",\n params,\n });\n}\n// 商品种类列表删除\nexport function Delgoods_types(id) {\n return http({\n url: `/api/goods_types/${id}`,\n method: \"delete\",\n });\n}\n// 新增种类\nexport function Addgoods_types(data) {\n return http({\n url: \"/api/goods_types/\",\n method: \"post\",\n data,\n });\n}\n// 编辑种类\nexport function editGoods_types(id, data) {\n return http({\n url: `/api/goods_types/${id}`,\n method: \"patch\",\n data,\n });\n}\n// 商品品牌列表\nexport function Brand_goods_types(params) {\n return http({\n url: \"/api/goods_brands\",\n method: \"get\",\n params\n });\n}\n// 商品品牌列表删除\nexport function DelBrand_goods_types(id) {\n return http({\n url: `/api/goods_brands/${id}`,\n method: \"delete\",\n });\n}\n// 新增品牌\nexport function AddBrandgoods_types(data) {\n return http({\n url: \"/api/goods_brands\",\n method: \"post\",\n data,\n });\n}\n// 编辑品牌\nexport function editBrand_types(id, data) {\n return http({\n url: `/api/goods_brands/${id}`,\n method: \"patch\",\n data,\n });\n}\n","import axios from \"axios\";\nimport { getToken } from \"@/util/auth\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport { Message } from \"element-ui\";\nvar instance = axios.create({\n timeout: 30000,\n});\n\ninstance.interceptors.request.use(\n (config) => {\n // config.headers['content-type'] = 'application/json'\n\n // config.headers['Shop-Id'] = localStorage.getItem('shopId') || 1\n\n // 在发送请求之前做些什么\n // config.headers['content-type'] = 'application/json'\n config.headers.Authorization = \"Bearer \" + getToken(); // 请求头\n NProgress.start();\n return config;\n },\n (error) => {\n // 对请求错误做些什么\n return Promise.reject(error);\n }\n);\n\n// 添加响应拦截器\ninstance.interceptors.response.use(\n (response) => {\n NProgress.done();\n const res = response.status;\n // 对响应数据做点什么\n if (res === 200 || res === 201) {\n return response;\n }\n },\n (error) => {\n NProgress.done();\n // 对响应错误做点什么\n if (error.response.status === 400) {\n Message({\n message: error.response.data.errorMessage,\n type: \"error\",\n });\n }\n\n if (error.response.status === 500) {\n Message({\n message: error.response.data.message,\n type: \"error\",\n });\n }\n return Promise.reject(error);\n }\n);\n\nexport default instance;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',{staticClass:\"box-card\",staticStyle:{\"margin-top\":\"10px\"}},[_c('el-form',{ref:\"group\",attrs:{\"rules\":_vm.rules,\"model\":_vm.group,\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"活动标题\",\"prop\":\"title\"}},[_c('el-input',{staticStyle:{\"width\":\"500px\"},attrs:{\"type\":\"textarea\"},model:{value:(_vm.group.title),callback:function ($$v) {_vm.$set(_vm.group, \"title\", $$v)},expression:\"group.title\"}})],1),_c('el-form-item',{attrs:{\"label\":\"团购商品\"}},[_c('el-button',{on:{\"click\":function($event){return _vm.importGoods()}}},[_vm._v(\"从商品列表导入\")]),_c('el-input',{staticStyle:{\"margin-left\":\"20px\",\"width\":\"400px\"},attrs:{\"placeholder\":\"搜索商品名称、编码\"},model:{value:(_vm.groupGoodsSearch.external_sku_id),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"external_sku_id\", $$v)},expression:\"groupGoodsSearch.external_sku_id\"}},[_c('el-button',{attrs:{\"slot\":\"append\"},on:{\"click\":function($event){return _vm.getGroupGoodsList();}},slot:\"append\"},[_vm._v(\"查询\")])],1),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('span',{staticStyle:{\"margin-right\":\"20px\"}},[_vm._v(\"商品状态\")]),_c('el-radio-group',{on:{\"change\":function($event){return _vm.getGroupGoodsList()}},model:{value:(_vm.groupGoodsSearch.has_stock),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"has_stock\", $$v)},expression:\"groupGoodsSearch.has_stock\"}},[_c('el-radio',{attrs:{\"label\":2}},[_vm._v(\"全部\")]),_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\"在售中\")]),_c('el-radio',{attrs:{\"label\":0}},[_vm._v(\"已售罄\")])],1)],1),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('span',{staticStyle:{\"margin-right\":\"20px\"}},[_vm._v(\"商品分类\")]),_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.getGroupGoodsList()}},model:{value:(_vm.groupGoodsSearch.type_id),callback:function ($$v) {_vm.$set(_vm.groupGoodsSearch, \"type_id\", $$v)},expression:\"groupGoodsSearch.type_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.types),function(goodsType){return _c('el-radio-button',{key:goodsType.id,attrs:{\"label\":goodsType.id}},[_vm._v(\" \"+_vm._s(goodsType.name))])})],2)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.groupLoading),expression:\"groupLoading\"}],ref:\"multipleTableGroup\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.groupGoods.data,\"border\":\"\",\"height\":\"800\",\"row-key\":_vm.getRowKeys}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true,\"width\":\"55\"}}),_c('el-table-column',{attrs:{\"prop\":\"goods_name\",\"label\":\" 商品名称\"}}),_c('el-table-column',{attrs:{\"prop\":\"external_sku_id\",\"label\":\"编码\"}}),_c('el-table-column',{attrs:{\"prop\":\"category_name\",\"label\":\"分类\"}}),_c('el-table-column',{attrs:{\"prop\":\"stock\",\"label\":\"库存\"}}),_c('el-table-column',{attrs:{\"label\":\"限购数量\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"限购数量\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.limit_buy),callback:function ($$v) {_vm.$set(scope.row, \"limit_buy\", $$v)},expression:\"scope.row.limit_buy\"}})]}}])}),_c('el-table-column',{attrs:{\"label\":\"成本\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-input',{attrs:{\"placeholder\":\"成本\"},on:{\"change\":function($event){return _vm.handleCellChange(scope.row)}},model:{value:(scope.row.price_in_fen),callback:function ($$v) {_vm.$set(scope.row, \"price_in_fen\", $$v)},expression:\"scope.row.price_in_fen\"}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"options\",\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.remove(scope.row)}}},[_vm._v(\"删除\")])]}}])})],1),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"line-height\":\"32px\",\"margin-top\":\"20px\"}},[_c('el-button',{attrs:{\"type\":\"danger\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.batchRemove();}}},[_vm._v(\"批量删除\")]),_c('el-pagination',{attrs:{\"current-page\":_vm.groupGoods.meta.current_page,\"page-sizes\":[20, 30, 50, 100],\"page-size\":_vm.groupGoods.meta.per_page,\"layout\":\"sizes, prev, pager, next\",\"total\":_vm.groupGoods.meta.total},on:{\"size-change\":_vm.handleSizeChangeGroup,\"current-change\":_vm.getGroupGoodsList,\"update:currentPage\":function($event){return _vm.$set(_vm.groupGoods.meta, \"current_page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.groupGoods.meta, \"current_page\", $event)}}})],1)],1),_c('el-form-item',{attrs:{\"label\":\"团购时间\",\"prop\":\"datetimerange\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetimerange\",\"range-separator\":\"至\",\"start-placeholder\":\"开始时间\",\"end-placeholder\":\"结束时间\",\"value-format\":\"yyyy-MM-dd HH:mm:ss\"},model:{value:(_vm.group.datetimerange),callback:function ($$v) {_vm.$set(_vm.group, \"datetimerange\", $$v)},expression:\"group.datetimerange\"}})],1),_c('el-form-item',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"flex-end\"}},[_c('el-button',{on:{\"click\":function($event){return _vm.onAdd(1);}}},[_vm._v(\"保存预览\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.onAdd(0);}}},[_vm._v(\"发布\")])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.dialogTitle,\"visible\":_vm.centerDialogVisible,\"width\":\"80%\",\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.centerDialogVisible=$event}}},[_c('el-form',{ref:\"goodsList\",attrs:{\"model\":_vm.goodsList,\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"商品分类\",\"prop\":\"type_id\"}},[_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.goodsSearch()}},model:{value:(_vm.goodsList.type_id),callback:function ($$v) {_vm.$set(_vm.goodsList, \"type_id\", $$v)},expression:\"goodsList.type_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.types),function(goodsType){return _c('el-radio-button',{key:goodsType.id,attrs:{\"label\":goodsType.id}},[_vm._v(\" \"+_vm._s(goodsType.name))])})],2)],1),_c('el-form-item',{attrs:{\"label\":\"商品品牌\",\"prop\":\"brand_id\"}},[_c('el-radio-group',{attrs:{\"size\":\"small\"},on:{\"change\":function($event){return _vm.goodsSearch()}},model:{value:(_vm.goodsList.brand_id),callback:function ($$v) {_vm.$set(_vm.goodsList, \"brand_id\", $$v)},expression:\"goodsList.brand_id\"}},[_c('el-radio-button',{attrs:{\"label\":\"0\"}},[_vm._v(\"全部\")]),_vm._l((_vm.brands),function(goodsBrand){return _c('el-radio-button',{key:goodsBrand.id,attrs:{\"label\":goodsBrand.id}},[_vm._v(\" \"+_vm._s(goodsBrand.name))])})],2)],1),_c('el-form-item',{attrs:{\"label\":\"搜索\",\"prop\":\"goods_keyword\"}},[_c('el-input',{staticStyle:{\"width\":\"400px\"},attrs:{\"placeholder\":\"搜索商品名称、编码\"},model:{value:(_vm.goodsList.goods_keyword),callback:function ($$v) {_vm.$set(_vm.goodsList, \"goods_keyword\", $$v)},expression:\"goodsList.goods_keyword\"}}),_c('el-radio-group',{staticStyle:{\"margin\":\"0 30px\"},model:{value:(_vm.goodsList.has_stock),callback:function ($$v) {_vm.$set(_vm.goodsList, \"has_stock\", $$v)},expression:\"goodsList.has_stock\"}},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\"有库存\")]),_c('el-radio',{attrs:{\"label\":0}},[_vm._v(\"全部\")])],1),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.goodsSearch();}}},[_vm._v(\"查询\")]),_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){return _vm.resetForm()}}},[_vm._v(\"重置\")])],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.goodsLoading),expression:\"goodsLoading\"}],ref:\"multipleTable\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.goods.data,\"border\":\"\",\"height\":\"520\",\"row-key\":_vm.getRowKeys},on:{\"select\":_vm.handleSelect,\"select-all\":_vm.selectCurrentGoods}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true,\"width\":\"55\"}}),_c('el-table-column',{attrs:{\"label\":\"商品信息\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.title + ' ' + scope.row.title)+\" \")]}}])}),_c('el-table-column',{attrs:{\"label\":\"编码\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.goods_code + '_' + scope.row.sku_code)+\" \")]}}])}),_c('el-table-column',{attrs:{\"label\":\"品牌\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\" \"+_vm._s(scope.row.goods.brand ? scope.row.goods.brand.name : '')+\" \")]}}])}),_c('el-table-column',{attrs:{\"prop\":\"goods.type.name\",\"label\":\"分类\"}}),_c('el-table-column',{attrs:{\"prop\":\"num\",\"label\":\"库存\"}})],1),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row-reverse\",\"align-items\":\"center\",\"margin-top\":\"10px\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.goods.meta.current_page,\"page-sizes\":[20, 30, 50, 100],\"page-size\":_vm.goods.meta.per_page,\"layout\":\"sizes, prev, pager, next\",\"total\":_vm.goods.meta.total},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.goodsSearch,\"update:currentPage\":function($event){return _vm.$set(_vm.goods.meta, \"current_page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.goods.meta, \"current_page\", $event)}}})],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"}},[_c('div',[_c('el-button',{on:{\"click\":function($event){return _vm.toggleSelection(1)}}},[_vm._v(\"全选\")]),_c('el-button',{on:{\"click\":function($event){return _vm.toggleSelection(0)}}},[_vm._v(\"取消全选\")])],1),_c('div',[_vm._v(\"已选 \"+_vm._s(_vm.selectNum)+\" 件\")]),_c('div',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.addGoods();}}},[_vm._v(\"确 定\")]),_c('el-button',{on:{\"click\":function($event){_vm.centerDialogVisible = false}}},[_vm._v(\"取 消\")])],1)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./addGroup.vue?vue&type=template&id=42fb255b&\"\nimport script from \"./addGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./addGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import http from \"@/util/http.js\";\n\n//店铺订单\nexport function shops(params) {\n return http({\n url: \"/api/count/orders/num\",\n method: \"get\",\n params,\n });\n}\n\n// 商品管理列表\nexport function goods(params) {\n return http({\n url: \"/api/goods_skus\",\n method: \"get\",\n params,\n });\n}\n// 新建商品\nexport function addGoods(data) {\n return http({\n url: \"/api/goods\",\n method: \"post\",\n data,\n });\n}\n// 查看商品\nexport function checkGoods(id) {\n return http({\n url: `/api/goods_skus/${id}`,\n method: \"get\",\n });\n}\n// 商品列表\nexport function goodsList(params) {\n return http({\n url: \"/api/goods\",\n method: \"get\",\n params,\n });\n}\n// 更新商品\nexport function updateGoods(id, data) {\n return http({\n url: `/api/goods_skus/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 上新/库存盘点/库存\nexport function update(data) {\n return http({\n url: \"/api/batch/goods_skus\",\n method: \"patch\",\n data,\n });\n}\n\n// 单个字段更新\nexport function singleUpdate(id, data) {\n return http({\n url: `/api/single/goods_skus/${id}`,\n method: \"patch\",\n data,\n });\n}\n\n// 图片上传\nexport function imgUpload(data, item) {\n return http({\n url: \"/api/upload\",\n Headers: item,\n method: \"post\",\n data,\n });\n}\n\n// 表格导出\nexport function tableExport(params) {\n return http({\n url: \"/goods_skus/export\",\n method: \"get\",\n params,\n });\n}\n\n// 商品列表(添加)\nexport function getGoodsList(params) {\n return http({\n url: \"/api/goodsList\",\n method: \"get\",\n params,\n });\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/resources/frontend/src/views/group/addGroup.vue b/resources/frontend/src/views/group/addGroup.vue index d6ce548..ed01c1a 100644 --- a/resources/frontend/src/views/group/addGroup.vue +++ b/resources/frontend/src/views/group/addGroup.vue @@ -2,12 +2,6 @@
- - - - - - @@ -30,19 +24,19 @@ 全部 - {{goodsType.name}} + {{ goodsType.name }}
- + @@ -57,9 +51,9 @@ @change="handleCellChange(scope.row)"> - + @@ -98,14 +92,14 @@ 全部 - {{goodsType.name}} + {{ goodsType.name }} 全部 - {{goodsBrand.name}} + {{ goodsBrand.name }} @@ -125,17 +119,17 @@ @@ -155,7 +149,7 @@ 全选 取消全选 -
已选 {{selectNum}} 件
+
已选 {{ selectNum }} 件
确 定 取 消 @@ -168,7 +162,6 @@