2025澳门开彩结果历史记录-2025澳门开彩结果-2025澳门开彩查询记录-2025澳门聚宝盆-2025澳门九点半一肖一码-2025澳门精准资料免费全览

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

如何給點(diǎn)晴MIS系統(tǒng)任意頁面增加自定義JS函數(shù)及操作腳本功能,并支持JS直接提取SQLServer數(shù)據(jù)庫后臺(tái)數(shù)據(jù)參與運(yùn)算或賦值顯示

admin
2022年4月29日 16:54 本文熱度 13306
為了給點(diǎn)晴MIS系統(tǒng)任意頁面增加自定義JS函數(shù)及操作腳本功能,并支持JS直接提取SQLServer數(shù)據(jù)庫后臺(tái)數(shù)據(jù)參與運(yùn)算或賦值顯示,需要用到如下幾個(gè)頁面:
/MIS/ajax_data/set_page_js.asp   -----》用于設(shè)置相關(guān)JS參數(shù)
/MIS/ajax_data/get_field_value.asp   ------》用于在需要增加JS控制的頁面上獲取相關(guān)JS腳本和函數(shù)
/MIS/ajax_data/return_field_value.asp    ------》提供返回?cái)?shù)據(jù)的遠(yuǎn)端頁面,單表查詢,正常情況下無需用到或修改
/MIS/ajax_data/return_sql_value.asp    ------》提供返回?cái)?shù)據(jù)的遠(yuǎn)端頁面,復(fù)雜SQL查詢,正常情況下無需用到或修改
/MIS/js/lime_util.min.js    ------》JS工具庫,內(nèi)置了將近300個(gè)常用JS函數(shù),方便JS高效設(shè)計(jì)
這個(gè)功能是通用設(shè)計(jì)方法,支持點(diǎn)晴MIS系統(tǒng)中任意頁面增加自定義JS腳本功能,可以方便的對(duì)任意頁面進(jìn)行精確的控制,包括:更改指定字段的只讀、禁止留空、動(dòng)態(tài)從SQL Server中提取信息刷新到頁面上、動(dòng)態(tài)批量加載信息到當(dāng)前頁面等。


下面以采購單打印頁面為例,說明如何改造打印頁面增加自定義JS函數(shù)及操作腳本功能,并利用新增的功能動(dòng)態(tài)更改打印人、將要求到貨時(shí)間改為當(dāng)前時(shí)間之后的3天。


第一步:給打印頁面增加自定義JS函數(shù)及操作腳本功能
先找到采購單打印頁面“/mis/mrp/purchase_order_checkinfo.asp”,在最頂部增加:
page_site="mis_mrp_document_print_edit_asp"  '默認(rèn)為當(dāng)前頁面完整路徑,但單據(jù)打印頁面有點(diǎn)不同應(yīng)該設(shè)置為模板設(shè)計(jì)頁面地址,路徑中的“/.”都要改成“_”
sub_code=pr_code_i   '默認(rèn)留空,如果當(dāng)前頁面有多種子頁面,那么要啟用子識(shí)別碼,例如打印設(shè)計(jì)頁面對(duì)應(yīng)著送貨單、銷售單、入庫單等各種單據(jù)類型
在頁面最底部加入下面紅色內(nèi)容(這些紅色內(nèi)容務(wù)必放在最底部,需要獲取上面這兩個(gè)值,并且有一個(gè)隱藏的DIV,以免加載異常):
<script language="javascript">
<%call get_js_body(page_site,sub_code,0)%>
</script>
<!--#include file="../ajax_data/get_field_value.asp"-->
'引入get_field_value.asp要用到上面的兩個(gè)參數(shù)page_site、sub_code


在頁面右上角增加管理員才能訪問的按鈕:
if popedom100185>0 then input_button=input_button &"<input type=""button"" class=""button_80px button_ui_orange"" value=""頁面JS腳本"" onclick=""open_win('/mis/ajax_data/set_page_js.asp?page_site="& page_site &"&sub_code="& sub_code &"',960,640);"">"


如果啟用提交前JS,那么還要在提交JS中加上以下這個(gè):
<%call get_js_submit(page_site,sub_code,0)%>


如果啟用提交后JS,那么還要在提交JS后面加上以下這個(gè):
<%call get_js_submit_after(page_site,sub_code,0)%>


如果要在頁面上顯示“執(zhí)行JS”按鈕,用于某些不方便在進(jìn)入頁面時(shí)、也不方便在提交表單時(shí)加載的JS腳本:
<%call get_js_button(page_site,sub_code,0)%>


然后找到采購單打印設(shè)置頁面“/mis/mrp/document_print_edit.asp”,在頁面頂部增加:
page_site="mis_mrp_document_print_edit_asp"  '默認(rèn)為當(dāng)前頁面完整路徑,路徑中的“/.”都要改成“_”
sub_code=pr_code_i   '默認(rèn)留空,如果當(dāng)前頁面有多種子頁面,那么要啟用子識(shí)別碼,例如打印設(shè)計(jì)頁面對(duì)應(yīng)著送貨單、銷售單、入庫單等各種單據(jù)類型

在頁面最底部加入下面內(nèi)容(這些腳本務(wù)必放在最底部,需要獲取上面這兩個(gè)值,并且有一個(gè)隱藏的DIV,以免加載異常):

<!--#include file="../ajax_data/get_field_value.asp"-->
'引入get_field_value.asp要用到的兩個(gè)參數(shù)page_site、sub_code


由于本頁面中還需要顯示字段說明,所以還需要在相應(yīng)位置的表頭print_top_intro和表尾print_bottom_intro說明中增加以下內(nèi)容:
add_custom_id_remark=get_js_remark(page_site,sub_code,1)   '獲取字段說明
if add_custom_id_remark&"CS"<>"CS" then print_top_intro=replace(print_top_intro &"|"& add_custom_id_remark,"||","|")
if add_custom_id_remark&"CS"<>"CS" then print_bottom_intro=replace(print_bottom_intro &"|"& add_custom_id_remark,"||","|")


增加完以上代碼后,頁面上就會(huì)出現(xiàn)一個(gè)“頁面JS腳本”按鈕:


點(diǎn)擊“頁面JS腳本”按鈕就會(huì)出現(xiàn)以下JS設(shè)計(jì)頁面:


第二步:設(shè)計(jì)JS取數(shù)腳本
在以上界面中,可以自定義設(shè)計(jì)表體JS、提交前JS、說明文字等信息。其中表體JS支持直接從SQL Server中動(dòng)態(tài)提取數(shù)值,并將返回值參與到JS運(yùn)算、或者直接刷新頁面上的內(nèi)容,刷新方式包括DIV的innerHTML、input的value等內(nèi)容,也支持JS的replace函數(shù)更新模板頁面上原有的:$input_time$、{銷售單號(hào)}等進(jìn)行替換,十分的靈活方便。點(diǎn)擊上面的“加載預(yù)置值”按鈕,就可以看到系統(tǒng)提供的預(yù)置樣板,JS方式動(dòng)態(tài)從SQL Server取數(shù)提供了單表和識(shí)別字段直接簡單取數(shù)、以及自寫SQL腳本實(shí)現(xiàn)復(fù)雜取數(shù)兩種方式。


由于JS從SQL Server中動(dòng)態(tài)取數(shù)是異步實(shí)現(xiàn)的,所以相對(duì)麻煩些,下面提供兩段信息供參考:
表體JS:
async function compute(){
  var table_name="userinf";  //SQL Server表名稱
  var sole_id="username";  //用于唯一識(shí)別的字段
  var id_value="wuxin";  //唯一識(shí)別的字段值
  var get_id="name";  //需要返回的字段名
  var alert_flag=1;  //有異常時(shí)是否彈出提醒,0-否、1-是
  var wait_time=500;  //異步查詢等待時(shí)間,單位ms
  get_field_value(table_name, sole_id, id_value, get_id, alert_flag);  //本行勿動(dòng),以上變量會(huì)自動(dòng)傳入本函數(shù)
  var tmpValue=await getSomething(get_id,wait_time);  //本行勿動(dòng),以上變量會(huì)自動(dòng)傳入本函數(shù)
  document.getElementById("print_body").innerHTML=document.getElementById("print_body").innerHTML.replace("{制單人}",tmpValue);  //tmpValue即為獲得的字段值,此行開始自行寫JS腳本
}
compute();  //此處去掉斜杠啟用上面的JS腳本


頁面說明:
制單人:{制單人}|制單時(shí)間:{制單時(shí)間}


保存后,就可以在頁面上看到新增的內(nèi)容了,我們?cè)谏厦娌迦脒@個(gè)新增的字段{制單人}:


設(shè)計(jì)完畢后,返回采購單打印頁面,就會(huì)看到上面的“{制單人}”已經(jīng)被自動(dòng)更換為“伍鑫”了:


