service.customsearch_wev8.js
6.12 KB
define("mService/customsearch_html",function(){return'<div class="page-content wev-page-search">\t<div class="wev-header wev-ellipsis"></div>\t<div class="wev-content">\t\t<form disabledEnterSubmit class="wev-form"></form>\t</div>\t<div class="wev-footer">\t\t<div class="wev-btn-wrapper wev-btn-block">\t\t\t<div class="wev-btn wev-btn-reset"></div>\t\t\t<div class="wev-btn wev-btn-search"></div>\t\t</div>\t</div>\t<div class="wev-loading"></div></div>'}),define("mService/customsearch",["mUtil","mService","fieldParseHelper"],function(mUtil,mService){return{mounted:function($page,cfg){var getSearchParam=function(l){var d={};return $(".wev-field",$page).each(function(){var e=$(this),i="select"==e.attr("data-fieldType")?$("select",e):$("input",e),t=i.attr("name"),a=i.val();(l&&""!=a||!l)&&(d[t]=a)}),d},parseBrowser=function(e,t){var i=mUtil.getActionUrl("FBrowser",{action:"parseValues",values:e,typeid:t.attr("bid"),identifie:t.attr("bname")});mUtil.getJSON(i,function(e){var i=e.data;t.triggerHandler("change"),t.siblings(".text").html(i),t.siblings(".hiddenText").html(i)})},initBrowser=function(e,o){e.each(function(){var n=$(this),s=n.parent(),r=n.siblings(".text"),v=n.siblings(".hiddenText"),e=n.parent().siblings(".wev-clear-btn"),i=n.siblings(".wev-field-tip"),c=!1;n.val()&&parseBrowser(n.val(),n),n.siblings("i.search").on("click",function(){var e=n.attr("bid"),i=n.attr("bname"),t="",a={selectedIds:n.val(),success:function(e,i){n.val(e).triggerHandler("change"),r.html(i),v.html(i),setTimeout(function(){r[0].clientWidth-64<v[0].scrollWidth?c=!0:(c=!1,s.removeClass("showall"))},100)}};if(1==e||17==e)$.extend(a,{browserType:e}),t="hrmbrowser";else if(256==e||257==e)$.extend(a,{browserId:e,browserName:i}),t="treebrowser";else{var l={},d=getSearchParam()||{};$.each(d,function(e,i){l["fieldname_"+e]=i}),$.extend(a,{browserId:e,browserName:i,relateParam:l,browsershow:o[i]||{}}),t="commonbrowser"}mService.show(t,a)}),n.change(function(){n.val()?(e.show(),i.hide()):(e.hide(),i.show())}),e.click(function(){n.val("").triggerHandler("change"),r.html(""),v.html(""),s.removeClass("showall")}),r.click(function(){c&&(s.hasClass("showall")?s.removeClass("showall"):s.addClass("showall"))})})},defCfg={id:"",searchid:"",conditions:"",title:""};$.extend(defCfg,cfg),$(".wev-header",$page).html(defCfg.title);var datetimeTmpl=['<div class="wev-field wev-muti-field" data-fieldType="${mectype}">',"<div>${label} :</div>","<div>","<div>",'<input type="text" style="display: none;" name="${fieldname}" value="${initValue}"/>','<span class="wev-field-view-span ${viewTipsClass}" showname="#386382#">${placeholder}</span>','<div class="wev-clear-btn"></div>',"</div>","</div>","</div>"].join(""),templateHtml={select:['<div class="wev-field" data-fieldType="${mectype}">',"<div>${label} :</div>","<div>",'<select name="${fieldname}">','<option value="">#386382#</option>',"{@each data as d}",'<option value="${d.value}" {@if d.value == initValue} selected{@/if}>${d.name}</option>',"{@/each}","</select>","</div>","</div>"].join(""),date:datetimeTmpl,time:datetimeTmpl,datetime:datetimeTmpl,browser:['<div class="wev-field" data-fieldType="${mectype}">',"<div>${label} :</div>","<div>",'<a href="javascript:void(0);">','<div class="text"></div>','<div class="hiddenText"></div>','<div class="wev-field-tip">#386382#</div>','<i class="search"></i>','<input type="text" style="display: none;" name="${fieldname}" bid="${browsertype}" bname="${browsername}" value="${initValue}"/>',"</a>",'<div class="wev-clear-btn"></div>',"</div>","</div>"].join(""),text:['<div class="wev-field" data-fieldType="${mectype}">',"<div>${label} :</div>","<div>",'<input type="text" name="${fieldname}" placeholder="${fieldremind}" value="${initValue}"/>','<div class="wev-clear-btn"></div>',"</div>","</div>"].join(""),number:['<div class="wev-field wev-muti-field" data-fieldType="${mectype}">',"<div>${label} :</div>","<div>","<div>",'<input type="number" name="${fieldname}" onblur="if(this.value)this.value=Number(this.value)" placeholder="${fieldremind}" value="${initValue}"/>',"</div>","</div>","</div>"].join("")},labelCahe={83869:"请输入",386382:"请选择",384122:"重置",388113:"搜索",386772:"查询"},replaceTempi18nLabel=function(tmpl,labels){for(var labelIndex in labels)tmpl=tmpl.replace(eval("/#"+labelIndex+"#/g"),labels[labelIndex]);return tmpl};mUtil.getMultiLabel(labelCahe,function(d){!defCfg.title&&$(".wev-header",$page).html(d[386772]);var e=defCfg.conditions,i=defCfg.searchLast||{};$(".wev-loading",$page).hide();for(var t="",a={},n={},l=0;l<e.length;l++){var s=e[l],r=s.mectype,v=s.initValue,c=s.fieldname,o=templateHtml[r];o&&(n[c]=v,i[c]&&(s.initValue=i[c],v=s.initValue),"text"!=r&&"number"!=r||!s.fieldremind&&(s.fieldremind=d[83869]),"date"!=r&&"time"!=r&&"datetime"!=r||(v?s.placeholder=v:(s.placeholder=d[386382],s.viewTipsClass="wev-field-view-tip")),t+=mUtil.parseTemplate(replaceTempi18nLabel(o,d),s),s.browsershow&&(a[s.browsername]=s.browsershow))}var m=$("form.wev-form",$page);m.html(t),Mobile_NS.datePicker($(".wev-field[data-fieldType='date'] input",$page),"date"),Mobile_NS.datePicker($(".wev-field[data-fieldType='time'] input",$page),"time"),Mobile_NS.datePicker($(".wev-field[data-fieldType='datetime'] input",$page),"datetime"),initBrowser($(".wev-field[data-fieldType='browser'] input",$page),a),$(".wev-btn-reset",$page).html(d[384122]).click(function(){m[0].reset(),$(".wev-field",$page).each(function(){var e=$(this),i=e.attr("data-fieldType"),t="select"==i?$("select",e):$("input",e),a=t.attr("name"),l=n[a];l?(t.val(l),"date"!=i&&"time"!=i&&"datetime"!=i||$(".wev-field-view-span",e).html(l).removeClass("wev-field-view-tip"),"browser"==i&&parseBrowser(l,t)):(t.val("").triggerHandler("change"),"date"!=i&&"time"!=i&&"datetime"!=i||$(".wev-field-view-span",e).html(d[386382]).addClass("wev-field-view-tip"),"browser"==i&&$(".wev-field .text, .wev-field .hiddenText",e).html("").parent().removeClass("showall"))})}),$(".wev-btn-search",$page).html(d[388113]).click(function(){var i=getSearchParam(!0)||{},e={_searchMap:encodeURI(JSON.stringify(i))};Mobile_NS.triggerRefresh(defCfg.id,e,function(){var e=mUtil.getInstance(defCfg.id,defCfg.pageid);e&&e.cacheSearchLast(i)}).then(function(){Mobile_NS.backPage()})})})}}});