allocatr/public/assets/js/backend/dashboard.js
2025-05-28 10:58:35 +08:00

144 lines
5.0 KiB
JavaScript
Executable File
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.

define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme', 'template', 'form'], function ($, undefined, Backend, Datatable, Table, Echarts, undefined, Template, Form) {
var Controller = {
index: function () {
// 基于准备好的dom初始化echarts实例
var myChart = Echarts.init(document.getElementById('echart'), 'walden');
// 指定图表的配置项和数据
var option = {
title: {
text: '',
subtext: ''
},
color: [
"#18d1b1",
"#3fb1e3",
"#626c91",
"#a0a7e6",
"#c4ebad",
"#96dee8"
],
tooltip: {
trigger: 'axis'
},
legend: {
data: [__('Register user')]
},
toolbox: {
show: false,
feature: {
magicType: {show: true, type: ['stack', 'tiled']},
saveAsImage: {show: true}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: Config.column
},
yAxis: {},
grid: [{
left: 'left',
top: 'top',
right: '10',
bottom: 30
}],
series: [{
name: __('Register user'),
type: 'line',
smooth: true,
areaStyle: {
normal: {}
},
lineStyle: {
normal: {
width: 1.5
}
},
data: Config.userdata
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
$(window).resize(function () {
myChart.resize();
});
$(document).on("click", ".btn-refresh", function () {
setTimeout(function () {
myChart.resize();
}, 0);
});
},
task: function () {
$(document).on('click','.spec_add_btn', function (event) {
var url = $(this).attr('data-url');
if(!url) return false;
var msg = $(this).attr('data-title');
var width = $(this).attr('data-width');
var height = $(this).attr('data-height');
var area = [$(window).width() > 800 ? (width?width:'800px') : '95%', $(window).height() > 600 ? (height?height:'600px') : '95%'];
var options = {
shadeClose: false,
shade: [0.3, '#393D49'],
area: area,
callback:function(value){
location.reload(); // 重新加载当前页面
}
};
Fast.api.open(url,msg,options);
});
},
task_complete: function () {
$(document).on('click', '.btn-preview', function (e) {
e.preventDefault();
var fileType = $(this).data('filetype'); // 自动从 data-type 获取,比如 pdf, jpg, doc
var fileUrl = $(this).data('fileurl');
if (fileType === 'pdf') {
Layer.open({
type: 2,
title: '预览PDF文件',
area: ['80%', '80%'],
content: fileUrl
});
} else if (['jpg', 'jpeg', 'png', 'gif', 'webp'].includes(fileType)) {
Layer.photos({
photos: {
"title": "图片预览",
"data": [{"src": fileUrl}]
},
anim: 5
});
} else if (['mp4', 'webm', 'ogg'].includes(fileType)) {
Layer.open({
type: 1,
title: '视频预览',
area: ['800px', '500px'],
content: `<video src="${fileUrl}" width="100%" height="100%" controls autoplay></video>`
});
} else {
window.open(fileUrl, '_blank');
}
});
Form.api.bindevent($("form[role=form]"), function(data, ret){
//这里是表单提交处理成功后的回调函数接收来自php的返回数据
Fast.api.close(data);//这里是重点
}, function(data, ret){
Toastr.success("失败");
});
}
};
return Controller;
});