sciter 一万条数据加载不卡界面操作


function EnabledRet(Enabled)
{
        var RetStatus ="";
//    stdout.println("状态 = "+Enabled+"建议 = "+Suggest);
        if(Enabled == 1)
        {
            RetStatus ="<label>自动延迟</label>";
        }
        else if(Enabled == 2 )
        {
            RetStatus ="<label>自动</label>";
        }    
        else if(Enabled == 3 )
        {
            RetStatus ="<label>手动</label>";
        }    
        else if(Enabled == 4 )
        {
            RetStatus ="<label>停止</label>";
        }
    return RetStatus;
}

function SuguestStatusRet(suguestStatus)
{
        var RetStatus ="";
//    stdout.println("状态 = "+Enabled+"建议 = "+Suggest);
        if(suguestStatus == 0)
        {
            RetStatus ="<label>维持现状</label>";
        }
        else if( suguestStatus == 1)
        {
            RetStatus ="<label>必须开启</label>";
        }    
        else if(suguestStatus == 2)
        {
            RetStatus ="<label>建议开启</label>";
        }    
        else if(suguestStatus == 3)
        {
            RetStatus ="<label>建议禁止</label>";
        }    
    return RetStatus;
}

function ButtonTextRet(Namber)
{
        var RetStatus ="";

        if(Namber == 1  )
        {
            RetStatus ="<label>禁止</label>";
        }
        else if(Namber==2)
        {
            RetStatus ="<label>禁止</label>";
        }
        else if(Namber == 3)
        {
            RetStatus ="<label>禁止</label>";
        }
        else if(Namber==4)
        {
            RetStatus ="<label>启动</label>";
        }
    return RetStatus;
}

/* var GlobalServeSerial = 0;     //当前序号
var GlobalServeStatus = 0;    //当前选择状态
var GlobalServeStatusIn = 0;//要改变的状态
var GlobalServeName = "";    //服务名字
 */
 
var g_ServiceInformation ="";
var g_records = NULL;

function UpdateServiceData(parameter)
{
    g_ServiceInformation = parameter;
    var i,j;
    for(i=0;i<parameter.length;i++)
    {
        var newDate = parameter[i];
        if(newDate.length < 10)
        {
            continue;
        }
        //对原数组,直接重新赋值更新数据

        var EnableFun  = EnabledRet(newDate[3]);
        var SuguestFun = SuguestStatusRet(newDate[6]);
        var ButtonFun  = ButtonTextRet(newDate[3]);
        g_records[i] = {index:i,FileName: newDate[0], AuthorName:newDate[1]
                      ,ATState:EnableFun,ATSuggest:SuguestFun
                      ,ButtonTxt:ButtonFun};
        
    }
    stdout.println("call update");
    view.update();
}

