|
@@ -1,631 +0,0 @@
|
|
|
-<!doctype html>
|
|
|
-<html>
|
|
|
-<head>
|
|
|
-<meta charset="utf-8">
|
|
|
-<title>报告模板上传</title>
|
|
|
-
|
|
|
-<script src="js/jquery.min.js"></script>
|
|
|
-
|
|
|
-<style>
|
|
|
-html,
|
|
|
-body {
|
|
|
- height: 100%;
|
|
|
- margin: 0;
|
|
|
- padding: 0;
|
|
|
-}
|
|
|
-
|
|
|
-body {
|
|
|
- font-family: 'Roboto', sans-serif;
|
|
|
- background: -webkit-linear-gradient(bottom, #4F6072, #8699AA);
|
|
|
- background: linear-gradient(to top, #4F6072, #8699AA);
|
|
|
- display: -webkit-box;
|
|
|
- display: -ms-flexbox;
|
|
|
- display: flex;
|
|
|
- -webkit-box-pack: center;
|
|
|
- -ms-flex-pack: center;
|
|
|
- justify-content: center;
|
|
|
- -webkit-box-align: center;
|
|
|
- -ms-flex-align: center;
|
|
|
- align-items: center;
|
|
|
-}
|
|
|
-
|
|
|
-.upload {
|
|
|
- position: relative;
|
|
|
- width: 400px;
|
|
|
- min-height: 445px;
|
|
|
- box-sizing: border-box;
|
|
|
- border-radius: 5px;
|
|
|
- box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
|
|
|
- padding-bottom: 20px;
|
|
|
- background: #fff;
|
|
|
- -webkit-animation: fadeup .5s .5s ease both;
|
|
|
- animation: fadeup .5s .5s ease both;
|
|
|
- -webkit-transform: translateY(20px);
|
|
|
- transform: translateY(20px);
|
|
|
- opacity: 0;
|
|
|
- text-align: center;
|
|
|
- margin: 0px auto;
|
|
|
-}
|
|
|
-.upload .upload-files header {
|
|
|
- background: #4db6ac;
|
|
|
- text-align: center;
|
|
|
-}
|
|
|
-.upload .upload-files header p {
|
|
|
- color: #fff;
|
|
|
- font-size: 40px;
|
|
|
- margin: 0;
|
|
|
- padding: 50px 0;
|
|
|
-}
|
|
|
-.upload .upload-files header p i {
|
|
|
- -webkit-transform: translateY(20px);
|
|
|
- transform: translateY(20px);
|
|
|
- opacity: 0;
|
|
|
- font-size: 30px;
|
|
|
- -webkit-animation: fadeup .5s 1s ease both;
|
|
|
- animation: fadeup .5s 1s ease both;
|
|
|
-}
|
|
|
-.upload .upload-files header p .up {
|
|
|
- font-weight: bold;
|
|
|
- -webkit-transform: translateX(-20px);
|
|
|
- transform: translateX(-20px);
|
|
|
- display: inline-block;
|
|
|
- opacity: 0;
|
|
|
- -webkit-animation: faderight .5s 1.5s ease both;
|
|
|
- animation: faderight .5s 1.5s ease both;
|
|
|
-}
|
|
|
-.upload .upload-files header p .load {
|
|
|
- display: inline-block;
|
|
|
- font-weight: 100;
|
|
|
- margin-left: -8px;
|
|
|
- -webkit-transform: translateX(-20px);
|
|
|
- transform: translateX(-20px);
|
|
|
- opacity: 0;
|
|
|
- -webkit-animation: faderight 1s 1.5s ease both;
|
|
|
- animation: faderight 1s 1.5s ease both;
|
|
|
-}
|
|
|
-.upload .upload-files .body {
|
|
|
- text-align: center;
|
|
|
- padding: 50px 0;
|
|
|
- padding-bottom: 30px;
|
|
|
-}
|
|
|
-.upload .upload-files .body.hidden {
|
|
|
- display: none;
|
|
|
-}
|
|
|
-.upload .upload-files .body input {
|
|
|
- visibility: hidden;
|
|
|
-}
|
|
|
-.upload .upload-files .body i {
|
|
|
- font-size: 65px;
|
|
|
- color: lightgray;
|
|
|
-}
|
|
|
-.upload .upload-files .body p {
|
|
|
- font-size: 14px;
|
|
|
- padding-top: 15px;
|
|
|
- line-height: 1.4;
|
|
|
-}
|
|
|
-.upload .upload-files .body p b,
|
|
|
-.upload .upload-files .body p a {
|
|
|
- color: #4db6ac;
|
|
|
-}
|
|
|
-.upload .upload-files .body.active {
|
|
|
- border: dashed 2px #4db6ac;
|
|
|
-}
|
|
|
-.upload .upload-files .body.active i {
|
|
|
- box-shadow: 0 0 0 -3px #fff, 0 0 0 lightgray, 0 0 0 -3px #fff, 0 0 0 lightgray;
|
|
|
- -webkit-animation: file .5s ease both;
|
|
|
- animation: file .5s ease both;
|
|
|
-}
|
|
|
-@-webkit-keyframes file {
|
|
|
- 50% {
|
|
|
- box-shadow: -8px 8px 0 -3px #fff, -8px 8px 0 lightgray, -8px 8px 0 -3px #fff, -8px 8px 0 lightgray;
|
|
|
- }
|
|
|
- 75%,
|
|
|
- 100% {
|
|
|
- box-shadow: -8px 8px 0 -3px #fff, -8px 8px 0 lightgray, -16px 16px 0 -3px #fff, -16px 16px 0 lightgray;
|
|
|
- }
|
|
|
-}
|
|
|
-@keyframes file {
|
|
|
- 50% {
|
|
|
- box-shadow: -8px 8px 0 -3px #fff, -8px 8px 0 lightgray, -8px 8px 0 -3px #fff, -8px 8px 0 lightgray;
|
|
|
- }
|
|
|
- 75%,
|
|
|
- 100% {
|
|
|
- box-shadow: -8px 8px 0 -3px #fff, -8px 8px 0 lightgray, -16px 16px 0 -3px #fff, -16px 16px 0 lightgray;
|
|
|
- }
|
|
|
-}
|
|
|
-.upload .upload-files .body.active .pointer-none {
|
|
|
- pointer-events: none;
|
|
|
-}
|
|
|
-.upload .upload-files footer {
|
|
|
- width: 100%;
|
|
|
- margin: 0 auto;
|
|
|
- height: 0;
|
|
|
-}
|
|
|
-.upload .upload-files footer .divider {
|
|
|
- margin: 0 auto;
|
|
|
- width: 0;
|
|
|
- border-top: solid 4px #46aba1;
|
|
|
- text-align: center;
|
|
|
- overflow: hidden;
|
|
|
- -webkit-transition: width .5s ease;
|
|
|
- transition: width .5s ease;
|
|
|
-}
|
|
|
-.upload .upload-files footer .divider span {
|
|
|
- display: inline-block;
|
|
|
- -webkit-transform: translateY(-25px);
|
|
|
- transform: translateY(-25px);
|
|
|
- font-size: 12px;
|
|
|
- padding-top: 8px;
|
|
|
-}
|
|
|
-.upload .upload-files footer.hasFiles {
|
|
|
- height: auto;
|
|
|
-}
|
|
|
-.upload .upload-files footer.hasFiles .divider {
|
|
|
- width: 100%;
|
|
|
-}
|
|
|
-.upload .upload-files footer.hasFiles .divider span {
|
|
|
- -webkit-transform: translateY(0);
|
|
|
- transform: translateY(0);
|
|
|
- -webkit-transition: -webkit-transform .5s .5s ease;
|
|
|
- transition: -webkit-transform .5s .5s ease;
|
|
|
- transition: transform .5s .5s ease;
|
|
|
- transition: transform .5s .5s ease, -webkit-transform .5s .5s ease;
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files {
|
|
|
- width: 320px;
|
|
|
- margin: 0 auto;
|
|
|
- margin-top: 15px;
|
|
|
- padding-left: 5px;
|
|
|
- text-align: center;
|
|
|
- overflow-x: hidden;
|
|
|
- overflow-y: auto;
|
|
|
- max-height: 210px;
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files::-webkit-scrollbar-track {
|
|
|
- background-color: rgba(211, 211, 211, 0.25);
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files::-webkit-scrollbar {
|
|
|
- width: 4px;
|
|
|
- background-color: rgba(211, 211, 211, 0.25);
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files::-webkit-scrollbar-thumb {
|
|
|
- background-color: rgba(77, 182, 172, 0.5);
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files .file {
|
|
|
- width: 300px;
|
|
|
- min-height: 50px;
|
|
|
- display: -webkit-box;
|
|
|
- display: -ms-flexbox;
|
|
|
- display: flex;
|
|
|
- -webkit-box-pack: justify;
|
|
|
- -ms-flex-pack: justify;
|
|
|
- justify-content: space-between;
|
|
|
- -webkit-box-align: center;
|
|
|
- -ms-flex-align: center;
|
|
|
- align-items: center;
|
|
|
- opacity: 0;
|
|
|
- -webkit-animation: fade .35s ease both;
|
|
|
- animation: fade .35s ease both;
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files .file .name {
|
|
|
- font-size: 12px;
|
|
|
- white-space: nowrap;
|
|
|
- text-overflow: ellipsis;
|
|
|
- overflow: hidden;
|
|
|
- width: 80px;
|
|
|
- text-align: left;
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files .file .progress {
|
|
|
- width: 175px;
|
|
|
- height: 5px;
|
|
|
- border: solid 1px lightgray;
|
|
|
- border-radius: 2px;
|
|
|
- background: -webkit-linear-gradient(right, rgba(77, 182, 172, 0.2), rgba(77, 182, 172, 0.8)) no-repeat;
|
|
|
- background: linear-gradient(to left, rgba(77, 182, 172, 0.2), rgba(77, 182, 172, 0.8)) no-repeat;
|
|
|
- background-size: 100% 100%;
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files .file .progress.active {
|
|
|
- -webkit-animation: progress 30s linear;
|
|
|
- animation: progress 30s linear;
|
|
|
-}
|
|
|
-@-webkit-keyframes progress {
|
|
|
- from {
|
|
|
- background-size: 0 100%;
|
|
|
- }
|
|
|
- to {
|
|
|
- background-size: 100% 100%;
|
|
|
- }
|
|
|
-}
|
|
|
-@keyframes progress {
|
|
|
- from {
|
|
|
- background-size: 0 100%;
|
|
|
- }
|
|
|
- to {
|
|
|
- background-size: 100% 100%;
|
|
|
- }
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files .file .done {
|
|
|
- cursor: pointer;
|
|
|
- width: 40px;
|
|
|
- height: 40px;
|
|
|
- background: #4db6ac;
|
|
|
- border-radius: 50%;
|
|
|
- margin-left: -10px;
|
|
|
- -webkit-transform: scale(0);
|
|
|
- transform: scale(0);
|
|
|
- position: relative;
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files .file .done:before {
|
|
|
- content: "View";
|
|
|
- position: absolute;
|
|
|
- top: 0;
|
|
|
- left: -5px;
|
|
|
- font-size: 24px;
|
|
|
- opacity: 0;
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files .file .done:hover:before {
|
|
|
- -webkit-transition: all .25s ease;
|
|
|
- transition: all .25s ease;
|
|
|
- top: -30px;
|
|
|
- opacity: 1;
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files .file .done.anim {
|
|
|
- -webkit-animation: done1 .5s ease forwards;
|
|
|
- animation: done1 .5s ease forwards;
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files .file .done.anim #path {
|
|
|
- -webkit-animation: done2 2.5s .5s ease forwards;
|
|
|
- animation: done2 2.5s .5s ease forwards;
|
|
|
-}
|
|
|
-.upload .upload-files footer .list-files .file .done #path {
|
|
|
- stroke-dashoffset: 7387.59423828125;
|
|
|
- stroke-dasharray: 7387.59423828125 7387.59423828125;
|
|
|
- stroke: #fff;
|
|
|
- fill: transparent;
|
|
|
- stroke-width: 50px;
|
|
|
-}
|
|
|
-@-webkit-keyframes done2 {
|
|
|
- to {
|
|
|
- stroke-dashoffset: 0;
|
|
|
- }
|
|
|
-}
|
|
|
-@keyframes done2 {
|
|
|
- to {
|
|
|
- stroke-dashoffset: 0;
|
|
|
- }
|
|
|
-}
|
|
|
-@-webkit-keyframes done1 {
|
|
|
- 50% {
|
|
|
- -webkit-transform: scale(0.5);
|
|
|
- transform: scale(0.5);
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
- 80% {
|
|
|
- -webkit-transform: scale(0.25);
|
|
|
- transform: scale(0.25);
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
- 100% {
|
|
|
- -webkit-transform: scale(0.5);
|
|
|
- transform: scale(0.5);
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
-}
|
|
|
-@keyframes done1 {
|
|
|
- 50% {
|
|
|
- -webkit-transform: scale(0.5);
|
|
|
- transform: scale(0.5);
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
- 80% {
|
|
|
- -webkit-transform: scale(0.25);
|
|
|
- transform: scale(0.25);
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
- 100% {
|
|
|
- -webkit-transform: scale(0.5);
|
|
|
- transform: scale(0.5);
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
-}
|
|
|
-.upload .upload-files footer .importar {
|
|
|
- outline: none;
|
|
|
- position: absolute;
|
|
|
- left: 0;
|
|
|
- right: 0;
|
|
|
- bottom: 20px;
|
|
|
- margin: auto;
|
|
|
- border: solid 1px #4db6ac;
|
|
|
- color: #4db6ac;
|
|
|
- background: transparent;
|
|
|
- padding: 8px 15px;
|
|
|
- font-size: 12px;
|
|
|
- border-radius: 4px;
|
|
|
- font-family: Roboto;
|
|
|
- line-height: 1;
|
|
|
- cursor: pointer;
|
|
|
- -webkit-transform: translateY(15px);
|
|
|
- transform: translateY(15px);
|
|
|
- opacity: 0;
|
|
|
- /*margin-left: calc(50% - 40px);*/
|
|
|
-}
|
|
|
-.upload .upload-files footer .importar.active {
|
|
|
- -webkit-transition: opacity .5s 1.5s ease, -webkit-transform .5s 1.5s ease;
|
|
|
- transition: opacity .5s 1.5s ease, -webkit-transform .5s 1.5s ease;
|
|
|
- transition: transform .5s 1.5s ease, opacity .5s 1.5s ease;
|
|
|
- transition: transform .5s 1.5s ease, opacity .5s 1.5s ease, -webkit-transform .5s 1.5s ease;
|
|
|
- -webkit-transform: translateY(0);
|
|
|
- transform: translateY(0);
|
|
|
- opacity: 1;
|
|
|
-}
|
|
|
-.upload .upload-files footer .importar:hover {
|
|
|
- background: #4db6ac;
|
|
|
- color: #fff;
|
|
|
-}
|
|
|
-@-webkit-keyframes fadeup {
|
|
|
- to {
|
|
|
- -webkit-transform: translateY(0);
|
|
|
- transform: translateY(0);
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
-}
|
|
|
-@keyframes fadeup {
|
|
|
- to {
|
|
|
- -webkit-transform: translateY(0);
|
|
|
- transform: translateY(0);
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
-}
|
|
|
-@-webkit-keyframes faderight {
|
|
|
- to {
|
|
|
- -webkit-transform: translateX(0);
|
|
|
- transform: translateX(0);
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
-}
|
|
|
-@keyframes faderight {
|
|
|
- to {
|
|
|
- -webkit-transform: translateX(0);
|
|
|
- transform: translateX(0);
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
-}
|
|
|
-@-webkit-keyframes fade {
|
|
|
- to {
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
-}
|
|
|
-@keyframes fade {
|
|
|
- to {
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
-}
|
|
|
-@media (max-width: 400px) {
|
|
|
- .upload {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- }
|
|
|
-}
|
|
|
-</style>
|
|
|
-</head>
|
|
|
-<body>
|
|
|
-
|
|
|
-<link rel="stylesheet" type="text/css" href="http://cdn.bootcss.com/font-awesome/4.6.0/css/font-awesome.min.css">
|
|
|
-
|
|
|
-<div class="upload">
|
|
|
- <div class="upload-files">
|
|
|
- <header>
|
|
|
- <p>
|
|
|
- <i class="fa fa-cloud-upload" aria-hidden="true"></i>
|
|
|
- <span class="up">up</span>
|
|
|
- <span class="load">load</span>
|
|
|
- </p>
|
|
|
- </header>
|
|
|
- <div class="body" id="drop">
|
|
|
- <i class="fa fa-file-text-o pointer-none" aria-hidden="true"></i>
|
|
|
-<!-- <p class="pointer-none"><b>拖放到这里</b> files here <br /> or <a href="" id="triggerFile">浏览</a>开始上传</p>-->
|
|
|
- <p class="pointer-none"><b>拖放到这里</b> files here <br /> or <a href="" id="triggerFile">浏览</a>开始上传</p>
|
|
|
- <input type="file" id="file" multiple />
|
|
|
- </div>
|
|
|
- <footer>
|
|
|
- <div class="divider">
|
|
|
- <span><AR>FILES</AR></span>
|
|
|
- </div>
|
|
|
- <div class="list-files">
|
|
|
- <!-- template -->
|
|
|
- </div>
|
|
|
- <button class="importar" onclick="UpladFile()">上传</button>
|
|
|
-<!-- <button class="importar" onclick="cancleUploadFile()">CALCLE FILES</button>-->
|
|
|
- </footer>
|
|
|
- </div>
|
|
|
-</div>
|
|
|
-<script type="application/javascript">
|
|
|
- //上传文件方法
|
|
|
- var xhr;
|
|
|
- function UpladFile() {
|
|
|
- var fileObj = document.getElementById("file").files[0]; // js 获取文件对象
|
|
|
- // var url = "http://localhost:8080" + "/api/report/generalReportTemplate"; // 接收上传文件的后台地址
|
|
|
- var url = "http://106.14.81.62:8080" + "/api/report/generalReportTemplate"; // 接收上传文件的后台地址
|
|
|
-
|
|
|
- var form = new FormData(); // FormData 对象
|
|
|
- form.append("file", fileObj); // 文件对象
|
|
|
-
|
|
|
- xhr = new XMLHttpRequest(); // XMLHttpRequest 对象
|
|
|
- xhr.open("post", url, true); //post方式,url为服务器请求地址,true 该参数规定请求是否异步处理。
|
|
|
- xhr.onload = uploadComplete; //请求完成
|
|
|
- xhr.onerror = uploadFailed; //请求失败
|
|
|
- xhr.upload.onprogress = progressFunction; // 添加 监听函数
|
|
|
- xhr.send(form); //开始上传,发送form数据
|
|
|
- }
|
|
|
-
|
|
|
- // 处理上传进度
|
|
|
- function progressFunction(e){
|
|
|
- var progress_bar = document.getElementById("progress_bar");
|
|
|
- var loading_dom = document.getElementById("loading");
|
|
|
- var loading = Math.round(e.loaded / e.total * 100);
|
|
|
- // console.log("loading::", loading);
|
|
|
-
|
|
|
- if(loading === 100){
|
|
|
- loading_dom.innerHTML = "上传成功";
|
|
|
- }else{
|
|
|
- loading_dom.innerHTML = "上传进度"+loading+"%"
|
|
|
- }
|
|
|
-
|
|
|
- progress_bar.style.width = String(loading * 3) + "px";
|
|
|
- }
|
|
|
-
|
|
|
- //上传成功响应
|
|
|
- function uploadComplete(evt) {
|
|
|
- //服务断接收完文件返回的结果
|
|
|
- // console.log(evt.target.responseText);
|
|
|
- // var data = JSON.parse(evt.target.responseText);
|
|
|
- // console.log(data);
|
|
|
- // if (data.success) {
|
|
|
- //
|
|
|
- // } else {
|
|
|
- // alert("上传失败!");
|
|
|
- // }
|
|
|
- alert("服务器模板替换成功!");
|
|
|
- }
|
|
|
-
|
|
|
- //上传失败
|
|
|
- function uploadFailed(evt) {
|
|
|
- alert("上传失败!");
|
|
|
- }
|
|
|
-</script>
|
|
|
-
|
|
|
-
|
|
|
-<script type="text/javascript">
|
|
|
-//DOM
|
|
|
-const $ = document.querySelector.bind(document);
|
|
|
-
|
|
|
-//APP
|
|
|
-let App = {};
|
|
|
-App.init = (function() {
|
|
|
- //Init
|
|
|
- function handleFileSelect(evt) {
|
|
|
-
|
|
|
- const files = evt.target.files; // FileList object
|
|
|
- //files template
|
|
|
- let template = `${Object.keys(files)
|
|
|
- .map(file => `<div class="file file--${file}">
|
|
|
- <div class="name"><span>${files[file].name}</span></div>
|
|
|
- <div class="progress active"></div>
|
|
|
- <div class="done">
|
|
|
- <a href="" target="_blank">
|
|
|
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 1000 1000">
|
|
|
- <g><path id="path" d="M500,10C229.4,10,10,229.4,10,500c0,270.6,219.4,490,490,490c270.6,0,490-219.4,490-490C990,229.4,770.6,10,500,10z M500,967.7C241.7,967.7,32.3,758.3,32.3,500C32.3,241.7,241.7,32.3,500,32.3c258.3,0,467.7,209.4,467.7,467.7C967.7,758.3,758.3,967.7,500,967.7z M748.4,325L448,623.1L301.6,477.9c-4.4-4.3-11.4-4.3-15.8,0c-4.4,4.3-4.4,11.3,0,15.6l151.2,150c0.5,1.3,1.4,2.6,2.5,3.7c4.4,4.3,11.4,4.3,15.8,0l308.9-306.5c4.4-4.3,4.4-11.3,0-15.6C759.8,320.7,752.7,320.7,748.4,325z"</g>
|
|
|
- </svg>
|
|
|
- </a>
|
|
|
- </div>
|
|
|
- </div>`)
|
|
|
- .join("")}`+`
|
|
|
- <div style="text-align: left;display: inline-block;width: 300px; height: 20px; border: 1px solid #4EB6AC; border-radius: 5px;position: relative">
|
|
|
- <div id="progress_bar" style="display: inline-block; width: 0px; height: 20px;background-color: #05E1BA"></div>
|
|
|
- <div style="text-align: center;width: 300px;position: absolute; top: 0; font-size:14px; color: #4EB6AC">
|
|
|
- <div id="loading">
|
|
|
- 上传进度0%
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>`;
|
|
|
-
|
|
|
- $("#drop").classList.add("hidden");
|
|
|
- $("footer").classList.add("hasFiles");
|
|
|
- $(".importar").classList.add("active");
|
|
|
-
|
|
|
- setTimeout(() => {
|
|
|
- $(".list-files").innerHTML = template;
|
|
|
- }, 1000);
|
|
|
-
|
|
|
- Object.keys(files).forEach(file => {
|
|
|
- let load = 2000 + file * 2000; // fake load
|
|
|
- setTimeout(() => {
|
|
|
- $(`.file--${file}`).querySelector(".progress").classList.remove("active");
|
|
|
- $(`.file--${file}`).querySelector(".done").classList.add("anim");
|
|
|
- }, load);
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- // trigger input
|
|
|
- $("#triggerFile").addEventListener("click", evt => {
|
|
|
- evt.preventDefault();
|
|
|
- $("input[type=file]").click();
|
|
|
- });
|
|
|
-
|
|
|
- // drop events
|
|
|
- $("#drop").ondragleave = evt => {
|
|
|
- $("#drop").classList.remove("active");
|
|
|
- evt.preventDefault();
|
|
|
- };
|
|
|
- $("#drop").ondragover = $("#drop").ondragenter = evt => {
|
|
|
- $("#drop").classList.add("active");
|
|
|
- evt.preventDefault();
|
|
|
- };
|
|
|
- $("#drop").ondrop = evt => {
|
|
|
- var files = evt.dataTransfer.files; // FileList object
|
|
|
- //files template
|
|
|
- let template = `${Object.keys(files)
|
|
|
- .map(file => `<div class="file file--${file}">
|
|
|
- <div class="name"><span>${files[file].name}</span></div>
|
|
|
- <div class="progress active"></div>
|
|
|
- <div class="done">
|
|
|
- <a href="" target="_blank">
|
|
|
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 1000 1000">
|
|
|
- <g><path id="path" d="M500,10C229.4,10,10,229.4,10,500c0,270.6,219.4,490,490,490c270.6,0,490-219.4,490-490C990,229.4,770.6,10,500,10z M500,967.7C241.7,967.7,32.3,758.3,32.3,500C32.3,241.7,241.7,32.3,500,32.3c258.3,0,467.7,209.4,467.7,467.7C967.7,758.3,758.3,967.7,500,967.7z M748.4,325L448,623.1L301.6,477.9c-4.4-4.3-11.4-4.3-15.8,0c-4.4,4.3-4.4,11.3,0,15.6l151.2,150c0.5,1.3,1.4,2.6,2.5,3.7c4.4,4.3,11.4,4.3,15.8,0l308.9-306.5c4.4-4.3,4.4-11.3,0-15.6C759.8,320.7,752.7,320.7,748.4,325z"</g>
|
|
|
- </svg>
|
|
|
- </a>
|
|
|
- </div>
|
|
|
- </div>`)
|
|
|
- .join("")}`+`
|
|
|
- <div style="text-align: left;display: inline-block;width: 300px; height: 20px; border: 1px solid #fff; border-radius: 2px;position: relative">
|
|
|
- <div id="progress_bar" style="display: inline-block; width: 0px; height: 20px;background-color: #05EED8"></div>
|
|
|
- <div style="text-align: center;width: 300px;position: absolute; top: 0; font-size:16px; color: #413F43">
|
|
|
- <div id="loading">
|
|
|
- 上传进度0%
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>`;
|
|
|
-
|
|
|
- $("#drop").classList.add("hidden");
|
|
|
- $("footer").classList.add("hasFiles");
|
|
|
- $(".importar").classList.add("active");
|
|
|
-
|
|
|
- setTimeout(() => {
|
|
|
- $(".list-files").innerHTML = template;
|
|
|
- }, 1000);
|
|
|
-
|
|
|
- Object.keys(files).forEach(file => {
|
|
|
- let load = 2000 + file * 2000; // fake load
|
|
|
- setTimeout(() => {
|
|
|
- $(`.file--${file}`).querySelector(".progress").classList.remove("active");
|
|
|
- $(`.file--${file}`).querySelector(".done").classList.add("anim");
|
|
|
- }, load);
|
|
|
- });
|
|
|
- $("input[type=file]").files = evt.dataTransfer.files;
|
|
|
- var fileObj = document.getElementById("file").files[0];
|
|
|
- evt.preventDefault();
|
|
|
-
|
|
|
- // $("input[type=file]").files = evt.dataTransfer.files[0];
|
|
|
- // $("footer").classList.add("hasFiles");
|
|
|
- // $("#drop").classList.remove("active");
|
|
|
- // evt.preventDefault();
|
|
|
- };
|
|
|
-
|
|
|
- //upload more
|
|
|
- // $(".importar").addEventListener("click", () => {
|
|
|
- // $(".list-files").innerHTML = "";
|
|
|
- // $("footer").classList.remove("hasFiles");
|
|
|
- // // $(".importar").classList.remove("active");
|
|
|
- // // setTimeout(() => {
|
|
|
- // // $("#drop").classList.remove("hidden");
|
|
|
- // // }, 500);
|
|
|
- // });
|
|
|
-
|
|
|
- // input change
|
|
|
- $("input[type=file]").addEventListener("change", handleFileSelect);
|
|
|
-})();
|
|
|
-</script>
|
|
|
-
|
|
|
-</body>
|
|
|
-</html>
|
|
|
-
|