Commit e50ca5b4 by 杨树贤

品牌数量限制

parent 3551fc32
...@@ -1204,15 +1204,32 @@ class DataService ...@@ -1204,15 +1204,32 @@ class DataService
if (trim($supplier['main_brands'], ',')) { if (trim($supplier['main_brands'], ',')) {
$mainBrands = explode(',', trim($supplier['main_brands'], ',')); $mainBrands = explode(',', trim($supplier['main_brands'], ','));
$ruler = $redis->hget('supplier_sku_upload_ruler_v2', $supplier['supplier_id']); $ruler = $redis->hget('supplier_sku_upload_ruler_v2', $supplier['supplier_id']);
if ($ruler){ if ($ruler) {
$ruler = json_decode($ruler, true); $ruler = json_decode($ruler, true);
$ruler['upload_allow_brands'] = $mainBrands; $ruler['upload_allow_brands'] = $mainBrands;
}else{ } else {
$ruler['upload_allow_brands'] = $mainBrands; $ruler['upload_allow_brands'] = $mainBrands;
} }
dump(json_encode($ruler)); $redis->hset('supplier_sku_upload_ruler_v2', $supplier['supplier_id'], json_encode($ruler));
// $redis->hset('supplier_sku_upload_ruler_v2', $supplier['supplier_id'], json_encode($ruler));
} }
} }
} }
//初始化品牌数量限制(还要跳过API对接的供应商)
public function initialMainBrandsLimit()
{
$suppliers = SupplierChannelModel::where('is_type', 0)->get()->toArray();
foreach ($suppliers as $supplier) {
//判断是否是API对接的供应商
if (DataManageModel::where('canal', $supplier['supplier_code'])->where('is_type', 0)->exists()) {
dump("大数据供应商");
continue;
}
//获取具体限制数量
$mainBrandsLimit = array_get(config('field.SupplierGroupMainBrandsLimitMap'), $supplier['supplier_group'], -1);
SupplierChannelModel::where('supplier_id', $supplier['supplier_id'])->update([
'main_brands_limit' => $mainBrandsLimit,
]);
}
}
} }
\ No newline at end of file
...@@ -67,7 +67,7 @@ Route::group(['middleware' => ['external'], 'namespace' => 'Sync'], function () ...@@ -67,7 +67,7 @@ Route::group(['middleware' => ['external'], 'namespace' => 'Sync'], function ()
}); });
Route::match(['get', 'post'], '/test', function () { Route::match(['get', 'post'], '/test', function () {
(new \App\Http\Services\DataService())->initialMainBrandsToSkuRuler(); (new \App\Http\Services\DataService())->initialMainBrandsLimit();
// \App\Model\SupplierChannelModel::where('supplier_name', '深圳市金开盛电子有限公司')->update([ // \App\Model\SupplierChannelModel::where('supplier_name', '深圳市金开盛电子有限公司')->update([
// 'status' => 2, // 'status' => 2,
// 'update_time' => time(), // 'update_time' => time(),
......
...@@ -237,4 +237,16 @@ return [ ...@@ -237,4 +237,16 @@ return [
1 => '待审核', 1 => '待审核',
2 => '通过', 2 => '通过',
], ],
//不同供应商性质的品牌数量限制最大值,具体供应商性质数据见 fixed.php 里的 SupplierGroup
'SupplierGroupMainBrandsLimitMap' => [
4 => -1, //其实就是无限制
1 => -1, //其实就是无限制
5 => -1, //其实就是无限制
7 => 10,
2 => 10,
6 => 10,
3 => 5,
0 => 5,
],
]; ];
\ No newline at end of file
...@@ -16,7 +16,7 @@ return [ ...@@ -16,7 +16,7 @@ return [
'WMSKEY' => 'j9q##VRhaXBEtznIEeDiR@1Hvy0sW3wp',//WMS加密密钥 'WMSKEY' => 'j9q##VRhaXBEtznIEeDiR@1Hvy0sW3wp',//WMS加密密钥
//1代理商,2现货商,3财务供应商,4原厂,5代工厂,6黑名单
'SupplierGroup' => [ 'SupplierGroup' => [
2 => '现货商', 2 => '现货商',
4 => '原厂', 4 => '原厂',
......
...@@ -86,6 +86,19 @@ function inArray(needle, haystack) { ...@@ -86,6 +86,19 @@ function inArray(needle, haystack) {
return false; return false;
} }
function arrayGet(obj, key, defaultValue = null) {
// 分割键名
const keys = typeof key === 'string' ? key.split('.') : [key];
// 遍历对象获取对应值
for (let i = 0; i < keys.length; i++) {
if (typeof obj !== 'object' || !obj.hasOwnProperty(keys[i])) {
return defaultValue;
}
obj = obj[keys[i]];
}
return obj;
}
function getCookie(name) { function getCookie(name) {
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return unescape(arr[2]); if (arr != null) return unescape(arr[2]);
...@@ -99,3 +112,5 @@ function getLogDomain() { ...@@ -99,3 +112,5 @@ function getLogDomain() {
} }
return default_domain; return default_domain;
} }
...@@ -163,6 +163,13 @@ ...@@ -163,6 +163,13 @@
} }
}); });
let mainBrandsLimitTypeObj = $('#main_brands_limit_type');
if (supplierId) {
if ($('#main_brands_limit').val() == -1) {
mainBrandsLimitTypeObj.val(2);
form.render('select');
}
}
//监听供应商性质选择,如果为混合分销商,那么要展示混合分销商品牌设置 //监听供应商性质选择,如果为混合分销商,那么要展示混合分销商品牌设置
form.on('select(supplier_group)', function (data) { form.on('select(supplier_group)', function (data) {
if (data.value === '7') { if (data.value === '7') {
...@@ -170,6 +177,38 @@ ...@@ -170,6 +177,38 @@
} else { } else {
$('#agency_brands_div').hide(); $('#agency_brands_div').hide();
} }
// 这里还要去判断主营品牌数量限制的切换
// 原厂,代理商,分销平台,品牌数量不做限制;默认为“无限制”;
// 混合分销商,现货商,代工厂,品牌数量默认为10;
// 方案商,其他,品牌数量默认为5;
let mainBrandsLimitObj = $('#main_brands_limit');
let limitMap = {!!json_encode(config('field.SupplierGroupMainBrandsLimitMap'))!!};
let limit = limitMap[data.value];
console.log(limit)
if (limit === -1) {
mainBrandsLimitObj.attr('disabled', true);
mainBrandsLimitObj.addClass('layui-disabled');
mainBrandsLimitTypeObj.val(2);
} else {
mainBrandsLimitObj.attr('disabled', false);
mainBrandsLimitObj.removeClass('layui-disabled');
mainBrandsLimitTypeObj.val(1);
}
form.render('select');
mainBrandsLimitObj.val(limit === -1 ? '' : limit);
});
form.on('select(main_brands_limit_type)', function (data) {
let mainBrandsLimitObj = $('#main_brands_limit');
if (data.value == 2) {
mainBrandsLimitObj.attr('disabled', true);
mainBrandsLimitObj.addClass('layui-disabled');
} else {
mainBrandsLimitObj.attr('disabled', false);
mainBrandsLimitObj.removeClass('layui-disabled');
}
}); });
//如果没有直接忽略公司校验的权限,那么就要做到下面的互相disable //如果没有直接忽略公司校验的权限,那么就要做到下面的互相disable
...@@ -281,6 +320,19 @@ ...@@ -281,6 +320,19 @@
let agencyBrandInitValue = {!! json_encode($agency_brand_init_value?:[])!!}; let agencyBrandInitValue = {!! json_encode($agency_brand_init_value?:[])!!};
agencyBrandSelector.setValue(agencyBrandInitValue); agencyBrandSelector.setValue(agencyBrandInitValue);
//主营品牌数量逻辑
form.on('select(day_type)', function (data) {
console.log(data.value)
if (data.value === '2') {
$('#cp_time_day').attr('disabled', true);
$('#cp_time_day').addClass('layui-disabled');
} else {
$('#cp_time_day').attr('disabled', false);
$('#cp_time_day').removeClass('layui-disabled');
}
});
//供应商标签的多选 //供应商标签的多选
function getTagOption(element) { function getTagOption(element) {
//获取系统标签列表 //获取系统标签列表
......
...@@ -61,7 +61,8 @@ ...@@ -61,7 +61,8 @@
<label class="layui-form-label"><span class="require">*</span>供应商名称 : </label> <label class="layui-form-label"><span class="require">*</span>供应商名称 : </label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="supplier_name" id="supplier_name" <input type="text" name="supplier_name" id="supplier_name"
placeholder="选择所在区域才允许输入供应商名称" class="layui-input layui-disabled" value="" disabled> placeholder="选择所在区域才允许输入供应商名称" class="layui-input layui-disabled"
value="" disabled>
<div id='supplier_check_tip' style='margin-top: 5px'> <div id='supplier_check_tip' style='margin-top: 5px'>
<p style='color: red;'></p> <p style='color: red;'></p>
</div> </div>
...@@ -71,7 +72,8 @@ ...@@ -71,7 +72,8 @@
<div class="layui-block" id="tax_number_div"> <div class="layui-block" id="tax_number_div">
<label class="layui-form-label"><span id="tax_number_required_span" class="require">*</span>公司税号</label> <label class="layui-form-label"><span id="tax_number_required_span" class="require">*</span>公司税号</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="tax_number" id="tax_number" placeholder="选择所在区域才允许输入公司税号,海外供应商没有税号可以不填" <input type="text" name="tax_number" id="tax_number"
placeholder="选择所在区域才允许输入公司税号,海外供应商没有税号可以不填"
class="layui-input layui-disabled" disabled value=""> class="layui-input layui-disabled" disabled value="">
<div id='supplier_check_tip' style='margin-top: 5px'> <div id='supplier_check_tip' style='margin-top: 5px'>
<p style='color: red;'></p> <p style='color: red;'></p>
...@@ -80,7 +82,8 @@ ...@@ -80,7 +82,8 @@
</div> </div>
</div> </div>
<div class="layui-col-md2" style="padding-left: 40px"> <div class="layui-col-md2" style="padding-left: 40px">
<button type="button" class="layui-btn layui-btn-sm" id="recheck_company_info">重新查验公司信息</button> <button type="button" class="layui-btn layui-btn-sm" id="recheck_company_info">重新查验公司信息
</button>
</div> </div>
</div> </div>
...@@ -206,15 +209,31 @@ ...@@ -206,15 +209,31 @@
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label"> <div class="layui-col-md8">
<span class="require">*</span> <label class="layui-form-label">
主营品牌</label> <span class="require">*</span>
<div class="layui-input-block"> 主营品牌</label>
<div id="brand_selector" class="layui-input-inline" style="width: 100%;"> <div class="layui-input-block">
<div id="brand_selector" class="layui-input-inline" style="width: 100%;">
</div>
<input type="hidden" name="main_brands" value=""
id="main_brands">
</div> </div>
<input type="hidden" name="main_brands" value=""
id="main_brands">
</div> </div>
<div class="layui-col-md4">
<label class="layui-form-label" style="width: 100px">主营品牌数量: </label>
<div class="layui-input-inline" style="width: 150px">
<input type="text" name="main_brands_limit" id="main_brands_limit"
placeholder="请输入主营品牌数量限制" class="layui-input" value="">
</div>
<div class="layui-inline">
<select id="main_brands_limit_type" lay-filter="main_brands_limit_type">
<option value="1">自定义</option>
<option value="2">无限制</option>
</select>
</div>
</div>
</div> </div>
{{--选择“混合分销商”时,在主营品牌下面新增一栏“代理品牌”;代理品牌取值同主营品牌一样--}} {{--选择“混合分销商”时,在主营品牌下面新增一栏“代理品牌”;代理品牌取值同主营品牌一样--}}
<div class="layui-form-item" id="agency_brands_div" style="display: none"> <div class="layui-form-item" id="agency_brands_div" style="display: none">
...@@ -245,7 +264,8 @@ ...@@ -245,7 +264,8 @@
<div class="layui-form-item layui-form-text"> <div class="layui-form-item layui-form-text">
<label class="layui-form-label">资信调查 : </label> <label class="layui-form-label">资信调查 : </label>
<div class="layui-input-block"> <div class="layui-input-block">
<textarea name="credit_investigation" placeholder="请输入资信调查" class="layui-textarea"></textarea> <textarea name="credit_investigation" placeholder="请输入资信调查"
class="layui-textarea"></textarea>
</div> </div>
</div> </div>
......
...@@ -213,15 +213,31 @@ ...@@ -213,15 +213,31 @@
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label"> <div class="layui-col-md8">
<span class="require">*</span> <label class="layui-form-label">
主营品牌</label> <span class="require">*</span>
<div class="layui-input-block" style="margin-top: 15px"> 主营品牌</label>
<div id="brand_selector" class="layui-input-inline" style="width: 100%;"> <div class="layui-input-block">
<div id="brand_selector" class="layui-input-inline" style="width: 100%;">
</div>
<input type="hidden" name="main_brands" value=""
id="main_brands" value="{{$supplier['main_brands'] or ''}}">
</div> </div>
<input type="hidden" name="main_brands" value="{{$supplier['main_brands'] or ''}}"
id="main_brands">
</div> </div>
<div class="layui-col-md4">
<label class="layui-form-label" style="width: 100px">主营品牌数量: </label>
<div class="layui-input-inline" style="width: 150px">
<input type="text" name="main_brands_limit" id="main_brands_limit"
placeholder="请输入主营品牌数量限制" class="layui-input" value="{{$supplier['main_brands_limit'] or ''}}">
</div>
<div class="layui-inline">
<select id="main_brands_limit_type" lay-filter="main_brands_limit_type">
<option value="1">自定义</option>
<option value="2">无限制</option>
</select>
</div>
</div>
</div> </div>
{{--选择“混合分销商”时,在主营品牌下面新增一栏“代理品牌”;代理品牌取值同主营品牌一样--}} {{--选择“混合分销商”时,在主营品牌下面新增一栏“代理品牌”;代理品牌取值同主营品牌一样--}}
<div class="layui-form-item" id="agency_brands_div" <div class="layui-form-item" id="agency_brands_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