qifengquan há 1 ano atrás
pai
commit
5aeaaffdbe
100 ficheiros alterados com 5735 adições e 155 exclusões
  1. 37 0
      application/admin/controller/Applicationpresentation.php
  2. 1 0
      application/admin/controller/Category.php
  3. 39 0
      application/admin/controller/Epay.php
  4. 72 0
      application/admin/controller/community/Cooperation.php
  5. 66 0
      application/admin/controller/community/Cooperationconfiguration.php
  6. 64 0
      application/admin/controller/community/Downloadlink.php
  7. 63 0
      application/admin/controller/community/Versioncomparison.php
  8. 71 0
      application/admin/controller/community/Visit.php
  9. 65 0
      application/admin/controller/community/Visitconfiguration.php
  10. 37 4
      application/admin/controller/document/Index.php
  11. 1 0
      application/admin/controller/example/Customform.php
  12. 1 0
      application/admin/controller/general/Config.php
  13. 69 0
      application/admin/controller/home/Home.php
  14. 37 0
      application/admin/controller/pricing/Goods.php
  15. 71 0
      application/admin/controller/pricing/Order.php
  16. 33 24
      application/admin/controller/product/Ecmall.php
  17. 69 0
      application/admin/controller/solution/Foreign.php
  18. 68 0
      application/admin/controller/solution/Knowledge.php
  19. 68 0
      application/admin/controller/solution/Shop.php
  20. 8 0
      application/admin/lang/zh-cn/applicationpresentation.php
  21. 11 0
      application/admin/lang/zh-cn/community/cooperation.php
  22. 9 0
      application/admin/lang/zh-cn/community/cooperationconfiguration.php
  23. 8 0
      application/admin/lang/zh-cn/community/downloadlink.php
  24. 8 0
      application/admin/lang/zh-cn/community/versioncomparison.php
  25. 11 0
      application/admin/lang/zh-cn/community/visit.php
  26. 9 0
      application/admin/lang/zh-cn/community/visitconfiguration.php
  27. 9 0
      application/admin/lang/zh-cn/home/home.php
  28. 14 0
      application/admin/lang/zh-cn/pricing/goods.php
  29. 40 0
      application/admin/lang/zh-cn/pricing/order.php
  30. 9 0
      application/admin/lang/zh-cn/solution/foreign.php
  31. 9 0
      application/admin/lang/zh-cn/solution/knowledge.php
  32. 9 0
      application/admin/lang/zh-cn/solution/shop.php
  33. 12 0
      application/admin/model/Goods.php
  34. 50 0
      application/admin/model/Order.php
  35. 27 0
      application/admin/validate/Order.php
  36. 34 0
      application/admin/view/applicationpresentation/add.html
  37. 34 0
      application/admin/view/applicationpresentation/edit.html
  38. 35 0
      application/admin/view/applicationpresentation/index.html
  39. 40 0
      application/admin/view/community/cooperation/add.html
  40. 40 0
      application/admin/view/community/cooperation/edit.html
  41. 35 0
      application/admin/view/community/cooperation/index.html
  42. 48 0
      application/admin/view/community/cooperationconfiguration/add.html
  43. 48 0
      application/admin/view/community/cooperationconfiguration/edit.html
  44. 104 0
      application/admin/view/community/cooperationconfiguration/index.html
  45. 42 0
      application/admin/view/community/downloadlink/add.html
  46. 42 0
      application/admin/view/community/downloadlink/edit.html
  47. 57 0
      application/admin/view/community/downloadlink/index.html
  48. 42 0
      application/admin/view/community/versioncomparison/add.html
  49. 42 0
      application/admin/view/community/versioncomparison/edit.html
  50. 57 0
      application/admin/view/community/versioncomparison/index.html
  51. 40 0
      application/admin/view/community/visit/add.html
  52. 40 0
      application/admin/view/community/visit/edit.html
  53. 35 0
      application/admin/view/community/visit/index.html
  54. 48 0
      application/admin/view/community/visitconfiguration/add.html
  55. 48 0
      application/admin/view/community/visitconfiguration/edit.html
  56. 107 0
      application/admin/view/community/visitconfiguration/index.html
  57. 25 7
      application/admin/view/document/index/add.html
  58. 14 1
      application/admin/view/document/index/index.html
  59. 4 4
      application/admin/view/example/customform/index.html
  60. 48 0
      application/admin/view/home/home/add.html
  61. 48 0
      application/admin/view/home/home/edit.html
  62. 392 0
      application/admin/view/home/home/index.html
  63. 79 0
      application/admin/view/pricing/goods/add.html
  64. 80 0
      application/admin/view/pricing/goods/edit.html
  65. 35 0
      application/admin/view/pricing/goods/index.html
  66. 142 0
      application/admin/view/pricing/order/add.html
  67. 142 0
      application/admin/view/pricing/order/edit.html
  68. 35 0
      application/admin/view/pricing/order/index.html
  69. 392 37
      application/admin/view/product/ecmall/index.html
  70. 48 0
      application/admin/view/solution/foreign/add.html
  71. 48 0
      application/admin/view/solution/foreign/edit.html
  72. 296 0
      application/admin/view/solution/foreign/index.html
  73. 48 0
      application/admin/view/solution/knowledge/add.html
  74. 48 0
      application/admin/view/solution/knowledge/edit.html
  75. 370 0
      application/admin/view/solution/knowledge/index.html
  76. 48 0
      application/admin/view/solution/shop/add.html
  77. 48 0
      application/admin/view/solution/shop/edit.html
  78. 299 0
      application/admin/view/solution/shop/index.html
  79. 133 5
      application/api/controller/Community.php
  80. 33 4
      application/api/controller/Index.php
  81. 108 0
      application/api/controller/Pricing.php
  82. 6 21
      application/api/controller/Product.php
  83. 38 0
      application/api/controller/Solution.php
  84. 31 31
      application/api/controller/User.php
  85. 13 0
      application/common/controller/Api.php
  86. 17 17
      application/common/library/Auth.php
  87. 40 0
      application/common/model/ApplicationPresentation.php
  88. 10 0
      application/common/model/Cart.php
  89. 44 0
      application/common/model/Cooperation.php
  90. 40 0
      application/common/model/CooperationConfiguration.php
  91. 10 0
      application/common/model/DiscountCoupon.php
  92. 1 0
      application/common/model/Document.php
  93. 40 0
      application/common/model/DownloadLink.php
  94. 40 0
      application/common/model/Goods.php
  95. 40 0
      application/common/model/Home.php
  96. 49 0
      application/common/model/Order.php
  97. 40 0
      application/common/model/SolutionForeign.php
  98. 40 0
      application/common/model/SolutionKnowledge.php
  99. 40 0
      application/common/model/SolutionShop.php
  100. 40 0
      application/common/model/VersionComparison.php

+ 37 - 0
application/admin/controller/Applicationpresentation.php

@@ -0,0 +1,37 @@
+<?php
+
+namespace app\admin\controller;
+
+use app\common\controller\Backend;
+
+/**
+ * 申请演示管理
+ *
+ * @icon fa fa-circle-o
+ */
+class Applicationpresentation extends Backend
+{
+
+    /**
+     * ApplicationPresentation模型对象
+     * @var \app\common\model\ApplicationPresentation
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\ApplicationPresentation;
+
+    }
+
+
+
+    /**
+     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+     */
+
+
+}

+ 1 - 0
application/admin/controller/Category.php

@@ -75,6 +75,7 @@ class Category extends Backend
 
             $total = count($list);
             $result = array("total" => $total, "rows" => $list);
+//            print_r(json($result));
 
             return json($result);
         }

+ 39 - 0
application/admin/controller/Epay.php

@@ -0,0 +1,39 @@
+<?php
+
+namespace app\admin\controller;
+
+use app\common\controller\Backend;
+use think\Config;
+
+class Epay extends Backend
+{
+    protected $noNeedRight = ['upload'];
+
+    /**
+     * 上传本地证书
+     * @return void
+     */
+    public function upload()
+    {
+        Config::set('default_return_type', 'json');
+
+        $certname = $this->request->post('certname', '');
+        $certPathArr = [
+            'cert_client'         => '/addons/epay/certs/apiclient_cert.pem', //微信支付api
+            'cert_key'            => '/addons/epay/certs/apiclient_key.pem', //微信支付api
+            'app_cert_public_key' => '/addons/epay/certs/appCertPublicKey.crt',//应用公钥证书路径
+            'alipay_root_cert'    => '/addons/epay/certs/alipayRootCert.crt', //支付宝根证书路径
+            'ali_public_key'      => '/addons/epay/certs/alipayCertPublicKey.crt', //支付宝公钥证书路径
+        ];
+        if (!isset($certPathArr[$certname])) {
+            $this->error("证书错误");
+        }
+        $url = $certPathArr[$certname];
+        $file = $this->request->file('file');
+        if (!$file) {
+            $this->error("未上传文件");
+        }
+        $file->move(dirname(ROOT_PATH . $url), basename(ROOT_PATH . $url), true);
+        $this->success(__('上传成功'), '', ['url' => $url]);
+    }
+}

+ 72 - 0
application/admin/controller/community/Cooperation.php

@@ -0,0 +1,72 @@
+<?php
+
+namespace app\admin\controller\community;
+
+use app\common\controller\Backend;
+
+/**
+ * 合作伙伴管理
+ *
+ * @icon fa fa-circle-o
+ */
+class Cooperation extends Backend
+{
+
+    /**
+     * Cooperation模型对象
+     * @var \app\common\model\Cooperation
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\Cooperation;
+
+    }
+
+
+
+    /**
+     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+     */
+
+
+    /**
+     * 查看
+     */
+    public function index()
+    {
+        //当前是否为关联查询
+        $this->relationSearch = true;
+        //设置过滤方法
+        $this->request->filter(['strip_tags', 'trim']);
+        if ($this->request->isAjax()) {
+            //如果发送的来源是Selectpage,则转发到Selectpage
+            if ($this->request->request('keyField')) {
+                return $this->selectpage();
+            }
+            list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+            $list = $this->model
+                    ->with(['user'])
+                    ->where($where)
+                    ->order($sort, $order)
+                    ->paginate($limit);
+
+            foreach ($list as $row) {
+                $row->visible(['id','name','phone','company','create_time']);
+                $row->visible(['user']);
+				$row->getRelation('user')->visible(['username','mobile']);
+            }
+
+            $result = array("total" => $list->total(), "rows" => $list->items());
+
+            return json($result);
+        }
+        return $this->view->fetch();
+    }
+
+}

+ 66 - 0
application/admin/controller/community/Cooperationconfiguration.php

@@ -0,0 +1,66 @@
+<?php
+
+namespace app\admin\controller\community;
+
+use app\common\controller\Backend;
+use think\Exception;
+use think\exception\DbException;
+use think\response\Json;
+
+/**
+ * 门店解决方案
+ *
+ * @icon fa fa-circle-o
+ */
+class Cooperationconfiguration extends Backend
+{
+
+    /**
+     * CooperationConfiguration模型对象
+     * @var \app\common\model\CooperationConfiguration
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\CooperationConfiguration;
+
+    }
+
+
+
+    /**
+     * 查看
+     *
+     * @return string|Json
+     * @throws \think\Exception
+     * @throws DbException
+     */
+    public function index()
+    {
+        if ($this->request->isPost()) {
+            $row = $this->request->post("row/a");
+            if(count($row) == 2){
+                $alteration = ['name','image'];
+            }else{
+                $alteration = ['name','image','content'];
+            }
+            $res = array_combine($alteration,$row);
+            try {
+                $this->model->save($res,['name'=>$res['name']]);
+            } catch (Exception $e) {
+                $this->error($e->getMessage());
+            }
+            $this->success("提交成功", null, ['data' => json_encode($this->request->post("row/a"), JSON_UNESCAPED_UNICODE)]);
+        }else{
+            if (false === $this->request->isAjax()) {
+                $this->assign('iantern_slide',$this->model->get(['name'=>'幻灯片']));
+                $this->assign('cooperative_interest',$this->model->get(['name'=>'合作权益']));
+                return $this->view->fetch();
+            }
+        }
+    }
+
+
+}

+ 64 - 0
application/admin/controller/community/Downloadlink.php

@@ -0,0 +1,64 @@
+<?php
+
+namespace app\admin\controller\community;
+
+use app\common\controller\Backend;
+use think\Exception;
+use think\exception\DbException;
+use think\response\Json;
+
+/**
+ * 下载地址管理
+ *
+ * @icon fa fa-circle-o
+ */
+class Downloadlink extends Backend
+{
+
+    /**
+     * DownloadLink模型对象
+     * @var \app\common\model\DownloadLink
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\DownloadLink;
+
+    }
+
+
+    /**
+     * 查看
+     *
+     * @return string|Json
+     * @throws \think\Exception
+     * @throws DbException
+     */
+    public function index()
+    {
+        if ($this->request->isPost()) {
+            $row = $this->request->post("row/a");
+            if(count($row) == 2){
+                $alteration = ['name','image'];
+            }else{
+                $alteration = ['name','image','content'];
+            }
+            $res = array_combine($alteration,$row);
+            try {
+                $this->model->save($res,['name'=>$res['name']]);
+            } catch (Exception $e) {
+                $this->error($e->getMessage());
+            }
+            $this->success("提交成功", null, ['data' => json_encode($this->request->post("row/a"), JSON_UNESCAPED_UNICODE)]);
+        }else{
+            if (false === $this->request->isAjax()) {
+                $this->assign('iantern_slide',$this->model->get(['name'=>'下载地址']));
+                return $this->view->fetch();
+            }
+        }
+    }
+
+
+}

+ 63 - 0
application/admin/controller/community/Versioncomparison.php

@@ -0,0 +1,63 @@
+<?php
+
+namespace app\admin\controller\community;
+
+use app\common\controller\Backend;
+use think\Exception;
+use think\exception\DbException;
+use think\response\Json;
+
+/**
+ * 版本对比管理
+ *
+ * @icon fa fa-circle-o
+ */
+class Versioncomparison extends Backend
+{
+
+    /**
+     * VersionComparison模型对象
+     * @var \app\common\model\VersionComparison
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\VersionComparison;
+
+    }
+
+    /**
+     * 查看
+     *
+     * @return string|Json
+     * @throws \think\Exception
+     * @throws DbException
+     */
+    public function index()
+    {
+        if ($this->request->isPost()) {
+            $row = $this->request->post("row/a");
+            if(count($row) == 2){
+                $alteration = ['name','image'];
+            }else{
+                $alteration = ['name','image','content'];
+            }
+            $res = array_combine($alteration,$row);
+            try {
+                $this->model->save($res,['name'=>$res['name']]);
+            } catch (Exception $e) {
+                $this->error($e->getMessage());
+            }
+            $this->success("提交成功", null, ['data' => json_encode($this->request->post("row/a"), JSON_UNESCAPED_UNICODE)]);
+        }else{
+            if (false === $this->request->isAjax()) {
+                $this->assign('iantern_slide',$this->model->get(['name'=>'版本']));
+                return $this->view->fetch();
+            }
+        }
+    }
+
+
+}

