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