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
125
126
127
128
129
130
131
<!-- 参数说明
*    extensions 文件扩展名 示例:'jpg,bmp,png'
*    fileSizeLimit 总文件大小(Byte)
*    multiple 是否支持多选
*    fileList 文件列表
*    forderId 文件夹id
 -->
[#macro webupload id="picker" extensions="xls,xlsx,ppt,pptx,doc,docx,txt,pdf,7z,rar,zip,gif,jpg,jpeg,png,vsd,mpp" fileSizeLimit="104857600"  multiple="false" fileList=[] folderId="-1" duplicate="true" identify="-1" editFlag="2"]
<script type="text/javascript" src="${common_static}/static/plugins/webupload/webuploader.nolog.min.js"></script>
<link rel="stylesheet" type="text/css" href="${common_static}/static/plugins/webupload/webuploader.css"/>
<ul id="fileList${id}" class="file_list">
    <input id="${id}" type="hidden" class="upload" [#if fileList??&&fileList?size>0]value="true"[#else]value=""[/#if]  />
 
    [#if fileList??&&fileList?size>0]
    [#list fileList as file]
    <li>
        <span><a href="${base+file.FILE_PATH}" target="_blank" title="${file.FILE_NAME}">${left(file.FILE_NAME,30)}</a></span>
        &nbsp;&nbsp;<a class="file_del blue_txt">删除</a>
        <input type="hidden" name="FILE_ID" value="${file.ID}">
        <input type="hidden" name="EXT_NAME" value="${file.FILE_FORMAT}">
        <input type="hidden" name="FIELD_NAME" value="${file.FIELD_NAME}">
        <input type="hidden" name="FILE_PATH" value="${file.FILE_PATH}">
        <input type="hidden" name="FILE_SIZE" value="${file.FILE_SIZE}">
        <input type="hidden" name="FILE_NAME" value="${file.FILE_NAME}">
    </li>
    [/#list]
    [/#if]
</ul>
<div id="p_${id}" style="width:200px">附件上传</div>
<script type="text/javascript">
    var uploader${id};
    $(function() {
        uploader${id} = WebUploader.create({
            swf : '${common_static}/static/plugins/webupload/Uploader.swf',
            server : '${base}/interface/fileupload/upload.html',
            pick : {
                id : "#p_${id}",
                multiple : ${multiple}
            },
            accept : {
                title:'${extensions}',
                extensions: '${extensions}'
            },
            fileSingleSizeLimit : ${fileSizeLimit}, //总文件大小限制
            auto : true,//是否自动上传
            resize : false, // 不压缩image
            chunked : false,    // 开启分片上传
            duplicate: ${duplicate} //是否可以重复上传
        });
 
        uploader${id}.on("error",function (type){
            if (type=="Q_TYPE_DENIED"){
                popupTips("文件格式不支持!,请上传${extensions}格式的文件");
            }else if(type=="Q_EXCEED_SIZE_LIMIT"){
                popupTips("文件大小超限,最大允许100M!");
            }else if(type=="F_EXCEED_SIZE"){
                popupTips("文件大小超限,最大允许100M!");
            }
        });
 
        uploader${id}.on( 'fileQueued', function( file ) {
            //是否上传多个文件
            [#if multiple+""=="false"]
            $("#fileList${id} li").remove();
            [/#if]
 
            var $li = $('<li id="'+file.id+'">'+
                '<span><a target="_blank" style="cursor: default;">'+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赋值
            $("#${id}").val("true");
        });
 
        // 文件上传过程中创建进度条实时显示。
        uploader${id}.on( 'uploadProgress', function( file, percentage ) {
            $("#"+file.id).find(".progress").width(percentage * 100);
        });
 
        //上传成功,回显地址和文件名
        uploader${id}.on( 'uploadSuccess', function( file , response ) {
//            if($.util.isEmpty(response.FILE_ID)){
//                alert(2)
//                $("#"+file.id).find("a:last").after('&nbsp;&nbsp;<span>上传出错</span>');
//            }else {
                $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( '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<=1){
                $("#${id}").val("");
            }
        })
 
        uploader${id}.refresh();
    })
</script>
[/#macro]