Files
orzar-admin/assets/js/email.js
T
2025-06-06 09:07:50 +08:00

193 lines
6.4 KiB
JavaScript
Executable File

layui.use(['form', 'table'], function () {
var $ = layui.jquery,
form = layui.form,
table = layui.table;
// 获取当前语言
var currentLang = localStorage.getItem('language') || 'zh';
var lang = langConfig[currentLang];
var tableInitb = table.render({
elem: '#currentTableId',
url: lang.baseUrl+'console/email/subscribe',
headers: {
Authorization: sessionStorage.tokencar,
lang:localStorage.getItem('language')?localStorage.getItem('language'):"zh"
},
// toolbar: '#toolbarDemo',
defaultToolbar: ['filter', 'exports', 'print', {
title: '提示',
layEvent: 'LAYTABLE_TIPS',
icon: 'layui-icon-tips'
}],
parseData: function(res) { //res 即为原始返回的数据
console.log(res)
return {
"code": 0, //解析接口状态
"msg": 'message', //解析提示文本
"count": res.data.meta.total, //解析数据长度
"data": res.data.list //解析数据列表
};
},
cols: [[
{type: "checkbox"},
{field: 'id', title: 'ID', sort: true},
{field: 'email', title:lang.email.name},
{field: 'ip', minWidth: 100,title: lang.email.ip},
{field: 'created_at',title: lang.alllist.create_time},
{field: 'updated_at',title: lang.alllist.update_time},
// {title: lang.alllist.operation, minWidth: 150, toolbar: '#currentTableBar', align: "center"}
]],
done: function(){
// 表格渲染完成后绑定图片点击事件
$('img[lay-src]').on('click', function(){
var imgSrc = $(this).attr('lay-src');
layer.photos({
photos: {
"data": [{
"src": imgSrc
}]
},
anim: 5
});
});
},
limits: [10, 15, 20, 25, 50, 100],
limit: 10,
page: true,
skin: 'line',
done: function(res, curr, count){
window.i18n.updatePageContent();
}
});
// 监听搜索操作
form.on('submit(data-search-btn)', function (data) {
var result = JSON.stringify(data.field);
table.reload('currentTableId', {
page: {
curr: 1
}
, where: {
name: data.field.name,
status: data.field.status,
}
}, 'data');
return false;
});
/**
* toolbar监听事件
*/
table.on('toolbar(currentTableFilter)', function (obj) {
if (obj.event === 'add') { // 监听添加操作
var index = layer.open({
title: lang.userlist.add,
type: 2,
shade: 0.2,
maxmin:true,
shadeClose: true,
area: ['70%', '80%'],
btn: [lang.audit.confirm, lang.audit.cancel],
content: '../page/table/typeadd.html',
yes: function (index, layero) {
var iframeWindow = window['layui-layer-iframe' + index]
, submitID = 'saveBtn'
, submit = layero.find('iframe').contents().find('#' + submitID);
//监听提交
iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
var field = data.field; //获取提交的字段
self.typesadd({
type: 'post',
data: data.field,
successCallBack: function (result) {
layer.msg(result.message)
layer.close(index); //关闭弹层
tableInitb.reload()
},
failCallBack: function (result) {
alert(result.message);
}
})
console.log(field)
});
submit.trigger('click');
}
});
$(window).on("resize", function () {
layer.full(index);
});
} else if (obj.event === 'delete') { // 监听删除操作
var checkStatus = table.checkStatus('currentTableId')
, data = checkStatus.data;
layer.alert(JSON.stringify(data));
}
});
//监听表格复选框选择
table.on('checkbox(currentTableFilter)', function (obj) {
console.log(obj)
});
table.on('tool(currentTableFilter)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
var index = layer.open({
title: lang.audit.edit_title,
type: 2,
shade: 0.2,
maxmin:true,
shadeClose: true,
area: ['70%', '80%'],
btn: [lang.audit.confirm, lang.audit.cancel],
content: '../page/table/typeedit.html?id='+data.id,
yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'saveBtn'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field; //获取提交的字段
self.typesupdate({
type:'post',
data:data.field,
successCallBack: function(result){
layer.msg(result.message)
layer.close(index); //关闭弹层
tableInitb.reload()
},
failCallBack: function(result){
alert(result.message);
}
})
});
submit.trigger('click');
}
});
$(window).on("resize", function () {
layer.full(index);
});
return false;
}else if (obj.event === 'delete') {
layer.confirm(lang.audit.confirm_delete, function(index) {
self.typesdelete({
type:'post',
data:{id:data.id},
successCallBack: function(result){
layer.msg(result.message, {
icon: 1,
time: 1000
});
tableInitb.reload()
},
failCallBack: function(result){
alert(result.message);
window.location.reload()
}
})
});
}
});
});