'use strict'; /** * controller for User Profile Example */ app.controller('fileListCtrl', ["$rootScope", "$scope", "$state", "$timeout", "$interval", "$modal", "SweetAlert", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_schedule", "api_bpm_data","api_doc_data","api_user_data","api_wechatfile","FileUploader","api_bpm_domain","$http", function($rootScope, $scope, $state, $timeout, $interval, $modal, SweetAlert, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_schedule, api_bpm_data,api_doc_data,api_user_data,api_wechatfile,FileUploader,api_bpm_domain,$http) { $scope.langs = i18nService.getAllLangs(); $scope.lang = 'zh-cn'; i18nService.setCurrentLang($scope.lang); var loginUser = $rootScope.user; // 判断是否是文档管理员 for(var i=0;i"; $scope.gridOptions.rowIdentity = function(row) { return row.id; }; $scope.gridOptions.getRowIdentity = function(row) { return row.id; }; $scope.transferColor = function(item) { var color = "icon iconfont icon-zhengchang greenfont"; if (item && item.colourInfo) { if (item.colourInfo.id == 1) { color = "icon iconfont icon-yiyuqi redfont"; } else if (item.colourInfo.id == 2) { color = "iconfont icon-yuqixinxiu yellofont"; } } else { // color = "white"; } return color; } $scope.transfertip = function(item) { var tip = "正常"; if (item && item.colourInfo) { if (item.colourInfo.id == 1) { tip = "逾期"; } else if (item.colourInfo.id == 2) { tip = "即将逾期"; } } else { // color = "white"; } return tip; } $scope.gridOptions.columnDefs = [ { name: 'item', displayName: '序号', width: '5%', cellTemplate: '
' + '
{{row.entity.item}}
' + '
', enableFiltering: false }, { name: 'fileName', displayName: '文档名称', width: '20%', enableFiltering: false }, { name: 'fileType', displayName: '文档格式', width: '10%', enableFiltering: false }, { name: 'fileSize', displayName: '大小', width: '10%', enableFiltering: false, cellTemplate: '
' + '
{{row.entity.fileSize/1024/1024|number:2}}MB
' + '
', }, { name: 'createUser.name', displayName: '上传者', width: '10%', enableFiltering: false, cellTemplate: '
' + '
{{row.entity.createUser.name}}
' + '
', }, { name: 'strUpdateTime', displayName: '更新时间', width: '15%', enableFiltering: false }, { name: 'fileVersion', displayName: '版本号', width: '8%', enableFiltering: false }, { name: '操作', width: '32%', enableFiltering: false, cellTemplate: '
' + '删除' + '下载' + // '更新' + '
更新
' + // '
' + '查看历史' + // '' + '
' }, ]; $scope.gengxin="更新"; // 查看历史 $scope.seeHistory=function(getData){ var modalInstance = $modal.open({ backdrop: false, templateUrl: 'assets/views/customform/tpl/ui-jry_file_history.html', controller: function($scope, scope, $modalInstance,api_doc_data,SweetAlert) { var loginUser = $rootScope.user; $scope.langs = i18nService.getAllLangs(); $scope.lang = 'zh-cn'; i18nService.setCurrentLang($scope.lang); $scope.gridOptions = {}; $scope.gridOptions.data = 'myData'; $scope.gridOptions.enableColumnResizing = true; $scope.gridOptions.enableGridMenu = false; $scope.gridOptions.enableRowSelection = true; $scope.gridOptions.showGridFooter = true; $scope.gridOptions.showColumnFooter = false; $scope.gridOptions.fastWatch = true; $scope.gridOptions.useExternalFiltering = true; $scope.gridOptions.useExternalPagination = true; $scope.gridOptions.paginationPageSizes = [50]; $scope.gridOptions.paginationPageSize = 50; $scope.gridOptions.multiSelect = true; $scope.gridOptions.rowIdentity = function (row) { return row.id; }; $scope.gridOptions.getRowIdentity = function (row) { return row.id; }; $scope.gridOptions.columnDefs = [ { name: 'item', displayName: '序号', width: "10%", cellTemplate: '
' + '
{{row.entity.item}}
' + '
' }, { name: 'fileName', displayName: '文档名称', width: "27%", enableFiltering: false , cellTemplate: '
' + '
{{row.entity.fileName}}
' + '
' }, { name: 'createUser.name', displayName: '上传者', width: "8%", enableFiltering: false , cellTemplate: '
' + '
{{row.entity.createUser.name}}
' + '
' }, { name: 'fileVersion', displayName: '文档历史版本', width: "8%", enableFiltering: false , cellTemplate: '
' + '
{{row.entity.fileVersion}}
' + '
' }, { name: 'fileSize', displayName: '大小', width: '10%', enableFiltering: false, cellTemplate: '
' + '
{{row.entity.fileSize/1024/1024|number:2}}MB
' + '
' }, { name: 'strUpdateTime', displayName: '修改时间', width: "18%", enableFiltering: false , cellTemplate: '
' + '
{{row.entity.strUpdateTime}}
' + '
' }, { name: '编辑', cellTemplate: '
' + '下载' + '删除' + '
', enableFiltering: false } ]; scope.delete_version_password=""; // 删除 $scope.remove=function(listData){ console.log(listData); $scope.versionId=listData.id; if($scope.myData.length==1){ SweetAlert.swal({ title: "删除失败", text: "只有一个历史版本,无法删除!", type: "error", confirmButtonColor: "#DD6B55" }); }else{ if(scope.file_manage=="ok"){ SweetAlert.swal({ title: "提示!", text: "该文件是"+listData.createUser.name+"上传的名为"+listData.fileName+"文件,请确认继续删除!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "继续删除", cancelButtonText: "取消操作", closeOnConfirm: true, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { SweetAlert.swal({ title: "提示!", text: "删除的数据不可恢复,请确认继续操作!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "继续删除", cancelButtonText: "取消操作", closeOnConfirm: true, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { scope.delete_version_password=""; scope.big_back=true; $('.deleteVersion_box').fadeIn(); } else { SweetAlert.swal("操作取消", "数据安全", "error"); } }); } else { SweetAlert.swal("操作取消", "数据安全", "error"); } }); }else{ if(listData.createUser.id==loginUser.id){ SweetAlert.swal({ title: "提示!", text: "该历史版本是"+listData.createUser.name+"上传的历史版本,请确认继续删除!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "继续删除", cancelButtonText: "取消操作", closeOnConfirm: true, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { SweetAlert.swal({ title: "提示!", text: "删除的数据不可恢复,请确认继续操作!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "继续删除", cancelButtonText: "取消操作", closeOnConfirm: true, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { scope.delete_version_password=""; scope.big_back=true; $('.deleteVersion_box').fadeIn(); } else { SweetAlert.swal("操作取消", "数据安全", "error"); } }); } else { SweetAlert.swal("操作取消", "数据安全", "error"); } }); }else{ SweetAlert.swal("操作失败", "你不是文档管理员,只能删除自己上传的文件!", "error"); } } } } // 删除历史版本确定 scope.delete_version_sure=function(){ console.log(scope.delete_version_password); api_user_data.checkDelFileDoc({ checkCode: md5(scope.delete_version_password).toUpperCase() }).then(function (response) { if(response.status == 200){ var data={"userId":loginUser.id,"versionId":$scope.versionId}; api_doc_data.delileVersion(data).then(function (response) { if (response.status == 200) { SweetAlert.swal("操作成功!", "数据已经被删除.", "success"); scope.delete_version_password=""; scope.big_back=false; $('.deleteVersion_box').fadeOut(); $scope.getListData(); } else { scope.delete_version_password=""; scope.big_back=false; $('.deleteVersion_box').fadeOut(); SweetAlert.swal("操作失败!", "数据暂时无法被删除,请稍候重试", "error"); } }); }else{ SweetAlert.swal("删除失败!", "密码错误", "error"); } }); } // 删除历史版本取消 scope.close_version_delete_box=function(){ scope.delete_version_password=""; scope.big_back=false; $('.deleteVersion_box').fadeOut(); SweetAlert.swal("操作取消", "数据安全", "error"); } // 下载 $scope.down=function(listData){ console.log(listData); var data={ fileVersion:listData.fileVersion, fileId:getData.id }; var filename=listData.fileName+"."+getData.fileType; var wt_url_down = api_doc_data.download().getRequestedUrl() $http({ url: wt_url_down, method: 'POST', data:data, headers: { 'Accept': '*/*' }, responseType: 'arraybuffer' }).success(function (res) { // console.log(res); var file = new Blob([res], { type: 'application/octet-stream' }); var fileURL = URL.createObjectURL(file); console.log(fileURL); var a = document.createElement('a'); a.href = fileURL; a.target = '_blank'; a.download = filename; document.body.appendChild(a); a.click(); } ).error(function (data, status, headers, config) { }); } $scope.getListData=function(){ $scope.myData = []; var data={ fileId:getData.id } api_doc_data.fileVersion(data).then(function(res){ $scope.myData=res.list; for (var i = 0; i < $scope.myData.length; i++) { $scope.myData[i]['item'] = i + 1 } $scope.gridOptions['totalItems'] = $scope.myData.length; }) } $scope.getListData(); $scope.cancel = function() { scope.refreshData('expand-right', scope.jry_filterdata); $modalInstance.dismiss('cancel'); } }, size: 'lg', resolve: { scope: function() { return $scope; }, }, backdrop:true }); } // 文件下载 $scope.doc_down=function(getData){ var data={ fileVersion:getData.fileVersion, fileId:getData.id }; var filename=getData.fileName+"."+getData.fileType; var wt_url_down = api_doc_data.download().getRequestedUrl() $http({ url: wt_url_down, method: 'POST', data:data, headers: { 'Accept': '*/*' }, responseType: 'arraybuffer' }).success(function (res) { var file = new Blob([res], { type: 'application/octet-stream' }); var fileURL = URL.createObjectURL(file); console.log(fileURL); var a = document.createElement('a'); a.href = fileURL; a.target = '_blank'; a.download = filename; document.body.appendChild(a); a.click(); } ).error(function (data, status, headers, config) { }); } //获取需更新文件的id $scope.new_file_add=function(data){ $scope.new_file_id=data.id; } // 列表删除 $scope.list_delete=function(data){ console.log(data); $scope.list_doc_id=data.id; $scope.list_doc_name=data.fileName; $scope.list_doc_version=data.fileVersion; if($scope.file_manage=="ok"){ SweetAlert.swal({ title: "提示!", text: "该文件下有"+data.fileVersion+"条历史版本,删除的数据不可恢复,请确认继续操作!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "继续删除", cancelButtonText: "取消操作", closeOnConfirm: true, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { SweetAlert.swal({ title: "提示!", text: "删除的数据不可恢复,请确认继续操作!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "继续删除", cancelButtonText: "取消操作", closeOnConfirm: true, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { $scope.delete_doc_password=""; $scope.big_back=true; $('.deleteDoc_box').fadeIn(); } else { SweetAlert.swal("操作取消", "数据安全", "error"); } }); } else { SweetAlert.swal("操作取消", "数据安全", "error"); } }); }else{ if(data.createUser&&data.createUser.id==loginUser.id){ SweetAlert.swal({ title: "提示!", text: "该文件下有"+data.fileVersion+"条历史版本,删除的数据不可恢复,请确认继续操作!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "继续删除", cancelButtonText: "取消操作", closeOnConfirm: true, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { SweetAlert.swal({ title: "提示!", text: "删除的数据不可恢复,请确认继续操作!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "继续删除", cancelButtonText: "取消操作", closeOnConfirm: true, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { $scope.delete_doc_password=""; $scope.big_back=true; $('.deleteDoc_box').fadeIn(); } else { SweetAlert.swal("操作取消", "数据安全", "error"); } }); } else { SweetAlert.swal("操作取消", "数据安全", "error"); } }); }else{ SweetAlert.swal("操作失败", "你不是文档管理员,只能删除自己上传的文件!", "error"); } } } $scope.selectRowFunction = function(data) { var filedata={ model:{inspectionProcessActual:data} } $state.go('app.inspection.inspectListEditor', { "taskId": data.taskId, "processInstanceId": data.processInstanceId, "pdKey": data.processKey, "formUiEdit": data.inspection.inspectionTypeDTO.formUiEdit, "model" : JSON.stringify(filedata) }); }; $scope.lookFunction = function(data) { var filedata={ model:{inspectionProcessActual:data} // model:data } $state.go('app.inspection.inspectListdetail', { "formKey": data.inspection.inspectionTypeDTO.formUiName, "dataId": data.id, "taskId": data.taskId, "processInstanceId": data.processInstanceId, "pdKey": data.processKey, // "formUiEdit": data.inspection.inspectionTypeDTO.formUiEdit, "formUiName": data.inspection.inspectionTypeDTO.formUiName, "model" : JSON.stringify(filedata) }); }; $scope.selected = { items: [] } $scope.editted = { items: [] } //分页控制 $scope.gridOptions.onRegisterApi = function(gridApi) { gridApi.pagination.on.paginationChanged($scope, function(newPage, pageSize) { var filterData = JSON.parse(sessionStorage.inspectListParameter); $scope.jry_filterdata.idx = newPage - 1; $scope.jry_filterdata.sum = pageSize; $scope.refreshData('expand-right', $scope.jry_filterdata); }); // 复选框单选 gridApi.selection.on.rowSelectionChanged($scope, function (data) { // console.log(data); if (data.isSelected) { data.grid.appScope.selected.items.push(data.entity); } else { for (var i = 0; i <= data.grid.appScope.selected.items.length; i++) { if (data.grid.appScope.selected.items[i].id == data.entity.id) { data.grid.appScope.selected.items.splice(i, 1); break; } } }; // $scope.mySelectedRows = $scope.gridApi.selection.getSelectedRows(); }); // // 复选框全选 // gridApi.selection.on.rowSelectionChangedBatch($scope, function(rows) { // var selectitem = []; // selectitem = angular.copy($scope.selected.items); // for (var j = 0; j < rows.length; j++) { // if (rows[j].isSelected == true) { // selectitem.push(rows[j].entity); // } else { // delete selectitem[j]; // // selectitem.splice(i,1) // } // } // console.log($scope.selected.items); // $scope.selected.items = []; // for (var i = 0; i < selectitem.length; i++) { // if (selectitem[i]) { // $scope.selected.items.push(selectitem[i]); // } // } // console.log($scope.selected.items); // console.log(selectitem) // }); } //本地存储 sessionStorage.inspectListParameter = JSON.stringify(inspectListParameter); $scope.ldloading = {}; $scope.removeFileNum=0;//删除文件夹下文件的个数 $scope.refreshData = function(style, filterData) { $scope.ldloading[style.replace('-', '_')] = true; if (angular.isUndefined(filterData)) { filterData = defaultFilterData; } $scope.myData = []; $scope.memoryfilterData = filterData; api_doc_data.selectContent(filterData).then(function(data) { var myData = Restangular.stripRestangular(data); $scope.gridOptions.totalItems = myData.totalNum; if(myData.totalNum){ $scope.removeFileNum=myData.totalNum; }else{ $scope.removeFileNum=0 } if (angular.isArray(myData.list)) { $scope.myData = myData.list; for (var i = 0; i < $scope.myData.length; i++) { //添加序号 $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum; } $scope.ldloading[style.replace('-', '_')] = false; } }, function() { $scope.ldloading[style.replace('-', '_')] = false; }); }; // 新增弹框 $scope.new_file_id="";//更新文件的id $scope.add_file_name="";//新增文件夹名称 $scope.add_parent="";//新增所选父名称 $scope.edit_parent="";//修改所选父名称 $scope.left_tree_select="";//左边树选择 $scope.modify_data="";//修改树 $scope.search_tree_ipt="";//左侧下拉树搜索框 $scope.search_tree_data="";//左侧下拉树搜出来数据 $scope.modify_file_name="";//修改内容 $scope.big_back=false;//大蒙版 $scope.addparent=false;//新增父类开关 $scope.add_duoci=false;//防止新增保存多次 $scope.delete_password="";//删除树确认删除密码 $scope.delete_doc_password="";//删除文件确认密码 // $scope.file_manage="";//文档管理员 $scope.modify_open_file_name="";//修改导入文件夹名称 $scope.isPersonal=1;//默认公共文档树 $scope.ifPersonalListType="folder";//默认公共文档文件列表 // $scope.add_box=false;//新增弹框 //新增保存 $scope.add_save=function(){ // console.log($scope.add_file_parent) if($scope.addparent==false){ var data={ documentFolder:{ name:$scope.add_file_name, "personal":$scope.isPersonal, createUser:{id:loginUser.id} } }; if($scope.add_file_name==""){ SweetAlert.swal({ title: "操作失败!", text: "必填项不能为空", type: "error" }) }else{ $scope.add_duoci=true; if($scope.add_duoci==true){ api_user_data.addData("documentFolder",data).then(function(res){ // console.log(res); if(res.status==200){ if(res.data.error){ $scope.big_back=false;//大蒙版 $scope.addparent=false; $scope.add_file_name=""; $scope.add_parent=""; $scope.modify_data=""; $(".add_new_box").fadeOut(); $(".parent_bring_box").fadeOut(); $scope.try_async_load(); SweetAlert.swal({ title: "新增失败!", text: res.data.error, type: "error" }) $scope.add_duoci=false; }else{ $scope.big_back=false;//大蒙版 $scope.addparent=false; $scope.add_file_name=""; $scope.modify_data=""; $(".add_new_box").fadeOut(); $(".parent_bring_box").fadeOut(); $scope.try_async_load(); $scope.add_parent=""; SweetAlert.swal({ title: "新增成功!", type: "success", confirmButtonColor: "#007AFF" }) $scope.add_duoci=false; } }else{ $scope.big_back=false;//大蒙版 $scope.addparent=false; $scope.add_file_name=""; $scope.add_parent=""; $scope.modify_data=""; $(".add_new_box").fadeOut(); $(".parent_bring_box").fadeOut(); $scope.try_async_load(); SweetAlert.swal({ title: "新增失败!", text: "系统错误", type: "error" }) $scope.add_duoci=false; } }) } } }else if($scope.addparent==true){ var data={ documentFolder:{ name:$scope.add_file_name, parent:{id:$scope.add_parent.id}, "personal":$scope.isPersonal, createUser:{id:loginUser.id} } }; if($scope.add_file_name==""||$scope.add_parent==""||$scope.add_parent==undefined){ SweetAlert.swal({ title: "操作失败!", text: "必填项不能为空", type: "error" }) }else{ $scope.add_duoci=true; if($scope.add_duoci==true){ api_user_data.addData("documentFolder",data).then(function(res){ if(res.status==200){ if(res.data.error){ $scope.big_back=false;//大蒙版 $scope.addparent=false; $scope.add_file_name=""; $scope.add_parent=""; $scope.modify_data=""; $(".add_new_box").fadeOut(); $(".parent_bring_box").fadeOut(); $scope.try_async_load(); SweetAlert.swal({ title: "新增失败!", text: res.data.error, type: "error" }) $scope.add_duoci=false; }else{ $scope.big_back=false;//大蒙版 $scope.addparent=false; $scope.add_file_name=""; $(".add_new_box").fadeOut(); $(".parent_bring_box").fadeOut(); $scope.try_async_load(); $scope.add_parent=""; $scope.modify_data=""; SweetAlert.swal({ title: "新增成功!", type: "success", confirmButtonColor: "#007AFF" }) $scope.add_duoci=false; } }else{ $scope.big_back=false;//大蒙版 $scope.addparent=false; $scope.add_file_name=""; $scope.add_parent=""; $scope.modify_data=""; $(".add_new_box").fadeOut(); $(".parent_bring_box").fadeOut(); $scope.try_async_load(); SweetAlert.swal({ title: "新增失败!", text: "系统错误", type: "error" }) $scope.add_duoci=false; } }) } } } } // 关闭新增弹框 $scope.close_add_box=function(){ $scope.big_back=false;//大蒙版 // $scope.add_box=false;//新增弹框 $(".add_new_box").fadeOut(); $(".parent_bring_box").fadeOut(); $scope.add_file_name=""; $scope.addparent=false; } // 打开新增弹框 $scope.open_add_box=function(){ // console.log($scope.modify_data); $scope.big_back=true;//大蒙版 // $scope.add_box=true;//新增弹框 if($scope.modify_data){ $scope.addparent=true; $scope.add_parent=$scope.modify_data; $(".parent_bring_box").fadeIn(); } $(".add_new_box").fadeIn(); } $scope.parent_bring_box_hide=function(){ $(".parent_bring_box").fadeOut(); $scope.add_parent="" } // 编辑 // 打开编辑弹框 $scope.open_modify_box=function(){ if($scope.modify_data==""){ SweetAlert.swal({ title: "操作失败!", text: "请先选择某一项", type: "error" }) }else{ $scope.big_back=true;//大蒙版 $(".modify_box").fadeIn(); console.log($scope.modify_data); $scope.modify_file_name=$scope.modify_data.label; } } // console.log($scope); //编辑保存 $scope.modify_save=function(){ if($scope.modify_data.id==$scope.edit_parent.id){ SweetAlert.swal({ title: "修改失败!", text: "更换的父类不能为自己", type: "error" }) }else{ if($scope.editparent){ var data={ documentFolder:{ name:$scope.modify_file_name, id:$scope.modify_data.id, "personal":$scope.isPersonal, parent:{"id":$scope.edit_parent.id} } } }else if($scope.modify_data.parent&&!$scope.editparent){ var data={ documentFolder:{ name:$scope.modify_file_name, id:$scope.modify_data.id, parent:{"id":$scope.modify_data.parent.id}, "personal":$scope.isPersonal } } }else{ var data={ documentFolder:{ name:$scope.modify_file_name, id:$scope.modify_data.id, "personal":$scope.isPersonal } } } if($scope.modify_file_name==""){ SweetAlert.swal({ title: "修改失败!", text: "修改值不能为空", type: "error" }) }else if($scope.editparent&&!$scope.edit_parent){ SweetAlert.swal({ title: "修改失败!", text: "父类名称不能为空", type: "error" }) }else{ api_user_data.updData("documentFolder",data).then(function(res){ if(res.status==200){ if(res.data.error){ $scope.big_back=false;//大蒙版 $scope.modify_data=""; $(".modify_box").fadeOut(); $scope.try_async_load(); $scope.search_tree_ipt=""; SweetAlert.swal({ title: "修改失败!", text: res.data.error, type: "error" }) }else{ $scope.big_back=false;//大蒙版 $scope.modify_data=""; $(".modify_box").fadeOut(); $scope.try_async_load(); $scope.search_tree_ipt=""; SweetAlert.swal({ title: "修改成功!", type: "success", confirmButtonColor: "#007AFF" }) } $scope.edit_parent="";//修改父类名称 $scope.editparent=false; //修改父类按钮 }else{ $scope.big_back=false;//大蒙版 $scope.edit_parent="";//修改父类名称 $scope.editparent=false; //修改父类按钮 $(".modify_box").fadeOut(); SweetAlert.swal({ title: "修改失败!", text: "系统错误", type: "error" }) } }) } } } // 公共文档tab点击 $scope.public_file=function(){ $scope.isPersonal=1; $scope.modify_data=""; $scope.jry_filterdata={ "idx":$scope.fenye, "sum":10, "userId":loginUser.id, "type":"folder" }; $scope.refreshData('expand-right', $scope.jry_filterdata); $scope.try_async_load(); } // 个人文档tab点击 $scope.personal_file=function(){ $scope.isPersonal=0; $scope.modify_data=""; $scope.jry_filterdata={ "idx":$scope.fenye, "sum":10, "userId":loginUser.id, "type":"personal" }; $scope.refreshData('expand-right', $scope.jry_filterdata); $scope.try_async_load(); } //关闭编辑弹框 $scope.close_modify_box=function(){ $scope.big_back=false;//大蒙版 $scope.edit_parent="";//修改父类名称 $scope.editparent=false;//修改父类按钮 $(".modify_box").fadeOut() } //左侧下拉树搜索 $scope.search_tree_fn=function(){ var data = { "idx": 0, "sum": 1000 ,createUser:{id:loginUser.id},documentFolder:{"name":$scope.search_tree_ipt,createUser:{id:loginUser.id},"personal":$scope.isPersonal}}; api_doc_data.fetchDataList('documentFolder', data).then(function(res){ $scope.search_tree_data=res.list }) } //左侧搜出来的树点击 $scope.left_search_tree_cli=function(idx,val){ $scope.left_search_index=idx; $scope.left_tree_select=val; $scope.modify_data=val; $scope.modify_data["label"]=val.name; $scope.jry_filterdata["folderId"]=val.id; $scope.refreshData('expand-right', $scope.jry_filterdata); $scope.selected.items=[];//复选框清空 // console.log($scope.modify_data) } //删除树 $scope.rmvData_tree=function(){ if($scope.file_manage=="ok"){ if($scope.modify_data==""){ SweetAlert.swal("操作失败!", "请先选择某一项", "error"); }else{ SweetAlert.swal({ title: "提示!", text: "该文件夹下有"+$scope.removeFileNum+"条数据,删除的数据不可恢复,请确认继续操作!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "继续删除", cancelButtonText: "取消操作", closeOnConfirm: true, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { SweetAlert.swal({ title: "提示!", text: "删除的数据不可恢复,请确认继续操作!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "继续删除", cancelButtonText: "取消操作", closeOnConfirm: true, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { $scope.delete_password=""; $scope.big_back=true; $('.deleteTree_box').fadeIn(); } else { SweetAlert.swal("操作取消", "数据安全", "error"); } }); } else { SweetAlert.swal("操作取消", "数据安全", "error"); } }); } }else{ SweetAlert.swal("操作失败", "你不是文档管理员,无法进行删除操作!", "error"); } } //删除树取消 $scope.close_delete_box=function(){ // console.log($scope.modify_data); $scope.big_back=false; $('.deleteTree_box').fadeOut(); SweetAlert.swal("操作取消", "数据安全", "error"); } // 删除树确定 $scope.delete_sure=function(){ api_user_data.checkDelFileDoc({ checkCode: md5($scope.delete_password).toUpperCase() }).then(function (response) { if(response.status == 200){ if($scope.modify_data.children.length>0){ SweetAlert.swal("删除失败!", "请先删除该文件夹的子级", "error"); $scope.big_back=false; $('.deleteTree_box').fadeOut(); }else{ api_user_data.rmvData("documentFolder",[$scope.modify_data.id]).then(function (response) { if (response.status == 200) { SweetAlert.swal("操作成功!", "数据已经被删除.", "success"); $scope.modify_data=""; $scope.myData = []; $scope.removeFileNum=0; $scope.try_async_load(); $scope.big_back=false; $('.deleteTree_box').fadeOut(); } else { SweetAlert.swal("操作失败!", "数据暂时无法被删除,请稍候重试", "error"); $scope.big_back=false; $('.deleteTree_box').fadeOut(); } }); } }else{ SweetAlert.swal("删除失败!", "密码错误", "error"); } }); } // 删除文件确定 $scope.delete_doc_sure=function(){ api_user_data.checkDelFileDoc({ checkCode: md5($scope.delete_doc_password).toUpperCase() }).then(function (response) { if(response.status == 200){ api_user_data.rmvData("documentFile",[$scope.list_doc_id]).then(function (response) { if (response.status == 200) { SweetAlert.swal("操作成功!", "数据已经被删除.", "success"); $scope.delete_doc_password=""; $scope.big_back=false; $('.deleteDoc_box').fadeOut(); $scope.refreshData('expand-right', $scope.jry_filterdata); } else { $scope.delete_doc_password=""; $scope.big_back=false; $('.deleteDoc_box').fadeOut(); SweetAlert.swal("操作失败!", "数据暂时无法被删除,请稍候重试", "error"); } }); }else{ SweetAlert.swal("删除失败!", "密码错误", "error"); } }); } //删除文件取消 $scope.close_doc_delete_box=function(){ $scope.delete_doc_password=""; $scope.big_back=false; $('.deleteDoc_box').fadeOut(); SweetAlert.swal("操作取消", "数据安全", "error"); } // 文档格式下拉框 $scope.get_file_format=function(){ var data={ "type":"list", "key":"file_type" } api_wechatfile.getDictionary(data).then(function(res){ $scope.file_format=res }) } $scope.get_file_format() //更换目录打开 $scope.open_files_change=function(){ console.log($scope.selected.items); if($scope.selected.items.length==0){ SweetAlert.swal({ title: "操作失败!", text: "请勾选至少一条文件", type: "error" }) }else{ var modalInstance = $modal.open({ backdrop: false, templateUrl: 'assets/views/customform/tpl/ui-jry_files_change.html', controller: function($scope, scope, $modalInstance,api_doc_data,SweetAlert) { // console.log(scope.selected.items); $scope.files_num=scope.selected.items.length;//文件夹的个数 $scope.search_tree_ipt="";//搜索框 $scope.change_file_name="";//更换的文件夹名称 $scope.change_file_id="";//更换的文件夹id //下拉树搜索 $scope.search_tree_fn=function(){ var data = { "idx": 0, "sum": 1000 ,createUser:{id:loginUser.id},documentFolder:{"name":$scope.search_tree_ipt,createUser:{id:loginUser.id},"personal":scope.isPersonal}}; api_doc_data.fetchDataList('documentFolder', data).then(function(res){ $scope.search_tree_data=res.list }) } //搜出来的树点击 $scope.left_search_tree_cli=function(idx,val){ $scope.left_search_index=idx; $scope.change_file_name=val.label;//更换的文件夹名称 $scope.change_file_id=val.id;//更换的文件夹id } // 选中的文件夹 $scope.my_tree_handler=function(data){ console.log(data); $scope.change_file_name=data.label;//更换的文件夹名称 $scope.change_file_id=data.id;//更换的文件夹id } function convertListToTree(data, treeMap) { var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup var root = null; //Initially set our loop to null //loop over data for (var i = 0; i < data.length; i++) { var datum = data[i]; //each node will have children, so let's give it a "children" poperty datum.children = []; //add an entry for this node to the map so that any future children can //lookup the parent idToNodeMap[datum.id] = datum; //Does this node have a parent? // console.log("datum="+JSON.stringify(datum)) if (typeof datum.parent === "undefined"||datum.parent===null) { //Doesn't look like it, so this node is the root of the tree root = datum; treeMap[datum.id] = root; } else { //This node has a parent, so let's look it up using the id parentNode = idToNodeMap[datum.parent.id]; //We don't need this property, so let's delete it. // delete datum.parent; //Let's add the current node as a child of the parent node. parentNode.children.push(datum); } } return root; } function convertParentToChildList(data) { var treeMap = {}; var list = []; convertListToTree(data, treeMap); angular.forEach(treeMap, function(item) { list.push(item); }); return list; } $scope.parentdata = {}; $scope.try_async_load = function() { $scope.my_data = []; $scope.doing_async = true; var data = { "idx": 0, "sum": 1000 ,createUser:{id:loginUser.id},documentFolder:{"personal":scope.isPersonal,createUser:{id:loginUser.id}}}; api_doc_data.fetchDataList('documentFolder', data).then(function(response) { var data = response.list; var objects = []; $scope.parentdata = data; for (var i = 0; i < data.length; i++) { var object = {}; object.id = data[i].id; if (angular.isDefined(data[i].parent)) { object.parent = data[i].parent; } if (angular.isDefined(data[i].hasArea)) { object.hasArea = data[i].hasArea; } if (angular.isDefined(data[i].hasSimple)) { object.hasSimple = data[i].hasSimple; } if (angular.isDefined(data[i].group)) { object.group = data[i].group; } if (angular.isDefined(data[i].priority)) { object.priority = data[i].priority; } object.label = data[i].name; // object.actions = data[i][3]; //权限部分 // object.group = "1"; // object.user = "2"; object.state = { "opened": true }; object.typeName = "type"; // if() // if (object.actions.indexOf("2") >= 0) { //知识库类型 具有增加权限--系统管理员 $scope.showAddSolutionType = true; // } // if (object.actions.indexOf("5") >= 0) { //知识库类型 具有授权权限--系统管理员 $scope.showReviewKnowledgeType = true; // } objects.push(object); } $scope.my_data = convertParentToChildList(objects); $scope.tree_data = angular.copy($scope.my_data); // if ($scope.my_data.length > 0) { $scope.doing_async = false; // } }); }; $scope.try_async_load(); $scope.ok = function(item) { // console.log(scope.selected.items); if($scope.change_file_id==""){ SweetAlert.swal({ title: "操作失败!", text: "请选择需要更换的文件夹", type: "error" }) }else{ var selectIdsArr=[]; for(var i=0;i' + '
{{row.entity.file.name.split(".")[0]}}
' + '' }, { name: 'file.type', displayName: '文档格式', width: '10%', enableFiltering: false, cellTemplate: '
' + '
{{row.entity.file.name.split(".")[row.entity.file.name.split(".").length-1]}}
' + '
' }, { name: 'file.size', displayName: '大小', width: "10%", enableFiltering: false , cellTemplate: '
' + // '
{{row.entity.file.size/1024/1024|number:2}}MB
' + '
{{row.entity.file.size/1024/1024|number:2}}MB
' + '
' }, { name: 'file.state', displayName: '上传状态', width: '10%', enableFiltering: false, cellTemplate: '
' + '' + // '' + '' + '
' }, { name: '编辑', cellTemplate: '
' + '编辑' + '删除' + '
', enableFiltering: false } ]; // 编辑 $scope.edit=function(data){ // console.log(data); scope.big_back=true;//大蒙版 $(".modify_file_box").fadeIn(); $scope.idx=$scope.myData.indexOf(data);//获取索引 var fileArr=data.file.name.split("."); $scope.importFileType=fileArr[fileArr.length-1]; // console.log($scope.importFileType); // console.log(fileArr); // console.log(fileArr.length); var fileNameArr=fileArr.slice(0,fileArr.length-1); // console.log(fileNameArr); scope.modify_open_file_name=fileNameArr.join("."); // console.log(scope.modify_open_file_name); } //关闭文件夹编辑弹框 scope.close_modify_file_box=function(){ scope.big_back=false;//大蒙版 $(".modify_file_box").fadeOut() } // 文件夹名称编辑保存 scope.modify_file_save=function(){ if(scope.modify_open_file_name){ $scope.myData[$scope.idx].file.name=scope.modify_open_file_name+"."+$scope.importFileType; console.log($scope.myData); scope.big_back=false;//大蒙版 $(".modify_file_box").fadeOut() }else{ SweetAlert.swal({ title: "操作失败!", text: "名称不能为空", type: "error" }) } } // 删除 $scope.remove=function(data){ $scope.myData.splice($scope.myData.indexOf(data),1); $scope.gridOptions.totalItems=$scope.myData.length } $scope.myData = []; //导入文件 console.log(loginUser.id); var importUploader = $scope.importUploader = new FileUploader({ url:api_doc_data.jry_uploadDoc(scope.modify_data.id,loginUser.id).getRequestedUrl() }); importUploader.filters.push({ name: 'customFilter', fn: function(item /*{File|FileLikeObject}*/ , options) { return this.queue.length < 50; } }); $scope.ceshi=function(){ console.log($scope.importUploader) } $scope.import = function(style) { importUploader.onBeforeUploadItem = function(item) { angular.extend(item.headers, $rootScope.getSession()); item.formData.push({ 'filename': item.file.name }); item.formData.push({ 'type': "dataImport" }); console.info('onBeforeUploadItem', item); }; importUploader.uploadAll(); } // CALLBACKS importUploader.onWhenAddingFileFailed = function(item /*{File|FileLikeObject}*/ , filter, options) { console.info('onWhenAddingFileFailed', item, filter, options); }; importUploader.onAfterAddingFile = function(fileItem) { console.info('onAfterAddingFile', fileItem); $scope.myData=$scope.importUploader.queue; angular.forEach($scope.myData,function(item,index){ $scope.myData[index].id=index; }) console.log($scope.myData); $scope.gridOptions.totalItems=$scope.myData.length }; importUploader.onAfterAddingAll = function(addedFileItems) { console.info('onAfterAddingAll', addedFileItems); }; importUploader.onBeforeUploadItem = function(item) { console.info('onBeforeUploadItem', item); }; importUploader.onProgressItem = function(fileItem, progress) { console.info('onProgressItem', fileItem, progress); }; importUploader.onProgressAll = function(progress) { console.info('onProgressAll', progress); }; importUploader.onSuccessItem = function(fileItem, response, status, headers) { console.info('onSuccessItem', fileItem, response, status, headers); if(response.status==200){ $scope.myData[$scope.myData.indexOf(fileItem)]["serveSuccess"]=true }else{ $scope.myData[$scope.myData.indexOf(fileItem)]["serveSuccess"]=false } }; importUploader.onErrorItem = function(fileItem, response, status, headers) { console.info('onErrorItem', fileItem, response, status, headers); $scope.myData[$scope.myData.indexOf(fileItem)]["serveSuccess"]=false }; importUploader.onCancelItem = function(fileItem, response, status, headers) { console.info('onCancelItem', fileItem, response, status, headers); }; $scope.file_state_ok=false; $scope.file_state_false=false; importUploader.onCompleteItem = function(fileItem, response, status, headers) { console.info('onCompleteItem', fileItem, response, status, headers); }; importUploader.onCompleteAll = function() { console.log($scope.myData); console.info('onCompleteAll'); scope.doc_loading=false; $modalInstance.dismiss('cancel'); scope.refreshData('expand-right', scope.jry_filterdata); }; $scope.file_name=scope.modify_data.label; $scope.ok = function(item) { if($scope.myData==0){ SweetAlert.swal({ title: "操作失败!", text: "请导入文件", type: "error" }) }else{ scope.doc_loading=true; $scope.import(); // $timeout(function(){ // },5000) } }; $scope.cancel = function() { $modalInstance.dismiss('cancel'); } }, size: 'lg', resolve: { scope: function() { return $scope; }, }, backdrop:true }); } } $scope.doc_loading=false; // 文档格式 $scope.fileTypeObj={}; // 列表搜索 $scope.list_search=function(){ if($scope.fileTypeObj.fileType1&&$scope.fileTypeObj.fileType1.name){ $scope.jry_filterdata.fileType=$scope.fileTypeObj.fileType1.name } $scope.refreshData('expand-right', $scope.jry_filterdata); } // 清空 $scope.clean=function(){ $scope.jry_filterdata.fileName=""; $scope.jry_filterdata.content=""; $scope.fileTypeObj={}; $scope.jry_filterdata.fileType=""; $scope.refreshData('expand-right', $scope.jry_filterdata); } // 更新 var newUploader = $scope.newUploader = new FileUploader({ url:api_doc_data.newDoc().getRequestedUrl() }); // newUploader.filters.push({ // name: 'customFilter', // fn: function(item /*{File|FileLikeObject}*/ , options) { // return this.queue.length < 2; // } // }); $scope.newUpload = function(style) { newUploader.onBeforeUploadItem = function(item) { angular.extend(item.headers, $rootScope.getSession()); item.formData.push({ 'filename': item.file.name }); item.formData.push({ 'type': "dataImport" }); console.info('onBeforeUploadItem', item); }; newUploader.uploadAll(); } newUploader.onWhenAddingFileFailed = function(item /*{File|FileLikeObject}*/ , filter, options) { console.info('onWhenAddingFileFailed', item, filter, options); }; newUploader.onAfterAddingFile = function(fileItem) { console.info('onAfterAddingFile', fileItem); if(fileItem.file.size/1024/1024>60){ SweetAlert.swal({ title: "添加附件失败", text: "文件过大不能上传!", type: "error" }); }else{ fileItem.url=fileItem.url+"/"+$scope.new_file_id+"/"+loginUser.id; $scope.newUpload(); $scope.doc_loading=true; } }; newUploader.onAfterAddingAll = function(addedFileItems) { console.info('onAfterAddingAll', addedFileItems); }; newUploader.onBeforeUploadItem = function(item) { console.info('onBeforeUploadItem', item); }; newUploader.onProgressItem = function(fileItem, progress) { console.info('onProgressItem', fileItem, progress); }; newUploader.onProgressAll = function(progress) { console.info('onProgressAll', progress); }; newUploader.onSuccessItem = function(fileItem, response, status, headers) { console.info('onSuccessItem', fileItem, response, status, headers); console.log(response); if(response.status == 200){ SweetAlert.swal({ title: "文件上传成功!", confirmButtonColor: "#007AFF", type: "success" }) $scope.doc_loading=false; $scope.refreshData('expand-right', $scope.jry_filterdata); }else{ SweetAlert.swal({ title: "文件上传失败!", text: response.error, type: "error" }) $scope.doc_loading=false; $scope.refreshData('expand-right', $scope.jry_filterdata); } }; newUploader.onErrorItem = function(fileItem, response, status, headers) { $scope.doc_loading=false; SweetAlert.swal({ title: "文件上传失败!", text: "系统错误", type: "error" }) console.info('onErrorItem', fileItem, response, status, headers); }; newUploader.onCancelItem = function(fileItem, response, status, headers) { console.info('onCancelItem', fileItem, response, status, headers); }; newUploader.onCompleteItem = function(fileItem, response, status, headers) { console.info('onCompleteItem', fileItem, response, status, headers); }; newUploader.onCompleteAll = function() { console.info('onCompleteAll'); }; // // 树 var apple_selected, tree, treedata_avm, my_datatreedata_geography,parentNode; $scope.adddata = {}; // $scope.add_file_parent={}; var childdata = {}; $scope.fenye=0; $scope.jry_filterdata={ "idx":$scope.fenye, "sum":10, "userId":loginUser.id, "type":"folder" }; //左边树 $scope.my_tree_handler = function(branch) { $scope.left_tree_select=branch; $scope.modify_data=$scope.left_tree_select; $scope.jry_filterdata["folderId"]=branch.id; $scope.refreshData('expand-right', $scope.jry_filterdata); $scope.selected.items=[];//复选框清空 }; // 新增父类返回 $scope.onAddFilterCallback = function(item){ $(".parent_bring_box").fadeOut(); $scope.add_parent=item; } // 修改父类返回 $scope.onEditFilterCallback=function(item){ $scope.edit_parent=item; } // function convertListToTree(data, treeMap) { // var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup // var root = null; //Initially set our loop to null // console.log(treeMap); // for (var i = 0; i < data.length; i++) { // var datum = data[i]; // //each node will have children, so let's give it a "children" poperty // datum.children = []; // //add an entry for this node to the map so that any future children can // //lookup the parent // idToNodeMap[datum.id] = datum; // //Does this node have a parent? // // console.log("datum="+JSON.stringify(datum)) // if (typeof datum.parent === "undefined"||datum.parent===null) { // //Doesn't look like it, so this node is the root of the tree // root = datum; // treeMap[datum.id] = root; // } else { // //This node has a parent, so let's look it up using the id // parentNode = idToNodeMap[datum.parent.id]; // //We don't need this property, so let's delete it. // // delete datum.parent; // //Let's add the current node as a child of the parent node. // parentNode.children.push(datum); // } // } // console.log(root); // console.log(treeMap); // console.log(typeof(treeMap)); // return root; // } // function convertParentToChildList(data) { // var treeMap = {}; // var list = []; // convertListToTree(data, treeMap); // console.log(treeMap); // angular.forEach(treeMap, function(item) { // list.push(item); // }); // console.log(list); // return list; // } function convertParentToChildList(data) { var treeMap = []; var list = []; var idToNodeMap = {}; var root = null; for (var i = 0; i < data.length; i++) { var datum = data[i]; datum.children = []; idToNodeMap[datum.id] = datum; if (typeof datum.parent === "undefined"||datum.parent===null) { root = datum; treeMap.push(root); } else { parentNode = idToNodeMap[datum.parent.id]; parentNode.children.push(datum); } } return treeMap; } $scope.parentdata = {}; $scope.try_async_load = function() { $scope.my_data = []; $scope.doing_async = true; var data = { "idx": 0, "sum": 1000 ,createUser:{id:loginUser.id},documentFolder:{"personal":$scope.isPersonal,createUser:{id:loginUser.id}}}; api_doc_data.fetchDataList('documentFolder', data).then(function(response) { console.log(response); var data = response.list; var objects = []; $scope.parentdata = data; for (var i = 0; i < data.length; i++) { var object = {}; object.id = data[i].id; if (angular.isDefined(data[i].parent)) { object.parent = data[i].parent; } if (angular.isDefined(data[i].hasArea)) { object.hasArea = data[i].hasArea; } if (angular.isDefined(data[i].hasSimple)) { object.hasSimple = data[i].hasSimple; } if (angular.isDefined(data[i].group)) { object.group = data[i].group; } if (angular.isDefined(data[i].priority)) { object.priority = data[i].priority; } object.label = data[i].name; // object.actions = data[i][3]; //权限部分 // object.group = "1"; // object.user = "2"; object.state = { "opened": true }; object.typeName = "type"; // if() // if (object.actions.indexOf("2") >= 0) { //知识库类型 具有增加权限--系统管理员 $scope.showAddSolutionType = true; // } // if (object.actions.indexOf("5") >= 0) { //知识库类型 具有授权权限--系统管理员 $scope.showReviewKnowledgeType = true; // } objects.push(object); } $scope.my_data = convertParentToChildList(objects); $scope.tree_data = angular.copy($scope.my_data); console.log($scope.tree_data); // if ($scope.my_data.length > 0) { $scope.doing_async = false; // } }); }; $scope.closethis = function(formdata) { formdata.category = ""; formdata.parent.category = ""; }; $scope.try_async_load(); $scope.refreshData('expand-right', $scope.jry_filterdata); }]);