dd/src/pages/inside.html

819 lines
33 KiB
HTML

<include src="./header.html"></include>
<include src="./lefter.html"></include>
<!--内容-->
<div class="f-r content content-pd-50">
<div class="content-auto" data-id="2">
<div class="con-tit font-20 pc-block">
内部文件
</div>
<!---->
<div class="con-search bg-w top20 phone-top-0">
<form class="layui-form" id="search-form">
<div class="layui-form-item">
<label class="layui-form-label">文件类型:</label>
<div class="layui-input-block">
<select name="type">
<option value="">全部类型</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">拟稿人:</label>
<div class="layui-input-block">
<input type="text" name="drafter" class="layui-input" placeholder="请输入拟稿人">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">发布人:</label>
<div class="layui-input-block">
<input type="text" name="createUser" class="layui-input" placeholder="请输入发布人">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">时间段:</label>
<div class="layui-input-block">
<input type="text" name="times" class="layui-input layui-time-time" placeholder="请选择时间段">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">文件号:</label>
<div class="layui-input-block">
<input type="text" name="fileNum" class="layui-input" placeholder="请输入文件号">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">文件名:</label>
<div class="layui-input-block">
<input type="text" name="name" class="layui-input" placeholder="请输入文件名">
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn" id="formDemo" lay-submit lay-filter="formDemo">搜索</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</form>
</div>
<!--内容-->
<div class="con-list bg-w top20 phone-bg-none phone-top-0 pr">
<!--手机-->
<div class="nameMake">
<div class="nameMake-con">
<p class="tit-name">修改文件夹名称</p>
<div class="nameMake-cona">
<p>
<span>文件1</span>
<input type="text">
</p>
</div>
<div class="nameMake-btn">
<button onclick="nameMakeConfirm()">确定修改</button><button>取消修改</button>
</div>
</div>
</div>
<div class="phone-tit phone-block">
<div class="name" id="phone-menu">
<!-- <a href=" index.html">公共文件</a>
<a href="javascript:;" class="active">内部文件</a> -->
</div>
<ul class="con-list-mero con-list-none" role="tablist">
<li role="presentation" class="active">
<a class="img-list" href="#Chart" aria-controls="Chart" role="tab" data-toggle="tab">&nbsp;</a>
</li>
<li role="presentation">
<a href="#tab" aria-controls="tab" role="tab" data-toggle="tab" class="tab-list">&nbsp;</a>
</li>
</ul>
<div class="toolbox">
<ul class="con-list-mero filter-icon" style="display:none">
<li role="presentation">
<a href="javascript:void(0);" id="toggle-filter">&nbsp;</a>
</li>
</ul>
</div>
</div>
<!---->
<div class="name">
<span class="font-14" id="folder-navigation"><i class="icon-back"></i><a href="inside.html" data-id="0">全部文件</a></span>
<input type="hidden" id="navigation" value="">
<div>
<div class="listBtn">
<button type="button" onclick="editorName()">修改名字</button>
<button type="button" onclick="hgiddenFiles()">隐藏文件</button>
<button type="button " onclick="editorButton(this)">编辑文件</button>
</div>
<ul class="con-list-mero pc-block" role="tablist">
<li role="presentation" class="active">
<a class="img-list" href="#Chart" aria-controls="Chart" role="tab" data-toggle="tab">&nbsp;</a>
</li>
<li role="presentation">
<a href="#tab" aria-controls="tab" role="tab" data-toggle="tab" class="tab-list">&nbsp;</a>
</li>
</ul>
</div>
</div>
<div class="con-list-cn tab-content">
<div class="list-content active tab-pane" role="tabpanel" id="Chart">
<ul></ul>
</div>
<div class="list-content tab-pane" role="tabpanel" id="tab">
<table class="table">
<thead>
<tr>
<th>文件名称</th>
<th>文件号</th>
<th>拟稿人</th>
<th>发布人</th>
<th>文件类型</th>
<th>修改时间</th>
<th>操作</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
<!-- 无内容 -->
<div class="no-con-list">
<img src="image/img_02.jpg">
</div>
</div>
</div>
</div>
<!--点击弹出下载-->
<div class="download">
<div class="center-center download-hight">
<div class="download-content bg-w t-c">
<a href="javascript:;" class="close">&nbsp;</a>
<div class="text">
<img src="">
<h3>文件名称</h3>
<p></p>
<a href="#" class="btn1" id="preview-button" onclick="previewBtn(this)">预览</a>
<a onclick="downloadfile(this)" id="download" class="btn2" download="">下载</a>
</div>
</div>
</div>
</div>
<!--点击弹出历史记录-->
<div class="history">
<div class="center-center download-hight">
<div class="history-content bg-w">
<div class="on-name">
<h3 class="font-14">历史记录</h3>
</div>
<a href="javascript:;" class="close">&nbsp;</a>
<div class="p-25">
<table class="table">
<thead>
<tr>
<th>文件名称</th>
<th>文件类型</th>
<th>修改时间</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var ajaxData = {
createUser: '',
drafter: '',
fileNum: '',
isPublic: 0,
name: '',
parentFolderId: 0,
endTime: '',
startTime: '',
type: ''
}
let dataEditor = {
editorIf: true,
editorData: [],
rows: []
}
function editorButton(obj) {
if (dataEditor.editorIf) {
$(obj).html("取消编辑")
} else {
$(obj).html("编辑文件")
$(".onClickListOne").attr("data-click", "1")
$(".onClickListOne").children(".list-img").css("display", "none")
$(".onClickListOne").css("background", "rgba(0,0,0,0)")
$(".onClickListTwo").parent().css("background", "rgba(0,0,0,0)")
$(".onClickListTwo").attr("data-click", "1")
$(".onClickListTwo").prev().css("display", "none")
}
dataEditor.editorIf = !dataEditor.editorIf
}
var serch_flag = false;
$(function () {
var insideIntervalScript = setInterval(function () {
var tmpHaveLogin = localStorage['haveLogin'] || false;
if (tmpHaveLogin) {
clearInterval(insideIntervalScript);
getFileList(ajaxData);
}
}, 500);
layui.use(['form', 'upload', 'element', 'layer'], function () {
var form = layui.form;
var upload = layui.upload;
var element = layui.element;
var layer = layui.layer;
var fileTypeIntervalScript = setInterval(function () {
var tmpHaveLogin = localStorage['haveLogin'] || false;
if (tmpHaveLogin) {
clearInterval(fileTypeIntervalScript);
getFileType();
}
}, 500);
$('#toggle-filter').on('click', function () {
layer.open({
type: 1,
title: ['文件过滤', 'font-size:18px;padding:0;text-align:center'],
content: $('#search-form'),
offset: [0, 0],
area: ['100%', '100%'],
closeBtn: 1,
skin: 'file-filter-layer',
success: function (dom, index) {
dom.find('.layui-btn[lay-submit]').on('click', function () {
layer.close(index);
});
}
})
});
//文件类型
function getFileType() {
$.ajax({
url: host + '/ding/file/getFileType' + '?timetmp=' + Date.parse(new Date()).toString().substr(0, 10),
headers: {
'Blade-Auth': 'bearer ' + accessToken,
},
data: {},
type: "get",
dataType: "json",
success: function (data) {
if (data.code == 200) {
if (data.data.length > 0) {
data.data.forEach(function (item) {
$('.con-search select[name=type]').append(
'<option value="' + item + '">' + item +
'</option>')
})
form.render()
}
// else {
// layer.msg('暂无记录')
// }
} else {
layer.msg(data.msg)
}
},
error: function (data) {
console.log(data);
}
});
}
//搜索
form.on('submit(formDemo)', function (data) {
ajaxData = {
createUser: data.field.createUser,
drafter: data.field.drafter,
fileNum: data.field.fileNum,
isPublic: 0,
name: data.field.name,
//parentFolderId: $("#navigation").val(),
parentFolderId: '',
startTime: data.field.times.split(' - ')[0] || '',
endTime: data.field.times.split(' - ')[1] || '',
type: data.field.type
}
//console.log($("#navigation").val(), 'navigation');
//console.log(ajaxData, 'ajaxData');
// $("#navigation").val(0)
// $('.con-list .name span a').next().remove()
getFileList(ajaxData);
serch_flag = true;
return false;
});
});
})
function init() {
//返回事件
$('.con-list .name span .icon-back').off("click").click(function () {
var that = $(this)
if (serch_flag) {
$("#search-form")[0].reset();
layui.use(['form'], function () {
var form = layui.form;
form.render();
})
$("#navigation").val($('.con-list .name span a').last().attr('data-id'))
var ajaxData = {
createUser: '',
drafter: '',
fileNum: '',
isPublic: 0,
name: '',
parentFolderId: parseInt($('.con-list .name span a').last().attr('data-id')),
endTime: '',
startTime: '',
type: ''
}
getFileList(ajaxData);
} else {
if ($("#navigation").val() != 0) {
var ajaxData = {
createUser: '',
drafter: '',
fileNum: '',
isPublic: 0,
name: '',
parentFolderId: parseInt($('.con-list .name span a').eq(-2).attr('data-id')),
endTime: '',
startTime: '',
type: ''
}
$("#navigation").val($('.con-list .name span a').eq(-2).attr('data-id'))
$('.con-list .name span a').eq(-1).remove();
getFileList(ajaxData)
}
}
serch_flag = false;
});
//路由事件
$('#folder-navigation a').off("click").click(function () {
var that = $(this)
ajaxData.parentFolderId = that.attr('data-id')
ajaxData.name = '';
$('.con-list .name span a').each(function () {
if ($(this).index() >= that.index()) {
$('.con-list .name span a').eq($(this).index()).remove()
}
})
$("#navigation").val(that.attr('data-id'))
getFileList(ajaxData);
serch_flag = false;
})
}
//历史记录
function getHistory(obj) {
$.ajax({
url: host + '/ding/file/getHistory' + '?timetmp=' + Date.parse(new Date()).toString().substr(0, 10),
headers: {
'Blade-Auth': 'bearer ' + accessToken,
},
data: {
groupId: $(obj).attr('data-groupid')
},
type: "get",
dataType: "json",
success: function (data) {
if (data.code == 200) {
if (data.data.length > 0) {
var html = '';
data.data.forEach(function (item) {
html += '<tr>' +
'<td><div class="list-img click-download" onclick="openFile(this)" data-id="' +
item.id + '" data-name="' + item.name + '" data-type="' + item
.type + '" data-url="' + item.url + '" data-time="' + item
.createTime + '" data-dingid="' + item.dingFileId +
'" data-dingname="' + item.dingFileName + '" data-dingsize="' + item
.dingFileSize + '" data-spaceid="' + item.dingSpaceId +
'"><img src="image/icon_22.png"><span>' + item.name +
'</span></div></td>'
html += '<td>';
if (item.isPublic) {
html += '公共文件类型';
} else {
html += '内部文件类型';
}
html += '</td>';
html += '<td>' + item.updateTime + '</td>' +
'</tr>';
})
$(".history .table tbody").html(html)
$(".history").show();
}
// else {
// layer.msg('暂无记录')
// }
} else {
layer.msg(data.msg)
}
},
error: function (data) {
console.log(data);
}
});
}
//打开文件夹
function openFolder(obj) {
dataEditor.editorData = []
dataEditor.editorIf = true
console.log(obj);
ajaxData.parentFolderId = $(obj).attr('data-id')
getFileList(ajaxData)
$("#navigation").val($(obj).attr('data-id'))
$('#folder-navigation').append('<a data-id="' + $(obj).attr('data-id') + '"> > ' + $(obj).text() + '</a>');
serch_flag = false;
}
//预览文件
function openFile(obj) {
var id = $(obj).attr('data-id');
var name = $(obj).attr('data-name');
var type = $(obj).attr('data-type');
var url = $(obj).attr('data-url');
var time = $(obj).attr('data-time');
var dingFileId = $(obj).data('dingid');
var dingFileName = $(obj).data('dingname');
var dingFileSize = $(obj).data('dingsize');
var dingSpaceId = $(obj).data('spaceid');
$('.download .download-content .text h3').text(name)
$('.download .download-content .text p').text(time)
$('.download .download-content .text a.btn2').attr('download', name)
$('.download-content .text img').attr('src', 'image/icon-file/icon_' + type + '.png')
$('#download').data('fileid', id);
var previewButton = $('#preview-button');
previewButton.attr('dingfileid', dingFileId);
previewButton.attr('dingfilename', dingFileName);
previewButton.attr('dingfilesize', dingFileSize);
previewButton.attr('dingspaceid', dingSpaceId);
previewButton.attr('filetype', type);
$('.download').show()
}
function openIf(data) {
console.log(data);
if (dataEditor.editorIf) {
if ($(data).attr("data-if") == 1) {
openFolder(data)
} else {
openFile(data)
}
} else {
if ($(data).attr("data-click") == "1") {
if ($(data).attr("data-if") == 1) {
$(data).children(".list-img").css("display", "block")
$(data).css("background", "#f5f6ff")
dataEditor.editorData.push({
id: $(data).attr("data-id"),
folder: true
})
} else {
$(data).prev().css("display", "block")
$(data).parent().css("background", "#f5f6ff")
dataEditor.editorData.push({
id: $(data).attr("data-id"),
folder: false
})
}
$(data).attr("data-click", "0")
} else {
if ($(data).attr("data-if") == 1) {
$(data).children(".list-img").css("display", "none")
$(data).css("background", "#fff")
let ina = screening(dataEditor.editorData, $(data).attr("data-id"))
dataEditor.editorData.splice(ina, 1)
} else {
$(data).prev().css("display", "none")
$(data).parent().css("background", "#fff")
let ina = screening(dataEditor.editorData, $(data).attr("data-id"))
dataEditor.editorData.splice(ina, 1)
}
$(data).attr("data-click", "1")
}
console.log(dataEditor.editorData);
}
}
// 文件夹重命名
function editorName() {
console.log(dataEditor.rows, "--------------");
console.log(dataEditor.editorData, "--------------");
var arr2 = dataEditor.editorData.some(function (v) {
return v.folder == true;
});
if (arr2) {
layer.msg("不能重命名文件夹")
return
}
let editorNameData = []
for (let index = 0; index < dataEditor.editorData.length; index++) {
for (let k = 0; k < dataEditor.rows.files.length; k++) {
if (dataEditor.editorData[index].id == dataEditor.rows.files[k].id) {
editorNameData.push(dataEditor.rows.files[k])
}
}
}
$(".nameMake").css("display", "flex")
let str = editorNameData.map((v, i) => ` <p>
<span>文件${i + 1}</span>
<input value='${v.name}' data-id="${v.id}" type="text">
</p>`).join("")
$(".nameMake-cona").html(str)
}
function modifyName(data) {
let contentType = "application/json"
let url = host + '/ding/file/updateFile'
dxtcRequest('post', url, JSON.stringify(data), function name(data) {
if (data.code == 200) {
console.log(data);
} else {
layer.msg(data.msg)
}
}, contentType)
}
function nameMakeConfirm(params) {
layer.confirm('确认隐藏这个文件吗?', {
btn: ['确认', '取消'] //可以无限个按钮
,
}, function (index, layero) {
let arr = []
for (let index = 0; index < $(".nameMake-cona input").length; index++) {
arr.push({
name: $($(".nameMake-cona input")[index]).val(),
id: $($(".nameMake-cona input")[index]).attr("data-id")
})
}
for (let index = 0; index < arr.length; index++) {
modifyName(arr[index])
}
getFileList(ajaxData)
$(".nameMake").css("display", "none")
layer.closeAll();
}, function (index) {
layer.closeAll();
});
}
//文件下载
function downloadfile(obj) {
var id = $(obj).data('fileid');
console.log(id)
$.ajax({
url: host + '/ding/file/downLoadFile' + '?timetmp=' + Date.parse(new Date()).toString().substr(0, 10),
headers: {
'Blade-Auth': 'bearer ' + localStorage.accessToken
},
data: {
fileId: id
},
type: "get",
contentType: "application/json",
dataType: "json",
success: function (data) {
if (data.code == 200) {
// $(obj).attr('data', data.data);
console.log(data.data);
window.open(data.data);
} else {
layer.msg(data.msg)
}
},
error: function (data) {
console.log(data);
}
});
}
//隐藏文件
function hideFile(obj) {
layer.confirm('确认隐藏这个文件吗?', {
btn: ['确认', '取消'] //可以无限个按钮
,
}, function (index, layero) {
//按钮【按钮一】的回调
$.ajax({
url: host + '/ding/file/disPlayFile' + '?timetmp=' + Date.parse(new Date()).toString().substr(0, 10),
headers: {
'Blade-Auth': 'bearer ' + localStorage.accessToken
},
data: {
fileId: $(obj).attr("data-id"),
isShow: 0
},
type: "get",
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function (data) {
if (data.code == 200) {
layer.msg('隐藏成功')
getFileList(ajaxData)
} else {
layer.msg(data.msg)
}
},
error: function (data) {
console.log(data);
layer.msg(data.responseJSON.msg)
}
})
}, function (index) {
//按钮【按钮二】的回调
layer.closeAll();
});
return false;
}
function hgiddenFiles(obj) {
var arr2 = dataEditor.editorData.some(function (v) {
return v.folder == true;
});
if (arr2) {
layer.msg("不能隐藏文件夹")
return
}
layer.confirm('确认隐藏这个文件吗?', {
btn: ['确认', '取消'] //可以无限个按钮
,
}, function (index, layero) {
let objD = {
fileIds: [],
isShow: 1
}
for (let index = 0; index < dataEditor.editorData.length; index++) {
objD.fileIds.push(dataEditor.editorData[index].id)
}
let contentType = "application/json"
let url = host + '/ding/file/disPlayFiles'
dxtcRequest('post', url, JSON.stringify(objD), function name(data) {
if (data.code == 200) {
console.log(data);
layer.msg('隐藏成功')
getFileList(ajaxData)
} else {
layer.msg(data.msg)
}
}, contentType)
layer.closeAll();
}, function (index) {
//按钮【按钮二】的回调
layer.closeAll();
});
return false;
}
//点击 显示按钮
function showBtn(obj) {
$(obj).next(".more-edit").toggle();
}
//文件列表
function getFileList(ajaxData) {
$('.list-content#Chart ul').empty()
$('.list-content#tab tbody').empty()
$.ajax({
url: host + '/ding/file/getFileList' + '?timetmp=' + Date.parse(new Date()).toString().substr(0, 10),
headers: {
'Blade-Auth': 'bearer ' + localStorage.accessToken
},
data: ajaxData,
type: "get",
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function (data) {
dataEditor.rows = data.data
if (data.code == 200) {
init()
if (data.data.folders.length > 0) {
data.data.folders.forEach(function (item) {
console.log("======" + item.id + '=====');
var html1 =
'<li class="list onClickListOne onClickList" data-if="1" data-click="1" onclick="openIf(this)" ondblclick="openIf(this)" data-id="' + item.id + '">' +
'<img class="list-img" src="./image/icon_30.png">' +
'<div class="img"><img src="image/' + (item.folderType == "0" ? "icon_11.png" : "icon_11_2.png") + '"></div>' +
'<div class="text-two-hide list-hight">' + item.name + '</div>' +
'</li>'
$('.list-content#Chart ul').append(html1)
var html2 = '<tr>' +
'<td><div class="list-img" data-if="1" data-click="1" onclick="openIf(this)" ondblclick="openIf(this)" data-id="' + item.id + '"><img src="image/' + (item.folderType == "0" ? "icon_11.png" : "icon_11_2.png") + '"><span>' + item.name +
'</span></div></td>' +
'<td></td>' +
'<td></td>' +
'<td></td>' +
'<td id="3">内部文件</td>' +
'<td>' + item.createTime + '</td>' +
'<td></td>'
//+'<td><a href="javascript:;" class="news-red" data-id="'+item.id+'" onclick="getHistory(this)">历史记录</a></td>'
+
'</tr>'
$('.list-content#tab tbody').append(html2)
})
}
if (data.data.files.length > 0) {
data.data.files.forEach(function (item) {
var html1 =
'<li class="list click-download ps onClickList" >'
+
'<img class="list-img" src="./image/icon_30.png">' +
'<div class="img onClickListTwo" data-if="2" data-click="1" onclick="openIf(this)" data-id="' + item.id +
'" data-name="' + item.name + '" data-type="' + item
.type + '" data-url="' + item.url + '" data-time="' + item
.createTime + '" data-dingid="' + item.dingFileId +
'" data-dingname="' + item.dingFileName + '" data-dingsize="' + item
.dingFileSize + '" data-spaceid="' + item.dingSpaceId +
'"><img src="image/icon-file/icon_' + item.type +
'.png"></div>' +
'<div class="text-two-hide list-hight">' + item.name + '</div>' +
'</li>'
$('.list-content#Chart ul').append(html1)
var html2 = '<tr>' +
'<td>'
+ '<div class="more">'
+ '<span onclick="showBtn(this)" >...</span>'
+ '<div class="more-edit" onclick="hideFile(this)" data-id="' + item.id + '" data-name="' + item.name + '">隐藏</div>'
+ '</div>'
+ '<div class="list-img" onclick="openFile(this)" data-id="' +
item.id + '" data-name="' + item.name + '" data-type="' + item
.type + '" data-url="' + item.url + '" data-time="' + item
.createTime + '" ><img src="image/icon-file/icon_' + item.type +
'.png"><span>' + item.name + '</span></div></td>' +
'<td>' + item.number + '</td>' +
'<td><div class="list-img"><span>' + item.drafter +
'</span></div></td>' +
'<td><div class="list-img"><span>' + item.createUser +
'</span></div></td>' +
'<td>' + item.type + '</td>' +
'<td>' + item.createTime + '</td>'
html2 += '<td>';
if (item.isHistory == 1) {
html2 += '<a href="javascript:;" class="news-red" data-groupid="' +
item.groupId + '" onclick="getHistory(this)">历史记录</a>';
}
html2 += '</td>';
html2 += '</tr>';
$('.list-content#tab tbody').append(html2)
})
}
if (data.data.folders.length == 0 && data.data.files.length == 0) {
$('.no-con-list').show()
} else {
$('.no-con-list').hide()
}
} else {
layer.msg(data.msg)
}
},
error: function (data) {
console.log(data);
}
});
}
</script>
<include src="./footer.html"></include>
<!--appfooter-->
<include src="./appFooter.html"></include>