rabin 3 år sedan
förälder
incheckning
a6b362302a
4 ändrade filer med 318 tillägg och 85 borttagningar
  1. 1 1
      assets/layadmin/html/inc/script.html
  2. 93 3
      database/admin.php
  3. 223 80
      src/Database.php
  4. 1 1
      src/Lib/Input.php

+ 1 - 1
assets/layadmin/html/inc/script.html

@@ -39,4 +39,4 @@
 <script type="text/javascript" src="../script/lib/excel/excel.js?v16"></script>
 
 <!-- 加载主要js,很乱,后续优化 -->
-<script type="text/javascript" src="../script/lib/manage/main.js?v208"></script>
+<script type="text/javascript" src="../script/lib/manage/main.js?v209"></script>

+ 93 - 3
database/admin.php

@@ -269,7 +269,7 @@ return array
 			'list'		=> true,
 		),
 
-		//当前的字段属于另外一个表,主要不要有type
+		//当前的字段属于另外一个表,主要不要有type,当name不存在时,此处直接复用整个role_test表里的struct
 		'manage-role_test-name'=> array
 		(
 			'name' 		=> '测试名',
@@ -277,11 +277,98 @@ return array
 			'desc' 		=> '请输入角色名',
 			'match' 	=> 'option',
 			'update'	=> 'text',//直接复制name的值
-			# 同步更新另外一个表的内容,两个表相关联的id,更新另一个表的字段
+			# 同步更新另外一个表的内容,两个表相关联的id,更新另一个表的字段,当前表、关联表
 			'sync'		=> array('id', 'role_id'),
 			'list'		=> true,
+			//'list'      => 'Dever::load("setting/role-find#name", "{manage-role_test-name}")',
 		),
-		*/
+		//同时设置另外一个表的数据,设置同上,只有update的值不同
+		'manage-role_test' => array
+        (
+            'type'      => 'text-1000',
+            'name'      => '属性设置',
+            'default'   => '',
+            'desc'      => '属性设置',
+            'match'     => 'is_string',
+            'sync'      => array('id', 'category_id'),
+            'update'    => array(1),
+        ),
+		
+		'text'       => array
+        (
+            'type'      => 'text-1000',
+            'name'      => '文字设置',
+            'default'   => '',
+            'desc'      => '文字设置',
+            'match'     => 'is_string',
+            'option'    => $text,
+            'update'    => array
+            (
+                array
+                (
+                    'col'       => 'name',
+                    'name'      => '文字内容',
+                    'default'   => '',
+                    'desc'      => '文字内容',
+                    'match'     => 'is_string',
+                    'update'    => 'textarea',
+                ),
+
+                array
+                (
+                    'col'       => 'color',
+                    'name'      => '文字颜色',
+                    'default'   => '#000000',
+                    'desc'      => '文字颜色',
+                    'match'     => 'is_string',
+                    'update'    => 'color',
+                ),
+
+                array
+                (
+                    'col'       => 'bgcolor_type',
+                    'name'      => '是否设置背景颜色',
+                    'default'   => '2',
+                    'desc'      => '是否设置背景颜色',
+                    'match'     => 'is_string',
+                    'update'    => 'radio',
+                    'option'    => $bgcolor_type,
+                    'control'   => 'bgcolor_type',
+                ),
+
+                array
+                (
+                    'col'       => 'bgcolor',
+                    'name'      => '背景颜色',
+                    'default'   => '#000000',
+                    'desc'      => '背景颜色',
+                    'match'     => 'is_string',
+                    'update'    => 'color',
+                    'show'      => 'bgcolor_type=1'
+                ),
+
+                array
+                (
+                    'col'       => 'size',
+                    'name'      => '文字大小-直接输入像素数字',
+                    'default'   => '16',
+                    'desc'      => '结果描述',
+                    'match'     => 'is_numeric',
+                    'update'    => 'text',
+                ),
+
+                array
+                (
+                    'col'      => 'goods_id',
+                    'name'      => '选择商品',
+                    'default'   => '',
+                    'desc'      => '选择商品',
+                    'match'     => 'option',
+                    'update'    => 'select',
+                    'update_search' => 'goods/lib/manage.search',
+                ),
+            ),
+        ),
 	
 		
 		#设置分割条
