123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284 |
- {extend name="common/base"/}
- <!-- 主体 -->
- {block name="body"}
- <form class="layui-form p-4">
- <h3 class="pb-3">数据表信息</h3>
- <table class="layui-table layui-table-form">
- <tr>
- <td class="layui-td-gray-2">数据表名称</td>
- <td>{$detail.title}</td>
- <td class="layui-td-gray-2">数据表备注</td>
- <td>{$detail.Comment}</td>
- <td class="layui-td-gray-2">当前记录数</td>
- <td>{$detail.Rows}</td>
- <td class="layui-td-gray-2">创建时间</td>
- <td>{$detail.Create_time}</td>
- </tr>
- </table>
- {neq name="$detail.c" value="0"}
- <h3 class="py-3">文件信息</h3>
- <table class="layui-table layui-table-form">
- <tr>
- <td colspan="8" class="red" style="text-align:left; line-height:1.8">
- 温馨提示:<br/>
- 1、【<strong>一键CRUD生成代码</strong>】已帮你完成 <strong>60%</strong> 以上的开发工作,以下是生成的文件所在目录。
- <br/>
- 2、可以刷新系统页面,点击左边的刚刚新增的<strong>菜单</strong>访问相关功能,如需更改菜单左侧图标,请在[系统管理]->[菜单节点]找到对应的菜单编辑修改即可。
- <br/>
- 3、代码生成以后,不建议删除(除非不需要了),建议在当前的基础上修改或新增开发,开发方式与传统的开发方式无区别。
- <br/>
- 4、CRUD生成的代码是最基础的代码,开发者通过二次开发修改,可能使得功能更完善,代码更健壮,特别是逻辑上的处理,以下是二次开发建议。
- <br/>
- 5、后端功能开发参考文档 <a href="https://www.kancloud.cn/manual/thinkphp6_0/1037479" target="_blank" class="layui-btn layui-btn-normal layui-btn-xs">ThinkPHP6开发文档</a>,前端页面开发参考文档 <a href="http://admin.gougucms.com" target="_blank" class="layui-btn layui-btn-xs">UI开发文档</a>
- </td>
- </tr>
- <tr>
- <td class="layui-td-gray-2">控制器</td>
- <td>{$detail.c}</td>
- <td class="layui-td-gray">开发建议</td>
- <td class="red">功能逻辑完善、控制器的其他方法的补充完善等</td>
- </tr>
- <tr>
- <td class="layui-td-gray-2">数据模型</td>
- <td>{$detail.m=='0'?'-':$detail.m}</td>
- <td class="layui-td-gray">开发建议</td>
- <td class="red">数据搜索条件完善、查询字段增减调整、关联表查询等</td>
- </tr>
- <tr>
- <td class="layui-td-gray-2">数据校验器</td>
- <td>{$detail.v=='0'?'-':$detail.v}</td>
- <td class="layui-td-gray">开发建议</td>
- <td class="red">增强数据校验规则、修改调整校验提示等</td>
- </tr>
- <tr>
- <td class="layui-td-gray-2">列表页面</td>
- <td>{$detail.l=='0'?'-':$detail.l}</td>
- <td class="layui-td-gray">开发建议</td>
- <td class="red">列表显示字段增减调整、列表字段表格宽度调整、其他按钮、链接的补充完善等</td>
- </tr>
- <tr>
- <td class="layui-td-gray-2">添加页面</td>
- <td>{$detail.a=='0'?'-':$detail.a}</td>
- <td class="layui-td-gray">开发建议</td>
- <td class="red">需要输入的字段增减调整、单选、多选、下拉选的内容调整等</td>
- </tr>
- <tr>
- <td class="layui-td-gray-2">编辑页面</td>
- <td>{$detail.e=='0'?'-':$detail.e}</td>
- <td class="layui-td-gray">开发建议</td>
- <td class="red">需要编辑的字段增减调整、单选、多选、下拉选的内容调整等</td>
- </tr>
- <tr>
- <td class="layui-td-gray-2">查看页面</td>
- <td>{$detail.r=='0'?'-':$detail.r}</td>
- <td class="layui-td-gray">开发建议</td>
- <td class="red">显示字段增减调整、其他按钮、连接的补充完善等</td>
- </tr>
- </table>
- <h3 class="py-3">数据表字段</h3>
- <table class="layui-table layui-form">
- <thead>
- <th style="text-align:center;">字段列名</th>
- <th style="text-align:center;">数据类型</th>
- <th style="text-align:center;">字段注释</th>
- </thead>
- <tbody>
- {volist name="columns" id="vo"}
- <tr>
- <td>{$vo.Field}</td>
- <td>{$vo.Type}</td>
- <td>{$vo.Comment}</td>
- </tr>
- {/volist}
- </tbody>
- </table>
- {else/}
- <h3 class="py-3">数据表字段</h3>
- <table class="layui-table layui-form">
- <thead>
- <th style="text-align:center;">字段列名</th>
- <th style="text-align:center;">字段注释</th>
- <th style="text-align:center;">数据类型</th>
- <th class="blue" style="text-align:center;">表单字段名称</th>
- <th class="blue" style="text-align:center;">是否必填</th>
- <th class="blue" style="text-align:center;">表单元素类型</th>
- <th class="green" style="text-align:center;">新增页展示</th>
- <th class="green" style="text-align:center;">编辑页展示</th>
- <th class="green" style="text-align:center;">列表页展示</th>
- <th class="green" style="text-align:center;">查询页展示</th>
- </thead>
- <tbody>
- {volist name="columns" id="vo"}
- <tr>
- <td>{$vo.Field}</td>
- <td>{$vo.Comment}</td>
- <td>{$vo.Type}</td>
- {eq name="$vo.Field" value="id"}
- <td style="text-align:center;">-</td>
- <td style="text-align:center;">-</td>
- <td style="text-align:center;">-</td>
- <td style="text-align:center;">-</td>
- <td style="text-align:center;">-</td>
- <td style="text-align:center;">-</td>
- <td style="text-align:center;">-</td>
- {else/}
- <td style="text-align:center;">
- <input type="hidden" name="{$vo.Field}" value="{$vo.Field}" class="crud-flie">
- <input type="text" name="{$vo.Field}_title" value="{$vo.name|default=''}" class="layui-input"></td>
- <td style="text-align:center;"><input type="checkbox" name="{$vo.Field}_required" value="1" lay-skin="primary"></td>
- <td>
- <select name="{$vo.Field}_type">
- <option value="input" selected="">文本框</option>
- <option value="textarea">多行文本</option>
- <option value="select">下拉框</option>
- <option value="radio">单选框</option>
- <option value="checkbox">复选框</option>
- <option value="summernote">富文本</option>
- <option value="datetime">日期控件</option>
- <option value="upload">上传控件</option>
- </select>
- </td>
- <td style="text-align:center;"><input type="checkbox" name="{$vo.Field}_add" value="{$vo.Field}" lay-skin="primary"></td>
- <td style="text-align:center;"><input type="checkbox" name="{$vo.Field}_edit" value="{$vo.Field}" lay-skin="primary"></td>
- <td style="text-align:center;"><input type="checkbox" name="{$vo.Field}_list" value="{$vo.Field}" lay-skin="primary"></td>
- <td style="text-align:center;"><input type="checkbox" name="{$vo.Field}_read" value="{$vo.Field}" lay-skin="primary"></td>
- {/eq}
- </tr>
- {/volist}
- </tbody>
- </table>
- <div class="py-3">
- <input type="hidden" name="field" value="{$detail.title}">
- <input type="hidden" name="name" value="{$detail.Comment}">
- <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">一键CRUD生成代码</button>
- <button type="reset" class="layui-btn layui-btn-primary">重置</button>
- </div>
- {/neq}
- </form>
- {/block}
- <!-- /主体 -->
- {block name="script"}
- <script>
- const moduleInit = ['tool'];
- function gouguInit() {
- var form = layui.form,tool=layui.tool;
- //监听提交
- form.on('submit(webform)', function (data) {
- var arr_crud = [],crud_a=[],crud_e=[],crud_r=[],crud_l=[],crud_v=[];
- $('.crud-flie').each(function() {
- arr_crud.push($(this).val());
- });
- let isPost = true;
- for(var i=0;i<arr_crud.length;i++){
- let crud = arr_crud[i];
- let title = $('[name="'+crud+'_title"]').val();
- let type = $('[name="'+crud+'_type"]').val();
- let required = $('input[name="'+crud+'_required"]:checked').val();
-
- let add = $('input[name="'+crud+'_add"]:checked').val();
- let edit = $('input[name="'+crud+'_edit"]:checked').val();
- let read = $('input[name="'+crud+'_read"]:checked').val();
- let list = $('input[name="'+crud+'_list"]:checked').val();
- required=required?1:0;
- if(required){
- if(title == ''){
- layer.msg('字段【'+crud+'】名称不能为空');
- isPost = false;
- break;
- }
- crud_v.push({'field':crud,'type':type,'title':title});
- }
- else{
- required = 0;
- }
-
- if(add){
- if(title == ''){
- layer.msg('字段【'+crud+'】名称不能为空');
- isPost = false;
- break;
- }
- crud_a.push({'field':crud,'type':type,'required':required,'title':title});
- }
-
- if(edit){
- if(title == ''){
- layer.msg('字段【'+crud+'】名称不能为空');
- isPost = false;
- break;
- }
- crud_e.push({'field':crud,'type':type,'required':required,'title':title});
- }
-
- if(read){
- if(title == ''){
- layer.msg('字段【'+crud+'】名称不能为空');
- isPost = false;
- break;
- }
- crud_r.push({'field':crud,'type':type,'required':required,'title':title});
- }
-
- if(list){
- if(title == ''){
- layer.msg('字段【'+crud+'】名称不能为空');
- isPost = false;
- break;
- }
- crud_l.push({'field':crud,'type':type,'required':required,'title':title});
- }
- }
- //数组
- console.log(crud_v);
- console.log(crud_a);
- console.log(crud_e);
- console.log(crud_r);
- console.log(crud_l);
- if(crud_v.length==0 && isPost == true){
- layer.msg('必填选项不能为空');
- return false;
- }
- if(crud_a.length==0 && isPost == true){
- layer.msg('新增页展示不能为空');
- return false;
- }
- if(crud_e.length==0 && isPost == true){
- layer.msg('编辑页展示不能为空');
- return false;
- }
- if(crud_r.length==0 && isPost == true){
- layer.msg('查看页展示不能为空');
- return false;
- }
- if(crud_l.length==0 && isPost == true){
- layer.msg('列表页展示不能为空');
- return false;
- }
-
- let callback = function (e) {
- console.log(e);
- if (e == '') {
- layer.msg('crud生成成功,正在生成菜单...');
- tool.post("/admin/crud/menu", {field:data.field.field,name:data.field.name}, function(res){
- layer.msg(res.msg);
- if (res.code == 0) {
- setTimeout(function(){
- parent.location.reload();
- },2000);
- }
- });
- }
- else{
- layer.msg('代码已生成,如需重新生成,请删除后再重试');
- }
- }
- if(isPost == true){
- tool.post("/admin/crud/crud", {field:data.field.field,name:data.field.name,crud_v:crud_v,crud_a:crud_a,crud_e:crud_e,crud_r:crud_r,crud_l:crud_l}, callback);
- }
- return false;
- });
- }
- </script>
- {/block}
|