dever 6 năm trước cách đây
mục cha
commit
efa8dfac50

+ 4 - 1
assets/layadmin/html/project/database/list.html

@@ -4,6 +4,7 @@
 <html>
 <head>
   <script class="include" system="" path="inc/" file="head">include()</script>
+  <link rel="stylesheet" href="../script/lib/layui/admin/modules/plugin/formselects/formselects.css" media="all" />
 </head>
 <body>
 <style id="addstyle">
@@ -89,10 +90,12 @@
   layui.config({
     base: '../script/lib/layui/admin/' //静态资源所在路径
   }).extend({
+    formSelects: 'plugin/formselects/formselects',
     index: 'lib/index' //主入口模块
-  }).use(['index', 'contlist', 'table', 'form'], function(){
+  }).use(['index', 'contlist', 'table', 'form', 'formSelects'], function(){
     var table = layui.table;
     var form = layui.form; 
+    var formSelects = layui.formSelects;
 
     table.render({
       elem: '#table'

+ 17 - 11
assets/layadmin/html/project/database/update.html

@@ -4,8 +4,9 @@
 <html>
 <head>
   <script class="include" system="" path="inc/" file="head">include()</script>
+<link rel="stylesheet" href="../script/lib/layui/admin/modules/plugin/formselects/formselects.css" media="all" />
   <style>
-    .layui-input
+    .layui-input,.xm-select-parent
     {
       width: 50%;
     }
@@ -116,27 +117,32 @@
     </div>
     <div id="valid"></div>
     <div id="struct" style="display:none;"></div>
-
-    <script>
-        $(document).ready(function()
-        {
-          init();
-        });
-    </script>
     </form>
   </div>
 </div>
 
   
   <script class="include" system="" path="inc/" file="script">include()</script>
-  <script>
+  <script id="update_script">
   layui.config({
     base: '../script/lib/layui/admin/' //静态资源所在路径
   }).extend({
-    index: 'lib/index' //主入口模块
-  }).use(['index', 'contlist', 'table', 'form'], function(){
+    index: 'lib/index', //主入口模块
+    formSelects: 'plugin/formselects/formselects'
+  }).use(['index', 'contlist', 'table', 'form', 'formSelects'], function(){
     var table = layui.table;
     var form = layui.form; 
+    var formSelects = layui.formSelects;
+
+    /*
+    $('select').each(function() {
+        if ($(this).attr('xm-value')) {
+          formSelects.value($(this).attr('xm-select'), $(this).attr('xm-value'));
+        }
+    });
+    */
+
+    init();
   });
   </script>
 </body>

+ 52 - 0
database/admin.php

@@ -233,6 +233,40 @@ return array
 			//'update'	=> 'map',
 			'search'	=> 'fulltext',
 			//'list'		=> true,
+
+			//自定义编辑器右侧按钮
+			'editor'	=> array
+			(
+				'name' => '选择插入模块',
+				'button' => array
+				(
+					array
+					(
+						# 名称
+						'name' => '图片',
+						# 资源库id
+						'key' => 1,
+						# 类型
+						'type' => 'image',
+					),
+					array
+					(
+						'name' => '音频',
+						'key' => 2,
+						'type' => 'media',
+					),
+					array
+					(
+						'name' => '视频',
+						'key' => 'video/lib/core.vod',
+					),
+					array
+					(
+						'name' => '直播',
+						'key' => 'video/lib/core.live',
+					),
+				),
+			),
 		),
 
 		# 三级地区联动
@@ -430,6 +464,24 @@ return array
 			'edit' => array('审核', 'name'),
 		),
 		*/
+
+
+		/*
+		'insert' => false,
+		'edit' => false,
+		//'delete' => false,
+
+		# 自定义快捷新增和编辑
+		'button' => array
+		(
+			'新增' => array('fast', 'name,reorder'),
+		),
+		# 快捷更新
+		'list_button' => array
+		(
+			'edit' => array('编辑', 'name,reorder'),
+		),
+		*/
 	),
 	
 	# 更新表结构

+ 12 - 5
src/Database.php

@@ -560,11 +560,7 @@ class Database
                     $config['manage']['_list']['value']['update'] = '编辑';
                 }
             }
-            if (!isset($config['manage']['delete']) || (isset($config['manage']['delete']) && $config['manage']['delete'] == true)) {
-                if (!isset($config['manage']['list_button']['delete'])) {
-                    $config['manage']['_list']['value']['delete'] = '删除';
-                }
-            }
+            
             if (isset($config['manage']['list'][0]) && is_array($config['manage']['list'][0])) {
                 $config['manage']['_list']['value'] += $config['manage']['list'][0];
                 unset($config['manage']['list'][0]);
@@ -572,6 +568,12 @@ class Database
                 $config['manage']['_list']['value'] += $config['manage']['list_button'];
             }
 