function SystemItemService(parameter)
{
        // 0false启用  1true不启用
    var i;
    var DIV_Popop = $(#SveicerPopupmove);
    stdout.println("首页  服务 : "+ parameter.length);
    g_ServiceInformation = parameter;
    
    if(g_records != NULL)
    {
        stdout.println("这里只来一次刷新");
        UpdateServiceData(parameter);
        return;
    }
    g_records = new Array(parameter.length);
    
    for(i=0;i<parameter.length;i++)
    {
        var ss = parameter[i];
        if(ss.length < 10)
        {
            continue;
        }
        var ExeName          = ss[0];    //显示名称
        var Promulgator      = ss[1];   //服务名称  不重复
        var FilePath          = ss[2];    //软件路径
        var Enabled          = ss[3]; 
        var SerialNumber     = ss[4];
        var Explain          = ss[5];  /
        var suguestStatus     = ss[6];   
        var forbitRate         = ss[7];
        var startTime         = ss[8];
        var categoty         = ss[9];

        var EnableFun  = EnabledRet(Enabled);
        var SuguestFun = SuguestStatusRet(suguestStatus);
        var ButtonFun  = ButtonTextRet(Enabled);
        
        g_records[i] = {index:i,FileName: ExeName, AuthorName:Promulgator
                      ,ATState:EnableFun,ATSuggest:SuguestFun
                      ,ButtonTxt:ButtonFun};
                      
        var PopWindo=    "<popup id="+Promulgator+"_"+i+" .info>"+Explain+"</popup>";
        DIV_Popop.append(PopWindo);
    
    }
    function myfun(recordNo, record, itemEl) //回调函数重要
    {
        itemEl.attributes["titleid"]=  g_records[recordNo].AuthorName +"_"+ recordNo;
        itemEl.$(button).html = g_records[recordNo].ButtonTxt;
        itemEl.$(.EnabledInt).html = g_records[recordNo].ATState;
        itemEl.$(.Suggest).html = g_records[recordNo].ATSuggest;
        stdout.println("序号 recordNo ="+recordNo +",不知道 record = "+record +"拿到TR itemEl");
    }

    var vlist = VirtualList {
        container     : $(#SystemItem),
        bufferSize    : 20, // records1 in sliding window
        setupItemView : myfun
    };

    // feed it by these records
    stdout.println("这里只来一次245");
    vlist.value = g_records;
    //列表点击事件
    vlist.on("click","tbody > tr > td > .TdAmend", function()
    {
        var IndexNumber = this.selectParent("tr").$(td);
        stdout.println("click index -----: "+IndexNumber.$(.IndexNumb).text);
        
        //g_ServiceInformation  获得当前序号发给后端状态
        for(var i =0;i<g_ServiceInformation.length;i++)
        {
            var ss = g_ServiceInformation[i];
            if(ss.length < 10)
            {
                continue;
            }
            var Promulgator      = ss[1];   //服务名称  不重复
            var Enabled          = ss[3];   //启用状态 1.自动启动 2自动 3.手动 4禁止
            var SerialNumber     = ss[4];  //序号
            var RetItemEnd = IndexNumber.$(.IndexNumb).text;

            if(RetItemEnd == SerialNumber)
            {
                stdout.println("获取到当前序号 可以发给后端");
                if(Enabled == 1 || Enabled==2 || Enabled == 3 )
                {
                    ServeDisableEnabledButton(SerialNumber,Enabled,Promulgator,4);    
                
                }
                if( Enabled==4)
                {
                    ServeDisableEnabledButton(SerialNumber,Enabled,Promulgator,2);
                }
            }
        }

    });

    return;
}


//修改状态
function ServicePackagingState(ServeSerial,ServeStatus,ServeStatusIn,ServeName)
{
    //发给后端参数 2 :自动启动 4禁止
        stdout.println("序号 = "+ServeSerial +" 改变状态 ="+ServeStatusIn);
    var vRet = view.SetSingleServerStatus(ServeSerial,ServeStatusIn);
        stdout.println("vRet = "+vRet);
    if(vRet == false)
    {
                //单独刷新操作
        var ServeSelect = $(#SystemItem).$$(.ServeSelect);
        
        $(#UIHome).state.disabled = true;
        $(#AlterUI).style["display"] = "block";

        $(#TipsServe).html = "";
        $(#TipsServe).html = AlterServe;
        $(#TipsServeH).html = AlterServeTips;
        $(#AlterYES).style["display"] ="none";
        $(#AlterNo).style["display"] ="none";
        $(#CloseExit).style["display"] ="none";
        $(#AlterYES_2).style["display"] ="block";

    }
    else
    {
        
        stdout.println("一直再修改 = "+vRet);
        UpdateServiceData(view.GetServersInfo());
    }
}

//服务管理

function ServeDisableEnabledButton(Number,Serve,Name,Amend)
{
    //点击之后进来
    stdout.println("序号 = "+Number+",状态 = "+Serve+",服务名字 = "+Name+"修改状态 = "+Amend);

    ServicePackagingState(Number,Serve,Amend,Name);
    //    var vRet = view.SetSingleServerStatus(ServeSerial,ServeStatusIn);//C++修改状态函数
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值