Helius
2021-06-16 5728be2af515b2200e782aa201ca5d4d67d9ea47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<!DOCTYPE html>
<html>
<head>
    <meta content="text/html;charset=UTF-8"/>
    <title>fsLayuiPlugin</title>
    <meta name="keywords" content="fsLayuiPlugin,layui,layuiPlugin,layui插件" />
    <meta name="description" content="fsLayuiPlugin,layui,layuiPlugin,layui插件" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <meta http-equiv ="Pragma" content = "no-cache"/>
    <meta http-equiv="Cache-Control" content="no cache" />
    <meta http-equiv="Expires" content="0" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="format-detection" content="telephone=no"/>
    <link rel="stylesheet" type="text/css" href="/plugins/layui/css/layui.css" media="all"/>
    <link rel="stylesheet" type="text/css" href="/css/fs.css" media="all"/>
    <script type="text/javascript" src="/plugins/layui/layui.js"></script>
    <script type="text/javascript" src="/plugins/jquery/jquery.min.js"></script>
    <script type="text/javascript" src="/plugins/frame/js/fs.js?v=1.5.0"></script>
    
</head>
<body class="layui-layout-body">
    <div class="layui-fluid">
      <div class="layui-form-item">
          <div style="text-align: center;">
            <div class="layui-upload-drag" style="width: 320px;">
              <i class="layui-icon"></i>
              <p id="fileName">点击上传,或将文件拖拽到此处</p>
            </div>
          </div>
      </div>
      <hr/>
      <div class="layui-form-item">
        <div class="layui-input-block">
          <button id="upload" class="layui-btn">开始上传</button>
          <button type="button" class="layui-btn layui-btn-primary" function="close">关闭</button>
        </div>
      </div>
 
    </div>
</body>
<script>
layui.use(['upload','layer','fsConfig','fsCommon'], function(){
  var upload = layui.upload,
  fsConfig = layui.fsConfig,
  layer = layui.layer,
  fsCommon = layui.fsCommon,
  isSelectFile = false,//是否选择文件,默认false
  statusName = $.result(fsConfig,"global.result.statusName","errorNo"),
  msgName = $.result(fsConfig,"global.result.msgName","errorInfo"),
  uploadUrl = $.result(fsConfig,"global.uploadUrl",""),
  dataName = $.result(fsConfig,"global.result.dataName","results.data");
  
  var uploadFilePath = top.$('meta[name="uploadFilePath"]');
  if(uploadFilePath.length==0)
  {
    top.$('head').append("<meta name=\"uploadFilePath\" content=\"\"/>");
  }else{
     uploadFilePath.attr("content","");
  }
  
  
  //获取参数
  var paramUrl = fsCommon.getUrlParam();
  
  var fileAccept,fileExts,fileSize;
  
  //获取业务参数绑定
  if(!$.isEmpty(paramUrl["fileParam"])){
      var fileParam = JSON.parse(unescape(paramUrl["fileParam"]));
      fileAccept = fileParam["fileAccept"];
      fileExts = fileParam["fileExts"];
      fileSize = fileParam["fileSize"];
  }
  delete paramUrl["fileParam"];
  
  //绑定默认按钮
  fsCommon.buttionEvent();
  
  var loadIndex;
  
  //选完文件后不自动上传
  upload.render({
    elem: '.layui-upload-drag'
    ,url: uploadUrl
    ,data: paramUrl
    ,accept :fileAccept
    ,exts :fileExts
    ,size :fileSize
    ,auto: false
    ,before: function(){
        if(!isSelectFile){
            fsCommon.warnMsg("请选择文件!");
            return;
        }
        
        loadIndex = layer.load(); //上传loading
    }
    //,multiple: true
    ,bindAction: '#upload'
    ,choose: function(obj){
        isSelectFile = true;
        obj.preview(function(index, file, result){
            $("#fileName").html(file.name);
        })
    }
    ,done: function(result){
        layer.closeAll(loadIndex); //关闭loading
        
        if(result[statusName] != "0"){
            var filters = fsConfig["filters"];
               if(!$.isEmpty(filters)){
               var otherFunction = filters[result[statusName]];
                if($.isFunction(otherFunction)){
                    otherFunction(result);
                    return;
                }
            }
               fsCommon.errorMsg(result[msgName]);
               return;
        }
        
        //上传成功后,返回文件路径
        var data = $.result(result,dataName);
        
        top.$('meta[name="uploadFilePath"]').attr("content",data["filePath"]);
        
        //关闭
        var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
        parent.layer.close(index);
        
    },
    error: function(index, upload){
        layer.closeAll(loadIndex); //关闭loading
    }
  });
 
});
</script>
</html>