Commit e3a25c81 by 杨树贤

代理品牌支持搜索

parent b2a92b91
......@@ -87,6 +87,20 @@ class SupplierFilter
$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'])) {
//因为传过来的是内部编码,所以要转成admin_id
$adminService = new AdminUserService();
......
......@@ -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 = [
{type: 'checkbox', fixed: true},
{
......
......@@ -240,16 +240,24 @@
@inject('multiSelectorPresenter','App\Presenters\MultiSelectorPresenter')
{!! $multiSelectorPresenter->render('region','区域','',$regionData) !!}
</div>
<div class="layui-inline">
<label class="layui-form-label">创建部门</label>
<div class="layui-input-inline">
<div id="create_user_department" style="width: 150px"></div>
</div>
</div>
<div class="layui-inline">
<div class="layui-inline" style="margin-left: 10px">
@inject('multiTransformableSelectPresenter','App\Presenters\Filter\MultiTransformableSelectPresenter')
{!! $multiTransformableSelectPresenter->render(['data_channel_uid' => '数据跟单员'],['data_channel_uid' => $userCodes]) !!}
</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-inline" style="width: 600px">
@inject('transformableTimeIntervalPresenter','App\Presenters\Filter\TransformableTimeIntervalPresenter')
......
......@@ -157,6 +157,12 @@
</div>
<div class="layui-inline">
<?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上传方式',],
['source'=>config('field.SkuSource')]); ?>
......@@ -197,11 +203,6 @@
<?php echo $transformableSelectPresenter->render(['channel_uid'=>'采购员'],$userCodes); ?>
</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">
<?php $transformableSelectPresenter = app('App\Presenters\Filter\TransformableSelectPresenter'); ?>
<?php echo $transformableSelectPresenter->render(['create_uid'=>'创建人'],$userCodes); ?>
......@@ -266,17 +267,25 @@
<?php echo $multiSelectorPresenter->render('region','区域','',$regionData); ?>
</div>
<div class="layui-inline">
<label class="layui-form-label">创建部门</label>
<div class="layui-input-inline">
<div id="create_user_department" style="width: 150px"></div>
</div>
</div>
<div class="layui-inline">
<div class="layui-inline" style="margin-left: 10px">
<?php $multiTransformableSelectPresenter = app('App\Presenters\Filter\MultiTransformableSelectPresenter'); ?>
<?php echo $multiTransformableSelectPresenter->render(['data_channel_uid' => '数据跟单员'],['data_channel_uid' => $userCodes]); ?>
</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-inline" style="width: 600px">
<?php $transformableTimeIntervalPresenter = app('App\Presenters\Filter\TransformableTimeIntervalPresenter'); ?>
......
......@@ -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 = [
{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