| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- <html>
- <head>
- </head>
- <body>
- <%-- 改为 <data@ss name="obj"/>。Lin
- <wd:write type="tab" /> --%>
- <data.ss name="obj"/>
- <%-- 先去掉 "printx",没有找到处理程序。Lin
- <wd:write type="tab" value="printTemplates,printx" /> --%>
- <tab.ss name="prtDef"/>
- <script>
- function addWdFitHeight(selecter, param) {
- console.log(selecter);
- console.log(param);
- var aa = "";
- if (param.minHeight) {
- aa += "min:" + param.minHeight + ",";
- }
- if (param.maxHeight) {
- aa += "max:" + param.maxHeight + ",";
- }
- if (param && aa) {
- aa = aa.substr(0, aa.length - 1)
- document.querySelector(selecter).setAttribute("ssFith", aa); // ("wdFitHeight",。Lin
- }
- }
- pickData = function(){
- var rowCountPerPage = 10;
- if(dxids.length>10){
- rowCountPerPage = dxids.length;
- }
- <%-- 和发布后的比,parm 里少了 ${pdxidName}:"${pdxidValue}" 和 requestParentViewObject:"${requestParentViewObject}"。Lin
- var url = '@service{name:"findSearch",dest:"env_print_pick",show:"wdDialog",param:{"objectId":"${objectId}","rowCountPerPage":"wdVal{rowCountPerPage}","dxm":"${dxm}","dxids":"wdVal{dxids}","management":0,"isReady":1}}@'; --%>
- <%-- 再改为 WebC.REQ_objName、WebC.REQ_objId,避免与数据表里的 对象名、对象ID 字段重名。用到再确认。Lin
- 另,原来的 "objectId" 应该就是 对象ID,应该统一为 "ssObjId" -- 先不改,用到再弄???
- var url = '<serv@ss dlg="true" name="findSearch" dest="env_prt_rowPicker" parm="{"${pdxidName}":"${pdxidValue}",requestParentViewObject:"${requestParentViewObject}",objectId:"${objectId}",rowCountPerPage:"wdVal{rowCountPerPage}",dxm:"${dxm}",dxids:"wdVal{dxids}",management:0,isReady:1}"/>'; --%>
- var url = '<serv.ss dlg="true" name="findSearch" dest="prtRowPick" parm="{"${pdxidName}":"${pdxidValue}",requestParentViewObject:"${requestParentViewObject}",objectId:"${objectId}",rowCountPerPage:"ssVal{rowCountPerPage}",ssObjName:"${ssObjName}",dxids:"ssVal{dxids}",management:0,isReady:1}"/>';
- var json = JSON.parse('{"rowCountPerPage":"'+rowCountPerPage+'","dxids":"' + dxids + '"}');
- url = wd.display.replaceDynamicParam(url,json);
- eval(url);
- }
- </script>
- <div class="tab-div">
- <%-- 再改为 WebC.REQ_objId,避免与数据表里的 对象ID 字段重名。用到再确认。Lin
- <equal@ss val="${empty dxid}" val2="true"> --%>
- <equal.ss val="${empty ssObjId}" val2="true">
- 已选记录数:<span id="jls">0</span><input type="button" value="选择" onclick='pickData()' class="bottom-button">
- <input type="button" value="预览" class="bottom-button" onclick="preview()"/>
- <%-- 再改为 WebC.REQ_objIdName,避免与数据表里的 对象ID 字段重名。用到再确认。Lin
- <input type="hidden" value="${dxidName}" id="dxidName"/> --%>
- <input type="hidden" value="${ssObjIdName}" id="dxidName"/>
- <script type="text/javascript">
- var dxids = "";
- var dyButtonHtml='<div class="bottom-div" style="z-index:10000;"><div class="bottom-down-div border-top">'+
- <%-- 和发布后的比,onclick=\'#@{print}\' 改为 onclick=\'function print() { [native code] }\'。Lin
- 把 # 写为 ##,避免 PageU.paseSymbol( 进行无谓的替换 -- '#@{print}' 替换为 'function print() { [native code] }'
- '<input type="button" value="批量打印" onclick=\'#@print}\' class="bottom-button">'+
- --%>
- '<input type="button" value="批量打印" onclick=\'function print() { [native code] }\' class="bottom-button">'+
- '</div></div>';
- function windowPrint(){
- var bottomDiv=$("body").find(".bottom-div");
- bottomDiv.remove();
- window.print();
- $("body").append(bottomDiv);
- }
- function getPrintStr(f){
- var s=f.toString();
- return s.substring(s.indexOf("{")+1,s.length-1);
- }
- function preview() {
- var tab = wd.display.getTabInstance().selectTab.dom;
- <%-- 和发布后的比,url = tab.getAttribute("loadUrl") 改为 url=$("#load").attr("src")。Lin
- var url = tab.getAttribute("loadUrl");
- --%>
- var url = $("#load").attr("src");
- var defaultTab = tab.getAttribute("defaultTab");
- var dxidName = $("#dxidName").val();
- var iframeBody=$($("#load")[0].contentWindow.document).find("body");
- iframeBody.css("overflow","");
- iframeBody.addClass("scrollBar");
- iframeBody.html("");
- if(defaultTab == "true"){
- iframeBody.append("<style>.item {height: 100%;position: relative;}</style>");
- }else{
- iframeBody.append("<style>.item {page-break-after: always;display: flex;}</style>");
- }
- iframeBody.append("<style>.scrollBar::-webkit-scrollbar {cursor: url(image/cur.ico), default !important;width: 0px;} .scrollBar::-webkit-scrollbar-track {background-color: none;border-radius: 5px;cursor: url(image/cur.ico), default !important;} .scrollBar::-webkit-scrollbar-thumb {background: #b7b7b7;cursor: url(image/cur.ico), default !important;border-radius: 5px;}</style>")
- iframeBody.append("<div class='content' style='margin-bottom: 68px;'></div>");
- <%-- 和发布后的比,.replace("#@{print}", 改为 .replace("function print() { [native code] }",。Lin
- 把 # 写为 #@,避免 PageU.paseSymbol( 进行无谓的替换 -- '#@{print}' 替换为 'function print() { [native code] }'
- iframeBody.append(dyButtonHtml.replace("#@{print}",getPrintStr(windowPrint)));
- --%>
- iframeBody.append(dyButtonHtml.replace("function print() { [native code] }",getPrintStr(windowPrint)));
- for (var i = 0; i < dxids.length; i++) {
- $.ajax({
- type: "post",
- url: url+"&"+dxidName+"="+dxids[i],
- <%-- 和发布后的比,async: true, 改为 async: false,。Lin
- async: true,
- --%>
- async: false,
- success: function(data) {
- var resultdiv=preparatoryProcess(data);
- processHtml(resultdiv);
- }
- });
- }
- }
- function preparatoryProcess(data) {
- var resultdiv = document.createElement("div");
- resultdiv.style.display = "none";
- resultdiv.id = new Date().getTime();
- resultdiv.innerHTML = data;
- var scripts = resultdiv.querySelectorAll("script");
- for (var i = 0; i < scripts.length; i++) {
- var s = scripts[i];
- $(s).remove();
- }
- return resultdiv;
- }
- function processHtml(resultdiv) {
- $(resultdiv).find("#content").css("overflow","").css("height","").attr("id",new Date().getTime());
- <%-- 和发布后的比,抽取出变量 var fwindow=$("#load")[0].contentWindow; -- 后面复用。Lin
- var iframeBody=$($("#load")[0].contentWindow.document).find("body");
- --%>
- var fwindow=$("#load")[0].contentWindow;
- var iframeBody=$(fwindow.document).find("body");
- iframeBody.find(".content").append("<div class='item'>" + resultdiv.innerHTML + "</div>");
- $(".item").find(".bottom-div").remove();
- <%-- 和发布后的比,在这增加处理。Start。Lin --%>
- try{
- fwindow.$("div[xsxs=2]").each(function() {
- fwindow.initQRCode(this);
- });
- fwindow.$("div[xsxs=3]").each(function() {
- fwindow.initBarCode(this);
- });
- }catch(e){
- console.log(e);
- }
- <%-- 和发布后的比,在这增加处理。End。Lin --%>
- }
- </script>
- </equal.ss>
- <ul ssNormClazz="tab-normal" ssHovClazz="tab-hover" ssSelClazz="tab-selected">
- <rpt.ss name="${tabList}" id="item">
- <equal.ss val="${empty item.dymbfunction}" val2="true">
- <%--默认--%>
- <%-- 有空再弄来自 表格模板 表里的 打印模板。Lin --%>
- <li loadUrl="<serv.ss name='dymb_envPrint' dest='objPrtDo' parm='{bgmbid:"${item.bgmbid}"}'/>"
- defaultTab='true'
- <%-- 再改为 WebC.REQ_objId、WebC.REQ_objIdName,避免与数据表里的 对象名、对象ID 字段重名。Lin
- wdTabClick="<serv@ss name='dymb_envPrint' dest='dymb_envPrint' parm='{"${dxidName}":"${dxid}",bgmbid:"${item.bgmbid}"}'/>"> --%>
- ssTabClick="<serv.ss name='dymb_envPrint' dest='objPrtDo' parm='{"${ssObjIdName}":"${ssObjId}",bgmbid:"${item.bgmbid}"}'/>">
- ${item.desc}
- </li>
- </equal.ss>
- <equal.ss val="${empty item.dymbfunction}" val2="false">
- <li defaultTab='false'
- loadUrl="<varServ.ss name='${item.service}' dest='${item.dest}'/>"
- <%-- 先去掉,用到再弄。好像是 个人选项卡 的东西。Lin
- wdTabSite="${item.wdTabSite}"
- --%>
- ssTabClick="<varServ.ss name='${item.service}' dest='${item.dest}' parm='${item.param}'/>">
- ${item.desc}
- </li>
- </equal.ss>
- </rpt.ss>
- </ul>
- </div>
- <div>
- <iframe id="load" frameborder="none" name="ssTabIframe" width="100%" height="100%"></iframe>
- </div>
- <script>
- var tabHeight = <wd:write value="${tabHeight}" /> ;
- addWdFitHeight("[name=ssTabIframe]", tabHeight); // ("[name=wdTabFrame]",。Lin
- </script>
- <%-- 再改为 WebC.REQ_objId,避免与数据表里的 对象ID 字段重名。用到再确认。Lin
- <equal@ss val="${empty dxid}" val2="true"> --%>
- <equal.ss val="${empty ssObjId}" val2="true">
- <script>
- var ssLblHeightByFith=32; // wdFitHeightbqgd=。Lin
- </script>
- <script>
- // $("#load").contents().find("#pldy").show();
- </script>
- </equal.ss>
- </body>
- </html>
|