'use strict'; /** * controller for User Profile Example */ app.controller('open_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","$stateParams", 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,$stateParams) { $scope.langs = i18nService.getAllLangs(); $scope.lang = 'zh-cn'; $scope.fileMessage=JSON.parse($stateParams.fileMessage);//过来文件夹的信息 i18nService.setCurrentLang($scope.lang); var loginUser = $rootScope.user; //ui-grid设置 $scope.gridOptions = {}; $scope.gridOptions.data = 'myData'; $scope.gridOptions.enableColumnResizing = true; $scope.gridOptions.enableFiltering = true; $scope.gridOptions.enableGridMenu = false; $scope.gridOptions.enableSelectAll = 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 = [10, 20, 50, 100]; $scope.gridOptions.paginationPageSize = 10; $scope.gridOptions.multiSelect = true; // $scope.gridOptions.rowTemplate = '
123
"; $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: '7%', cellTemplate: '
' + '
{{row.entity.item}}
' + '
', enableFiltering: false }, { name: 'fileName', displayName: '文档名称', width: '30%', 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: 'strUpdateTime', displayName: '更新时间', width: '35%', enableFiltering: false }, ]; $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, // "formUiName": data.inspection.inspectionTypeDTO.formUiName, "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.remove_files=function(value){ console.log(value); for(var i=0;i<$scope.selected.items.length;i++){ if($scope.selected.items.indexOf(value)!=-1){ $scope.selected.items.splice($scope.selected.items.indexOf(value),1); $scope.right_select.splice($scope.right_select.indexOf(value),1); $scope.refreshData('expand-right', $scope.jry_filterdata); } } } // 确定 $scope.open_submit=function(){ var filesIdArray=[]; for(var i=0;i<$scope.right_select.length;i++){ filesIdArray.push($scope.right_select[i].id) } var toData={ indexId:$scope.fileMessage.id, fileId:filesIdArray } if($scope.right_select.length==0){ SweetAlert.swal({ title: "操作失败!", text: "请选择文件引入", type: "error" }) }else{ api_doc_data.insertIndexFile(toData).then(function(res){ if(res.status==200){ SweetAlert.swal({ title: "引入成功!", type: "success", confirmButtonColor: "#007AFF" }, function() { $state.go('app.file.indexes',{}) }); }else{ SweetAlert.swal({ title: "引入失败!", text: "请重新再试", type: "error" }) } }) } } //取消 $scope.open_close=function(){ $state.go('app.file.indexes',{}) } //grid控制器 $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); $scope.right_select.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; } } for (var i = 0; i <= $scope.right_select.length; i++) { if ($scope.right_select.id == $scope.right_select.id) { $scope.right_select.splice(i, 1); break; } } }; // $scope.mySelectedRows = $scope.gridApi.selection.getSelectedRows(); console.log($scope.right_select); }); // 复选框全选 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) }); } $scope.ldloading = {}; $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 (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; } // else { // $scope.ldloading[style.replace('-', '_')] = false; // SweetAlert.swal({ // title: "数据为空", // text: myData.data, // type: "warning" // }); // } }, function() { $scope.ldloading[style.replace('-', '_')] = false; }); }; // 新增弹框 $scope.new_file_id="";//更新文件的id $scope.add_file_name="";//新增文件夹名称 $scope.add_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.right_select=[];//所选索引文件 // $scope.add_box=false;//新增弹框 //左侧下拉树搜索 $scope.search_tree_fn=function(){ var data = { "idx": 0, "sum": 1000 ,documentFolder:{"name":$scope.search_tree_ipt,"personal":1}}; 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.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.doc_loading=false; // 列表搜索 $scope.list_search=function(){ $scope.refreshData('expand-right', $scope.jry_filterdata); } // 清空 $scope.clean=function(){ $scope.jry_filterdata.fileName=""; $scope.jry_filterdata.content=""; $scope.refreshData('expand-right', $scope.jry_filterdata); } // // 树 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, // "documentFile":{} "type":"folder" }; //左边树 $scope.my_tree_handler = function(branch) { console.log(branch); $scope.left_tree_select=branch; $scope.modify_data=$scope.left_tree_select; // var data={ // "idx":0, // "sum":10, // documentFile:{"folder":branch.id} // }; $scope.jry_filterdata["folderId"]=branch.id; $scope.refreshData('expand-right', $scope.jry_filterdata); }; 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.onFilterCallback = function(item){ console.log(item); $scope.add_parent=item; } $scope.parentdata = {}; $scope.try_async_load = function() { $scope.my_data = []; $scope.doing_async = true; var data = { "idx": 0, "sum": 1000,"documentFolder":{"personal":1}}; 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.closethis = function(formdata) { formdata.category = ""; formdata.parent.category = ""; }; $scope.try_async_load(); $scope.refreshData('expand-right', $scope.jry_filterdata); }]);