HoriList_wev8.js
6.61 KB
define("HoriList_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}" >\t$${loading.content}\t<div class="wev-table-view-wrapper wev-horitable-view-wrapper">\t\t<ul class="wev-table-view wev-horitable-view"></ul>\t\t<div class="wev-no-data" data-title=""></div>\t</div></div>'}),define(["mUtil","Component","wev-loading","fieldParseHelper","i18n","mApi/popup"],function(y,e,t,v,u){return e.init(function(a){var l={},m=[],r={};e.super(this,a),this.type="HoriList",this.tpl=this.type+"_html",this.css=this.type+"_css",this.keysOfSkipedVarParse=["dataurl","imgfield","titlefield","otherfields"],this.dataload=!0,this.components={loading:new t({delay:300,animation:1})};var w=this.viewModel={pageSize:10,normalview:{imgfield:{},titlefield:{},otherfields:[]},options:{dataurl:"",readonly:!1,inParams:[{paramName:"pageSize",paramValue:"{PAGE_SIZE}",isSystem:"1",desc:""}],outFormat:{DATAS:"datas"}},dataload:function(){}};this.beforeMount=function(){w.contentSource=w.contentSource||(0<w.sourceid?2:1)},this.mounted=function(){var o=this;if(this.$comp.on("click","a.wev-navigate-right",function(a){if(!w.options.readonly&&!$(a.target).closest(".wev-file[data-docid]").length){var e=$(this).closest(".wev-table-view-cell").index(),t=m[e];if(w.callback&&y.isFunction(w.callback.click)&&w.callback.click.call(this,t),2==w.contentSource&&0==w.options.urltype)w.layoutUrl?$u(w.layoutUrl+"&billid="+t.id):Mobile_NS.getLayoutUrl(w.relate.modeid,1,t.id);else if(t.dataurl){var i=t.dataurl;-1==i.indexOf("javascript:")?$u(i):y.eval(i,o.pageid)}}}),2==w.contentSource&&0==w.options.urltype&&!w.options.readonly){w.layoutUrl="";var a=y.getActionUrl("service.FormComponent",{action:"resolveDefaultLayout"});y.getJSON(a,{modelid:w.relate.modeid,appid:w.relate.appid,uitype:1},function(a){a.data&&(w.layoutUrl=a.data,require(["mApi/other"]))},function(a){})}l.refreshList(w.dataload)},this.reload=function(a,e){r={},y.isObject(a)&&$.extend(r,a),l.refreshList(e)};var g=0;l.refreshList=function(a){var e=this,t=this.components.loading;t.setRefs(this.$comp,"wev-refreshing"),t.show(),l.loadData(function(){t.hide(),y.isFunction(a)&&a.call(null),y.trigger("dataload",e.pageid,e.id)})},l.loadData=function(a){$(".wev-no-data",this.$el).hide(),2==w.contentSource?l.loadDataFromFormmode(a):1==w.contentSource?l.loadDataFromURL(a):3==w.contentSource&&l.loadDataFromMock(a)},l.loadDataFromURL=function(u){var p=this,a=w.sourceurl,h=$(".wev-no-data",this.$el),f=(new Date).valueOf(),e={},t=w.options.inParams;g=f;for(var i=0;i<t.length;i++){var o=t[i];e[o.paramName]=y.fmtParamValue(o.paramValue,{searchKey:this.searchKey,pageSize:w.pageSize})}$.extend(!0,e,y.getPageParam(this.pageid),r),y.ajax(a,e,function(e){if(f==g){var a=e;try{"string"==typeof e&&(a=JSON.parse(e))}catch(a){return y.getLabel(5294,"列表数据转换成JSON时出现异常,数据如下:",function(a){console.error(a+"\n"+e)}),void("function"==typeof u&&u.call(this,!1))}var t=w.options.outFormat,i=a[t.DATAS],o=parseInt(a[t.TOTAL_SIZE]),l=w.normalview,r={},d=i.map(function(t){var a,e="javascript:void(0);";return w.options.readonly||(e=y.replaceValAndVarParser(w.options.dataurl||"",t)),{dataurl:(a=y.parseUrl(e))[0],dataAjax:w.dataAjax||a[1],formdata:a[2],imgFieldValue:y.replaceValAndVarParser(l.imgfield||"",t),titleFieldValue:y.replaceValAndVarParser(l.titlefield||"",t),readonly:w.options.readonly,otherFieldValue:l.otherfields.map(function(a){var e=y.replaceValAndVarParser(a,t);if(e.length)return e})}});m=m.concat(i),r.datas=d,r.totalSize=o;var n=["{@each datas as d}",'<li class="wev-table-view-cell wev-media">','<a href="$${d.dataurl}" data-reload="true" data-formdata="${d.formdata}" class="wev-navigate-right{@if d.readonly} wev-data-readonly"{@else}" data-ignoreviewimg{@/if} data-ajax="${d.dataAjax}">','<div class="wev-media-object">',"$${d.imgFieldValue}","</div>",'<div class="wev-media-body">','<div class="wev-nowrap">$${d.titleFieldValue}</div>',"{@each d.otherFieldValue as row}",'<div class="wev-nowrap">',"$${row}","</div>","{@/each}","</div>","</a>","</li>","{@/each}"].join(""),s=y.parseTemplate(n,r),c=$(".wev-table-view",p.$el),v=$(s);c.html("").append(v),require(["lazyImgHelper"]),r.totalSize<=0&&h.show(),y.isFunction(u)&&u.call(this),y.renderVarParser(w.needParseVar)}})},l.loadDataFromFormmode=function(e){var t=(new Date).valueOf();g=t;var a=v.parseFieldIds(JSON.stringify(w)),i={action:"getDatas",searchid:w.sourceid,pageSize:w.pageSize,fieldparse:a};$.extend(!0,i,r);var o=y.getActionUrl(this.type,i,this.pageid);y.getJSON(o,function(a){a=a.data,t==g&&l.renderData(a,e)})},l.loadDataFromMock=function(a){var e=v.convertFieldMockData(w.mockData,1,w.pageSize);e&&""!=e?l.renderData(e,a):a(!1,!0)},l.renderData=function(a,e){var t=this.$comp,o=a.fieldMap,l=[],r=[],d=y.containsVariables(w.options.dataurl);a.datas.forEach(function(a){var e={},t=a.keyvalue,i="";1==w.options.urltype&&w.options.dataurl?-1==(i=d?v.replaceVal(w.options.dataurl,a.dataMap):w.options.dataurl).indexOf("javascript:")&&(w.options.isNewLayout||-1!=i.indexOf("&billid=")||-1!=i.indexOf("?billid=")||(i+=(-1==i.indexOf("?")?"?":"&")+"billid="+t)):i="javascript:void(0);",e.id=t,e.dataurl=i,e.dataMap=a.dataMap,l.push(e),r.push(function(i,o,a){var e=a.imgfield,t=a.otherfields,l=v.isSettingValue(e),r="";l&&(r=v.getFieldValue(e,i,o,!0,w.options.readonly));var d=[];return y.isArray(t)&&t.forEach(function(a){var t=[];a.forEach(function(a){if(v.isSettingValue(a)){var e=v.getFieldValue(a,i,o,!1,w.options.readonly);t.push(e)}}),0<t.length&&d.push(t)}),{id:i.keyvalue,readonly:w.options.readonly,imgFieldDisplay:l,imgFieldValue:r,titleFieldValue:v.getFieldValue(a.titlefield,i,o),otherFieldValue:d}}(a,o,w.normalview))}),m=m.concat(l);var i=["{@each datas as d}",'<li class="wev-table-view-cell wev-media">','<a href="javascript:void(0);" class="wev-navigate-right{@if d.readonly} wev-data-readonly"{@else}" data-ignoreviewimg{@/if}>','<div class="wev-media-object">',"$${d.imgFieldValue}","</div>",'<div class="wev-media-body">','<div class="wev-nowrap">$${d.titleFieldValue}</div>',"{@each d.otherFieldValue as row}",'<div class="wev-nowrap">',"{@each row as col}",'<div class="wev-col">$${col}</div>',"{@/each}","</div>","{@/each}","</div>","</a>","</li>","{@/each}"].join(""),n=y.parseTemplate(i,{datas:r}),s=$(".wev-horitable-view",t),c=$(n);s.html("").append(c),require(["lazyImgHelper"]),0==r.length&&$(".wev-no-data",t).attr("data-title",u.NO_DATA).show(),y.isFunction(e)&&e.call(this),y.renderVarParser(w.needParseVar)},l.refreshList=l.refreshList.bind(this),l.loadData=l.loadData.bind(this),l.loadDataFromURL=l.loadDataFromURL.bind(this),l.loadDataFromFormmode=l.loadDataFromFormmode.bind(this),l.loadDataFromMock=l.loadDataFromMock.bind(this),l.renderData=l.renderData.bind(this)})});