service.search_wev8.js 7.66 KB
define("mService/search_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/search",["mUtil","mService"],function(mUtil,mService){return{mounted:function($page,cfg){var getSearchParam=function(r){var c=[];return $(".wev-field",$page).each(function(){var e=$(this),i=e.attr("data-fieldType"),a=e.attr("data-fieldid");if("select"==i)var d=$("select",e);else if("textarea"==i)d=$("textarea",e);else d=$("input",e);var t=d.attr("name"),l="";if(1<d.length){var n=d.eq(0).val(),s=d.eq(1).val();""==n&&""==s||(l=n+","+s)}else l=d.val();var v={};v.fieldname=t,v.fieldvalue=l,v.fieldtype=i,v.fieldid=a,(r&&""!=l||!r)&&c.push(v)}),c},initBrowser=function(e,c){e.each(function(){var l=$(this),n=l.parent(),s=l.siblings(".text"),v=l.siblings(".hiddenText"),e=l.parent().siblings(".wev-clear-btn"),i=l.siblings(".wev-field-tip"),r=!1;l.siblings("i.search").on("click",function(){var e=l.attr("bid"),i=l.attr("bname"),a="",d={selectedIds:l.val(),success:function(e,i){l.val(e).triggerHandler("change"),s.html(i),v.html(i),setTimeout(function(){s[0].clientWidth-64<v[0].scrollWidth?r=!0:(r=!1,n.removeClass("showall"))},100)}};if(1==e||17==e)$.extend(d,{browserType:e}),a="hrmbrowser";else if(256==e||257==e)$.extend(d,{browserId:e,browserName:i}),a="treebrowser";else if(-1<["4","57","167","168","164","194","169","170"].indexOf(e))a="deptbrowser",$.extend(d,{browserId:e});else if(22==e)a="fnabrowser",$.extend(d,{browserId:e});else{var t={};(getSearchParam()||[]).forEach(function(e){var i=e.fieldname.toLowerCase(),a=e.fieldtype,d=e.fieldvalue;"browser"!=a&&30<d.length&&(d=""),t["fieldname_"+i]=d}),$.extend(d,{browserId:e,browserName:i,relateParam:t,advancedSearch:c[i]}),c[i]&&$.extend(d,{timestamp:(new Date).valueOf()}),a="commonbrowser"}mService.show(a,d)}),l.change(function(){l.val()?(e.show(),i.hide()):(e.hide(),i.show())}),e.click(function(){l.val("").triggerHandler("change"),s.html(""),v.html(""),n.removeClass("showall")}),s.click(function(){r&&(n.hasClass("showall")?n.removeClass("showall"):n.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="${fieldTypeFace}" data-fieldid="${fieldid}">',"<div>${showname} :</div>","<div>","<div>",'<div style="width: 45%;">','<input type="text" style="display: none;" name="${fieldname}"/>','<span class="wev-field-view-span wev-field-view-tip" showname="#START#">#START#</span>','<div class="wev-clear-btn"></div>',"</div>",'<div style="width: 10%;color:#999;">~</div>','<div style="width: 45%;">','<input type="text" style="display: none;" name="${fieldname}"/>','<span class="wev-field-view-span wev-field-view-tip" showname="#END#">#END#</span>','<div class="wev-clear-btn"></div>',"</div>","</div>","</div>","</div>"].join(""),templateHtml={select:['<div class="wev-field" data-fieldType="${fieldTypeFace}" data-fieldid="${fieldid}">',"<div>${showname} :</div>","<div>",'<select name="${fieldname}">',"<option></option>","{@each data as d}",'<option value="${d.selectvalue}">${d.selectname}</option>',"{@/each}","</select>","</div>","</div>"].join(""),date:datetimeTmpl.replace(/START/g,"740").replace(/END/g,"741"),time:datetimeTmpl.replace(/START/g,"742").replace(/END/g,"743"),datetime:datetimeTmpl.replace(/START/g,"389164").replace(/END/g,"389165"),browser:['<div class="wev-field" data-fieldType="${fieldTypeFace}" data-fieldid="${fieldid}">',"<div>${showname} :</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="${browserId}" bname="${browserName}"/>',"</a>",'<div class="wev-clear-btn"></div>',"</div>","</div>"].join(""),check:['<div class="wev-field" data-fieldType="${fieldTypeFace}" data-fieldid="${fieldid}">',"<div>${showname} :</div>","<div>",'<input type="text" name="${fieldname}" style="display: none;"/>','<div class="wev-toggle">','<div class="wev-toggle-handle"></div>',"</div>","</div>","</div>"].join(""),textarea:['<div class="wev-field wev-vertical" data-fieldType="${fieldTypeFace}" data-fieldid="${fieldid}">',"<div>${showname} :</div>","<div>",'<textarea name="${fieldname}"></textarea>',"</div>","</div>"].join(""),text:['<div class="wev-field" data-fieldType="${fieldTypeFace}" data-fieldid="${fieldid}">',"<div>${showname} :</div>","<div>",'<input type="text" name="${fieldname}" placeholder="#83869#"/>','<div class="wev-clear-btn"></div>',"</div>","</div>"].join(""),number:['<div class="wev-field wev-muti-field" data-fieldType="${fieldTypeFace}" data-fieldid="${fieldid}">',"<div>${showname} :</div>","<div>","<div>",'<div style="width: 45%;">','<input type="number" name="${fieldname}"  onblur="if(this.value)this.value=Number(this.value)" placeholder="#383810#"/>',"</div>",'<div style="width: 10%;color:#999;">~</div>','<div style="width: 45%;">','<input type="number" name="${fieldname}"  onblur="if(this.value)this.value=Number(this.value)" placeholder="#383811#"/>',"</div>","</div>","</div>","</div>"].join("")},labelCahe={83869:"请输入",386382:"请选择",740:"开始日期",741:"结束日期",742:"开始时间",743:"结束时间",389164:"开始日期时间",389165:"结束日期时间",383810:"大于等于",383811:"小于等于",384122:"重置",388113:"搜索"},replaceTempi18nLabel=function(tmpl,labels){for(var labelIndex in labels)tmpl=tmpl.replace(eval("/#"+labelIndex+"#/g"),labels[labelIndex]);return tmpl},renderData=function(e,i){$(".wev-loading",$page).hide();for(var a="",d={},t=0;t<e.length;t++){var l=e[t],n=l.htmltype;if("6"!=n&&"7"!=n){var s=templateHtml[l.fieldTypeFace];s&&(a+=mUtil.parseTemplate(replaceTempi18nLabel(s,i),l),"check"==l.fieldTypeFace&&require(["css!FCheck_css"]),l.advancedSearch&&(d[l.browserName]=l.advancedSearch))}}var v=$("form.wev-form",$page);v.html(a),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"),Mobile_NS.toggle($(".wev-field[data-fieldType='check'] input",$page)),initBrowser($(".wev-field[data-fieldType='browser'] input",$page),d),$(".wev-btn-reset",$page).html(i[384122]).click(function(){v[0].reset(),$("input",v).triggerHandler("change"),$(".wev-field .text, .wev-field .hiddenText",$page).html("").parent().removeClass("showall"),$(".wev-field .wev-field-view-span",$page).each(function(){var e=$(this);e.html(e.attr("showname")).addClass("wev-field-view-tip")})}),$(".wev-btn-search",$page).html(i[388113]).click(function(){var a=getSearchParam(!0)||[];defCfg.browser?require(["mService"],function(e){e.getService("commonbrowser").load().then(function(e,i){i.refresh(a),Mobile_NS.backPage()})}):Mobile_NS.refreshSpecifiedList(defCfg.pageid,defCfg.id,"_asArray="+encodeURIComponent(JSON.stringify(a))).then(function(){Mobile_NS.backPage()})})};mUtil.getMultiLabel(labelCahe,function(a){if(defCfg.browser)renderData(defCfg.fieldsMeta,a);else{var e=mUtil.jionActionUrl("com.api.mobilemode.web.mobile.service.MobileCommonAction","action=getSearchFieldMeta"),i={id:defCfg.id,searchid:defCfg.searchid,appid:window.__meta__&&window.__meta__.appid||"",conditions:defCfg.conditions};mUtil.getJSON(e,i,function(e){var i=e.datas;renderData(i,a)})}})}}});