safesite/enp/templates/archives.html

389 lines
13 KiB
HTML
Raw Permalink 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.

<style type="text/css">
#content {
border: 1px solid saddlebrown;
padding: 16px;
border-radius: 2px
}
.list {
top: 15px;
width: 140px;
height: 40px;
border: 1px solid #0082E6;
display: inline-block;
border-radius: 2px;
position: relative;
line-height: 40px;
}
#file {
position: absolute;
opacity: 0;
color: white;
width: 100%;
height: 100%;
z-index: 100;
}
.list span {
display: inline-block;
text-align: center;
width: 100%;
line-height: 40px;
position: absolute;
color: #0082E6;
}
video {
margin-top: 8px;
border-radius: 4px;
}
._p {
margin: 14px;
}
._p input {
display: inline-block;
width: 70%;
margin-left: 6px;
}
._p span {
font-size: 15px;
}
.container {
width: 100%;
height: 20px;
background-color: gray;
}
#progress {
height: 20px;
background-color: orange;
display: inline-block;
}
.btn {
text-align: center;
color: #0082E6;
width: 140px;
height: 41px;
border: 1px solid #0082E6;
display: inline-block;
border-radius: 2px;
position: relative;
line-height: 40px;
background-color: white;
}
.ploadname {
display: inline-block;
text-align: center;
color: #0082E6;
height: 40px;
display: inline-block;
border-radius: 2px;
position: relative;
line-height: 40px;
background-color: white;
}
</style>
<div id="edubar" style="padding: 4px;height: 40px;background-color:#FCFCFC">
<div id="wasteTableBar">
<a onclick="addAechives()" class="easyui-linkbutton" data-options="iconCls: 'fa-plus',plain: true">新增</a>
<a onclick="delArchives()" class="easyui-linkbutton" data-options="iconCls: 'fa-trash',plain: true">删除</a>
</div>
</div>
<table id="mgttab" style="width:100%;height:100%;text-align: center;"></table>
<div id="arechivesDialog" class="easyui-dialog" style="width:600px;height:600px;padding:5px 15px;"
data-options="resizable:true,modal:true,closed:true,border:false">
<form method="post" id="arechivesForm">
<input name="id" type="hidden">
<div style="margin-bottom:10px">
<input name="title" data-options="label:'档案名称:'" class="easyui-textbox" style="width:480px;" required></input>
</div>
<div style="margin-bottom:10px">
<input name="createdate" data-options="label:'上传时间:'" class="easyui-datetimebox" style="width:480px;" data-options="currentText:'今天',closeText:'关闭',showSeconds:false" required></input>
</div>
<div style="margin-bottom:10px">
<input id="type" name="type" data-options="label:'文件类型:'" class="easyui-textbox" style="width:480px">
</div>
<div style="margin-bottom:10px">
<input name="note" data-options="label:'备注',multiline:true" class="easyui-textbox" style="width:480px;height:60px" ></input>
</div>
<div id="content">
<p class="_p">
<span>选择文件: </span>
<!--文件选择按钮-->
<a class="list" href="javascript:;">
<input id="file" type="file" name="myfile" accept=".txt,.ppt,.doc,.pdf,dot" onchange="UpladFile(this);" /><span>选择文件</span>
</a>
<a class="el-upload-list__item-name">
<i class="el-icon-document"></i><span class="ploadname" id="fileName"></span>
</a>
<span id="url" style="display:none"></span>
</p>
<!--进度条-->
<div class="el-progress el-progress--line" style="display: none;">
<div class='container'>
<span id="progress"></span>
</div>
<!--上传速度显示-->
<span id="time"></span>
</div>
</div>
<div style="text-align: center;margin-top:20px">
<a class="easyui-linkbutton" iconCls="fa-floppy-o" onclick="saveArchives()">保存</a>
</div>
</form>
</div>
<script>
$("#type").combobox({
url: '/api/enp/archives/dic/?dicclass=60',
valueField: 'value',
textField: 'text',
editable: false,
});
$('#mgttab').datagrid({
url: '/api/enp/archives/listall/',
rownumbers: true,
singleSelect: true,
striped: true,
fitColumns: true,
method: 'get',
pagination: 'true',
pageSize: 20,
border: false,
toolbar:'#edubar',
columns: [[
{ field: 'id', title: 'ID', hidden: true },
{ field: 'title', title: '档案名称', width: 100 },
{ field: 'type__dickeyname', title: '档案类型', width: 100 },
{ field: 'createdate', title: '上传时间', width: 100 },
{ field: 'createuser__name', title: '创建人', width: 100 },
{ field: 'note', title: '备注', width: 100 },
{
field: 'path', title: '点击观看', width: 100, formatter: function (value, row, index) {
return '<a style="color:blue" target="_blank" href="' + row.path + '" id="one">点击查看</a>';
}
},
]]
});
var xhr;//异步请求对象
var ot; //时间
var oloaded;//大小
//上传文件方法
function UpladFile(target, id) {
var fileObj = document.getElementById("file").files[0]; // js 获取文件对象
if (fileObj.name) {
$(".el-upload-list").css("display", "block");
$(".el-upload-list li").css("border", "1px solid #20a0ff");
if (fileObj == undefined || fileObj == "") {
alert("请选择文件");
return false;
};
var filetypes = [ ".txt", ".ppt", ".doc", ".pdf", ".dot"];//判断上传文件格式类型
var filepath = target.value;
if (filepath) {
var isnext = false;
var fileend = filepath.substring(filepath.indexOf("."));
if (filetypes && filetypes.length > 0) {
for (var i = 0; i < filetypes.length; i++) {
if (filetypes[i] == fileend) {
isnext = true;
break;
}
}
}
if (!isnext) {
alert("不接受此文件类型!");
target.value = "";
return false;
}
} else {
return false;
}
var imagSize = fileObj.size;
if (imagSize > 1024 * 1024 * 10) {
alert("文件大小为:" + (imagSize / (1024 * 1024)).toFixed(2) + "M超出了10M");
return false;
}
var url = "/api/enp/archives/upload/"; // 接收上传文件的后台地址
var form = new FormData(); // FormData 对象
form.append("mf", fileObj); // 文件对象
xhr = new XMLHttpRequest(); // XMLHttpRequest 对象
xhr.open("post", url, true); //post方式url为服务器请求地址true 该参数规定请求是否异步处理。
xhr.onload = uploadComplete; //请求完成
xhr.onerror = uploadFailed; //请求失败
xhr.upload.onprogress = progressFunction; //【上传进度调用方法实现】
xhr.upload.onloadstart = function () { //上传开始执行方法
ot = new Date().getTime(); //设置上传开始时间
oloaded = 0; //设置上传开始时以上传的文件大小为0
};
xhr.send(form); //开始上传发送form数据
$("#fileName").text(fileObj.name);
}
else {
alert("请选择文件");
}
}
//上传进度实现方法,上传过程中会频繁调用该方法
function progressFunction(evt) {
// event.total是需要传输的总字节event.loaded是已经传输的字节。如果event.lengthComputable不为真则event.total等于0
if (evt.lengthComputable) {
$(".el-progress--line").css("display", "block");
var percent = Math.round(evt.loaded * 100 / evt.total);
/*进度条显示进度*/
document.getElementById('progress').innerHTML = Math.round(evt.loaded / evt.total * 100) + "%";
document.getElementById('progress').style.width = percent.toFixed(2) + '%';
}
var time = document.getElementById("time");
var nt = new Date().getTime(); //获取当前时间
var pertime = (nt - ot) / 1000; //计算出上次调用该方法时到现在的时间差单位为s
ot = new Date().getTime(); //重新赋值时间,用于下次计算
var perload = evt.loaded - oloaded; //计算该分段上传的文件大小单位b
oloaded = evt.loaded; //重新赋值已上传文件大小,用以下次计算
//上传速度计算
var speed = perload / pertime; //单位b/s
var bspeed = speed;
var units = 'b/s'; //单位名称
if (speed / 1024 > 1) {
speed = speed / 1024;
units = 'k/s';
}
if (speed / 1024 > 1) {
speed = speed / 1024;
units = 'M/s';
}
speed = speed.toFixed(1);
//剩余时间
var resttime = ((evt.total - evt.loaded) / bspeed).toFixed(1);
time.innerHTML = '上传速度:' + speed + units + ',剩余时间:' + resttime + 's';
if (bspeed == 0)
time.innerHTML = '上传已取消';
}
//上传成功响应
function uploadComplete(evt) {
//服务断接收完文件返回的结果 注意返回的字符串要去掉双引号
if (evt.target.responseText) {
var data = JSON.parse(evt.target.responseText);
if (data.code = 1) {
var str = data.filepath;
document.getElementById('url').innerHTML = str;
alert("上传成功!");
}
} else {
alert("上传失败");
}
}
//上传失败
function uploadFailed(evt) {
alert("上传失败!");
}
//新增档案
function addAechives() {
$('#arechivesDialog').dialog('open').dialog('setTitle', '新增档案文件').window('center');
$('#arechivesForm').form('clear');
$('#typeFormItem').attr('value',1);
waste_action_url = '/api/enp/archives/create/'
}
//提交
function saveArchives(){
var data = $('#arechivesForm').serializeJSON();
data['filepath'] = document.getElementById('url').innerHTML;
$.ajax({
type: "POST",
url: waste_action_url,
data: JSON.stringify(data),
datatype: "json",
processData: false,
contentType: "application/json;charset=utf-8",
beforeSend: function () {
return $('#arechivesForm').form('validate')
},
success: function (data) {
$("#mgttab").datagrid('reload');
$("#arechivesDialog").dialog("close");
},
});
}
//编辑数据
function editArchives(){
var row = $('#mgttab').datagrid('getSelected');
if(row){
$('#arechivesDialog').dialog('open').dialog('setTitle', '编辑档案文件').window('center');
$('#arechivesForm').form('load', row);
waste_action_url = '/api/enp/archives/update/'}
else{
$.messager.alert('提示', '请选择一条数据!');
}
}
//删除数据
function delArchives() {
var row = $('#mgttab').datagrid('getSelected');
if (row) {
$.messager.confirm('提示', '确定删除吗?', function (r) {
if (r) {
var data = { id: row.id }
$.ajax({
type: "POST",
url: '/api/enp/archives/delete/',
data: JSON.stringify(data),
datatype: "json",
beforeSend: function () { },
success: function (data) {
if (data.code == 1) {
$("#mgttab").datagrid('reload');
}
else {
$.messager.alert('提示', '操作失败!');
}
},
});
}
});
}
else { $.messager.alert('提示', '请选择一条数据!'); }
}
</script>