1. 程式人生 > 其它 >泛微OA 刪除明細行&新增明細行&ajax呼叫webservice

泛微OA 刪除明細行&新增明細行&ajax呼叫webservice

技術標籤:jswebservice

1、刪除行JS

	//清除明細表
	function delete_mx_0() {
		var k = 0;
        //選中要刪除的明細行
		jQuery("input[name^='check_node']").each(function () {
			jQuery(this).click();
			k = k + 1;
		});

		if (k > 0) {
        //刪除對應的明細
        //這裡使用的是第一個明細按鈕呼叫的方法deleteRow0
			deleteRow0(0,true);
		}
	}

2、新增行JS

jQuery(document).ready(function () {
    window.onload = function () {

        //繫結值變更事件
        jQuery('#field7315').bindPropertyChange(function () {
            delete_mx_0();
			var data = RequestWebService();
            for(var i in data.ProjectListStage){
                //遍歷ProjectListStage陣列時,會出現非數值的index
                //原因未知
				if(isNaN(i)){continue;
				}

                addRow0(i);
                
                //插入找到的明細行
				jQuery("input[id^='field7255_']").each(function (k,element) {
					if(k==i){
						jQuery(element).val(data.ProjectListStage[i].Seqn)
					}
				});
                jQuery("input[id^='field7256_']").each(function (k,element) {
					if(k==i){
						jQuery(element).val(data.ProjectListStage[i].ProjStage);
					}
				});
			}
        });    
    }
	//獲取明細資料,通過呼叫api介面返回json資料
    //這裡使用的是webservice
	function RequestWebService() {
		var data;
		jQuery.ajax({
			type: "get",
			async:false,
			url: "http://localhost:26819/AXWebService.asmx/GetProjectListStage?projno=" +     jQuery('#field7315').val(),
			dataType: "json",
			success: function(result){
					if(result.ret == "true"){
						data = result.msg;
					}
				},
		});
		return data;
	} 
});

3、C# webservice配置

        [WebMethod(Description = "獲取ProjectListStage(JSON)")]
        public void GetProjectListStage(string projno)
        {
            //跨域設定
            Context.Response.AddHeader("Access-Control-Allow-Origin", "*");

            //......

            //返回json
            Context.Response.Write(ret);
            Context.Response.End();
        }


//web.config設定
<system.web>
	  <webServices>
		  <protocols>
			  <add name="HttpPost" />
			  <add name="HttpGet" />
		  </protocols>
	  </webServices>
</system.web>
<system.webServer>
		<validation validateIntegratedModeConfiguration="false" />
		<directoryBrowse enabled="false" />
</system.webServer>