Skip to main content
Glama
市场缺陷-LIST.html46.8 kB
<!DOCTYPE html> <html lang='zh-cn'> <head> <meta charset='utf-8'> <meta http-equiv='X-UA-Compatible' content='IE=edge'> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="renderer" content="webkit"> <title>全部产品-市场缺陷 - 锐明RDMS</title> <script>window.config={"webRoot":"\/","debug":true,"appName":"","cookieLife":30,"requestType":"GET","requestFix":"-","moduleVar":"m","methodVar":"f","viewVar":"t","defaultView":"html","themeRoot":"\/theme\/","currentModule":"bugmarket","currentMethod":"browse","clientLang":"zh-cn","requiredFields":"","router":"\/index.php","save":"\u4fdd\u5b58","runMode":"","timeout":0,"pingInterval":""}; window.lang={"submitting":"\u7a0d\u5019...","save":"\u4fdd\u5b58","expand":"\u5c55\u5f00\u5168\u90e8","timeout":"\u8fde\u63a5\u8d85\u65f6\uff0c\u8bf7\u68c0\u67e5\u7f51\u7edc\u73af\u5883\uff0c\u6216\u91cd\u8bd5\uff01"}; </script> <script>config.onlybody = "no";</script><link rel='stylesheet' href='/theme/zui/css/min.css?t=1756437722?v=15.5' type='text/css' media='screen' /> <link rel='stylesheet' href='/theme/default/style.css?t=1756437722?v=15.5' type='text/css' media='screen' /> <link rel='stylesheet' href='/theme/lang/zh-cn.css?v=15.5' type='text/css' media='screen' /> <script src='/js/jquery/lib.js?v=15.5'></script> <script src='/js/zui/min.js?t=1756437722&v=15.5'></script> <script src='/js/my.full.js?t=1756437722&v=15.5'></script> <style>.ke-toolbar .ke-outline[data-name='savetemplate'] {display: none;} #modulemenu .nav #dropMenu #searchResult .closed {text-decoration: none;} .nav #moreMenus {cursor: pointer;} #batchCreateForm .input-group, #batchEditForm .input-group, #batchCreateForm .input-group .form-control, #batchEditForm .input-group .form-control {position: static;} #batchCreateForm .input-group .colorpicker, #batchEditForm .input-group .colorpicker {z-index: 2;} #batchCreateForm .input-group .colorpicker.open, #batchEditForm .input-group .colorpicker.open {z-index: 5;} .closed, .closed a {color: gray; text-decoration:line-through;} .resolved, .resolved a {color: #8EC21F; text-decoration: none;} .tree .closed, .tree .closed a {color: #003366; text-decoration: none;} .confirm0 {color: gray;} .confirm1 {color: green;} td.delayed {color: #fff; background: #e84e0f !important;} .datatable-wrapper .table-datatable .datatable-row td {height: 37px;} #createActionMenu .dropdown-menu {width: 100%;} .dropdown-menu.with-search {padding: 0; min-width: 150px; overflow: hidden; max-height: 302px;} .dropdown-menu > .menu-search .input-group {width: 100%;} .dropdown-menu > .menu-search .input-group-addon {position: absolute; right: 10px; top: 0; z-index: 10; background: none; border: none; color: #666;} .dropdown-menu > .menu-search .form-control {border: none !important; box-shadow: none !important; border-top: 1px solid #ddd !important;} .dropdown-menu > li > a {text-align: left;} .dropdown-list {display: block; padding: 0; max-height: 270px; overflow-y: auto;} .dropdown-list > li > a {display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.53846154; color: #141414; white-space: nowrap;} .dropdown-list > li > a:hover, .dropdown-list > li > a:focus {color: #1a4f85; text-decoration: none; background-color: #ddd;} th.c-confirmed {text-align: center;} .c-severity {overflow: hidden; white-space: nowrap;} .c-id {text-overflow: ellipsis; white-space: nowrap;} .body-modal #mainMenu>.btn-toolbar {width: auto;} body {margin-bottom: 25px;} #mainMenu .btn-toolbar .btn-group .dropdown-menu .btn-active-text:hover .text {color: #fff;} #mainMenu .btn-toolbar .btn-group .dropdown-menu .btn-active-text:hover .text:after {border-bottom: unset;} .btn-group a i.icon-plus {font-size: 16px;} .btn-group a.btn-primary {border-right: 1px solid rgba(255,255,255,0.3);} .btn-group button.dropdown-toggle.btn-primary {padding:6px;} </style><link rel='icon' href='/favicon.ico' type='image/x-icon' /> <link rel='shortcut icon' href='/favicon.ico' type='image/x-icon' /> <!--[if lt IE 10]> <script src='/js/jquery/placeholder/min.js?v=15.5'></script> <![endif]--> </head> <body class=''> <link rel='stylesheet' href='/js/zui/picker/zui.picker.min.css?v=15.5' type='text/css' media='screen' /> <script src='/js/zui/picker/zui.picker.min.js?v=15.5'></script> <style> .picker-single .picker-selection-remove{z-index: 1000;} .picker-selection-single:after, .picker-multi.picker-focus .picker-selections:before{font-family: ZentaoIcon !important; content: '\f0d7' !important;} </style> <script> var chooseUsersToMail = '选择要发信通知的用户...'; if($.fn.picker) { $(document).ready(function() { $(".picker-select[data-pickertype!='remote']").picker({chosenMode: true}); $("[data-pickertype='remote']").each(function() { var pickerremote = $(this).attr('data-pickerremote'); $(this).picker({chosenMode: true, remote: pickerremote}); }) }); } </script> <header id='header'> <div id='mainHeader'> <div class='container'> <div id='heading'> <div class='btn-group header-btn'><a href='/index.php?m=bugmarket&f=browse' class='btn' style='padding-top: 2px'><i class='icon icon-cube'></i> 市场缺陷</a> </div> <div class='btn-group header-btn' id='swapper'><button data-toggle='dropdown' type='button' class='btn' id='currentItem' title='产品'><span class='text'>产品</span> <span class='caret' style='margin-bottom: -1px'></span></button><div id='dropMenu' class='dropdown-menu search-list' data-ride='searchList' data-url='/index.php?m=bugmarket&f=ajaxGetDropMenu&objectID=0&module=bugmarket&method=browse&extra=&from=qa'><div class="input-control search-box has-icon-left has-icon-right search-example"><input type="search" class="form-control search-input" /><label class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label><a class="input-control-icon-right search-clear-btn"><i class="icon icon-close icon-sm"></i></a></div></div></div> </div> <nav id='navbar'><ul class='nav nav-default'> </ul> </nav> <div id='toolbar'> <div id='userMenu'> <ul id="userNav" class="nav nav-default"> <li class='dropdown dropdown-hover has-avatar'><a class='dropdown-toggle' data-toggle='dropdown'><div class='avatar has-text avatar-circle' style='background: hsl(187, 40%, 60%);'><span>J</span></div></a><ul class='dropdown-menu pull-right'><li class="user-profile-item"><a href='/index.php?m=my&f=profile&onlybody=yes' data-width='600' class='iframe '><div class='avatar has-text avatar-circle' id="menu-avatar" style='background: hsl(187, 40%, 60%);'><span>J</span></div><div class="user-profile-name">江原臣</div><div class="user-profile-role">研发主管</div></a></li><li class="divider"></li><li><a href='/index.php?m=my&f=profile&onlybody=yes' class='iframe' data-width='600'><i class='icon icon-account'></i> 个人档案</a> </li><li><a href='/index.php?m=tutorial&f=start' class='iframe' data-class-name='modal-inverse' data-width='800' data-headerless='true' data-backdrop='true' data-keyboard='true'><i class='icon icon-guide'></i> 新手引导</a> </li><li><a href='/index.php?m=my&f=preference&onlybody=yes' class='iframe' data-width='650'><i class='icon icon-controls'></i> 个性化设置</a> </li><li><a href='/index.php?m=my&f=changepassword&onlybody=yes' class='iframe' data-width='600'><i class='icon icon-cog-outline'></i> 修改密码</a> </li><li class='divider'></li><li class='dropdown-submenu top'><a href='javascript:;'><i class='icon icon-theme'></i> 主题</a><ul class='dropdown-menu pull-left'><li class='selected'><a href='javascript:selectTheme("default");' data-value='default'>禅道蓝(默认)</a></li><li ><a href='javascript:selectTheme("blue");' data-value='blue'>青春蓝</a></li><li ><a href='javascript:selectTheme("green");' data-value='green'>叶兰绿</a></li><li ><a href='javascript:selectTheme("red");' data-value='red'>赤诚红</a></li><li ><a href='javascript:selectTheme("purple");' data-value='purple'>玉烟紫</a></li><li ><a href='javascript:selectTheme("pink");' data-value='pink'>芙蕖粉</a></li><li ><a href='javascript:selectTheme("blackberry");' data-value='blackberry'>露莓黑</a></li><li ><a href='javascript:selectTheme("classic");' data-value='classic'>经典蓝</a></li></ul></li><li class='dropdown-submenu top'><a href='javascript:;'><i class='icon icon-lang'></i> Language</a><ul class='dropdown-menu pull-left'><li class='selected'><a href='javascript:selectLang("zh-cn");'>简体</a></li><li ><a href='javascript:selectLang("zh-tw");'>繁體</a></li><li ><a href='javascript:selectLang("en");'>English</a></li></ul></li><li class='dropdown-submenu'><a data-toggle='dropdown'><i class='icon icon-help'></i> 帮助</a><ul class='dropdown-menu pull-left'><li><a href='https://www.zentao.net/book/zentaopmshelp.html?fullScreen=zentao&theme=default' class='open-in-app' id='helpLink' data-app='help'>手册</a> </li><li><a href='/index.php?m=misc&f=changeLog' class='iframe' data-width='800' data-headerless='true' data-backdrop='true' data-keyboard='true'>修改日志</a> </li></ul></li> <li><a href='/index.php?m=misc&f=about' class='about iframe' data-width='1050' data-headerless='true' data-backdrop='true' data-keyboard='true' data-class='modal-about'><i class='icon icon-about'></i> 关于禅道</a> </li><li><a href='https://api.zentao.net/goto.php?item=aiux' class='link-aiux' target='_blank'><i class='icon icon-aiux'></i> 艾体验设计</a></li><li class="divider"></li><li><a href='/index.php?m=user&f=logout' target='_top'><i class='icon icon-exit'></i> 退出</a> </li></ul></li> <li class='dropdown dropdown-hover' id='globalCreate'><a class='dropdown-toggle' data-toggle='dropdown'><i class='icon icon-plus-solid-circle text-secondary'></i></a><ul class='dropdown-menu pull-right create-list'><li><a href='/index.php?m=todo&f=create' ><i class='icon icon-todo'></i> 待办</a> </li><li class="divider"></li><li><a href='/index.php?m=bug&f=create&productID=43&branch=&extras=from=global' ><i class='icon icon-bug'></i> Bug</a> </li><li><a href='/index.php?m=story&f=create&productID=43&branch=0&moduleID=0&storyID=0&objectID=0&bugID=0&planID=0&todoID=0&extra=from=global' ><i class='icon icon-lightbulb'></i> 需求</a> </li><li><a href='/index.php?m=task&f=create&executionID=0&storyID=0&moduleID=0&taskID=0&todoID=0&extra=from=global' ><i class='icon icon-check-sign'></i> 任务</a> </li><li><a href='/index.php?m=testcase&f=create&productID=43&branch=&moduleID=0&from=&param=0&storyID=0&extras=from=global' ><i class='icon icon-sitemap'></i> 用例</a> </li><li><a href='/index.php?m=doc&f=selectLibType&objectType=&objectID=0&libID=0&onlybody=yes' class='iframe' data-width='650px'><i class='icon icon-doc'></i> 文档</a> </li><li class="divider"></li><li><a href='/index.php?m=execution&f=create&projectID=&executionID=0&copyExecutionID=0&planID=0&confirm=no&productID=0&extra=from=global' ><i class='icon icon-run'></i> 执行</a> </li><li><a href='/index.php?m=project&f=create&model=scrum&programID=0&copyProjectID=0&extra=from=global' ><i class='icon icon-project'></i> 项目</a> </li></ul></li> </ul> </div> </div> </div> </div> </header> <script> adjustMenuWidth(); </script> <main id='main' > <div class='container'> <style> #setShowModule {margin-left: 30px;} </style> <script> $(function() { $('#sidebar .cell .text-center:last').append("<a href='#showModuleModal' data-toggle='modal' class='btn btn-info btn-wide'>模块设置</a><hr class='space-sm' />"); var addSettingButton = function() { var $btnToolbar = $('#main .table-header .btn-toolbar:first'); if($btnToolbar.length > 0) { var $dropdown = $('<div class="dropdown"><button id="tableCustomBtn" type="button" class="btn btn-link" data-toggle="dropdown"><i class="icon-cog-outline"></i></button></div>'); var $dropmenu = $('<ul class="dropdown-menu pull-right"></ul>'); if(typeof(storyType) != 'undefined' && storyType == 'requirement') { $dropmenu.append("<li><a href='/index.php?m=datatable&f=ajaxCustom&id=bugmarket&method=browse&extra=requirement' data-toggle='modal' data-type='ajax'>自定义列</a></li>"); } else { $dropmenu.append("<li><a href='/index.php?m=datatable&f=ajaxCustom&id=bugmarket&method=browse' data-toggle='modal' data-type='ajax'>自定义列</a></li>"); } $dropmenu.append("<li><a href='javascript:saveDatatableConfig(\"mode\", \"datatable\", true);' id='switchToDatatable'>切换到高级表格</a></li>"); $dropdown.append($dropmenu).appendTo($btnToolbar); } }; $('#main .main-table').on('tableReload', addSettingButton); addSettingButton(); $('#setShowModule').click(function() { if('jiangyuanchen' == 'guest') return; datatableId = 'bugmarketBrowse'; var value = $('#showModuleModal input[name="showModule"]:checked').val(); var allModule = $('#showModuleModal input[name="showAllModule"]:checked').val(); if(typeof allModule === 'undefined') allModule = false; $.ajax( { type: "POST", dataType: 'json', data: { target: datatableId, name: 'showModule', value: value, allModule: allModule, }, success:function(){window.location.reload();}, url: '/index.php?m=datatable&f=ajaxSave' }); }); window.saveDatatableConfig = function(name, value, reload, global) { if('jiangyuanchen' == 'guest') return; var datatableId = 'bugmarketBrowse'; if(typeof value === 'object') value = JSON.stringify(value); if(typeof global === 'undefined') global = 0; $.ajax( { type: "POST", dataType: 'json', data: {target: datatableId, name: name, value: value, global: global}, success:function(e){if(reload) window.location.reload();}, url: '/index.php?m=datatable&f=ajaxSave' }); $.get(createLink('score', 'ajax', "method=switchToDataTable")); }; }); </script> <div class="modal fade" id="showModuleModal" tabindex="-1" role="dialog"> <div class="modal-dialog w-600px"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><i class="icon icon-close"></i></button> <h4 class="modal-title"><i class="icon-cog-outline"></i> 模块设置</h4> </div> <div class="modal-body"> <form class='form-condensed' method='post' target='hiddenwin' action='/index.php?m=datatable&f=ajaxSave'> <table class='table table-form'> <tr> <td class='w-150px'>列表页是否显示模块名</td> <td><label class='radio-inline'><input type='radio' name='showModule' value='0' checked ='checked' id='showModule0' /> 不显示</label><label class='radio-inline'><input type='radio' name='showModule' value='base' id='showModulebase' /> 只显示一级模块</label><label class='radio-inline'><input type='radio' name='showModule' value='end' id='showModuleend' /> 只显示最后一级模块</label></td> </tr> <tr> <td colspan='2' class='text-center'><button type='button' id='setShowModule' class='btn btn-primary'>保存</button></td> </tr> </table> </form> </div> </div> </div> </div> <script>browseType = "assigntome";</script> <script>moduleID = 0;</script> <script>bugBrowseType = "assigntome";</script> <script>flow = "full";</script> <script>productID = 0;</script> <script>branch = 0;</script> <div id="mainMenu" class="clearfix"> <div id="sidebarHeader"> <div class="title"> 所有模块 </div> </div> <div class="btn-toolbar pull-left"> <a href='/index.php?m=bugmarket&f=browse&productid=0&branch=0&browseType=all' class='btn btn-link '><span class='text'>所有</span></a> <a href='/index.php?m=bugmarket&f=browse&productid=0&branch=0&browseType=assigntome' class='btn btn-link btn-active-text'><span class='text'>待我处理</span> <span class='label label-light label-badge'>0</span></a> <a href='/index.php?m=bugmarket&f=browse&productid=0&branch=0&browseType=aboutme' class='btn btn-link '><span class='text'>与我相关</span></a> <a href='/index.php?m=bugmarket&f=browse&productid=0&branch=0&browseType=openedbyme' class='btn btn-link '><span class='text'>由我创建</span></a> <a href='/index.php?m=bugmarket&f=browse&productid=0&branch=0&browseType=unclosed' class='btn btn-link '><span class='text'>未关闭</span></a> <a href='/index.php?m=bugmarket&f=browse&productid=0&branch=0&browseType=toclosed' class='btn btn-link '><span class='text'>待关闭</span></a> <style> #mainMenu #query.btn-group li {position: relative;} #mainMenu #query.btn-group li a{margin-right:20px;} #mainMenu #query.btn-group li .btn-delete{ padding:0 7px; position: absolute; right: -10px; top: -5px; display: block; width: 20px; text-align: center; } </style> <div class="btn-group" id="query"><a href='javascript:;' data-toggle='dropdown' class='btn btn-link '>自定义 <span class='caret'></span></a> <ul class='dropdown-menu'><li><a href='/index.php?m=bugmarket&f=browse&productID=0&branch=0&browseType=bySearch&param=100' >途径</a> <a href='###' class='btn-delete' data-id=100 onclick='removeQueryFromMenu(this)'><i class='icon icon-close'></i></a> </li></ul></div><script> function removeQueryFromMenu(obj) { var $obj = $(obj); var link = createLink('search', 'ajaxRemoveMenu', "queryID=" + $obj.data('id')); $.get(link, function() { $obj.closest('li').remove(); if($('#mainMenu #query.btn-group').find('li').length == 0) $('#mainMenu #query.btn-group').remove(); }) return false; } </script> <a class="btn btn-link querybox-toggle" id='bysearchTab'><i class="icon icon-search muted"></i> 搜索</a> </div> <div class="btn-toolbar pull-right"> <div class='btn-group'> <button type='button' class='btn btn-link dropdown-toggle' data-toggle='dropdown'> <i class="icon icon-export muted"></i> <span class="text"> 导出</span> <span class="caret"></span></button> </button> <ul class='dropdown-menu' id='exportActionMenu'> <li ><a href='/index.php?m=bugmarket&f=export&productID=0&orderBy=id_desc&browseType=assigntome' class='export'>导出总表数据</a> </li><li ><a href='/index.php?m=bugmarket&f=exportDetail&productID=0&orderBy=id_desc&browseType=assigntome' class='export'>导出详情数据</a> </li> </ul> </div> <div class='btn-group dropdown'> <a href='/index.php?m=bugmarket&f=create&productID=0&branch=0&extra=moduleID=0' class='btn btn-primary create-bug-btn '><i class='icon-plus'></i> 提缺陷</a> <button type='button' class='btn btn-primary dropdown-toggle' data-toggle='dropdown'><span class='caret'></span></button> <ul class='dropdown-menu'> <li><a href='/index.php?m=bugmarket&f=create&productID=0&branch=0&extra=moduleID=0' >提缺陷</a> </li> <li></li> </ul> </div> </div> </div> <div id="mainContent" class="main-row fade"> <div class="side-col" id="sidebar"> <div class="sidebar-toggle"><i class="icon icon-angle-left"></i></div> <div class="cell"> <hr class="space"> <div class="text-center text-muted"><div>您现在还没有模块信息</div><div>请维护测试模块</div></div> <hr class="space"> <div class="text-center"> <hr class="space-sm" /> </div> </div> </div> <div class="main-col"> <div class="cell" id="queryBox" data-module='bugmarket'></div> <div class="table-empty-tip"> <p> <span class="text-muted"></span> <a href='/index.php?m=bugmarket&f=create&productID=0&branch=0&extra=moduleID=0' class='btn btn-info'><i class='icon icon-plus'></i> 提缺陷</a> </p> </div> </div> </div> <script> $('#module' + moduleID).closest('li').addClass('active'); var branchID = $.cookie('bugBranch'); $('#branch' + branchID).closest('li').addClass('active'); </script> </div><script> $.initSidebar(); </script> <iframe frameborder='0' name='hiddenwin' id='hiddenwin' scrolling='no' class='debugwin hidden'></iframe> </main><div id="noticeBox"></div> <script> /* Alert got messages. */ needPing = false; $(function() { var windowBlur = false; if(window.Notification) { window.onblur = function(){windowBlur = true;} window.onfocus = function(){windowBlur = false;} } setInterval(function() { $.get(createLink('message', 'ajaxGetMessage', "windowBlur=" + (windowBlur ? '1' : '0')), function(data) { if(!windowBlur) { $('#noticeBox').append(data); adjustNoticePosition(); } else { if(data) { if(typeof data == 'string') data = $.parseJSON(data); if(typeof data.message == 'string') notifyMessage(data); } } }); }, 300000); }) </script> <script>$(function() { var page = window.page || ''; var flow = window.flow; if(typeof(systemMode) == undefined) var systemMode = ''; $('#subNavbar a[data-toggle=dropdown]').parent().addClass('dropdown dropdown-hover'); if(page == 'create' || page == 'edit' || page == 'assignedto' || page == 'confirmbug') { oldProductID = $('#product').val(); } if(window.flow != 'full') { $('.querybox-toggle').click(function() { $(this).parent().toggleClass('active'); }); } changLevel(); changSoft(); }); function changLevel(){ var severity = $("#severity").val(); var influenceCount = $("#influenceCount").val(); $("#level").val(0); $("#level1").val(''); //S if(3 == severity && 1==influenceCount){ $("#level").val('1') $("#level1").val('1') } //A if((3 == severity && 2==influenceCount) || (2 == severity && 1==influenceCount)){ $("#level").val('2') $("#level1").val('2') } //B if((2 == severity && 2==influenceCount) || (3 == severity && 3==influenceCount)){ $("#level").val('3') $("#level1").val('3') } //C if((1 == severity) || (3 != severity && 3==influenceCount)){ $("#level").val('4') $("#level1").val('4') } } function changSoft(){ var bugType = $("#bugType").val();//S var attributionID; if(1 == bugType || 2==bugType){ $(".device").show(); $(".soft").hide(); }else{ $(".soft").show(); $(".device").hide(); } var istrue = false; if (bugType == 3){ attributionID = 'device'; istrue = true; $(".Team").show(); }else if(4 == bugType){ attributionID = 'web'; istrue = true; $(".Team").show(); }else{ $(".Team").hide(); } if (istrue){ if(typeof(attributionID) == 'undefined') attributionID = ''; if(typeof(attribution2ID) == 'undefined') attribution2ID = ''; if($('#attributionTeamBox')){ getAttributionTeamlink = createLink('bugmarket', 'ajaxGetAttributionTeams', 'attributionID=' + attributionID+'&attribution2ID=' + attribution2ID); $('#attributionTeamBox').load(getAttributionTeamlink, function(){ $('#attributionTeam').chosen(); }); } } } function changiscommon(){ $(".qualityer").hide(); var iscommon = $("#iscommon").val(); if (1 == iscommon){ $(".qualityer").show(); }else{ $("#qualityer").val(''); $("#qualityaffect").val(''); } } function changType(){ var solution = $("#solution").val(); ///console.log(solution); var type = 'yes'; $(".type1").hide(); $(".type2").hide(); $(".type3").hide(); $(".type4").hide(); $(".type5").hide(); $(".type6").hide(); $("#assignedTotext").html(''); //1 if ('go'==solution && 'yes'==type){ $(".type1").show(); $("#assignedTotext").html('确认修复计划'); $('#status').val('version'); } //2 if ('go'==solution && 'no'==type){ $(".type2").show(); $('#status').val('location'); } //3 新需求 if ('new'==solution){ $("#assignedTotext").html('进行产品验证'); $('#status').val('pdyj'); } //4 评审不解决 if ('psbjj'==solution || 'no'==solution || 'wfx'==solution){ $("#assignedTotext").html('进行技服确认'); $('#status').val('resolved'); } //5 重复问题未解决 if ('wei'==solution){ $(".type5").show(); $("#assignedTotext").html('进行技服确认'); $('#status').val('resolved'); } //6 重复问题已解决 if ('yi'==solution){ $(".type6").show(); $("#assignedTotext").html('进行技服确认'); $('#status').val('resolved'); } //指派人设置 if ('new'==solution || isoutline){ $("#assignedTot").html($("#assignedTo2").html()) $("#assignedTot").find('select:first') .trigger('liszt:updated') .picker({type: 'user'}); }else{ $("#assignedTot").html($("#assignedTo1").html()) }/*else if('go'==solution || 'psbjj'==solution || 'no'==solution || 'wfx'==solution){ $("#assignedTo1").show(); }*/ } /** * Load all fields. * * @param int $productID * @access public * @return void */ function loadAll(productID) { if(page == 'create') { loadExecutionTeamMembers(productID); setAssignedTo(); } if(typeof(changeProductConfirmed) != 'undefined' && !changeProductConfirmed) { firstChoice = confirm(confirmChangeProduct); changeProductConfirmed = true; // Only notice the user one time. if(!firstChoice) { $('#product').val(oldProductID);//Revert old product id if confirm is no. $('#product').trigger("chosen:updated"); $('#product').chosen(); return true; } loadAll(productID); } else { $('#taskIdBox').innerHTML = '<select id="task"></select>'; // Reset the task. $('#task').chosen(); loadProductBranches(productID) loadProductModules(productID); loadProductProjects(productID); loadProductBuilds(productID); loadProductplans(productID); loadProductStories(productID); //loadTestTasks(productID); } } /** * Load by branch. * * @access public * @return void */ function loadBranch() { $('#taskIdBox').innerHTML = '<select id="task"></select>'; // Reset the task. $('#task').chosen(); productID = $('#product').val(); loadProductModules(productID); loadProductProjects(productID); loadProductBuilds(productID); loadProductplans(productID); loadProductStories(productID); } /** *Load all builds of one execution or product. * * @param object $object * @access public * @return void */ function loadAllBuilds(object) { if(page == 'resolve') { oldResolvedBuild = $('#resolvedBuild').val() ? $('#resolvedBuild').val() : 0; link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=0&index=0&type=all'); $('#resolvedBuildBox').load(link, function(){$(this).find('select').chosen()}); } else { productID = $('#product').val(); executionID = $('#execution').val(); var buildBox = ''; if(page == 'edit') buildBox = $(object).closest('.input-group').attr('id'); if(executionID) { loadAllExecutionBuilds(executionID, productID, buildBox); } else { loadAllProductBuilds(productID, buildBox); } } } /** * Load all builds of the execution. * * @param int $executionID * @param int $productID * @param string $buildBox * @access public * @return void */ function loadAllExecutionBuilds(executionID, productID, buildBox) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; if(page == 'create') { oldOpenedBuild = $('#openedBuild').val() ? $('#openedBuild').val() : 0; link = createLink('build', 'ajaxGetExecutionBuilds', 'executionID=' + executionID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch + '&index=0&needCreate=true&type=all'); $.get(link, function(data) { if(!data) data = '<select id="openedBuild" name="openedBuild" class="form-control" multiple=multiple></select>'; $('#openedBuild').replaceWith(data); $('#openedBuild_chosen').remove(); $('#openedBuild').next('.picker').remove(); $("#openedBuild").chosen(); notice(); }) } if(page == 'edit') { if(buildBox == 'openedBuildBox') { link = createLink('build', 'ajaxGetExecutionBuilds', 'executionID=' + executionID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch + '&index=0&needCreate=true&type=all'); $('#openedBuildBox').load(link, function(){$(this).find('select').chosen()}); } if(buildBox == 'resolvedBuildBox') { link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=' + branch + '&index=0&type=all'); $('#resolvedBuildBox').load(link, function(){$(this).find('select').chosen()}); } } } /** * Load all builds of the product. * * @param int $productID * @param string $buildBox * @access public * @return void */ function loadAllProductBuilds(productID, buildBox) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; if(page == 'create') { link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch + '&index=0&type=all'); $.get(link, function(data) { if(!data) data = '<select id="openedBuild" name="openedBuild" class="form-control" multiple=multiple></select>'; $('#openedBuild').replaceWith(data); $('#openedBuild_chosen').remove(); $('#openedBuild').next('.picker').remove(); $("#openedBuild").chosen(); notice(); }) } if(page == 'edit') { if(buildBox == 'openedBuildBox') { link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch + '&index=0&type=all'); $('#openedBuildBox').load(link, function(){$(this).find('select').chosen()}); } if(buildBox == 'resolvedBuildBox') { link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch' + branch + '&index=0&type=all'); $('#resolvedBuildBox').load(link, function(){$(this).find('select').chosen()}); } } } /** * Load product's modules. * * @param int $productID * @access public * @return void */ function loadProductModules(productID) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; if(typeof(moduleID) == 'undefined') moduleID = 0; link = createLink('tree', 'ajaxGetOptionMenu', 'productID=' + productID + '&viewtype=bug&branch=' + branch + '&rootModuleID=0&returnType=html&fieldID=&needManage=true&extra=&currentModuleID=' + moduleID); $('#moduleIdBox').load(link, function() { $(this).find('select').chosen() if(typeof(bugModule) == 'string') $('#moduleIdBox').prepend("<span class='input-group-addon' style='border-left-width: 1px;'>" + bugModule + "</span>"); }); } /** * Load product stories * * @param int $productID * @access public * @return void */ function loadProductStories(productID) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; if(typeof(oldStoryID) == 'undefined') oldStoryID = 0; link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID + '&branch=' + branch + '&moduleId=0&storyID=' + oldStoryID); $('#storyIdBox').load(link, function(){$('#story').chosen();}); } /** * Load projects of product. * * @param int $productID * @access public * @return void */ function loadProductProjects(productID) { if(systemMode == 'classic') { var projectID = $('#execution').find("option:selected").val(); loadProductExecutions(productID, projectID); return true; } branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; link = createLink('product', 'ajaxGetProjects', 'productID=' + productID + '&branch=' + branch + '&projectID=' + oldProjectID); $('#projectBox').load(link, function() { $(this).find('select').chosen(); var projectID = $('#project').find("option:selected").val(); loadProductExecutions(productID, projectID); }); } /** * Load executions of product. * * @param int $productID * @param int $projectID * @access public * @return void */ function loadProductExecutions(productID, projectID = 0) { required = $('#execution_chosen').hasClass('required'); branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; link = createLink('product', 'ajaxGetExecutions', 'productID=' + productID + '&projectID=' + projectID + '&branch=' + branch); $('#executionIdBox').load(link, function() { $(this).find('select').chosen(); if(typeof(bugExecution) == 'string' && systemMode != 'classic') $('#executionIdBox').prepend("<span class='input-group-addon' style='border-left-width: 0px;'>" + bugExecution + "</span>"); if(required) $(this).addClass('required'); }); } /** * Load product plans. * * @param productID $productID * @access public * @return void */ function loadProductplans(productID) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; link = createLink('productplan', 'ajaxGetProductplans', 'productID=' + productID + '&branch=' + branch); $('#planIdBox').load(link, function(){$(this).find('select').chosen()}); } /** * Load product builds. * * @param productID $productID * @access public * @return void */ function loadProductBuilds(productID) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; if(typeof(oldOpenedBuild) == 'undefined') oldOpenedBuild = 0; link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch); if(page == 'create') { $.get(link, function(data) { if(!data) data = '<select id="openedBuild" name="openedBuild" class="form-control" multiple=multiple></select>'; $('#openedBuild').replaceWith(data); $('#openedBuild_chosen').remove(); $('#openedBuild').next('.picker').remove(); $("#openedBuild").chosen(); notice(); }) } else { $('#openedBuildBox').load(link, function(){$(this).find('select').chosen()}); link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=' + branch); $('#resolvedBuildBox').load(link, function(){$(this).find('select').chosen()}); } } /** * Load execution related bugs and tasks. * * @param int $executionID * @access public * @return void */ function loadExecutionRelated(executionID) { executionID = parseInt(executionID); if(executionID) { loadExecutionTasks(executionID); loadExecutionStories(executionID); loadExecutionBuilds(executionID); loadAssignedTo(executionID); loadTestTasks($('#product').val(), executionID); } else { $('#taskIdBox').innerHTML = '<select id="task"></select>'; // Reset the task. loadProductStories($('#product').val()); loadProductBuilds($('#product').val()); loadTestTasks($('#product').val()); loadProjectTeamMembers($('#project').val()); } } /** * Load execution tasks. * * @param executionID $executionID * @access public * @return void */ function loadExecutionTasks(executionID) { link = createLink('task', 'ajaxGetExecutionTasks', 'executionID=' + executionID + '&taskID=' + oldTaskID); $.post(link, function(data) { if(!data) data = '<select id="task" name="task" class="form-control"></select>'; $('#task').replaceWith(data); $('#task_chosen').remove(); $('#task').next('.picker').remove(); $("#task").chosen(); }) } /** * Load execution stories. * * @param executionID $executionID * @access public * @return void */ function loadExecutionStories(executionID) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; if(typeof(oldStoryID) == 'undefined') oldStoryID = 0; link = createLink('story', 'ajaxGetExecutionStories', 'executionID=' + executionID + '&productID=' + $('#product').val() + '&branch=' + branch + '&moduleID=0&storyID=' + oldStoryID); $('#storyIdBox').load(link, function(){$('#story').chosen();}); } /** * Load builds of a execution. * * @param int $executionID * @access public * @return void */ function loadExecutionBuilds(executionID) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; productID = $('#product').val(); oldOpenedBuild = $('#openedBuild').val() ? $('#openedBuild').val() : 0; if(page == 'create') { link = createLink('build', 'ajaxGetExecutionBuilds', 'executionID=' + executionID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + "&branch=" + branch + "&index=0&needCreate=true"); $.get(link, function(data) { if(!data) data = '<select id="openedBuild" name="openedBuild" class="form-control" multiple=multiple></select>'; $('#openedBuild').replaceWith(data); $('#openedBuild').val(oldOpenedBuild); $('#openedBuild_chosen').remove(); $('#openedBuild').next('.picker').remove(); $("#openedBuild").chosen(); notice(); }) } else { link = createLink('build', 'ajaxGetExecutionBuilds', 'executionID=' + executionID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch); $('#openedBuildBox').load(link, function(){$(this).find('select').val(oldOpenedBuild).chosen()}); oldResolvedBuild = $('#resolvedBuild').val() ? $('#resolvedBuild').val() : 0; link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=' + branch); $('#resolvedBuildBox').load(link, function(){$(this).find('select').val(oldResolvedBuild).chosen()}); } } /** * Load project members. * * @param projectID $projectID * @access public * @return void */ function loadProjectTeamMembers(projectID) { link = createLink('bug', 'ajaxGetProjectTeamMembers', 'projectID=' + projectID); $.get(link, function(data) { if(!data) data = '<select id="assignedTo" name="assignedTo" class="form-control"></select>'; $('#assignedTo').replaceWith(data); $('#assignedTo_chosen').remove(); $("#assignedTo").chosen(); }); } /** * Set story field. * * @param moduleID $moduleID * @param productID $productID * @param storyID $storyID * @access public * @return void */ function setStories(moduleID, productID, storyID) { var branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID + '&branch=' + branch + '&moduleID=' + moduleID + '&storyID=' + storyID); $.get(link, function(stories) { if(!stories) stories = '<select id="story" name="story" class="form-control"></select>'; $('#story').replaceWith(stories); $('#story_chosen').remove(); $('#story').next('.picker').remove(); $("#story").chosen(); }); } /** * Load product branches. * * @param int $productID * @access public * @return void */ function loadProductBranches(productID) { $('#branch').remove(); $('#branch_chosen').remove(); $('#branch').next('.picker').remove(); $.get(createLink('branch', 'ajaxGetBranches', "productID=" + productID), function(data) { if(data) { $('#product').closest('.input-group').append(data); $('#branch').css('width', page == 'create' ? '120px' : '65px'); $('#branch').chosen(); } }) } var oldAssignedToTitle = $("#assignedTo").find("option:selected").text(); var oldAssignedTo = $("#assignedTo").find("option:selected").val(); /** * Load team members of the execution as assignedTo list. * * @param int $executionID * @access public * @return void */ function loadAssignedTo(executionID, selectedUser) { selectedUser = (typeof(selectedUser) == 'undefined') ? '' : $('#assignedTo').val(); link = createLink('bug', 'ajaxLoadAssignedTo', 'executionID=' + executionID + '&selectedUser=' + selectedUser); $.get(link, function(data) { var defaultOption = '<option title="' + oldAssignedToTitle + '" value="' + oldAssignedTo + '" selected="selected">' + oldAssignedToTitle + '</option>'; var defaultAssignedTo = $('#assignedTo').val(); $('#assignedTo_chosen').remove(); $('#assignedTo').next('.picker').remove(); $('#assignedTo').replaceWith(data); if(defaultAssignedTo !== oldAssignedTo && selectedUser == '') { if($('#assignedTo option[value="' + oldAssignedTo + '"]').length > 0) $('#assignedTo option[value="' + oldAssignedTo + '"]').remove(); $('#assignedTo').append(defaultOption); } $('#assignedTo').chosen(); }); } var oldTestTaskTitle = $("#testtask").find("option:selected").text(); var oldTestTask = $("#testtask").find("option:selected").val(); /** * Load test tasks. * * @param int $productID * @param int $executionID * @access public * @return void */ function loadTestTasks(productID, executionID) { if(typeof(executionID) == 'undefined') executionID = 0; link = createLink('testtask', 'ajaxGetTestTasks', 'productID=' + productID + '&executionID=' + executionID); $.get(link, function(data) { var defaultOption = '<option title="' + oldTestTaskTitle + '" value="' + oldTestTask + '" selected="selected">' + oldTestTaskTitle + '</option>'; $('#testtaskBox').html(data); $('#testtask').append(defaultOption); $('#testtask').chosen(); }); } /** * notice for create build. * * @access public * @return void */ function notice() { $('#buildBoxActions').empty().hide(); if($('#openedBuild').find('option').length <= 1) { var html = ''; if($('#execution').length == 0 || $('#execution').val() == 0) { var branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; var link = createLink('release', 'create', 'productID=' + $('#product').val() + '&branch=' + branch); if(config.onlybody != 'yes') link += config.requestType == 'GET' ? '&onlybody=yes' : '?onlybody=yes'; html += '<a href="' + link + '" data-toggle="modal" data-type="iframe" style="padding-right:5px">' + createBuild + '</a> '; html += '<a href="javascript:loadProductBuilds(' + $('#product').val() + ')">' + refresh + '</a>'; } else { executionID = $('#execution').val(); productID = $('#product').val(); projectID = $('#project').val(); link = createLink('build', 'create','executionID=' + executionID + '&productID=' + productID + '&projectID=' + projectID); link += config.requestType == 'GET' ? '&onlybody=yes' : '?onlybody=yes'; html += '<a href="' + link + '" data-toggle="modal" data-type="iframe" style="padding-right:5px">' + createBuild + '</a> '; html += '<a href="javascript:loadExecutionBuilds(' + executionID + ')">' + refresh + '</a>'; } var $bba = $('#buildBoxActions'); if($bba.length) { $bba.html(html); $bba.show(); } else { if($('#buildBox').closest('tr').find('td').size() > 1) { $('#buildBox').closest('td').next().attr('id', 'buildBoxActions'); $('#buildBox').closest('td').next().html(html); } else { html = "<td id='buildBoxActions'>" + html + '</td>'; $('#buildBox').closest('td').after(html); } } } } /** * wandonghao * @param attributionID */ function loadGetBuildbutions(product,productVersion,status=12){ if(typeof(product) == 'undefined') product = ''; if(typeof(productVersion) == 'undefined') productVersion = ''; link = createLink('bugmarket', 'ajaxGetBuildbutions', 'product=' + product+'&productVersion=' + productVersion+'&status=' + status); $('#productVersionBox').load(link, function(){ $('#productVersion').chosen(); }); } $(function() { if($('#bugList thead th.c-title').width() < 150) $('#bugList thead th.c-title').width(150); }); </script> <link rel='stylesheet' href='/theme/default/floating-window.css?v=15.5' type='text/css' media='screen' /> <script src='/js/misc/floatingWindow.js?v=15.5'></script> </body> </html> <style> .datatable-wrapper .table-datatable .datatable-row td { height: 44px;!important; } </style>

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ad19900913/mcp-rdms'

If you have feedback or need assistance with the MCP directory API, please join our Discord server