<?php


namespace App\Presenters;


class BrandSelectorPresenter
{
    public function render($name, $text, $value = null, $data = [0 => '禁用', 1 => '启用'], $option = [])
    {
        $isRequired = array_get($option, 'required', false);
        $requiredHtml = $isRequired ? '<span style="color: red">*</span>' : "";
        $html = <<<EOF
           <label class="layui-form-label">
              $requiredHtml
              $text</label>
              <div class="layui-input-inline">
              <div id="$name" class="layui-input-inline" value="$value" style="width: 700px;">
              </div>
         <input type="hidden" name="$name" id="$name">
          </div>
         <script>
             //渲染品牌多选
         let brandUrl = '/api/common/getBrandList';
         let brandSelector = xmSelect.render({
             el: '#$name',
             name: '$name',
             searchTips: '请输入要查找的制造商',
             paging: true,
             empty: '没有查找到数据',
             prop: {
                 name: 'brand_name',
                 value: 'brand_id'
             },
             height: "1300px",
             remoteSearch: true,
             autoRow: true,
             pageRemote: true,
             pageSize: 10,
             filterable: true,
             remoteMethod: function (val, cb, show, pageIndex) {
                 //val: 搜索框的内容, 不开启搜索默认为空, cb: 回调函数, show: 当前下拉框是否展开, pageIndex: 当前第几页
                 $.ajax({
                     url: brandUrl,
                     type: 'post',
                     data: {
                         brand_ids: $('#$name').val(),
                         brand_name: val,
                         page: pageIndex
                     },
                     dataType: 'json',
                     timeout: 10000,
                     success: function (res) {
                         if (!res) return layer.msg('网络错误,请重试', {icon: 5});
                         if (res.code === 0) {
                             cb(res.data, res.count/10);
                         }
                     },
                     error: function () {
                         return layer.msg('网络错误,请重试', {icon: 5});
                     }
                 });
             },
             on: function (data) {
                 let brandIds = '';
                 for (let x in data.arr)  // x 为属性名
                 {
                     brandIds = brandIds + data.arr[x].brand_id + ',';
                 }
                 $("#brand_ids").val(brandIds);
             }
         });
         let brandIds = $('#brand_selector').attr('value');
         brandSelector.setValue(brandIds.split(','));
         </script>
EOF;
        return $html;
    }

}