first commit

This commit is contained in:
2026-07-23 09:40:36 +08:00
commit 090abf48fa
989 changed files with 145728 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-page">
<h3 class="pb-3">Bar菜单</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">菜单名称<font>*</font></td>
<td><input type="text" class="layui-input" name="title" placeholder="请输入菜单名称,建议2到3个字" lay-verify="required" lay-reqText="请输入菜单名称" value="{$detail.title|default=''}"></td>
<td class="layui-td-gray">排序</td>
<td><input type="text" name="sort" placeholder="请输入排序,数字" class="layui-input" value="{$detail.sort|default=''}"></td>
</tr>
<tr>
<td class="layui-td-gray">菜单URL<font>*</font></td>
<td><input type="text" class="layui-input" name="url" placeholder="请输入菜单URL" lay-verify="required" lay-reqText="请输入菜单URL" value="{$detail.url|default=''}"></td>
<td class="layui-td-gray">菜单图标<font>*</font></td>
<td>
<input style="width:150px; display:inline" type="text" name="icon" value="{$detail.icon|default=''}" placeholder="请输入菜单图标" lay-verify="required" lay-reqText="请输入菜单图标" class="layui-input">
<strong class="iconfont icon-xiangmuguanli"></strong><a href="/static/assets/icon/index.html" target="_blank" style="margin-left:10px; color:#007AFF">[查看图标]</a>
</td>
</tr>
</table>
<div class="pt-4">
<input type="hidden" name="id" value="{$detail.id|default=0}"/>
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</form>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
var moduleInit = ['tool'];
function gouguInit() {
var form = layui.form, tool = layui.tool;
//监听提交
form.on('submit(webform)', function (data) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
tool.sideClose(1000);
}
}
tool.post("/mobile/bar/add", data.field, callback);
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
+110
View File
@@ -0,0 +1,110 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<div class="p-page">
<div class="layui-card border-x border-t" style="margin-bottom:0; box-shadow:0 0 0 0 rgb(5 32 96 / 0%)">
<div class="body-table layui-tab layui-tab-brief" lay-filter="tab">
<ul class="layui-tab-title">
<li class="layui-this"><a href="/mobile/bar/datalist">BAR菜单</a></li>
<li><a href="/mobile/types/datalist">工作台菜单类型</a></li>
<li><a href="/mobile/menu/datalist">工作台菜单</a></li>
</ul>
</div>
</div>
<table class="layui-hide" id="table_mobile_bar" lay-filter="table_mobile_bar"></table>
</div>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-group">
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/mobile/bar/add">+ 添加Bar菜单</button>
</div>
</script>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
function gouguInit() {
var table = layui.table, tool = layui.tool;
layui.pageTable = table.render({
elem: "#table_mobile_bar"
,title: 'Bar菜单列表'
,toolbar: '#toolbarDemo'
,url: "/mobile/bar/datalist"
,page: false
,limit: 999
,cellMinWidth: 80
,cols: [[
{field:'id',width:80, title: 'ID号', align:'center'}
,{field:'icon',title: '菜单图标',width: 80, align: 'center' ,templet: function(d){
var html='<strong class="iconfont '+d.icon+'"></strong>';
return html;
}}
,{field:'title',title: '类型名称'}
, { field: 'url', title: 'URL链接' }
, { field: 'sort', width: 60, title: '排序', align: 'center' }
,{field:'status', title: '状态',width:80,align:'center',templet: function(d){
var html1='<span class="green">正常</span>';
var html2='<span class="yellow">禁用</span>';
if(d.status==1){
return html1;
}
else{
return html2;
}
}}
,{width:100,title: '操作', align:'center',ignoreExport:true,templet: function(d){
var html='';
var btn='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a>';
var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
var btn2='<a class="layui-btn layui-btn-xs" lay-event="open">启用</a>';
if(d.status==1){
html = '<div class="layui-btn-group">'+btn+btn1+'</div>';
}
else{
html = '<div class="layui-btn-group">'+btn+btn2+'</div>';
}
return html;
}}
]]
});
table.on('tool(table_mobile_bar)',function (obj) {
if(obj.event === 'edit'){
tool.side('/mobile/bar/add?id='+obj.data.id);
}
if(obj.event === 'disable'){
layer.confirm('确定要禁用该记录吗?', {icon: 3, title:'提示'}, function(index){
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
layui.pageTable.reload();
}
}
tool.post("/mobile/bar/set", {id:obj.data.id,status: 0}, callback);
layer.close(index);
});
}
if(obj.event === 'open'){
layer.confirm('确定要启用该记录吗?', {icon: 3, title:'提示'}, function(index){
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
layui.pageTable.reload();
}
}
tool.post("/mobile/bar/set", {id:obj.data.id,status:1}, callback);
layer.close(index);
});
}
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
+97
View File
@@ -0,0 +1,97 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-page">
<h3 class="pb-3">工作台菜单</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">菜单名称<font>*</font></td>
<td><input type="text" class="layui-input" name="title" placeholder="请输入菜单名称,建议4个字" lay-verify="required" lay-reqText="请输入菜单名称" value="{$detail.title|default=''}"></td>
<td class="layui-td-gray">所属类型<font>*</font></td>
<td>
{empty name="$detail"}
<select name="types" lay-verify="required" lay-reqText="请选择所属类型">
<option value="">请选择</option>
{volist name=":get_base_data('mobile_types')" id="vo"}
<option value="{$vo.id}">{$vo.title}</option>
{/volist}
</select>
{else/}
<select name="types" lay-verify="required" lay-reqText="请选择所属类型">
<option value="">请选择</option>
{volist name=":get_base_data('mobile_types')" id="vo"}
<option value="{$vo.id}" {eq name="$detail.types" value="$vo.id"} selected{/eq}>{$vo.title}</option>
{/volist}
</select>
{/empty}
</td>
<td class="layui-td-gray">排序</td>
<td><input type="text" name="sort" placeholder="请输入排序,数字" class="layui-input" value="{$detail.sort|default=''}"></td>
</tr>
<tr>
<td class="layui-td-gray">菜单URL<font>*</font></td>
<td><input type="text" class="layui-input" name="url" placeholder="请输入菜单URL" lay-verify="required" lay-reqText="请输入菜单URL" value="{$detail.url|default=''}"></td>
<td class="layui-td-gray">背景色<font>*</font></td>
<td>
{empty name="$detail"}
<select name="bgcolor" lay-verify="required" lay-reqText="请选择背景色">
<option value="">请选择</option>
<option value="red"></option>
<option value="orange"></option>
<option value="yellow"></option>
<option value="green">绿</option>
<option value="blue"></option>
<option value="cyan"></option>
<option value="purple"></option>
</select>
{else/}
<select name="bgcolor" lay-verify="required" lay-reqText="请选择背景色">
<option value="">请选择</option>
<option value="red" {eq name="$detail.bgcolor" value="red"} selected{/eq}></option>
<option value="orange" {eq name="$detail.bgcolor" value="orange"} selected{/eq}></option>
<option value="yellow" {eq name="$detail.bgcolor" value="yellow"} selected{/eq}></option>
<option value="green" {eq name="$detail.bgcolor" value="green"} selected{/eq}>绿</option>
<option value="blue" {eq name="$detail.bgcolor" value="blue"} selected{/eq}></option>
<option value="cyan" {eq name="$detail.bgcolor" value="cyan"} selected{/eq}></option>
<option value="purple" {eq name="$detail.bgcolor" value="purple"} selected{/eq}></option>
</select>
{/empty}
</td>
<td class="layui-td-gray">菜单图标<font>*</font></td>
<td>
<input style="width:150px; display:inline" type="text" name="icon" value="{$detail.icon|default=''}" placeholder="请输入图标" lay-verify="required" lay-reqText="请输入图标" class="layui-input">
<strong class="iconfont icon-xiangmuguanli"></strong><a href="/static/assets/icon/index.html" target="_blank" style="margin-left:10px; color:#007AFF">[查看图标]</a>
</td>
</tr>
</table>
<div class="pt-4">
<input type="hidden" name="id" value="{$detail.id|default=0}"/>
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</form>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
var moduleInit = ['tool'];
function gouguInit() {
var form = layui.form, tool = layui.tool;
//监听提交
form.on('submit(webform)', function (data) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
tool.sideClose(1000);
}
}
tool.post("/mobile/menu/add", data.field, callback);
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
+125
View File
@@ -0,0 +1,125 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<div class="p-page">
<div class="layui-card border-x border-t" style="margin-bottom:0; box-shadow:0 0 0 0 rgb(5 32 96 / 0%)">
<div class="body-table layui-tab layui-tab-brief" lay-filter="tab">
<ul class="layui-tab-title">
<li><a href="/mobile/bar/datalist">BAR菜单</a></li>
<li><a href="/mobile/types/datalist">工作台菜单类型</a></li>
<li class="layui-this"><a href="/mobile/menu/datalist">工作台菜单</a></li>
</ul>
</div>
</div>
<table class="layui-hide" id="table_mobile_menu" lay-filter="table_mobile_menu"></table>
</div>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-group">
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/mobile/menu/add">+ 添加工作台菜单</button>
</div>
</script>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
function gouguInit() {
var table = layui.table, tool = layui.tool;
layui.pageTable = table.render({
elem: "#table_mobile_menu"
,title: '工作台菜单列表'
,toolbar: '#toolbarDemo'
,url: "/mobile/menu/datalist"
,page: false
,limit: 999
,cellMinWidth: 80
,cols: [[
{field:'id',width:80, title: 'ID号', align:'center'}
,{field:'icon',title: '菜单图标',width: 80, align: 'center' ,templet: function(d){
var html='<strong class="iconfont '+d.icon+'"></strong>';
return html;
}}
,{field:'title',title: '类型名称'}
, { field: 'url', title: 'URL链接' }
, { field: 'types_title', width: 100, title: '所属类型', align: 'center'}
,{ field: 'bgcolor', width: 80, title: '背景色', align: 'center' }
, { field: 'sort', width: 60, title: '排序', align: 'center' }
,{field:'status', title: '状态',width:80,align:'center',templet: function(d){
var html1='<span class="green">正常</span>';
var html2='<span class="yellow">禁用</span>';
if(d.status==1){
return html1;
}
else{
return html2;
}
}}
,{width:120,title: '操作', align:'center',ignoreExport:true,templet: function(d){
var html='';
var btn='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a>';
var btn1='<a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="disable">禁用</a>';
var btn2='<a class="layui-btn layui-btn-xs" lay-event="open">启用</a>';
var btn3='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
if(d.status==1){
html = '<div class="layui-btn-group">'+btn+btn1+btn3+'</div>';
}
else{
html = '<div class="layui-btn-group">'+btn+btn2+btn3+'</div>';
}
return html;
}}
]]
});
table.on('tool(table_mobile_menu)',function (obj) {
if(obj.event === 'edit'){
tool.side('/mobile/menu/add?id='+obj.data.id);
}
if(obj.event === 'disable'){
layer.confirm('确定要禁用该记录吗?', {icon: 3, title:'提示'}, function(index){
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
layui.pageTable.reload();
}
}
tool.post("/mobile/menu/set", {id:obj.data.id,status: 0}, callback);
layer.close(index);
});
}
if(obj.event === 'open'){
layer.confirm('确定要启用该记录吗?', {icon: 3, title:'提示'}, function(index){
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
layui.pageTable.reload();
}
}
tool.post("/mobile/menu/set", {id:obj.data.id,status:1}, callback);
layer.close(index);
});
}
if(obj.event === 'del'){
layer.confirm('确定要删除该记录吗?', {icon: 3, title:'提示'}, function(index){
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
layui.pageTable.reload();
}
}
tool.delete("/mobile/menu/del", {id:obj.data.id}, callback);
layer.close(index);
});
}
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
+44
View File
@@ -0,0 +1,44 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-page">
<h3 class="pb-3">工作台菜单类型</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">类型名称<font>*</font></td>
<td><input type="text" class="layui-input" name="title" placeholder="请输入菜单类型名称,建议4个字" lay-verify="required" lay-reqText="请输入菜单类型名称" value="{$detail.title|default=''}"></td>
<td class="layui-td-gray">排序</td>
<td><input type="text" name="sort" placeholder="请输入排序,数字" class="layui-input" value="{$detail.sort|default=''}"></td>
</tr>
</table>
<div class="pt-4">
<input type="hidden" name="id" value="{$detail.id|default=0}"/>
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</form>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
var moduleInit = ['tool'];
function gouguInit() {
var form = layui.form, tool = layui.tool;
//监听提交
form.on('submit(webform)', function (data) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
tool.sideClose(1000);
}
}
tool.post("/mobile/types/add", data.field, callback);
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
+105
View File
@@ -0,0 +1,105 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<div class="p-page">
<div class="layui-card border-x border-t" style="margin-bottom:0; box-shadow:0 0 0 0 rgb(5 32 96 / 0%)">
<div class="body-table layui-tab layui-tab-brief" lay-filter="tab">
<ul class="layui-tab-title">
<li><a href="/mobile/bar/datalist">BAR菜单</a></li>
<li class="layui-this"><a href="/mobile/types/datalist">工作台菜单类型</a></li>
<li><a href="/mobile/menu/datalist">工作台菜单</a></li>
</ul>
</div>
</div>
<table class="layui-hide" id="table_mobile_types" lay-filter="table_mobile_types"></table>
</div>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-group">
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/mobile/types/add">+ 添加工作台菜单类型</button>
</div>
</script>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
function gouguInit() {
var table = layui.table, tool = layui.tool;
layui.pageTable = table.render({
elem: "#table_mobile_types"
,title: '工作台菜单类型列表'
,toolbar: '#toolbarDemo'
,url: "/mobile/types/datalist"
,page: false
,limit: 999
,cellMinWidth: 80
,cols: [[
{field:'id',width:80, title: 'ID号', align:'center'}
,{field:'title',title: '类型名称'}
,{ field: 'sort', width: 60, title: '排序', align: 'center' }
,{field:'status', title: '状态',width:80,align:'center',templet: function(d){
var html1='<span class="green">正常</span>';
var html2='<span class="yellow">禁用</span>';
if(d.status==1){
return html1;
}
else{
return html2;
}
}}
,{width:100,title: '操作', align:'center',ignoreExport:true,templet: function(d){
var html='';
var btn='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a>';
var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
var btn2='<a class="layui-btn layui-btn-xs" lay-event="open">启用</a>';
if(d.status==1){
html = '<div class="layui-btn-group">'+btn+btn1+'</div>';
}
else{
html = '<div class="layui-btn-group">'+btn+btn2+'</div>';
}
return html;
}}
]]
});
table.on('tool(table_mobile_types)',function (obj) {
if(obj.event === 'edit'){
tool.side('/mobile/types/add?id='+obj.data.id);
}
if(obj.event === 'disable'){
layer.confirm('确定要禁用该记录吗?', {icon: 3, title:'提示'}, function(index){
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
layui.pageTable.reload();
}
}
tool.post("/mobile/types/set", {id:obj.data.id,status: 0}, callback);
layer.close(index);
});
}
if(obj.event === 'open'){
layer.confirm('确定要启用该记录吗?', {icon: 3, title:'提示'}, function(index){
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
layui.pageTable.reload();
}
}
tool.post("/mobile/types/set", {id:obj.data.id,status:1}, callback);
layer.close(index);
});
}
return false;
});
}
</script>
{/block}
<!-- /脚本 -->