球芯开发开发规范 → 浏览:帖子主题
* 帖子主题:后台管理端开发指南
Admin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:231
发帖:14
来自:保密
注册:2023-03-11 15:22:38
造访:2025-11-10 11:21:39
[ 第 1 楼 ] 回复
页面模板

[您可以先修改代码再运行]

2023-03-11 15:28:29 IP:已设置保密
Admin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:231
发帖:14
来自:保密
注册:2023-03-11 15:22:38
造访:2025-11-10 11:21:39
[ 第 2 楼 ] 回复
使用弹窗组件
<my-dialog class="moduleName-edit" text="窗口标题" mode="auto|right|left|full" click="close" btn="取消">
    <div class="info" slot="info">
    </div>
    <input slot="btn" class="btn btn-big btn-primary" value="确定" onclick="editor.save()" />
</my-dialog>
注意:使用弹窗需要使用 js 初始化弹窗组件:
parent.useDialog(self);
// 调用示例:
var win = document.querySelector("my-dialog.moduleName-edit");
win.open(); // 打开弹窗
// win.close(); // 关闭弹窗


my-dialog 参数:
mode: 弹窗位置,默认值为 auto,表示自动居中。
click: click 为 close 时,点击阴影区会关闭窗口。
btn: 设置返回按钮的文本内容。
2023-03-11 15:35:25 IP:已设置保密
Admin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:231
发帖:14
来自:保密
注册:2023-03-11 15:22:38
造访:2025-11-10 11:21:39
[ 第 3 楼 ] 回复
表单模板
<form>
    <div class="flex must">
        <b>填充标题</b>
        <input name="title" require class="ipt bd" placeholder="请填写标题" />
    </div>
</form>
.must 为必填样式,自动增加 * 提示。
.ipt为内容占位样式,根据总宽度弹性伸缩。常用于 div, select, textarea, input 等标签;
.bd 增加边框样式。

表单绑定
parent.setForm(form, data);
支持绑定 input, textarea, checkbox, radio, select 等表单标签。

表单提交
if(!form.reportValidity()) return;
var data = parent.getForm(form);
parent.post("ApiModule/ApiFunction", data, res => {
    if(res.err) return alert(res.err);
    win.close();
    parent.msg(res.msg);
    grid.load();
});
2023-03-11 15:42:15 IP:已设置保密
Admin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:231
发帖:14
来自:保密
注册:2023-03-11 15:22:38
造访:2025-11-10 11:21:39
[ 第 4 楼 ] 回复
使用表格绑定(支持分页):
<table>
    <thead>
        <tr>
            <th width="60">ID</th>
            <th class="tl">标题</th>
            <th width="100">操作</th>
        </tr>
    </thead>
    <tbody class="tc">
        <tr>
            <td data-html="id">1</td>
            <td data-html="title" class="tl">这是标题</td>
            <td><input type="button" class="btn btn-primary" value="编辑" data-click="onedit" /></td>
        </tr>
    </tbody>
</table>
JS 将对模板中的 data-? 进行处理。目前支持的 data-? 有:
data-html; data-value; data-href; data-src; data-class; data-style; data-checked
这些绑定都支持js模板字符串,例如:data-href="`detail.html#${actid}`"
同时,支持简单的逻辑判断:data-ifdata-else
data-click="onedit" 表示当点击时,将会触发网格 grid 的 onedit 事件,示例见 js 部分。

JS 部分
var grid = parent.loadGrid.call(self, "table.grid1", "ApiModule/ApiFunction", 15); // 默认每页加载 15条
// grid.form.id = 1; // 设置 Ajax 表单参数
grid.onload = function(res) {}; // 如果需要在加载数据之后对数据进行处理
grid.load(); // 立即|重新 加载数据
grid.onedit = function(data) {}; // onedit 事件定义


后端返回数据格式
后端返回格式为: { rows, pager }。注意,需要分页时才返回 pager 参数,此参数调用分页方法后,使用 db()->pager 即可。
2023-03-11 16:02:10 IP:已设置保密
Admin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:231
发帖:14
来自:保密
注册:2023-03-11 15:22:38
造访:2025-11-10 11:21:39
[ 第 5 楼 ] 回复
其他常用 js 方法:
parent.msg(str); // 弱提示

parent.upFile(res => res.path, `${accept}`); // 文件上传
// 第一个参数为回调,封装已处理 res.err 的情况。
// accept 默认值:"image/png,image/jpg,image/gif,image/jpeg"
2023-03-11 18:42:15 IP:已设置保密
分页: 1, 共 1 页
快速回复主题
账号/密码
用户: 没有注册? 密码:
评论内容