另外,為了方便JS開發(fā),本功能還引入JS工具庫(已經(jīng)強(qiáng)制引入,無需再次引入,直接使用即可),提供了將近300個(gè)API函數(shù),可以極大的簡化JS設(shè)計(jì),此JS庫的使用方法參見以下教程:
lime-util 前端模塊化 Javascript 工具庫[9]
  http://17809.oa22.cn


高級(jí)應(yīng)用:
更復(fù)雜的自定義SQL查詢并返回json數(shù)據(jù)集的例子,參見詢價(jià)單自動(dòng)轉(zhuǎn)為采購單,這個(gè)新增采購單頁面提供了自動(dòng)抓取多個(gè)物料的相應(yīng)詢價(jià)價(jià)格的功能,位置:采購管理-》新增采購單。


相關(guān)教程:

點(diǎn)晴MIS系統(tǒng)頁面動(dòng)態(tài)JS加載自定義SQL語句開發(fā)設(shè)計(jì)指南[12]
  http://26832.oa22.cn

點(diǎn)晴ERP中Excel批量導(dǎo)入報(bào)價(jià)單明細(xì)如何驗(yàn)證導(dǎo)入的信息是否合法?[17]
  http://26923.oa22.cn

零代碼開發(fā)助手之Excel批量導(dǎo)入設(shè)計(jì)操作指引[1490]
  http://18327.oa22.cn


該文章在 2024/10/30 17:37:09 編輯過

全部評(píng)論2

Ccoffee
2022年6月17日 8:47
標(biāo)簽打印時(shí)超出了打印寬度折行造成整張標(biāo)簽打印變形,可以用JS函數(shù)reduceStrFontSize按照設(shè)置的打印最大寬度自動(dòng)縮小字體大小。
函數(shù)說明:
reduceStrFontSize(strID, strFontSize, strMaxWidth, targetMinFontsize)strID-需要縮小的字符串ID,strFontSize-當(dāng)前字符串的字體大小單位pt,strMaxWidth-當(dāng)前字符串最大所占寬度,targetMinFontsize-超出寬度后自動(dòng)縮小最小的字體大小單位pt
函數(shù)應(yīng)用:
var lable_num=document.getElementById('lable_num').value;
for(i=1;i<lable_num;i++){
 try{reduceStrFontSize("product_spec_display"+i, 12, 150,7);}catch(err){}
 try{reduceStrFontSize("product_model_display"+i, 12, 60, 7);}catch(err){}
}

該評(píng)論在 2022/6/17 8:48:14 編輯過
Ccoffee
2024年10月30日 16:36
 ERP批量導(dǎo)入報(bào)價(jià)單明細(xì)如何驗(yàn)證導(dǎo)入的信息是否合法教程

該評(píng)論在 2024/10/30 16:36:44 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 2025新澳门的资料大全 | 澳彩高手论坛资料中心 | 澳门特马昨晚开马结果 | 49彩图库免费的资料港澳l2025年下载 | 香港2025年免费正版资料 | 新澳门2025资料大全 | 2025年香港六合资料 | 澳门天天彩六开免费资料 | 澳门传真资料2025 | 澳门六下彩资料网址官方版202 | 新澳六最准精彩资料 | 澳门精准资料网站手机官方网站ios | 管家婆三期必开一期2025 | 金光佛论坛一码金光佛凤凰 | 澳门今必开一肖一码 | 2025澳门资料大全正版 | 澳门新六会彩开什么号码中奖了呢 | 2025今期澳门三肖三码开一码 | 澳门2025全年资料免费看 | 49图库港澳台开奖结果今天安卓 | 白小姐必中一期 | 2025澳门管家婆资料正版大全下载 | 2025年白小姐开奖结果 | 下载一个彩库宝典 | 新澳天天开奖免费资料大全最新 | 澳门最准的一肖一码100 | 管家婆免费版 | 118彩图库九龙乖乖图库网站app | 澳门今天晚上买什么零食好 | 2025年香港资料免费大全下 | 123696m管家婆香港2025年 119期澳门资料 | 今期管家婆大图彩图142期 | 香港澳门资料大全 | 新奥2025资料大全最新升级版 | 刘伯温十码三期必开一期 | 澳门六开奖结果2025开奖记录今晚直播 | 2025今晚特马开多少号 | 管家婆三肖三期必出一期澳门跑狗 | 2025年澳门入境旅客或破3300万人次 | 新澳门开奖结果2025开奖记录查询官网下载 | 天空彩天下彩app免费下载安装 |