update:优化基础组件
This commit is contained in:
parent
be91cfbc4f
commit
ceb5a396d8
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -92,7 +92,7 @@ class Table
|
||||
|
||||
self::getTable()->drop();
|
||||
|
||||
return self::exist();
|
||||
return ! self::exist();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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)) . '%';
|
||||
|
||||
|
@ -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';
|
||||
|
||||
|
50
extend/catcher/library/form/components/AreaTrait.php
Normal file
50
extend/catcher/library/form/components/AreaTrait.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
namespace catcher\library\form\components;
|
||||
|
||||
use catcher\traits\db\RewriteTrait;
|
||||
use FormBuilder\Factory\Elm;
|
||||
|
||||
trait AreaTrait
|
||||
{
|
||||
public function area($field = 'area', $title = '地区', $props = [])
|
||||
{
|
||||
if (!count($props)) {
|
||||
$props = self::props('name', 'id', [
|
||||
'checkStrictly' => 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();
|
||||
}
|
||||
}
|
@ -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())
|
||||
]);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user