@@ -572,6 +659,9 @@ return array
 
 	'manage' => array
 	(
+		# 图片上传后调用的接口
+        //'upload' => 'shop/lib/sign.upload?sign=1',
+
 		# 开启语言包模式
 		//'lang' => 'name',
 		# 开启tab模式

+ 223 - 80
src/Database.php

@@ -2031,7 +2031,9 @@ class Database
                                 $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', array('option_' . $v['sync'][3] => $vi[$v['sync'][2]], 'option_' . $v['sync'][4] => $vi[$v['sync'][0]]));
                             }
                             
-                            $data[$ki][$k] = $vi[$k] = isset($load[$temp[2]]) ? $load[$temp[2]] : $v['default'];
+                            if (isset($temp[2])) {
+                                $data[$ki][$k] = $vi[$k] = isset($load[$temp[2]]) ? $load[$temp[2]] : $v['default'];
+                            }
                         }
                         if (true) {
                             $value = $vi[$k];
@@ -2320,7 +2322,10 @@ class Database
                         $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', $lw);
                     }
                     
-                    $data[$k][$ki] = $v[$ki] = isset($load[$temp[2]]) ? $load[$temp[2]] : $vi['default'];
+                    if (isset($temp[2])) {
+                        $data[$k][$ki] = $v[$ki] = isset($load[$temp[2]]) ? $load[$temp[2]] : $vi['default'];
+                    }
+                    
                 } elseif (strpos($k, 'dever_') !== false) {
                     continue;
                 } elseif (strpos($k, 'option_') !== false) {
@@ -2567,7 +2572,9 @@ class Database
                             $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', $lw);
                         }
                         
-                        $data[$k][$ki] = $v[$ki] = isset($load[$temp[2]]) ? $load[$temp[2]] : $vi['default'];
+                        if (isset($temp[2])) {
+                            $data[$k][$ki] = $v[$ki] = isset($load[$temp[2]]) ? $load[$temp[2]] : $vi['default'];
+                        }
                     }
 
                     if (isset($vi['list']) && $vi['list']) {
@@ -3246,6 +3253,9 @@ class Database
             $upload_call = $this->value($config['manage']['upload'], $data);
         }
         foreach ($config['struct'] as $k => $v) {
+            if (isset($config['manage']['lang']) && isset($v['sync']) && strpos($k, '-')) {
+                continue;
+            }
             $state = false;
             if ($tab == 0) {
                 if (!isset($v['tab']) || (isset($v['tab']) && $v['tab'] == $tab)) {
@@ -3270,7 +3280,7 @@ class Database
                     }
                 }
                 $index = $k;
-                if ($prefix) {
+                if ($prefix && !strstr($k, '-')) {
                     $k = $prefix . '_' . $k;
                 }
                 # 处理show模式下的class
@@ -3286,7 +3296,7 @@ class Database
                     $result[$k] = '<div class="layui-form-item ' . $class . '" '.$style.'><div classs="layui-col-lg6">';
 
                     if (is_array($v['update'])) {
-                        $result[$k] = '<div class="layui-form-item ' . $class . '" '.$style.'><div class="layui-tab-card">';
+                        $result[$k] = '<div class="layui-form-item ' . $class . '" '.$style.'><div class="layui-tab layui-tab-card">';
                     }
                 }
 
@@ -3294,7 +3304,7 @@ class Database
                     $v['upload_call'] = $upload_call . '&key=' . $k;
                 }
 
-                $result[$k] .= $this->create_update_html($k, $v, $data);
+                $result[$k] .= $this->create_update_html($k, $v, $data, false, $prefix);
 
                 $result[$k] .= '</div></div>';
 
@@ -3399,7 +3409,7 @@ class Database
      *
      * @return string
      */
-    public function create_update_html($key, $value, $data = array(), $index = false)
+    public function create_update_html($key, $value, $data = array(), $index = false, $prefix = '')
     {
         $result = '';
 
@@ -3427,7 +3437,7 @@ class Database
         if (!$index) {
             $index = $key;
         }
-        $this->update_html($value, $key, $index, $data, $result);
+        $this->update_html($value, $key, $index, $data, $result, $prefix);
 
         return $result;
     }
@@ -3437,13 +3447,14 @@ class Database
      *
      * @return string
      */