+            if (!isset($config['manage']['delete']) || (isset($config['manage']['delete']) && $config['manage']['delete'] == true)) {
+                if (!isset($config['manage']['list_button']['delete'])) {
+                    $config['manage']['_list']['value']['delete'] = '删除';
+                }
+            }
+
             if (!$config['manage']['_list']['value']) {
                 unset($config['manage']['_list']);
             }
@@ -930,6 +932,8 @@ class Database
             if (is_array($v)) {
                 if ($v[0] == 'location') {
                     $result .= '&nbsp;&nbsp;<a class="btn btn-default layui-btn layuiadmin-btn-list" onclick="location.href=\''.Dever::url($v[1]).'\'">' . $k . '</a>';
+                } elseif ($v[0] == 'fast') {
+                    $result .= '&nbsp;&nbsp;<a class="btn btn-default layui-btn layuiadmin-btn-list" href="javascript:;" onclick="fastEdit($(this),\''.$this->url('add').'\',\''.$k.'\', \'\')">' . $k . '</a>';
                 } else {
                     $result .= '&nbsp;&nbsp;<a class="btn btn-default layui-btn layuiadmin-btn-list" href="' . $this->url($v[0], false, $v[1]) . '">' . $k . '</a>';
                 }
@@ -2048,6 +2052,9 @@ class Database
                         $class .= ' layui-btn-xs';
                     }
                     if (strpos($kj, 'edit') !== false) {
+                        if (!isset($vj[1])) {
+                            $vj[1] = '';
+                        }
                         $result .= '<a href="javascript:;" onclick="fastEdit($(this), \'' . $this->url($kj, $data['id']) . '\', \''.$vj[0].'\', \''.$vj[1].'\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 '.$class.'">' . $vj[0] . '</button></a>&nbsp;&nbsp;';
                     } elseif (strpos($kj, 'oper') !== false) {
                         $result .= '<a href="javascript:;" onclick="load(\'' . Dever::url($pj) . '\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 '.$class.'">' . $vj[0] . '</button></a>&nbsp;&nbsp;';

+ 49 - 1
src/Lib/Input.php

@@ -605,6 +605,16 @@ class Input
         return $html;
     }
 
+    /**
+     * select
+     *
+     * @return string
+     */
+    public static function _selects($param, $class = '', $hidden = '', $change = '')
+    {
+        return self::_select($param, $class, $hidden, $change);
+    }
+
     /**
      * select
      *
@@ -634,7 +644,45 @@ class Input
 
             $child_class .= ' change';
         }
-        $html .= $hidden . '<select class="update_value form-control ' . $child_class . '  ' . (isset($param['valid']) ? $param['valid'] : '') . '" name="' . $param['name'] . '" id="' . $param['name'] . '"  ' . $change . '>';
+        $xm = '';
+
+        if ($change) {
+            $xm = '';
+        } else {
+            $xm = 'xm-select="' . $param['name'] . '" xm-select-skin="normal"';
+        }
+        
+        if (isset($param['update'])) {
+            
+            if ($param['update'] == 'selects') {
+                $xm .= 'xm-select-search="" xm-select-search-type="dl"';
+            } else {
+                $xm .= ' xm-select-radio=""';
+            }
+
+            $search_value = '';
+            if (isset($param['value'])) {
+                $search_value = $param['value'];
+            } elseif (isset($param['default'])) {
+                $search_value = $param['default'];
+            }
+
+            if (isset($param['update_search'])) {
+                $xm = str_replace('xm-select-search=""', 'xm-select-search="'.Dever::url($param['update_search'] . '&yes='.$search_value.'&json=1').'"', $xm);
+            }
+
+            if (isset($param['update_create'])) {
+                $xm .= ' xm-select-create=""';
+            }
+
+            if ($param['match'] != 'option') {
+                $xm .= ' lay-verify="' . $param['name'] . '"';
+            }
+        } else {
+            $xm .= ' xm-select-radio=""';
+        }
+        
+        $html .= $hidden . '<select '.$xm.' class="update_value form-control ' . $child_class . '  ' . (isset($param['valid']) ? $param['valid'] : '') . '" name="' . $param['name'] . '" id="' . $param['name'] . '"  ' . $change . '>';
 
         if (isset($param['option'])) {
             if (isset($param['lang']) && $param['lang']) {