Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa
| | |
| | | RELATION_ISSUE_TYPE, |
| | | RELATION_ISSUE_TITLE, |
| | | DOWN_ISSUE_TITLE, |
| | | DOWN_ISSUE_DELETE, |
| | | SEVERITY, |
| | | PRIORITY, |
| | | ISSUE_STATUS, |
| | |
| | | |
| | | break; |
| | | |
| | | |
| | | case "COMMON_PRIORITY" : |
| | | makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.priorityColor + "\"," + "\"border-color\"" + " : \"" + scope.data.priorityColor + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.priorityName + "'></span>"; |
| | | break; |
| | |
| | | makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.severityColor + "\"," + "\"border-color\"" + " : \"" + scope.data.severityColor + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityName + "'></span>"; |
| | | break; |
| | | |
| | | case "ISSUE_USER" : |
| | | makeTag += '<div owl-profile-over class="" table-user-image="data" target="userVos"></div>'; |
| | | case "ISSUE_DEPARTMENT" : |
| | | makeTag += "<span>" + scope.data.departmentVos.departmentName + "</span>"; |
| | | break; |
| | | |
| | | case "ISSUE_DEPARTMENT" : |
| | | scope.data.registsrVos = [scope.data.registerVo]; |
| | | makeTag += '<div owl-profile-over class="" table-user-image="data" target="departmentVos"></div>'; |
| | | case "ISSUE_USER" : |
| | | makeTag += '<div owl-profile-over class="" table-user-image="data" target="userVos"></div>'; |
| | | break; |
| | | |
| | | case "REGISTER" : |
| | |
| | | "displayed": "표시 여부", |
| | | "sequence": "순서", |
| | | "cannotChangedIssueTitle": "이슈 제목은 변경할 수 없습니다.", |
| | | "cannotChangedIssueType": "이슈 구분은 변경할 수 없습니다.", |
| | | "selectSendIssueMail": "이슈 메일 발송 대상자 선택", |
| | | "sendIssueSelectedUsers": "프로젝트에 참여하고 있는 다른 사용자에게 이슈 정보를 보냅니다.", |
| | | "sendMail": "이메일 발송", |
| | |
| | | // 변수 모음 |
| | | $scope.vm = { |
| | | issueId : "", |
| | | issueTableConfigs : [{ |
| | | name : $filter("translate")("issue.downIssueTitle"), // |
| | | key : "DOWN_ISSUE_TITLE", |
| | | width : "width-100-p", |
| | | position : 1, |
| | | display : true |
| | | }, { |
| | | issueDownTableConfigs : [{ |
| | | name : $filter("translate")("common.priority"), // 우선순위 |
| | | key : "PRIORITY", |
| | | width : "width-80-p", |
| | | position : 2, |
| | | position : 1, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.importance"), // 중요도 |
| | | key : "SEVERITY", |
| | | width : "width-80-p", |
| | | position : 3, |
| | | position : 2, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("issue.issueType"), // 이슈 타입 |
| | | key : "ISSUE_TYPE", |
| | | width : "width-140-p", |
| | | position : 4, |
| | | position : 3, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.assigneeTeam"), // 담당부서 |
| | | key : "ASSIGNEE_TEAM", |
| | | width : "width-100-p", |
| | | position : 5, |
| | | position : 4, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.register"), // 등록자 |
| | | key : "REGISTER", |
| | | width : "width-100-p", |
| | | position : 6, |
| | | position : 5, |
| | | display : false |
| | | }, { |
| | | name : $filter("translate")("common.period"), // 기간 |
| | | key : "PERIOD", |
| | | width : "width-140-p", |
| | | position : 7, |
| | | position : 6, |
| | | display : false |
| | | }, { |
| | | name : $filter("translate")("common.lastChangeDate"), // 최근 변경일 |
| | | key : "MODIFY_DATE", |
| | | width : "width-100-p", |
| | | position : 8, |
| | | position : 7, |
| | | display : false |
| | | }, { |
| | | }] |
| | |
| | | |
| | | var content = { |
| | | issueId : $rootScope.currentDetailIssueId, |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs) |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueDownTableConfigs) |
| | | }; |
| | | |
| | | IssueTableConfig.downAdd($resourceProvider.getContent(content, |
| | |
| | | swal.close(); |
| | | $scope.fn.cancel(); |
| | | // 변경된 이슈 테이블 정보를 이슈 목록 테이블에 갱신한다. |
| | | $rootScope.$broadcast("getDownIssueTableConfigs", {}); |
| | | $rootScope.$broadcast("getIssueDetail", { id : $rootScope.currentDetailIssueId}); |
| | | |
| | | } |
| | | else { |
| | |
| | | var deferred = $q.defer(); |
| | | var content = { |
| | | issueId : $rootScope.currentDetailIssueId, |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs) |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueDownTableConfigs) |
| | | }; |
| | | |
| | | IssueTableConfig.downDetail($resourceProvider.getContent(content, |
| | |
| | | $scope.fn.getCustomFields().then(function (result) { |
| | | var count = 8; |
| | | angular.forEach(result, function (customField) { |
| | | $scope.vm.issueTableConfigs.push({ |
| | | $scope.vm.issueDownTableConfigs.push({ |
| | | name : customField.name, |
| | | key : "CUSTOM_FIELD_" + customField.id, |
| | | width : "width-100-p", |
| | |
| | | |
| | | angular.forEach(saveTableConfigs, function (saveTableConfig) { |
| | | |
| | | for (var count in $scope.vm.issueTableConfigs) { |
| | | var issueTableConfig = $scope.vm.issueTableConfigs[count]; |
| | | for (var count in $scope.vm.issueDownTableConfigs) { |
| | | var issueTableConfig = $scope.vm.issueDownTableConfigs[count]; |
| | | |
| | | if (issueTableConfig.key === saveTableConfig.key) { |
| | | issueTableConfig.display = saveTableConfig.display; |
| | |
| | | // 변수 모음 |
| | | $scope.vm = { |
| | | issueId: "", |
| | | issueTableConfigs : [{ |
| | | name : $filter("translate")("issue.relationIssueType"), // |
| | | key : "RELATION_ISSUE_TYPE", |
| | | issueRelTableConfigs : [{ |
| | | name : $filter("translate")("common.priority"), // 우선순위 |
| | | key : "PRIORITY", |
| | | width : "width-100-p", |
| | | position : 1, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("issue.relationIssueTitle"), // |
| | | key : "RELATION_ISSUE_TITLE", |
| | | width : "width-80-p", |
| | | position : 2, |
| | | display : true |
| | | },{ |
| | | name : $filter("translate")("common.priority"), // 우선순위 |
| | | key : "PRIORITY", |
| | | width : "width-80-p", |
| | | position : 3, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.importance"), // 중요도 |
| | | key : "SEVERITY", |
| | | width : "width-80-p", |
| | | position : 4, |
| | | width : "width-100-p", |
| | | position : 2, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("issue.issueType"), // 이슈 타입 |
| | | key : "ISSUE_TYPE", |
| | | width : "width-140-p", |
| | | position : 5, |
| | | width : "width-100-p", |
| | | position : 3, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.assigneeTeam"), // 담당부서 |
| | | key : "ASSIGNEE_TEAM", |
| | | width : "width-100-p", |
| | | position : 6, |
| | | width : "width-50-p", |
| | | position : 4, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.register"), // 등록자 |
| | | key : "REGISTER", |
| | | width : "width-100-p", |
| | | position : 7, |
| | | display : false |
| | | width : "width-50-p", |
| | | position : 5, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.period"), // 기간 |
| | | key : "PERIOD", |
| | | width : "width-140-p", |
| | | position : 8, |
| | | display : false |
| | | width : "width-100-p", |
| | | position : 6, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.lastChangeDate"), // 최근 변경일 |
| | | key : "MODIFY_DATE", |
| | | width : "width-100-p", |
| | | position : 9, |
| | | display : false |
| | | position : 7, |
| | | display : true |
| | | }, { |
| | | }] |
| | | }; |
| | |
| | | |
| | | var content = { |
| | | issueId : $rootScope.currentDetailIssueId, |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs) |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueRelTableConfigs) |
| | | }; |
| | | |
| | | IssueTableConfig.relationAdd($resourceProvider.getContent(content, |
| | |
| | | SweetAlert.success($filter("translate")("issue.completedSavingIssueTable"), $filter("translate")("issue.saveIssueTableSettingsInformation")); // "이슈 테이블 설정 저장 완료", "이슈 테이블 설정 정보가 저장되었습니다." |
| | | swal.close(); |
| | | $scope.fn.cancel(); |
| | | |
| | | // 변경된 이슈 테이블 정보를 이슈 목록 테이블에 갱신한다. |
| | | $rootScope.$broadcast("getRelIssueTableConfigs", {}); |
| | | |
| | | $rootScope.$broadcast("getIssueDetail", { id : $rootScope.currentDetailIssueId}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToSaveIssueTableSetting"), result.data.message.message); // 이슈 테이블 설정 저장 실패 |
| | |
| | | |
| | | var content = { |
| | | issueId : $rootScope.currentDetailIssueId, |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs) |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueRelTableConfigs) |
| | | }; |
| | | |
| | | IssueTableConfig.relationDetail($resourceProvider.getContent(content, |
| | |
| | | |
| | | // 사용자 정의 필드를 조회한 후 표시할 이슈 테이블 컬럼을 준비한다. |
| | | $scope.fn.getCustomFields().then(function (result) { |
| | | var count = 8; |
| | | var count = 9; |
| | | angular.forEach(result, function (customField) { |
| | | $scope.vm.issueTableConfigs.push({ |
| | | $scope.vm.issueRelTableConfigs.push({ |
| | | name : customField.name, |
| | | key : "CUSTOM_FIELD_" + customField.id, |
| | | width : "width-100-p", |
| | |
| | | |
| | | angular.forEach(saveTableConfigs, function (saveTableConfig) { |
| | | |
| | | for (var count in $scope.vm.issueTableConfigs) { |
| | | var issueTableConfig = $scope.vm.issueTableConfigs[count]; |
| | | for (var count in $scope.vm.issueRelTableConfigs) { |
| | | var issueTableConfig = $scope.vm.issueRelTableConfigs[count]; |
| | | |
| | | if (issueTableConfig.key === saveTableConfig.key) { |
| | | issueTableConfig.display = saveTableConfig.display; |
| | |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | getCustomFields : getCustomFields, // 사용자 정의 필드 목록을 가져온다. |
| | | getIssueTableConfigs : getIssueTableConfigs // 이슈 목록 테이블 설정 정보를 가져온다. |
| | | getIssueAddTableConfigs : getIssueAddTableConfigs // 이슈 목록 테이블 설정 정보를 가져온다. |
| | | }; |
| | | |
| | | // 변수 모음 |
| | | $scope.vm = { |
| | | issueTableConfigs : [{ |
| | | name : $filter("translate")("common.importance"), // 우선순위 |
| | | name : $filter("translate")("common.priority"), // 우선순위 |
| | | key : "PRIORITY", |
| | | width : "width-80-p", |
| | | position : 1, |
| | |
| | | } |
| | | |
| | | // 이슈 목록 테이블 설정 정보를 가져온다. |
| | | function getIssueTableConfigs() { |
| | | function getIssueAddTableConfigs() { |
| | | var deferred = $q.defer(); |
| | | |
| | | IssueTableConfig.detail($resourceProvider.getContent({}, |
| | |
| | | }); |
| | | |
| | | // 이슈 목록 테이블 설정 정보를 가져온다. |
| | | $scope.fn.getIssueTableConfigs().then(function (issueTableConfigs) { |
| | | $scope.fn.getIssueAddTableConfigs().then(function (issueTableConfigs) { |
| | | if ($rootScope.isDefined(issueTableConfigs)) { |
| | | $rootScope.spinner = true; |
| | | |
| | |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueDetailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'SweetAlert', '$timeout', 'Issue', 'IssueComment', 'IssueRelation', 'AttachedFile', 'IssueStatus', 'IssueTableConfig', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, SweetAlert, $timeout, Issue, IssueComment, IssueRelation, AttachedFile, IssueStatus, IssueTableConfig, $filter) { |
| | | app.controller('issueDetailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', '$q','SweetAlert', '$timeout', 'Issue', 'IssueComment', 'IssueRelation', 'AttachedFile', 'IssueStatus', 'IssueTableConfig', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, $q, SweetAlert, $timeout, Issue, IssueComment, IssueRelation, AttachedFile, IssueStatus, IssueTableConfig, $filter) { |
| | | |
| | | // IssueListController vm, fn 변수 상속. |
| | | |
| | |
| | | $scope.$parent.tableEvent.changeDetailView(issue.id); |
| | | } |
| | | |
| | | // 하위 일감 삭제 |
| | | // 하위 이슈 삭제 |
| | | function removeDownIssue(id) { |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("issue.downIssueRemove"), // 연관 일감 삭제 |
| | | title : $filter("translate")("issue.downIssueRemove"), // 하위 이슈 삭제 |
| | | text : $filter("translate")("issue.wantToDeleteSelectIssue"), |
| | | type : "warning", |
| | | showCancelButton : true, |
| | |
| | | |
| | | } |
| | | |
| | | // 연관 일감 삭제 |
| | | // 연관 이슈 삭제 |
| | | function removeRelationIssue(id) { |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("issue.relationIssueRemove"), // 연관 일감 삭제 |
| | | title : $filter("translate")("issue.relationIssueRemove"), // 연관 이슈 삭제 |
| | | text : $filter("translate")("issue.wantToDeleteSelectIssue"), |
| | | type : "warning", |
| | | showCancelButton : true, |
| | |
| | | // 테이블의 연관 이슈 컬럼을 만들어준다. |
| | | function setRelTableColumn(issueTableConfig) { |
| | | |
| | | // 연관 이슈 컬럼 |
| | | // 연관 이슈 컬럼 |
| | | switch(issueTableConfig.key) { |
| | | case "RELATION_ISSUE_TYPE" : |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | |
| | | .setDAlign("text-center") |
| | | .setDName("modifyDate")); |
| | | break; |
| | | // default :"ISSUE_RELATION_DELETE" // 연관 삭제 |
| | | // $scope.vm.relTableConfigs.push($tableProvider.config() |
| | | // .setHName("issue.downIssueTitle") |
| | | // .setDType("renderer") |
| | | // .setHWidth("bold" + issueTableConfig.width) |
| | | // .setHSort(false) |
| | | // .setDRenderer("ISSUE_RELATION_DELETE")); |
| | | // break; |
| | | } |
| | | |
| | | // 사용자 정의 필드 컬럼 |
| | |
| | | var customField = $scope.vm.customFields[count]; |
| | | |
| | | if (customField.id === Number(issueTableConfig.key.substring(13))) { |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName(customField.name) |
| | | .setDType("renderer") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | |
| | | |
| | | // 하위 이슈 컬럼 |
| | | switch(issueTableConfig.key) { |
| | | case "DOWN_ISSUE_TITLE" : // 우선순위 |
| | | case "DOWN_ISSUE_TITLE" : // 하위 이슈 제목 |
| | | $scope.vm.downTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.downIssueTitle") |
| | | .setDType("renderer") |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | // 연관 이슈 테이블 설정 |
| | | function makeRelTableConfigs() { |
| | | $scope.vm.relTableConfigs = []; |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueType") |
| | | .setDType("renderer") |
| | | .setHWidth("width-30 bold") |
| | | .setHWidth("width-30-p bold") |
| | | .setHSort(false) |
| | | .setDRenderer("ISSUE_RELATION_TYPE")) |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueTitle") |
| | | .setDType("renderer") |
| | | .setHWidth("width-60 bold") |
| | | .setHWidth("width-60-p bold") |
| | | .setHSort(false) |
| | | .setDRenderer("ISSUE_RELATION_MOVE")) |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueDelete") |
| | | .setDType("renderer") |
| | | .setHWidth("width-20-p bold") |
| | | .setDRenderer("ISSUE_RELATION_DELETE") |
| | | .setHSort(false) |
| | | .setDAlign("text-center")) |
| | | |
| | | angular.forEach($scope.vm.relTableConfigs, function (issueTableConfig) { |
| | | // 표시 대상인 컬럼만 화면에 그려준다. |
| | |
| | | $scope.vm.downTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.downIssueTitle") |
| | | .setDType("renderer") |
| | | .setHWidth("width-60 bold") |
| | | .setHWidth("width-60-p bold") |
| | | .setHSort(false) |
| | | .setDRenderer("ISSUE_DOWN_MOVE")) |
| | | $scope.vm.downTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueDelete") |
| | | .setDType("renderer") |
| | | .setHWidth("width-10 bold") |
| | | .setHWidth("width-20-p bold") |
| | | .setDRenderer("ISSUE_DOWN_DELETE") |
| | | .setHSort(false) |
| | | .setDAlign("text-center")) |
| | | |
| | | angular.forEach($scope.vm.downTableConfigs, function (issueTableConfig) { |
| | | // 표시 대상인 컬럼만 화면에 그려준다. |
| | | if (issueTableConfig.display) { |
| | |
| | | // 연관 슈 목록 테이블 설정 값을 가져와서 적용한다. |
| | | if ($rootScope.isDefined(issueTableConfigs)) { |
| | | // 이슈 테이블 설정 정보를 저장 한다. |
| | | |
| | | $scope.vm.issueRelTableConfigs = []; |
| | | $scope.vm.issueRelTableConfigs = JSON.parse(issueTableConfigs); |
| | | $scope.vm.issueRelTableConfigs.sort(function (a, b) { |
| | | return a.position < b.position ? -1 : a.position > b.position ? 1 : 0; |
| | | }); |
| | | |
| | | $scope.vm.relTableConfigs = []; |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueType") |
| | | .setDType("renderer") |
| | | .setHWidth("width-30-p bold") |
| | | .setHSort(false) |
| | | .setDRenderer("ISSUE_RELATION_TYPE")) |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueTitle") |
| | | .setDType("renderer") |
| | | .setHWidth("width-60-p bold") |
| | | .setHSort(false) |
| | | .setDRenderer("ISSUE_RELATION_MOVE")) |
| | | angular.forEach($scope.vm.issueRelTableConfigs, function (issueTableConfig) { |
| | | // 표시 대상인 컬럼만 화면에 그려준다. |
| | | if (issueTableConfig.display) { |
| | | // 테이블의 컬럼을 만들어준다. |
| | | $scope.fn.setRelTableColumn(issueTableConfig); |
| | | |
| | | } |
| | | }); |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueDelete") |
| | | .setDType("renderer") |
| | | .setHWidth("width-20-p bold") |
| | | .setDRenderer("ISSUE_RELATION_DELETE") |
| | | .setHSort(false) |
| | | .setDAlign("text-center")) |
| | | |
| | | } else { |
| | | makeRelTableConfigs(); |
| | |
| | | $scope.vm.issueDownTableConfigs.sort(function (a, b) { |
| | | return a.position < b.position ? -1 : a.position > b.position ? 1 : 0; |
| | | }); |
| | | |
| | | $scope.vm.downTableConfigs = []; |
| | | $scope.vm.downTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.downIssueTitle") |
| | | .setDType("renderer") |
| | | .setHWidth("width-60-p bold") |
| | | .setHSort(false) |
| | | .setDRenderer("ISSUE_DOWN_MOVE")) |
| | | angular.forEach($scope.vm.issueDownTableConfigs, function (issueTableConfig) { |
| | | // 표시 대상인 컬럼만 화면에 그려준다. |
| | | if (issueTableConfig.display) { |
| | |
| | | $scope.fn.setDownTableColumn(issueTableConfig); |
| | | } |
| | | }); |
| | | $scope.vm.downTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueDelete") |
| | | .setDType("renderer") |
| | | .setHWidth("width-20-p bold") |
| | | .setDRenderer("ISSUE_DOWN_DELETE") |
| | | .setHSort(false) |
| | | .setDAlign("text-center")) |
| | | |
| | | } else { |
| | | makeDownTableConfigs(); |
| | |
| | | var contents = { |
| | | relationIssueType : $scope.vm.relationIssueType.id, |
| | | issueId : $rootScope.currentDetailIssueId, |
| | | relationIssueId : $scope.vm.form.issues[0].id |
| | | relationIssueId : $scope.vm.form.issues[0].id, |
| | | priorityName : $scope.vm.priorityName |
| | | }; |
| | | |
| | | IssueRelation.add($resourceProvider.getContent( |
| | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈명을 클릭하면 이슈 상세 정보를 조회한다. |
| | | $rootScope.$on("getIssueDetail", function (event, args) { |
| | | $scope.vm.viewer.id = args["id"]; |
| | | $scope.fn.getIssueDetail(); |
| | | }); |
| | | |
| | | // 이슈명을 클릭하면 이슈 상세 정보를 조회한다. |
| | | $scope.$on("getIssueDetail", function (event, args) { |
| | |
| | | // 연관 이슈 목록 테이블 설정 |
| | | function addRelationIssueTableConfig() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueRelationTableConfig.html', |
| | | templateUrl : 'views/issue/issueAddRelationTableConfig.html', |
| | | size : "lg", |
| | | controller : 'issueAddRelationTableConfigController', |
| | | backdrop : 'static', |
| | |
| | | // 하위 이슈 목록 테이블 설정 |
| | | function addDownIssueTableConfig() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueDownTableConfig.html', |
| | | templateUrl : 'views/issue/issueAddDownTableConfig.html', |
| | | size : "lg", |
| | | controller : 'issueAddDownTableConfigController', |
| | | backdrop : 'static', |
| | |
| | | $scope.vm.form.issuesDown.push(issueDownVo.issue); |
| | | }); |
| | | |
| | | // wyu |
| | | angular.forEach(result.data.data.issueRelationVos, function (issueRelationColum){ |
| | | issueRelationColum.issueRelation = $scope.vm.issueRelation; |
| | | $scope.vm.form.issues.push(issueRelationColum.issueRelation); |
| | | }); |
| | | |
| | | $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos; |
| | | $scope.vm.viewer.issueDownVos = result.data.data.issueDownVos; |
| | | |
| | | } |
| | | } |
| | | else { |
| | |
| | | }); |
| | | } |
| | | |
| | | // =================================================================================== |
| | | |
| | | // 이슈 이미지 미리 보기 만들기 |
| | | function makePreviewImages(attachedFileVos) { |
| | | // 미리보기 이미지 초기화 |
| | |
| | | <tbody> |
| | | <tr> |
| | | <td class="text-center"> |
| | | <span class="bold" translate="issue.downIssueType">하위 이슈 구분</span> |
| | | </td> |
| | | <td class="text-center" colspan="3"> |
| | | <span class="text-danger bold" translate="issue.cannotChangedIssueTitle">이슈 제목은 변경할 수 없습니다.</span> |
| | | </td> |
| | | <td class="text-center"> |
| | | <span class="bold" translate="issue.downIssueTitle">하위 이슈 제목</span> |
| | | </td> |
| | | <td class="text-center" colspan="3"> |
| | | <span class="text-danger bold" translate="issue.cannotChangedIssueTitle">이슈 제목은 변경할 수 없습니다.</span> |
| | | </td> |
| | | </tr> |
| | | <tr ng-repeat="issueTableConfig in vm.issueTableConfigs"> |
| | | <tr ng-repeat="issueTableConfig in vm.issueDownTableConfigs"> |
| | | <td class="text-center"> |
| | | <span class="bold">{{issueTableConfig.name}}</span> |
| | | </td> |
| | |
| | | </div> |
| | | |
| | | <div class="modal-body"> |
| | | <form role="form" name="issueTableConfigForm"> |
| | | <form role="form" name="issueRelTableConfigForm"> |
| | | <table class="table table-dash table-lightborder table-layout-fixed"> |
| | | <thead> |
| | | <tr> |
| | |
| | | <span class="bold" translate="issue.relationIssueType">연관 이슈 구분</span> |
| | | </td> |
| | | <td class="text-center" colspan="3"> |
| | | <span class="text-danger bold" translate="issue.cannotChangedIssueTitle">이슈 제목은 변경할 수 없습니다.</span> |
| | | <span class="text-danger bold" translate="issue.cannotChangedIssueType">이슈 구분은 변경할 수 없습니다.</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="text-center"> |
| | | <span class="bold" translate="issue.relationIssueTitle">연관 이슈 구분</span> |
| | | <span class="bold" translate="issue.relationIssueTitle">연관 이슈 제목</span> |
| | | </td> |
| | | <td class="text-center" colspan="3"> |
| | | <span class="text-danger bold" translate="issue.cannotChangedIssueTitle">이슈 제목은 변경할 수 없습니다.</span> |
| | | </td> |
| | | </tr> |
| | | <tr ng-repeat="issueTableConfig in vm.issueTableConfigs"> |
| | | <tr ng-repeat="issueTableConfig in vm.issueRelTableConfigs"> |
| | | <td class="text-center"> |
| | | <span class="bold">{{issueTableConfig.name}}</span> |
| | | </td> |
| | |
| | | <div class="modal-footer buttons-on-right"> |
| | | <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><span translate="common.close">닫기</span></button> |
| | | <button type="button" class="btn btn-md btn-primary bold" |
| | | ng-disabled="fn.formCheck(issueTableConfigForm.$invalid)" |
| | | ng-disabled="fn.formCheck(issueRelTableConfigForm.$invalid)" |
| | | ng-click="fn.formSubmit()"><span translate="common.save">저장</span> |
| | | </button> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 테이블 --> |
| | | <!-- 연관 이슈 테이블 --> |
| | | <div class="mt-10 issue-detail-word-break width-100"> |
| | | <js-table data="vm.viewer.issueRelationVos" table-configs="vm.relTableConfigs" |
| | | event="relTableEvent" detail-view="true" hide-header="false" use-sort="false"></js-table> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 테이블 --> |
| | | <!-- 하위 이슈 테이블 --> |
| | | <div class="mt-10 issue-detail-word-break width-100"> |
| | | <js-table data="vm.viewer.issueDownVos" table-configs="vm.downTableConfigs" |
| | | event="downTableEvent" detail-view="true" hide-header="false" use-sort="false"></js-table> |