app.controller('knowledgeManagerCtrl', ["$rootScope", "$scope", "$http", "i18nService", "$state", "$timeout", "$interval", "SweetAlert", "$window", "$modal", "FileUploader", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_user_data", "api_solution", "api_bpm_domain", "$stateParams", "api_zsk", "api_configure_data", "api_wechatfile", function ($rootScope, $scope, $http, i18nService, $state, $timeout, $interval, SweetAlert, $window, $modal, FileUploader, uiGridConstants, uiGridGroupingConstants, Restangular, api_user_data, api_solution, api_bpm_domain, $stateParams, api_zsk, api_configure_data, api_wechatfile) { $scope.langs = i18nService.getAllLangs(); $scope.lang = 'zh-cn'; i18nService.setCurrentLang($scope.lang); var loginUser = $rootScope.user; $scope.xinzeng = false; for (var i = 0; i < loginUser.menu.length; i++) { if (loginUser.menu[i].link == "zhishiku_xinzeng") { $scope.xinzeng = true } } $scope.gridOptions = {}; $scope.gridOptions.data = 'myData'; $scope.gridOptions.enableColumnResizing = true; $scope.gridOptions.enableFiltering = false; $scope.gridOptions.enableGridMenu = true; $scope.gridOptions.enableRowSelection = true; $scope.gridOptions.showGridFooter = true; $scope.gridOptions.showColumnFooter = true; $scope.gridOptions.fastWatch = true; $scope.gridOptions.useExternalPagination = true; // $scope.gridOptions.paginationPageSizes = [10, 20, 50, 100]; $scope.gridOptions.paginationPageSizes = [10]; $scope.gridOptions.paginationPageSize = 10; $scope.gridOptions.multiSelect = false; $scope.gridOptions.rowIdentity = function (row) { return row.id; }; $scope.gridOptions.getRowIdentity = function (row) { return row.id; }; var mun = $scope.gridOptions.paginationPageSize; $scope.transferTime = function (time) { return moment(time).format('YYYY-MM-DD '); } //jry数据传递 // $scope.jry_knowipt=""; if ($scope.fenye == undefined) { $scope.fenye = 0; } // console.log($scope.jry_knowipt); $scope.jry_todata = { "idx": $scope.fenye, "sum": 10, "solution": { selectType:'keySearch', "keywords": "", "solutionType": { "id": '' }, "status": { "id": "" }, "createUser": { "name": "" } } } // $scope.$watch("jry_knowipt",function(val){ // // console.log(val) // $scope.jry_todata={ // "idx":$scope.fenye, // "sum":10, // "solution":{ // "keywords":val // } // } // }) // 清空 $scope.clean = function () { delete $scope.jry_todata.solution.title; delete $scope.jry_todata.solution.solutionType; delete $scope.jry_todata.solution.createUser; delete $scope.jry_todata.solution.threeSearch; $scope.solutionTypeId = ""; $scope.try_async_load(); $scope.refreshListData('expand-right', $scope.jry_todata); } $scope.transferStatus = function (status) { var statusLabel = "不合法的状态"; if (status.value == 1) { statusLabel = "待审核"; } else if (status.value == 2) { statusLabel = "已发布"; } else if (status.value == 3) { statusLabel = "已驳回"; } else if (status.value == 4) { statusLabel = "已停用"; } else if (status.value == 5) { statusLabel = "已驳回"; } else if (status.value == 6) { statusLabel = "已拒绝"; } return statusLabel; } $scope.gridOptions.rowTemplate = "
"; $scope.gridOptions.columnDefs = [{ name: 'item', displayName: '序号', width: 50 }, { name: 'solutionnumber', displayName: '知识库编号', width: '13%', minWidth: '130' }, { name: 'title', displayName: '故障描述', width: '13%' }, { name: 'solutionType.typeName', displayName: '知识库分类', width: '12%' }, { name: 'visionNumber', displayName: '版本号', width: '80' }, // { name: 'keywords', displayName: '关键字', width: '10%' }, { name: 'status', displayName: '状态', cellTemplate: '
{{grid.appScope.transferStatus(row.entity.status)}}
', width: '8%' }, { name: 'createUser.name', displayName: '创建人', width: '8%' }, { name: 'createtime', cellTemplate: '
{{grid.appScope.transferTime(row.entity.createtime)}}
', displayName: '创建日期', width: '12%' }, { name: '操作', minWidth: '300', cellTemplate: '' }, ]; $scope.gridOptions.onRegisterApi = function (gridApi) { $scope.gridApi = gridApi; gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) { var filtersData = $scope.allfilterData; $scope.fenye = newPage - 1; $scope.jry_todata.idx = newPage - 1; $scope.jry_todata.sum = pageSize; filtersData.pageIndex = newPage - 1; var data = { pageIndex: newPage - 1 }; var dataFilter = angular.extend(data, filtersData); dataFilter.status = filtersData.status; $scope.myData = []; // $scope.refreshListData('expand-right', dataFilter); // if (JSON.parse(sessionStorage.getItem("searchKnowledge")).pageIndex != dataFilter.pageIndex) { // $scope.refreshListData('expand-right', dataFilter); // } // $scope.refreshListData('expand-right', $scope.jry_todata); api_zsk.jry_get_list($scope.jry_todata, "solution").then(function (data) { $scope.myData = []; var myData = Restangular.stripRestangular(data); // console.log("myData="+JSON.stringify(myData)); $scope.gridOptions.totalItems = myData.totalNum; if (myData.error && myData.status == 200) { $scope.myData = []; } else { if (angular.isArray(myData.list)) { $scope.myData = myData.list; for (var i = 0; i < $scope.myData.length; i++) { delete $scope.myData[i]['item'] $scope.myData[i]['item'] = i + 1 + $scope.jry_todata.idx * $scope.jry_todata.sum } } else { SweetAlert.swal({ title: "数据为空", text: myData.list, type: "warning" }); } } // $scope.ldloading[style.replace('-', '_')] = false; } // , function() { // $scope.ldloading[style.replace('-', '_')] = false; // } ); }); }; var fildate = { key: 'null', status: 0, pageIndex: 0, pageSum: mun, //treeIds:'[]', userId: loginUser.id } $scope.knowledge = {}; $scope.inspecttype = {}; $scope.my_datalist = {}; $scope.searchstate = 0; $scope.selectedItems = []; // $scope.knowledge.type = { id: 1, label: "应用系统" } $scope.my_data = []; this.selectRowFunction = function (data) {}; $scope.my_tree = tree = {}; $scope.try_async_load = function () { $scope.my_data = []; $scope.doing_async = true; // api_user_data.fetchDataList('group', { "idx": 0, "sum": 1000 }).then(function(response) { // var myData = Restangular.stripRestangular(response); // var list = myData.list; // var objects = []; // for (var i = 0; i < list.length; i++) { // var object = {}; // object.id = list[i].id; // if (list[i].parent == 0) { // object.parent = "#"; // } else { // object.parent = list[i].parent; // } // object.text = list[i].groupName; // object.typeName = "group"; // object.state = { // "opened": true // }; // objects.push(object); // } // $scope.groups = objects; // }); // api_solution.findSolutionTypeActions(loginUser.id).then(function(response) { //JRY api_zsk.jry_get_list({ "idx": 0, "sum": 1000 }, "solutionType").then(function (response) { if (response.status == 200) { var data = response.list; // console.log('data='+JSON.stringify(data)); var objects = []; for (var i = 0; i < data.length; i++) { var object = {}; object.id = data[i].id; if (data[i].pid != 0) { object.parent = data[i].pid; } // if (object.parent == 0) { // object.parent = "#"; // } object.label = data[i].typeName; object.actions = data[i].actions; //权限部分 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); if (JSON.parse(sessionStorage.getItem("searchKnowledge")) && JSON.parse(sessionStorage.getItem("searchKnowledge")).treeIds) { angular.forEach($scope.my_data, function (item) { if (item.id == JSON.parse(sessionStorage.getItem("searchKnowledge")).treeIds) { $scope.knowledge.type = item } }) } // if (JSON.parse(sessionStorage.getItem("searchKnowledgetype")) && JSON.parse(sessionStorage.getItem("searchKnowledgetype")).type) { // angular.forEach($scope.my_data, function(item, index) { // if (JSON.parse(sessionStorage.getItem("searchKnowledgetype")).type.id == item.id) { // $scope.my_data[index].selected = true; // } // }) // } $scope.my_datalist = angular.copy($scope.my_data); $scope.tree_data = angular.copy($scope.my_data); if ($scope.my_data.length > 0) { $scope.doing_async = false; } } else { SweetAlert.swal({ title: "系统错误!", text: "请刷新重试!", type: "error" }); } }); $scope.showAddSolutionType = false; //添加知识类型 按钮 $scope.showReviewKnowledgeType = false; //审核知识类型 按钮 }; $scope.try_async_load(); $scope.ldloading = {}; // console.log($scope.fenye); $scope.refreshListData = function (style, filterData) { $scope.myData=[] $scope.ldloading[style.replace('-', '_')] = true; api_zsk.jry_get_list(filterData, "solution").then(function (data) { $scope.myData=[] if (data.list) { var myData = Restangular.stripRestangular(data); var list = []; $scope.gridOptions['totalItems'] = myData.totalNum; $scope.myData = myData.list; // console.log(filterData) for (var i = 0; i < $scope.myData.length; i++) { // $scope.myData[i]['item'] = i+1 delete $scope.myData[i]['item'] $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum+'' } } else { SweetAlert.swal({ title: "系统错误", text: "请稍后再试!", type: "error" }); } $scope.ldloading[style.replace('-', '_')] = false; }, function () { $scope.ldloading[style.replace('-', '_')] = false; }); } $scope.timer = $interval(function () { $scope.refreshListData('expand-right', $scope.jry_todata); }, $rootScope.refreshTime); $scope.$on('$destroy', function () { $interval.cancel($scope.timer) }); // 获取创建人 $scope.getCreateUser = function () { api_configure_data.fetchDataList("user", { "idx": 0, "sum": 1000, "user":{ "simple": true } }).then(function (res) { $scope.createUserData = res.list }) } $scope.getCreateUser() //导入 $scope.importopen = function () { //导入触发事件 var modalInstance = $modal.open({ templateUrl: 'assets/views/import.html', controller: function ($scope, $modalInstance, FileUploader) { var importUploader = $scope.importUploader = new FileUploader({ url: api_user_data.importData1('solution').getRequestedUrl(), }); importUploader.onWhenAddingFileFailed = function (item /*{File|FileLikeObject}*/ , filter, options) { console.info('onWhenAddingFileFailed', item, filter, options); }; importUploader.onAfterAddingFile = function (fileItem) { console.info('onAfterAddingFile', fileItem); }; importUploader.onAfterAddingAll = function (addedFileItems) { console.info('onAfterAddingAll', addedFileItems); }; 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) { if (response.status == 200) { SweetAlert.swal({ title: "导入成功!", confirmButtonColor: "#007AFF", type: "success" }, function () { // $scope.ldloading.contract_overlay = false; $rootScope.isMask = false; $scope.refreshListData('expand-right', $scope.jry_todata); }); } else { // $scope.ldloading.contract_overlay = false; $rootScope.isMask = false; SweetAlert.swal({ title: "导入失败!", text: response.error, type: "error" }) } console.info('onSuccessItem', fileItem, response, status, headers); }; importUploader.onErrorItem = function (fileItem, response, status, headers) { console.info('onErrorItem', fileItem, response, status, headers); SweetAlert.swal({ title: "系统错误!", text: "系统错误,请稍候重试!", type: "error" }); }; importUploader.onCancelItem = function (fileItem, response, status, headers) { console.info('onCancelItem', fileItem, response, status, headers); }; importUploader.onCompleteItem = function (fileItem, response, status, headers) { console.info('onCompleteItem', fileItem, response, status, headers); }; importUploader.onCompleteAll = function () { console.info('onCompleteAll'); }; $scope.ldloading = {}; $rootScope.isMask = false; $scope.import = function (style) { // $scope.ldloading[style.replace('-', '_')] = true; $modalInstance.dismiss('cancel'); $rootScope.isMask = true; 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(); } $scope.cancel = function () { $modalInstance.dismiss('cancel'); }; }, size: 'sm', resolve: { importUploader: function () { return $scope.importUploader; } } }); modalInstance.result.then(function (selectedItem) { if (selectedItem) {} }) } //知识库下载 $scope.export = function () { var modalInstance = $modal.open({ // templateUrl: 'assets/views/knowledge/tpl/knowledgegetdown.html', templateUrl: 'assets/views/system/tpl/getdown.html', controller: function ($scope, $modalInstance) { $scope.key = {}; $scope.title = '知识库下载'; $scope.lable = '下载类型'; $scope.onChange = function (key) { $scope.key = key; } $scope.downmodel = [{ id: 1, name: "模版下载" } ,{ id: 2, name: "数据导出" } ] $scope.ok = function () { $modalInstance.close($scope.key); }; $scope.cancel = function () { $modalInstance.dismiss('cancel'); }; }, size: 'sm', }); modalInstance.result.then(function (selectedItem) { if (selectedItem) { var selectedItemId = "知识库模版"; if (selectedItem.id == 2) { selectedItemId = "知识库数据"; } var filadata = { 'model': selectedItem.id }; $http({ url: api_user_data.downDataModel('solution',1).getRequestedUrl(), method: 'GET', data: JSON.stringify(filadata), headers: { // 'Content-type': 'application/xls', 'Accept': '*/*' }, responseType: 'arraybuffer' }).success(function (data, status, headers, config) { // $scope.ldloading.zoom_in = false; var file = new Blob([data], { type: 'application/vnd.ms-excel' }); //trick to download store a file having its URL var fileURL = URL.createObjectURL(file); var a = document.createElement('a'); a.href = fileURL; a.target = '_blank'; a.download = selectedItemId + '.xlsx'; document.body.appendChild(a); a.click(); }).error(function (data, status, headers, config) { // $scope.ldloading.zoom_in = false; console.log(data); }); } }); } $scope.createKnowledge = function () { var data = { model: { knowledge: { createUserId: loginUser.id, status: 1 } } }; // var data = { model: { knowledge: { createUser: {id:loginUser.id}, status: 1 } } }; $state.go('app.knowledge.create', { formKey: 'knowledge_create', service: 'api_solution', 'model': JSON.stringify(data) }) } // $scope.onDblClick = function(row) { // // api_solution.findSolutionById(row.entity.id).then(function(response) { // // var data = { model: { knowledge: response.data } }; // // if (!isNaN(data.model.knowledge.vision)) { // // data.model.knowledge.vision = 'V' + String(data.model.knowledge.vision); // // } // console.log(row) // api_solution.jry_getHistory({"idx":0,"sum":999,"solution":{"solutionnumber":row.entity.solutionnumber}}).then(function(res1){ // $state.go('app.knowledge.detail', { formKey: 'knowledge_detail', service: 'api_solution', 'model': JSON.stringify({"model":{"knowledge":row.entity}}),'history': JSON.stringify(res1.list)}) // }) // } $scope.seeSolution = function (row) { api_solution.jry_getHistory({ "idx": 0, "sum": 999, "solution": { "solutionnumber": row.solutionnumber } }).then(function (res1) { $state.go('app.knowledge.detail', { formKey: 'knowledge_detail', service: 'api_solution', 'model': JSON.stringify({ "model": { "knowledge": row } }), 'history': JSON.stringify(res1.list) }) }) } // 编辑 $scope.editSolution = function (item) { // api_solution.findSolutionById(id).then(function(response) { // var data = { model: { knowledge: response.data } }; // if (!isNaN(data.model.knowledge.vision)) { // data.model.knowledge.vision = 'V' + String(data.model.knowledge.vision); // } api_solution.jry_getHistory({ "idx": 0, "sum": 999, "solution": { "solutionnumber": item.solutionnumber } }).then(function (res1) { $state.go('app.knowledge.editor', { formKey: 'knowledge_editor', service: 'api_solution', 'model': JSON.stringify({ "model": { "knowledge": item } }), 'history': JSON.stringify(res1.list) }) }) console.log(item); } //升级 $scope.leve = function (item) { // api_solution.findSolutionById(id).then(function(response) { // var data = { model: { knowledge: response.data } }; // if (!isNaN(data.model.knowledge.vision)) { // data.model.knowledge.vision = 'V' + String(data.model.knowledge.vision); // } // console.log(item); api_solution.jry_getHistory({ "idx": 0, "sum": 999, "solution": { "solutionnumber": item.solutionnumber } }).then(function (res1) { // console.log(res1) api_solution.jry_leveVision(item.id).then(function (res) { console.log(res); item.visionNumber = res.data; console.log(item); $state.go('app.knowledge.leve', { formKey: 'knowledge_leve', service: 'api_solution', 'model': JSON.stringify({ "model": { "knowledge": item } }), 'history': JSON.stringify(res1.list) }) }) }) } $scope.commentSolution = function (id) { var modalInstance = $modal.open({ templateUrl: 'assets/views/knowledge/tpl/commentknowledge.html', controller: function ($scope, $http, $modalInstance, APIService, uploader, currentUser, Alert, MomentFormat, loginUser) { $scope.isManage = false; angular.forEach(loginUser.role, function (item) { if (item.rolecode == "solution") { $scope.isManage = true; } }) $scope.examineKnowledge = function (item) { APIService.updModel("solutionReview", { "solutionReview": { "status": 2, "id": item.id } }).then(function (response) { if (response && response.status == "200") { SweetAlert.swal({ title: "审核通过!", text: "知识库评论审核成功!", type: "success" }, function () { loadData(); }); } else { SweetAlert.swal({ title: "审核失败", text: "知识库评论审核失败!", type: "error" }); } }) } $scope.reviewKnowledge = function (item) { APIService.updModel("updSolutionReviewByIds", { "type": 2, "status": 2, "ids": id }).then(function (response) { if (response && response.status == "200") { SweetAlert.swal({ title: "审核通过!", text: "知识库评论审核成功!", type: "success" }, function () { loadData(); }); } else { SweetAlert.swal({ title: "审核失败", text: "知识库评论审核失败!", type: "error" }); } }) } $scope.removeKnowledge = function (item) { APIService.updModel("solutionReview", { "solutionReview": { "status": 3, "id": item.id } }).then(function (response) { if (response && response.status == "200") { SweetAlert.swal({ title: "删除成功!", text: "知识库评论删除成功!", type: "success" }, function () { loadData(); }); } else { SweetAlert.swal({ title: "删除失败", text: "知识库评论删除失败!", type: "error" }); } }) } var loadData = function () { $scope.visions = []; $scope.entity = {}; $scope.showCommentScore = true; $scope.comments = []; // APIService.findSolutionReviewById(loginUser.id, solution.id, 0, 1000).then(function(response) { APIService.fetchDataList('solutionReview', { 'idx': 0, 'sum': 1000, 'solutionReview': { 'solutionId': id, 'userId': loginUser.id } }).then(function (response) { if (response.status != "500") { var data = response.list; if (angular.isDefined(response.result)) { $scope.showCommentScore = false; } for (var i = 0; i < data.length; i++) { var object = {}; object.id = data[i].id; object.name = data[i].userName; object.status = data[i].status; if (data[i].reviewScore > 0) { object.score = data[i].reviewScore; } // object.content=data[i].review; var ss = data[i].review; var s1 = ""; if (ss != null) { var index = ss.indexOf("

"); var indexs = ss.indexOf("

"); s1 = ss.substring(index + 3, indexs); } object.content = s1; // object.score=data[i].reviewScore; object.time = moment(data[i].reviewTime).format('YYYY-MM-DD HH:mm:ss'); // console.log('object.time='+JSON.stringify(object)); $scope.comments.push(object); } } }); APIService.findSolutionById(id).then(function (response) { var datas = response.data; $scope.entity = { "id": datas.id, "title": datas.title, "keys": datas.keywords, "type": datas.typeId, "range": datas.solutionRange, "number": datas.solutionNumber, "content": datas.content, "createrUserId": datas.createUserId, "createTime": datas.createtime, "status": datas.status, "hits": datas.hits, "relateId": datas.relateId, "vision": datas.vision, "vision2": "V" + datas.vision, // "fileContent":datas.fileContent, "replies": datas.replies, "scores": datas.scores, "hits": datas.hits, "fileName": datas.fileName, "typeName": datas.typeDTO.typeName }; console.log(datas) console.log($scope.entity); }); } loadData(); $scope.options = { language: 'zh-cn', allowedContent: true, entities: false }; $scope.uploader = uploader; $scope.getdown = function (filename) { $http({ url: APIService.getSolutionDowpath(id).getRequestedUrl(), method: 'GET', headers: { //'Content-type' : 'application/xls', 'Accept': '*/*' }, responseType: 'arraybuffer' }).success(function (data, status, headers, config) { var file = new Blob([data], { type: 'application/octet-stream' }); //trick to download store a file having its URL var fileURL = URL.createObjectURL(file); 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) { console.log(data); }); } $scope.ranges = [{ "id": 1, "name": "全局" }, { "id": 3, "name": "组" }]; // $scope.ok = function() { // $modalInstance.close($scope.entity); // }; $scope.cancel = function () { // api_solution.findSolutions($scope.entity.id).then(function(response){ // var data6=response.data[0]; // for(var j=0;j<=$scope.solutionBBS.length;j++){ // if($scope.solutionBBS.length>0&&$scope.solutionBBS[j].id==$scope.entity.id){ // $scope.solutionBBS[j].replies=data6.replies; // $scope.solutionBBS[j].hits=data6.hits; // $scope.solutionBBS[j].scores=data6.scores; // break; // } // } // }); $modalInstance.close($scope.entity.id); }; $scope.saveComment = function (reviewcontent, score) { $scope.entity['reviewcontent'] = reviewcontent; $scope.entity['score'] = score; $modalInstance.close($scope.entity); } }, size: 'lg', resolve: { APIService: function () { return api_solution; }, uploader: function () { return $scope.uploader; }, currentUser: function () { return loginUser.id; }, Alert: function () { return SweetAlert; }, MomentFormat: function () { return moment; }, loginUser: function () { return loginUser; } } }); modalInstance.result.then(function (selectedItem) { if (selectedItem.title) { var solutionId = selectedItem.id; var reviewContent = selectedItem.reviewcontent; // if(solutionId==null){ var reviewScore; if (selectedItem.score) { reviewScore = selectedItem.score.toFixed(1) } var data = { id: null, solutionId: solutionId, userId: loginUser.id, review: reviewContent, reviewScore: reviewScore, reviewTime: new Date() }; api_solution.addSolutionReview(data).then(function (response) { var status = response.status; console.log(response) console.log('$scope.apClient=' + JSON.stringify(status)); if (status == "200") { SweetAlert.swal({ title: "评论知识库!", text: "评论知识库成功!", type: "success" }, function () { api_solution.findSolutions(selectedItem.id).then(function (response) { var data6 = response.data[0]; for (var j = 0; j <= $scope.solutionBBS.length; j++) { if ($scope.solutionBBS.length > 0 && $scope.solutionBBS[j].id == selectedItem.id) { $scope.solutionBBS[j].replies = data6.replies; $scope.solutionBBS[j].hits = data6.hits; $scope.solutionBBS[j].scores = data6.scores; break; } } }); }); } else { SweetAlert.swal({ title: "评论知识库!", text: "评论知识库失败!", type: "error" }); } }); } }); } //停用 $scope.jry_close = function (item) { // console.log(item); // item.status.id=74; // item["recalluser"]={id:loginUser.id}; // item["recalltime"]=moment(new Date()).format('YYYY-MM-DD HH:mm:ss'); // delete(item["item"]); // item.renewtime=moment(item.renewtime).format('YYYY-MM-DD HH:mm:ss'); // $scope.jry_tingyong={"solution":item}; SweetAlert.swal({ title: "", text: "是否确认将编号【" + item.solutionnumber + "】停用?停用后此知识不会公布在外!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "确认停用", cancelButtonText: "取消操作", closeOnConfirm: false, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { item.status.id = 74; item["recalluser"] = { id: loginUser.id }; item["recalltime"] = moment(new Date()).format('YYYY-MM-DD HH:mm:ss'); delete(item["item"]); item.renewtime = moment(item.renewtime).format('YYYY-MM-DD HH:mm:ss'); $scope.jry_tingyong = { "solution": item }; api_solution.jry_updateSolution($scope.jry_tingyong).then(function () { SweetAlert.swal("操作成功!", "该知识已停用", "success"); $scope.myData = []; $scope.refreshListData('expand-right', $scope.jry_todata); }) } else { SweetAlert.swal("操作取消", "该知识安全", "error"); } }); } //审核 $scope.jry_shenhe = function (item) { api_solution.jry_getHistory({ "idx": 0, "sum": 999, "solution": { "solutionnumber": item.solutionnumber } }).then(function (res1) { $state.go('app.knowledge.jry_shenhe', { formKey: 'knowledge_shenhe', service: 'api_solution', 'model': JSON.stringify({ "model": { "knowledge": item } }), 'history': JSON.stringify(res1.list) }) }) } // 历史记录 $scope.jry_lishi = function (item) { $state.go('app.knowledge.jry_lishi', { formKey: 'knowledge_lishi', service: 'api_solution', 'model': JSON.stringify({ "model": { "knowledge": item } }) }) } $scope.approvalSolution = function (data, id, outTimePower) { var modalInstance = $modal.open({ templateUrl: 'assets/views/knowledge/tpl/approvalknowledge.html', controller: function ($scope, $modalInstance, APIService, Alert, workGroups, uploader, tree_data, outTimePower) { $scope.wgroups = workGroups; $scope.type_handler = function (branch) { $scope.typeIds = branch.id; // console.log(branch); }; $scope.type_data = tree_data; $scope.uploader = uploader; var loadData = function () { $scope.visions = []; // APIService.findSolutionById(id).then(function(response) { // var data = response.data; $scope.visions = data; //console.log(datas); // var data={}; // for(var i=0;i= 1) { // //not valid // } else { // var tempclassify = item.prefix.toLowerCase() + item.sign; // $scope.gridApi.grid.options.paginationCurrentPage = 1; // $scope.cifilter_classic = tempclassify; // var memoryfilterData = { // "sign": tempclassify, // "idx": 0, // "sum": $scope.gridOptions.paginationPageSize // } // angular.extend($scope.memoryfilterData, memoryfilterData) // // $scope.memoryfilterData=memoryfilterData; // $scope.refreshData('expand-right', $scope.memoryfilterData); // // 专有属性 // api_configure_form.renderTabForm(tempclassify).then(function(data){ // var myData = Restangular.stripRestangular(data); // $scope.propTypeOptions = myData[2].form.fields; // // console.log($scope.propTypeOptions) // }); // } } }]); app.controller('knowledgeForumCtrl', ["$rootScope", "$scope", "$filter", "ngTableParams", "$state", "$timeout", "$interval", "$modal", "SweetAlert", "moment", "Restangular", "api_solution", function ($rootScope, $scope, $filter, ngTableParams, $state, $timeout, $interval, $modal, SweetAlert, moment, Restangular, api_solution) { var loginUser = $rootScope.user; $scope.clses = [{ id: 6, cls: 'danger' }, { id: 2, cls: 'warning' }, { id: 3, cls: 'success' }, { id: 4, cls: 'primary' }, { id: 5, cls: 'info' }, { id: 1, cls: 'danger' } ]; $scope.showlist = true; $scope.myKeyup = function (e, searchInput) { var keyCode = window.event ? e.keyCode : e.which; if (keyCode == 13) { $scope.searchSolution(searchInput); } }; $scope.searchSolution = function (searchKey, page) { console.log(page) if (searchKey == "") { if (angular.isDefined(page)) { if (page == 0) { page = 1; } else if (page == $scope.pages + 1) { page = $scope.pages; } } else { tempPage = page = 0; $scope.solutionBBS = []; } // api_solution.queryBBSSolutions(tempPage, 7, 'createtime', loginUser.id, searchKey).then(function(response) { api_solution.fetchDataList("solution", { 'idx': 0, 'sum': 7, 'solution': { 'searchType': 2, 'keywords': searchKey, createUserId: loginUser.id } }).then(function (response) { // api_solution.fetchDataList("solution", { 'idx': 0, 'sum': 7, 'solution': { 'searchType': 2, 'keywords': searchKey, createUser: {id:loginUser.id} } }).then(function(response) { var myData = Restangular.stripRestangular(response); var status = myData.status; if (status == "500") { $scope.solutionBBS = []; } else if (status == "200" && myData.list) { sereshdata(response, searchKey); } }); } else if (searchKey != "" && searchKey.length > 1) { // if (angular.isDefined(page)) { // if (page == 0) { // page = 1; // } else if (page == $scope.pages + 1) { // page = $scope.pages; // } // tempPage = page - 1; // } else { // tempPage = page = 0; // $scope.solutionBBS = []; // } // if(page==0){ // page=1; // }else if(page==$scope.pages+1){ // page=$scope.pages; // } api_solution.fetchDataList("solution", { 'idx': 0, 'sum': 7, 'solution': { 'searchType': 2, 'keywords': searchKey, createUserId: loginUser.id } }).then(function (response) { // api_solution.fetchDataList("solution", { 'idx': 0, 'sum': 7, 'solution': { 'searchType': 2, 'keywords': searchKey, createUser: {id:loginUser.id} } }).then(function(response) { var myData = Restangular.stripRestangular(response); $scope.solutionBBS = []; $scope.currentPage = 1; $scope.pages = 0; $scope.num = response.totalNum; sereshdata(response, searchKey); // var status = myData.status; // if (status == "500") { // $scope.solutionBBS = []; // } else if (status == "200" && myData.list) { // var data = myData.list; // var count = myData.totalNum; // $scope.pages = parseInt(count / 7) + 1; // if (page == 0) { // $scope.currentPage = page + 1; // } else { // $scope.currentPage = page; // } // if (data.length > 0) { // $scope.solutionBBS = []; // for (var i = 0; i < data.length; i++) { // data[i].creationTime = getLocalTime(data[i].createtime); // data[i].releasetime = getLocalTime(data[i].releasetime); // if (data[i].solutionReviewDTO.reviewTime == null) { // data[i].solutionReviewDTO.reviewTime = "暂无回复"; // } else { // data[i].solutionReviewDTO.reviewTime = getLocalTime(data[i].solutionReviewDTO.reviewTime); // } // if (data[i].solutionReviewDTO.userName == null) { // data[i].solutionReviewDTO.userName = "暂无回复人"; // } // // if (i == 0) { // // data[i].index = 1; // // } else if (i == 1) { // // data[i].index = 2; // // } else if (i == 2) { // // data[i].index = 3; // // } else { // // data[i].index = 4; // // } // $scope.solutionBBS.push(data[i]); // // reshdata($scope.solutionBBS); // } // } // } }); } } // $scope.$watch('searchInput',function(newvalue, oldvalue){ // if(newvalue == oldvalue) return; // $scope.searchSolution(newvalue); // }); //BBS列表切换 $scope.changeShowList = function (val) { $scope.showlist = !$scope.showlist; } $scope.solutionBBS = []; $scope.hotRankings = []; $scope.scoreRankings = []; $scope.solutionScores = []; $scope.currentPage = 1; $scope.pages = 0; $scope.num = 0; function sereshdata(item, key) { $scope.tableParams = new ngTableParams({ page: 1, // show first page count: 7, // count per page data: item.list }, { total: item.totalNum, // length of data getData: function ($defer, params) { api_solution.fetchDataList("solution", { 'idx': params.page() - 1, 'sum': 7, 'solution': { 'searchType': 2, 'keywords': key, createUserId: loginUser.id } }).then(function (response) { // api_solution.fetchDataList("solution", { 'idx': params.page() - 1, 'sum': 7, 'solution': { 'searchType': 2, 'keywords': key, createUser: {id:loginUser.id} } }).then(function(response) { var data = response.list; for (var i = 0; i < data.length; i++) { data[i].creationTime = getLocalTime(data[i].createtime); data[i].releasetime = getLocalTime(data[i].releasetime); if (data[i].solutionReviewDTO.reviewTime == null) { data[i].solutionReviewDTO.reviewTime = "暂无回复"; } else { data[i].solutionReviewDTO.reviewTime = getLocalTime(data[i].solutionReviewDTO.reviewTime); } if (data[i].solutionReviewDTO.userName == null) { data[i].solutionReviewDTO.userName = "暂无回复人"; } $scope.solutionBBS.push(data[i]); } $defer.resolve(data.slice((0) * params.count(), params.page() * params.count())); }) } }); } // function reshdata(item, key) { // $scope.tableParams = new ngTableParams({ // page: 1, // show first page // count: 3 // count per page // }, { // total: item.totalNum, // length of data // getData: function($defer, params) { // // api_solution.fetchBBSSolutions(params.page() - 1, 7, "createtime", loginUser.id).then(function(response) { // var orderedData = params.sorting() ? $filter('orderBy')(item.list, params.orderBy()) : item.list; // $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count())); // } // }); // } // api_solution.fetchBBSSolutions(0, 7, "createtime", loginUser.id).then(function(response) { api_solution.fetchDataList("solution", { 'idx': 0, 'sum': 7, 'solution': { 'searchType': 2, createUserId: loginUser.id } }).then(function (response) { // api_solution.fetchDataList("solution", { 'idx': 0, 'sum': 7, 'solution': { 'searchType': 2, createUser: {id:loginUser.id} } }).then(function(response) { if (response.status == 200) { $scope.solutionBBS = []; var data = response.list; $scope.num = response.totalNum; // for (var i = 0; i < data.length; i++) { // data[i].creationTime = getLocalTime(data[i].createtime); // data[i].releasetime = getLocalTime(data[i].releasetime); // if (data[i].solutionReviewDTO.reviewTime == null) { // data[i].solutionReviewDTO.reviewTime = "暂无回复"; // } else { // data[i].solutionReviewDTO.reviewTime = getLocalTime(data[i].solutionReviewDTO.reviewTime); // } // if (data[i].solutionReviewDTO.userName == null) { // data[i].solutionReviewDTO.userName = "暂无回复人"; // } // $scope.solutionBBS.push(data[i]); // } sereshdata(response); // $scope.tableParams = new ngTableParams({ // page: 1, // show first page // count: 7 // count per page // }, { // total: response.totalNum, // length of data // getData: function($defer, params) { // api_solution.fetchBBSSolutions(params.page() - 1, 7, "createtime", loginUser.id).then(function(data) { // var myData = data.list; // $defer.resolve(myData.slice((0) * params.count(), params.page() * params.count())); // }) // } // }); } }) api_solution.fetchBBSSolutions(0, 5, "scores", loginUser.id).then(function (response) { $scope.solutionBBS1 = []; var myData = Restangular.stripRestangular(response); var data = myData.list; for (var i = 0; i < data.length; i++) { data[i].creationTime = getLocalTime(data[i].creationTime); data[i].lastReplyTime = getLocalTime(data[i].lastReplyTime); if (i == 0) { data[i].index = 1; } else if (i == 1) { data[i].index = 2; } else if (i == 2) { data[i].index = 3; } else { data[i].index = 4; } $scope.solutionScores.push(data[i]); } }); $scope.todayHits = 0; $scope.lastHits = 0; api_solution.fetchDataList('solutionDayBrowser', { 'idx': 0, 'sum': 10 }).then(function (response) { if (response.status == 200 && response.list) { if (response.list[0].todayBrowser) { $scope.todayHits = response.list[0].todayBrowser; } if (response.list[0].beforeDayBrowser) { $scope.lastHits = response.list[0].beforeDayBrowser; } } }) api_solution.hotRanking(1).then(function (response) { var myData = Restangular.stripRestangular(response); var data = myData.list; console.log(data); $scope.hotRankings = []; $scope.hotArray = []; for (var i = 0; i < data.length; i++) { data[i].approvetime = getLocalTime(data[i].solutionDTO.approvetime); if (i == 0) { data[i].index = 1; } else if (i == 1) { data[i].index = 2; } else if (i == 2) { data[i].index = 3; } else { data[i].index = 4; } $scope.hotRankings.push(data[i]); $scope.hotArray.push(data[i].totalBrowse); } if ($scope.hotArray.length > 0) { $scope.tophot = $scope.hotArray.join(','); } //$scope //$scope.hotArray=[275,490,397,487,339,403,402,312,300,294,411,367,319,416,355,416,371,479,279,361,312,269,402,327,474,422,375,283,384,372]; //热点排行榜 // $("#stats-sparklines-2").pixelSparkline($scope.hotArray, { // type: 'bar', // height: '36px', // width: '100%', // barSpacing: 2, // zeroAxis: false, // barColor: '#ffffff' // }); }); api_solution.hotRanking(2).then(function (response) { var myData = Restangular.stripRestangular(response); var data = myData.list; $scope.scoreRankings = []; $scope.scoreArray = []; for (var i = 0; i < data.length; i++) { data[i].approvetime = getLocalTime(data[i].solutionDTO.approvetime); if (i == 0) { data[i].index = 1; } else if (i == 1) { data[i].index = 2; } else if (i == 2) { data[i].index = 3; } else { data[i].index = 4; } $scope.scoreRankings.push(data[i]); $scope.scoreArray.push(data[i].totalScore); } if ($scope.scoreArray.length > 0) { $scope.topscore = $scope.scoreArray.join(','); } //$scope.scoreArray=[275,490,397,487,339,403,402,312,300]; //评分排行榜 // $("#stats-sparklines-3").pixelSparkline($scope.scoreArray, { // type: 'line', // width: '100%', // height: '45px', // fillColor: '', // lineColor: '#fff', // lineWidth: 2, // spotColor: '#ffffff', // minSpotColor: '#ffffff', // maxSpotColor: '#ffffff', // highlightSpotColor: '#ffffff', // highlightLineColor: '#ffffff', // spotRadius: 4, // highlightLineColor: '#ffffff' // }); }); var getLocalTime = function (time) { return moment(time).format('YYYY-MM-DD HH:mm:ss'); // console("time="+time) } $scope.commentshowSolution = function (solution) { var modalInstance = $modal.open({ templateUrl: 'assets/views/knowledge/tpl/commentknowledge.html', controller: function ($scope, $http, $modalInstance, APIService, uploader, currentUser, Alert, MomentFormat, loginUser) { $scope.isManage = false; angular.forEach(loginUser.role, function (item) { if (item.rolecode == "solution") { $scope.isManage = true; } }) $scope.examineKnowledge = function (item) { APIService.updModel("solutionReview", { "solutionReview": { "status": 2, "id": item.id } }).then(function (response) { if (response && response.status == "200") { SweetAlert.swal({ title: "审核通过!", text: "知识库评论审核成功!", type: "success" }, function () { loadData(); }); } else { SweetAlert.swal({ title: "审核失败", text: "知识库评论审核失败!", type: "error" }); } }) } $scope.reviewKnowledge = function (item) { APIService.updModel("updSolutionReviewByIds", { "type": 2, "status": 2, "ids": solution.id }).then(function (response) { if (response && response.status == "200") { SweetAlert.swal({ title: "审核通过!", text: "知识库评论审核成功!", type: "success" }, function () { loadData(); }); } else { SweetAlert.swal({ title: "审核失败", text: "知识库评论审核失败!", type: "error" }); } }) } $scope.removeKnowledge = function (item) { APIService.updModel("solutionReview", { "solutionReview": { "status": 3, "id": item.id } }).then(function (response) { if (response && response.status == "200") { SweetAlert.swal({ title: "删除成功!", text: "知识库评论删除成功!", type: "success" }, function () { loadData(); }); } else { SweetAlert.swal({ title: "删除失败", text: "知识库评论删除失败!", type: "error" }); } }) } var loadData = function () { $scope.visions = []; $scope.entity = {}; $scope.showCommentScore = true; $scope.comments = []; // APIService.findSolutionReviewById(loginUser.id, solution.id, 0, 1000).then(function(response) { APIService.fetchDataList('solutionReview', { 'idx': 0, 'sum': 1000, 'solutionReview': { 'solutionId': solution.id, 'userId': loginUser.id } }).then(function (response) { if (response.status != "500") { var data = response.list; if (angular.isDefined(response.result)) { $scope.showCommentScore = false; } for (var i = 0; i < data.length; i++) { var object = {}; object.id = data[i].id; object.name = data[i].userName; object.status = data[i].status; if (data[i].reviewScore > 0) { object.score = data[i].reviewScore; } // object.content=data[i].review; var ss = data[i].review; var s1 = ""; if (ss != null) { var index = ss.indexOf("

"); var indexs = ss.indexOf("

"); s1 = ss.substring(index + 3, indexs); } object.content = s1; // object.score=data[i].reviewScore; object.time = moment(data[i].reviewTime).format('YYYY-MM-DD HH:mm:ss'); // console.log('object.time='+JSON.stringify(object)); $scope.comments.push(object); } } }); APIService.findSolutionById(solution.id).then(function (response) { var datas = response.data; $scope.entity = { "id": datas.id, "title": datas.title, "keys": datas.keywords, "type": datas.typeId, "range": datas.solutionRange, "number": datas.solutionNumber, "content": datas.content, "createrUserId": datas.createUserId, "createTime": datas.createtime, "status": datas.status, "hits": datas.hits, "relateId": datas.relateId, "vision": datas.vision, "vision2": "V" + datas.vision, // "fileContent":datas.fileContent, "replies": datas.replies, "scores": datas.scores, "hits": datas.hits, "fileName": datas.fileName, "typeName": datas.typeDTO.typeName }; console.log(datas) console.log($scope.entity); }); } loadData(); $scope.options = { language: 'zh-cn', allowedContent: true, entities: false }; $scope.uploader = uploader; $scope.getdown = function (filename) { $http({ url: APIService.getSolutionDowpath(solution.id).getRequestedUrl(), method: 'GET', headers: { //'Content-type' : 'application/xls', 'Accept': '*/*' }, responseType: 'arraybuffer' }).success(function (data, status, headers, config) { var file = new Blob([data], { type: 'application/octet-stream' }); //trick to download store a file having its URL var fileURL = URL.createObjectURL(file); 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) { console.log(data); }); } $scope.ranges = [{ "id": 1, "name": "全局" }, { "id": 3, "name": "组" }]; // $scope.ok = function() { // $modalInstance.close($scope.entity); // }; $scope.cancel = function () { // api_solution.findSolutions($scope.entity.id).then(function(response){ // var data6=response.data[0]; // for(var j=0;j<=$scope.solutionBBS.length;j++){ // if($scope.solutionBBS.length>0&&$scope.solutionBBS[j].id==$scope.entity.id){ // $scope.solutionBBS[j].replies=data6.replies; // $scope.solutionBBS[j].hits=data6.hits; // $scope.solutionBBS[j].scores=data6.scores; // break; // } // } // }); $modalInstance.close($scope.entity.id); }; $scope.saveComment = function (reviewcontent, score) { $scope.entity['reviewcontent'] = reviewcontent; $scope.entity['score'] = score; $modalInstance.close($scope.entity); } }, size: 'lg', resolve: { APIService: function () { return api_solution; }, uploader: function () { return $scope.uploader; }, currentUser: function () { return loginUser.id; }, Alert: function () { return SweetAlert; }, MomentFormat: function () { return moment; }, loginUser: function () { return loginUser; } } }); modalInstance.result.then(function (selectedItem) { if (selectedItem.title) { var solutionId = selectedItem.id; var reviewContent = selectedItem.reviewcontent; // if(solutionId==null){ var reviewScore; if (selectedItem.score) { reviewScore = selectedItem.score.toFixed(1) } var data = { id: null, solutionId: solutionId, userId: loginUser.id, review: reviewContent, reviewScore: reviewScore, reviewTime: new Date() }; api_solution.addSolutionReview(data).then(function (response) { var status = response.status; console.log(response) console.log('$scope.apClient=' + JSON.stringify(status)); if (status == "200") { SweetAlert.swal({ title: "评论知识库!", text: "评论知识库成功!", type: "success" }, function () { api_solution.findSolutions(selectedItem.id).then(function (response) { var data6 = response.data[0]; for (var j = 0; j <= $scope.solutionBBS.length; j++) { if ($scope.solutionBBS.length > 0 && $scope.solutionBBS[j].id == selectedItem.id) { $scope.solutionBBS[j].replies = data6.replies; $scope.solutionBBS[j].hits = data6.hits; $scope.solutionBBS[j].scores = data6.scores; break; } } }); }); } else { SweetAlert.swal({ title: "评论知识库!", text: "评论知识库失败!", type: "error" }); } }); } }); } //TODO $('#attach-check').on('change', function () { $('#attach').toggleClass('hidden'); }); $('#attachcheck1').on('change', function () { $('#attachdiv1').toggleClass('hidden'); }); $('#attachcheck2').on('change', function () { $('#attachdiv2').toggleClass('hidden'); }); }]); app.filter('index', function () { return function (array) { return (array || []).map(function (item, index) { item.order = index + 1; return item; }); }; }); app.controller('GridOperatorCtrl', ["$rootScope", '$http', '$scope', function ($rootScope, $http, $scope, $event) { // if ($scope.item.actions != "" && $scope.item.actions != null) { //1:查看,2:操作(改);3:审核;4.过期;发布更新 // if ($scope.item.actions.indexOf("1") >= 0) { //查看权限 // $scope.item.detailPower = true; // } else { // $scope.item.detailPower = false; // } // if ($scope.item.status == 4) { // $scope.item.commentPower = true; // } else { // $scope.item.commentPower = false; // } // if ($scope.item.actions.indexOf("2") >= 0) { //操作(改) // if ($scope.item.status == 1 || $scope.item.status == 5 || $scope.item.status == 3 || $scope.item.status == 4) { // $scope.item.updatePower = true; // } // } else { // $scope.item.updatePower = false; // } // if ($scope.item.actions.indexOf("3") >= 0) { //审核 // if ($scope.item.status == 1) { // $scope.item.reviewPower = true; // } // } else { // $scope.item.reviewPower = false; // } // if ($scope.item.actions.indexOf("4") >= 0) { //过期与发布 // if ($scope.item.status == 2) { // $scope.item.updatePower = true; // $scope.item.outTimePower = true; // } // if ($scope.item.status == 3) { //已发布的才能评论 // $scope.item.publishnotPower = true; // } else { // $scope.item.publishnotPower = false; // } // } else { // $scope.item.outTimePower = false; // } // } // if ($scope.item.status == 3) { //已发布的才能评论 // // $scope.item.publishnotPower = true; // $scope.item.commontPower = true; // } else { // $scope.item.commontPower = false; // // $scope.item.publishnotPower = false; // } // // console.log($scope.item.status + " " + $scope.item.commontPower); var loginUser = $rootScope.user; $scope.bianji = false; $scope.shenhe = false; $scope.shengji = false; $scope.tingyong = false; for (var i = 0; i < loginUser.menu.length; i++) { if (loginUser.menu[i].link == "zhishiku_bianji") { $scope.bianji = true } if (loginUser.menu[i].link == "zhishiku_shenhe") { $scope.shenhe = true } if (loginUser.menu[i].link == "zhishiku_shengji") { $scope.shengji = true } if (loginUser.menu[i].link == "zhishiku_tingyong") { $scope.tingyong = true } } $scope.see = function () { $scope.colobject.grid.appScope.seeSolution($scope.item); } $scope.edit = function () { console.log($scope.item) $scope.colobject.grid.appScope.editSolution($scope.item); // console.log($scope.colobject); //$scope.doEdit($scope.item.id); } $scope.leve = function () { $scope.colobject.grid.appScope.leve($scope.item); } // $scope.comment = function() { // $scope.colobject.grid.appScope.commentSolution($scope.item.id); // //$scope.doComment($scope.item.id); // } $scope.approval = function () { console.log($scope.item) $scope.colobject.grid.appScope.jry_shenhe($scope.item); //$scope.doApproval($scope.item.id,$scope.item.outTimePower); } $scope.publish = function () { $scope.colobject.grid.appScope.jry_lishi($scope.item); //$scope.doApproval($scope.item.id,$scope.item.outTimePower); } $scope.publishnot = function () { $scope.colobject.grid.appScope.jry_close($scope.item); //$scope.doApproval($scope.item.id,$scope.item.outTimePower); } // $scope.detail = function() { // $scope.colobject.grid.appScope.detailSolution($scope.item.id); // // console.log($scope.colobject); // } var jry_loginUser = $rootScope.user; $scope.ZZKGLY = false; for (var i = 0; i < jry_loginUser.role.length; i++) { // console.log(i); if (jry_loginUser.role[i].role == "知识库管理员" && jry_loginUser.role[i].rolecode == "solution") { $scope.ZZKGLY = true; } } //编辑权限判断 $scope.jry_bj = function () { if ($scope.item.status.name == "待审核" && $scope.item.createUser.id == jry_loginUser.id) { return true } else if ($scope.item.status.name == "已驳回" && $scope.item.createUser.id == jry_loginUser.id) { return true } else if ($scope.item.status.name == "已驳回" && $scope.ZZKGLY) { return true } else { return false } } // 升级权限判断 $scope.jry_sj = function () { if ($scope.item.status.name == "已发布" && $scope.item.createUser.id == jry_loginUser.id) { return true } else { return false } } // 审核权限判断 $scope.jry_sh = function () { if ($scope.item.status.name == "待审核" && $scope.ZZKGLY) { return true } else { return false } } // 历史记录权限判断 $scope.jry_lsjl = function () { return true } // 停用权限判断 $scope.jry_ty = function () { if ($scope.item.status.name == "已发布" && $scope.ZZKGLY) { return true } else { return false } } }]); app.directive('gridoperator', function () { return { restrict: 'E', scope: { item: '=', colobject: '=' // doEdit: '&', // doComment: '&', // doApproval: '&' }, controller: 'GridOperatorCtrl', template: '' }; });