-    public function update_html($param, $key, $index, $data, &$result)
+    public function update_html($param, $key, $index, $data, &$result, $prefix = '')
     {
         if (isset($param['name']) && $param['update'] != 'hidden' && isset($param['update'])) {
             $result .= Html::pageLeft($param);
         }
 
         if ($param['update']) {
+            $order = true;
             # 名称带前缀
             $param['name'] = 'update_' . $param['ext'];
             $param['index'] = $index;
@@ -3484,15 +3495,38 @@ class Database
             }
 
             # 处理同步
-            if (isset($param['sync']) && isset($data[$param['sync'][0]]) && strpos($key, '-')) {
+            if (isset($param['sync']) && strpos($key, '-')) {
                 $temp = explode('-', $key);
-                if ($data[$param['sync'][0]] > 0) {
-                    $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', array('option_' . $param['sync'][1] => $data[$param['sync'][0]]));
-                } else {
-                    $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', array('option_' . $param['sync'][3] => $data[$param['sync'][2]], 'option_' . $param['sync'][4] => $data[$param['sync'][0]]));
+                if (isset($data[$param['sync'][0]])) {
+                    if (isset($temp[2])) {
+                        $m = 'one';
+                    } else {
+                        $m = 'select';
+                    }
+                    if ($data[$param['sync'][0]] > 0) {
+                        $load = Dever::load($temp[0] . '/' . $temp[1] . '-' . $m, array('option_' . $param['sync'][1] => $data[$param['sync'][0]], 'order' => array('id' => 'asc')));
+                    } else {
+                        $load = Dever::load($temp[0] . '/' . $temp[1] . '-' . $m, array('option_' . $param['sync'][3] => $data[$param['sync'][2]], 'option_' . $param['sync'][4] => $data[$param['sync'][0]], 'order' => array('id' => 'asc')));
+                    }
+                    if ($m == 'one') {
+                        $param['value'] = isset($load[$temp[2]]) ? $load[$temp[2]] : $param['default'];
+                    } else {
+                        $param['value'] = $load;
+                    }
+                }
+                if (!isset($temp[2])) {
+                    $order = false;
+                    $config = Dever::db($temp[0] . '/' . $temp[1])->config;
+                    $param['update'] = $config['struct'];
+                    if (isset($config['manage']['tab'])) {
+                        $param['prefix'] = $prefix;
+                        $param['tab'] = $config['manage']['tab'];
+                        if (isset($config['manage']['tab'])) {
+                            $param['lang'] = $config['manage']['lang'];
+                        }
+                    }
+                    //$param['value'] = Dever::db($temp[0] . '/' . $temp[1]);
                 }
-
-                $param['value'] = isset($load[$temp[2]]) ? $load[$temp[2]] : $param['default'];
             }
 
             $method = $param['update'];
@@ -3506,7 +3540,7 @@ class Database
                 $delete = true;
                 if (isset($param['option'])) {
                     $delete = false;
-                    $result .= '<ul class="nav nav-tabs '.$c.'">{tab}</ul>';
+                    $result .= '<ul class="nav nav-tabs '.$c.'" style="height:100%;">{tab}</ul>';
 
                     $order = array
                     (
@@ -3536,23 +3570,25 @@ class Database
                     }
 
                 } else {
-                    $result .= '<ul class="nav nav-tabs '.$c.'">{tab}<li><a href="javascript:;" class="dever_form_add" toggle_key="' . $key . '">增加一条</a></li></ul>';
+                    $result .= '<ul class="nav nav-tabs '.$c.'" style="height:100%;">{tab}<li style="margin:0px;padding:0 15px;"><a href="javascript:;" class="dever_form_add" toggle_key="' . $key . '">增加一条</a></li></ul>';
 
-                    $order = array
-                    (
-                        'col'       => 'order',
-                        'name'      => '排序-按照数字正序排列',
-                        'default'   => '1',
-                        'desc'      => '排序',
-                        'match'     => 'is_string',
-                        'update'    => 'text',
-                    );
-                    array_unshift($method, $order);
+                    if ($order) {
+                        $order = array
+                        (
+                            'col'       => 'order',
+                            'name'      => '排序-按照数字正序排列',
+                            'default'   => '1',
+                            'desc'      => '排序',
+                            'match'     => 'is_string',
+                            'update'    => 'text',
+                        );
+                        array_unshift($method, $order);
+                    }
                 }
 
                 $tab = '';
 
-                $this->update_child(array(), $method, $key, $result, -1, $delete);
+                $this->update_child(array(), $method, $key, $result, -1, $param, $delete);
 
                 if (isset($param['value']) && $param['value']) {
 
@@ -3567,7 +3603,7 @@ class Database
                             if (is_string($k)) {
                                 $k = $i;
                             }
-                            $this->update_child($v, $method, $key, $result, $k, $delete);
+                            $this->update_child($v, $method, $key, $result, $k, $param, $delete);
 
                             $active = '';
                             if ($k == 0) {
@@ -3580,15 +3616,15 @@ class Database
                             if (!is_string($n)) {
                                 $n = '第' . $k . '条';
                             }
-                            $tab .= '<li class="' . $active . '"><a href="javascript:;" id="tab-' . $key . '-child-' . $k . '" toggle_key="' . $key . '" toggle_id="' . $k . '" toggle_child=".dever_' . $key . '_child" toggle="#' . $key . '-child-' . $k . '" onclick="showToggle($(this))">'.$n.'</a></li>';
+                            $tab .= '<li class="' . $active . '" style="margin:0px;padding:0 15px;"><a href="javascript:;" id="tab-' . $key . '-child-' . $k . '" toggle_key="' . $key . '" toggle_id="' . $k . '" toggle_child=".dever_' . $key . '_child" toggle="#' . $key . '-child-' . $k . '" onclick="showToggle($(this))">'.$n.'</a></li>';
                             $i++;
                         }
                     }
                     
                 } else {
-                    $this->update_child(array(), $method, $key, $result, 0, $delete);
+                    $this->update_child(array(), $method, $key, $result, 0, $param, $delete);
 
-                    $tab = '<li class="active layui-this"><a href="javascript:;" id="tab-' . $key . '-child-1" toggle_key="' . $key . '" toggle_id="1" toggle_child=".dever_' . $param['col'] . '_child" toggle="#' . $key . '-child-1" onclick="showToggle($(this))">第1条</a></li>';
+                    $tab = '<li class="active layui-this" style="margin:0px;padding:0 15px;"><a href="javascript:;" id="tab-' . $key . '-child-1" toggle_key="' . $key . '" toggle_id="1" toggle_child=".dever_' . $param['col'] . '_child" toggle="#' . $key . '-child-1" onclick="showToggle($(this))">第1条</a></li>';
                 }
 
                 $result = str_replace('{tab}', $tab, $result);
@@ -3619,45 +3655,109 @@ class Database
      *
      * @return array
      */
-    private function update_child($data, $param, $key, &$result, $index, $delete = true)
+    private function update_child($data, $param, $key, &$result, $index, $config, $delete = true)
     {
-        $style = 'style="margin:10px"';
-        if ($index != 0) {
-            $style = 'style="display:none;margin:10px"';
-        }
-        $result .= '<div id="' . $key . '-child-' . ($index + 1) . '" class="dever_' . $key . '_child dever_form_add_child" ' . $style . '>';
+        if (isset($config['tab']) && $config['tab']) {
+            if ($index != 0) {
+                $style = 'display:none;';
+            } else {
+                $style = '';
+            }
+            $result .= '<div class="layui-tab layui-tab-brief dever_' . $key . '_child dever_form_add_child" lay-filter="component-tabs-brief" style="'.$style.'" id="' . $key . '-child-' . ($index + 1) . '"><ul class="layui-tab-title">';
+            $tab = '<div class="layui-tab-content">';
+            $i = 0;
+            foreach ($config['tab'] as $k => $v) {
+                $content = $this->update_child_data($data, $param, $key, $index, $k, $config);
+                if ($content) {
+                    $class_0 = $class_1 = '';
+                    if ($i == 0) {
+                        $class_0 = 'layui-this';
+                        $class_1 = 'layui-show';
+                    }
+                    $result .= '<li class="'.$class_0.'">'.$v.'</li>';
+                    $tab .= '<div class="layui-tab-item '.$class_1.'">'.$content.'</div>';
+                    $i++;
+                }
+            }
+            $tab .= '</div>';
+            $result .= '</ul>' . $tab . '</div>';
+        } else {
+            $style = 'margin:10px;';
+            if ($index != 0) {
+                $style = 'display:none;margin:10px;';
+            }
+            $result .= '<div id="' . $key . '-child-' . ($index + 1) . '" class="dever_' . $key . '_child dever_form_add_child" style="' . $style . '">';
 
-        if ($delete) {
-            $result .= '<div class="dever_form_delete">[删除]</div>';
+            if ($delete) {
+                $result .= '<div class="dever_form_delete" style="cursor:pointer">[删除]</div>';
+            }
+            $result .= $content = $this->update_child_data($data, $param, $key, $index, -1, $config);
+            $result .= '</div>';
         }
+    }
 
+    private function update_child_data($data, $param, $key, $index, $tab = -1, $config = array())
+    {
+        $result = '';
         foreach ($param as $k => $v) {
-            $v['type'] = $v['update'];
-
-            $prefix = '';
-            if ($index < 0) {
-                $v['ext'] = $key . '_c_' . $v['col'];
-                $prefix = $v['ext'];
-            } else {
-                $v['ext'] = $key . '_c_' . $index . '_i_' . $v['col'];
-                $prefix = $v['ext'];
+            if (is_string($k)) {
+                $v['col'] = $k;
             }
-
-            if ($v['col'] == 'order') {
-                $v['default'] = $index+1;
+            if ($this->id && $v['col'] == 'id') {
+                $v['update'] = 'hidden';
+            }
+            if (!isset($v['update'])) {
+                continue;
             }
-
             
-            $class = $this->update_class($v['col'], $v, $prefix);
+            if (isset($config['prefix']) && $config['prefix']) {
+                if (isset($config['lang']) && $config['lang'] && !in_array($v['col'], $config['lang'])) {
+                    continue;
+                }
+                $v['col'] = $config['prefix'] . '_' . $v['col'];
+            }
+            $state = false;
+            if ($tab == 0) {
+                if (!isset($v['tab']) || (isset($v['tab']) && $v['tab'] == $tab)) {
+                    $state = true;
+                }
+            } elseif ($tab > 0) {
+                if (isset($v['tab']) && $v['tab'] == $tab) {
+                    $state = true;
+                }
+            } else {
+                $state = true;
+            }
+            if (isset($v['update']) && $v['update'] && $state) {
+                
+                $v['type'] = $v['update'];
 
-            $result .= '<div class="form-group ' . $class . '" style="margin-top:10px">';
+                $prefix = '';
+                if ($index < 0) {
+                    $v['ext'] = $key . '_c_' . $v['col'];
+                    $prefix = $v['ext'];
+                } else {
+                    $v['ext'] = $key . '_c_' . $index . '_i_' . $v['col'];
+                    $prefix = $v['ext'];
+                }
 
-            $this->update_html($v, $key, $v['col'], $data, $result);
+                if ($v['col'] == 'order') {
+                    $v['default'] = $index+1;
+                }
+                $class = $this->update_class($v['col'], $v, $prefix);
 
-            $result .= '</div>';
+                if ($v['update'] == 'hidden') {
+                    $result .= '<div class="form-group ' . $class . '">';
+                    $this->update_html($v, $key, $v['col'], $data, $result);
+                    $result .= '</div>';
+                } else {
+                    $result .= '<div class="form-group ' . $class . '" style="margin-top:10px">';
+                    $this->update_html($v, $key, $v['col'], $data, $result);
+                    $result .= '</div>';
+                }
+            }
         }
-
-        $result .= '</div>';
+        return $result;
     }
 
     /**
@@ -3752,7 +3852,8 @@ class Database
                         $v = '';
                     }
                     $temp = explode('_c_', $k);
-                    $k = str_replace('update_', $prefix . '_', $temp[0]);
+                    $h = $temp[0];
+                    $k = str_replace('update_', $prefix . '_', $h);
                     if (!isset($c[$k])) {
                         $c[$k] = array();
                     }
@@ -3767,9 +3868,34 @@ class Database
 
                         $num = $c[$k][$temp[1]];
 
-                        $update[$i][$k][$num][$temp[1]] = $v;
-                        if ($temp[1] == 'order') {
-                            $order[$i][$k][$num] = $v;
+                        if (strpos($h, '-')) {
+                            $h = str_replace('update_', '', $h);
+                            if (isset($config['struct'][$h]) && isset($config['struct'][$h]['sync'])) {
+                                $s_col = $config['struct'][$h]['sync'][0];
+                                $m_col = $config['struct'][$h]['sync'][1];
+                                if ($s_col == 'id') {
+                                    $s_value = $this->id;
+                                } else {
+                                    $s_one = $this->load('one', $this->id);
+                                    $s_value = $s_one[$s_col];
+                                }
+                                $t = explode('-', $h);
+                                $index = $t[0] . '/' . $t[1];
+
+                                $update_col[$i][$index] = $m_col;
+                                $update_set[$i][$index][$num][$temp[1]] = $v;
+                                $update_add[$i][$index][$num][$temp[1]] = $v;
+                                $update_add[$i][$index][$num][$m_col] = $s_value;
+                                $update_id[$i][$index][$num][$m_col] = $s_value;
+                                if ($this->id && $temp[1] == 'id') {
+                                    $update_id[$i][$index][$num]['id'] = $v;
+                                }
+                            }
+                        } else {
+                            $update[$i][$k][$num][$temp[1]] = $v;
+                            if ($temp[1] == 'order') {
+                                $order[$i][$k][$num] = $v;
+                            }
                         }
                     } else {
                         //$update[$i][$k][$c][$temp[1]] = $v;
@@ -3810,13 +3936,16 @@ class Database
                                 $temp = explode('-', $k);
                                 $index = $temp[0] . '/' . $temp[1];
 
-                                $update_set[$index]['set_' . $temp[2]] = $v;
-                                //$update_set[$index]['set_' . $m_col] = $s_value;
+                                if (isset($temp[2])) {
+                                    $update_col[$i][$index] = $m_col;
+                                    $update_set[$i][$index][0][$temp[2]] = $v;
+                                    //$update_set[$i][$index][0][$m_col] = $s_value;
 
-                                $update_add[$index]['add_' . $temp[2]] = $v;
-                                $update_add[$index]['add_' . $m_col] = $s_value;
+                                    $update_add[$i][$index][0][$temp[2]] = $v;
+                                    $update_add[$i][$index][0][$m_col] = $s_value;
 
-                                $update_id[$index]['option_' . $m_col] = $s_value;
+                                    $update_id[$i][$index][0][$m_col] = $s_value;
+                                }
                             }
                         } else {
                             if (is_array($v)) {
@@ -3845,7 +3974,9 @@ class Database
                     }
                 }
             }
-
+            //print_r($update_set);
+            //print_r($update_id);
+            //print_r($update_add);
             //print_r($update_set);die;
             //print_r($input);
             //print_r($update_other);
@@ -3892,17 +4023,29 @@ class Database
                             $this->load($method, $v1, $this->table . '__' . $k1);
                         }
                     }
-                }
 
-                if (isset($update_id) && $update_id) {
-                    foreach ($update_set as $k => $v) {
-                        $check = Dever::load($k . '-one', $update_id[$k]);
-                        //print_r($check);die;
-                        if ($check) {
-                            $v['where_id'] = $check['id'];
-                            Dever::load($k . '-update', $v);
-                        } else {
-                            Dever::load($k . '-insert', $update_add[$k]);
+                    if (isset($update_id[$k]) && $update_id[$k]) {
+                        foreach ($update_set[$k] as $k1 => $v1) {
+                            $col = $update_col[$k][$k1];
+                            foreach ($v1 as $k2 => $v2) {
+                                if (isset($update_id[$k][$k1][$k2][$col])) {
+                                    $update_id[$k][$k1][$k2][$col] = $id;
+                                }
+                                if (isset($update_add[$k][$k1][$k2][$col])) {
+                                    $update_add[$k][$k1][$k2][$col] = $id;
+                                }
+                                if (isset($v2[$col])) {
+                                    $v2[$col] = $id;
+                                }
+                                $check = Dever::load($k1 . '-one', $update_id[$k][$k1][$k2]);
+                                if ($check) {
+                                    unset($v2['id']);
+                                    $v2['where_id'] = $check['id'];
+                                    Dever::load($k1 . '-update', $v2);
+                                } else {
+                                    Dever::load($k1 . '-insert', $update_add[$k][$k1][$k2]);
+                                }
+                            }
                         }
                     }
                 }

+ 1 - 1
src/Lib/Input.php

@@ -25,7 +25,7 @@ class Input
                 }
                 
                 if ((isset($param[0]['type']) && $param[0]['type'] == 'hidden')) {
-                    $result = '<div class="layui-inline" style="margin: 0;">'.$result.'</div>';
+                    $result = '<div class="layui-inline" style="display:none;">'.$result.'</div>';
                 } elseif (isset($param[1]) && !$param[1] && ((isset($param[0]['update']) && $param[0]['update'] != 'hidden') || !isset($param[0]['update']))) {
                     $result = '<div class="layui-inline"><div class="layui-input-inline">'.$result.'</div></div>';
                 } else {