179 lines
8.4 KiB
HTML
179 lines
8.4 KiB
HTML
<resource-share type="script" src="/assets/js/formConfigs/TestForm.js"></resource-share>
|
|
<resource-share type="style" src="/assets/css/formpower.css"></resource-share>
|
|
<resource-share type="style" src="/assets/lib/NeoUI/NeoWebUI3/WebUI3.css"></resource-share>
|
|
|
|
<div class="layui-fluid">
|
|
<div class="layui-row layui-col-space15">
|
|
<div class="layui-col-md12">
|
|
<div class="layui-card" id="Member-Card"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
const TABLE_CONFIG = {
|
|
base: {
|
|
cardId: 'Member-Card',
|
|
primaryKey: 'id',
|
|
api: {
|
|
get: '/API/FormAPI/Get/TestForm',
|
|
modify: '/API/FormAPI/ModifyItem/TestForm',
|
|
add: '/API/FormAPI/Add/TestForm',
|
|
edit: '/API/FormAPI/Modify/TestForm',
|
|
delete: '/API/FormAPI/Delete/TestForm'
|
|
},
|
|
editableFields: ['username', 'email', 'phone', 'age', 'height', 'weight', 'address'],
|
|
toolbarBtns: [
|
|
{ name: "新增用户", class: 'primary', event: 'NewMember' },
|
|
{ name: "批量删除", class: '', event: 'BatchDelete' },
|
|
{ name: "导出数据", class: '', event: 'Export' },
|
|
{ name: "刷新", class: '', event: 'Refresh' },
|
|
{ name: "展开全部", class: '', event: 'FullChecked' },
|
|
{ name: "收起全部", class: '', event: 'FullOutChecked' }
|
|
],
|
|
toolsBtns: [
|
|
{ name: "查看", class: 'view', event: 'detail' },
|
|
{ name: "编辑", class: '', event: 'edit' },
|
|
{ name: "更多 <i class=\"layui-icon layui-icon-down\"></i>", class: '', event: 'more' }
|
|
]
|
|
},
|
|
primaryKey: 'id',
|
|
render: {
|
|
method: 'GET',
|
|
tree: { view: { iconLeaf: '<i class="layui-icon layui-icon-username"></i>' } },
|
|
cols: [[
|
|
{ type: 'checkbox', fixed: 'left' },
|
|
{ field: 'id', title: 'ID', width: 80, sort: true },
|
|
{ field: 'username', title: '用户名', width: 120, edit: 'text' },
|
|
{ field: 'email', title: '邮箱', width: 180, edit: 'text' },
|
|
{ field: 'phone', title: '手机号', width: 130, edit: 'text' },
|
|
{ field: 'gender', title: '性别', width: 80 },
|
|
{ field: 'age', title: '年龄', width: 80, sort: true, edit: 'text' },
|
|
{ field: 'height', title: '身高', width: 80, edit: 'text' },
|
|
{ field: 'weight', title: '体重', width: 80, edit: 'text' },
|
|
{ field: 'is_active', title: '是否激活', width: 100, templet: d => d.is_active ? '<span class="layui-badge layui-bg-green">是</span>' : '<span class="layui-badge">否</span>' },
|
|
{ field: 'join_time', title: '加入时间', width: 160, sort: true },
|
|
{ field: 'birthday', title: '生日', width: 120 },
|
|
{ field: 'last_login_time', title: '最后登录时间', width: 160 },
|
|
{ field: 'address', title: '地址', minWidth: 200, edit: 'text' },
|
|
{ field: 'avatar_url', title: '头像', width: 100, templet: d => d.avatar_url ? `<img src="${d.avatar_url}" style="height:30px;width:30px;border-radius:50%;">` : '' },
|
|
{ field: 'status', title: '状态', width: 100, templet: d => {
|
|
if(d.status == 1) return '<span class="layui-badge layui-bg-green">正常</span>';
|
|
if(d.status == 2) return '<span class="layui-badge layui-bg-orange">禁用</span>';
|
|
return '<span class="layui-badge layui-bg-gray">删除</span>';
|
|
}},
|
|
{ field: 'ext_info', title: '扩展信息', width: 100, templet: d => d.ext_info ? JSON.stringify(d.ext_info) : '' },
|
|
{ fixed: 'right', title: '操作', width: 250, align: 'center'}
|
|
]],
|
|
height: 530,
|
|
page: {
|
|
layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
|
|
limits: [10, 20, 50, 100, 500, 1000],
|
|
limit: 10,
|
|
curr: 1
|
|
},
|
|
parseData: res => ({
|
|
code: res.code === 0 ? 0 : 1,
|
|
msg: res.msg,
|
|
count: res.total || 0,
|
|
data: res.data
|
|
}),
|
|
request: { pageName: 'PageIndex', limitName: 'PageSize' }
|
|
},
|
|
events: {
|
|
toolbar: {
|
|
FullChecked: (manager) => {
|
|
util.showMsg('成功展开全部');
|
|
treeTable.expandAll(manager.instanceId, true);
|
|
},
|
|
FullOutChecked: (manager) => {
|
|
util.showMsg('成功收起全部');
|
|
treeTable.expandAll(manager.instanceId, false);
|
|
},
|
|
Refresh: (manager) => {
|
|
manager.reloadTable();
|
|
util.showMsg('已刷新');
|
|
},
|
|
NewMember: (manager) => {
|
|
formEngine.openRegisteredForm('user-add', {
|
|
confirm: (data, close) => {
|
|
util.request(manager.config.base.api.add, data, 'POST')
|
|
.then(res => {
|
|
if (res.code == 0) {
|
|
util.showMsg('成功添加成员');
|
|
manager.reloadTable({ reset: true });
|
|
close();
|
|
} else {
|
|
util.showMsg(`添加失败:${res.msg}`, 5);
|
|
}
|
|
})
|
|
.catch(error => {
|
|
util.showMsg(util.formatErrorMsg(error), 5);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
},
|
|
tool: {
|
|
detail: (trData, trObj, manager) => {
|
|
gerp.addTab(
|
|
`成员 - 视图 [${trData.MemberName}]`,
|
|
`/WorkGroup/MemberMember.html?MemberUUID=${trData.MemberUUID}`
|
|
);
|
|
},
|
|
edit: (trData, trObj, manager) => {
|
|
formEngine.openRegisteredForm('user-edit', {
|
|
data: trData,
|
|
confirm: (data, close) => {
|
|
data.id = trData.id;
|
|
util.request(manager.config.base.api.edit, data, 'POST')
|
|
.then(res => {
|
|
if (res.code == 0) {
|
|
util.showMsg('成功修改成员');
|
|
manager.reloadTable({ reset: true });
|
|
close();
|
|
} else {
|
|
util.showMsg(`修改失败:${res.msg}`, 5);
|
|
}
|
|
})
|
|
.catch(error => {
|
|
util.showMsg(util.formatErrorMsg(error), 5);
|
|
});
|
|
}
|
|
});
|
|
},
|
|
more: (trData, trObj, manager) => {
|
|
dropdown.render({
|
|
elem: trObj.tr,
|
|
show: true,
|
|
align: 'right',
|
|
data: [{ title: '删除', id: 'del' }],
|
|
click: (menudata) => {
|
|
if (menudata.id === 'del') {
|
|
layer.confirm("确定要删除此成员吗?删除后不可恢复!", { title: '删除确认', icon: 3 }, index => {
|
|
util.request(manager.config.base.api.delete, { id: trData.id }, 'POST')
|
|
.then(res => {
|
|
if (res.code == 0) {
|
|
util.showMsg('成功删除');
|
|
manager.reloadTable({ reset: true });
|
|
} else {
|
|
util.showMsg(`删除失败:${res.msg}`, 5);
|
|
}
|
|
})
|
|
.catch(error => {
|
|
util.showMsg(util.formatErrorMsg(error), 5);
|
|
});
|
|
layer.close(index);
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
tableManager = new tableEngine.TableManager(TABLE_CONFIG);
|
|
tableManager.init();
|
|
</script>
|