cy
2022-06-21 129904537f66509f97b285e7eb4f42b3dc349dd0
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
<!-- 参数说明
*    extensions 文件扩展名(不加.)
*    fileSizeLimit 总文件大小(Byte)
*    multiple 是否支持多选
*    img 上传图片选项 {flag是否是图片上传,preview是否预览图片,width预览图片宽度,height预览图片高度}
*    fileList 文件列表
 -->
[#macro newupload id="picker" extensions="xls,xlsx,ppt,pptx,doc,docx,txt,pdf,7z,7Z,rar,zip,gif,jpg,jpeg,png,vsd,mpp" fileSizeLimit="52428800"  multiple="false" xszgflag="" allowTypes="*"
img="{'flag':'false','preview':'false','width':'100','height':'100'}" values=[] type="blank"
imgPath="" zippackage="false" xszgpackage="false"]
    [#assign img_json=img?eval]
 
<script type="text/javascript" src="${common_static}/static/plugins/webupload/webuploader.js"></script>
<link rel="stylesheet" type="text/css" href="${common_static}/static/plugins/webupload/webuploader.css"/>
<style>
</style>
 
<ul id="fileList${id}" class="file_list">
    <input id="${id}" name="${id}" type="hidden" class="upload" [#if fileList??&&fileList?size>0]value="true"[#else][#if imgPath!=""]value="${imgPath}"[#else]value=""[/#if]value=""[/#if]  />
    [#if values??&&values?size>0]
        [#list values as d]
            <li>
                <input type="hidden" name="FILE_ID" value="${d.ID}" />
                <input type="hidden" name="EXT_NAME" value="${d.FILE_FORMAT}" />
                <input type="hidden" name="FIELD_NAME" value="${d.FIELD_NAME}" />
                <input type="hidden" name="FILE_PATH" value="${d.FILE_PATH}" />
                <input type="hidden" name="FILE_SIZE" value="${d.FILE_SIZE}" />
                <input type="hidden" name="FILE_NAME" value="${d.FILE_NAME}" />
                <span><a href="${base+d.FILE_PATH}" target="_blank" title="${d.FILE_NAME}">${left(d.FILE_NAME,30)}</a></span>
                &nbsp;&nbsp;<a class="file_del blue_txt">删除</a>
            </li>
        [/#list]
    [/#if]
</ul>
[#--<div id="p_${id}">附件上传</div>
<div id="${id}Tip" style="display:inline-block;"></div>--]
<script type="text/javascript">
    var uploader${id};
    $(function() {
        uploader${id} = WebUploader.create({
            swf : '${common_static}/static/plugins/webupload/Uploader.swf', // swf文件路径
            server : '${base}/interface/fileupload/upload.html',// 上传压缩包。
            pick : {
                id : ".file_uploader",
                multiple : ${multiple}
            },
            accept : {
                extensions: '${extensions}'
            },
            fileSizeLimit : ${fileSizeLimit}, //总文件大小限制
            auto : true,//是否自动上传
            resize : false, // 不压缩image
            chunked : true,    // 开启分片上传
            duplicate : true
        });
 
        uploader${id}.on( 'fileQueued', function( file ) {
            [#if multiple+""=="false"]
                $("#fileList${id} li").remove();
            [/#if]
            var $li = $('<li id="'+file.id+'">'+
                    '<span><a target="_blank">'+file.name+'</a></span>'+
                    '<div class="slide" style="width:100px;" ><div class="progress slidecon"></div></div>'+
                    '&nbsp;&nbsp;<a class="file_del blue_txt">删除</a>'+
                    '</li>');
            $("#fileList${id}").append( $li );
            $("#${id}").val("true");
        });
 
        // 文件上传过程中创建进度条实时显示。
        uploader${id}.on( 'uploadProgress', function( file, percentage ) {
            $("#"+file.id).find(".progress").width(percentage * 100);
        });
 
        //上传成功,回显地址和文件名
        uploader${id}.on( 'uploadSuccess', function( file , response ) {
            $input=$('<input type="hidden" name="FILE_ID" value="" />' +
                    '<input type="hidden" name="EXT_NAME" value="'+response.EXT_NAME+'" />' +
                    '<input type="hidden" name="FIELD_NAME" value="'+response.FIELD_NAME+'" />' +
                    '<input type="hidden" name="FILE_PATH" value="'+response.FILE_PATH+'" />' +
                    '<input type="hidden" name="FILE_SIZE" value="'+response.FILE_SIZE+'" />' +
                    '<input type="hidden" name="FILE_NAME" value="'+response.FILE_NAME+'" />' +
                    '<input type="hidden" name="FILE_NOTE" value="" />' +
                    '<input type="hidden" name="fileType" value="${type}" />'
            );
            $("#"+file.id).append($input);
        });
 
        //上传错误
        uploader${id}.on( 'uploadError', function( file , reason ) {
            $("#"+file.id).find("a:last").after('&nbsp;&nbsp;<span>上传出错</span>');
        });
 
        //无论上传是否成功 ,取消进度条显示
        uploader${id}.on( 'uploadComplete', function( file ) {
            $( '#'+file.id ).find('.progress').parent().fadeOut();
        });
        uploader${id}.on("error",function (type){
            if (type=="Q_TYPE_DENIED"){
                popupTips("文件格式不支持或文件为空文件");
            }else if(type=="F_EXCEED_SIZE"){
                popupTips("文件大小超限");
            }
        });
        //通用错误
        uploader${id}.on( 'uploadComplete', function( file ) {
            $( '#'+file.id ).find('.progress').parent().fadeOut();
        });
 
        //删除文件
        $(".file_del").live('click',function(){
            var $parent = $(this).parent();
            //如果文件上传中,从上传队列中移除
            if($parent.find("input[name=filePath]").lenght<=0){
                uploader${id}.removeFile( $parent.attr("id"), true);
            }
            $parent.remove();
            if($("#fileList${id}").find("li").length<=0){
                $("#${id}").val("");
            }
        })
    })
</script>
[/#macro]