📖 File Reader
<?php
namespace app\admin\controller;
use adminCreate\form\Form;
use adminCreate\table\Table;
use think\facade\Db;
use think\facade\View;
/*表单生成实例*/
class Copy extends Base
{
public static $description = "审核管理";
protected $edit_field = ['title'];
protected $status_field = ['status'];
protected $img_field = [];
/*普通列表*/
public function form_list()
{
return View::fetch();
}
/*layui列表*/
public function layui_list()
{
return View::fetch();
}
/*layui列表数据*/
public function layui_list_ajax()
{
$keyword = input("param.keyword");
$where = 1;
if (!empty($keyword)) {
$where .= " and name like '%" . $keyword . "%'";
}
$list = db::name("goods")->where($where)->order("goods_id desc")->page($this->page, $this->limit)->select()->toArray();
foreach ($list as $k => $v) {
$list[$k]["img"] = str_replace('\\', "/", $v["img"]);
$list[$k]["add_time"] = date("Y-m-d H:i", $v["add_time"]);
}
$count = db::name("goods")->where($where)->order("goods_id desc")->count();
return $this->layui_json($count, $list);
}
/*layuiform表单*/
public function layui_form_update()
{
if (input("post.")){
header("Content-Type:text/html; charset=utf-8");
echo "<pre>";
print_r(input("param."));
echo "</pre>";
exit();
}else{
return View::fetch();
}
}
/*生成表单示例*/
public function create()
{
if ($_POST) {
header("Content-Type:text/html; charset=utf-8");
echo "<pre>";
print_r(input("param."));
echo "</pre>";
exit();
if (!empty(input("param.role_id"))){
$role_id_arr = input("param.role_id");
$admin_id_checked = [];
foreach ($role_id_arr as $v){
foreach (input("param.admin_id_checked".$v) as $v2){
$admin_id_checked[] = $v2;
}
}
$info["role_id"] = implode(",", $role_id_arr);
$info["admin_id_checked"] = implode(",", $admin_id_checked);
}
$this->succeed_json('操作成功');
} else {
$form = new Form();
$info = ['admin_id_checked'=>[]];
$images = [['https://file.iviewui.com/images/image-demo-1.jpg']];
$files = [['https://kebao.sxzq568.cn/excels/20211020/7c046c5b546d9c2ee4f73f6a99924e58.xls']];
$mp4 = [['http://dong.rdss2022.cn/059dad522fcca879de863b2010956a0a.mp4']];
$images = [];
$files = [];
$mp4 = [];
$menus[] = ['label' => '请选择', 'value' => 0];
$menus[] = ['label' => '加', 'value' => 1];
$menus[] = ['label' => '减', 'value' => 2];
// // 选项卡 如果有选项卡 其他生成加tabs 不加不显示
$form->tabs('tabs1', '基本信息');
$form->tabs('tabs2', '描述详情');
$form->tabs('tabs0', '待开发...');
$form->tips("生成表单标题")->tabs('tabs1');
$form->tips_warning('警示标题:','详细内容')->tabs("tabs1");
//分行符
$form->hr()->tabs('tabs1');
$form->input('text', 'input文本框','')->tabs('tabs1')->clearable(true);
$form->input('textarea', 'textarea文本域','')->tabs('tabs1')->maxlength(10)->type('textarea');
$form->input('addtext', '复合型输入框','')->tabs('tabs1')->prepend(['field'=>'sub_money','data'=>$menus,'value'=>0])->append('剩余金额0')->append_color("#ed4014");
$form->input('icon', 'icon文本框','')->tabs('tabs1')->icon('ios-camera');
$form->input('password', '密码框','')->tabs('tabs1')->type('password');
$form->input('readonly', '只读文本框','')->tabs('tabs1')->readonly(true);
$form->input('disabled', '禁用文本框','')->tabs('tabs1')->disabled(true);
$form->number('number', '数字', 100)->tabs('tabs1')->formatter('%');
$form->number('number', '数字', 100)->tabs('tabs1')->formatter('元');
$form->number('number', '数字', 100)->tabs('tabs1')->weizhi(true);
$form->number('number', '数字整数', 100)->precision(0)->placeholder('请输入')->required()->tabs('tabs1');//不保留小数
$form->number('number1', '数字1', '')->placeholder('数字1')->required()->tabs('tabs1');
$form->number('number2', '数字2', '')->placeholder('数字2')->required()->tabs('tabs1');
$form->number('number_zong', '计算总数', '')->tabs('tabs1')->calculate('number1+number2')->placeholder('总和')->required();
$form->switch('switch', '开关', 1)->tabs('tabs1');
$form->switch('switch', '开关', 1)->tabs('tabs1')->open('测试')->close('关闭');
$form->radio('switch1', '开关', "1")->tabs('tabs1')->setOptions('status');
/*外部定义参数*/
$menus[] = ['label' => '保密', 'value' => '0'];
$menus[] = ['label' => '男', 'value' => '1'];
$menus[] = ['label' => '女', 'value' => '2'];
$form->radio('radio1', '单选1', 0)->setOptions(function () use($menus) {
return $menus;
})->tabs('tabs1');
$form->radio('radio2', '单选2', 0)->setOptions(function () {
$menus[] = ['label' => '保密', 'value' => '0'];
$menus[] = ['label' => '男', 'value' => '1'];
$menus[] = ['label' => '女', 'value' => '2'];
return $menus;
})->tabs('tabs1')->type('button');
$form->radio('radio3', '单选3', 0)->setOptions(function () {
$menus[] = ['label' => '保密', 'value' => '0'];
$menus[] = ['label' => '男', 'value' => '1'];
$menus[] = ['label' => '女', 'value' => '2'];
return $menus;
})->tabs('tabs1')->type('button')->style('solid');
$form->checkbox('checkbox', '复选', ['0','1'])->setOptions(function () {
$menus[] = ['label' => '保密', 'value' => '0'];
$menus[] = ['label' => '男', 'value' => '1'];
$menus[] = ['label' => '女', 'value' => '2'];
return $menus;
})->tabs('tabs1')->required();
$form->checkbox('checkbox2', '复选(带多选)', ['0','1'])->setOptions(function () {
$menus[] = ['label' => '保密', 'value' => '0'];
$menus[] = ['label' => '男', 'value' => '1'];
$menus[] = ['label' => '女', 'value' => '2'];
return $menus;
})->tabs('tabs1')->CheckAll(true)->required();
$form->star('num_xing','星星评分',3)->tabs('tabs1');
$form->upload('file', '文件上传', '/admin/ad/uploads', $files,'file')->nultiple(true)->maxLength(9)->tabs('tabs1');
$form->upload('mp4', '视频上传', '/admin/ad/uploads', $mp4,'mp4')->tabs('tabs1')->maxLength(10);
$form->upload('upload', '图片上传', '/admin/ad/uploads', $images,'image')->tabs('tabs1')->disabled(true)->nultiple(false)->tips('尺寸200x200');
$form->upload('img_data', '图册', '/admin/ad/uploads', [])->nultiple(true)->maxLength(9)->required('',"array")->tabs('tabs1');
$files_data = [
['url'=>'/public/uploads/file/20240715/51e447f1d796efdf018f2852c3d880cc.jpg','name'=>'avatar.jpg'],
['url'=>'/public/uploads/file/20240724/b4f03d989de600db8625d8a9b986ff64.docx','name'=>'3z自做主账号信息.docw'],
['url'=>'/public/uploads/file/20240724/48e801753e92f1f261832b86ed94d866.rar','name'=>'f408.rar']
];
$form->upload_file('file_all','附件上传','/admin/ad/uploads', $files_data,'file')->nultiple(true)->maxLength(9)->disabled(true)->tabs('tabs1');
$menus1[] = ['title' => '2024-11-8 16:18 开发者', 'content' => '更新日志带缩略图','img'=>[
'http://zhili.jiboshimr.cn/public/uploads/file/20241108/faa48fd0350b0af8c2ede955cd5ce739.jpg','https://unpkg.com/outeres@0.1.1/demo/outer-space.jpg'
]];
$menus1[] = ['title' => '2024-11-8 16:18 开发者', 'content' => '更新日志带缩略图','img'=>[
'http://zhili.jiboshimr.cn/public/uploads/file/20241108/faa48fd0350b0af8c2ede955cd5ce739.jpg','https://unpkg.com/outeres@0.1.1/demo/outer-space.jpg'
]];
$form->list_log('明细',$menus1)->placeholder("日志列表")->tabs('tabs1');
//动态列表
$Table = [
$form->Tableimges('img', '缩略图','/admin/ad/uploads'),
$form->Tabletext('guige_name', '规格名称',true,'260',"left"),
$form->Tabletext('price', '售价'),
$form->Tabletext('stocks', '库存'),
$form->Tableaction('action', '操作'),
];
$table_data_default = ['img'=>[],'guige_name'=>'','price'=>'','stocks'=>''];
$table_data = [
['img'=>['https://file.iviewui.com/images/image-demo-1.jpg'],'guige_name'=>'规格名称','price'=>100,'stocks'=>1000],
];
$form->Table('guige_list', '动态列表',$Table,$table_data,$table_data_default)->is_type(0)->col(24)->tabs('tabs1');
$form->color('colo1r', '颜色')->tabs('tabs1');
$form->selectone('selectduoxuan', '下拉多选', ['1','2','3'])->setOptions(function () {
$menus[] = ['label' => '男', 'value' => 1,'img'=>'http://naizhan.gkktc.cn/public/uploads/img/20230421/70cbda09dbbab63a9901f73f36bf5a5c.jpg'];
$menus[] = ['label' => '女', 'value' => 2];
$menus[] = ['label' => '男', 'value' => 3];
$menus[] = ['label' => '女', 'value' => 4];
$menus[] = ['label' => '男', 'value' => 5];
$menus[] = ['label' => '女', 'value' => 6];
$menus[] = ['label' => '男', 'value' => 7];
return $menus;
})->tabs('tabs1')->multiple(true)->filterable(false);
$form->selectone('select', '下拉单选', 1)->setOptions(function () {
$menus[] = ['label' => '男', 'value' => 1,'img'=>'http://naizhan.gkktc.cn/public/uploads/img/20230421/70cbda09dbbab63a9901f73f36bf5a5c.jpg'];
$menus[] = ['label' => '女', 'value' => 2];
$menus[] = ['label' => '男', 'value' => 3];
$menus[] = ['label' => '女', 'value' => 4];
$menus[] = ['label' => '男', 'value' => 5];
$menus[] = ['label' => '女', 'value' => 6];
$menus[] = ['label' => '男', 'value' => 7];
return $menus;
})->tabs('tabs1')->multiple(false)->filterable(false);
/*关联查询1*/
$form->selectOne('act_id_xiala', '下拉关联展示隐藏','')->setOptions(function(){
$menus[] = ['label' => '音频', 'value' => 1];
$menus[] = ['label' => '视频', 'value' => 2];
return $menus;
})->tabs('tabs1')->multiple(false)->filterable(false)->required();
$form->input('mp3_url', '音频','')->col(24)->tabs('tabs1')->required()->show('act_id_xiala1');
$form->input('mp4_url', '视频','')->col(24)->tabs('tabs1')->required()->show('act_id_xiala2');
$form->checkbox('selectduoxuanyincang', '多选显示隐藏', [])->setOptions(function () {
$menus[] = ['label' => '男', 'value' => 1];
$menus[] = ['label' => '女', 'value' => 2];
$menus[] = ['label' => '男', 'value' => 3];
return $menus;
})->tabs('tabs1')->required();
$form->input('selectduoxuan1/2', '多选关联展示隐藏','')->tabs('tabs1')->clearable(true)->show(['selectduoxuanyincang1','selectduoxuanyincang2']);
/*关联查询2*/
$admin_role = db::name("admin_role")->order("id asc")->select()->toArray();
$menus_role = [];
foreach ($admin_role as $v){
$menus_role[] = ['label' => $v["name"], 'value' => $v["id"]];
}
$form->checkbox('role_id', '角色关联展示隐藏', [])->setOptions($menus_role)->tabs('tabs1')->required();
foreach ($admin_role as $k => $v){
$admin_list = db::name("admin")->where("role_id = '". $v['id']."'")->order("admin_id asc")->select()->toArray();
$menus = [];
$inform_admin = '';
foreach ($admin_list as $v2){
$menus[] = ['label' => $v2["nickname"], 'value' => $v2["admin_id"]];
$inform_admin .= $v2["admin_id"].',';
}
if(!empty($menus)){
if (!empty($id)){
$inform_admin = '';
foreach ($info["admin_id_checked"] as $v3){
foreach ($admin_list as $v4){
if ($v3 == $v4["admin_id"]){
$inform_admin .= $v4["admin_id"].',';
}
}
}
}
$inform_admin = substr($inform_admin,0,strlen($inform_admin)-1);
$inform_admin = $inform_admin != ''?explode(',',$inform_admin):[];
$form->checkbox('admin_id_checked'.$v["id"], $v["name"], $inform_admin)->setOptions($menus)->tabs('tabs1')->show('role_id'.$v["id"])->required();
}
}
$form->cascader('city', '地区', [1, 2, 3])->setOptions(function () {
$menus[] = [
'label' => '黑龙江', 'value' => 1,
'children' => [
[
'label' => '哈尔滨',
'value' => 2,
'loading' => false,
'children' => [
[
'label' => '木兰',
'value' => 3
]
]
]
]
, 'loading' => false
];
$menus[] = ['label' => '哈尔滨', 'value' => 4];
return $menus;
})->tabs('tabs1')->required('','array');
$form->datetime('date', '日期')->type('date')->format('yyyy-MM-dd')->tabs('tabs1')->show('act_id1');
$form->datetime('date', '日期')->type('date')->format('yyyy-MM-dd')->tabs('tabs1');
$form->datetime('month', '月份')->type('month')->format('yyyy-MM')->tabs('tabs1')->required();
$form->datetime('datetime', '日期带时间')->tabs('tabs1')->type('datetime');
$form->datetime('time', '时间')->tabs('tabs1')->type('time')->format('HH:mm');
$date_time = ["2025-01-13", "2025-01-17"];
$form->datetime('date_time', '日期范围',$date_time)->type('daterange')->format('yyyy-MM-dd')->tabs('tabs1');
$form->select_number('select_number', '余额')->select_value('+')->tabs('tabs1')->annotation("余额10")->color('red');
$form->text('biaoqian1', '动态标签',['',''])->col(10)->required()->tabs('tabs1');
$form->text('biaoqian2', '动态标签',['',''])->col(10)->tab_type('datetime')->format('yyyy-MM-dd')->tabs('tabs1');
$form->editor('editor1', '详细内容', '')->tabs('tabs2')->action('/admin/ad/uploads');
$form->hidden('user_id',1);
$form->button('/admin/Copy/create');
return $form;
}
}
/*生成列表*/
public function index()
{
if ($this->request->isAjax()) {
$this->formparam('title');
$arr = Db::table('copy')
->where($this->where)
->order('id desc')
->paginate($this->post['limit'])->each(function ($v) {
$v['create_time'] = date('Y-m-d H:i', $v['create_time']);
return $v;
});
return $this->ivuTable($arr);
}
$table = new Table();
$table->list([
$table->checkbox(),
$table->strong('id', '编号'),
$table->image('img_url', '图片'),
$table->edit('title', '标题'),
$table->switch('status', '状态'),
$table->text('create_time', '时间'),
$table->listTool(),
]);
$table->top([
$table->button('添加', 'create'),
$table->confirm('批量删除', 'destroy')->type('error'),
]);
$table->tool([
$table->button('编辑', 'edit')->type('success'),
$table->confirm('删除', 'destroy')->type('error'),
]);
return $table;
}
}