欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

點晴MIS系統頁面動態JS加載自定義SQL語句開發設計指南

admin
2024年10月24日 10:4 本文熱度 1217

頁面動態JS加載腳本,是點晴MIS系統中一項非常重要的功能,可以動態加載JS腳本、自定義SQL語句獲取JSON返回值等,從而對頁面上的元素進行更為個性化的控制,以及增加新的功能。

為了避免動態JS加載自定義SQL語句時,別有用心的人員通過瀏覽器調試模式自行修改自定義SQL語句給系統帶來安全隱患,點晴MIS系統頁面動態JS加載腳本設計時,必須嚴格按照以下規范來引入自定義SQL語句。

一、點擊相應模塊頁面右上角按鈕“頁面JS腳本”,進入后先在頁面最頂部增加需要使用的自定義SQL語句

增加自定義SQL語句時,系統會自動給每個SQL語句分配一個20位長的唯一識別碼,后面引用此自定義SQL語句時,必須使用此20位唯一識別碼,不允許直接在JS中寫SQL語句:

1、上述值更改后直接生效,本頁最下方保存按鈕不會保存本位置內容變更;

2、在下面JS腳本中需要動態使用SQL的位置,用上面固定長度20位的識別碼代替真實自定義SQL語句,可以有效防范SQL被用戶篡改;

3、請不要在下面的JS腳本中直接使用SQL語句,直接寫入的SQL不會被后臺執行;

4、輸入自定義SQL時,SQL中需要接收的變量,用“{傳入參數名稱}”代替,示例:

select TOP(1) inquiry_list_id,inquiry_of_price, inquiry_of_tax_price, max_quantity, min_quantity from scm_inquiry_order_list right OUTER JOIN scm_inquiry_order on scm_inquiry_order.inquiry_order_id=scm_inquiry_order_list.inquiry_order_id where scm_inquiry_order_list.client_code='{client_code}' AND scm_inquiry_order_list.product_code='{product_code}' and (('{order_quantity}'<=max_quantity and '{order_quantity}'>=min_quantity) or max_quantity=0) and scm_inquiry_order.orderstat=1 order by inquiry_list_id desc


二、在下面的表體JS、提交前JS、提交后JS、按鈕JS四個腳本框中,視需要引入上面增加的自定義SQL語句

引入自定義SQL語句時,必須使用上面系統分配的20位唯一識別碼,考慮到SQL中需要帶入JS傳入的變量,所以約定按照以下格式引入自定義SQL語句以及接收JS傳入的參數:

"自定義SQL語句唯一碼?參數1="+參數1值+"&參數2="+參數2值+"&參數3="+參數3值;

var sql_str="SQL2410240936XALWYO3?client_code="+client_code+"&product_code="+product_code;

類似于頁面URL地址結構,第一個值必須是自定義SQL語句唯一識別碼,后面是接收傳入的參數。


范例參見點晴ERP系統新增采購單-》JS提取詢價單價:

自定義SQL語句:

select TOP(1) inquiry_list_id,inquiry_of_price, inquiry_of_tax_price, max_quantity, min_quantity from scm_inquiry_order_list   right OUTER JOIN scm_inquiry_order on scm_inquiry_order.inquiry_order_id=scm_inquiry_order_list.inquiry_order_id where scm_inquiry_order_list.client_code='{client_code}' AND scm_inquiry_order_list.product_code='{product_code}' and (('{order_quantity}'<=max_quantity and '{order_quantity}'>=min_quantity) or max_quantity=0) and scm_inquiry_order.orderstat=1 order by inquiry_list_id desc

表體JS:

async function get_purchase_price(client_code,product_code,order_quantity,at_num){  //方法2,用于復雜查詢,直接傳入完整SQL

  var sql_str="SQL2310231215LLNNVIT?client_code="+client_code+"&product_code="+product_code+"&order_quantity="+order_quantity;

  var get_id="tmpID"+at_num;  //隨意命名,用于臨時暫存數據的ID,不與頁面上其他ID重復即可

  var alert_flag=1;

  var wait_time=3000;

  get_sql_value(sql_str, get_id, alert_flag);  //本行勿動,以上變量會自動傳入本函數

  var tmpValue=await getSomething(get_id,wait_time);  //本行勿動,以上變量會自動傳入本函數

  //alert(id_value+"所在崗位:"+tmpValue);  //tmpValue即為獲得的字段值,此行開始自行寫JS腳本

  var myobj=JSON.parse(tmpValue);

no_num=0;

for(var i=0;i<myobj.length;i++){

try{document.getElementById('inquiry_list_id'+at_num).value=myobj[i].inquiry_list_id;}catch(err){}

try{document.getElementById('order_tax_price'+at_num).value=myobj[i].inquiry_of_tax_price;}catch(err){}

try{document.getElementById('inquiry_max_quantity'+at_num).value=myobj[i].max_quantity;}catch(err){}

try{document.getElementById('inquiry_min_quantity'+at_num).value=myobj[i].min_quantity;}catch(err){}

try{document.getElementById('order_price'+at_num).value=myobj[i].inquiry_of_price;}catch(err){}

try{document.getElementById('product_sum_price'+at_num).value=zeroformat(myobj[i].inquiry_of_price*document.getElementById('order_quantity'+at_num).value);}catch(err){}

try{document.getElementById('product_sum_tax_price'+at_num).value=zeroformat(myobj[i].inquiry_of_tax_price*document.getElementById('order_quantity'+at_num).value);}catch(err){}

no_num++;

}

 sum_list_price();

}

執行JS按鈕腳本:

if(!confirm("你確定要提取詢價價格嗎?")){return false;}

var client_code=document.getElementById("client_code").value;

if (client_code==""){alert("執行JS失敗:供應商名稱禁止為空!");return false;}

var num=document.getElementById("num").value;

for (var tmpNum=0;tmpNum<num;tmpNum++)

{

var product_code=document.getElementById("product_code"+tmpNum).value;

var order_quantity=document.getElementById("order_quantity"+tmpNum).value;

if(product_code!="" && order_quantity>0)

{

get_purchase_price(client_code,product_code,order_quantity,tmpNum);

}

}


相關教程:

如何給點晴MIS系統任意頁面增加自定義JS函數及操作腳本功能,并支持JS直接提取SQLServer數據庫后臺數據參與運算或賦值顯示[2254]
  http://17810.oa22.cn


該文章在 2024/10/30 11:37:23 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved