diff --git a/extend/catcher/CatchModelCollection.php b/extend/catcher/CatchModelCollection.php index 63231cf..e62f85e 100644 --- a/extend/catcher/CatchModelCollection.php +++ b/extend/catcher/CatchModelCollection.php @@ -22,7 +22,7 @@ class CatchModelCollection extends Collection */ public function toTree($pid = 0, $pidField = 'parent_id', $children = 'children'): array { - return Tree::done($this->items, $pid, $pidField, $children); + return Tree::done($this->toArray(), $pid, $pidField, $children); } diff --git a/extend/catcher/base/CatchModel.php b/extend/catcher/base/CatchModel.php index c47b7e4..fc7e2c5 100644 --- a/extend/catcher/base/CatchModel.php +++ b/extend/catcher/base/CatchModel.php @@ -46,6 +46,6 @@ abstract class CatchModel extends \think\Model */ public function hasField(string $field) { - return property_exists($this, 'field') ? in_array($field, $this->field) : false; + return property_exists($this, 'field') && in_array($field, $this->field); } } diff --git a/extend/catcher/generate/support/Table.php b/extend/catcher/generate/support/Table.php index 4a84eb8..903c798 100644 --- a/extend/catcher/generate/support/Table.php +++ b/extend/catcher/generate/support/Table.php @@ -92,7 +92,7 @@ class Table self::getTable()->drop(); - return self::exist(); + return ! self::exist(); } /** diff --git a/extend/catcher/library/ProgressBar.php b/extend/catcher/library/ProgressBar.php index 55b45b9..a794eb9 100644 --- a/extend/catcher/library/ProgressBar.php +++ b/extend/catcher/library/ProgressBar.php @@ -100,9 +100,9 @@ declare(strict_types=1); { $left = $this->total - $this->current; - $empty = str_repeat(' ', $left * $this->average); + $empty = str_repeat(' ', intval($left * $this->average)); - $bar = str_repeat('>', $this->current * $this->average); + $bar = str_repeat('>', intval($this->current * $this->average)); $percent = ((int)(sprintf('%.2f', $this->current/$this->total) * 100)) . '%'; diff --git a/extend/catcher/library/form/Form.php b/extend/catcher/library/form/Form.php index 1be6599..600131c 100644 --- a/extend/catcher/library/form/Form.php +++ b/extend/catcher/library/form/Form.php @@ -14,6 +14,7 @@ namespace catcher\library\form; use catcher\exceptions\FailedException; +use catcher\library\form\components\AreaTrait; use catcher\library\form\components\Editor; use FormBuilder\Exception\FormBuilderException; use FormBuilder\Factory\Elm; @@ -60,6 +61,7 @@ abstract class Form use ValidateFactoryTrait; use GroupFactoryTrait; use FormValidates; + use AreaTrait; protected $primaryKeyField = 'id'; diff --git a/extend/catcher/library/form/components/AreaTrait.php b/extend/catcher/library/form/components/AreaTrait.php new file mode 100644 index 0000000..68bcd80 --- /dev/null +++ b/extend/catcher/library/form/components/AreaTrait.php @@ -0,0 +1,50 @@ + true + ]); + } + + return self::cascader($field, $title) + ->options($this->getRegion(3)) + ->props($props) + ->clearable(true) + ->filterable(true); + } + + public function createValidate() + { + // TODO: Implement createValidate() method. + return Elm::validateStr(); + } + + + /** + * 支持四级 + * $level 1,2,3,4 + * @time 2021年04月19日 + * @param int $level + * @return mixed + */ + protected function getRegion($level = 1) + { + $areaModel = new class extends \think\Model { + protected $name = 'region'; + + use RewriteTrait; + }; + + return $areaModel->where('level', '<=', $level) + ->field(['id', 'name', 'parent_id']) + ->select()->toTree(); + } +} \ No newline at end of file diff --git a/extend/catcher/library/form/components/Editor.php b/extend/catcher/library/form/components/Editor.php index 729d426..f58dfbd 100644 --- a/extend/catcher/library/form/components/Editor.php +++ b/extend/catcher/library/form/components/Editor.php @@ -139,14 +139,15 @@ class Editor extends FormComponent * 上传配置 * * @time 2021年04月11日 + * @param int $size * @return $this */ - public function uploadConf(): Editor + public function uploadConf(int $size = 10): Editor { $this->props([ 'uploadConf' => array_merge([ 'url' => Form::uploadImageUrl(), - 'size' => 0.1, + 'size' => $size, ], Form::authorization()) ]);