// 'use strict'; var app = angular.module('app', [ 'angularUtils.directives.dirPagination' ]); app.controller("fileListCtrl", ["$http", "$scope", "$timeout", function ($http, $scope, $timeout) { var self = this; var s4 = new SM4Util(); self.userId = $.cookie("GlWorkPlatform-userid"); self.userName = $.cookie("GlWorkPlatform-username"); self.userChineseName = $.cookie("GlWorkPlatform-chineseName"); self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken"); self.CrossPage = window.parent.CrossPage; //声明 self.noDataTip = 1; self.rows = []; //声明空数组 self.pageno = 1; // 初始化 当前页为 1 self.total_count = 0; self.itemsPerPage = 10; self.pageOptions = [10, 15, 20, 25, 30]; var postCfgJson = { headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + self.get_AccessToken } }; //文件上传用到的变量 self.finishUploadArray = []; self.uploadTypeName = ""; self.uploadTypeCode = ""; self.uploadTypeList = []; //搜索参数 self.search = { FILESNAME: "", TYPECODE: sp.getUrlName("CODE") || "" } //打开上传弹出层 self.openUploadLayer = function () { var time1 = sp.getLocalDate1(); self.journalRecord(time1, sp.getLocalDate1(), "上传", "接入日志", window.location.pathname) self.finishUploadArray = []; if (self.uploadTypeList.length == 0) { self.getResourceType(); } else { self.uploadTypeName = self.uploadTypeList[0].CNAME; self.uploadTypeCode = self.uploadTypeList[0].CODE; } $(".warninfo").html(""); $(".uploadBtn").val(""); $(".fileList tbody").html(""); $(".noFileWarning").show(); sp.layer("#layer_uploadFile"); } //部署文件上传服务 self.setFileUpload = function () { var $form = null; var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice; var collection = {}; var fileaddr = ""; //标记文件地址 $('#fileupload').fileupload({ dataType: 'json', maxChunkSize: 10000000, autoUpload: false, limitConcurrentUploads: 1, sequentialUploads: true, url: apiurljs.login + "g2work/files/upLoad", complete: function (e, data) { console.log(e); if (e.responseJSON.files[0].size > 0) { var itemFile = { ID: "0", ROUTEINFOID: "0", SORTID: "0", SUBMAN: self.userChineseName, SUNMANUSERID: self.userId, PREFIX: e.responseJSON.files[0].prefix, FILESNAME: e.responseJSON.files[0].name, FILESIZE: self.formatFileSize(e.responseJSON.files[0].size), FILEURL: e.responseJSON.files[0].url, FILESID: e.responseJSON.files[0].fileid } self.finishUploadArray.push(itemFile); } }, beforeSend: function (xhr, data) { xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken); data.files.forEach(function (file) { //console.log("fileid=" + collection[file.name + file.size]); xhr.setRequestHeader('X-File-Identifier', fileid); //xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); }) } }).bind('fileuploadadd', function (e, data) { data.files.forEach(function (file) { chunkSize = 10000000; fileid = ""; frOnload = function (e) { fileid = SparkMD5.ArrayBuffer.hash(e.target.result); collection[file.name + file.size] = fileid; var filetype = file.name.substring(file.name.lastIndexOf('.') + 1, file.name.length).toLowerCase(); } function loadFile() { var fileReader = new FileReader(); fileReader.onload = frOnload; var start = 0, end = ((start + chunkSize) >= file.size) ? file.size : start + chunkSize; fileReader.readAsArrayBuffer(blobSlice.call(file, start, end)); }; loadFile(); }); }) } //格式化文件大小的函数 self.formatFileSize = function (bytes) { if (typeof bytes !== 'number') { return ''; } if (bytes >= 1000000000) { return (bytes / 1000000000).toFixed(2) + 'GB'; } if (bytes >= 1000000) { return (bytes / 1000000).toFixed(2) + 'MB'; } return (bytes / 1000).toFixed(2) + 'KB'; } //格式化文件类型的函数 self.formatFileExt = function (fileName) { var LastIndex = fileName.lastIndexOf("."); return fileName.substring(LastIndex + 1, fileName.length); } //格式化文件名称的函数 self.formatFileName = function (fileName) { var LastIndex = fileName.lastIndexOf("."); return fileName.substring(0, LastIndex); } //加载文件分类 self.getResourceType = function () { self.uploadTypeList = []; self.uploadTypeName = ""; self.uploadTypeCode = ""; var postData = { tablename: "CODESHAREFILESTYPE" } $http.post(apiurljs.login + "g2app/share/queryCode", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfgJson) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); console.log(res); self.uploadTypeList = res.data; self.uploadTypeName = res.data[0].CNAME; self.uploadTypeCode = res.data[0].CODE; }) } //改变文件分类 self.changeResourceType = function () { self.uploadTypeList.forEach(function (item) { if (self.uploadTypeCode == item.CODE) { self.uploadTypeName = item.CNAME; } }) } //保存上传文件的记录 self.saveUploadFile = function () { var uploadNum = $(".fileList .template-upload").length; var downloadNum = $(".fileList .template-download").length; if (downloadNum == 0 && uploadNum == 0) { self.addWarning("未选择上传文件"); } else if (downloadNum == 0 && uploadNum != 0 || downloadNum != 0 && uploadNum != 0) { self.addWarning("存在未上传文件"); } else { self.finishUploadArray.forEach(function (item) { item.TYPECODE = self.uploadTypeCode; item.TYPENAME = self.uploadTypeName; item.UPTIMES = sp.dateFtt("yyyy-MM-dd hh:mm:ss", new Date()) }) var postData = JSON.stringify(self.finishUploadArray); $http.post(apiurljs.login + "g2app/share/shareInsert", { data: s4.encryptData_CBC(postData) }, postCfgJson) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { sp.closeCenter('.sp-layer'); self.pageno = 1; // 初始化 当前页为 1 self.getData(self.pageno); sp.dialog("保存成功!"); self.finishUploadArray.forEach(function (item) { item.FILENAMES = item.FILESNAME; item.FILEEXT = item.PREFIX; item.FILESIZE = item.FILESIZE; item.FILEURL = item.FILEURL; item.FILEID = item.FILESID; }) sp.transmit2("FILEMANAGER_SHENQING", "行政", "", self.finishUploadArray, "0", "KNOWLEDGEATTACHLIST") } else { self.addWarning("保存失败!"); } }) } } //去除警告 self.removeWarning = function () { $(".warninfo").html("").hide(); } //给上传弹出层添加警告 self.addWarning = function (content) { $(".warninfo").html("" + content).show(); } //关闭wps刷新 $scope.WpsClose = function () { self.getData(self.pageno); } //获取加载数据 self.getData = function (pageno) { self.pageno = pageno; $scope.__default__currentPage = self.pageno; //设置页面样式在第几页 var data = { pageSize: self.itemsPerPage, pageno: pageno, filesname: self.search.FILESNAME, typecode: self.search.TYPECODE } $http.post(apiurljs.login + "g2app/share/queryDataWithPage", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfgJson) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (sp.isval(res.data)) { res.data.forEach(function (item) { item.UPTIMES = item.UPTIMES == null ? "" : sp.dateFtt("yyyy-MM-dd hh:mm", new Date(item.UPTIMES)); item.FILEURL = apiurljs.login + "g2work" + item.FILEURL; item.FILESIZE = item.FILESIZE == "" || item.FILESIZE.indexOf("B") > -1 ? item.FILESIZE : self.formatFileSize(parseFloat(item.FILESIZE)); }) self.noDataTip = 1; self.rows = res.data; self.total_count = res.totalCount; } else { self.rows = []; self.total_count = 0; self.noDataTip = 0; } if (self.CrossPage.type == 0) { self.journalRecord(self.CrossPage.ctime, sp.getLocalDate1(), "", "接入日志", window.location.pathname) } console.log(self.rows); }).error(function (err) { sp.dialog(JSON.stringify(err)); }); } self.goUrl = function (obj) { if (obj.PREFIX == "wps" || obj.PREFIX == "doc" || obj.PREFIX == "docx" || obj.PREFIX == "") { sp.toggleWps(true) if (obj.FILESID == "") { newDoc(apiurljs.wpspath + "/g2app/abase/saveUploadFileNameshare?Authorization=Bearer " + self.get_AccessToken + "&file-argument=" + encodeURIComponent(s4.encryptData_CBC("tablename=SHAREFILES,id=" + obj.ID + ",routeinfoid=" + obj.ID + ",typename=" + obj.TYPENAME + ",typecode=" + obj.TYPECODE)), obj.FILESNAME) } else { onlineEditOfficialDocument(apiurljs.wpspath + "/g2work/wpsfiles/" + obj.FILEURL.slice(14), apiurljs.wpspath + "/g2app/abase/saveUploadFileNameshare?Authorization=Bearer " + self.get_AccessToken + "&file-argument=" + encodeURIComponent(s4.encryptData_CBC("tablename=SHAREFILES,id=" + obj.ID + ",routeinfoid=" + obj.ID + ",typename=" + obj.TYPENAME + ",typecode=" + obj.TYPECODE)), "") } } else if (obj.PREFIX == "ofd" || obj.PREFIX == "pdf") { window.open("../../iframeDemo.html?data=" + encodeURIComponent(s4.encryptData_CBC("type=0&file=" + obj.FILEURL.slice(14) + "&tablename=SHAREFILES&routeinfoid=" + obj.ID))) } else if (obj.FILEEXT == null || obj.FILEEXT == undefined) { return; } else { window.open(apiurljs.wpspath + "/g2work/files2/inline/" + obj.FILEURL.slice(14)) } } //下载 self.downLoad = function (href) { window.location.href = href; var time1 = sp.getLocalDate1(); self.journalRecord(time1, sp.getLocalDate1(), "下载", "接入日志", window.location.pathname) } //删除 self.btnDelete = function (item) { var time1 = sp.getLocalDate1(); self.journalRecord(time1, sp.getLocalDate1(), "上传", "修改日志", window.location.pathname) var getDelID = item.ID; var dialogHead = "温馨提示×"; var dialogBody = "