ソースを参照

add:添加供应商管理,并关联到商品和订单

joe 4 年 前
コミット
e9936b7848

+ 20 - 0
app/admin/controller/order/StoreOrder.php

@@ -10,6 +10,7 @@ namespace app\admin\controller\order;
 use app\admin\controller\AuthController;
 use app\admin\model\order\StoreOrderCartInfo;
 use app\admin\model\system\Express;
+use app\admin\model\store\StoreProduct;
 use crmeb\repositories\OrderRepository;
 use crmeb\repositories\ShortLetterRepositories;
 use crmeb\services\{
@@ -250,6 +251,25 @@ class StoreOrder extends AuthController
         return $this->fetch('public/form-builder');
     }
 
+    public function provider_info($product_id)
+    {
+        if (!$product_id) return $this->failed('数据不存在');
+        $provider = StoreProduct::getProductProvider($product_id);
+        if (!$provider) {
+            return $this->failed('数据找不到');
+        }
+        $f[] = Form::text('store_name', '商品名称', $provider->store_name);
+        $f[] = Form::text('name', '供应商', $provider->name);
+        $f[] = Form::text('contact', '联系人', $provider->contact);
+        $f[] = Form::text('site', '网站', $provider->site);
+        $f[] = Form::text('phone', '电话', $provider->phone);
+        $f[] = Form::text('qq', 'qq', $provider->qq);
+        $f[] = Form::text('wechat', '微信', $provider->wechat);
+        $form = Form::make_post_form('供应商', $f, '');
+        $this->assign(compact('form'));
+        return $this->fetch('public/form-builder');
+    }
+
     /**
      * 修改订单提交更新
      * @param $id

+ 6 - 4
app/admin/controller/store/StoreProduct.php

@@ -3,16 +3,15 @@
 namespace app\admin\controller\store;
 
 use app\admin\controller\AuthController;
-use app\admin\model\store\{
-    StoreDescription,
+use app\admin\model\store\{StoreDescription,
     StoreProductAttrValue,
     StoreProductAttr,
     StoreProductAttrResult,
     StoreProductCate,
+    StoreProductProvider as SPP,
     StoreProductRelation,
     StoreCategory as CategoryModel,
-    StoreProduct as ProductModel
-};
+    StoreProduct as ProductModel};
 use app\admin\model\ump\StoreBargain;
 use app\admin\model\ump\StoreCombination;
 use app\admin\model\ump\StoreSeckill;
@@ -173,6 +172,7 @@ class StoreProduct extends AuthController
             $menus[] = ['value' => $menu['id'], 'label' => $menu['html'] . $menu['cate_name'], 'disabled' => $menu['pid'] == 0 ? 0 : 1];//,'disabled'=>$menu['pid']== 0];
         }
         $data['tempList'] = ShippingTemplates::order('sort', 'desc')->field(['id', 'name'])->select()->toArray();
+        $data['providerList'] = SPP::where('status',0)->field(['id', 'name'])->select()->toArray();
         $data['cateList'] = $menus;
         $data['productInfo'] = [];
         if ($id) {
@@ -260,6 +260,7 @@ class StoreProduct extends AuthController
             ['give_integral', 0],
             ['is_show', 0],
             ['temp_id', 0],
+            ['provider_id', 0],
             ['is_hot', 0],
             ['is_benefit', 0],
             ['is_best', 0],
@@ -458,6 +459,7 @@ class StoreProduct extends AuthController
             ['sort', 0],
             ['stock', 0],
             ['temp_id', 0],
+            ['provider_id', 0],
             ['ficti', 100],
             ['give_integral', 0],
             ['is_show', 0],

+ 99 - 0
app/admin/controller/store/StoreProductProvider.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace app\admin\controller\store;
+
+use app\admin\controller\AuthController;
+use app\admin\model\store\StoreProductProvider as SPP;
+use crmeb\services\FormBuilder as Form;
+use crmeb\services\JsonService;
+use crmeb\services\UtilService;
+use think\facade\Route as Url;
+
+class StoreProductProvider extends AuthController
+{
+    public function index()
+    {
+        return $this->fetch();
+    }
+
+    public function get_providers()
+    {
+        $where = UtilService::getMore([
+            ['page', 0],
+            ['limit', 10],
+            ['keyword', ''],
+        ]);
+        return JsonService::successlayui(SPP::getProviderList($where));
+    }
+
+    public function create($id=0)
+    {
+        if ($id) {
+            $pvdr = SPP::get($id);
+        }
+        $field[] = Form::text('name', '名称', isset($pvdr) ? $pvdr->name : '')->col(12);
+        $field[] = Form::text('site', '网站', isset($pvdr) ? $pvdr->site : '');
+        $field[] = Form::frameImageOne('logo', 'logo(305*305px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'logo')), isset($pvdr) ? $pvdr->logo : '')->icon('image')->width('100%')->height('500px');
+        $field[] = Form::text('source', '来源', isset($pvdr) ? $pvdr->source : '')->col(12);
+        $field[] = Form::text('contact', '联系人', isset($pvdr) ? $pvdr->contact : '')->col(12);
+        $field[] = Form::text('phone', '电话', isset($pvdr) ? $pvdr->phone : '')->col(12);
+        $field[] = Form::text('qq', 'qq', isset($pvdr) ? $pvdr->qq : '')->col(12);
+        $field[] = Form::text('wechat', '微信', isset($pvdr) ? $pvdr->wechat : '')->col(12);
+        $field[] = Form::textarea('desc', '描述', isset($pvdr) ? $pvdr->desc : '')->rows(3);
+        $field[] = Form::select('status', '状态', isset($pvdr) ? strval($pvdr->status) : '0')->setOptions([
+            ['label'=>'默认', 'value'=>'0'],
+            ['label'=>'下架', 'value'=>'1'],
+            ['label'=>'删除', 'value'=>'2'],
+        ]) ->col(12);
+
+        $form = Form::make_post_form('供应商', $field, Url::buildUrl('save', ['id' => $id]), 2);
+        $this->assign(compact('form'));
+        return $this->fetch('public/form-builder');
+    }
+
+    public function save($id=0)
+    {
+        $data = UtilService::postMore([
+            ['name', ''],
+            ['site', ''],
+            ['logo', 0],
+            ['source', ''],
+            ['contact', ''],
+            ['phone', ''],
+            ['qq', 0],
+            ['wechat', 0],
+            ['desc', 0],
+            ['status', 0],
+        ]);
+        if (!$data['name']) {
+            return JsonService::fail('请输入名称');
+        }
+        if ($data['status'] < 0 || $data['status'] > 2) {
+            return JsonService::fail('参数错误');
+        }
+
+        try {
+            if ($id) {
+                $res = SPP::edit($data, $id);
+            } else {
+                $data['add_time'] = time();
+                $res = SPP::create($data);
+            }
+            if ($res) {
+                return JsonService::successful('保存成功');
+            }else{
+                return JsonService::fail('保存失败');
+            }
+        } catch (\Exception $e) {
+            return JsonService::fail($e->getMessage());
+        }
+    }
+
+    public function mark($id=0,$st=0)
+    {
+        if (SPP::edit(['status' => intval($st)], $id))
+            return JsonService::successful('操作成功');
+        else
+            return JsonService::fail('操作失败');
+    }
+}

+ 6 - 0
app/admin/model/store/StoreProduct.php

@@ -692,4 +692,10 @@ class StoreProduct extends BaseModel
     {
         return self::where('id', $id)->value($field);
     }
+
+    public static function getProductProvider($id)
+    {
+        return self::alias('p')->join('store_product_provider s', 'p.provider_id=s.id')
+            ->where('p.id', $id)->field('p.store_name, s.*')->find();
+    }
 }

+ 42 - 0
app/admin/model/store/StoreProductProvider.php

@@ -0,0 +1,42 @@
+<?php
+
+namespace app\admin\model\store;
+
+use crmeb\basic\BaseModel;
+use crmeb\traits\ModelTrait;
+
+class StoreProductProvider extends BaseModel
+{
+    protected $pk = 'id';
+    protected $name = 'store_product_provider';
+    use ModelTrait;
+
+    /**
+     * 获取查询条件
+     * @param $where
+     * @param string $alert
+     * @param null $model
+     * @return StoreProductProvider|null
+     */
+    public static function setWhere($where, $alias='', $model=null)
+    {
+        $model=$model===null ? new self() : $model;
+        if($alias) {
+            $model=$model->alias($alias);
+        }
+        $alias=$alias ? $alias.'.': '';
+        //$model = $model->where("{$alias}status",0);
+        if(isset($where['keyword']) && $where['keyword']!=='') {
+            $model=$model->where("{$alias}name",'LIKE',"%$where[keyword]%");
+        }
+        return $model;
+    }
+
+    public static function getProviderList($where)
+    {
+        $data=self::setWhere($where)->order('add_time desc')->page((int)$where['page'],(int)$where['limit'])->select();
+        $data=count($data) ? $data->toArray() : [];
+        $count=self::setWhere($where)->count();
+        return compact('data','count');
+    }
+}

