CustomerRead.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572
  1. MWF.xApplication.CRM = MWF.xApplication.CRM || {};
  2. MWF.xDesktop.requireApp("CRM", "Template", null,false);
  3. MWF.require("MWF.widget.Identity", null,false);
  4. MWF.xApplication.CRM.CustomerRead = new Class({
  5. Extends: MWF.widget.Common,
  6. Implements: [Options, Events],
  7. options: {
  8. "style": "default",
  9. "width": 500,
  10. "height": 800,
  11. "top": 0,
  12. "left": 0,
  13. "hasTop": false,
  14. "hasTopIcon" : false,
  15. "hasTopContent" : false,
  16. "hasIcon": true,
  17. "hasScroll" : true,
  18. "hasBottom": true,
  19. "hasMask" : true,
  20. "marked": true,
  21. "title": "",
  22. "draggable": false,
  23. "maxAction" : "false",
  24. "closeAction": true,
  25. "relativeToApp" : true,
  26. "sizeRelateTo" : "app" //desktop
  27. },
  28. initialize: function (node,app,explorer, actions, options) {
  29. this.setOptions(options);
  30. this.app = app;
  31. this.explorer = explorer;
  32. this.lp = app.lp.customer.customerRead;
  33. this.path = "/x_component_CRM/$CustomerRead/";
  34. this.loadCss();
  35. this.actions = actions;
  36. this.node = $(node);
  37. },
  38. loadCss: function () {
  39. this.cssPath = "/x_component_CRM/$CustomerRead/" + this.options.style + "/css.wcss";
  40. this._loadCss();
  41. },
  42. load: function (data) {
  43. this.data = data;
  44. var _self = this;
  45. var injectFor = this.explorer.formContentArr.length?this.node:this.app.content;
  46. if( this.options.hasMask ){
  47. this.formMaskNode = new Element("div.formMark", {
  48. "styles": this.css.formMaskNode,
  49. "id":"formmark"+_self.explorer.formContentArr.length,
  50. "events": {
  51. "mouseover": function (e) {
  52. e.stopPropagation();
  53. },
  54. "mouseout": function (e) {
  55. e.stopPropagation();
  56. },
  57. "click": function () {
  58. this.destroyForm();
  59. }.bind(this)
  60. }
  61. }).inject(injectFor);
  62. }
  63. this.createForm();
  64. this.createTop();
  65. this.createContent();
  66. this.resizeWindow();
  67. this.app.addEvent("resize", function(){
  68. this.resizeWindow();
  69. }.bind(this));
  70. },
  71. reload:function(navi){
  72. this.createContent(navi);
  73. },
  74. reloadOpener:function(){
  75. this.fireEvent("reloadView");
  76. },
  77. destroyForm:function(){
  78. this.explorer.formMarkArr[this.explorer.formMarkArr.length-1].destroy(); //删除 遮罩
  79. var el = this.explorer.formContentArr[this.explorer.formContentArr.length-1].formContent;
  80. var myFx = new Fx.Tween(el);
  81. myFx.start("width",el.getWidth(),0).chain(function(){
  82. el.destroy(); //删除内容
  83. });
  84. this.explorer.formContentArr.splice(this.explorer.formContentArr.length-1,1);//去掉遮罩对象
  85. this.explorer.formMarkArr.splice(this.explorer.formMarkArr.length-1,1);//去掉内容对象
  86. },
  87. createForm:function(){
  88. if(this.formContent){
  89. //this.formContent.destroy();
  90. this.formContent.tween('width', this.options.width);
  91. } else{
  92. this.formContent = new Element("div.formContent",{
  93. "styles": this.css.formContent
  94. }).inject(this.node);
  95. this.formContent.tween('width', this.options.width);
  96. this.formContent.setStyles({"border-left":"1px solid #ffffff"});
  97. }
  98. var zindex = this.explorer.formContentArr.length?parseInt(this.node.getStyle("z-index"))+1:1;
  99. this.formContent.setStyles({"z-index":zindex});
  100. //this.formContent.set("text",this.data.customername);
  101. //this.testdiv = new Element("div.testdiv").inject(this.formContent);
  102. //this.testdiv.setStyles({
  103. // "width":"200px",
  104. // "height":"400px",
  105. // "top":"400px",
  106. // "left":"200px",
  107. // "background-color":"#ff0",
  108. // "position":"absolute"
  109. //
  110. //});
  111. //this.testdiv.addEvents({
  112. // "click":function(){
  113. // this.customerRead = new MWF.xApplication.CRM.CustomerRead(this.formContent,this.app,this.explorer, this.actions,{
  114. // "hasMask" : true,
  115. // "width":this.formContent.getWidth()-100,
  116. // "marked":true
  117. // } );
  118. // this.customerRead.load({customername:"新窗口"});
  119. // this.explorer.formContentArr.push(this.customerRead);
  120. // this.explorer.formMarkArr.push(this.customerRead.formMaskNode);
  121. //
  122. // }.bind(this)
  123. //})
  124. },
  125. createTop:function(){
  126. this.topDiv = new Element("div.topDiv",{"styles":this.css.topDiv}).inject(this.formContent);
  127. this.topCloseDiv = new Element("div.topCloseDiv",{"styles":this.css.topCloseDiv}).inject(this.topDiv);
  128. this.topCloseDiv.addEvents({
  129. "mouseenter":function(){
  130. this.setStyles({
  131. "opacity":"1",
  132. "filter":"alpha(opacity=100)"
  133. })
  134. },
  135. "mouseleave":function(){
  136. this.topCloseDiv.setStyles(this.css.topCloseDiv);
  137. }.bind(this),
  138. "click":function(){
  139. this.destroyForm();
  140. }.bind(this)
  141. });
  142. },
  143. createContent:function(navi){
  144. if(this.contentDiv) this.contentDiv.destroy();
  145. this.contentDiv = new Element("div.contentDiv",{"styles":this.css.contentDiv}).inject(this.formContent);
  146. this.contentDiv.setStyles({
  147. "height":(this.formContent.getHeight()-this.topDiv.getHeight())+"px",
  148. "width":"1000px"
  149. });
  150. this.slideContentDiv = new Element("div.slideContentDiv",{"styles":this.css.slideContentDiv}).inject(this.contentDiv);
  151. this.slideContentDiv.setStyles({
  152. "height":(this.contentDiv.getHeight())+"px",
  153. "width":(this.contentDiv.getWidth()-40)+"px"
  154. });
  155. this.setScrollBar(this.slideContentDiv);
  156. this.slideContentDiv.set("text","loading...");
  157. this.actions.getCustomerInfo(this.data.id,function(json){
  158. this.slideContentDiv.set("text","");
  159. this.customerData = json.data;
  160. this.createHeadContent();
  161. this.createNaviContent(navi);
  162. }.bind(this));
  163. },
  164. createHeadContent:function(){
  165. this.headContentDiv = new Element("div.headContentDiv",{"styles":this.css.headContentDiv}).inject(this.slideContentDiv);
  166. this.customerNameDiv = new Element("div.customerNameDiv",{"styles":this.css.customerNameDiv}).inject(this.headContentDiv);
  167. this.customerNameSpan = new Element("span.customerNameSpan",{
  168. "styles":this.css.customerNameSpan,
  169. "text":this.customerData.customername
  170. }).inject(this.customerNameDiv);
  171. this.customerMapA = new Element("a.customerMapA",{"styles":this.css.customerMapA,"text":this.lp.mapLocation}).inject(this.customerNameDiv);
  172. this.customerMapA.addEvents({
  173. "click":function(){
  174. MWF.xDesktop.requireApp("CRM", "BaiduMap", function(){
  175. this.map = new MWF.xApplication.CRM.BaiduMap(this.app.content,this.app, this.explorer, this.actions );
  176. this.map.loadMax({
  177. "longitude":this.data.addresslongitude,
  178. "latitude":this.data.addresslatitude
  179. });
  180. }.bind(this));
  181. }.bind(this)
  182. });
  183. this.customerStatusDiv = new Element("div.customerStatusDiv",{"styles":this.css.customerStatusDiv}).inject(this.headContentDiv); //float:left
  184. this.customerStatusInfoDiv = new Element("div.customerStatusInfoDiv",{"styles":this.css.customerStatusInfoDiv}).inject(this.customerStatusDiv);
  185. this.customerStatusNumSpan = new Element("span.customerStatusNumSpan",{
  186. "styles":this.css.customerStatusNumSpan,
  187. "text":this.lp.TCustomerNO+": "+this.customerData.customersequence
  188. }).inject(this.customerStatusInfoDiv);
  189. this.customerStatusPersonSpan = new Element("span.customerStatusPersonSpan",{
  190. "styles":this.css.customerStatusPersonSpan,
  191. "text":this.lp.responsePerson+": "+this.customerData.customerownername
  192. }).inject(this.customerStatusInfoDiv);
  193. this.customerStatusInfo2Div = new Element("div.customerStatusInfo2Div",{"styles":this.css.customerStatusInfoDiv}).inject(this.customerStatusDiv);
  194. this.customerStatusLevelSpan = new Element("span.customerStatusLevelSpan",{
  195. "styles":this.css.customerStatusLevelSpan,
  196. "text":this.lp.TCustomerLevel+": " + this.customerData.level
  197. }).inject(this.customerStatusInfo2Div);
  198. this.customerStatusStatusSpan = new Element("span.customerStatusStatusSpan",{
  199. "styles":this.css.customerStatusStatusSpan,
  200. "text":this.lp.TCustomerStatus+": 成交"
  201. }).inject(this.customerStatusInfo2Div);
  202. this.customerOperationDiv = new Element("div.customerOperationDiv",{"styles":this.css.customerOperationDiv}).inject(this.headContentDiv); //float:right
  203. },
  204. createNaviContent:function(navi){
  205. this.naviDiv = new Element("div.naviDiv",{"styles":this.css.naviDiv}).inject(this.slideContentDiv);
  206. this.summaryNavi = new Element("span.naviSpan",{
  207. "styles":this.css.naviSpan,
  208. "text":this.lp.navi.summary
  209. }).inject(this.naviDiv);
  210. this.summaryNavi.addEvents({
  211. "click":function(){
  212. this.openTab(this.summaryNavi);
  213. }.bind(this)
  214. });
  215. this.summaryNavi.click();
  216. this.customerInfoNavi = new Element("span.naviSpan",{
  217. "styles":this.css.naviSpan,
  218. "text":this.lp.navi.customerInfo
  219. }).inject(this.naviDiv);
  220. this.customerInfoNavi.addEvents({
  221. "click":function(){
  222. this.openTab(this.customerInfoNavi);
  223. }.bind(this)
  224. });
  225. this.addressNavi = new Element("span.naviSpan",{
  226. "styles":this.css.naviSpan,
  227. "text":this.lp.navi.address
  228. }).inject(this.naviDiv);
  229. this.addressNavi.addEvents({
  230. "click":function(){
  231. this.openTab(this.addressNavi);
  232. }.bind(this)
  233. });
  234. this.contactNavi = new Element("span.naviSpan",{
  235. "styles":this.css.naviSpan,
  236. "text":this.lp.navi.contact
  237. }).inject(this.naviDiv);
  238. this.contactNavi.addEvents({
  239. "click":function(){
  240. this.openTab(this.contactNavi);
  241. }.bind(this)
  242. });
  243. this.chanceNavi = new Element("span.naviSpan",{
  244. "styles":this.css.naviSpan,
  245. "text":this.lp.navi.chance
  246. }).inject(this.naviDiv);
  247. this.chanceNavi.addEvents({
  248. "click":function(){
  249. this.openTab(this.chanceNavi);
  250. }.bind(this)
  251. });
  252. this.clueNavi = new Element("span.naviSpan",{
  253. "styles":this.css.naviSpan,
  254. "text":this.lp.navi.clue
  255. }).inject(this.naviDiv);
  256. this.clueNavi.addEvents({
  257. "click":function(){
  258. this.openTab(this.clueNavi);
  259. }.bind(this)
  260. });
  261. this.bargainNavi = new Element("span.naviSpan",{
  262. "styles":this.css.naviSpan,
  263. "text":this.lp.navi.bargain
  264. }).inject(this.naviDiv);
  265. this.bargainNavi.addEvents({
  266. "click":function(){
  267. this.openTab(this.bargainNavi);
  268. }.bind(this)
  269. });
  270. this.visitorNavi = new Element("span.naviSpan",{
  271. "styles":this.css.naviSpan,
  272. "text":this.lp.navi.visitor
  273. }).inject(this.naviDiv);
  274. this.visitorNavi.addEvents({
  275. "click":function(){
  276. this.openTab(this.visitorNavi);
  277. }.bind(this)
  278. });
  279. this.attachmentNavi = new Element("span.naviSpan",{
  280. "styles":this.css.naviSpan,
  281. "text":this.lp.navi.attachment
  282. }).inject(this.naviDiv);
  283. this.attachmentNavi.addEvents({
  284. "click":function(){
  285. this.openTab(this.attachmentNavi);
  286. }.bind(this)
  287. });
  288. if(navi=="customerInfo"){
  289. this.customerInfoNavi.click();
  290. }
  291. },
  292. openTab:function(obj){
  293. this.naviDiv.getElements("span").setStyles({"border-bottom":"0px"});
  294. obj.setStyles({"border-bottom":"3px solid #ff8e31"});
  295. if(obj.get("text")==this.lp.navi.customerInfo){
  296. this.createCustomerInfo();
  297. }
  298. },
  299. createCustomerInfo:function(){
  300. if(this.contentInfoDiv) this.contentInfoDiv.destroy();
  301. this.contentInfoDiv = new Element("div.contentInfoDiv",{"styles":this.css.contentInfoDiv}).inject(this.slideContentDiv);
  302. this.customerInfoDiv = new Element("div.customerInfoDiv",{"styles":this.css.customerInfoDiv}).inject(this.contentInfoDiv);
  303. this.customerInfoDiv.setStyles({"min-height":(this.contentDiv.getHeight()-this.headContentDiv.getHeight()-this.naviDiv.getHeight()-30)+"px"});
  304. this.contentToolbarDiv = new Element("div.contentToolbarDiv",{"styles":this.css.contentToolbarDiv}).inject(this.customerInfoDiv);
  305. this.contentToolbarSpan = new Element("span.contentToolbarSpan",{
  306. "styles":this.css.contentToolbarSpan,
  307. "text":this.lp.customerInfo
  308. }).inject(this.contentToolbarDiv);
  309. this.contentToolbarBottonEditDiv = new Element("div.contentToolbarBottonDiv",{
  310. "styles":this.css.contentToolbarBottonDiv,
  311. "text":this.lp.editCustomer
  312. }).inject(this.contentToolbarDiv);
  313. this.contentToolbarBottonEditDiv.addEvents({
  314. "click":function(){
  315. MWF.xDesktop.requireApp("CRM", "CustomerEdit", function(){
  316. this.explorerForm = new MWF.xApplication.CRM.CustomerEdit(this, this.actions,{id:this.customerData.id},{
  317. "isEdited":true,
  318. "isNew":true,
  319. "onReloadView" : function( ){
  320. this.reload("customerInfo");
  321. this.reloadOpener();
  322. }.bind(this)
  323. });
  324. this.explorerForm.load();
  325. }.bind(this));
  326. }.bind(this)
  327. });
  328. this.customerDetailsDiv = new Element("div.customerDetailsDiv",{"styles":this.css.customerDetailsDiv}).inject(this.customerInfoDiv);
  329. //客户名称
  330. var detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  331. var detailsTitle = new Element("span.detailsTitle",{
  332. "styles":this.css.detailsTitle,
  333. "text":this.lp.TCustomerName
  334. }).inject(detailsDiv);
  335. var detailsValue = new Element("span.detailsValue",{
  336. "styles":this.css.detailsValue,
  337. "text":this.customerData.customername && this.customerData.customername!=""?this.customerData.customername:"--"
  338. }).inject(detailsDiv);
  339. //客户编号
  340. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  341. detailsTitle = new Element("span.detailsTitle",{
  342. "styles":this.css.detailsTitle,
  343. "text":this.lp.TCustomerNO
  344. }).inject(detailsDiv);
  345. detailsValue = new Element("span.detailsValue",{
  346. "styles":this.css.detailsValue,
  347. "text":this.customerData.customerno && this.customerData.customerno!=""?this.customerData.customerno:"--"
  348. }).inject(detailsDiv);
  349. //客户类型
  350. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  351. detailsTitle = new Element("span.detailsTitle",{
  352. "styles":this.css.detailsTitle,
  353. "text":this.lp.TCustomerType
  354. }).inject(detailsDiv);
  355. detailsValue = new Element("span.detailsValue",{
  356. "styles":this.css.detailsValue,
  357. "text":this.customerData.customertype && this.customerData.customertype!=""?this.customerData.customertype:"--"
  358. }).inject(detailsDiv);
  359. //客户级别
  360. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  361. detailsTitle = new Element("span.detailsTitle",{
  362. "styles":this.css.detailsTitle,
  363. "text":this.lp.TCustomerLevel
  364. }).inject(detailsDiv);
  365. detailsValue = new Element("span.detailsValue", {
  366. "styles": this.css.detailsValue,
  367. "text": this.customerData.level && this.customerData.level != "" ? this.customerData.level : "--"
  368. }).inject(detailsDiv);
  369. //来源
  370. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  371. detailsTitle = new Element("span.detailsTitle",{
  372. "styles":this.css.detailsTitle,
  373. "text":this.lp.TSource
  374. }).inject(detailsDiv);
  375. detailsValue = new Element("span.detailsValue", {
  376. "styles": this.css.detailsValue,
  377. "text": this.customerData.source && this.customerData.source != "" ? this.customerData.source : "--"
  378. }).inject(detailsDiv);
  379. //行业
  380. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  381. detailsTitle = new Element("span.detailsTitle",{
  382. "styles":this.css.detailsTitle,
  383. "text":this.lp.TIndustryFirst
  384. }).inject(detailsDiv);
  385. var firstId = this.customerData.industryfirst && this.customerData.industryfirst!=""?this.customerData.industryfirst:"--";
  386. var secondId = this.customerData.industrysecond && this.customerData.industrysecond!=""?this.customerData.industrysecond:"--";
  387. detailsValue = new Element("span.detailsValue",{
  388. "styles":this.css.detailsValue,
  389. "text":firstId + "-"+secondId
  390. }).inject(detailsDiv);
  391. //省、市、区
  392. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  393. detailsTitle = new Element("span.detailsTitle",{
  394. "styles":this.css.detailsTitle,
  395. "text":this.lp.TDistrict
  396. }).inject(detailsDiv);
  397. detailsValue = new Element("span.detailsValue",{
  398. "styles":this.css.detailsValue,
  399. "text":this.customerData.area && this.customerData.area != "" ? this.customerData.area : "--"
  400. }).inject(detailsDiv);
  401. //详细地址
  402. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  403. detailsTitle = new Element("span.detailsTitle",{
  404. "styles":this.css.detailsTitle,
  405. "text":this.lp.TStreet
  406. }).inject(detailsDiv);
  407. detailsValue = new Element("span.detailsValue",{
  408. "styles":this.css.detailsValue,
  409. "text":this.customerData.houseno && this.customerData.houseno != "" ? this.customerData.houseno : "--"
  410. }).inject(detailsDiv);
  411. //定位
  412. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  413. detailsTitle = new Element("span.detailsTitle",{
  414. "styles":this.css.detailsTitle,
  415. "text":this.lp.TLocation
  416. }).inject(detailsDiv);
  417. detailsValue = new Element("span.detailsValue",{
  418. "styles":this.css.detailsValue,
  419. "text":this.customerData.houseno && this.customerData.houseno != "" ? this.customerData.houseno : "--"
  420. }).inject(detailsDiv);
  421. //电话
  422. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  423. detailsTitle = new Element("span.detailsTitle",{
  424. "styles":this.css.detailsTitle,
  425. "text":this.lp.TTelphone
  426. }).inject(detailsDiv);
  427. detailsValue = new Element("span.detailsValue",{
  428. "styles":this.css.detailsValue,
  429. "text":this.customerData.telno && this.customerData.telno != "" ? this.customerData.telno : "--"
  430. }).inject(detailsDiv);
  431. //传真
  432. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  433. detailsTitle = new Element("span.detailsTitle",{
  434. "styles":this.css.detailsTitle,
  435. "text":this.lp.TFax
  436. }).inject(detailsDiv);
  437. detailsValue = new Element("span.detailsValue",{
  438. "styles":this.css.detailsValue,
  439. "text":this.customerData.customerfax && this.customerData.customerfax != "" ? this.customerData.customerfax : "--"
  440. }).inject(detailsDiv);
  441. //备注
  442. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  443. detailsTitle = new Element("span.detailsTitle",{
  444. "styles":this.css.detailsTitle,
  445. "text":this.lp.TRemark
  446. }).inject(detailsDiv);
  447. detailsValue = new Element("span.detailsValue",{
  448. "styles":this.css.detailsValue,
  449. "text":this.customerData.remark && this.customerData.remark != "" ? this.customerData.remark : "--"
  450. }).inject(detailsDiv);
  451. //网址
  452. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  453. detailsTitle = new Element("span.detailsTitle",{
  454. "styles":this.css.detailsTitle,
  455. "text":this.lp.TWebSite
  456. }).inject(detailsDiv);
  457. detailsValue = new Element("span.detailsValue",{
  458. "styles":this.css.detailsValue,
  459. "text":this.customerData.url && this.customerData.url != "" ? this.customerData.url : "--"
  460. }).inject(detailsDiv);
  461. //邮件
  462. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  463. detailsTitle = new Element("span.detailsTitle",{
  464. "styles":this.css.detailsTitle,
  465. "text":this.lp.TEmail
  466. }).inject(detailsDiv);
  467. detailsValue = new Element("span.detailsValue",{
  468. "styles":this.css.detailsValue,
  469. "text":this.customerData.email && this.customerData.email != "" ? this.customerData.email : "--"
  470. }).inject(detailsDiv);
  471. //客户状态
  472. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  473. detailsTitle = new Element("span.detailsTitle",{
  474. "styles":this.css.detailsTitle,
  475. "text":this.lp.TCustomerStatus
  476. }).inject(detailsDiv);
  477. detailsValue = new Element("span.detailsValue",{
  478. "styles":this.css.detailsValue,
  479. "text":this.customerData.state && this.customerData.state != "" ? this.customerData.state : "--"
  480. }).inject(detailsDiv);
  481. //客户分级
  482. detailsDiv = new Element("div.detailsDiv",{"styles":this.css.detailsDiv}).inject(this.customerDetailsDiv);
  483. detailsTitle = new Element("span.detailsTitle",{
  484. "styles":this.css.detailsTitle,
  485. "text":this.lp.TCustomerGrade
  486. }).inject(detailsDiv);
  487. detailsValue = new Element("span.detailsValue",{
  488. "styles":this.css.detailsValue,
  489. "text":this.customerData.customerrank && this.customerData.customerrank != "" ? this.customerData.customerrank : "--"
  490. }).inject(detailsDiv);
  491. },
  492. resizeWindow:function(){
  493. var size = this.formContent.getSize();
  494. if(this.contentDiv)this.contentDiv.setStyles({"height":(size.y-this.topDiv.getHeight())+"px"});
  495. if(this.slideContentDiv) this.slideContentDiv.setStyles({
  496. "height":(this.formContent.getHeight()-this.topDiv.getHeight())+"px",
  497. "width":(this.formContent.getWidth()-40)+"px"
  498. });
  499. if(this.customerInfoDiv)this.customerInfoDiv.setStyles({
  500. "min-height":(this.contentDiv.getHeight()-this.headContentDiv.getHeight()-this.naviDiv.getHeight()-30)+"px"
  501. });
  502. //if(this.contentInfoDiv) this.contentInfoDiv.setStyles({
  503. // "height":(this.slideContentDiv.getHeight()-this.headContentDiv.getHeight()-this.naviDiv.getHeight()-30)+"px",
  504. // "width":(this.slideContentDiv.getWidth()-20)+"px"
  505. //});
  506. },
  507. setScrollBar: function(node, view, style, offset, callback){
  508. if (!style) style = "default";
  509. if (!offset){
  510. offset = {
  511. "V": {"x": 0, "y": 0},
  512. "H": {"x": 0, "y": 0}
  513. };
  514. }
  515. MWF.require("MWF.widget.ScrollBar", function(){
  516. //if(this.scrollbar && this.scrollbar.scrollVAreaNode){
  517. // this.scrollbar.scrollVAreaNode.destroy();
  518. // delete this.scrollbar;
  519. //}
  520. this.scrollbar = new MWF.widget.ScrollBar(node, {
  521. "style": style||"default",
  522. "offset": offset,
  523. "indent": false,
  524. "distance": 50,
  525. "onScroll": function (y) {
  526. var scrollSize = node.getScrollSize();
  527. var clientSize = node.getSize();
  528. var scrollHeight = scrollSize.y - clientSize.y;
  529. //var view = this.baseView || this.centerView;
  530. if (y + 20 > scrollHeight && view && view.loadElementList) {
  531. if (! view.isItemsLoaded)view.loadElementList();
  532. }
  533. }.bind(this)
  534. });
  535. if (callback) callback();
  536. }.bind(this));
  537. return false;
  538. }
  539. });