update:更新快捷搜索
This commit is contained in:
parent
f45b9315a9
commit
766a01e766
1
catch/cms/controller/Form.php
Normal file
1
catch/cms/controller/Form.php
Normal file
@ -0,0 +1 @@
|
||||
<?php
|
161
catch/cms/form/Form.php
Normal file
161
catch/cms/form/Form.php
Normal file
@ -0,0 +1,161 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | Catch-CMS Design On 2020
|
||||
// +----------------------------------------------------------------------
|
||||
// | CatchAdmin [Just Like ~ ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2017~2020 http://catchadmin.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: JaguarJack [ njphper@gmail.com ]
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace catchAdmin\cms\form;
|
||||
|
||||
use catcher\exceptions\FailedException;
|
||||
use FormBuilder\Exception\FormBuilderException;
|
||||
use FormBuilder\Factory\Elm;
|
||||
use FormBuilder\UI\Elm\Components\Upload;
|
||||
use FormBuilder\UI\Elm\Traits\CascaderFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\CheckBoxFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\ColorPickerFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\DatePickerFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\FormStyleFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\FrameFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\GroupFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\HiddenFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\InputFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\InputNumberFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\RadioFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\RateFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\SelectFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\SliderFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\SwitchesFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\TimePickerFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\TreeFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\UploadFactoryTrait;
|
||||
use FormBuilder\UI\Elm\Traits\ValidateFactoryTrait;
|
||||
|
||||
abstract class Form
|
||||
{
|
||||
use CascaderFactoryTrait;
|
||||
use CheckBoxFactoryTrait;
|
||||
use ColorPickerFactoryTrait;
|
||||
use DatePickerFactoryTrait;
|
||||
use FrameFactoryTrait;
|
||||
use HiddenFactoryTrait;
|
||||
use InputNumberFactoryTrait;
|
||||
use InputFactoryTrait;
|
||||
use RadioFactoryTrait;
|
||||
use RateFactoryTrait;
|
||||
use SliderFactoryTrait;
|
||||
use SelectFactoryTrait;
|
||||
use FormStyleFactoryTrait;
|
||||
use SwitchesFactoryTrait;
|
||||
use TimePickerFactoryTrait;
|
||||
use TreeFactoryTrait;
|
||||
use UploadFactoryTrait;
|
||||
use ValidateFactoryTrait;
|
||||
use GroupFactoryTrait;
|
||||
use FormOptions;
|
||||
|
||||
/**
|
||||
* 必须实现的
|
||||
*
|
||||
* @time 2021年03月06日
|
||||
* @return array
|
||||
*/
|
||||
abstract public function fields(): array;
|
||||
|
||||
/**
|
||||
* 创建 Form
|
||||
*
|
||||
* @time 2021年03月06日
|
||||
* @return array
|
||||
*/
|
||||
public function create(): array
|
||||
{
|
||||
return $this->rule($this->fields());
|
||||
}
|
||||
|
||||
/**
|
||||
* form rule
|
||||
*
|
||||
* @time 2021年03月06日
|
||||
* @param array $rules
|
||||
* @return array
|
||||
*/
|
||||
public function rule(array $rules): array
|
||||
{
|
||||
try {
|
||||
return Elm::createForm('', $rules)->formRule();
|
||||
} catch (FormBuilderException $e) {
|
||||
throw new FailedException('Form Created Failed: ' .$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 上传图片地址
|
||||
*
|
||||
* @time 2021年03月03日
|
||||
* @return string
|
||||
*/
|
||||
protected function uploadImageUrl(): string
|
||||
{
|
||||
return env('app.domain') . '/cms/upload/image';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 上传图片地址
|
||||
*
|
||||
* @time 2021年03月03日
|
||||
* @return string
|
||||
*/
|
||||
protected function uploadFileUrl(): string
|
||||
{
|
||||
return env('app.domain') . '/cms/upload/file';
|
||||
}
|
||||
|
||||
|
||||
protected function authorization(): array
|
||||
{
|
||||
return [
|
||||
'authorization' => 'Bearer ' . request()->user()->remember_token,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传图片
|
||||
*
|
||||
* @time 2021年03月03日
|
||||
* @param $title
|
||||
* @param string $value
|
||||
* @return \FormBuilder\UI\Elm\Components\Upload
|
||||
*/
|
||||
public function image(string $title, string $value = ''): Upload
|
||||
{
|
||||
return self::uploadImage('image', $title, $this->uploadImageUrl(), $value)
|
||||
->uploadName('image')
|
||||
->data(['none' => ''])
|
||||
->headers($this->authorization());
|
||||
}
|
||||
|
||||
/**
|
||||
* 多图
|
||||
*
|
||||
* @time 2021年03月03日
|
||||
* @param $title
|
||||
* @param array $value
|
||||
* @return \FormBuilder\UI\Elm\Components\Upload
|
||||
*/
|
||||
public function images(string $title, array $value = []): Upload
|
||||
{
|
||||
return self::uploadImages('image', $title, $this->uploadImageUrl(), $value)
|
||||
->uploadName('image')
|
||||
->data(['none' => ''])
|
||||
->headers($this->authorization());
|
||||
}
|
||||
}
|
11
catch/cms/form/FormFactory.php
Normal file
11
catch/cms/form/FormFactory.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
namespace catchAdmin\cms\form;
|
||||
|
||||
|
||||
class FormFactory
|
||||
{
|
||||
public static function create($name)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -181,8 +181,11 @@ class CatchQuery extends Query
|
||||
$this->whereRightLike($field, $value);
|
||||
}
|
||||
}
|
||||
|
||||
// = 值搜索
|
||||
$this->where($field, $value);
|
||||
if ($value || is_numeric($value)) {
|
||||
$this->where($field, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -296,6 +299,10 @@ class CatchQuery extends Query
|
||||
$this->order($this->getTable() . '.sort', $order);
|
||||
}
|
||||
|
||||
if (in_array('weight', array_keys($this->getFields()))) {
|
||||
$this->order($this->getTable() . '.weight', $order);
|
||||
}
|
||||
|
||||
$this->order($this->getTable() . '.' . $this->getPk(), $order);
|
||||
|
||||
return $this;
|
||||
|
Loading…
x
Reference in New Issue
Block a user