jQuery("#operate-step-table").on("click","i",function(){
var clickIndex = jQuery(this).closest("tr").index();
if(jQuery(this).hasClass("icon-operate-add")){
insertRowAfter(clickIndex)
}else if(jQuery(this).hasClass("icon-operate-up")){
upRow(clickIndex);
}else if(jQuery(this).hasClass("icon-operate-down")){
downRow(clickIndex);
}else if(jQuery(this).hasClass("icon-operate-delete")){
deleteRow(clickIndex);
}else if(jQuery(this).hasClass("icon-new")){
addRow();
}
});
//向后插入一行
function insertRowAfter(trIndex,data){
jQuery("#operate-step-table tbody tr:eq("+trIndex+")").after(getStepTr(trIndex+1,data));
comtop.UI.scan();
sortStep();
if(jQuery("#operationClass").val() == "1" && jQuery("#billingLink").val() == "0" && jQuery("#operate-step-tbody tr").length >1){
jQuery(".icon-operate-delete").show();
}
}
//新增一行
function addRow(data){
var operateBody =jQuery("#operate-step-table tbody");
insertRowAfter(jQuery("#operate-step-table tbody tr").length -1,data );
if(operateBody.find(".noStep").length >0){
operateBody.find(".noStep").remove();
sortStep();
}
if(jQuery("#operationClass").val() == "1" && jQuery("#billingLink").val() == "0" && jQuery("#operate-step-tbody tr").length >1){
jQuery(".icon-operate-delete").show();
}
}
//上移
function upRow(trIndex){
var curTr = jQuery("#operate-step-table tbody tr:eq("+trIndex+")")
if(curTr.prev().length > 0){
jQuery(curTr).insertBefore(curTr.prev());
sortStep()
}
}
//下移
function downRow(trIndex){
var curTr = jQuery("#operate-step-table tbody tr:eq("+trIndex+")")
if(curTr.next().length > 0){
jQuery(curTr).insertAfter(curTr.next());
sortStep()
}
}
//删除
function deleteRow(trIndex){
cui.confirm("确认删除该操作项?", {
onYes: function () {
doDeleteRow(trIndex);
if(jQuery("#operationClass").val() == "1" && jQuery("#billingLink").val() == "0" && jQuery("#operate-step-tbody tr").length == 1){
jQuery(".icon-operate-delete").hide();
}
},
onNo: function () {
}
});
}
//删除步骤
function doDeleteRow(trIndex){
var deleteTRs = new Array();
var deleteTR = jQuery("#operate-step-table tbody tr:eq("+trIndex+")");
var deviceId = deleteTR.find('input[id^=switchId]').val();
deleteTRs.push(deleteTR);
//删除当前开关相同的行
if(null != deviceId && "" != deviceId){
jQuery("#operate-step-table input[id^=switchId]").each(function(){
if(jQuery(this).val() ==deviceId){
deleteTRs.push(jQuery(this).parent("tr"));
}
});
}
if(deleteTRs.length > 0){
for(var i=0; i < deleteTRs.length;i++){
deleteTRs[i].find('span[validate]').each(function(subIndex){
window.validater.disValid(jQuery(this).attr('id'),true);
});
deleteTRs[i].remove();
}
}
//图还原
if(deviceId != null && deviceId != ""){
restoreSwitcth(deviceId);
}
sortStep();
var operateBody =jQuery("#operate-step-table tbody");
if(operateBody.find("tr").length ==0 ){
operateBody.append('<tr class="noStep"><td style="text-align:center;" class="muted" colspan="4">暂无数据</td></tr>')
}
}
//操作步骤tr
function getStepTr(i,data){
var positionId = 0;
if(null == data || undefined == data){
data = {};
}else{
positionId = data.positionId;
}
var html = new Array();
html.push('<tr positionid="'+positionId+ '"> ');
html.push('<input type="hidden" id="orderNo'+ i +'" name="operateorderStepDTOs['+ i +'].orderNo" value='+i+'/> ');
html.push('<input type="hidden" id="positionId'+ i +'" name="operateorderStepDTOs['+ i +'].positionId" value="'+positionId+ '"/> ');
html.push('<input type="hidden" id="lineId'+ i +'" name="operateorderStepDTOs['+ i +'].lineId" value="'+checkBlan(data.lineId)+ '"/> ');
html.push('<input type="hidden" id="optimisticLockVersion'+ i +'" name="operateorderStepDTOs['+ i +'].optimisticLockVersion" value="0"/> ');
html.push('<input type="hidden" id="authorizedUnitOid'+ i +'" name="operateorderStepDTOs['+ i +'].authorizedUnitOid" value="'+checkBlan(data.authorizedUnitOid)+'"/> ');
html.push('<input type="hidden" id="switchId'+ i +'" name="operateorderStepDTOs['+ i +'].switchId" value="'+checkBlan(data.switchId)+'"/> ');
html.push('<input type="hidden" id="switchInitialState'+ i +'" name="operateorderStepDTOs['+ i +'].switchInitialState" value="'+checkNumber(data.switchInitialState)+'"/> ');
html.push('<input type="hidden" id="switchOperatedState'+ i +'" name="operateorderStepDTOs['+ i +'].switchOperatedState" value="'+checkNumber(data.switchOperatedState)+'"/> ');
html.push('<td style="text-align:center;" class="orderNo">'+ i +'</td> ');
html.push('<td style="text-align:center;"> <span uitype="Input" id="authorizedUnitOname'+ i +'" name="operateorderStepDTOs['+ i +'].authorizedUnitOname" width="90%" validate="受令单位是必填项" maxlength="40" value="'+checkBlan(data.authorizedUnitOname)+'"></span> </td> ');
html.push('<td style="text-align:center;"><span uitype="Textarea" autoheight="true" id="operateTask'+ i +'" name="operateorderStepDTOs['+ i +'].operateTask" width="98%" height="28px" maxlength="400" validate="操作项目是必填项"><textarea>'+checkBlan(data.operateTask)+'</textarea></span> </td> ');
html.push('<td style="text-align:center;"> <i class="icon-operate-add" title="插入"></i> <i class="icon-operate-up" title="上移"></i> <i class="icon-operate-down" title="下移"></i> <i class="icon-operate-delete" title="删除"></i> </td> ');
html.push('</tr> ');
return html.join(' ');
}
//从新排序
function sortStep(){
var tableId = 'operate-step-table';
var dtoName = 'operateorderStepDTOs';
var item = "#"+ tableId +" tbody tr";
var selectItem = "[name^="+ dtoName+"]";
var rowIndex = 0;
jQuery(item).each(function(index){
jQuery(this).find(selectItem).each(function(subIndex){
var name = jQuery(this).attr("name");
var dotIndex = name.indexOf(".");
var last = name.substring(dotIndex);
name = dtoName + "[" + rowIndex +"]" + last;
jQuery(this).attr("name",name);
jQuery(this).attr("id",last.replace(".","")+rowIndex);
if(last == ".orderNo"){
jQuery(this).val(rowIndex+1);
}
});
jQuery(this).find(".orderNo").text(rowIndex+1);
rowIndex++;
});
jQuery(item).each(function(i){
//处理cui的 id排序Query("span[id^='authorizedUnitOname']")
jQuery(this).find("span[id^='authorizedUnitOname']").attr("id","authorizedUnitOname"+i);
jQuery(this).find("span[id^='operateTask']").attr("id","operateTask"+i);
});
}
//排序
function repsort(){
jQuery("#operate-step-table tbody").append(jQuery("#operate-step-table tr[positionid=1]"));
sortStep()
}