|
@@ -37,11 +37,7 @@ class MakeAdmin extends Command
|
|
|
|
|
|
private $deleteTimeField = 'delete_time';
|
|
|
private $addTimeField = 'add_time';
|
|
|
-
|
|
|
- /**
|
|
|
- * Enum类型识别为单选框的结尾字符,默认会识别为单选下拉列表
|
|
|
- */
|
|
|
- protected $enumRadioSuffix = ['state', 'status'];
|
|
|
+ private $sortField = 'sort';
|
|
|
|
|
|
/**
|
|
|
* Int类型识别为日期时间的结尾字符,默认会识别为日期文本框
|
|
@@ -53,10 +49,6 @@ class MakeAdmin extends Command
|
|
|
*/
|
|
|
protected $intListSuffix = ['images', 'ids', 'list'];
|
|
|
|
|
|
- /**
|
|
|
- * 开关后缀
|
|
|
- */
|
|
|
- protected $switchSuffix = ['switch'];
|
|
|
|
|
|
protected function configure()
|
|
|
{
|
|
@@ -67,6 +59,7 @@ class MakeAdmin extends Command
|
|
|
->addOption('hidden', 'x', Option::VALUE_OPTIONAL, 'hidden fields', null)
|
|
|
->addOption('force', 'f', Option::VALUE_OPTIONAL, 'force replace file', null)
|
|
|
->addOption('delete', 'd', Option::VALUE_OPTIONAL, 'delete all files', null)
|
|
|
+ ->addOption('sort', 's', Option::VALUE_OPTIONAL, 'sort field', null)
|
|
|
->setDescription('Create a new table class');
|
|
|
}
|
|
|
|
|
@@ -81,6 +74,7 @@ class MakeAdmin extends Command
|
|
|
$force = $input->getOption('force');
|
|
|
$hidden = $input->getOption('hidden');
|
|
|
$delete = $input->getOption('delete');
|
|
|
+ $sortField = $input->getOption('sort');
|
|
|
$hidden = str_replace(',', ',', $hidden);
|
|
|
$hidden = explode(',', $hidden);
|
|
|
array_push($hidden, $this->deleteTimeField);
|
|
@@ -205,6 +199,7 @@ class MakeAdmin extends Command
|
|
|
$searchFieldAttr = [];
|
|
|
$validateMessage = [];
|
|
|
$createParams = [];
|
|
|
+ $order = '';
|
|
|
|
|
|
//循环所有字段,开始构造视图的HTML和JS信息
|
|
|
foreach ($columnList as $k => $v) {
|
|
@@ -243,6 +238,9 @@ class MakeAdmin extends Command
|
|
|
}
|
|
|
$this->searchAttr($searchFieldAttr, 'time');
|
|
|
$exportAttr[$field] = $langList[$field] ?? '添加时间';
|
|
|
+ } else if ($sortField && $field == $sortField || !$sortField && $field == $this->sortField) {
|
|
|
+ $exportAttr[$field] = $langList[$field] ?? '排序';
|
|
|
+ $order = 'protected $order = ' . "'{$field} desc,{$priKey} desc';";
|
|
|
} else {
|
|
|
$inputType = $this->getFieldType($v);
|
|
|
// 如果默认值非null,则是一个必选项
|
|
@@ -313,6 +311,7 @@ class MakeAdmin extends Command
|
|
|
'createParams' => implode(",\n\t", $createParams),
|
|
|
'searchFieldAttr' => implode(",\n\t", $searchFieldAttr),
|
|
|
'searchAttrList' => implode("\n\n", $searchAttr),
|
|
|
+ 'order' => $order
|
|
|
];
|
|
|
|
|
|
// 生成控制器文件
|
|
@@ -682,17 +681,9 @@ EOD;
|
|
|
$inputType = 'datetime';
|
|
|
}
|
|
|
// 指定后缀结尾且类型为enum,说明是个单选框
|
|
|
- if ($this->isMatchSuffix($fieldsName, $this->enumRadioSuffix) && $v['DATA_TYPE'] == 'enum') {
|
|
|
- $inputType = "select";
|
|
|
- }
|
|
|
- // 指定后缀结尾且类型为enum,说明是个单选框
|
|
|
if ($this->isMatchSuffix($fieldsName, $this->intListSuffix)) {
|
|
|
$inputType = "list";
|
|
|
}
|
|
|
- // 指定后缀结尾且类型为char或tinyint且长度为1,说明是个Switch复选框
|
|
|
- if ($this->isMatchSuffix($fieldsName, $this->switchSuffix) && ($v['COLUMN_TYPE'] == 'tinyint(1)' || $v['COLUMN_TYPE'] == 'char(1)') && $v['COLUMN_DEFAULT'] !== '' && $v['COLUMN_DEFAULT'] !== null) {
|
|
|
- $inputType = "select";
|
|
|
- }
|
|
|
return $inputType;
|
|
|
}
|
|
|
|