jjsp_web/bns/js/base/code/page.js

299 lines
8.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

let table;
var userTable;
let form;
var per;
let pageNum = 1, limitSize = 10; // 默认第一页分页数量为10
layui.use(['layer', 'form', 'element'], function () {
var layer = layui.layer; //弹层
var laypage = layui.laypage; //分页
table = layui.table; //表格
form = layui.form;
pages(1, 10, 1);
$(".layui-add").click(function () {
layer.open({
title: '新增编码',
type: 2,
area: ['40%', '70%'],
content: '../../../html/base/code/add.html',
cancel: function () {
// layer.msg('捕获就是从页面已经存在的元素上包裹layer的结构', {time: 5000, icon:6});
},
btn: ['确定', '取消'] //只是为了演示
, yes: function (index, leyuo) {
var body = layer.getChildFrame('body', index);
body.find('#add-code').click();
}
, btn2: function () {
layer.closeAll();
}
});
})
$(".layui-del").click(function () {
console.log("批量删除");
var checkStatus = table.checkStatus('userTable') // 获取选中状态
if(checkStatus){
if(checkStatus.data.length>0){
var ids='';
for (var i = 0; i < checkStatus.data.length; i++) {
if(ids){
ids=ids+"@"+checkStatus.data[i].id;;
}else{
ids=checkStatus.data[i].id;
}
}
console.log(ids);
delData(ids);
}
}else{
console.log("未选择数据");
}
})
$("#query").off().click(function () {
pages(1, limitSize);
return;
})
//重置
$("#reset").off().click(function () {
$("#keyWord").val('')
pages(1, limitSize);
})
// 头工具栏事件
table.on('tool(user-table)', function (obj) {
console.log(obj);
var event = obj.event;
var key = obj.data.id;//唯一值
if (event == 'update') {//修改数据
layer.open({
title: '修改编码',
type: 2,
area: ['40%', '70%'],
content: '../../../html/base/code/update.html',
btn: ['确定', '取消']
, success: function (layero, index) {
var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']];//获得iframe页的窗口对象执行iframe页的方法
iframeWin.setForm(key);//调用子页面的方法,页面锁定
}
, yes: function (index, leyuo) {
var body = layer.getChildFrame('body', index);
body.find('#add-code').click();
}
, btn2: function () {
layer.closeAll();
}
});
} else if (event == 'del') {//删除数据
layer.msg('确定删除该数据?', {
time: 10000, //10s后自动关闭
btn: ['确定', '取消']
, yes: function (index, leyuo) {
// console.log("确定");、
layer.closeAll();
delData(key)
}
});
}
})
//查询按钮
})
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + 'system/sys/dict/getJjCodeList',
data: params,
type: 'POST',
async: false,
success: function (result) {
console.log(result)
if (result.code === 200) {
if (result.data) {
initTable(result.data, result.limit, result.curr)
laypages(result.count, result.curr, result.limit)
}
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
} else if (result.code === 401) {
logout(1);
}
}, error: function () {
}
});
}
function laypages(total, page, limit) {
layui.use(['laypage'], function () {
let laypage = layui.laypage;
laypage.render({
elem: 'voi-page',
count: total,
curr: page,
limit: limit,
limits: [10,20,50,100,200,500],
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
groups: 5,
jump: function (obj, first) {
if (!first) {
pageNum = obj.curr, limitSize = obj.limit;
pages(obj.curr, obj.limit, null);
}
}
});
})
}
//初始化表格
function initTable(dataList, limit, page) {
// 执行一个 table 实例
userTable = table.render({
id: 'userTable',
elem: '#user-table',
height: "full-220",
data: dataList,
limit: limit,
cols: [[ //表头
{type: 'checkbox', fixed: 'left'},
{field: 'id', title: 'ID', width:80, fixed: 'left', align:'center'},
{field: 'code', title: '编码', align: 'center'},
{field: 'name', title: '中午名称', align: 'center'},
{field: 'codeValue', title: '编号', align: 'center'},
{field: 'value', title: '名称', align: 'center'},
{field: 'remarks', title: '备注', align: 'center'},
{field: 'major', title: '专业', align: 'center'},
{fixed: 'right', title: '操作', align: 'center', toolbar: '#code-bar'}
]]
});
}
function getReqParams(page, limit, type) {
let obj = {};
if (!type) {
obj = {
page: page + "",
limit: limit + "",
keyWord: $("#keyWord").val(),
orgId: $("#orgId").val(),
roleId: $("#roleId").val(),
status: $("#status").val()
};
} else {
obj = {
page: '1',
limit: '10',
keyWord: '',
orgId: '',
roleId: '',
status: ''
};
}
return obj;
}
//删除数据
function delData(id) {
let objParams = {
params: id + ''
}
Ajax().post({
headers: {
"encrypt": sm3(JSON.stringify(objParams))
},
url: dataUrl + 'system/sys/dict/deleteCode',
data: objParams,
async: true,
success: function (data) {
if (data.code == '200') {
layer.msg(data.msg, {
icon: 1,
time: 2000 //2秒关闭如果不配置默认是3秒
});
reloadTable();
} else if(data.code === 401){
logout(1)
}else {
layer.msg(data.msg, {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
}
});
}
function reloadTable() {
pages(pageNum, limitSize);
}
//角色下拉选
function getRoleSelect() {
Ajax().post({
headers: {
"encrypt": sm3(JSON.stringify({
params: '1'
}))
},
url: dataUrl + 'system/sys/selected/getRoleSelected',
data: {
params: '1'
},
async: true,
success: function (data) {
var html = "";
$(".roleId").empty();
html += "<option value=''>请选择角色</option>"
if (data != null && data.length > 0) {
for (var i = 0; i < data.length; i++) { //循环LIST
var code = data[i].code;//获取LIST里面的对象
var name = data[i].name;//获取LIST里面的对象
html += "<option value='" + code + "'>" + name + "</option>";
}
;
}
$(".roleId").append(html);
form.render();
}
});
}
//组织机构下拉选
function initOrgSelect() {
Ajax().post({
headers: {
"encrypt": sm3(JSON.stringify({
params: '2'
}))
},
url: dataUrl + 'system/sys/selected/getOrgSelected',
data: {
params: '2'
},
async: true,
success: function (data) {
var html = "";
$(".orgId").empty();
html += "<option value=''>请选择组织机构</option>"
if (data != null && data.length > 0) {
for (var i = 0; i < data.length; i++) { //循环LIST
var code = data[i].code;//获取LIST里面的对象
var name = data[i].name;//获取LIST里面的对象
html += "<option value='" + code + "'>" + name + "</option>";
}
;
}
$(".orgId").append(html);
form.render();
}
});
}