Commit 427fcb6b by mushishixian

temp

parent bc8a68b1
......@@ -93,4 +93,5 @@ PERM_ID=25
PERM_GOURL=http://perm.liexin.net
ADMIN_GROUP=10000,20000
MENU_ID=16
MENU_URL=http://data.liexin.net/api/config/
\ No newline at end of file
MENU_URL=http://data.liexin.net/api/config/
FOOTSTONE_URL=http://footstone.liexin.net
\ No newline at end of file
......@@ -3,10 +3,12 @@
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Services\SkuService;
use App\Http\Services\SupplierContactService;
use App\Http\Services\SupplierStatisticsService;
use App\Http\Transformers\SupplierContactTransformer;
use App\Http\Validators\SupplierContactValidator;
use App\Model\RedisModel;
use App\Model\SupplierContactModel;
use Illuminate\Http\Request;
......@@ -20,7 +22,51 @@ class SkuApiController extends Controller
public function GetSkuList($request)
{
$skuService = new SkuService();
$data = $skuService->getSkuList();
$this->response(0, 'ok', $data['list'], $data['total']);
}
$this->response(0, 'ok', []);
public function UpdateSkuStatus($request)
{
$map = $request->input('goods_id');
if (empty($map) || !is_array($map)) {
$this->response(-1, '请选择要操作的SKU', '0');
}
$status = $request->input('status');
$Redis = new RedisModel();
$updateData['update_time'] = time();
switch ($status) {
case 'offshelf':
$updateData['goods_status'] = 3;
$msg = '成功下架';
break;
case 'passed':
$msg = '成功上架';
$updateData['goods_status'] = 1;
break;
case 'negative':
$updateData['goods_status'] = 2;
$msg = '审核不通过';
break;
}
$skuService = new SkuService();
$i = 0;
foreach ($map as $k => $v) {
$dbinfo = resolve($v);
$list = DB::connection($dbinfo['db'])->table($dbinfo['table'])->where('goods_id', $v)->update($updateData);
if ($list) {
$info = json_decode($Redis->hget('sku', $v), true);
$info['goods_status'] = $updateData['goods_status'];
$info['goods_id'] = $v;
$info['update_time'] = $updateData['update_time'];
$skuService->HandleSku($info);
$i++;
}
}
//实时推送ES
$skuIds = implode(',', $map);
$skuService->PushSkuUpdate($skuIds);
$this->response(0, '操作成功');
}
}
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Services\SupplierStatisticsService;
use Illuminate\Http\Request;
//通用API,比如获取品牌列表,分类列表等
class SkuStatisticsApiController extends Controller
{
public function Entrance(Request $request, $id)
{
$this->$id($request, $id);
}
public function GetSupplierStatistics($request)
{
$service = new SupplierStatisticsService();
$statistics = $service->getSupplierListStatistics();
$data = [];
foreach ($statistics as $name => $count) {
$data[$name] = array_get(config('fixed.CompassMenuMap'), $name) . "(${count})";
}
$this->response(0, 'ok', $data);
}
}
......@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\Http\Controllers\Filter\LogFilter;
use App\Http\Controllers\Filter\SupplierLogFilter;
use App\Http\Services\LogService;
use App\Model\IntracodeModel;
use App\Model\LogModel;
use App\Model\SupplierLogModel;
use Illuminate\Http\Request;
......@@ -38,7 +39,8 @@ class SkuController extends Controller
public function SkuList($request)
{
$intracodeModel = new IntracodeModel();
$this->data['userCodes'] = $intracodeModel->getSampleEncode();
return $this->view('供应商日志');
}
......
<?php
namespace App\Http\Services;
//价格相关服务
use App\Model\RedisModel;
use Illuminate\Support\Facades\DB;
//用于判断是否已经查看的服务
class PriceService
{
//获取最小阶梯的价格
public function getMoqPrice($price)
{
$price = is_array($price) ? $price : json_decode($price, true);
if (count($price) >=1){
return $price[0];
}
return [];
}
}
\ No newline at end of file
<?php
namespace App\Http\Services;
use App\Model\IntracodeModel;
use App\Model\RedisModel;
use Illuminate\Support\Facades\DB;
class SkuService
{
//获取供应商列表需要统计的信息
public function getSkuList()
{
$data['data']['goods_id'] = [];
$map = request()->all();
//只获取专卖的数据
$map['supplier_id'] = 17;
if ((!empty($map['create_time']))) {
$times = explode('~', $map['create_time']);
$startTime = strtotime($times[0]) ?: 1420041600;
$endTime = strtotime($times[1]) ?: time();
$map['create_time/range'] = $startTime . ',' . $endTime;
}
if ((!empty($map['update_time']))) {
$times = explode('~', $map['update_time']);
$startTime = strtotime($times[0]) ?: 1420041600;
$endTime = strtotime($times[1]) ?: time();
$map['update_time/range'] = $startTime . ',' . $endTime;
}
foreach ($map as $k => $v) {
if (empty($v) and $v != '0') {
unset($map[$k]);
}
}
$url = env('ES_SKU_URL', '');
$map['p'] = $map['page'];
if (!empty($map['p']) && $map['p'] > 1000) {
$map['p'] = rand(5, 1000);
}
$map['show_status'] = 1;
$return = curl($url, $map, 1);
$data = json_decode($return, true);
$list = [];
if (isset($data['error_code']) && $data['error_code'] == 0) {
$redis = new RedisModel;
//处理供应商
foreach ($data['data']['goods_id'] as $k => $goodsId) {
$uploadItemService = new SkuUploadItemService();
$auditData = $uploadItemService->getSkuAuditData($data['data']['goods_id']);
if (empty($goodsId) || $goodsId == 0) {
continue;
}
$sku = json_decode($redis->hget('sku', $goodsId), true);
//赋值
$sku['goods_id'] = $goodsId;
$sku['update_time'] = date('Y-m-d H:i:s', $sku['update_time']);
$sku['status_name'] = Config('field.GoodsStatus')[$sku['goods_status']];
if (!empty($auditData[$goodsId])) {
$sku['audit_time'] = date('Y-m-d H:i:s', $auditData[$goodsId]['audit_time']);
$sku['audit_user'] = $auditData[$goodsId]['audit_name'];
}
//添加sku是否过期
$sku['is_expire'] = $data['data']['status'][$goodsId] && $data['data']['status'][$goodsId] > 0 ? 0 : 1;
$spu = json_decode($redis->hget('spu', $sku['spu_id']), true);
//型号处理
if (empty($sku['goods_name'])) {
$sku['goods_name'] = $spu['spu_name'];
}
$sku['encap'] = $spu['encap'];
if (array_get($auditData, $sku['goods_id'])) {
$sku['audit_time'] = $auditData[$sku['goods_id']]["audit_time"];
$sku['audit_user'] = $auditData[$sku['goods_id']]["audit_user"];
}
//制造商处理
if (empty($sku['brand_name'])) {
$brand = $redis->hget('brand_id', $spu['brand_id']);
if ($brand) {
$sku['brand_name'] = $brand;
} else {
$brand = DB::connection('spu')->table('brand')->where('brand_id',
$spu['brand_id'])->lists('brand_name', 'brand_id');
if ($brand) {
$sku['brand_name'] = $brand[$spu['brand_id']];
}
}
}
//获取价格
$priceService = new PriceService();
$moqPrice = $priceService->getMoqPrice($sku['ladder_price']);
$sku['cn_price'] = array_get($moqPrice, 'price_cn');
$sku['us_price'] = array_get($moqPrice, 'price_us');
$list[] = $sku;
}
$intracodeModel = new IntracodeModel();
$encodedList = array_column($list, 'encoded');
$encodedUsers = $intracodeModel->getEncodedUserByEncoded($encodedList);
$list = array_map(function ($item) use ($encodedUsers) {
$encoded = array_get($item, 'encoded', 0);
$item['encoded_user_name'] = array_get($encodedUsers, $encoded, '');
$item['moq'] = $item['moq'] ?: 0;
$item['stock'] = $item['stock'] ?: 0;
return $item;
}, $list);
}
return [
'list' => $list,
'total' => !empty($data['data']['total']) ? $data['data']['total'] : 0
];
}
}
\ No newline at end of file
<?php
namespace App\Http\Services;
use App\Http\Controllers\Filter\SupplierFilter;
use App\Model\SupplierChannelModel;
use Illuminate\Support\Facades\DB;
class SkuStatisticsService
{
//获取供应商列表需要统计的信息
public function getSkuListStatistics()
{
$total = $this->getStatisticsCount('all');
//七天内过期的
$pending = $this->getStatisticsCount('pending');
//下架的
$inReview = $this->getStatisticsCount('in_review');
$result = [
'total' => $total,
'pending' => $pending,
'in_review' => $inReview,
];
$result = array_map(function ($value) {
if ($value > 999) {
$value = '999+';
}
return $value;
}, $result);
return $result;
}
private function getStatisticsCount($type)
{
$model = new SupplierChannelModel();
$model = $model->where('supplier_id','>',0);
//显示默认的数据(有权限逻辑)
$filter = new SupplierFilter();
return $filter->defaultFilter($model, $type)->count();
}
}
\ No newline at end of file
<?php
namespace App\Http\Services;
//后台用户相关信息服务
use App\Model\SkuUploadItem;
use App\Model\SupplierChannelModel;
use App\Model\UserInfoModel;
use Illuminate\Support\Facades\DB;
class SkuUploadItemService
{
//获取sku审核信息
public function getSkuAuditData($goodsIds = [])
{
$uploadItemModel = new SkuUploadItem();
$auditData = $uploadItemModel->whereIn('sku_id', array_values($goodsIds))->select([
'sku_id',
'audit_user',
'audit_time',
])->where('audit_user', '!=', 0)->get();
$auditData = $auditData ? $auditData->toArray() : [];
$data = $userIds = [];
foreach ($auditData as $key => $value) {
$data[$value['sku_id']] = $value;
$userIds[] = $value['audit_user'];
}
$userModel = new UserInfoModel();
$userIds = array_unique($userIds);
$users = $userModel->whereIn('userId', $userIds)->pluck('name', 'userId');
$users = $users ? $users->toArray() : [];
$data = array_map(function ($value)use ($users) {
$value['audit_name'] = array_get($users, $value['audit_user']);
return $value;
}, $data);
return $data;
}
}
\ No newline at end of file
......@@ -37,6 +37,7 @@ Route::group(['middleware' => ['web'], 'namespace' => 'Api'], function () {
Route::match(['get', 'post'], '/api/supplier_statistics/{key}', 'SupplierStatisticsApiController@Entrance');
Route::match(['get', 'post'], '/api/supplier/{key}', 'SupplierApiController@Entrance');
Route::match(['get', 'post'], '/api/log/{key}', 'LogApiController@Entrance');
Route::match(['get', 'post'], '/api/sku/{key}', 'SkuApiController@Entrance');
Route::match(['get', 'post'], '/api/supplier_receipt/{key}', 'SupplierReceiptApiController@Entrance');
Route::match(['get', 'post'], '/api/supplier_sync_log/{key}', 'SupplierSyncLogApiController@Entrance');
});
\ No newline at end of file
......@@ -96,4 +96,24 @@ class IntracodeModel extends Model
$userCodes = $temp + $codes;
return $userCodes;
}
//获取内部编码相关信息
public function getEncodedUserByEncoded($encodedList = [])
{
$encodedUsers = [];
$codes = $this->select('code_id', 'admin_id')
->whereIn('code_id',$encodedList)
->get();
if (empty($codes)) {
return [];
}
$codes = $codes->toArray();
$adminIds = array_column($codes, 'admin_id');
$userModel = new UserInfoModel();
$users = $userModel->whereIn('userId',$adminIds)->pluck('name', 'userId');
foreach ($codes as $key=>$code) {
$encodedUsers[$code['code_id']] = array_get($users, $code['admin_id']);
}
return $encodedUsers;
}
}
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
class SkuUploadItem extends Model
{
protected $table='sku_upload_item_0';
protected $primaryKey = 'id';
protected $connection = 'spu';
public $timestamps = false;
}
<?php
return [
//0:自营 1:联营 2:专卖
'GoodsStatusName' => [
0 => '自营',
1 => '联营',
2 => '专卖',
],
'GoodsStatus'=>[
1 => '上架',
3 => '下架',
],
'SKU' => array(
'spu_id' => 1,
'encoded' => 1,
'moq' => 1,
'mpq' => 1,
'old_goods_id' => 1,
'goods_type' => 1,
'goods_status' => 1,
'batch_sn' => 1,
'stock' => 1,
'hk_delivery_time' => 1,
'cn_delivery_time' => 1,
'ladder_price' => 1,
'update_time' => 1,
'goods_images' => 1,
'canal' => 1,
'supplier_id' => 1,
'cp_time' => 1,
),
];
\ No newline at end of file
......@@ -31,5 +31,4 @@ return [
'exportMonopoly' => 'http://footstone.liexin.net/footstone/exportMonopoly?', // 专卖商品批量导出
'templet' => 'http://footstone.liexin.net/footstone/templet?', // 专卖商品批量导出
],
];
......@@ -3,11 +3,10 @@
let $ = layui.jquery;
let Split = layui.Split;
// 水平分割,需要分割的元素(id)、默认大小(百分比)、最小值(单位px)
Split(['#s1', '#s2', '#s3', '#s4', '#s5'], {sizes: [9, 12, 12, 12, 55], minSize: 70});
Split(['#s1', '#s2', '#s3'], {sizes: [7, 12, 8], minSize: 70});
let table = layui.table;
let form = layui.form;
let admin = layui.admin;
let initCondition = {source_type: 'all'};
let whereCondition = initCondition;
let type = 'all';
......@@ -26,57 +25,55 @@
});
});
let cols = [
{type: 'radio'},
{field: 'supplier_id', title: '供应商ID', align: 'center', width: 80},
{type: 'checkbox'},
{field: 'goods_id', title: 'SKUID', align: 'center', width: 180},
{field: 'goods_name', title: '型号', align: 'center', width: 200},
{
field: 'supplier_code', title: '供应商编码', align: 'center', width: 90, templet: function (data) {
return "<a ew-href='/supplier/SupplierDetail?view=iframe&supplier_id=" + data.supplier_id +
"' style='color: dodgerblue' ew-title='供应商详情 - " + data.supplier_code + "'>" + data.supplier_code + "</a>"
}
field: 'brand_name', title: '品牌', align: 'center', width: 120
},
{field: 'supplier_name', title: '供应商名称', align: 'center', width: 270},
{field: 'supplier_group', title: '供应商性质', align: 'center', width: 120},
{field: 'encap', title: '封装', align: 'center', width: 80},
{field: 'canal', title: '供应商编码', align: 'center', width: 120},
{
field: 'stockup_type', title: '合作类型', align: 'center', width: 120, templet: function (data) {
return "<span title='" + data.stockup_type + "'>" + data.stockup_type + "</span>"
}
field: 'moq', title: '起订量', align: 'center', width: 70
},
{field: 'stock', title: '库存', align: 'center', width: 80},
{
field: 'contact_num', title: '联系人', align: 'center', width: 70, templet: function (data) {
return "<a ew-href='/supplier/SupplierDetail?view=iframe&tab=contact&supplier_id=" + data.supplier_id +
"' style='color: dodgerblue' ew-title='供应商详情 - " + data.supplier_code + "' title='点击跳转查看联系人列表'>" + data.contact_num + "</a>"
field: 'cn_price', title: '国内含币价(¥)', align: 'center', width: 120
},
{field: 'us_price', title: '香港交货价($)', align: 'center', width: 120},
{field: 'cn_delivery_time', title: '大陆交期', align: 'center', width: 100},
{field: 'hk_delivery_time', title: '香港交期', align: 'center', width: 100},
{
field: 'status_name', title: '状态', align: 'center', width: 70, templet: function (d) {
return d.goods_status === 1 ? "<a class='layui-btn layui-btn-xs'>上架</a>" :
"<a class='layui-btn layui-btn-xs layui-btn-danger'>下架</a>";
}
},
{
field: 'is_expire', title: '过期', align: 'center', width: 80, templet: function (d) {
return d.is_expire === 1 ? "<a class='layui-btn layui-btn-xs layui-btn-danger'></a>" :
"<a class='layui-btn layui-btn-xs'></a>";
{field: 'has_sku', title: 'SKU上传', align: 'center', width: 80},
}
},
{field: 'mpq', title: '标准包装量', align: 'center', width: 120},
{field: 'batch_sn', title: '批次', align: 'center', width: 80},
{field: 'update_time', title: '更新时间', align: 'center', width: 150},
{field: 'encoded_user_name', title: '上传人', align: 'center', width: 100},
{field: 'audit_time', title: '审核时间', align: 'center', width: 150},
{field: 'audit_user', title: '审核人', align: 'center', width: 100},
// {field: 'create_time', title: '上传时间', align: 'center', width: 150},
{
field: 'status_name', title: '状态', align: 'center', width: 80, templet: function (data) {
if (data.status === 3) {
return "<span style='color: red' title='" + data.reject_reason + "'>" + data.status_name + "</span>"
} else {
return data.status_name;
}
field: ' access_way', title: '接入方式', align: 'center', width: 150, templet: function (d) {
return "人工上传";
}
},
{field: 'channel_username', title: '采购员', align: 'center', width: 130},
{field: 'purchase_username', title: '渠道开发员', align: 'center', width: 120},
{field: 'create_name', title: '创建人', align: 'center', width: 80},
{field: 'update_time', title: '最近修改时间', align: 'center', width: 160},
{field: 'create_time', title: '创建时间', align: 'center', width: 150},
];
@if(checkPerm('ViewFakeSupplier'))
cols.push({
field: 'is_type', title: '正式供应商', align: 'center', width: 110, templet: function (data) {
return data.is_type === 0 ? '正式' : '<span style="color: red">竞调</span>';
}
})
@endif
let currentPage = 0;
table.render({
elem: '#skuList'
, url: '/api/supplier/GetSupplierList'
, url: '/api/sku/GetSkuList'
, method: 'post'
, size: 'sm'
, limit: 20
......@@ -88,138 +85,89 @@
, cols: [cols]
, id: 'skuList'
, page: {}
, done: function (res, curr, count) {
currentPage = curr;
}
});
//新增供应商弹窗
$("#add_supplier").click(function () {
layer.open({
type: 2,
content: '/supplier/AddSupplier?view=iframe',
area: ['1000px', '97%'],
title: '新增供应商',
offset: ['10px'],
end: function () {
table.reload('skuList');
supplierStatistics();
}
});
})
//审批供应商弹窗
$("#audit_supplier").click(function () {
//批量上架
$("#batch_putaway").click(function () {
let checkStatus = table.checkStatus('skuList');
let data = checkStatus.data;
if (!data.length) {
layer.msg('请先选择要操作的供应商', {icon: 5})
} else {
let supplierId = data[0].supplier_id;
let status = data[0].status;
if (status !== 1 && status !== -1) {
layer.msg('该供应商已经被审核', {icon: 5})
return
}
if (status === -1) {
layer.msg('该供应商联系人未补全', {icon: 5});
return
}
layer.open({
type: 2,
content: '/supplier/AuditSupplier?view=iframe&supplier_id=' + supplierId,
area: ['800px', '50%'],
title: '审核供应商',
end: function () {
table.reload('skuList');
saveRefreshData('detail',supplierId)
supplierStatistics();
}
});
let skuIds = [];
$.each(data, function (index, value) {
skuIds.push(value.goods_id);
});
if (skuIds.length === 0) {
layer.msg('请选择要操作的sku', {icon: 5});
return;
}
batchUpdateGoodsStatus(skuIds, 'passed');
})
//分配渠道员
$("#allocate_purchase_user").click(function () {
//批量下架
$("#batch_unshelve").click(function () {
let checkStatus = table.checkStatus('skuList');
let data = checkStatus.data;
if (!data.length) {
layer.msg('请先选择要操作的供应商', {icon: 5})
} else {
const status = data[0].status;
if ((status === 3 || status === 2 || status === -3)) {
let supplierId = data[0].supplier_id;
layer.open({
type: 2,
content: '/supplier/AllocatePurchaseUser?view=iframe&supplier_id=' + supplierId,
area: ['600px', '70%'],
title: '配置渠道开发员',
end: function () {
saveRefreshData('detail',supplierId)
table.reload('skuList');
supplierStatistics();
}
});
} else {
layer.msg('只能对已通过/未通过/禁用状态的供应商进行渠道员分配', {icon: 5})
return false;
}
let skuIds = [];
if (skuIds.length === 0) {
layer.msg('请选择要操作的sku', {icon: 5});
return;
}
$.each(data, function (index, value) {
skuIds.push(value.goods_id);
});
batchUpdateGoodsStatus(skuIds, 'offshelf');
})
//根据供应商编码已经品牌等去基石调用接口下架
$("#remote_batch_unshelve").click(function () {
layer.open({
type: 2,
content: '/sku/RemoteBatchUnshelve?view=iframe',
area: ['600px', '70%'],
title: '批量下载SKU',
end: function () {
table.reload('list');
// supplierStatistics();
}
});
});
$("#disable_supplier").click(function () {
let checkStatus = table.checkStatus('skuList');
let data = checkStatus.data;
if (!data.length) {
layer.msg('请先选择要操作的供应商', {icon: 5})
} else {
const status = data[0].status;
const hasSku = data[0].sku_num;
if ((status === 3 || status === 2) && !hasSku) {
layer.confirm('对应供应商设为禁用并且审核通过后,猎芯将无法与其进行交易,如要再次启用,则须再次走入驻流程,是否执行当前操作?', function (index) {
let supplierId = data[0].supplier_id;
let res = ajax('/api/supplier/DisableSupplier', {supplier_id: supplierId})
if (res.err_code === 0) {
saveRefreshData('detail',supplierId)
table.reload('skuList')
supplierStatistics();
layer.closeAll();
layer.msg(res.err_msg, {icon: 6})
//批量上下架操作
function batchUpdateGoodsStatus(skuId, status) {
let statusName = status === 'offshelf' ? '下架' : '上架';
top.layer.confirm('确定要' + statusName + "商品", function (index) {
$.ajax({
type: 'post',
url: '/api/sku/UpdateSkuStatus',
timeout: 30000, //超时时间设置,单位毫秒
data: {
goods_id: skuId,
status: status
},
dataType: 'json',
success: function (resp) {
close();
if (!resp) {
layer.msg('网络连接失败', {icon: 5});
return false;
}
if (resp.err_code === 0) {
layer.msg('操作成功', {icon: 6});
table.reload('skuList', {
page: {
curr: currentPage
},
});
} else {
layer.msg(res.err_msg, {icon: 5})
return false;
}
});
} else {
layer.msg('只有已通过或者未通过状态,并且没有sku的供应商才可以禁用', {'icon': 5});
}
}
});
$("#change_supplier_is_type").click(function () {
let checkStatus = table.checkStatus('skuList');
let data = checkStatus.data;
if (!data.length) {
layer.msg('请先选择要操作的供应商', {icon: 5})
} else {
const isType = data[0].is_type;
if (isType === 0) {
layer.msg('该供应商已经是正式供应商', {'icon': 5});
return
}
layer.confirm('如果转成正式供应商,会进入待审核状态,需要补全相关信息申请审核,确定要转正该供应商吗?', function (index) {
let supplierId = data[0].supplier_id;
let res = ajax('/api/supplier/ChangeSupplierIsType', {supplier_id: supplierId, is_type: 0})
if (res.err_code === 0) {
saveRefreshData('detail',supplierId)
table.reload('skuList')
supplierStatistics();
layer.closeAll();
layer.msg(res.err_msg, {icon: 6})
} else {
layer.msg(res.err_msg, {icon: 5})
}
});
}
});
top.layer.closeAll();
});
}
form.on('submit(load)', function (data) {
whereCondition = $.extend(false, initCondition, data.field);
......
{{--@include('web.supplier.SupplierListCommon')--}}
<div class="layui-btn-group demoTable" style="margin-bottom: 15px;margin-top: 15px">
@if(checkPerm('AddSupplier'))
<button type="button" class="layui-btn layui-btn-sm" id="add_supplier">新增</button>
@endif
@if(checkPerm('DisableSupplier'))
<button type="button" class="layui-btn layui-btn-sm" id="disable_supplier">禁用</button>
@endif
@if(checkPerm('AuditSupplier'))
<button type="button" class="layui-btn layui-btn-sm" id="audit_supplier">审核</button>
@endif
@if(checkPerm('AllocatePurchaseUser'))
<button type="button" class="layui-btn layui-btn-sm" id="allocate_purchase_user">分配渠道员</button>
@endif
@if(checkPerm('ChangeSupplierIsType'))
<button type="button" class="layui-btn layui-btn-sm" title="该操作可以将竞调供应商转为正式供应商" id="change_supplier_is_type">转正供应商</button>
@include('web.sku.SkuListCommon')
<div style="margin-left: 20px;margin-right: 20px">
<div class="layui-btn-group demoTable" style="margin-top: 15px">
@if(checkPerm('TempTemp'))
<button type="button" class="layui-btn layui-btn-sm" id="add_supplier">新增</button>
@endif
<button type="button" class="layui-btn layui-btn-sm" id="batch_putaway">上架</button>
<button type="button" class="layui-btn layui-btn-sm" id="batch_unshelve">下架</button>
<button type="button" class="layui-btn layui-btn-sm" id="add_supplier">批量下架</button>
</div>
<table class="layui-table" id="skuList" lay-filter="skuList"></table>
</div>
<table class="layui-table" id="skuList" lay-filter="skuList"></table>
<script>
</script>
......@@ -9,7 +9,7 @@
<div class="split-group" style="height: 130px;">
<div class="split-item" id="s1">
<div class="layui-row">
<a class="main_filter layui-badge layui-bg-green" id="all">全部({{$statistics['total']}}</a>
<a class="main_filter layui-badge layui-bg-green" id="all">全部()</a>
</div>
</div>
<div class="split-item" id="s2" style="text-align: center">
......@@ -22,9 +22,10 @@
</a>
</div>
</div>
<div class="split-item" id="s3" style="text-align: center">
</div>
<div class="split-item" id="s5">
</div>
</div>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment