dever hace 3 años
padre
commit
fd52784d70
Se han modificado 2 ficheros con 53 adiciones y 1 borrados
  1. 39 0
      database/admin.php
  2. 14 1
      src/Database.php

+ 39 - 0
database/admin.php

@@ -252,6 +252,45 @@ return array
 		),
 
 		# 比较特殊的一些设置,不断添加中:
+
+		/*
+		//启用复制其他字段的值
+		'testname'		=> array
+		(
+			'type' 		=> 'varchar-24',
+			'name' 		=> '角色名',
+			'default' 	=> '',
+			'desc' 		=> '请输入角色名',
+			'match' 	=> 'is_string',
+			'update'	=> 'copy.name',//直接复制name的值
+			'search'	=> 'order,fulltext',
+			'list'		=> true,
+		),
+
+		//当前的字段属于另外一个表,主要不要有type
+		'manage-role_test-name'=> array
+		(
+			'name' 		=> '测试名',
+			'default' 	=> '',
+			'desc' 		=> '请输入角色名',
+			'match' 	=> 'option',
+			'update'	=> 'text',//直接复制name的值
+			# 同步更新另外一个表的内容,两个表相关联的id,更新另一个表的字段
+			'sync'		=> array('id', 'role_id'),
+			'list'		=> true,
+		),
+		*/
+	
+		
+		#设置分割条
+		/*
+		'hr1'		=> array
+		(
+			'name' 		=> '基本信息',
+			'class'		=> '',//本项必须填写
+			'attr'		=> '',
+		),
+		*/
 		/*
 		'cate'		=> array
 		(

+ 14 - 1
src/Database.php

@@ -2147,6 +2147,19 @@ class Database
             $pg = Dever::input('pg', 1);
             $cur = Dever::input('search_limit', 0);
             $num = $this->getNumConfig($config);
+
+            # 新增排序
+            $list_order = $view_order = array();
+            foreach ($config['struct'] as $ki => $vi) {
+                if (isset($v1['list_order'])) {
+                    $list_order[] = $v1['list_order'];
+                } else {
+                    $list_order[] = 1;
+                }
+            }
+            if ($list_order) {
+                //array_multisort($list_order, SORT_DESC, SORT_NUMERIC, $config['struct']);
+            }
             foreach ($data as $k => $v) {
                 $data[$k] = $this->getAdminInfo($data[$k]);
                 $data[$k]['i'] = $i;
@@ -2177,7 +2190,7 @@ class Database
                     if (isset($vi['sync']) && strpos($ki, '-')) {
                         $temp = explode('-', $ki);
                         $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', array('option_' . $vi['sync'][1] => $v[$vi['sync'][0]]));
-                        $v[$ki] = isset($load[$temp[2]]) ? $load[$temp[2]] : $vi['default'];
+                        $data[$k][$ki] = $v[$ki] = isset($load[$temp[2]]) ? $load[$temp[2]] : $vi['default'];
                     }
 
                     if (isset($vi['list']) && $vi['list']) {