var DC = {}; DC.unfinishedTitle = '【该单子未创建完成】'; DC.permission = {}; //查看详情 function closeCardInfo(){ $('.isselect').removeClass('isselect'); $('#cardinfoMask').remove(); $('#cardinfo').remove(); $('#memberlist').remove(); $('#addlabels').remove(); $('#addQAlabels').remove(); $('#addRisklabels').remove(); DATA.lastShowCardID = null; } var showCommentsType; function showCard(cardid,callback){ showCommentsType='default'; $.get('./?app=api&apiact=getcardinfo&cardid='+cardid,function(text){ var json = JSON.parse(text); location.hash = "cardid="+cardid; if( json[cardid] ){ DATA.cards[ cardid ] = json[cardid]; closeCardInfo(); DATA.lastShowCardID = cardid; console.log('json',json); $('#card_'+cardid).addClass('isselect'); var html = T( $('#tmpl-cardinfo').html() , DATA.cards[ cardid ] ); $('body').append( html ); $('#cardinfoMask').fadeIn(100).css('width',$(document).width()); _fmtCardInfoLabelsByCardID(); _fmtCardInfoQALabelsByCardID(); _fmtCardInfoRiskLabelsByCardID(); _fmtCardInfoIssueTagsByCardID(); _fmtCardInfoMembersByCardID(); // 延期成员 //_fmtCardInfoYanQiMembersByCardID(); setDescription( json[cardid] ); setCardInfoTitle( json[cardid] ); fmtCommentsByCardID(cardid); fmtCheckListByCardID(cardid); showAttachmentsByCardID(cardid); $('.cardinfo_addcommets_editor,.cardinfo_description_editor').pasteImageReader(function(results){ var me = this; $.post('base64upload/index.php',{ "data":results.dataURL },function(url){ var ov = $(me).val(); $(me).val( ov +"![](base64upload/"+ url +")" ); console.log('url',url,$(me).val()); }); }); var names = []; for(var uid in DATA.users){ names.push( {'name':DATA.users[uid].username,'fullname': DATA.users[uid].profile.fullname } ); } //@功能 $('.atwho-container').remove(); $('.cardinfo_addcommets_editor,.cardinfo_description_editor').atwho({ at: "@", data:names, insertTpl: '@${fullname}', displayTpl: "
  • ${name} ${fullname}
  • ", limit: 200 }); if(MYID != DATA.cards[DATA.lastShowCardID].userId){ $('#cardinfoDelete').hide(); } } callback && callback(json); }); } // 成员 function _fmtCardInfoMembersByCardID(){ fmtMembersByCardID( DATA.lastShowCardID ,function(html){ html = '' + html; $('#cardinfoMembers').html( html ); $('#cardinfoMembers .js-member').attr('title','双击去除该用户').unbind().on('dblclick',function(){ var uid = $(this).data('id'); doSubmitSetMember(DATA.boardid,DATA.lastShowCardID,uid,function () { // 记录日志 var uinfo = getUserInfo( uid ); var myinfo = getUserInfo( MYID ); var uNmae = uinfo?uinfo.profile.fullname:data.userId; var commontText = `${myinfo.profile.fullname}[删除]成员 [${uNmae}]`; doSubmitCommonts(commontText,DATA.boardid,DATA.lastShowCardID); }); }); }); } // 延期成员 function _fmtCardInfoYanQiMembersByCardID(){ $('#yanqimembers-h3').hide(); $('#yanqimembers-div').hide(); checkPermission('removeYanQi',function (isok) { if(isok){ $('#yanqimembers-h3').show(); $('#yanqimembers-div').show(); fmtYanQiMembersByCardID( DATA.lastShowCardID ,function(html){ // html = '' + html; $('#cardinfoYanQiMembers').html( html ); $('#cardinfoYanQiMembers .js-member').attr('title','双击去除该用户').unbind().on('dblclick',function(){ var uid = $(this).data('id'); $(this).remove(); doSubmitRemoveYanQiMember(DATA.boardid,DATA.lastShowCardID,uid); }); }); }else { } }); } // 标签 function _fmtCardInfoLabelsByCardID(){ fmtLabelsByCardID( DATA.lastShowCardID ,function(html){ html = '' + html; $('#cardinfoLabels').html( html ); $('#cardinfoLabels .minicard-label').attr('title','双击去除该标签').unbind().on('dblclick',function(){ if(! $(this).data("labelName") ) { $(this).data("labelName" ,$(this).text()); } var labelid = $(this).data('id'); var labelName =$(this).data("labelName"); var _that = this; doSubmitSetLabel(DATA.lastShowCardID,labelid); /* var dept = new Set(DATA.riskdept.join(",").split(",")) if (dept.has(labelName) == 1){ if($(_that).data("timeout")){ console.log('锁定中...'); return; } var clicks = $(this).data('clicks'); if(clicks==null)clicks=0; $(this).data('clicks', clicks*1+1); if($(_that).data('clicks')*1==1){ $(".fengxianbiaoqian").html("请阅读风险提示,5秒后再次双击部门标签去标"); var _times = 5; $(_that).data("timeout",setInterval(function(){ $('#clicktimeout').html( --_times); if(_times<=0){ clearInterval($(_that).data("timeout")); $(_that).data("timeout",null); } },1000)) } window.location.hash = "#fengxianbiaoqian_title"; var hash = window.location.hash; $('#cardinfoRiskLabels').parent().css('background-color', '#fffdc9').css('padding', '10px').animate({ backgroundColor: '#00A087' }, 200); } var isOk = checkMeiShuLabelRemove(labelName); if (isOk){ console.log('isok'); if( !dept.has(labelName) || (dept.has(labelName) == 1 && $(this).data('clicks')*1 >= 2) ){ doSubmitSetLabel(DATA.lastShowCardID,labelid); } } */ }); }); } // 风险标签 function _fmtCardInfoRiskLabelsByCardID(){ return; fmtRiskLabelsByCardID( DATA.lastShowCardID ,function(html){ html = '' + html; $('#cardinfoRiskLabels').html( html ); $('#cardinfoRiskLabels .minicard-label').attr('title','双击去除该标签').unbind().on('dblclick',function(){ var labelid = $(this).data('id'); var labelName = $(this).text(); doSubmitSetRiskLabel(DATA.lastShowCardID,labelid); }); //_fmtCardInfoIssueTagsByCardID(); }); } // 风险标签相关事件列表 function _fmtCardInfoIssueTagsByCardID(){ return; fmtIssueTagsByCardID( DATA.lastShowCardID) } // legulabel 中有 美 UI 的去掉 ui验 美验 判断评论图片 // true 可以执行 function checkMeiShuLabelRemove(labelName) { var userLabel = ['UI','美']; var checkList = ['美验', '美术验', 'UI验']; var imgStr = '.png'; // 排除描述在评论中 var commentDesc = '添加了描述'; // 判断要去掉的标签 if (checkList.indexOf(labelName) != -1){ // 各自部门去掉各自部门的验需要评论图片 var userLeguLabelList = MYINFO.legulabel; var isUser = false; var labelnotYan = labelName.replace('验', ''); for (var i of userLeguLabelList){ // if (userLabel.indexOf(i)!=-1){ if (labelnotYan == i){ isUser = true; break } } // 用户是美术相关人员 if(isUser){ // 评论中有图片 // ![](http://myip.legu.cc:81/base64upload/files/5ece83286f33e.png) var isComment = false; var nt = parseInt(new Date().getTime()/1000); for(let i in DATA.card_comments){ let comment = DATA.card_comments[i]; if (comment.boardId == DATA.boardid && comment.cardId == DATA.lastShowCardID && comment.userId == MYID && comment.text.indexOf(imgStr) != -1 && comment.text.indexOf(commentDesc) == -1 && (nt - comment.createdAt.sec) < 30*60 ){ isComment = true; } } if (!isComment){ alert('在评论区添加游戏内验收的效果图 30分钟以内'); return false; } return true; } } return true; } // QA标签 function _fmtCardInfoQALabelsByCardID(){ $('#qalabels-h3').hide(); $('#qalabels-div').hide(); var pms = 'QAlabels'; console.log(window.MYINFO); // 权限判断 __setting.Permission.QAlabels if(window.MYINFO && window.MYINFO.legulabel && window.MYINFO._id){ var uid = window.MYINFO._id; $('#qalabels-h3').show(); $('#qalabels-div').show(); fmtQALabelsByCardID( DATA.lastShowCardID ,function(html){ html = '' + html; $('#cardinfoQALabels').html( html ); $('#cardinfoQALabels .minicard-label').attr('title','双击去除该标签').unbind().on('dblclick',function(){ var labelid = $(this).data('id'); doSubmitSetQALabel(DATA.lastShowCardID,labelid); }); }); // $.get('./?app=api&apiact=getWorkPermission&uid=' + uid + '&pms=' + pms,function (txt) { // var isAllow = JSON.parse(txt); // if (isAllow){ // $('#qalabels-h3').show(); // $('#qalabels-div').show(); // // fmtQALabelsByCardID( DATA.lastShowCardID ,function(html){ // html = '' + html; // $('#cardinfoQALabels').html( html ); // // $('#cardinfoQALabels .minicard-label').attr('title','双击去除该标签').unbind().on('dblclick',function(){ // var labelid = $(this).data('id'); // doSubmitSetQALabel(DATA.lastShowCardID,labelid); // }); // }); // // } // }); } } function showAttachmentsByCardID(cardid){ if(cardid!=DATA.lastShowCardID)return; if(!DATA.cards[ DATA.lastShowCardID ])return; var attachments = DATA.cards[ DATA.lastShowCardID ].attachments || []; var html = []; for(var i=0;i  '+ attachments[i].name +''); } $('.fujianlist').html( html.join('')); } function fmtCommentsByCardID(cardid){ $.get('./?app=api&apiact=card_comments&cardid='+cardid,function(text){ var json = JSON.parse( text ); DATA.card_comments = DATA.card_comments || {}; for(var k in json){ DATA.card_comments[k] = json[k]; } showComments(); }); } function isShiJian(title){ return title.indexOf('')!=-1 && title.indexOf('[')!=-1 && title.indexOf(']')!=-1; } //显示评论内容 //var showCommentsType; //function showComments(){ // var comments = []; // var shijianNum=0; // var dongtaiNum=0; // // if(!DATA.card_comments)return; // for(var k in DATA.card_comments){ // if(DATA.card_comments[k].cardId == DATA.lastShowCardID){ // comments.push( DATA.card_comments[k] ); // // if(isShiJian(DATA.card_comments[k].text)){ // shijianNum++; // }else{ // dongtaiNum++; // } // } // } // // console.log('shijianNum',shijianNum); // console.log('dongtaiNum',dongtaiNum); // // comments.sort(function(a,b){ // return b.createdAt.sec - a.createdAt.sec; // }); // // fill('#tmpl-cardinfo_comments',comments,'#cardinfo_comments_panel'); // $('#cardinfo_comments_panel').viewer({ // viewed:function() { // $('#cardinfo').css('overflow-y','visible'); // }, // hide:function(){ // $('#cardinfo').css('overflow-y','auto'); // } // }); //} //格式化检查项 function fmtCheckListByCardID(cardid){ $.get('./?app=api&apiact=get_checklists&cardid='+cardid,function(text){ var json = JSON.parse( text ); DATA.card_checklists = DATA.card_checklists || {}; for(var k in json){ DATA.card_checklists[k] = json[k]; } showCheckList(); }); } //显示评论内容 function showComments(){ if(!DATA.card_comments)return; var shijian=[]; var dongtai=[]; var comments = []; for(var k in DATA.card_comments){ if(DATA.card_comments[k].cardId == DATA.lastShowCardID){ comments.push( DATA.card_comments[k] ); if(isShiJian(DATA.card_comments[k].text)){ shijian.push( DATA.card_comments[k] ); }else{ dongtai.push( DATA.card_comments[k] ); } } } if(showCommentsType=='all'){ }else if(showCommentsType=='shijian'){ comments = shijian; }else if(showCommentsType=='dongtai' || showCommentsType=='default'){ comments = dongtai; if( dongtai.length==0 && showCommentsType=='default'){ showCommentsType = 'shijian'; comments = shijian; }else{ showCommentsType = "dongtai"; } } $('.detail_lis').removeClass('on'); $('.detail_lis_'+showCommentsType).addClass('on') comments.sort(function(a,b){ return b.createdAt.sec - a.createdAt.sec; }); fill('#tmpl-cardinfo_comments',comments,'#cardinfo_comments_panel'); $('#cardinfo_comments_panel').viewer({ viewed:function() { $('#cardinfo').css('overflow-y','visible'); }, hide:function(){ $('#cardinfo').css('overflow-y','auto'); } }); } //显示检查项 function showCheckList(){ var contents = []; if(!DATA.card_checklists)return; for(var k in DATA.card_checklists){ if(DATA.card_checklists[k].cardId == DATA.lastShowCardID){ contents.push( DATA.card_checklists[k] ); } } contents.sort(function(a,b){ if(a.sort != b.sort){ return a.sort-b.sort; }else{ return a._id > b._id ? -1 : 1; } }); var html = []; for(var i=0;i '+ (contents[i].isFinished?'':"") + contents[i].title + (contents[i].isFinished?'':"") +' '); } $('#checklistsol').html( html.join('') ); } function setDescription( data ){ $('.cardinfo_description').html( replaceImgURL(marked(data['description']||'点击编辑')) ); $('.cardinfo_description').viewer({ viewed:function() { $('#cardinfo').css('overflow-y','visible'); }, hide:function(){ $('#cardinfo').css('overflow-y','auto'); } }); if(HOST!='10.0.0.5'){ $('.cardinfo_description a').unbind().each(function(index,o){ if(o.href.indexOf('url.cn')!=-1){ //内网文档 $.get('./?app=short2long&url='+encodeURIComponent(o.href),function(longurl){ console.log('longurl',longurl); if(longurl!="" && longurl.indexOf('10.0.0.5')!=-1){ o.href = longurl.replace('10.0.0.5','myip.legu.cc:81'); o.innerHTML += '[已重置为异地办公模式]'; } }); } }); } } function timetrans(date) {// 格式化日期 var date = new Date(date*1000); var YY = date.getFullYear() + '-'; var MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; var DD = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()); var hh = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; var mm = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'; var ss = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()); return MM + DD +" "+ hh + mm + ss; } function setCardInfoTitle( data ){ $('.cardinfo_title').html( data['title']||'无' ); console.log('data',data); $('.cardinfo_ctime').html( timetrans(data['createdAt'].sec) ||'' ); } function checkats(text){ var ats = text.match(/@(\S*)\s{1}/g); var tousers = []; if(window.MYINFO && ats && ats.length>0){ for(var i=0;i0){ var msgInfo = window.MYINFO.profile.fullname + "在任务["+ DATA.cards[ DATA.lastShowCardID ].title+']中提到了你:'+ text; sendDDMSG(tousers.join(','),msgInfo,location.href); } } } //提交评论 function doSubmitCommonts(text,boardid,cardid,callback){ if(boardid==null){boardid = DATA.cards[cardid].boardId;} //兼容“与我相关“模式 checkats(text); $.get('./?app=api&apiact=add_card_comments&cardid='+cardid+"&boardid="+boardid+"&text="+ encodeURIComponent(text),function(text){ var json = JSON.parse( text ); emitEventByJSON(json); callback && callback(json); }); } //修改描述 function doSubmitDescription(text,boardid,cardid,callback){ if(boardid==null){boardid = DATA.cards[cardid].boardId;} //兼容“与我相关“模式 checkats(text); var newDescription = text; var oldDescription = DATA.cards[cardid].description; $.get('./?app=api&apiact=set_card_description&cardid='+cardid+"&boardid="+boardid+"&text="+ encodeURIComponent(text),function(text){ var json = JSON.parse( text ); if (newDescription != oldDescription){ var myinfo = getUserInfo( MYID ); var info = myinfo.profile.fullname || "我"; // console.log('oldDescription',oldDescription); if(oldDescription){ info += '[修改了描述]
    '; info += '```'+ oldDescription +'```' + '

    ```' + newDescription + '```'; }else { info += '[添加了描述]
    '; info += '```' + newDescription + '```'; } doSubmitCommonts( info, DATA.boardid, cardid ); } emitEventByJSON(json); callback && callback(json); }); } //修改标题 function doSubmitTitle(text,boardid,cardid,callback){ var uid = window.MYINFO._id; var newTitle = text; var oldTitle = DATA.cards[cardid].title; if(boardid==null){boardid = DATA.cards[cardid].boardId;} //兼容“与我相关“模式 // $.get('./?app=api&apiact=set_card_title&cardid='+cardid+"&boardid="+boardid+"&text="+ encodeURIComponent(text),function(text){ $.get('./?app=api&apiact=set_card_title&cardid='+cardid+"&boardid="+boardid+"&uid="+uid+"&text="+ encodeURIComponent(text),function(text){ var json = JSON.parse( text ); if (newTitle != oldTitle){ var myinfo = getUserInfo( MYID ); var info = myinfo.profile.fullname || "我"; info += '[修改了标题]'; info += ''+ oldTitle +'' + ' 为 ' + newTitle + ''; // console.log('aaaa', json); doSubmitCommonts( info, DATA.boardid, cardid ); } emitEventByJSON(json); callback && callback(json); }); } //删除附件 function doSubmitDelFuJian(cardid,fujianid,callback){ $.get('./?app=api&apiact=del_fujian&cardid='+cardid+"&fujianid="+fujianid,function(text){ var json = JSON.parse( text ); emitEventByJSON(json); callback && callback(json); }); } //新增检查项 function doSubmitAddChecklist(text,cardid,callback,sort){ if(sort==null)sort=""; $.get('./?app=api&apiact=add_card_checklist&sort='+ sort+'&cardid='+cardid+"&text="+ encodeURIComponent(text),function(text){ var json = JSON.parse( text ); emitEventByJSON(json); callback && callback(json); }); } function doSubmitSetFickshChecklist(checkid,val,callback){ $.get('./?app=api&apiact=set_checklist_finish&id='+checkid+"&val="+ val,function(text){ var json = JSON.parse( text ); emitEventByJSON(json); callback && callback(json); }); } function doSubmitDelChecklist(id,callback){ $.get('./?app=api&apiact=del_checklist&id='+id,function(text){ var json = JSON.parse( text ); emitEventByJSON(json); callback && callback(json); }); } function setMemTimer(val,obj,callback){ var memid = $(obj).data('id'); var cardid = $(obj).parents('.card,#cardinfo').data('id'); console.log('memid',memid); console.log('cardid',cardid); if(!memid || !cardid)return; var times = '',timee=''; if(val){ var arr = val.split('~'); times = arr[0]; timee = arr[1]; } $.get('./?app=api&apiact=set_mem_time×='+ times +'&timee='+ timee +'&cardid='+cardid+"&memid="+memid,function(text){ var json = JSON.parse( text ); emitEventByJSON(json); callback && callback(json); var setText = '设置了[时间]卡片' + times + ' / ' + timee; doSubmitCommonts(setText,DATA.boardid,cardid); }); } // 是否设置了QA标签 function isSetQALabel(cid){ var qalabelIds = DATA.cards[cid].qalabelIds; if (!qalabelIds || qalabelIds.length <= 0){ return false; } return true; } // 检查当前用户是否是QA function isQA(){ if(window.MYINFO && window.MYINFO.legulabel && window.MYINFO._id){ var pms = 'QAlabels'; var uid = window.MYINFO._id; $.get('./?app=api&apiact=getWorkPermission&uid=' + uid + '&pms=' + pms,function (txt) { var isAllow = JSON.parse(txt); console.log('isAQ------'+ isAllow); if (isAllow){ return true; } }); }else { return false; } } // 检查是否是QA function checkQA(callback,uid){ callback && callback(true); /*if(window.MYINFO && window.MYINFO.legulabel && window.MYINFO._id) { var pms = 'QAlabels'; var ckuid = uid || window.MYINFO._id; $.get('./?app=api&apiact=getWorkPermission&uid=' + ckuid + '&pms=' + pms, function (txt) { var isAllow = JSON.parse(txt); // console.log('isAQ------' + isAllow); if (isAllow) { // callback && callback(isAllow); } callback && callback(isAllow); }); } */ } function checkPermission(pms,callback){ var uid = window.MYINFO._id; $.get('./?app=api&apiact=getWorkPermission&uid=' + uid + '&pms=' + pms, function (txt) { var isAllow = JSON.parse(txt); // console.log('isAQ------' + isAllow); if (isAllow) { // callback && callback(isAllow); } callback && callback(isAllow); }); } // 未完成的卡片关闭的时候检查状态 function checkUnfinishedCardCanClose(callback){ callback && callback({}); var cardid = DATA.lastShowCardID; if(DATA.cards[cardid] && DATA.cards[cardid] && DATA.cards[cardid].qalabelIds){ if(!DATA.cards[cardid].qalabelIds || DATA.cards[cardid].qalabelIds.length == 0){ alert('请添加【问题类型】'); return; } } if(DATA.cards[cardid] && DATA.cards[cardid]._status && DATA.cards[cardid]._status == 'unfinished'){ // 标题 // if(DATA.cards[cardid].title == DC.unfinishedTitle || DATA.cards[cardid].title == '' || DATA.cards[cardid].title == '无'){ // alert('请修改标题'); // return; // } // 部分看板 // 是否检查 《xx》看板要检查 var isCheck = true; var boardTitle = DATA.boards[DATA.boardid].title; var isCheckBoardTitle = boardTitle.match(/《(\S*?)》/g); if (!isCheckBoardTitle || isCheckBoardTitle.length == 0){ isCheck = false; } // var title = DATA.cards[cardid].title.match(/【(\S+?)】/g); var title = DATA.cards[cardid].title; if(isCheck){ if ((!title || title.length == 0)){ alert('请添加【标题】'); return; } // qa标签 if((!DATA.cards[cardid].qalabelIds || DATA.cards[cardid].qalabelIds.length == 0)){ alert('请对创建的单子添加【问题类型】'); return; } // 根据qa标签是否检查描述 // bug和其他不检查 board = DATA.boards[DATA.cards[cardid].boardId]; // var linfo = board.qalabels[DATA.cards[cardid].qalabelIds[0]]; // 只有一个qa标签 var lid = DATA.cards[cardid].qalabelIds[0]; for(var l=0;l -1)) { // 描述不能为空 if (!DATA.cards[cardid].description || !DATA.cards[cardid].description.trim()) { alert('请添加单子详细【描述】(最好带截图)'); return; } } } } // 部门标签 if((!DATA.cards[cardid].labelIds || DATA.cards[cardid].labelIds.length == 0)){ alert('请对创建的单子添加【部门标签】'); return; } } // 验证完了 修改类型 boardid = ''; uid = ''; $.get('./?app=api&apiact=set_card_status&cardid='+cardid+"&boardid="+boardid+"&uid="+uid,function(text){ //if(cards[cardid].risklabelsId.length>1){ // alert('请将风险标签去除后再来打勾勾哦~'); //} var json = JSON.parse( text ); emitEventByJSON(json); callback && callback(json); }); // var title = DATA.cards[cardid].title.match(/【(\S*?)】/g); // if (isCheck && (!title || title.length == 0)){ // alert('请修改标题 【模块】标题'); // return; // } // // // qa标签 // if(isCheck && (!DATA.cards[cardid].qalabelIds || DATA.cards[cardid].qalabelIds.length == 0)){ // alert('请对创建的单子添加问题类型'); // return; // } // // 验证完了 修改类型 boardid = ''; uid = ''; $.get('./?app=api&apiact=set_card_status&cardid='+cardid+"&boardid="+boardid+"&uid="+uid,function(text){ var json = JSON.parse( text ); emitEventByJSON(json); callback && callback(json); }); } $('#firstAddQaLabels').hide(); callback && callback(); } // 检查状态是未完成的单子是否可点开 function checkUnfinishedCardCanClick(cardid, callback){ // 状态是未完成且不是自己创建的单子不能点开 // 添加了描述和部门就能点开 if(DATA.cards[cardid] && DATA.cards[cardid]._status=='show' || DATA.cards[cardid] && DATA.cards[cardid]._status==undefined){ } else if(DATA.cards[cardid] && (DATA.cards[cardid].description==undefined || !DATA.cards[cardid].labelIds.length) && DATA.cards[cardid].userId != window.MYINFO._id){ alert('该单子未创建完成'); return; } callback && callback(); } $(function(){ checkQA(function (isAllow) { DC.permission.QAlabels = isAllow }); $('body').on("click","#cardinfoClose",function(){ checkUnfinishedCardCanClose(function () { closeCardInfo(); }); }); $('body').on("click","#cardinfoDelete",function(){ var that = $(this); var cid = DATA.lastShowCardID; if(MYID!=DATA.cards[cid].userId){ alert('不是你的单子你删不掉'); return } if(confirm("确定删除吗?")){ // var listid = $(this).parents('.listmenu').data('id'); // doSubmitArchivedOveredCards(listid,function(){ // $('.close_menu_li').click(); // }); doSubmitDeleteCards(cid,function () { $('#cardinfoClose').click(); }) } }); $('body').on("click","#cardinfoOverd",function(){ var that = $(this); var lid = DATA.lastShowCardID; // if (isQA()){ // if (!isSetQALabel(lid)){ // alert('请设置问题类型'); // return; // } // } var cardid = lid; // ui验 美验 var card = DATA.cards[ DATA.lastShowCardID ]; var board = DATA.boards[ card.boardId ]; var board_id_name = {}; for (var i of board.labels){ board_id_name[i['_id']] = i['name']; } // 已经设置的标签 再次点击是去除标签 for (var clid of card.labelIds){ var labelName = board_id_name[clid]; var isOk = checkMeiShuLabelRemove(labelName); if(!isOk){ return; } } //完成该卡片 if(confirm('删除所有标签并设为完成?')){ // var lid = DATA.lastShowCardID; // var labels = DATA.cards[lid].labelIds; // for(var i=0;i0)_add(); },index); index++; } _add(); }; $('body').on('click','.checklistcheckbox',function(){ var val = $(this).prop('checked'); var _id = $(this).data('id'); doSubmitSetFickshChecklist(_id,val,function(){ }); }); $('body').on('click','.delchecklist',function(){ var _id = $(this).parent().find('.checklistcheckbox').data('id'); doSubmitDelChecklist(_id,function(){ }); }); $('body').on('click','.detail_lis_dongtai',function(){ //动态 showCommentsType = 'dongtai'; showComments(); }); $('body').on('click','.detail_lis_shijian',function(){ //事件 showCommentsType = 'shijian'; showComments(); }); $('body').on('click','.detail_lis_all',function(){ //全部评论 showCommentsType = 'all'; showComments(); }); EVENT.on('addcomment',function(data){ if(data.cardId != DATA.lastShowCardID && DATA.boardid!=null)return; showComments(); }); EVENT.on('addchecklist',function(data){ if(data.cardId != DATA.lastShowCardID && DATA.boardid!=null)return; showCheckList(); }); EVENT.on('setchecklistfinish',function(data){ if(data.cardId != DATA.lastShowCardID && DATA.boardid!=null)return; showCheckList(); }); EVENT.on('delchecklist',function(data){ if(data.cardId != DATA.lastShowCardID && DATA.boardid!=null)return; showCheckList(); }); EVENT.on('setdescription',function(data){ if(data._id != DATA.lastShowCardID)return; setDescription( data ); }); EVENT.on('settitle',function(data){ if(data._id != DATA.lastShowCardID)return; setCardInfoTitle( data ); }); EVENT.on('memberchange',function(data){ if(data.boardId != DATA.boardid && DATA.boardid!=null)return; if(data._id != DATA.lastShowCardID)return; _fmtCardInfoMembersByCardID(); }); EVENT.on('memtimechange',function(data){ if(data.boardId != DATA.boardid && DATA.boardid!=null)return; if(data._id != DATA.lastShowCardID)return; _fmtCardInfoMembersByCardID(); }); EVENT.on('labelchange',function(data){ if(data.boardId != DATA.boardid && DATA.boardid!=null)return; if(data._id != DATA.lastShowCardID)return; _fmtCardInfoLabelsByCardID(); _fmtCardInfoQALabelsByCardID(); _fmtCardInfoRiskLabelsByCardID(); _fmtCardInfoIssueTagsByCardID(); }); EVENT.on('attachmentschange',function(data){ if(data.boardId != DATA.boardid && DATA.boardid!=null)return; if(data._id != DATA.lastShowCardID)return; showAttachmentsByCardID( data._id ); }); }); function formatDate(time) { var now = new Date(time*1000);   var year = now.getFullYear(),   month = now.getMonth() + 1,   date = now.getDate(),   hour = now.getHours(),   minute = now.getMinutes(),   second = now.getSeconds();   return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second; }