Commit e3a25c81 by 杨树贤

代理品牌支持搜索

parent b2a92b91
...@@ -87,6 +87,20 @@ class SupplierFilter ...@@ -87,6 +87,20 @@ class SupplierFilter
$query->where('sign_com_id', $map['sign_com_id']); $query->where('sign_com_id', $map['sign_com_id']);
} }
if (!empty($map['agency_brands'])) {
$agencyBrands = array_filter(explode(',', $map['agency_brands']), function ($value) {
return trim($value) !== '';
});
if (!empty($agencyBrands)) {
$query->where(function ($q) use ($agencyBrands) {
foreach ($agencyBrands as $brandId) {
$brandId = trim($brandId);
$q->orWhereRaw("CONCAT(',', REPLACE(agency_brands, ' ', ''), ',') LIKE '%,{$brandId},%'");
}
});
}
}
if (!empty($map['create_uid'])) { if (!empty($map['create_uid'])) {
//因为传过来的是内部编码,所以要转成admin_id //因为传过来的是内部编码,所以要转成admin_id
$adminService = new AdminUserService(); $adminService = new AdminUserService();
......
...@@ -130,6 +130,59 @@ ...@@ -130,6 +130,59 @@
} }
}) })
var agencyBrandsSelector = xmSelect.render({
el: '#agency_brands_filter',
filterable: true,
paging: true,
height: '250px',
size: 'mini',
direction: 'auto',
autoRow: true,
prop: {
name: 'brand_name',
value: 'brand_id',
},
remoteSearch: true,
pageRemote: true,
template({item, sels, name, value}) {
return item.brand_name + '<span style="position: absolute; right: 10px; color: #8799a3">' +
item.mapping_brand_names + '</span>'
},
filterMethod: function(val, item, index, prop) {},
pageSize: 30,
remoteMethod: function(val, cb, show, pageIndex) {
$.ajax({
url: '/api/common/getStandardBrandList',
type: 'post',
data: {
brand_name: val,
page: pageIndex
},
dataType: 'json',
timeout: 10000,
success: function(res) {
if (!res) return layer.msg('网络错误,请重试', {icon: 5});
if (res.err_code === 0) {
cb(res.data, res.last_page);
} else {
layer.msg(res.err_msg, {icon: 6});
}
},
error: function() {
return layer.msg('网络错误,请重试', {icon: 5});
}
});
},
on: function(data) {
let arr = data.arr;
let brandIds = '';
for (let i in arr) {
brandIds += arr[i].brand_id + ',';
}
$('#agency_brands_filter_value').val(brandIds);
},
})
let cols = [ let cols = [
{type: 'checkbox', fixed: true}, {type: 'checkbox', fixed: true},
{ {
......
...@@ -240,16 +240,24 @@ ...@@ -240,16 +240,24 @@
@inject('multiSelectorPresenter','App\Presenters\MultiSelectorPresenter') @inject('multiSelectorPresenter','App\Presenters\MultiSelectorPresenter')
{!! $multiSelectorPresenter->render('region','区域','',$regionData) !!} {!! $multiSelectorPresenter->render('region','区域','',$regionData) !!}
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">创建部门</label> <label class="layui-form-label">创建部门</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<div id="create_user_department" style="width: 150px"></div> <div id="create_user_department" style="width: 150px"></div>
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline" style="margin-left: 10px">
@inject('multiTransformableSelectPresenter','App\Presenters\Filter\MultiTransformableSelectPresenter') @inject('multiTransformableSelectPresenter','App\Presenters\Filter\MultiTransformableSelectPresenter')
{!! $multiTransformableSelectPresenter->render(['data_channel_uid' => '数据跟单员'],['data_channel_uid' => $userCodes]) !!} {!! $multiTransformableSelectPresenter->render(['data_channel_uid' => '数据跟单员'],['data_channel_uid' => $userCodes]) !!}
</div> </div>
<div class="layui-inline">
<label class="layui-form-label">代理品牌</label>
<div class="layui-input-inline">
<div id="agency_brands_filter" style="width: 200px"></div>
<input type="hidden" name="agency_brands" id="agency_brands_filter_value" value="">
</div>
</div>
<div class="layui-row"> <div class="layui-row">
<div class="layui-inline" style="width: 600px"> <div class="layui-inline" style="width: 600px">
@inject('transformableTimeIntervalPresenter','App\Presenters\Filter\TransformableTimeIntervalPresenter') @inject('transformableTimeIntervalPresenter','App\Presenters\Filter\TransformableTimeIntervalPresenter')
......
...@@ -157,6 +157,12 @@ ...@@ -157,6 +157,12 @@
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
<?php $multiTransformableSelectPresenter = app('App\Presenters\Filter\MultiTransformableSelectPresenter'); ?> <?php $multiTransformableSelectPresenter = app('App\Presenters\Filter\MultiTransformableSelectPresenter'); ?>
<?php echo $multiTransformableSelectPresenter->render(['purchase_uid' => '数据维护员'],
['purchase_uid' => $userCodes]); ?>
</div>
<div class="layui-inline">
<?php $multiTransformableSelectPresenter = app('App\Presenters\Filter\MultiTransformableSelectPresenter'); ?>
<?php echo $multiTransformableSelectPresenter->render(['source' => 'SKU上传方式',], <?php echo $multiTransformableSelectPresenter->render(['source' => 'SKU上传方式',],
['source'=>config('field.SkuSource')]); ?> ['source'=>config('field.SkuSource')]); ?>
...@@ -197,11 +203,6 @@ ...@@ -197,11 +203,6 @@
<?php echo $transformableSelectPresenter->render(['channel_uid'=>'采购员'],$userCodes); ?> <?php echo $transformableSelectPresenter->render(['channel_uid'=>'采购员'],$userCodes); ?>
</div> </div>
<?php /* <div class="layui-inline">
<?php $transformableSelectPresenter = app('App\Presenters\Filter\TransformableSelectPresenter'); ?>
<?php echo $transformableSelectPresenter->render(['purchase_uid'=>'开发员'],$userCodes); ?>
</div> */ ?>
<div class="layui-inline"> <div class="layui-inline">
<?php $transformableSelectPresenter = app('App\Presenters\Filter\TransformableSelectPresenter'); ?> <?php $transformableSelectPresenter = app('App\Presenters\Filter\TransformableSelectPresenter'); ?>
<?php echo $transformableSelectPresenter->render(['create_uid'=>'创建人'],$userCodes); ?> <?php echo $transformableSelectPresenter->render(['create_uid'=>'创建人'],$userCodes); ?>
...@@ -266,17 +267,25 @@ ...@@ -266,17 +267,25 @@
<?php echo $multiSelectorPresenter->render('region','区域','',$regionData); ?> <?php echo $multiSelectorPresenter->render('region','区域','',$regionData); ?>
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">创建部门</label> <label class="layui-form-label">创建部门</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<div id="create_user_department" style="width: 150px"></div> <div id="create_user_department" style="width: 150px"></div>
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline" style="margin-left: 10px">
<?php $multiTransformableSelectPresenter = app('App\Presenters\Filter\MultiTransformableSelectPresenter'); ?> <?php $multiTransformableSelectPresenter = app('App\Presenters\Filter\MultiTransformableSelectPresenter'); ?>
<?php echo $multiTransformableSelectPresenter->render(['data_channel_uid' => '数据跟单员'],['data_channel_uid' => $userCodes]); ?> <?php echo $multiTransformableSelectPresenter->render(['data_channel_uid' => '数据跟单员'],['data_channel_uid' => $userCodes]); ?>
</div> </div>
<div class="layui-inline">
<label class="layui-form-label">代理品牌</label>
<div class="layui-input-inline">
<div id="agency_brands_filter" style="width: 200px"></div>
<input type="hidden" name="agency_brands" id="agency_brands_filter_value" value="">
</div>
</div>
<div class="layui-row"> <div class="layui-row">
<div class="layui-inline" style="width: 600px"> <div class="layui-inline" style="width: 600px">
<?php $transformableTimeIntervalPresenter = app('App\Presenters\Filter\TransformableTimeIntervalPresenter'); ?> <?php $transformableTimeIntervalPresenter = app('App\Presenters\Filter\TransformableTimeIntervalPresenter'); ?>
......
...@@ -130,6 +130,59 @@ ...@@ -130,6 +130,59 @@
} }
}) })
var agencyBrandsSelector = xmSelect.render({
el: '#agency_brands_filter',
filterable: true,
paging: true,
height: '250px',
size: 'mini',
direction: 'auto',
autoRow: true,
prop: {
name: 'brand_name',
value: 'brand_id',
},
remoteSearch: true,
pageRemote: true,
template({item, sels, name, value}) {
return item.brand_name + '<span style="position: absolute; right: 10px; color: #8799a3">' +
item.mapping_brand_names + '</span>'
},
filterMethod: function(val, item, index, prop) {},
pageSize: 30,
remoteMethod: function(val, cb, show, pageIndex) {
$.ajax({
url: '/api/common/getStandardBrandList',
type: 'post',
data: {
brand_name: val,
page: pageIndex
},
dataType: 'json',
timeout: 10000,
success: function(res) {
if (!res) return layer.msg('网络错误,请重试', {icon: 5});
if (res.err_code === 0) {
cb(res.data, res.last_page);
} else {
layer.msg(res.err_msg, {icon: 6});
}
},
error: function() {
return layer.msg('网络错误,请重试', {icon: 5});
}
});
},
on: function(data) {
let arr = data.arr;
let brandIds = '';
for (let i in arr) {
brandIds += arr[i].brand_id + ',';
}
$('#agency_brands_filter_value').val(brandIds);
},
})
let cols = [ let cols = [
{type: 'checkbox', fixed: true}, {type: 'checkbox', fixed: true},
{ {
......
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