+ 71 - 0
application/admin/controller/community/Visit.php

@@ -0,0 +1,71 @@
+<?php
+
+namespace app\admin\controller\community;
+
+use app\common\controller\Backend;
+
+/**
+ * 预约参观管理
+ *
+ * @icon fa fa-circle-o
+ */
+class Visit extends Backend
+{
+
+    /**
+     * Visit模型对象
+     * @var \app\common\model\Visit
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\Visit;
+
+    }
+
+
+
+    /**
+     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+     */
+
+
+    /**
+     * 查看
+     */
+    public function index()
+    {
+        //当前是否为关联查询
+        $this->relationSearch = true;
+        //设置过滤方法
+        $this->request->filter(['strip_tags', 'trim']);
+        if ($this->request->isAjax()) {
+            //如果发送的来源是Selectpage,则转发到Selectpage
+            if ($this->request->request('keyField')) {
+                return $this->selectpage();
+            }
+            list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+            $list = $this->model
+                    ->with(['user'])
+                    ->where($where)
+                    ->order($sort, $order)
+                    ->paginate($limit);
+
+            foreach ($list as $row) {
+                
+                $row->getRelation('user')->visible(['username','mobile']);
+            }
+
+            $result = array("total" => $list->total(), "rows" => $list->items());
+
+            return json($result);
+        }
+        return $this->view->fetch();
+    }
+
+}

+ 65 - 0
application/admin/controller/community/Visitconfiguration.php

@@ -0,0 +1,65 @@
+<?php
+
+namespace app\admin\controller\community;
+
+use app\common\controller\Backend;
+use think\Exception;
+use think\exception\DbException;
+use think\response\Json;
+
+/**
+ * 参观公司管理
+ *
+ * @icon fa fa-circle-o
+ */
+class Visitconfiguration extends Backend
+{
+
+    /**
+     * VisitConfiguration模型对象
+     * @var \app\common\model\VisitConfiguration
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\VisitConfiguration;
+
+    }
+
+
+    /**
+     * 查看
+     *
+     * @return string|Json
+     * @throws \think\Exception
+     * @throws DbException
+     */
+    public function index()
+    {
+        if ($this->request->isPost()) {
+            $row = $this->request->post("row/a");
+            if(count($row) == 2){
+                $alteration = ['name','image'];
+            }else{
+                $alteration = ['name','image','content'];
+            }
+            $res = array_combine($alteration,$row);
+            try {
+                $this->model->save($res,['name'=>$res['name']]);
+            } catch (Exception $e) {
+                $this->error($e->getMessage());
+            }
+            $this->success("提交成功", null, ['data' => json_encode($this->request->post("row/a"), JSON_UNESCAPED_UNICODE)]);
+        }else{
+            if (false === $this->request->isAjax()) {
+                $this->assign('iantern_slide',$this->model->get(['name'=>'幻灯片']));
+                $this->assign('product_differentiation',$this->model->get(['name'=>'公司']));
+                return $this->view->fetch();
+            }
+        }
+    }
+
+
+}

+ 37 - 4
application/admin/controller/document/Index.php

@@ -3,8 +3,10 @@
 namespace app\admin\controller\document;
 
 use app\common\controller\Backend;
+use app\common\model\Document;
 use fast\Tree;
 
+
 /**
  * 文档
  *
@@ -42,7 +44,24 @@ class Index extends Backend
             }
             $ruledata[$v['id']] = $v['title'];
         }
+
+        $typeList = [
+            0 => '好柿购',
+            1 => '多享柿',
+            2 => '门柿购',
+            3 => '海柿购',
+            4 => '柿知识'
+        ];
+        $categorydata = [0,1,2,3,4];
+        foreach ($this->rulelist as $k => $v) {
+            $categorydata[$v['id']] = $v;
+        }
+        $this->view->assign("typeList", $typeList);
+        $this->view->assign("parentList", $categorydata);
+
+//        $belong = ['好柿购','多享柿'];
         $this->view->assign('ruledata', $ruledata);
+//        $this->view->assign('belong', $belong);
     }
 
 
@@ -53,13 +72,27 @@ class Index extends Backend
      */
     public function index()
     {
+        //设置过滤方法
+        $this->request->filter(['strip_tags']);
         if ($this->request->isAjax()) {
-            $list = $this->rulelist;
-            $total = count($this->rulelist);
+            $search = $this->request->request("search");
+            $type = $this->request->request("type");
 
+            //构造父类select列表选项数据
+            $list = [];
+
+            foreach ($this->rulelist as $k => $v) {
+                if ($type == "all" || $type == null) {
+                    if($v['belong'] == 0)
+                    $list[] = $v;
+                } elseif ($v['belong'] == $type) {
+                    $list[] = $v;
+                }
+            }
+
+            $total = count($list);
             $result = array("total" => $total, "rows" => $list);
-//            echo '<pre>';
-//            print_r($result);
+
             return json($result);
         }
         return $this->view->fetch();

+ 1 - 0
application/admin/controller/example/Customform.php

@@ -26,6 +26,7 @@ class Customform extends Backend
         if ($this->request->isPost()) {
             $this->success("提交成功", null, ['data' => json_encode($this->request->post("row/a"), JSON_UNESCAPED_UNICODE)]);
         }
+
         return $this->view->fetch();
     }
 

+ 1 - 0
application/admin/controller/general/Config.php

@@ -80,6 +80,7 @@ class Config extends Backend
             $v['active'] = !$index ? true : false;
             $index++;
         }
+
         $this->view->assign('siteList', $siteList);
         $this->view->assign('typeList', ConfigModel::getTypeList());
         $this->view->assign('ruleList', ConfigModel::getRegexList());

+ 69 - 0
application/admin/controller/home/Home.php

@@ -0,0 +1,69 @@
+<?php
+
+namespace app\admin\controller\home;
+
+use app\common\controller\Backend;
+use think\Exception;
+use think\exception\DbException;
+use think\response\Json;
+
+/**
+ * 产品-多商户
+
+ *
+ * @icon fa fa-home
+ */
+class Home extends Backend
+{
+
+    /**
+     * Home模型对象
+     * @var \app\common\model\Home
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\Home;
+
+    }
+
+    /**
+     * 查看
+     *
+     * @return string|Json
+     * @throws \think\Exception
+     * @throws DbException
+     */
+    public function index()
+    {
+        if ($this->request->isPost()) {
+            $row = $this->request->post("row/a");
+            if(count($row) == 2){
+                $alteration = ['name','image'];
+            }else{
+                $alteration = ['name','image','content'];
+            }
+            $res = array_combine($alteration,$row);
+            try {
+                $this->model->save($res,['name'=>$res['name']]);
+            } catch (Exception $e) {
+                $this->error($e->getMessage());
+            }
+            $this->success("提交成功", null, ['data' => json_encode($this->request->post("row/a"), JSON_UNESCAPED_UNICODE)]);
+        }else{
+            if (false === $this->request->isAjax()) {
+                $this->assign('iantern_slide',$this->model->get(['name'=>'幻灯片']));
+                $this->assign('application_presentation',$this->model->get(['name'=>'申请演示']));
+                $this->assign('conditions_sale',$this->model->get(['name'=>'销售条件']));
+                $this->assign('business_in',$this->model->get(['name'=>'商家加入']));
+                $this->assign('stable_frame',$this->model->get(['name'=>'稳定的技术框架,周到的服务']));
+                $this->assign('zoology',$this->model->get(['name'=>'成为繁荣生态的一部分']));
+                return $this->view->fetch();
+            }
+        }
+    }
+
+
+}

+ 37 - 0
application/admin/controller/pricing/Goods.php

@@ -0,0 +1,37 @@
+<?php
+
+namespace app\admin\controller\pricing;
+
+use app\common\controller\Backend;
+
+/**
+ * 商品管理
+ *
+ * @icon fa fa-circle-o
+ */
+class Goods extends Backend
+{
+
+    /**
+     * Goods模型对象
+     * @var \app\common\model\Goods
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\Goods;
+
+    }
+
+
+
+    /**
+     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+     */
+
+
+}

+ 71 - 0
application/admin/controller/pricing/Order.php

@@ -0,0 +1,71 @@
+<?php
+
+namespace app\admin\controller\pricing;
+
+use app\common\controller\Backend;
+
+/**
+ * 订单管理
+ *
+ * @icon fa fa-circle-o
+ */
+class Order extends Backend
+{
+
+    /**
+     * Order模型对象
+     * @var \app\admin\model\Order
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\admin\model\Order;
+
+    }
+
+
+
+    /**
+     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+     */
+
+
+    /**
+     * 查看
+     */
+    public function index()
+    {
+        //当前是否为关联查询
+        $this->relationSearch = true;
+        //设置过滤方法
+        $this->request->filter(['strip_tags', 'trim']);
+        if ($this->request->isAjax()) {
+            //如果发送的来源是Selectpage,则转发到Selectpage
+            if ($this->request->request('keyField')) {
+                return $this->selectpage();
+            }
+            list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+            $list = $this->model
+                    ->with(['user','goods'])
+                    ->where($where)
+                    ->order($sort, $order)
+                    ->paginate($limit);
+
+            foreach ($list as $row) {
+                
+                $row->getRelation('user')->visible(['username','nickname','email','mobile']);
+            }
+
+            $result = array("total" => $list->total(), "rows" => $list->items());
+
+            return json($result);
+        }
+        return $this->view->fetch();
+    }
+
+}

+ 33 - 24
application/admin/controller/product/Ecmall.php

@@ -3,9 +3,11 @@
 namespace app\admin\controller\product;
 
 use app\common\controller\Backend;
+use app\common\model\Config as ConfigModel;
+use think\Exception;
 use think\exception\DbException;
 use think\response\Json;
