diff --git a/app/classes/IssueLogic.php b/app/classes/IssueLogic.php index 4899d670..eb580c6d 100644 --- a/app/classes/IssueLogic.php +++ b/app/classes/IssueLogic.php @@ -69,6 +69,7 @@ class IssueLogic 'master_id' => '是否父任务', 'created' => '创建时间', 'updated' => '最后修改时间', + 'description' => '描述', ]; /** * 默认显示的字段 diff --git a/app/ctrl/issue/Main.php b/app/ctrl/issue/Main.php index 80ae01a3..aa421603 100644 --- a/app/ctrl/issue/Main.php +++ b/app/ctrl/issue/Main.php @@ -711,6 +711,7 @@ public function filter() } // 表格显示头像还是名称 $projectId = isset($_GET['project']) ? intval($_GET['project']) : null; + $data['project_id']=$projectId; $projectFlagModel = new ProjectFlagModel(); $isTableDisplayAvatar = $projectFlagModel->getValueByFlag($projectId, "is_table_display_avatar"); if(is_null($isTableDisplayAvatar)){ @@ -756,6 +757,7 @@ private function response($data, $total, $page, $pageSize) foreach ($labelDataRows as $labelData) { $labelDataArr[$labelData['issue_id']][] = $labelData['label_id']; } + // 获取自定义字段值 $fieldsArr = (new FieldModel())->getCustomFields(); if ($fieldsArr) { @@ -774,8 +776,34 @@ private function response($data, $total, $page, $pageSize) $customValuesIssueArr[$issueId][$fieldName] = $fieldValue; } } + $customFieldInfo =[]; + foreach ($fieldsArr as $field) { + $customfieldobj=[]; + $customfieldobj['title']=$field['title']; + $customfieldobj['name']=$field['name']; + $customfieldobj['type']=$field['type']; + $customFieldInfo[] = $customfieldobj; + } + + $data['custom_fields'] = $customFieldInfo; //array_column($fieldsArr, 'title', 'name'); } + $issueLogic = new IssueLogic(); + $projectFlagModel = new ProjectFlagModel(); + $isUserDisplayField = $projectFlagModel->getValueByFlag($data['project_id'], "is_user_display_field"); + if(is_null($isUserDisplayField)){ + $data['is_user_display_field'] = "1"; + }else{ + $data['is_user_display_field'] = $isUserDisplayField; + } + $data['user_display_fields'] = $issueLogic->getUserIssueDisplayFields(UserAuth::getId(), $data['project_id']); + if ($data['is_user_display_field'] !=="1"){ + $data['display_fields'] = IssueLogic::fetchProjectDisplayFields($data['project_id']); + }else{ + $data['display_fields'] = $data['user_display_fields']; + } + + $userLogic = new UserLogic(); $users = $userLogic->getAllUser(); foreach ($data['issues'] as &$issue) { diff --git a/public/dev/js/admin/project.js b/public/dev/js/admin/project.js index b4913248..59f6a405 100644 --- a/public/dev/js/admin/project.js +++ b/public/dev/js/admin/project.js @@ -62,7 +62,7 @@ var Project = (function() { notify_success(resp.msg, '克隆成功'); $('#modal-project_clone').modal('hide'); } else { - notify_error('克隆失败,' + resp.msg); + notify_error('克隆失败,' + resp.msg + ": " + resp.data); } }, error: function (res) { diff --git a/public/dev/js/issue/main.js b/public/dev/js/issue/main.js index 0d2e28d1..6d7d950e 100644 --- a/public/dev/js/issue/main.js +++ b/public/dev/js/issue/main.js @@ -1236,12 +1236,14 @@ var IssueMain = (function () { } }, ]; - - let column = {field: 'issue_num', title: '编 号', class: 'cursor_move', sortable: true, align: 'left', formatter: function (value, row, index) { - return '#'+value - } - } - columns.push( column) + + if(isInArray(resp.data.display_fields,'issue_num')){ + let column = {field: 'issue_num', title: '编 号', sortable: true, align: 'left', formatter: function (value, row, index) { + return '#'+value + } + } + columns.push( column) + } if(isInArray(resp.data.display_fields,'issue_type')){ let column = {field: 'issue_type', title: '类 型', sortable: true, align: 'center', formatter: function (value, row, index) { @@ -1446,6 +1448,45 @@ var IssueMain = (function () { } columns.push( column) } + + if(isInArray(resp.data.display_fields,'description')){ + let column = {field: 'description', title: '描 述', sortable: true, align: 'left', formatter: function (value, row, index) { + let html = '