+ 3 - 0
app/admin/view/order/store_order/index.php

@@ -189,8 +189,11 @@
                         {{#  if(item.cart_info.productInfo.attrInfo!=undefined){ }}
                         <div>
                             <span>
+                                <a href="javascript:void(0);"
+                                   onclick="$eb.createModalFrame('供应商信息','{:Url('provider_info')}?product_id={{item.cart_info.productInfo.attrInfo.product_id}}',{w:800,h:600})">
                                 <img style="width: 30px;height: 30px;margin:0;cursor: pointer;"
                                      src="{{item.cart_info.productInfo.attrInfo.image}}">
+                                </a>
                             </span>
                             <span>{{item.cart_info.productInfo.store_name}}&nbsp;{{item.cart_info.productInfo.attrInfo.suk}}</span>
                             <span> | ¥{{item.cart_info.truePrice}}×{{item.cart_info.cart_num}}</span>

+ 26 - 0
app/admin/view/store/store_product/create.php

@@ -561,6 +561,21 @@
                                         </div>
                                     </div>
                                 </div>
+
+                                <div class="layui-col-xs12 layui-col-sm6 layui-col-md6">
+                                    <div class="grid-demo grid-demo-bg1">
+                                        <div class="layui-form-item">
+                                            <label class="layui-form-label">供应商<i class="red">*</i></label>
+                                            <div class="layui-input-block">
+                                                <select name="provider_id" lay-filter="provider_id">
+                                                    <option value="0">请选择</option>
+                                                    <option :value="item.id" v-for="item in providerList" :selected=" item.id == formData.provider_id ? true : false ">{{item.name}}</option>
+                                                </select>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+
                                 <div class="layui-row layui-col-space15">
                                     <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
                                         <div class="grid-demo grid-demo-bg1">
@@ -873,12 +888,14 @@
             cateList: [],
             //运费模板
             tempList: [],
+            providerList: [],
             upload:{
                 videoIng:false
             },
             formData: {
                 cate_id: [],
                 temp_id: 0,
+                provider_id: 0,
                 commission:0,
                 store_name: '',
                 keyword: '',
@@ -1091,6 +1108,7 @@
                 that.requestGet(that.U({c:"store.StoreProduct",a:'get_product_info',q:{id:that.id}})).then(function (res) {
                     that.$set(that,'cateList',res.data.cateList);
                     that.$set(that,'tempList',res.data.tempList);
+                    that.$set(that,'providerList',res.data.providerList);
                     var productInfo = res.data.productInfo || {};
                     if(productInfo.id && that.id){
                         that.$set(that,'formData',productInfo);
@@ -1349,6 +1367,9 @@
                         that.form.on('select(temp_id)', function (data) {
                             that.$set(that.formData, 'temp_id', data.value);
                         });
+                        that.form.on('select(provider_id)', function (data) {
+                            that.$set(that.formData, 'provider_id', data.value);
+                        });
                         that.form.on('select(rule_index)', function (data) {
                             that.ruleIndex = data.value;
                         });
@@ -1437,6 +1458,11 @@
                 if (!that.formData.temp_id) {
                     return that.showMsg('请选择运费模板');
                 }
+
+                if (!that.formData.provider_id) {
+                    return that.showMsg('请选择供应商');
+                }
+
                 if (!that.formData.store_name) {
                     return that.showMsg('请填写商品名称');
                 }

+ 2 - 2
app/admin/view/store/store_product/index.php

@@ -69,8 +69,8 @@
                         {switch name='type'}
                             {case value="1"}
                                 <a class="layui-btn layui-btn-sm" href="{:Url('create')}">添加商品</a>
-                                <button class="layui-btn layui-btn-sm" onclick="$eb.createModalFrame(this.innerText,'{:Url('store.copy_taobao/index')}',{h:700,w:1100});">复制淘宝、天猫、1688、京东</button>
-                                <button class="layui-btn layui-btn-sm" onclick="$eb.createModalFrame(this.innerText,'{:Url('store.copy_taobao/product')}',{h:700,w:1100});">付费采集商品(淘宝、天猫、1688、京东、苏宁)</button>
+                                <!--button class="layui-btn layui-btn-sm" onclick="$eb.createModalFrame(this.innerText,'{:Url('store.copy_taobao/index')}',{h:700,w:1100});">复制淘宝、天猫、1688、京东</button-->
+                                <!--button class="layui-btn layui-btn-sm" onclick="$eb.createModalFrame(this.innerText,'{:Url('store.copy_taobao/product')}',{h:700,w:1100});">付费采集商品(淘宝、天猫、1688、京东、苏宁)</button-->
                             {/case}
                             {case value="2"}
                                 <button class="layui-btn layui-btn-sm" data-type="show">批量上架</button>

+ 193 - 0
app/admin/view/store/store_product_provider/index.php

@@ -0,0 +1,193 @@
+{extend name="public/container"}
+{block name="content"}
+<div class="layui-fluid">
+    <div class="layui-row layui-col-space15"  id="app">
+        <div class="layui-col-md12">
+            <div class="layui-card">
+                <div class="layui-card-header">搜索条件</div>
+                <div class="layui-card-body">
+                    <form class="layui-form layui-form-pane" action="">
+                        <div class="layui-form-item">
+                            <div class="layui-inline">
+                                <label class="layui-form-label">关键字</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="keyword" class="layui-input" placeholder="请输入供应商名称关键字">
+                                </div>
+                            </div>
+                            <div class="layui-inline">
+                                <div class="layui-input-inline">
+                                    <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="search" lay-filter="search">
+                                        <i class="layui-icon layui-icon-search"></i>搜索</button>
+                                </div>
+                            </div>
+                        </div>
+                    </form>
+                </div>
+            </div>
+        </div>
+        <!--产品列表-->
+        <div class="layui-col-md12">
+            <div class="layui-card">
+                <div class="layui-card-header">供应商列表</div>
+                <div class="layui-card-body">
+                    <div class="layui-btn-container">
+                        <button class="layui-btn layui-btn-sm" onclick="$eb.createModalFrame(this.innerText,'{:Url('create')}')">新增供应商</button>
+                    </div>
+                    <table class="layui-hide" id="List" lay-filter="List"></table>
+                    <script type="text/html" id="site">
+                        <div></div><a href="{{ d.site }}" target="_blank">{{ d.site }}</a></div>
+                    </script>
+                    <script type="text/html" id="status">
+                        {{# if(d.status==0) { }}
+                        <span>默认</span>
+                        {{# }else if(d.status==1){ }}
+                        <span style="color:darkgrey">下架</span>
+                        {{#  }else{ }}
+                        <span style="color:red">删除</span>
+                        {{# } }}
+                    </script>
+                    <script type="text/html" id="add_time">
+                        <div>{{ layui.util.toDateString(d.add_time * 1000, 'yyyy-MM-dd') }}</div>
+                    </script>
+                    <script type="text/html" id="logo">
+                        {{# if(d.logo){ }}
+                        <img style="cursor: pointer;max-width: 50px;" lay-event='open_image' src="{{ d.logo }}">
+                        {{# } }}
+                    </script>
+                    <script type="text/html" id="act">
+                        <button type="button" class="layui-btn layui-btn-xs" onclick="dropdown(this)">操作 <span class="caret"></span></button>
+                        <ul class="layui-nav-child layui-anim layui-anim-upbit">
+                            <li>
+                                <a href="javascript:void(0)" onclick="$eb.createModalFrame(this.innerText,'{:Url(\'create\')}?id={{d.id}}')">
+                                    <i class="fa fa-edit"></i> 编辑
+                                </a>
+                            </li>
+                            <li>
+                                <a lay-event="down" href="javascript:void(0)">
+                                    <i class="fa fa-edit"></i> 下架
+                                </a>
+                            </li>
+                            <li>
+                                <a lay-event='delete' href="javascript:void(0)" >
+                                    <i class="fa fa-times"></i> 删除
+                                </a>
+                            </li>
+                        </ul>
+                    </script>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="{__ADMIN_PATH}js/layuiList.js"></script>
+{/block}
+{block name="script"}
+<script>
+    //实例化form
+    layList.form.render();
+    //加载列表
+    layList.tableList('List',"{:Url('get_providers')}",function (){
+        return [
+            {field: 'id', title: '编号', sort: true,event:'id',width:'6%',align:"center"},
+            {field: 'name', title: '名称',align:"center",width:'8%'},
+            {field: 'site', title: '网站',width:'12%',align:"center",templet:'#site'},
+            //{field: 'source', title: '来源',width:'8%',align:"center"},
+            //{field: 'logo', title: 'logo',width:'8%',align:"center",templet:'#logo'},
+            //{field: 'body', title: '内容',width:'6%',align:"center"},
+            {field: 'contact', title: '联系人',width:'8%',align:"center"},
+            {field: 'phone', title: '电话', width:'10%',align:"center"},
+            {field: 'qq', title: 'qq',width:'10%',align:"center"},
+            {field: 'wechat', title: '微信',width:'10%',align:"center"},
+            {field: 'add_time', title: '时间',width:'8%',align:"center",templet:'#add_time'},
+            {field: 'desc', title: '描述',width:'12%',align:"center"},
+            {field: 'status', title: '状态',width:'8%',align:"center",templet:'#status'},
+            {field: 'right', title: '操作',align:'center',toolbar:'#act',width:'8%'},
+        ];
+    });
+    //自定义方法
+    var action= {
+        set_value: function (field, id, value) {
+            layList.baseGet(layList.Url({
+                a: 'set_value',
+                q: {field: field, id: id, value: value}
+            }), function (res) {
+                layList.msg(res.msg);
+            });
+        },
+    };
+    //查询
+    layList.search('search',function(where){
+        layList.reload(where,true);
+    });
+    //快速编辑
+    layList.edit(function (obj) {
+        var id=obj.data.id,value=obj.value;
+        switch (obj.field) {
+            case 'name':
+                action.set_value('name',id,value);
+                break;
+            case 'site':
+                action.set_value('site',id,value);
+                break;
+            case 'contact':
+                action.set_value('contact',id,value);
+                break;
+        }
+    });
+    //监听并执行排序
+    layList.sort(['id','sort'],true);
+    //点击事件绑定
+    layList.tool(function (event,data,obj) {
+        var query = {id:data.id, st:0};
+
+        if (event === 'open_image') {
+            return $eb.openImage(data.logo);
+        }else if (event === 'down') {
+            query.st = 1;
+        }else if (event === 'delete') {
+            query.st = 2;
+        }
+        var url=layList.U({a:'mark',q:query});
+        $eb.axios.get(url).then(function(res){
+            if(res.status == 200 && res.data.code == 200) {
+                $eb.$swal('success',res.data.msg);
+                //obj.del();
+            }else
+                return Promise.reject(res.data.msg || '执行失败')
+        }).catch(function(err){
+            $eb.$swal('error',err);
+        });
+    });
+    // 下拉框
+    $(document).click(function (e) {
+        $('.layui-nav-child').hide();
+    });
+    function dropdown(that){
+        var oEvent = arguments.callee.caller.arguments[0] || event;
+        oEvent.stopPropagation();
+        var offset = $(that).offset();
+        var top=offset.top-$(window).scrollTop();
+        var index = $(that).parents('tr').data('index');
+        $('.layui-nav-child').each(function (key) {
+            if (key != index) {
+                $(this).hide();
+            }
+        });
+        if($(document).height() < top+$(that).next('ul').height()){
+            $(that).next('ul').css({
+                'padding': 10,
+                'top': - ($(that).parent('td').height() / 2 + $(that).height() + $(that).next('ul').height()/2),
+                'min-width': 'inherit',
+                'position': 'absolute'
+            }).toggle();
+        }else{
+            $(that).next('ul').css({
+                'padding': 10,
+                'top':$(that).parent('td').height() / 2 + $(that).height(),
+                'min-width': 'inherit',
+                'position': 'absolute'
+            }).toggle();
+        }
+    }
+</script>
+{/block}

+ 28 - 3
public/install/crmeb.sql

@@ -1196,6 +1196,7 @@ CREATE TABLE IF NOT EXISTS `eb_store_product` (
   `temp_id` int(11) NOT NULL DEFAULT '1' COMMENT '运费模板ID',
   `spec_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '规格 0单 1多',
   `activity` varchar(255) NOT NULL DEFAULT '' COMMENT '活动显示排序1=秒杀,2=砍价,3=拼团',
+  `provider_id` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '供货商ID',
   PRIMARY KEY (`id`) USING BTREE,
   KEY `cate_id` (`cate_id`) USING BTREE,
   KEY `is_hot` (`is_hot`) USING BTREE,
@@ -1208,7 +1209,8 @@ CREATE TABLE IF NOT EXISTS `eb_store_product` (
   KEY `sort` (`sort`) USING BTREE,
   KEY `sales` (`sales`) USING BTREE,
   KEY `add_time` (`add_time`) USING BTREE,
-  KEY `is_postage` (`is_postage`) USING BTREE
+  KEY `is_postage` (`is_postage`) USING BTREE,
+  KEY `provider_id` (`provider_id`) USING BTREE
 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='商品表' AUTO_INCREMENT=20 ;
 
 --
@@ -1286,6 +1288,29 @@ INSERT INTO `eb_store_product` (`id`, `mer_id`, `image`, `slider_image`, `store_
 (75, 0, 'http://kaifa.crmeb.net/uploads/attach/2020/03/20200319/2905acfd6dc8a708629e9e7462294cf6.png', '[\"http:\\/\\/kaifa.crmeb.net\\/uploads\\/attach\\/2020\\/03\\/20200319\\/2905acfd6dc8a708629e9e7462294cf6.png\",\"http:\\/\\/kaifa.crmeb.net\\/uploads\\/attach\\/2020\\/03\\/20200319\\/168913a128e070fe75e7da9d35ab3d17.png\",\"http:\\/\\/kaifa.crmeb.net\\/uploads\\/attach\\/2020\\/03\\/20200319\\/36a9f34b953dfd18b6e01edcd9cfa103.png\",\"http:\\/\\/kaifa.crmeb.net\\/uploads\\/attach\\/2020\\/03\\/20200319\\/87dde99540c03f8f3254814d190e59af.png\"]', '奥克斯空调立式大2匹家用定频圆筒柜机空调冷暖二级能效 wifi智能', '', '空调 立式空调 奥克斯空调', '', '30', '2899.00', '0.00', '3999.00', '0.00', '', 0, 0, 25, 1, 1, 0, 0, 1, 1584605420, 0, 0, 0, '2899.00', '2300.00', 0, NULL, 0, 0, 100, 0, '', '', '', 1, 0, '1,2,3');
 
 
+-- --------------------------------------------------------
+
+--
+-- 表的结构 `eb_store_product_provider`
+--
+
+CREATE TABLE IF NOT EXISTS `eb_store_product_provider` (
+    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
+    `name` varchar(100) NOT NULL COMMENT '供货商名称',
+    `site` varchar(255) NOT NULL DEFAULT '' COMMENT '官网',
+    `source` varchar(100) NOT NULL DEFAULT '' COMMENT '来源',
+    `logo` varchar(255) DEFAULT NULL COMMENT '公司 logo',
+    `contact` varchar(32) NOT NULL DEFAULT '' COMMENT '联系人',
+    `phone` varchar(32) DEFAULT NULL COMMENT '联系电话',
+    `qq` varchar(32) DEFAULT NULL COMMENT 'qq',
+    `wechat` varchar(32) NOT NULL DEFAULT '' COMMENT '微信',
+    `add_time` int(10) NOT NULL COMMENT '添加时间',
+    `status` tinyint(2) unsigned NOT NULL DEFAULT 0 COMMENT '状态 0 默认 2 删除',
+    `desc` varchar(255) NOT NULL COMMENT '描述',
+    PRIMARY KEY (`id`) USING BTREE,
+    KEY `name` (`name`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='供货商表';
+
 -- --------------------------------------------------------
 
 --
@@ -7155,8 +7180,8 @@ INSERT INTO `eb_system_menus` (`id`, `pid`, `icon`, `menu_name`, `module`, `cont
 (497, 289, '', '一号通', 'admin', 'setting.systemPlat', 'index', '[]', 0, 1, 1),
 (498, 497, '', '短信模版', 'admin', 'setting.systemPlat', 'sms_temp', '{\"type\":\"temps\"}', 0, 1, 1),
 (499, 497, '', '服务', 'admin', 'setting.systemPlat', 'meal', '[]', 0, 1, 1),
-(500, 497, '', '一号通账户', 'admin', 'setting.systemPlat', 'index', '[]', 0, 1, 1);
-
+(500, 497, '', '一号通账户', 'admin', 'setting.systemPlat', 'index', '[]', 0, 1, 1),
+(501,23,'','商品供应商','admin','store.storeProductProvider','index','[]',0,1,1);
 -- --------------------------------------------------------
 
 --