-
+use think\View;
 /**
  * 产品-多商户
 
@@ -28,13 +30,6 @@ class Ecmall extends Backend
 
     }
 
-
-
-    /**
-     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
-     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
-     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
-     */
     /**
      * 查看
      *
@@ -44,23 +39,37 @@ class Ecmall extends Backend
      */
     public function index()
     {
-        //设置过滤方法
-        $this->request->filter(['strip_tags', 'trim']);
-        if (false === $this->request->isAjax()) {
-            return $this->view->fetch();
-        }
-        //如果发送的来源是 Selectpage,则转发到 Selectpage
-        if ($this->request->request('keyField')) {
-            return $this->selectpage();
+        if ($this->request->isPost()) {
+            $row = $this->request->post("row/a");
+            if(count($row) == 2){
+                $alteration = ['name','image'];
+            }else{
+                $alteration = ['name','image','content'];
+            }
+            $res = array_combine($alteration,$row);
+            try {
+                $this->model->save($res,['name'=>$res['name']]);
+            } catch (Exception $e) {
+                $this->error($e->getMessage());
+            }
+            $this->success("提交成功", null, ['data' => json_encode($this->request->post("row/a"), JSON_UNESCAPED_UNICODE)]);
+        }else{
+            if (false === $this->request->isAjax()) {
+                $this->assign('iantern_slide',$this->model->get(['name'=>'幻灯片']));
+                $this->assign('product_framework',$this->model->get(['name'=>'产品框架']));
+                $this->assign('product_fram_image',$this->model->get(['name'=>'产品优势']));
+                $this->assign('product_features',$this->model->where(['name'=>'产品亮点'])->field(['name','image','content as product_features_content'])->find());
+                $this->assign('product_function',$this->model->where(['name'=>'产品功能'])->field(['name','image','content as product_function_content'])->find());
+                $this->assign('product_case_show',$this->model->get(['name'=>'案例展示']));
+                $this->assign('advanced',$this->model->where(['name'=>'采用最前沿的技术框架'])->field(['name','image','content as advanced_content'])->find());
+                $this->assign('product_study',$this->model->where(['name'=>'学习'])->field(['name','image','content as study_content'])->find());
+
+//                $this->assign('product_function',$this->model->get(['name'=>'产品功能']));
+//                print_r($this->model->where(['name'=>'产品亮点'])->field(['name','image','content as product_features_content'])->find());
+//                exit;
+                return $this->view->fetch();
+            }
         }
-        [$where, $sort, $order, $offset, $limit] = $this->buildparams();
-        $list = $this->model
-            ->where($where)
-//            ->when()
-            ->order($sort, $order)
-            ->paginate($limit);
-        $result = ['total' => $list->total(), 'rows' => $list->items()];
-        return json($result);
     }
 
 

+ 69 - 0
application/admin/controller/solution/Foreign.php

@@ -0,0 +1,69 @@
+<?php
+
+namespace app\admin\controller\solution;
+
+use app\common\controller\Backend;
+use think\Exception;
+use think\exception\DbException;
+use think\response\Json;
+
+/**
+ * 外贸解决方案
+ *
+ * @icon fa fa-circle-o
+ */
+class Foreign extends Backend
+{
+
+    /**
+     * SolutionForeign模型对象
+     * @var \app\common\model\SolutionForeign
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\SolutionForeign;
+
+    }
+
+
+    /**
+     * 查看
+     *
+     * @return string|Json
+     * @throws \think\Exception
+     * @throws DbException
+     */
+    public function index()
+    {
+        if ($this->request->isPost()) {
+            $row = $this->request->post("row/a");
+            if(count($row) == 2){
+                $alteration = ['name','image'];
+            }else{
+                $alteration = ['name','image','content'];
+            }
+            $res = array_combine($alteration,$row);
+            try {
+                $this->model->save($res,['name'=>$res['name']]);
+            } catch (Exception $e) {
+                $this->error($e->getMessage());
+            }
+            $this->success("提交成功", null, ['data' => json_encode($this->request->post("row/a"), JSON_UNESCAPED_UNICODE)]);
+        }else{
+            if (false === $this->request->isAjax()) {
+                $this->assign('iantern_slide',$this->model->get(['name'=>'幻灯片']));
+                $this->assign('system_introduction',$this->model->where(['name'=>'系统介绍'])->field(['name','image','content as system_introduction_content'])->find());
+                $this->assign('product_differentiation',$this->model->get(['name'=>'产品差异化']));
+                $this->assign('scheme_highlights',$this->model->where(['name'=>'方案亮点'])->field(['name','image','content as scheme_highlights_content'])->find());
+                $this->assign('added_services',$this->model->get(['name'=>'系统功能完善,助力商家扬帆出海']));
+                $this->assign('after_sale',$this->model->get(['name'=>'售后服务']));
+                return $this->view->fetch();
+            }
+        }
+    }
+
+
+}

+ 68 - 0
application/admin/controller/solution/Knowledge.php

@@ -0,0 +1,68 @@
+<?php
+
+namespace app\admin\controller\solution;
+
+use app\common\controller\Backend;
+use think\Exception;
+use think\exception\DbException;
+use think\response\Json;
+
+/**
+ * 知识付费解决方案
+ *
+ * @icon fa fa-circle-o
+ */
+class Knowledge extends Backend
+{
+
+    /**
+     * SolutionKnowledge模型对象
+     * @var \app\common\model\SolutionKnowledge
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\SolutionKnowledge;
+
+    }
+
+    /**
+     * 查看
+     *
+     * @return string|Json
+     * @throws \think\Exception
+     * @throws DbException
+     */
+    public function index()
+    {
+        if ($this->request->isPost()) {
+            $row = $this->request->post("row/a");
+            if(count($row) == 2){
+                $alteration = ['name','image'];
+            }else{
+                $alteration = ['name','image','content'];
+            }
+            $res = array_combine($alteration,$row);
+            try {
+                $this->model->save($res,['name'=>$res['name']]);
+            } catch (Exception $e) {
+                $this->error($e->getMessage());
+            }
+            $this->success("提交成功", null, ['data' => json_encode($this->request->post("row/a"), JSON_UNESCAPED_UNICODE)]);
+        }else{
+            if (false === $this->request->isAjax()) {
+                $this->assign('iantern_slide',$this->model->get(['name'=>'幻灯片']));
+                $this->assign('system_introduction',$this->model->where(['name'=>'方案亮点'])->field(['name','image','content as system_introduction_content'])->find());
+                $this->assign('product_differentiation',$this->model->get(['name'=>'方案架构']));
+                $this->assign('scheme_highlights',$this->model->where(['name'=>'应用场景'])->field(['name','image','content as scheme_highlights_content'])->find());
+                $this->assign('added_services',$this->model->get(['name'=>'技术框架以及技术亮点']));
+                $this->assign('after_sale',$this->model->where(['name'=>'售后服务'])->field(['name','image','content as after_sale_content'])->find());
+
+                return $this->view->fetch();
+            }
+        }
+    }
+
+}

+ 68 - 0
application/admin/controller/solution/Shop.php

@@ -0,0 +1,68 @@
+<?php
+
+namespace app\admin\controller\solution;
+
+use app\common\controller\Backend;
+use think\Exception;
+use think\exception\DbException;
+use think\response\Json;
+
+/**
+ * 门店解决方案
+ *
+ * @icon fa fa-circle-o
+ */
+class Shop extends Backend
+{
+
+    /**
+     * SolutionShop模型对象
+     * @var \app\common\model\SolutionShop
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\common\model\SolutionShop;
+
+    }
+
+    /**
+     * 查看
+     *
+     * @return string|Json
+     * @throws \think\Exception
+     * @throws DbException
+     */
+    public function index()
+    {
+        if ($this->request->isPost()) {
+            $row = $this->request->post("row/a");
+            if(count($row) == 2){
+                $alteration = ['name','image'];
+            }else{
+                $alteration = ['name','image','content'];
+            }
+            $res = array_combine($alteration,$row);
+            try {
+                $this->model->save($res,['name'=>$res['name']]);
+            } catch (Exception $e) {
+                $this->error($e->getMessage());
+            }
+            $this->success("提交成功", null, ['data' => json_encode($this->request->post("row/a"), JSON_UNESCAPED_UNICODE)]);
+        }else{
+            if (false === $this->request->isAjax()) {
+                $this->assign('iantern_slide',$this->model->get(['name'=>'幻灯片']));
+                $this->assign('system_introduction',$this->model->where(['name'=>'系统介绍'])->field(['name','image','content as system_introduction_content'])->find());
+                $this->assign('product_differentiation',$this->model->get(['name'=>'产品差异化']));
+                $this->assign('scheme_highlights',$this->model->where(['name'=>'方案亮点'])->field(['name','image','content as scheme_highlights_content'])->find());
+                $this->assign('added_services',$this->model->get(['name'=>'一站式三方增值服务']));
+                $this->assign('after_sale',$this->model->get(['name'=>'售后服务']));
+                return $this->view->fetch();
+            }
+        }
+    }
+
+
+}

+ 8 - 0
application/admin/lang/zh-cn/applicationpresentation.php

@@ -0,0 +1,8 @@
+<?php
+
+return [
+    'Uid'    => '用户id',
+    'Name'   => '申请人姓名',
+    'Mobile' => '申请人联系方式',
+    'Status' => '状态'
+];

+ 11 - 0
application/admin/lang/zh-cn/community/cooperation.php

@@ -0,0 +1,11 @@
+<?php
+
+return [
+    'Uid'           => '用户id',
+    'Name'          => '姓名',
+    'Phone'         => '联系方式',
+    'Company'       => '公司',
+    'Create_time'   => '创建时间',
+    'User.username' => '用户名',
+    'User.mobile'   => '手机号'
+];

+ 9 - 0
application/admin/lang/zh-cn/community/cooperationconfiguration.php

@@ -0,0 +1,9 @@
+<?php
+
+return [
+    'Type'    => '模块名称',
+    'Name'    => '模块名称',
+    'Title'   => '标题',
+    'Content' => '内容',
+    'Image'   => '图片'
+];

+ 8 - 0
application/admin/lang/zh-cn/community/downloadlink.php

@@ -0,0 +1,8 @@
+<?php
+
+return [
+    'Name'        => '名称',
+    'Image'       => '图片',
+    'Status'      => '状态1上架2下架',
+    'Update_time' => '更新时间'
+];

+ 8 - 0
application/admin/lang/zh-cn/community/versioncomparison.php

@@ -0,0 +1,8 @@
+<?php
+
+return [
+    'Name'        => '名称',
+    'Image'       => '图片',
+    'Status'      => '状态1上架2下架',
+    'Update_time' => '更新时间'
+];

+ 11 - 0
application/admin/lang/zh-cn/community/visit.php

@@ -0,0 +1,11 @@
+<?php
+
+return [
+    'Uid'           => '用户id',
+    'Name'          => '称号',
+    'Phone'         => '手机号',
+    'Visit_time'    => '参观时间',
+    'Create_time'   => '创建时间',
+    'User.username' => '用户名',
+    'User.mobile'   => '手机号'
+];

+ 9 - 0
application/admin/lang/zh-cn/community/visitconfiguration.php

@@ -0,0 +1,9 @@
+<?php
+
+return [
+    'Type'    => '模块名称',
+    'Name'    => '模块名称',
+    'Title'   => '标题',
+    'Content' => '内容',
+    'Image'   => '图片'
+];

+ 9 - 0
application/admin/lang/zh-cn/home/home.php

@@ -0,0 +1,9 @@
+<?php
+
+return [
+    'Type'    => '模块名称',
+    'Name'    => '模块名称',
+    'Title'   => '标题',
+    'Content' => '内容',
+    'Image'   => '图片'
+];

+ 14 - 0
application/admin/lang/zh-cn/pricing/goods.php

@@ -0,0 +1,14 @@
+<?php
+
+return [
+    'Code'         => '编号',
+    'Name'         => '名称',
+    'Remark'       => '描述',
+    'Price'        => '价格',
+    'Retail'       => '划线价',
+    'Image'        => '图片',
+    'Sales_volume' => '销量',
+    'Inventory'    => '库存',
+    'After_sale'   => '售后服务',
+    'Discount_id'  => '可用折扣编号'
+];

+ 40 - 0
application/admin/lang/zh-cn/pricing/order.php

@@ -0,0 +1,40 @@
+<?php
+
+return [
+    'Uid'                => '用户id',
+    'Type'               => '订单类型',
+    'Goods_id'           => '商品id',
+    'Goods_name'         => '商品名称',
+    'Order_no'           => '订单编号',
+    'Amount_real'        => '订单金额',
+    'Discount_id'        => '优惠券id',
+    'Discount'           => '优惠金额',
+    'Payment_type'       => '支付平台',
+    'Payment_code'       => '实际通道编号',
+    'Payment_trade'      => '实际支付单号',
+    'Payment_status'     => '实际支付状态',
+    'Payment_amount'     => '实际支付金额',
+    'Number_goods'       => '数量',
+    'Status'             => '订单状态',
+    'Create_time'        => '创建时间',
+    'Cancel_datetime'    => '取消时间',
+    'After_sale'         => '售后服务',
+    'Deploy'             => '授权部署信息',
+    'Deploy_type'        => '部署方式',
+    'Billing_status'     => '开票状态',
+    'Valid_time'         => '报价单失效时间',
+    'User.username'      => '用户名',
+    'User.nickname'      => '昵称',
+    'User.email'         => '电子邮箱',
+    'User.mobile'        => '手机号',
+    'Goods.code'         => '编号',
+    'Goods.name'         => '名称',
+    'Goods.remark'       => '描述',
+    'Goods.price'        => '价格',
+    'Goods.retail'       => '划线价',
+    'Goods.image'        => '图片',
+    'Goods.sales_volume' => '销量',
+    'Goods.inventory'    => '库存',
+    'Goods.after_sale'   => '售后服务',
+    'Goods.discount_id'  => '可用折扣编号'
+];

+ 9 - 0
application/admin/lang/zh-cn/solution/foreign.php

@@ -0,0 +1,9 @@
+<?php
+
+return [
+    'Type'    => '模块名称',
+    'Name'    => '模块名称',
+    'Title'   => '标题',
+    'Content' => '内容',
+    'Image'   => '图片'
+];

+ 9 - 0
application/admin/lang/zh-cn/solution/knowledge.php

@@ -0,0 +1,9 @@
+<?php
+
+return [
+    'Type'    => '模块名称',
+    'Name'    => '模块名称',
+    'Title'   => '标题',
+    'Content' => '内容',
+    'Image'   => '图片'
+];

+ 9 - 0
application/admin/lang/zh-cn/solution/shop.php

@@ -0,0 +1,9 @@
+<?php
+
+return [
+    'Type'    => '模块名称',
+    'Name'    => '模块名称',
+    'Title'   => '标题',
+    'Content' => '内容',
+    'Image'   => '图片'
+];

+ 12 - 0
application/admin/model/Goods.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace app\admin\model;
+
+use think\Model;
+
+class Goods extends Model
+{
+    // 表名
+    protected $name = 'goods';
+    
+}

+ 50 - 0
application/admin/model/Order.php

@@ -0,0 +1,50 @@
+<?php
+
+namespace app\admin\model;
+
+use think\Model;
+
+
+class Order extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'order';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+    public function user()
+    {
+        return $this->belongsTo('User', 'uid', 'id', [], 'LEFT')->setEagerlyType(0);
+    }
+
+
+    public function goods()
+    {
+        return $this->belongsTo('Goods', 'goods_id', 'id', [], 'LEFT')->setEagerlyType(0);
+    }
+}

+ 27 - 0
application/admin/validate/Order.php

@@ -0,0 +1,27 @@
+<?php
+
+namespace app\admin\validate;
+
+use think\Validate;
+
+class Order extends Validate
+{
+    /**
+     * 验证规则
+     */
+    protected $rule = [
+    ];
+    /**
+     * 提示消息
+     */
+    protected $message = [
+    ];
+    /**
+     * 验证场景
+     */
+    protected $scene = [
+        'add'  => [],
+        'edit' => [],
+    ];
+    
+}

+ 34 - 0
application/admin/view/applicationpresentation/add.html

@@ -0,0 +1,34 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Uid')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-uid" class="form-control" name="row[uid]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Mobile')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-mobile" class="form-control" name="row[mobile]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-status" class="form-control" name="row[status]" type="number" value="1">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 34 - 0
application/admin/view/applicationpresentation/edit.html

