wuxw
2019-10-02 ea4e931b3e06e4abcd31d74de9e90fa0a8998f3a
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
/**
    权限组
**/
(function(vc){
 
    vc.extends({
        data:{
            assetImportInfo:{
                communityId: vc.getCurrentCommunity().communityId,
                excelTemplate:'',
                remark:""
            }
        },
 
        _initMethod:function(){
 
        },
        _initEvent:function(){
 
        },
        methods:{
            assetImportValidate:function(){
                    return vc.validate.validate({
                            assetImportInfo:vc.component.assetImportInfo
                        },{
 
                            'assetImportInfo.excelTemplate':[
                                {
                                    limit:"required",
                                    param:"",
                                    errInfo:"文件不能为空"
                                }
                            ],
                            'assetImportInfo.communityId':[
                                {
                                    limit:"required",
                                    param:"",
                                    errInfo:"还未入驻小区,请先入驻小区"
                                }
                            ]
                        });
            },
            _openDownloadHcExcelTemplate:function(){
                //下载 模板
                vc.jumpToPage('/import/hc.xlsx')
            },
            getExcelTemplate:function(e){
                //console.log("getExcelTemplate 开始调用")
               vc.component.assetImportInfo.excelTemplate = e.target.files[0];
 
 
            },
            _importData:function(){
 
                if(!vc.component.assetImportValidate()){
                    return ;
                }
                // 导入数据
                if (!vc.component.checkFileType(vc.component.assetImportInfo.excelTemplate.name.split('.')[1])) {
                    vc.message('不是有效的Excel格式');
                    return ;
                }
                if (!vc.component.checkFileSize(vc.component.assetImportInfo.excelTemplate.size)) {
                    vc.message('Excel文件大小不能超过2M');
                    return ;
                }
                var param = new FormData();
                param.append("uploadFile", vc.component.assetImportInfo.excelTemplate);
                param.append('communityId',vc.component.assetImportInfo.communityId);
 
 
                vc.http.upload(
                    'assetImport',
                    'importData',
                    param,
                    {
                        emulateJSON:true,
                        //添加请求头
                        headers: {
                            "Content-Type": "multipart/form-data"
                        }
                     },
                     function(json,res){
                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
                        if(res.status == 200){
                            //关闭model
                            vc.message("处理成功");
                            vc.jumpToPage('/flow/ownerFlow')
                            return ;
                        }
                        vc.message(json);
                     },
                     function(errInfo,error){
                        console.log('请求失败处理');
                        vc.message(errInfo);
                     });
            },
            checkFileType: function (fileType) {
                const acceptTypes = ['xls', 'xlsx'];
                for (var i = 0; i < acceptTypes.length; i++) {
                    if (fileType === acceptTypes[i]) {
                        return true;
                    }
                }
                return false;
            },
            checkFileSize: function (fileSize) {
                //2M
                const MAX_SIZE = 2 * 1024 * 1024;
                if (fileSize > MAX_SIZE) {
                    return false;
                }
                return true;
            }
 
        }
    });
 
})(window.vc);