@@ -0,0 +1,34 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Uid')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-uid" class="form-control" name="row[uid]" type="number" value="{$row.uid|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Mobile')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-mobile" class="form-control" name="row[mobile]" type="text" value="{$row.mobile|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-status" class="form-control" name="row[status]" type="number" value="{$row.status|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 35 - 0
application/admin/view/applicationpresentation/index.html

@@ -0,0 +1,35 @@
+<div class="panel panel-default panel-intro">
+    {:build_heading()}
+
+    <div class="panel-body">
+        <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade active in" id="one">
+                <div class="widget-body no-padding">
+                    <div id="toolbar" class="toolbar">
+                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
+                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('applicationpresentation/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
+                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('applicationpresentation/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
+                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('applicationpresentation/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
+                        
+
+                        <div class="dropdown btn-group {:$auth->check('applicationpresentation/multi')?'':'hide'}">
+                            <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
+                            <ul class="dropdown-menu text-left" role="menu">
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
+                            </ul>
+                        </div>
+
+                        
+                    </div>
+                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
+                           data-operate-edit="{:$auth->check('applicationpresentation/edit')}"
+                           data-operate-del="{:$auth->check('applicationpresentation/del')}"
+                           width="100%">
+                    </table>
+                </div>
+            </div>
+
+        </div>
+    </div>
+</div>

+ 40 - 0
application/admin/view/community/cooperation/add.html

@@ -0,0 +1,40 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Uid')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-uid" class="form-control" name="row[uid]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Phone')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-phone" class="form-control" name="row[phone]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Company')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-company" class="form-control" name="row[company]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 40 - 0
application/admin/view/community/cooperation/edit.html

@@ -0,0 +1,40 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Uid')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-uid" class="form-control" name="row[uid]" type="number" value="{$row.uid|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Phone')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-phone" class="form-control" name="row[phone]" type="number" value="{$row.phone|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Company')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-company" class="form-control" name="row[company]" type="text" value="{$row.company|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{$row.create_time}">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 35 - 0
application/admin/view/community/cooperation/index.html

@@ -0,0 +1,35 @@
+<div class="panel panel-default panel-intro">
+    {:build_heading()}
+
+    <div class="panel-body">
+        <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade active in" id="one">
+                <div class="widget-body no-padding">
+                    <div id="toolbar" class="toolbar">
+                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
+                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('community/cooperation/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
+                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('community/cooperation/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
+                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('community/cooperation/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
+                        
+
+                        <div class="dropdown btn-group {:$auth->check('community/cooperation/multi')?'':'hide'}">
+                            <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
+                            <ul class="dropdown-menu text-left" role="menu">
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
+                            </ul>
+                        </div>
+
+                        
+                    </div>
+                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
+                           data-operate-edit="{:$auth->check('community/cooperation/edit')}"
+                           data-operate-del="{:$auth->check('community/cooperation/del')}"
+                           width="100%">
+                    </table>
+                </div>
+            </div>
+
+        </div>
+    </div>
+</div>

+ 48 - 0
application/admin/view/community/cooperationconfiguration/add.html

@@ -0,0 +1,48 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50"></textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 48 - 0
application/admin/view/community/cooperationconfiguration/edit.html

@@ -0,0 +1,48 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text" value="{$row.type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text" value="{$row.title|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50">{$row.content|htmlentities}</textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 104 - 0
application/admin/view/community/cooperationconfiguration/index.html

@@ -0,0 +1,104 @@
+<style>
+    .upload-image {
+        background: url('__CDN__/assets/addons/example/img/plus.png') no-repeat center center;
+        background-size: 30px 30px;
+        height: 30px;
+        width: 30px;
+        border: 1px solid #ccc;
+    }
+</style>
+<div class="row">
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="aaa-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">幻灯片</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$iantern_slide->name}">
+                                <input id="a-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$iantern_slide->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files" class="btn btn-danger plupload" data-input-id="a-files" data-mimetype="*" data-multiple="true" data-preview-id="aa-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files" class="btn btn-primary fachoose" data-input-id="a-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="a-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="aa-files" data-template="introtpl" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--内容-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="product_features-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">合作权益</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$cooperative_interest->name}">
+                                <input id="c-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$cooperative_interest->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_product_features" class="btn btn-danger plupload" data-input-id="c-files" data-mimetype="*" data-multiple="true" data-preview-id="p-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_product_features" class="btn btn-primary fachoose" data-input-id="c-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-files"></span>
+                            </div>
+
+                            <!--                            ul需要添加 data-template和data-name属性,并一一对应且唯一-->
+                            <ul class="row list-inline plupload-preview" id="p-files" data-template="introtpl_product_features" data-name="row[content]"></ul>
+                            <!--                            请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[content]" class="form-control" style="margin-top:5px;display:none;">{$cooperative_interest->content}</textarea>
+
+                            <!--                            这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_product_features">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[content][<%=index%>]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--                            这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+</div>

+ 42 - 0
application/admin/view/community/downloadlink/add.html

@@ -0,0 +1,42 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-status" class="form-control" name="row[status]" type="number" value="1">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 42 - 0
application/admin/view/community/downloadlink/edit.html

@@ -0,0 +1,42 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-status" class="form-control" name="row[status]" type="number" value="{$row.status|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{$row.update_time}">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 57 - 0
application/admin/view/community/downloadlink/index.html

@@ -0,0 +1,57 @@
+<style>
+    .upload-image {
+        background: url('__CDN__/assets/addons/example/img/plus.png') no-repeat center center;
+        background-size: 30px 30px;
+        height: 30px;
+        width: 30px;
+        border: 1px solid #ccc;
+    }
+</style>
+<div class="row">
+    <!--内容-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="aaa-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">下载地址管理</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$iantern_slide->name}">
+                                <input id="a-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$iantern_slide->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files" class="btn btn-danger plupload" data-input-id="a-files" data-mimetype="*" data-multiple="true" data-preview-id="aa-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files" class="btn btn-primary fachoose" data-input-id="a-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="a-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="aa-files" data-template="introtpl" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+</div>

+ 42 - 0
application/admin/view/community/versioncomparison/add.html

@@ -0,0 +1,42 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-status" class="form-control" name="row[status]" type="number" value="1">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 42 - 0
application/admin/view/community/versioncomparison/edit.html

@@ -0,0 +1,42 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-status" class="form-control" name="row[status]" type="number" value="{$row.status|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{$row.update_time}">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 57 - 0
application/admin/view/community/versioncomparison/index.html

@@ -0,0 +1,57 @@
+<style>
+    .upload-image {
+        background: url('__CDN__/assets/addons/example/img/plus.png') no-repeat center center;
+        background-size: 30px 30px;
+        height: 30px;
+        width: 30px;
+        border: 1px solid #ccc;
+    }
+</style>
+<div class="row">
+    <!--内容-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="aaa-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">版本照</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$iantern_slide->name}">
+                                <input id="a-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$iantern_slide->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files" class="btn btn-danger plupload" data-input-id="a-files" data-mimetype="*" data-multiple="true" data-preview-id="aa-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files" class="btn btn-primary fachoose" data-input-id="a-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="a-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="aa-files" data-template="introtpl" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+</div>

+ 40 - 0
application/admin/view/community/visit/add.html

@@ -0,0 +1,40 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Uid')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-uid" class="form-control" name="row[uid]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Phone')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-phone" class="form-control" name="row[phone]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Visit_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-visit_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[visit_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 40 - 0
application/admin/view/community/visit/edit.html

@@ -0,0 +1,40 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Uid')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-uid" class="form-control" name="row[uid]" type="number" value="{$row.uid|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Phone')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-phone" class="form-control" name="row[phone]" type="number" value="{$row.phone|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Visit_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-visit_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[visit_time]" type="text" value="{:$row.visit_time?datetime($row.visit_time):''}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{$row.create_time}">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 35 - 0
application/admin/view/community/visit/index.html

@@ -0,0 +1,35 @@
+<div class="panel panel-default panel-intro">
+    {:build_heading()}
+
+    <div class="panel-body">
+        <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade active in" id="one">
+                <div class="widget-body no-padding">
+                    <div id="toolbar" class="toolbar">
+                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
+                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('community/visit/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
+                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('community/visit/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
+                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('community/visit/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
+                        
+
+                        <div class="dropdown btn-group {:$auth->check('community/visit/multi')?'':'hide'}">
+                            <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
+                            <ul class="dropdown-menu text-left" role="menu">
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
+                            </ul>
+                        </div>
+
+                        
+                    </div>
+                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
+                           data-operate-edit="{:$auth->check('community/visit/edit')}"
+                           data-operate-del="{:$auth->check('community/visit/del')}"
+                           width="100%">
+                    </table>
+                </div>
+            </div>
+
+        </div>
+    </div>
+</div>

+ 48 - 0
application/admin/view/community/visitconfiguration/add.html

@@ -0,0 +1,48 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50"></textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 48 - 0
application/admin/view/community/visitconfiguration/edit.html

@@ -0,0 +1,48 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text" value="{$row.type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text" value="{$row.title|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50">{$row.content|htmlentities}</textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 107 - 0
application/admin/view/community/visitconfiguration/index.html

@@ -0,0 +1,107 @@
+<style>
+    .upload-image {
+        background: url('__CDN__/assets/addons/example/img/plus.png') no-repeat center center;
+        background-size: 30px 30px;
+        height: 30px;
+        width: 30px;
+        border: 1px solid #ccc;
+    }
+</style>
+<div class="row">
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="aaa-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">幻灯片</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$iantern_slide->name}">
+                                <input id="a-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$iantern_slide->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files" class="btn btn-danger plupload" data-input-id="a-files" data-mimetype="*" data-multiple="true" data-preview-id="aa-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files" class="btn btn-primary fachoose" data-input-id="a-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="a-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="aa-files" data-template="introtpl" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--内容-->
+    <!--产品差异化-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="first-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">公司</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$product_differentiation->name}">
+                                <input id="c-images" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$product_differentiation->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-images" class="btn btn-danger plupload" data-input-id="c-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-images" class="btn btn-primary fachoose" data-input-id="c-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="p-images" data-template="desctpl" data-name="row[content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[content]" class="form-control" style="margin-top:5px;display: none">{$product_differentiation->content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="desctpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+</div>

+ 25 - 7
application/admin/view/document/index/add.html

@@ -6,19 +6,37 @@
             {:build_radios('row[ismenu]', ['1'=>__('Yes'), '0'=>__('No')])}
         </div>
     </div>
-
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label>
+        <label for="c-type" class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
         <div class="col-xs-12 col-sm-8">
-            {:build_select('row[pid]', $ruledata, null, ['class'=>'form-control', 'required'=>''])}
+
+            <select id="c-type" data-rule="required" class="form-control selectpicker" name="row[belong]">
+                {foreach name="typeList" item="vo"}
+                <option value="{$key}" {in name="key" value=""}selected{/in}>{$vo}</option>
+                {/foreach}
+            </select>
+
         </div>
     </div>
     <div class="form-group">
-        <label for="c-name" class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <label for="c-pid" class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-name" class="form-control" name="row[name]" type="text" data-placeholder-node="{:__('Node tips')}" data-placeholder-menu="{:__('Menu tips')}">
+
+            <select id="c-pid" data-rule="required" class="form-control selectpicker" name="row[pid]">
+                {foreach name="parentList" item="vo"}
+                <option data-type="{$vo.belong}" value="{$key}" {in name="key" value=""}selected{/in}>{$vo.title}</option>
+                {/foreach}
+            </select>
+
         </div>
     </div>
+
+<!--    <div class="form-group">-->
+<!--        <label for="c-name" class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" data-placeholder-node="{:__('Node tips')}" data-placeholder-menu="{:__('Menu tips')}">-->
+<!--        </div>-->
+<!--    </div>-->
     <div class="form-group">
         <label for="c-title" class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
         <div class="col-xs-12 col-sm-8">
@@ -26,9 +44,9 @@
         </div>
     </div>
     <div class="form-group">
-        <label for="remark" class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
+        <label for="c-content" class="control-label col-xs-12 col-sm-2">内容</label>
         <div class="col-xs-12 col-sm-8">
-            <textarea class="form-control" id="remark" name="row[remark]"></textarea>
+            <textarea id="c-content" class="form-control editor" rows="5" cols="50" name="row[content]"></textarea>
         </div>
     </div>
     <div class="form-group">

+ 14 - 1
application/admin/view/document/index/index.html

@@ -1,6 +1,19 @@
 <div class="panel panel-default panel-intro">
-    {:build_heading()}
+<!--    {:build_heading()}-->
 
+    <div class="panel-heading">
+<!--        {:build_heading(null,FALSE)}-->
+        <ul class="nav nav-tabs">
+            {foreach name="typeList" item="vo"}
+            {if $vo == '好柿购'}
+            <li class="active"><a href="#{$key}" data-toggle="tab">{$vo}</a></li>
+               {else}
+            <li><a href="#{$key}" data-toggle="tab">{$vo}</a></li>
+            {/if}
+            {/foreach}
+        </ul>
+
+    </div>
     <div class="panel-body">
         <div id="myTabContent" class="tab-content">
             <div class="tab-pane fade active in" id="one">

+ 4 - 4
application/admin/view/example/customform/index.html

@@ -65,10 +65,10 @@
                             </div>
 
                             <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
-                            <ul class="row list-inline plupload-preview" id="p-images" data-template="desctpl" data-name="row[desc]"></ul>
+                            <ul class="row list-inline plupload-preview" id="p-images" data-template="desctpl" data-name="row[intro]"></ul>
 
                             <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
-                            <textarea name="row[desc]" class="form-control" style="margin-top:5px;">[{"info":"开发者示例插件","size":"1M"},{"info":"又拍云储存整合","size":"2M"},{"info":"阿里OSS云储存","size":"1M"}]</textarea>
+                            <textarea name="row[intro]" class="form-control" style="margin-top:5px;">[{"info":"开发者示例插件","size":"1M"},{"info":"又拍云储存整合","size":"2M"},{"info":"阿里OSS云储存","size":"1M"}]</textarea>
 
                             <!--这里自定义图片预览的模板 开始-->
                             <script type="text/html" id="desctpl">
@@ -76,8 +76,8 @@
                                     <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
                                         <img src="<%=fullurl%>" class="img-responsive">
                                     </a>
-                                    <input type="text" name="row[desc][<%=index%>][info]" class="form-control mb-1" placeholder="请输入插件描述" value="<%=value?value['info']:''%>"/>
-                                    <input type="text" name="row[desc][<%=index%>][size]" class="form-control mb-1" placeholder="请输入插件大小" value="<%=value?value['size']:''%>"/>
+                                    <input type="text" name="row[intro][<%=index%>][info]" class="form-control mb-1" placeholder="请输入插件描述" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[intro][<%=index%>][size]" class="form-control mb-1" placeholder="请输入插件大小" value="<%=value?value['size']:''%>"/>
                                     <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
                                 </li>
                             </script>

+ 48 - 0
application/admin/view/home/home/add.html

@@ -0,0 +1,48 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50"></textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 48 - 0
application/admin/view/home/home/edit.html

@@ -0,0 +1,48 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text" value="{$row.type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text" value="{$row.title|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50">{$row.content|htmlentities}</textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 392 - 0
application/admin/view/home/home/index.html

@@ -0,0 +1,392 @@
+<style>
+    .upload-image {
+        background: url('__CDN__/assets/addons/example/img/plus.png') no-repeat center center;
+        background-size: 30px 30px;
+        height: 30px;
+        width: 30px;
+        border: 1px solid #ccc;
+    }
+</style>
+<div class="row">
+    <!--    幻灯片-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="aaa-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">幻灯片</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$iantern_slide->name}">
+                                <input id="a-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$iantern_slide->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files" class="btn btn-danger plupload" data-input-id="a-files" data-mimetype="*" data-multiple="true" data-preview-id="aa-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files" class="btn btn-primary fachoose" data-input-id="a-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="a-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="aa-files" data-template="introtpl" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--申请演示-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">申请演示</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$application_presentation->name}">
+                                <input id="b-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$application_presentation->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_a" class="btn btn-danger plupload" data-input-id="b-files" data-mimetype="*" data-multiple="true" data-preview-id="bb-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_a" class="btn btn-primary fachoose" data-input-id="b-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="b-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="bb-files" data-template="introtpl_a" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_a">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--商家加入-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="sj-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">商家加入</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$business_in->name}">
+                                <input id="sj-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$business_in->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_sj" class="btn btn-danger plupload" data-input-id="sj-files" data-mimetype="*" data-multiple="true" data-preview-id="sj-files_d"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_sj" class="btn btn-primary fachoose" data-input-id="sj-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="sj-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="sj-files_d" data-template="introtpl_sj" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_sj">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--成为繁荣生态的一部分-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="st-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">成为繁荣生态的一部分</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$zoology->name}">
+                                <input id="st-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$zoology->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_st" class="btn btn-danger plupload" data-input-id="st-files" data-mimetype="*" data-multiple="true" data-preview-id="st-files_d"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_st" class="btn btn-primary fachoose" data-input-id="st-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="sj-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="st-files_d" data-template="introtpl_st" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_st">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+<!--    销售条件-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="first-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">销售条件</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$conditions_sale->name}">
+                                <input id="c-images" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$conditions_sale->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-images" class="btn btn-danger plupload" data-input-id="c-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-images" class="btn btn-primary fachoose" data-input-id="c-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="p-images" data-template="desctpl" data-name="row[content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[content]" class="form-control" style="margin-top:5px;display: none">{$conditions_sale->content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="desctpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+
+    <!--稳定的技术框架,周到的服务-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="e-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">稳定的技术框架,周到的服务</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$stable_frame->name}">
+                                <input id="ee-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$stable_frame->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_e" class="btn btn-danger plupload" data-input-id="ee-files" data-mimetype="*" data-multiple="true" data-preview-id="e-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_e" class="btn btn-primary fachoose" data-input-id="ee-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="b-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="e-files" data-template="introtpl_e" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_e">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+
+<!--    <div class="col-md-6">-->
+<!--        <div class="box box-info">-->
+<!--            <div class="panel-heading">-->
+<!--                {:__('自定义Fieldlist示例')}-->
+<!--            </div>-->
+<!--            <div class="panel-body">-->
+<!--                <div class="alert alert-danger-light">-->
+<!--                    <b>温馨提示</b><br>-->
+<!--                    默认我们的fieldlist只有一维数组,为键值形式,如果需要二维数组,可使用下面的自定义模板来实现<br>-->
+<!--                    默认追加的元素是没有进行事件绑定的,我们需要监听btn-append这个按钮的fa.event.appendfieldlist事件<br>-->
+<!--                    <b>下面的演示textarea为了便于调试,设置为可见的,实际使用中应该添加个hidden的class进行隐藏</b>-->
+<!--                </div>-->
+<!--                <form id="second-form" role="form" data-toggle="validator" method="POST" action="">-->
+
+<!--                    <div class="form-group row">-->
+<!--                        <label class="control-label col-xs-12">{:__('Fieldlist示例')}:</label>-->
+<!--                        <div class="col-xs-12">-->
+<!--                            <table class="table fieldlist" data-template="basictpl" data-name="row[basic]" id="first-table">-->
+<!--                                <tr>-->
+<!--                                    <td>{:__('标题')}</td>-->
+<!--                                    <td>{:__('介绍')}</td>-->
+<!--                                    <td>{:__('大小')}</td>-->
+<!--                                    <td>{:__('状态')}</td>-->
+<!--                                    <td width="100"></td>-->
+<!--                                </tr>-->
+<!--                                <tr>-->
+<!--                                    <td colspan="5"><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Append')}</a></td>-->
+<!--                                </tr>-->
+<!--                            </table>-->
+
+<!--                            &lt;!&ndash;请注意实际开发中textarea应该添加个hidden进行隐藏&ndash;&gt;-->
+<!--                            <textarea name="row[basic]" class="form-control" cols="30" rows="5">[{"title":"开发者示例插件","intro":"开发者必备","size":"1M","state":1},{"title":"又拍云储存整合","intro":"一款云储存","size":"2M","state":0},{"title":"阿里OSS云储存","intro":"一款云储存","size":"1M","state":1}]</textarea>-->
+<!--                            <script id="basictpl" type="text/html">-->
+<!--                                <tr class="form-inline">-->
+<!--                                    <td><input type="text" name="<%=name%>[<%=index%>][title]" class="form-control" size="15" value="<%=row.title%>" placeholder="标题"/></td>-->
+<!--                                    <td><input type="text" name="<%=name%>[<%=index%>][intro]" class="form-control" size="15" value="<%=row.intro%>" placeholder="介绍"/></td>-->
+<!--                                    <td><input type="text" name="<%=name%>[<%=index%>][size]" class="form-control" style="width:50px" value="<%=row.size%>" placeholder="大小"/></td>-->
+<!--                                    <td>-->
+<!--                                        <input type="hidden" name="<%=name%>[<%=index%>][state]" id="c-state-<%=index%>" class="form-control" style="width:50px" value="<%=row.state%>" placeholder="状态"/>-->
+<!--                                        <a href="javascript:;" data-toggle="switcher" class="btn-switcher" data-input-id="c-state-<%=index%>" data-yes="1" data-no="0" >-->
+<!--                                            <i class="fa fa-toggle-on text-success <%if(row.state==0){%>fa-flip-horizontal text-gray<%}%> fa-2x"></i>-->
+<!--                                        </a>-->
+<!--                                    </td>-->
+<!--                                    <td>-->
+<!--                                        &lt;!&ndash;下面的两个按钮务必保留&ndash;&gt;-->
+<!--                                        <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>-->
+<!--                                        <span class="btn btn-sm btn-primary btn-dragsort"><i class="fa fa-arrows"></i></span>-->
+<!--                                    </td>-->
+<!--                                </tr>-->
+<!--                            </script>-->
+<!--                        </div>-->
+<!--                    </div>-->
+<!--                    <div class="form-group row">-->
+<!--                        <label class="control-label col-xs-12">{:__('元素事件')}:</label>-->
+<!--                        <div class="col-xs-12">-->
+<!--                            <table class="table fieldlist" data-template="eventtpl" data-name="row[event]" id="second-table">-->
+<!--                                <tr>-->
+<!--                                    <td>{:__('管理员')}</td>-->
+<!--                                    <td>{:__('图片')}</td>-->
+<!--                                    <td>{:__('登录时间')}</td>-->
+<!--                                    <td width="100"></td>-->
+<!--                                </tr>-->
+<!--                                <tr>-->
+<!--                                    <td colspan="4"><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Append')}</a></td>-->
+<!--                                </tr>-->
+<!--                            </table>-->
+
+<!--                            &lt;!&ndash;请注意实际开发中textarea应该添加个hidden进行隐藏&ndash;&gt;-->
+<!--                            <textarea name="row[event]" class="form-control" cols="30" rows="5">[{"id":"1","image":"/assets/addons/example/img/200x200.png","time":"2019-06-28 12:05:03"}]</textarea>-->
+<!--                            <script id="eventtpl" type="text/html">-->
+<!--                                <tr class="form-inline">-->
+<!--                                    <td><input type="text" name="<%=name%>[<%=index%>][id]" class="form-control selectpage" data-source="auth/admin/selectpage" data-field="username" value="<%=row.id%>" placeholder="管理员"/></td>-->
+<!--                                    <td>-->
+<!--                                        <input type="hidden" name="<%=name%>[<%=index%>][image]" id="c-image-<%=index%>" value="<%=row.image%>">-->
+<!--                                        &lt;!&ndash;@formatter:off&ndash;&gt;-->
+<!--                                        <button type="button" id="faupload-image" class="btn btn-danger faupload upload-image" data-input-id="c-image-<%=index%>" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" <%if(row.image){%>style="background-image: url('<%=Fast.api.cdnurl(row.image)%>')"<%}%>></button>-->
+<!--                                        &lt;!&ndash;@formatter:on&ndash;&gt;-->
+<!--                                    </td>-->
+<!--                                    <td><input type="text" name="<%=name%>[<%=index%>][time]" class="form-control datetimepicker" style="width:120px" value="<%=row.time%>" placeholder="时间"/></td>-->
+<!--                                    <td>-->
+<!--                                        &lt;!&ndash;下面的两个按钮务必保留&ndash;&gt;-->
+<!--                                        <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>-->
+<!--                                        <span class="btn btn-sm btn-primary btn-dragsort"><i class="fa fa-arrows"></i></span>-->
+<!--                                    </td>-->
+<!--                                </tr>-->
+<!--                            </script>-->
+<!--                        </div>-->
+<!--                    </div>-->
+<!--                    <div class="form-group row">-->
+<!--                        <label class="control-label col-xs-12"></label>-->
+<!--                        <div class="col-xs-12">-->
+<!--                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>-->
+<!--                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>-->
+<!--                        </div>-->
+<!--                    </div>-->
+
+<!--                </form>-->
+<!--            </div>-->
+<!--        </div>-->
+</div>

+ 79 - 0
application/admin/view/pricing/goods/add.html

@@ -0,0 +1,79 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Code')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-code" class="form-control" name="row[code]" type="text">-->
+<!--        </div>-->
+<!--    </div>-->
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-remark" class="form-control" name="row[remark]" type="text">-->
+<!--        </div>-->
+<!--    </div>-->
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Price')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-price" class="form-control" step="0.01" name="row[price]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Retail')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-retail" class="form-control" step="0.01" name="row[retail]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Sales_volume')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-sales_volume" class="form-control" name="row[sales_volume]" type="number">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Inventory')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-inventory" class="form-control" name="row[inventory]" type="number">-->
+<!--        </div>-->
+<!--    </div>-->
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('After_sale')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea class="summernote editor" name="row[after_sale]"></textarea>
+<!--            <input id="c-after_sale" class="form-control" name="row[after_sale]" type="text">-->
+        </div>
+    </div>
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Discount_id')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-discount_id" data-rule="required" data-source="discount/index" class="form-control selectpage" name="row[discount_id]" type="text" value="">-->
+<!--        </div>-->
+<!--    </div>-->
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 80 - 0
application/admin/view/pricing/goods/edit.html

@@ -0,0 +1,80 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Code')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-code" class="form-control" name="row[code]" type="text" value="{$row.code|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-remark" class="form-control" name="row[remark]" type="text" value="{$row.remark|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Price')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-price" class="form-control" step="0.01" name="row[price]" type="number" value="{$row.price|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Retail')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-retail" class="form-control" step="0.01" name="row[retail]" type="number" value="{$row.retail|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Sales_volume')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-sales_volume" class="form-control" name="row[sales_volume]" type="number" value="{$row.sales_volume|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Inventory')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-inventory" class="form-control" name="row[inventory]" type="number" value="{$row.inventory|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('After_sale')}:</label>
+        <div class="col-xs-12 col-sm-8">
+<!--            <input id="c-after_sale" class="form-control" name="row[after_sale]" type="text" value="{$row.after_sale|htmlentities}">-->
+            <textarea class="summernote editor" name="row[after_sale]">{$row.after_sale|htmlentities}</textarea>
+
+        </div>
+    </div>
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Discount_id')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-discount_id" data-rule="required" data-source="discount/index" class="form-control selectpage" name="row[discount_id]" type="text" value="{$row.discount_id|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 35 - 0
application/admin/view/pricing/goods/index.html

@@ -0,0 +1,35 @@
+<div class="panel panel-default panel-intro">
+    {:build_heading()}
+
+    <div class="panel-body">
+        <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade active in" id="one">
+                <div class="widget-body no-padding">
+                    <div id="toolbar" class="toolbar">
+                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
+                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('pricing/goods/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
+                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('pricing/goods/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
+                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('pricing/goods/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
+                        
+
+                        <div class="dropdown btn-group {:$auth->check('pricing/goods/multi')?'':'hide'}">
+                            <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
+                            <ul class="dropdown-menu text-left" role="menu">
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
+                            </ul>
+                        </div>
+
+                        
+                    </div>
+                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
+                           data-operate-edit="{:$auth->check('pricing/goods/edit')}"
+                           data-operate-del="{:$auth->check('pricing/goods/del')}"
+                           width="100%">
+                    </table>
+                </div>
+            </div>
+
+        </div>
+    </div>
+</div>

+ 142 - 0
application/admin/view/pricing/order/add.html

@@ -0,0 +1,142 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Uid')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-uid" class="form-control" name="row[uid]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text" value="1">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Goods_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-goods_id" data-rule="required" data-source="goods/index" class="form-control selectpage" name="row[goods_id]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Goods_name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-goods_name" class="form-control" name="row[goods_name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Order_no')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-order_no" class="form-control" name="row[order_no]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Amount_real')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-amount_real" class="form-control" step="0.01" name="row[amount_real]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Discount_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-discount_id" data-rule="required" data-source="discount/index" class="form-control selectpage" name="row[discount_id]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Discount')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-discount" class="form-control" step="0.01" name="row[discount]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Payment_type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-payment_type" class="form-control" name="row[payment_type]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Payment_code')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-payment_code" class="form-control" name="row[payment_code]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Payment_trade')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-payment_trade" class="form-control" name="row[payment_trade]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Payment_status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-payment_status" class="form-control" name="row[payment_status]" type="number" value="0">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Payment_amount')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-payment_amount" class="form-control" step="0.01" name="row[payment_amount]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Number_goods')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-number_goods" class="form-control" name="row[number_goods]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-status" class="form-control" name="row[status]" type="number" value="1">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Cancel_datetime')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-cancel_datetime" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[cancel_datetime]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('After_sale')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-after_sale" class="form-control" name="row[after_sale]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Deploy')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-deploy" class="form-control" name="row[deploy]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Deploy_type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-deploy_type" class="form-control" name="row[deploy_type]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Billing_status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-billing_status" class="form-control" name="row[billing_status]" type="number" value="0">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Valid_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-valid_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[valid_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 142 - 0
application/admin/view/pricing/order/edit.html

@@ -0,0 +1,142 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Uid')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-uid" class="form-control" name="row[uid]" type="number" value="{$row.uid|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text" value="{$row.type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Goods_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-goods_id" data-rule="required" data-source="goods/index" class="form-control selectpage" name="row[goods_id]" type="text" value="{$row.goods_id|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Goods_name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-goods_name" class="form-control" name="row[goods_name]" type="text" value="{$row.goods_name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Order_no')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-order_no" class="form-control" name="row[order_no]" type="text" value="{$row.order_no|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Amount_real')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-amount_real" class="form-control" step="0.01" name="row[amount_real]" type="number" value="{$row.amount_real|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Discount_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-discount_id" data-rule="required" data-source="discount/index" class="form-control selectpage" name="row[discount_id]" type="text" value="{$row.discount_id|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Discount')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-discount" class="form-control" step="0.01" name="row[discount]" type="number" value="{$row.discount|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Payment_type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-payment_type" class="form-control" name="row[payment_type]" type="text" value="{$row.payment_type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Payment_code')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-payment_code" class="form-control" name="row[payment_code]" type="text" value="{$row.payment_code|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Payment_trade')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-payment_trade" class="form-control" name="row[payment_trade]" type="text" value="{$row.payment_trade|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Payment_status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-payment_status" class="form-control" name="row[payment_status]" type="number" value="{$row.payment_status|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Payment_amount')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-payment_amount" class="form-control" step="0.01" name="row[payment_amount]" type="number" value="{$row.payment_amount|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Number_goods')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-number_goods" class="form-control" name="row[number_goods]" type="number" value="{$row.number_goods|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-status" class="form-control" name="row[status]" type="number" value="{$row.status|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{$row.create_time}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Cancel_datetime')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-cancel_datetime" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[cancel_datetime]" type="text" value="{$row.cancel_datetime}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('After_sale')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-after_sale" class="form-control" name="row[after_sale]" type="text" value="{$row.after_sale|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Deploy')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-deploy" class="form-control" name="row[deploy]" type="text" value="{$row.deploy|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Deploy_type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-deploy_type" class="form-control" name="row[deploy_type]" type="number" value="{$row.deploy_type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Billing_status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-billing_status" class="form-control" name="row[billing_status]" type="number" value="{$row.billing_status|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Valid_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-valid_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[valid_time]" type="text" value="{$row.valid_time}">
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 35 - 0
application/admin/view/pricing/order/index.html

@@ -0,0 +1,35 @@
+<div class="panel panel-default panel-intro">
+    {:build_heading()}
+
+    <div class="panel-body">
+        <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade active in" id="one">
+                <div class="widget-body no-padding">
+                    <div id="toolbar" class="toolbar">
+                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
+                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('pricing/order/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
+                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('pricing/order/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
+                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('pricing/order/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
+                        
+
+                        <div class="dropdown btn-group {:$auth->check('pricing/order/multi')?'':'hide'}">
+                            <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
+                            <ul class="dropdown-menu text-left" role="menu">
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
+                            </ul>
+                        </div>
+
+                        
+                    </div>
+                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
+                           data-operate-edit="{:$auth->check('pricing/order/edit')}"
+                           data-operate-del="{:$auth->check('pricing/order/del')}"
+                           width="100%">
+                    </table>
+                </div>
+            </div>
+
+        </div>
+    </div>
+</div>

+ 392 - 37
application/admin/view/product/ecmall/index.html

@@ -1,42 +1,397 @@
-<div class="panel panel-default panel-intro">
-    {:build_heading()}
-<!--    <div class="panel-heading">
-        <ul class="nav nav-tabs nav-custom-condition">
-            <li class="active"><a href="#t-all" data-value="iantern_slide" data-toggle="tab">{:__('All')}</a></li>
-            <li class=""><a href="#t-1" data-value='product_fram' data-toggle="tab">自定义搜索条件1</a></li>
-            <li class=""><a href="#t-2" data-value='product_features' data-toggle="tab">自定义搜索条件2</a></li>
-        </ul>
-    </div>-->
-
-    <div class="panel-body">
-        <div id="myTabContent" class="tab-content">
-            <div class="tab-pane fade active in" id="one">
-                <div class="widget-body no-padding">
-                    <div id="toolbar" class="toolbar">
-                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
-                        <a href="javascript:;" class="btn btn-success btn-add btn-disabled disabled {:$auth->check('product/ecmall/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
-                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('product/ecmall/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
-                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('product/ecmall/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
-                        
-
-                        <div class="dropdown btn-group {:$auth->check('product/ecmall/multi')?'':'hide'}">
-                            <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
-                            <ul class="dropdown-menu text-left" role="menu">
-                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
-                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
-                            </ul>
-                        </div>
-
-                        
-                    </div>
-                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
-                           data-operate-edit="{:$auth->check('product/ecmall/edit')}"
-                           data-operate-del="{:$auth->check('product/ecmall/del')}"
-                           width="100%">
-                    </table>
-                </div>
+<style>
+    .upload-image {
+        background: url('__CDN__/assets/addons/example/img/plus.png') no-repeat center center;
+        background-size: 30px 30px;
+        height: 30px;
+        width: 30px;
+        border: 1px solid #ccc;
+    }
+</style>
+<div class="row">
+<!--    幻灯片-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="aaa-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">幻灯片</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$iantern_slide->name}">
+                                <input id="a-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$iantern_slide->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files" class="btn btn-danger plupload" data-input-id="a-files" data-mimetype="*" data-multiple="true" data-preview-id="aa-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files" class="btn btn-primary fachoose" data-input-id="a-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="a-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="aa-files" data-template="introtpl" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--产品框架-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">产品框架</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$product_framework->name}">
+                                <input id="b-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$product_framework->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_a" class="btn btn-danger plupload" data-input-id="b-files" data-mimetype="*" data-multiple="true" data-preview-id="bb-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_a" class="btn btn-primary fachoose" data-input-id="b-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="b-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="bb-files" data-template="introtpl_a" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_a">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--产品优势-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="first-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">产品优势</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$product_fram_image->name}">
+                                <input id="c-images" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$product_fram_image->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-images" class="btn btn-danger plupload" data-input-id="c-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-images" class="btn btn-primary fachoose" data-input-id="c-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="p-images" data-template="desctpl" data-name="row[content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[content]" class="form-control" style="margin-top:5px;display: none">{$product_fram_image->content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="desctpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--产品亮点-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="product_features-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">产品亮点</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$product_features->name}">
+                                <input id="c-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$product_features->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_product_features" class="btn btn-danger plupload" data-input-id="c-files" data-mimetype="*" data-multiple="true" data-preview-id="p-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_product_features" class="btn btn-primary fachoose" data-input-id="c-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-files"></span>
+                            </div>
+
+<!--                            ul需要添加 data-template和data-name属性,并一一对应且唯一-->
+                            <ul class="row list-inline plupload-preview" id="p-files" data-template="introtpl_product_features" data-name="row[product_features_content]"></ul>
+<!--                            请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[product_features_content]" class="form-control" style="margin-top:5px;/*display:none;*/">{$product_features->product_features_content}</textarea>
+
+<!--                            这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_product_features">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[product_features_content][<%=index%>]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+<!--                            这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--产品功能-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="product_function-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">产品功能</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$product_function->name}">
+                                <input id="d-images" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$product_function->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-product_function" class="btn btn-danger plupload" data-input-id="d-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="product_function-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-product_function" class="btn btn-primary fachoose" data-input-id="d-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="product_function-images" data-template="product_function" data-name="row[product_function_content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[product_function_content]" class="form-control" style="margin-top:5px;display: none">{$product_function->product_function_content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="product_function">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[product_function_content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[product_function_content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--案例展示-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="e-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">案例展示</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$product_case_show->name}">
+                                <input id="ee-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$product_case_show->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_e" class="btn btn-danger plupload" data-input-id="ee-files" data-mimetype="*" data-multiple="true" data-preview-id="e-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_e" class="btn btn-primary fachoose" data-input-id="ee-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="b-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="e-files" data-template="introtpl_e" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_e">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--采用最前沿的技术框架-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="advanced-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">采用最前沿的技术框架</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$advanced->name}">
+                                <input id="advanced-images_d" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$advanced->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-advanced" class="btn btn-danger plupload" data-input-id="advanced-images_d" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="advanced-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-advanced" class="btn btn-primary fachoose" data-input-id="advanced-images_d" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="advanced-images" data-template="product_advanced" data-name="row[advanced_content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[advanced_content]" class="form-control" style="margin-top:5px;display: none">{$advanced->advanced_content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="product_advanced">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[advanced_content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[advanced_content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
             </div>
+        </div>
+    </div>
+    <!--学习-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="study-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">学习</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$product_study->name}">
+                                <input id="study-images_d" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$product_study->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-study" class="btn btn-danger plupload" data-input-id="study-images_d" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="study-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-study" class="btn btn-primary fachoose" data-input-id="study-images_d" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="study-images" data-template="product_study" data-name="row[study_content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[study_content]" class="form-control" style="margin-top:5px;display: none">{$product_study->study_content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="product_study">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[study_content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[study_content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
 
+                </form>
+            </div>
         </div>
     </div>
 </div>

+ 48 - 0
application/admin/view/solution/foreign/add.html

@@ -0,0 +1,48 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50"></textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 48 - 0
application/admin/view/solution/foreign/edit.html

@@ -0,0 +1,48 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text" value="{$row.type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text" value="{$row.title|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50">{$row.content|htmlentities}</textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 296 - 0
application/admin/view/solution/foreign/index.html

@@ -0,0 +1,296 @@
+<style>
+    .upload-image {
+        background: url('__CDN__/assets/addons/example/img/plus.png') no-repeat center center;
+        background-size: 30px 30px;
+        height: 30px;
+        width: 30px;
+        border: 1px solid #ccc;
+    }
+</style>
+<div class="row">
+    <!--    幻灯片-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="aaa-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">幻灯片</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$iantern_slide->name}">
+                                <input id="a-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$iantern_slide->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files" class="btn btn-danger plupload" data-input-id="a-files" data-mimetype="*" data-multiple="true" data-preview-id="aa-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files" class="btn btn-primary fachoose" data-input-id="a-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="a-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="aa-files" data-template="introtpl" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--系统介绍-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="product_features-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">系统介绍</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$system_introduction->name}">
+                                <input id="c-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$system_introduction->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_product_features" class="btn btn-danger plupload" data-input-id="c-files" data-mimetype="*" data-multiple="true" data-preview-id="p-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_product_features" class="btn btn-primary fachoose" data-input-id="c-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-files"></span>
+                            </div>
+
+                            <!--                            ul需要添加 data-template和data-name属性,并一一对应且唯一-->
+                            <ul class="row list-inline plupload-preview" id="p-files" data-template="introtpl_product_features" data-name="row[system_introduction_content]"></ul>
+                            <!--                            请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[system_introduction_content]" class="form-control" style="margin-top:5px;display:none;">{$system_introduction->system_introduction_content}</textarea>
+
+                            <!--                            这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_product_features">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[system_introduction_content][<%=index%>]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--                            这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--产品差异化-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="first-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">产品差异化</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$product_differentiation->name}">
+                                <input id="c-images" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$product_differentiation->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-images" class="btn btn-danger plupload" data-input-id="c-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-images" class="btn btn-primary fachoose" data-input-id="c-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="p-images" data-template="desctpl" data-name="row[content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[content]" class="form-control" style="margin-top:5px;display: none">{$product_differentiation->content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="desctpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--方案亮点-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="product_function-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">方案亮点</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$scheme_highlights->name}">
+                                <input id="d-images" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$scheme_highlights->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-product_function" class="btn btn-danger plupload" data-input-id="d-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="product_function-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-product_function" class="btn btn-primary fachoose" data-input-id="d-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="product_function-images" data-template="product_function" data-name="row[image]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="product_function">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--一站式三方增值服务-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">一站式三方增值服务</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$added_services->name}">
+                                <input id="b-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$added_services->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_a" class="btn btn-danger plupload" data-input-id="b-files" data-mimetype="*" data-multiple="true" data-preview-id="bb-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_a" class="btn btn-primary fachoose" data-input-id="b-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="b-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="bb-files" data-template="introtpl_a" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_a">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--售后服务-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="e-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">售后服务</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$after_sale->name}">
+                                <input id="ee-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$after_sale->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_e" class="btn btn-danger plupload" data-input-id="ee-files" data-mimetype="*" data-multiple="true" data-preview-id="e-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_e" class="btn btn-primary fachoose" data-input-id="ee-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="b-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="e-files" data-template="introtpl_e" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_e">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+
+
+</div>

+ 48 - 0
application/admin/view/solution/knowledge/add.html

@@ -0,0 +1,48 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50"></textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 48 - 0
application/admin/view/solution/knowledge/edit.html

@@ -0,0 +1,48 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text" value="{$row.type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text" value="{$row.title|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50">{$row.content|htmlentities}</textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 370 - 0
application/admin/view/solution/knowledge/index.html

@@ -0,0 +1,370 @@
+<style>
+    .upload-image {
+        background: url('__CDN__/assets/addons/example/img/plus.png') no-repeat center center;
+        background-size: 30px 30px;
+        height: 30px;
+        width: 30px;
+        border: 1px solid #ccc;
+    }
+</style>
+<div class="row">
+    <!--    幻灯片-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="aaa-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">幻灯片</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$iantern_slide->name}">
+                                <input id="a-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$iantern_slide->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files" class="btn btn-danger plupload" data-input-id="a-files" data-mimetype="*" data-multiple="true" data-preview-id="aa-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files" class="btn btn-primary fachoose" data-input-id="a-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="a-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="aa-files" data-template="introtpl" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--方案架构-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="first-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">方案架构</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$product_differentiation->name}">
+                                <input id="c-images" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$product_differentiation->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-images" class="btn btn-danger plupload" data-input-id="c-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-images" class="btn btn-primary fachoose" data-input-id="c-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="p-images" data-template="desctpl" data-name="row[content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[content]" class="form-control" style="margin-top:5px;display: none">{$product_differentiation->content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="desctpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--方案亮点-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="product_function-form1" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">方案亮点</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$system_introduction->name}">
+                                <input id="e-images" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$system_introduction->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-product_function2" class="btn btn-danger plupload" data-input-id="e-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="product_function-images2"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-product_function2" class="btn btn-primary fachoose" data-input-id="e-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="product_function-images2" data-template="product_function2" data-name="row[system_introduction_content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[system_introduction_content]" class="form-control" style="margin-top:5px;display: none">{$system_introduction->system_introduction_content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="product_function2">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[system_introduction_content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[system_introduction_content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--技术框架以及技术亮点-->
+    <div class="col-md-6">
+        <div class="box box-info">
+            <div class="panel-heading">
+                技术框架以及技术亮点
+            </div>
+            <div class="panel-body">
+<!--                <div class="alert alert-danger-light">-->
+<!--                    <b>温馨提示</b><br>-->
+<!--                    默认我们的fieldlist只有一维数组,为键值形式,如果需要二维数组,可使用下面的自定义模板来实现<br>-->
+<!--                    默认追加的元素是没有进行事件绑定的,我们需要监听btn-append这个按钮的fa.event.appendfieldlist事件<br>-->
+<!--                    <b>下面的演示textarea为了便于调试,设置为可见的,实际使用中应该添加个hidden的class进行隐藏</b>-->
+<!--                </div>-->
+                <form id="second-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">技术框架以及技术亮点</label>
+                        <div class="col-xs-12">
+                            <table class="table fieldlist" data-template="basictpl" data-name="row[basic]" id="first-table">
+                                <tr>
+                                    <td>{:__('标题')}</td>
+                                    <td>{:__('介绍')}</td>
+<!--                                    <td>{:__('大小')}</td>-->
+<!--                                    <td>{:__('状态')}</td>-->
+                                    <td width="100"></td>
+                                </tr>
+                                <tr>
+                                    <td colspan="5"><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Append')}</a></td>
+                                </tr>
+                            </table>
+
+                            <!--请注意实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[basic]" class="form-control" cols="30" rows="5" style="display: none">{$added_services.content}</textarea>
+                            <script id="basictpl" type="text/html">
+                                <tr class="form-inline">
+                                    <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$added_services->name}">
+                                    <input class="form-control" name="row[image]" type="hidden" value="{$added_services->image}">
+                                    <td><input type="text" name="<%=name%>[<%=index%>][title]" class="form-control" size="15" value="<%=row.title%>" placeholder="标题"/></td>
+                                    <td><input type="text" name="<%=name%>[<%=index%>][intro]" class="form-control" size="15" value="<%=row.intro%>" placeholder="介绍"/></td>
+<!--                                    <td><input type="text" name="<%=name%>[<%=index%>][size]" class="form-control" style="width:50px" value="<%=row.size%>" placeholder="大小"/></td>-->
+<!--                                    <td>-->
+<!--                                        <input type="hidden" name="<%=name%>[<%=index%>][state]" id="c-state-<%=index%>" class="form-control" style="width:50px" value="<%=row.state%>" placeholder="状态"/>-->
+<!--                                        <a href="javascript:;" data-toggle="switcher" class="btn-switcher" data-input-id="c-state-<%=index%>" data-yes="1" data-no="0" >-->
+<!--                                            <i class="fa fa-toggle-on text-success <%if(row.state==0){%>fa-flip-horizontal text-gray<%}%> fa-2x"></i>-->
+<!--                                        </a>-->
+<!--                                    </td>-->
+                                    <td>
+                                        <!--下面的两个按钮务必保留-->
+                                        <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>
+                                        <span class="btn btn-sm btn-primary btn-dragsort"><i class="fa fa-arrows"></i></span>
+                                    </td>
+                                </tr>
+                            </script>
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+
+    </div>
+    <!--应用场景-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="product_features-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">应用场景</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$scheme_highlights->name}">
+                                <input id="c-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$scheme_highlights->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_product_features" class="btn btn-danger plupload" data-input-id="c-files" data-mimetype="*" data-multiple="true" data-preview-id="p-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_product_features" class="btn btn-primary fachoose" data-input-id="c-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-files"></span>
+                            </div>
+
+                            <!--                            ul需要添加 data-template和data-name属性,并一一对应且唯一-->
+                            <ul class="row list-inline plupload-preview" id="p-files" data-template="introtpl_product_features" data-name="row[scheme_highlights_content]"></ul>
+                            <!--                            请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[scheme_highlights_content]" class="form-control" style="margin-top:5px;display:none;">{$scheme_highlights->scheme_highlights_content}</textarea>
+
+                            <!--                            这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_product_features">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[scheme_highlights_content][<%=index%>]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--                            这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--售后服务-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="product_function-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">售后服务</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$after_sale->name}">
+                                <input id="d-images" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$after_sale->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-product_function" class="btn btn-danger plupload" data-input-id="d-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="product_function-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-product_function" class="btn btn-primary fachoose" data-input-id="d-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="product_function-images" data-template="product_function" data-name="row[after_sale_content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[after_sale_content]" class="form-control" style="margin-top:5px;display: none">{$after_sale->after_sale_content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="product_function">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[after_sale_content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[after_sale_content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--售后服务-->
+<!--    <div class="col-md-6">-->
+<!--        <div class="box box-success">-->
+<!--            <div class="panel-body">-->
+<!--                <form id="e-form" role="form" data-toggle="validator" method="POST" action="">-->
+<!--                    <div class="form-group row">-->
+<!--                        <label class="control-label col-xs-12">售后服务</label>-->
+<!--                        <div class="col-xs-12">-->
+<!--                            <div class="input-group">-->
+<!--                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$after_sale->name}">-->
+<!--                                <input id="ee-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$after_sale->image}">-->
+<!--                                <div class="input-group-addon no-border no-padding">-->
+<!--                                    <span><button type="button" id="plupload-files_e" class="btn btn-danger plupload" data-input-id="ee-files" data-mimetype="*" data-multiple="true" data-preview-id="e-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>-->
+<!--                                    <span><button type="button" id="fachoose-files_e" class="btn btn-primary fachoose" data-input-id="ee-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>-->
+<!--                                </div>-->
+<!--                                <span class="msg-box n-right" for="b-files"></span>-->
+<!--                            </div>-->
+
+<!--                            &lt;!&ndash;ul需要添加 data-template和data-name属性,并一一对应且唯一 &ndash;&gt;-->
+<!--                            <ul class="row list-inline plupload-preview" id="e-files" data-template="introtpl_e" data-name="row[image]"></ul>-->
+<!--                            &lt;!&ndash;请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏&ndash;&gt;-->
+
+<!--                            &lt;!&ndash;这里自定义图片预览的模板 开始&ndash;&gt;-->
+<!--                            <script type="text/html" id="introtpl_e">-->
+<!--                                <li class="col-xs-3">-->
+<!--                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">-->
+<!--                                        <img src="<%=fullurl%>" class="img-responsive">-->
+<!--                                    </a>-->
+<!--                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>-->
+<!--                                </li>-->
+<!--                            </script>-->
+<!--                            &lt;!&ndash;这里自定义图片预览的模板 结束&ndash;&gt;-->
+<!--                        </div>-->
+<!--                    </div>-->
+<!--                    <div class="form-group row">-->
+<!--                        <label class="control-label col-xs-12"></label>-->
+<!--                        <div class="col-xs-12">-->
+<!--                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>-->
+<!--                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>-->
+<!--                        </div>-->
+<!--                    </div>-->
+
+<!--                </form>-->
+<!--            </div>-->
+<!--        </div>-->
+<!--    </div>-->
+
+
+</div>

+ 48 - 0
application/admin/view/solution/shop/add.html

@@ -0,0 +1,48 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50"></textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 48 - 0
application/admin/view/solution/shop/edit.html

@@ -0,0 +1,48 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-type" class="form-control" name="row[type]" type="text" value="{$row.type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-title" class="form-control" name="row[title]" type="text" value="{$row.title|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content" class="form-control editor" rows="5" name="row[content]" cols="50">{$row.content|htmlentities}</textarea>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-image"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-image"></ul>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 299 - 0
application/admin/view/solution/shop/index.html

@@ -0,0 +1,299 @@
+<style>
+    .upload-image {
+        background: url('__CDN__/assets/addons/example/img/plus.png') no-repeat center center;
+        background-size: 30px 30px;
+        height: 30px;
+        width: 30px;
+        border: 1px solid #ccc;
+    }
+</style>
+<div class="row">
+    <!--    幻灯片-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="aaa-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">幻灯片</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$iantern_slide->name}">
+                                <input id="a-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$iantern_slide->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files" class="btn btn-danger plupload" data-input-id="a-files" data-mimetype="*" data-multiple="true" data-preview-id="aa-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files" class="btn btn-primary fachoose" data-input-id="a-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="a-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="aa-files" data-template="introtpl" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--系统介绍-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="product_features-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">系统介绍</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$system_introduction->name}">
+                                <input id="c-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$system_introduction->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_product_features" class="btn btn-danger plupload" data-input-id="c-files" data-mimetype="*" data-multiple="true" data-preview-id="p-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_product_features" class="btn btn-primary fachoose" data-input-id="c-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-files"></span>
+                            </div>
+
+                            <!--                            ul需要添加 data-template和data-name属性,并一一对应且唯一-->
+                            <ul class="row list-inline plupload-preview" id="p-files" data-template="introtpl_product_features" data-name="row[system_introduction_content]"></ul>
+                            <!--                            请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[system_introduction_content]" class="form-control" style="margin-top:5px;display:none;">{$system_introduction->system_introduction_content}</textarea>
+
+                            <!--                            这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_product_features">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[system_introduction_content][<%=index%>]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--                            这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--产品差异化-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="first-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">产品差异化</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$product_differentiation->name}">
+                                <input id="c-images" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$product_differentiation->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-images" class="btn btn-danger plupload" data-input-id="c-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-images" class="btn btn-primary fachoose" data-input-id="c-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="p-images" data-template="desctpl" data-name="row[content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[content]" class="form-control" style="margin-top:5px;display: none">{$product_differentiation->content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="desctpl">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--方案亮点-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="product_function-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">方案亮点</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$scheme_highlights->name}">
+                                <input id="d-images" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$scheme_highlights->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-product_function" class="btn btn-danger plupload" data-input-id="d-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="product_function-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-product_function" class="btn btn-primary fachoose" data-input-id="d-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="c-images"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="product_function-images" data-template="product_function" data-name="row[scheme_highlights_content]"></ul>
+
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+                            <textarea name="row[scheme_highlights_content]" class="form-control" style="margin-top:5px;display: none">{$scheme_highlights->scheme_highlights_content}</textarea>
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="product_function">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <input type="text" name="row[scheme_highlights_content][<%=index%>][info]" class="form-control mb-1" placeholder="请输入标题" value="<%=value?value['info']:''%>"/>
+                                    <input type="text" name="row[scheme_highlights_content][<%=index%>][describe]" class="form-control mb-1" placeholder="请输入描述" value="<%=value?value['describe']:''%>"/>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--一站式三方增值服务-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">一站式三方增值服务</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$added_services->name}">
+                                <input id="b-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$added_services->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_a" class="btn btn-danger plupload" data-input-id="b-files" data-mimetype="*" data-multiple="true" data-preview-id="bb-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_a" class="btn btn-primary fachoose" data-input-id="b-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="b-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="bb-files" data-template="introtpl_a" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_a">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+    <!--售后服务-->
+    <div class="col-md-6">
+        <div class="box box-success">
+            <div class="panel-body">
+                <form id="e-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12">售后服务</label>
+                        <div class="col-xs-12">
+                            <div class="input-group">
+                                <input data-rule="required" class="form-control" name="row[name]" type="hidden" value="{$after_sale->name}">
+                                <input id="ee-files" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$after_sale->image}">
+                                <div class="input-group-addon no-border no-padding">
+                                    <span><button type="button" id="plupload-files_e" class="btn btn-danger plupload" data-input-id="ee-files" data-mimetype="*" data-multiple="true" data-preview-id="e-files"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                                    <span><button type="button" id="fachoose-files_e" class="btn btn-primary fachoose" data-input-id="ee-files" data-mimetype="*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                                </div>
+                                <span class="msg-box n-right" for="b-files"></span>
+                            </div>
+
+                            <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 -->
+                            <ul class="row list-inline plupload-preview" id="e-files" data-template="introtpl_e" data-name="row[image]"></ul>
+                            <!--请注意 ul和textarea间不能存在其它任何元素,实际开发中textarea应该添加个hidden进行隐藏-->
+
+                            <!--这里自定义图片预览的模板 开始-->
+                            <script type="text/html" id="introtpl_e">
+                                <li class="col-xs-3">
+                                    <a href="<%=fullurl%>" data-url="<%=url%>" target="_blank" class="thumbnail">
+                                        <img src="<%=fullurl%>" class="img-responsive">
+                                    </a>
+                                    <a href="javascript:;" class="btn btn-danger btn-xs btn-trash"><i class="fa fa-trash"></i></a>
+                                </li>
+                            </script>
+                            <!--这里自定义图片预览的模板 结束-->
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label class="control-label col-xs-12"></label>
+                        <div class="col-xs-12">
+                            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+                            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+                        </div>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+    </div>
+
+
+</div>

+ 133 - 5
application/api/controller/Community.php

@@ -3,10 +3,20 @@
 namespace app\api\controller;
 
 use app\common\controller\Api;
+use app\common\model\CooperationConfiguration;
 use app\common\model\Document;
+use app\common\model\Cooperation;
+use app\common\model\DownloadLink;
+use app\common\model\VersionComparison;
+use app\common\model\Visit;
+use app\common\model\VisitConfiguration;
 
+/**
+ * 社区接口
+ */
 class Community extends Api
 {
+//    protected $noNeedLogin = ['document,teaching_video'];
     protected $noNeedLogin = ['*'];
 
     /**
@@ -18,14 +28,132 @@ class Community extends Api
      * 文档
      */
     public function document(){
+        $type = 0;
+
         $data = Document::all();
-        foreach ($data as $key => $value){
-            if($value->ismenu && empty($value->pid)){
-                $value->aaa = 123;
-                echo $value;
+//        {
+//            $query->where(['ismenu'=>1,'pid'=>0,'belong'=>0])->field('id,pid,title,ismenu');
+//        });
+//        $data->array();
+        foreach ($data as $key => &$value){
+            $value = $value->toArray();
+            $z = Document::all(['pid'=>$value['id']]);
+            foreach ($z as $k => &$v) {
+                    $v = $v->toArray();
+                    array_push($value,$v);
+                    $x = Document::all(['pid'=>$v['id'],'ismenu'=>0]);
+                foreach ($x as $ke=>&$va){
+                    $va = $va->toArray();
+                    array_push($v,$va);
+                }
             }
         }
-//        $this->success('返回成功', $this->request->param());
+//            foreach ($z as $k=>&$v){
+//                $res = Document::all(['pid'=>$v['id']]);
+////                if($res){
+////                    foreach ($res as $va){
+////                        echo "<pre>";
+////                        print_r($va);
+////                        exit;
+////                        array_push($v,$va);
+////                    }
+////                }
+//                echo "<pre>";
+                print_r($data);
+//            }
+//            array_push($value,$z);
+//        }
+//        $this->success('返回成功', $data['data']);
+    }
+    //
+    /**
+     * 成为合作伙伴
+     * @ApiParams (name="token")
+     * @ApiParams (name="name",description="姓名")
+     * @ApiParams (name="phone",description="联系方式")
+     * @ApiParams (name="company",description="公司名称")
+     */
+    public function become_cooperation(){
+        $rule = [
+            'name|姓名'=>'require',
+            'phone|联系方式'=>'require',
+            'company|公司名称'=>'require',
+        ];
+        $data = $this->_validate($rule);
 
+        $data['uid'] = $this->auth->id;
+        Cooperation::create($data)?$this->success('提交成功'):$this->error('提交失败');
+    }
+    /**
+     * 预约参观公司
+     * @ApiParams (name="token")
+     * @ApiParams (name="name",description="称呼")
+     * @ApiParams (name="phone",description="手机号")
+     * @ApiParams (name="visit_time",description="参观时间")
+     */
+    public function visit(){
+        $rule = [
+            'name|称呼'=>'require',
+            'phone|手机号'=>'require',
+            'visit_time|参观时间'=>'require',
+        ];
+        $data = $this->_validate($rule);
+
+        $data['uid'] = $this->auth->id;
+        Visit::create($data)?$this->success('提交成功'):$this->error('提交失败');
+    }
+    /**
+     * 下载地址
+     */
+    public function download_link(){
+        $link = DownloadLink::all();
+        foreach ($link as &$value){
+            $value['image'] = explode(',',$value['image']);
+        }
+        $this->success('请求成功',$link);
+    }
+
+    /**
+     * 版本对比
+     */
+    public function version_comparison(){
+        $link = VersionComparison::all();
+        foreach ($link as &$value){
+            $value['image'] = explode(',',$value['image']);
+        }
+        $this->success('请求成功',$link);
+    }
+
+    /**
+     * 版本更新
+     */
+    public function version_updating(){
+        $res = VersionComparison::all();
+
+    }
+    /**
+     * 论坛
+     */
+    public function luntan(){
+    }
+    /**
+     * 成为合作伙伴
+     */
+    public function cooperation_configuration(){
+        $res = CooperationConfiguration::all();
+        foreach ($res as $k=>&$v){
+            $v['image'] = explode(',',$v['image']);
+        }
+        $this->success('请求成功',$res);
+    }
+    /**
+     * 参观公司
+     */
+    public function visit_configuration(){
+        $res = VisitConfiguration::all();
+        foreach ($res as $k=>&$v){
+            $v['image'] = explode(',',$v['image']);
+        }
+        $this->success('请求成功',$res);
     }
 }

+ 33 - 4
application/api/controller/Index.php

@@ -3,21 +3,50 @@
 namespace app\api\controller;
 
 use app\common\controller\Api;
+use app\common\model\ApplicationPresentation;
+use app\common\model\Home;
+use think\Exception;
 
 /**
- * 首页接口
+ * 首页
  */
 class Index extends Api
 {
-    protected $noNeedLogin = ['*'];
+    protected $noNeedLogin = ['index'];
     protected $noNeedRight = ['*'];
 
     /**
-     * 首页
+     * 首页配置
      *
      */
     public function index()
     {
-        $this->success('请求成功2');
+        $this->success('请求成功',Home::all());
+    }
+    /**
+     *  申请演示
+     * @ApiMethod("POST")
+     * @ApiHeaders (name="token")
+     * @ApiParams (name="name", description="用户名")
+     * @ApiParams (name="mobile", description="联系方式")
+     */
+    public function application_presentation(){
+        $rule = [
+            'name|用户名' => 'require',
+            'mobile|联系方式' => 'require'
+        ];
+        $data = input();
+        $val = $this->validate($data,$rule);
+        if (!is_bool($val)){
+            return $val;
+        }
+        try {
+            $data['uid'] = $this->auth->id;
+            ApplicationPresentation::create($data);
+            $this->success('申请成功');
+        }catch (Exception $e){
+            $this->error($e);
+            return false;
+        }
     }
 }

+ 108 - 0
application/api/controller/Pricing.php

@@ -0,0 +1,108 @@
+<?php
+
+namespace app\api\controller;
+
+use app\common\controller\Api;
+use app\common\model\Goods;
+use app\common\model\DiscountCoupon;
+use addons\epay\controller\Index;
+use app\common\model\Order;
+use app\common\model\Cart;
+use think\Exception;
+use think\Db;
+
+/**
+ * 定价接口
+ */
+class Pricing extends Api
+{
+
+    protected $noNeedLogin = ['goodslist'];
+    protected $noNeedRight = ['*'];
+
+    /**
+     *定价产品列表
+     */
+    public function goodslist(){
+        $list = Goods::field('id,name,price,retail,image')->select();
+        $list?$this->success('请求成功',$list):$this->error('请求失败',$list);
+    }
+    /**
+     *定价产品详情
+     */
+    public function gooddetail(){
+        $gooddetail = Goods::where('id',input('id'))->field('id,name,price,retail,image,after_sale')->find();
+        $gooddetail?$this->success('请求成功',$gooddetail):$this->error('请求失败',$gooddetail);
+    }
+    /**
+     * 定价产品下单支付
+     */
+    public function place_order(){
+        if(input('deploy_type') && empty(input('deploy'))){
+            $this->error('请填写授权部署信息');
+        }
+        $data = [
+            'uid' => $this->auth->id,
+            'type' => 1,
+            'goods_id' => input('goods_id'),
+            'goods_name' => Goods::where('id',input('goods_id'))->value('name'),
+            'order_no' => $this->pay_no($this->auth->id),
+            'amount_real' => input('amount_real'),
+            'discount_id' => input('discount_id'),
+            'discount' => DiscountCoupon::where('id',input('discount_id'))->value('price'),
+            'payment_type' => input('payment_type'),
+            'number_goods' => input('number_goods'),
+            'deploy_type' => input('deploy_type'),
+            'deploy' => input('deploy'),
+        ];
+        Db::startTrans();
+        try {
+            Order::create($data);
+//            $this->pay_order($data['amount_real'],$data['order_no'],$data['payment_type'],$data['goods_name'],'scan');
+            Db::commit();
+        }catch (Exception $exception){
+            Db::rollback();
+            $this->error($exception);
+            return false;
+        }
+    }
+    /**
+     * 定价产品支付
+     */
+    public function pay_order($amount,$orderid,$type,$title,$method){
+
+        $params = [
+            'amount'=>$amount,
+            'orderid'=>$orderid,
+            'type'=>$type,//可选alipay或wechat
+            'title'=>$title,
+            'notifyurl'=>"回调地址",
+            'returnurl'=>"返回地址",
+            'method'=>$method
+//            'openid'=>"用户的OpenID",
+//            'auth_code'=>"验证码"
+        ];
+        \addons\epay\library\Service::submitOrder($params);
+    }
+    /**
+     * 生成订单号
+     */
+    public function pay_no($uid){
+        $time_str = date('YmdHi');
+        $pay_no = 'PAY'.$time_str . rand(00000,99999).$uid;
+        return $pay_no;
+    }
+    /**
+     * 加入购物车
+     */
+    public function add_cart(){
+        $cart = Cart::get(['user_id'=>$this->auth->id,'goods_id'=>input('goods_id')]);
+        if ($cart){
+            $cart->setInc('num',1);
+            $this->success('添加成功');
+        }else{
+            Cart::create(['user_id'=>$this->auth->id,'goods_id'=>input('goods_id')]);
+            $this->success('添加成功');
+        }
+    }
+}

+ 6 - 21
application/api/controller/Product.php

@@ -6,6 +6,9 @@ use app\common\controller\Api;
 use app\common\model\ProductEcmall;
 use app\common\model\ProductPro;
 
+/**
+ * 产品接口
+ */
 class Product extends Api
 {
 
@@ -15,31 +18,13 @@ class Product extends Api
      * 多商户列表
      */
     public function Ecmall(){
-        $iantern_slide = ProductEcmall::all(['type'=>'iantern_slide']);
-        $product_fram = ProductEcmall::all(['type'=>'product_fram']);
-        $product_features = ProductEcmall::all(['type'=>'product_features']);
-        $product_function = ProductEcmall::all(['type'=>'product_function']);
-        $case_show = ProductEcmall::all(['type'=>'case_show']);
-        $system_performance = ProductEcmall::all(['type'=>'system_performance']);
-        $study = ProductEcmall::all(['type'=>'study']);
-
-        $data = ['幻灯片'=>$iantern_slide,'产品优势'=>$product_fram,'产品亮点'=>$product_features,'产品功能'=>$product_function,'案例展示'=>$case_show,'系统性能'=>$system_performance,'学习'=>$study];
-        $this->success('请求成功',$data);
+        $this->success('请求成功',ProductEcmall::all());
     }
 
     /**
-     * 商户列表
+     * 单商户列表
      */
     public function Pro(){
-        $iantern_slide = ProductPro::all(['type'=>'iantern_slide']);
-        $product_fram = ProductPro::all(['type'=>'product_fram']);
-        $product_features = ProductPro::all(['type'=>'product_features']);
-        $product_function = ProductPro::all(['type'=>'product_function']);
-        $case_show = ProductPro::all(['type'=>'case_show']);
-        $system_performance = ProductPro::all(['type'=>'system_performance']);
-        $study = ProductPro::all(['type'=>'study']);
-
-        $data = ['幻灯片'=>$iantern_slide,'产品优势'=>$product_fram,'产品亮点'=>$product_features,'产品功能'=>$product_function,'案例展示'=>$case_show,'系统性能'=>$system_performance,'学习'=>$study];
-        $this->success('请求成功',$data);
+        $this->success('请求成功',ProductPro::all());
     }
 }

+ 38 - 0
application/api/controller/Solution.php

@@ -0,0 +1,38 @@
+<?php
+
+namespace app\api\controller;
+
+use app\common\controller\Api;
+use app\common\model\SolutionShop;
+use app\common\model\SolutionForeign;
+use app\common\model\SolutionKnowledge;
+
+/**
+ * 解决方案
+ */
+class Solution extends Api
+{
+
+    protected $noNeedLogin = ['*'];
+
+    /**
+     * 门店解决方案
+     */
+    public function solution_shop(){
+        $this->success('请求成功',SolutionShop::all());
+    }
+
+    /**
+     * 外贸解决方案
+     */
+    public function solution_foreign(){
+        $this->success('请求成功',SolutionForeign::all());
+    }
+
+    /**
+     * 知识付费解决方案
+     */
+    public function solution_knowledge(){
+        $this->success('请求成功',SolutionKnowledge::all());
+    }
+}

+ 31 - 31
application/api/controller/User.php

@@ -110,24 +110,24 @@ class User extends Api
     public function register()
     {
         $username = $this->request->post('username');
-        $password = $this->request->post('password');
-        $email = $this->request->post('email');
+//        $password = $this->request->post('password');
+//        $email = $this->request->post('email');
         $mobile = $this->request->post('mobile');
         $code = $this->request->post('code');
-        if (!$username || !$password) {
+        if (!$username) {
             $this->error(__('Invalid parameters'));
         }
-        if ($email && !Validate::is($email, "email")) {
-            $this->error(__('Email is incorrect'));
-        }
+//        if ($email && !Validate::is($email, "email")) {
+//            $this->error(__('Email is incorrect'));
+//        }
         if ($mobile && !Validate::regex($mobile, "^1\d{10}$")) {
             $this->error(__('Mobile is incorrect'));
         }
-        $ret = Sms::check($mobile, $code, 'register');
-        if (!$ret) {
-            $this->error(__('Captcha is incorrect'));
-        }
-        $ret = $this->auth->register($username, $password, $email, $mobile, []);
+//        $ret = Sms::check($mobile, $code, 'register');
+//        if ($ret != 8888) {
+//            $this->error(__('Captcha is incorrect'));
+//        }
+        $ret = $this->auth->register($username, $mobile, []);
         if ($ret) {
             $data = ['userinfo' => $this->auth->getUserinfo()];
             $this->success(__('Sign up successful'), $data);
@@ -309,7 +309,7 @@ class User extends Api
         if (!Validate::make()->check(['newpassword' => $newpassword], ['newpassword' => 'require|regex:\S{6,30}'])) {
             $this->error(__('Password must be 6 to 30 characters'));
         }
-        if ($type == 'mobile') {
+//        if ($type == 'mobile') {
             if (!Validate::regex($mobile, "^1\d{10}$")) {
                 $this->error(__('Mobile is incorrect'));
             }
@@ -317,25 +317,25 @@ class User extends Api
             if (!$user) {
                 $this->error(__('User not found'));
             }
-            $ret = Sms::check($mobile, $captcha, 'resetpwd');
-            if (!$ret) {
-                $this->error(__('Captcha is incorrect'));
-            }
-            Sms::flush($mobile, 'resetpwd');
-        } else {
-            if (!Validate::is($email, "email")) {
-                $this->error(__('Email is incorrect'));
-            }
-            $user = \app\common\model\User::getByEmail($email);
-            if (!$user) {
-                $this->error(__('User not found'));
-            }
-            $ret = Ems::check($email, $captcha, 'resetpwd');
-            if (!$ret) {
-                $this->error(__('Captcha is incorrect'));
-            }
-            Ems::flush($email, 'resetpwd');
-        }
+//            $ret = Sms::check($mobile, $captcha, 'resetpwd');
+//            if (!$ret) {
+//                $this->error(__('Captcha is incorrect'));
+//            }
+//            Sms::flush($mobile, 'resetpwd');
+//        } else {
+//            if (!Validate::is($email, "email")) {
+//                $this->error(__('Email is incorrect'));
+//            }
+//            $user = \app\common\model\User::getByEmail($email);
+//            if (!$user) {
+//                $this->error(__('User not found'));
+//            }
+//            $ret = Ems::check($email, $captcha, 'resetpwd');
+//            if (!$ret) {
+//                $this->error(__('Captcha is incorrect'));
+//            }
+//            Ems::flush($email, 'resetpwd');
+//        }
         //模拟一次登录
         $this->auth->direct($user->id);
         $ret = $this->auth->changepwd($newpassword, '', true);

+ 13 - 0
application/common/controller/Api.php

@@ -327,4 +327,17 @@ class Api
         //刷新Token
         $this->request->token();
     }
+    /**
+     * 验证
+     */
+    protected function _validate($rules)
+    {
+        $data = input();
+        $msg = $this->validate($data, $rules);
+        if (is_bool($msg) && $msg) {
+            return $data;
+        } else {
+            $this->error($msg);
+        }
+    }
 }

+ 17 - 17
application/common/library/Auth.php

@@ -131,21 +131,21 @@ class Auth
      * @param array  $extend   扩展参数
      * @return boolean
      */
-    public function register($username, $password, $email = '', $mobile = '', $extend = [])
+    public function register($username, $mobile = '', $extend = [])
     {
         // 检测用户名、昵称、邮箱、手机号是否存在
-        if (User::getByUsername($username)) {
-            $this->setError('Username already exist');
-            return false;
-        }
-        if (User::getByNickname($username)) {
-            $this->setError('Nickname already exist');
-            return false;
-        }
-        if ($email && User::getByEmail($email)) {
-            $this->setError('Email already exist');
-            return false;
-        }
+//        if (User::getByUsername($username)) {
+//            $this->setError('Username already exist');
+//            return false;
+//        }
+//        if (User::getByNickname($username)) {
+//            $this->setError('Nickname already exist');
+//            return false;
+//        }
+//        if ($email && User::getByEmail($email)) {
+//            $this->setError('Email already exist');
+//            return false;
+//        }
         if ($mobile && User::getByMobile($mobile)) {
             $this->setError('Mobile already exist');
             return false;
@@ -156,8 +156,8 @@ class Auth
 
         $data = [
             'username' => $username,
-            'password' => $password,
-            'email'    => $email,
+//            'password' => $password,
+//            'email'    => $email,
             'mobile'   => $mobile,
             'level'    => 1,
             'score'    => 0,
@@ -173,8 +173,8 @@ class Auth
             'prevtime'  => $time,
             'status'    => 'normal'
         ]);
-        $params['password'] = $this->getEncryptPassword($password, $params['salt']);
-        $params = array_merge($params, $extend);
+//        $params['password'] = $this->getEncryptPassword($password, $params['salt']);
+//        $params = array_merge($params, $extend);
 
         //账号注册时需要开启事务,避免出现垃圾数据
         Db::startTrans();

+ 40 - 0
application/common/model/ApplicationPresentation.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class ApplicationPresentation extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'application_presentation';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+}

+ 10 - 0
application/common/model/Cart.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+class Cart extends Model
+{
+
+}

+ 44 - 0
application/common/model/Cooperation.php

@@ -0,0 +1,44 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class Cooperation extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'cooperation';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+    public function user()
+    {
+        return $this->belongsTo('User', 'uid', 'id', [], 'LEFT')->setEagerlyType(0);
+    }
+}

+ 40 - 0
application/common/model/CooperationConfiguration.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class CooperationConfiguration extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'cooperation_configuration';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+}

+ 10 - 0
application/common/model/DiscountCoupon.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+class DiscountCoupon extends Model
+{
+
+}

+ 1 - 0
application/common/model/Document.php

@@ -54,4 +54,5 @@ class Document extends Model
 
 
 
+
 }

+ 40 - 0
application/common/model/DownloadLink.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class DownloadLink extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'download_link';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+}

+ 40 - 0
application/common/model/Goods.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class Goods extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'goods';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+}

+ 40 - 0
application/common/model/Home.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class Home extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'home';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+}

+ 49 - 0
application/common/model/Order.php

@@ -0,0 +1,49 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class Order extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'order';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+        'status_text'
+    ];
+    
+
+    
+    public function getStatusList()
+    {
+        return ['255' => __('Status 255')];
+    }
+
+
+    public function getStatusTextAttr($value, $data)
+    {
+        $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+        $list = $this->getStatusList();
+        return isset($list[$value]) ? $list[$value] : '';
+    }
+
+
+
+
+}

+ 40 - 0
application/common/model/SolutionForeign.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class SolutionForeign extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'solution_foreign';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+}

+ 40 - 0
application/common/model/SolutionKnowledge.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class SolutionKnowledge extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'solution_knowledge';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+}

+ 40 - 0
application/common/model/SolutionShop.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class SolutionShop extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'solution_shop';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+}

+ 40 - 0
application/common/model/VersionComparison.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class VersionComparison extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'version_comparison';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+}

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff