i18n.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890
  1. /**
  2. * jsp引入此js实现国际化
  3. * 通过从cookie得到的language,再调用不同的messages
  4. * @author yingp
  5. */
  6. var language = getCookie("language");
  7. var basePath = (function() {
  8. var fullPath = window.document.location.href;
  9. var path = window.document.location.pathname;
  10. var subpos = fullPath.indexOf('//');
  11. var subpath = subpos > -1 ? fullPath.substring(0, subpos + 2) : '';
  12. if (subpos > -1)
  13. fullPath = fullPath.substring(subpos + 2);
  14. var pos = fullPath.indexOf(path), sname = path.substring(0, path.substr(1).indexOf('/') + 1);
  15. sname = (['/jsps','/workfloweditor','/resource'].indexOf(sname) > -1 ? '/' : sname);
  16. return subpath + fullPath.substring(0, pos) + sname + (sname == '/' ? '' : '/');
  17. })();
  18. var resourcePath = (function(){
  19. var scripts = document.getElementsByTagName('script'), src = null;
  20. for(var i in scripts) {
  21. src = scripts[i].src;
  22. if(src.indexOf("i18n.js") > 0) {
  23. return src.substring(0, src.indexOf("i18n"));
  24. }
  25. }
  26. return basePath + "resource/";
  27. })();
  28. var em_name = getCookie("em_name");
  29. var em_uu = getCookie("em_uu");
  30. var en_name = getCookie("en_name");
  31. var en_uu = getCookie("en_uu");
  32. var em_code = getCookie("em_code");
  33. var script = document.createElement("script");
  34. var extScript = document.createElement("script");
  35. script.type = "text/javascript";
  36. extScript.type = "text/javascript";
  37. language = language || 'zh_CN';
  38. Ext.Loader.injectScriptElement(resourcePath + "i18n/messages_" + language + ".js",function(){},function(){});
  39. Ext.Loader.injectScriptElement(resourcePath + "ext/ext-lang-" + language + ".js",function(){},function(){});
  40. /*if (language == "zh_TW") {
  41. script.src = resourcePath + "i18n/messages_zh_TW.js";
  42. extScript.src = resourcePath + "ext/ext-lang-zh_TW.js";
  43. } else {
  44. if (language == "en_US") {
  45. script.src = resourcePath + "i18n/messages_en_US.js";
  46. } else {
  47. script.src = resourcePath + "i18n/messages_zh_CN.js";
  48. extScript.src = resourcePath + "ext/ext-lang-zh_CN.js";
  49. }
  50. }*/
  51. document.getElementsByTagName("head").item(0).appendChild(script);
  52. document.getElementsByTagName("head").item(0).appendChild(extScript);
  53. if (Ext.isIE) {
  54. var cssLink = document.createElement("link");
  55. cssLink.rel = "stylesheet";
  56. cssLink.type = "text/css";
  57. cssLink.href = resourcePath + "ext/resources/css/ext-ie.css";
  58. document.getElementsByTagName("head").item(0).appendChild(cssLink);
  59. String.prototype.trim = function() {
  60. return this.replace(/(^\s*)|(\s*$)/g, "");
  61. };
  62. }
  63. // max number
  64. //Number.MAX_VALUE = 100000000000000;
  65. Ext.onReady(function(){
  66. // extend Ext.Object
  67. Ext.Object.equals = (function() {
  68. var check = function(o1, o2) {
  69. var key;
  70. for (key in o1) {
  71. if (o1.hasOwnProperty(key)) {
  72. if (o1[key] !== o2[key]) {
  73. return false;
  74. }
  75. }
  76. }
  77. return true;
  78. };
  79. return function(object1, object2) {
  80. if (object1 === object2) {
  81. return true;
  82. } if (object1 && object2) {
  83. return check(object1, object2) && check(object2, object1);
  84. } else if (!object1 && !object2) {
  85. return object1 === object2;
  86. } else {
  87. return false;
  88. }
  89. };
  90. })();
  91. // 控制同一请求(url及params完全一致)的间隔时间为0.5s
  92. var requestStack = {}, delay = 500;
  93. Ext.Ajax.on('beforerequest', function(me, options){
  94. var now = new Date(), last = requestStack[options.url];
  95. if(last && Ext.Object.equals(last.params, options.params) && now - last.time < delay) {
  96. return false;
  97. } else {
  98. requestStack[options.url] = {time: now, params: options.params};
  99. }
  100. });
  101. });
  102. //读取cookies函数
  103. function getCookie(name)
  104. {
  105. var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
  106. if(arr != null) return unescape(arr[2]); return null;
  107. }
  108. //两个参数,一个是cookie的名称,一个是值
  109. function SetCookie(name,value)
  110. {
  111. var Days = 30; //此 cookie 将被保存 30 天
  112. var exp = new Date(); //new Date("December 31, 9998");
  113. exp.setTime(exp.getTime() + Days*24*60*60*1000);
  114. document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
  115. }
  116. //删除cookie
  117. function delCookie(name)
  118. {
  119. var exp = new Date();
  120. exp.setTime(exp.getTime() - 1);
  121. var cval=getCookie(name);
  122. if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
  123. }
  124. //解析url,获得传递的参数
  125. function getUrlParam(name){
  126. var reg=new RegExp("(^|&)"+name+"=([^&]*)(&|$)");
  127. var r=window.location.search.substr(1).match(reg);
  128. if (r!=null) return decodeURI(r[2]);
  129. return null;
  130. }
  131. function onUrlClick(url){
  132. Ext.Ajax.request({
  133. url: basePath + url,
  134. method: 'post',
  135. callback: function(options,success,response){
  136. Ext.Msg.alert('提示','确认成功!');
  137. }
  138. });
  139. }
  140. function saveRedoLog(options){
  141. if(options.params) options.params= unescape(escape(Ext.JSON.encode(options.params)));
  142. Ext.Ajax.request({
  143. url: basePath + 'ma/saveReDoLog.action',
  144. params:options,
  145. method: 'post',
  146. callback: function(options,success,response){
  147. }
  148. });
  149. }
  150. function showAll(val, title){
  151. if(!title){
  152. title='详细信息';
  153. }
  154. Ext.create('Ext.window.Window', {
  155. height: 200,
  156. title:'<h2>'+title+'</h2>',
  157. width: 400,
  158. layout: 'fit',
  159. html:'<p>'+val+'</p>'
  160. }).show();
  161. }
  162. /**
  163. * string:原始字符串
  164. * substr:子字符串
  165. * isIgnoreCase:忽略大小写
  166. */
  167. function contains(string, substr, isIgnoreCase){
  168. if (string == null || substr == null) return false;
  169. if (isIgnoreCase === undefined || isIgnoreCase === true) {
  170. string = string.toLowerCase();
  171. substr = substr.toLowerCase();
  172. }
  173. return string.indexOf(substr) > -1;
  174. }
  175. /**
  176. * WebContent/resource/i18n/i18n.js
  177. * 浮动div,显示错误信息,div会自动消失
  178. * @param err 错误信息
  179. */
  180. function showError(err, time, autoClose){
  181. if(err != null) {
  182. window.errmessage = err;
  183. autoClose = autoClose == null ? true : autoClose;
  184. if(err == 'ERR_NETWORK_SESSIONOUT'){//session丢失
  185. showLoginDiv(true);
  186. } else if(err == 'ERR_NETWORK_LOCKED') {//锁定
  187. alert('您的账号已被管理员锁定,无法在当前IP登录,请重新登录或切换账号!');
  188. showLoginDiv(true);
  189. } else {
  190. var isPowerErr = false,
  191. errCode = null;
  192. if(err.indexOf('ERR_POWER') != -1) {//权限问题
  193. errCode = err.substring(0, err.indexOf(':'));
  194. err = err.substr(err.indexOf(':') + 1);
  195. isPowerErr = true;
  196. }
  197. var main = parent.Ext.getCmp('content-panel');
  198. if(main){
  199. parent.Ext.create('erp.view.core.window.Msg', {
  200. title: $I18N.common.msg.title_warn,
  201. context: err,
  202. autoClose: autoClose,
  203. autoCloseTime: time
  204. });
  205. } else if(main = parent.parent.Ext.getCmp('content-panel')){
  206. if(main._mobile) {
  207. Ext.Msg.alert(err);
  208. } else {
  209. parent.parent.Ext.create('erp.view.core.window.Msg', {
  210. title: $I18N.common.msg.title_warn,
  211. context: err,
  212. autoClose: autoClose,
  213. autoCloseTime: time
  214. });
  215. }
  216. } else {
  217. Ext.create('erp.view.core.window.Msg', {
  218. title: $I18N.common.msg.title_warn,
  219. context: err,
  220. autoClose: autoClose,
  221. autoCloseTime: time
  222. });
  223. }
  224. if(isPowerErr) {
  225. if(errCode == 'ERR_POWER_026' || errCode == 'ERR_POWER_027' ||
  226. errCode == 'ERR_POWER_025') {//025查看列表,026查看单据,027查看他人单据---->这些情况下,界面直接关闭
  227. if(main) {
  228. main.getActiveTab().close();
  229. } else {
  230. window.close();
  231. }
  232. }
  233. }
  234. }
  235. }
  236. }
  237. /**
  238. * 右下角出现消息提示
  239. * @param title 消息标题
  240. * @param msg 显示的消息
  241. */
  242. function showMessage(title, msg, time){
  243. if (time == null || time > 3000) {
  244. window.errmessage = msg;
  245. }
  246. try{
  247. if(parent.Ext.version==Ext.version && parent.Ext.getCmp('content-panel')){
  248. parent.Ext.create('erp.view.core.window.Msg', {
  249. title: title,
  250. context: msg,
  251. isError: false,
  252. autoCloseTime: time
  253. });
  254. } else if(parent.parent.Ext.getCmp('content-panel')){
  255. parent.parent.Ext.create('erp.view.core.window.Msg', {
  256. title: title,
  257. context: msg,
  258. isError: false,
  259. autoCloseTime: time
  260. });
  261. } else {
  262. Ext.create('erp.view.core.window.Msg', {
  263. title: title,
  264. context: msg,
  265. isError: false,
  266. autoCloseTime: time
  267. });
  268. }
  269. }catch(e){
  270. }
  271. }
  272. //form分组展开收拢
  273. function collapse(id){
  274. var dom = document.getElementById("group" + id);
  275. if(dom.getAttribute('class') == 'x-form-group-label'){
  276. dom.setAttribute('class', 'x-form-group-label-close');
  277. dom.title = "展开";
  278. } else {
  279. dom.setAttribute('class', 'x-form-group-label');
  280. dom.title = "收拢";
  281. }
  282. Ext.each(Ext.getCmp('form').items.items, function(item){
  283. if(item.group && item.group == id){
  284. if(item.hidden == false){
  285. item.getEl().addCls('x-hide-display');
  286. item.hidden = true;
  287. } else {
  288. item.hidden = false;
  289. item.getEl().removeCls('x-hide-display');
  290. }
  291. }
  292. });
  293. }
  294. //messagebox
  295. /**
  296. * @param fn function
  297. */
  298. function warnMsg(msg, fn){
  299. Ext.MessageBox.show({
  300. title: $I18N.common.msg.title_prompt,
  301. msg: msg,
  302. buttons: Ext.Msg.YESNO,
  303. icon: Ext.Msg.WARNING,
  304. fn: fn
  305. });
  306. }
  307. function checkLogin(){
  308. Ext.Ajax.request({
  309. url : basePath + 'common/checkLogin.action',
  310. params: {
  311. id: id
  312. },
  313. method : 'post',
  314. callback : function(options,success,response){
  315. var localJson = new Ext.decode(response.responseText);
  316. if(localJson.exceptionInfo){
  317. showError(localJson.exceptionInfo);
  318. }
  319. if(localJson.success){
  320. printSuccess();
  321. }
  322. }
  323. });
  324. warnMsg('<br/><center><span style="color:blue">网络连接中断<span></center><hr/>可能原因:<br/>' +
  325. '<ul><li>[网络状况问题][会话过期][服务器关闭或重启]</li><li>...</li></ul><hr/>' +
  326. '<input type="button" value="重新登录&raquo;" style="height:25;width:70;cursor:pointer" onclick="showLoginDiv()">' +
  327. '<input type="button" value="取消&raquo;" style="height:25;width:60;cursor:pointer" onclick="closeMessage();">', function(){});
  328. }
  329. function showLoginDiv(isSessionOut){
  330. if(!Ext.getCmp('login')){
  331. var title = '重&nbsp;新&nbsp;登&nbsp;录';
  332. if(isSessionOut){
  333. title = '会话过期,请重新登录';
  334. }
  335. Ext.create('erp.view.core.window.ReLogin', {
  336. isSessionOut: isSessionOut,
  337. title: title,
  338. id: 'login'
  339. });
  340. } else {
  341. Ext.getCmp('login').show();
  342. Ext.getCmp('login').refresh();
  343. }
  344. }
  345. function openUrl(url, newMaster ,winId){
  346. if(winId && Ext.getCmp(winId))Ext.getCmp(winId).close();
  347. var main = parent.Ext.getCmp("content-panel");
  348. if(!main && parent.parent.Ext) {
  349. main = parent.parent.Ext.getCmp("content-panel");
  350. }
  351. if(main) {
  352. var item = main.items.items[0];
  353. item.firstGrid=Ext.getCmp('task_grid');
  354. }
  355. url = url.toString().replace(/IS/g, '=');
  356. if(contains(url, 'formCondition')) {
  357. var fr = url.substr(url.indexOf('formCondition=') + 14);
  358. if(contains(fr, '&')) {
  359. fr = fr.substring(0, fr.indexOf('&'));
  360. }
  361. var keyField = fr.split('=')[0];
  362. var value = fr.split('=')[1];
  363. url = url.replace(keyField + '=' + value, keyField + '=\'' + value + '\'');
  364. }
  365. if(contains(url, 'gridCondition')) {
  366. var gr = url.substr(url.indexOf('gridCondition=') + 14);
  367. if(contains(gr, '&')) {
  368. gr = gr.substring(0, gr.indexOf('&'));
  369. }
  370. var gField = gr.split('=')[0];
  371. var gValue = gr.split('=')[1];
  372. url = url.replace(gField + '=' + gValue, gField + '=\'' + gValue + '\'');
  373. }
  374. if(newMaster){
  375. var currentMaster = parent.window.sob;
  376. if ( currentMaster && currentMaster != newMaster) {// 与当前账套不一致
  377. if (parent.Ext) {
  378. Ext.Ajax.request({
  379. url: basePath + 'common/changeMaster.action',
  380. params: {
  381. to: newMaster
  382. },
  383. callback: function(opt, s, r) {
  384. if (s) {
  385. var win = parent.Ext.create('Ext.Window', {
  386. width: '100%',
  387. height: '100%',
  388. draggable: false,
  389. closable: false,
  390. modal: true,
  391. title: '创建到账套' + newMaster + '的临时会话',
  392. html : '<iframe src="' + url + '" height="100%" width="100%" frameborder="0" style="border-width: 0px;padding: 0px;" scrolling="auto"></iframe>',
  393. buttonAlign: 'center',
  394. buttons: [{
  395. text: $I18N.common.button.erpCloseButton,
  396. cls: 'x-btn-blue',
  397. id: 'close',
  398. handler: function(b) {
  399. Ext.Ajax.request({
  400. url: basePath + 'common/changeMaster.action',
  401. params: {
  402. to: currentMaster
  403. },
  404. callback: function(opt, s, r) {
  405. if (s) {
  406. b.up('window').close();
  407. } else {
  408. alert('切换到原账套失败!');
  409. }
  410. }
  411. });
  412. }
  413. }]
  414. });
  415. win.show();
  416. } else {
  417. alert('无法创建到账套' + newMaster + '的临时会话!');
  418. }
  419. }
  420. });
  421. }
  422. return;
  423. }
  424. }
  425. var panel = Ext.getCmp(keyField + "=" + value);
  426. var main = parent.Ext.getCmp("content-panel") || parent.parent.Ext.getCmp("content-panel");
  427. if(!panel){
  428. var title = "";
  429. if (value&&value.toString().length>4) {
  430. title = value.toString().substring(value.toString().length-4);
  431. } else {
  432. title = value;
  433. }
  434. panel = {
  435. title : $I18N.common.msg.title_info + '(' + title + ')',
  436. tag : 'iframe',
  437. tabConfig: {tooltip:$I18N.common.msg.title_info + '(' + keyField + "=" + value + ')'},
  438. frame : true,
  439. border : false,
  440. layout : 'fit',
  441. iconCls : 'x-tree-icon-tab-tab',
  442. html : '<iframe id="iframe_maindetail_'+keyField+"_"+value+'" src="' + basePath + url + '" height="100%" width="100%" frameborder="0" scrolling="no"></iframe>',
  443. closable : true,
  444. listeners : {
  445. close : function(){
  446. main.setActiveTab(main.getActiveTab().id);
  447. }
  448. }
  449. };
  450. var p = main.add(panel);
  451. main.setActiveTab(p);
  452. }else{
  453. main.setActiveTab(panel);
  454. }
  455. }
  456. function openUrl2(url,title,keyField,value){
  457. var panel = Ext.getCmp(keyField + "=" + value);
  458. var main = parent.Ext.getCmp("content-panel");
  459. if(!panel){
  460. panel = {
  461. title : title,
  462. tag : 'iframe',
  463. tabConfig: {tooltip:title},
  464. frame : true,
  465. border : false,
  466. layout : 'fit',
  467. iconCls : 'x-tree-icon-tab-tab',
  468. html : '<iframe id="iframe_maindetail_'+keyField+"_"+value+'" src="' + basePath + url + '" height="100%" width="100%" frameborder="0" scrolling="no"></iframe>',
  469. closable : true,
  470. listeners : {
  471. close : function(){
  472. main.setActiveTab(main.getActiveTab().id);
  473. }
  474. }
  475. };
  476. var p = main.add(panel);
  477. main.setActiveTab(p);
  478. }else{
  479. main.setActiveTab(panel);
  480. }
  481. }
  482. function openFormUrl(value, keyField, url, title,newMaster,winId){
  483. if(contains(url,'?')){
  484. url =url+'&formCondition='+keyField+"="+value;
  485. }else url =url+'?formCondition='+keyField+"="+value;
  486. var panel = Ext.getCmp(keyField + "=" + value);
  487. var main = parent.Ext.getCmp("content-panel");
  488. var showtitle='';
  489. url = url.replace(/IS/g, "=\'").replace(/&/g, "\'&");
  490. if(winId){
  491. if (Ext.getCmp(winId))Ext.getCmp(winId).close();
  492. else if (contains(url,'jsps/common/jprocessDeal.jsp'))url=url+'&_do=1';
  493. }
  494. if(newMaster){
  495. var currentMaster = parent.window.sob;
  496. if ( currentMaster && currentMaster != newMaster) {// 与当前账套不一致
  497. if (parent.Ext) {
  498. Ext.Ajax.request({
  499. url: basePath + 'common/changeMaster.action',
  500. params: {
  501. to: newMaster
  502. },
  503. callback: function(opt, s, r) {
  504. if (s) {
  505. var win = parent.Ext.create('Ext.Window', {
  506. width: '100%',
  507. height: '100%',
  508. draggable: false,
  509. closable: false,
  510. modal: true,
  511. title: '创建到账套' + newMaster + '的临时会话',
  512. html : '<iframe src="' + url + '" height="100%" width="100%" frameborder="0" style="border-width: 0px;padding: 0px;" scrolling="auto"></iframe>',
  513. buttonAlign: 'center',
  514. buttons: [{
  515. text: $I18N.common.button.erpCloseButton,
  516. cls: 'x-btn-blue',
  517. id: 'close',
  518. handler: function(b) {
  519. Ext.Ajax.request({
  520. url: basePath + 'common/changeMaster.action',
  521. params: {
  522. to: currentMaster
  523. },
  524. callback: function(opt, s, r) {
  525. if (s) {
  526. b.up('window').close();
  527. } else {
  528. alert('切换到原账套失败!');
  529. }
  530. }
  531. });
  532. }
  533. }]
  534. });
  535. win.show();
  536. } else {
  537. alert('无法创建到账套' + newMaster + '的临时会话!');
  538. }
  539. }
  540. });
  541. }
  542. return;
  543. }
  544. }
  545. if(!panel){
  546. if (title && title.toString().length>4) {
  547. showtitle = title.toString().substring(0,4);
  548. }else if(title){
  549. showtitle=title;
  550. }
  551. panel = {
  552. title : showtitle,
  553. tag : 'iframe',
  554. tabConfig:{tooltip:title.toString() + '(' + keyField + "=" + value + ')'},
  555. frame : true,
  556. border : false,
  557. layout : 'fit',
  558. iconCls : 'x-tree-icon-tab-tab',
  559. html : '<iframe src="' + basePath + url + '" height="100%" width="100%" frameborder="0" scrolling="auto"></iframe>',
  560. closable : true,
  561. listeners : {
  562. close : function(){
  563. main.setActiveTab(main.getActiveTab().id);
  564. }
  565. }
  566. };
  567. openTab(panel, keyField + "=" + value);
  568. }else{
  569. main.setActiveTab(panel);
  570. }
  571. }
  572. function openGridUrl(value, keyField, mainField, url, title){
  573. url = basePath + url + '?formCondition=' + keyField + "IS'" + value +"'"+
  574. '&gridCondition=' + mainField + "IS'" + value+"'";
  575. var panel = Ext.getCmp(keyField + "=" + value);
  576. var main = parent.Ext.getCmp("content-panel");
  577. var showtitle='';
  578. if(!panel){
  579. if (title && title.toString().length>4) {
  580. showtitle = title.toString().substring(0,5);
  581. }
  582. panel = {
  583. title : showtitle,
  584. tag : 'iframe',
  585. tabConfig:{tooltip:title + '(' + keyField + "=" + value + ')'},
  586. frame : true,
  587. border : false,
  588. layout : 'fit',
  589. iconCls : 'x-tree-icon-tab-tab',
  590. html : '<iframe id="iframe_maindetail_'+keyField+"_"+value+'" src="' + url + '" height="100%" width="100%" frameborder="0" scrolling="auto"></iframe>',
  591. closable : true,
  592. listeners : {
  593. close : function(){
  594. main.setActiveTab(main.getActiveTab().id);
  595. }
  596. }
  597. };
  598. openTab(panel, keyField + "=" + value);
  599. }else{
  600. main.setActiveTab(panel);
  601. }
  602. }
  603. function getSetting(type) {
  604. var result = false;
  605. Ext.Ajax.request({
  606. url : basePath + 'common/getFieldData.action',
  607. async: false,
  608. params: {
  609. caller: 'Setting',
  610. field: 'se_value',
  611. condition: 'se_what=\'' + type + '\''
  612. },
  613. method : 'post',
  614. callback : function(opt, s, res){
  615. var r = new Ext.decode(res.responseText);
  616. if(r.exceptionInfo){
  617. showError(r.exceptionInfo);return;
  618. } else if(r.success && r.data){
  619. result = r.data == 'true';
  620. }
  621. }
  622. });
  623. return result;
  624. }
  625. function openTable(title, url,caller){
  626. var panel = Ext.getCmp('datalist' + caller);
  627. var main = parent.Ext.getCmp("content-panel");
  628. if(!panel){
  629. panel = {
  630. title : title,
  631. tag : 'iframe',
  632. tabConfig:{tooltip: title},
  633. frame : true,
  634. border : false,
  635. layout : 'fit',
  636. iconCls : 'x-tree-icon-tab-tab',
  637. html : '<iframe id="iframe_maindetail_pageSet" src="' + basePath + url + '" height="100%" width="100%" frameborder="0" scrolling="no"></iframe>',
  638. closable : true,
  639. listeners : {
  640. close : function(){
  641. main.setActiveTab(main.getActiveTab().id);
  642. }
  643. }
  644. };
  645. var p = main.add(panel);
  646. main.setActiveTab(p);
  647. }else{
  648. main.setActiveTab(panel);
  649. }
  650. }
  651. function downLoadById(id){
  652. Ext.Ajax.request({
  653. method:'POST',
  654. params:{
  655. id:id
  656. },
  657. url:basePath+'common/downloadbyId.action',
  658. callback: function(options,success,response){
  659. }
  660. });
  661. }
  662. function openTab(panel,id){
  663. var o = (typeof panel == "string" ? panel : id || panel.id);
  664. var main = parent.Ext.getCmp("content-panel");
  665. /*var tab = main.getComponent(o); */
  666. if(!main) {
  667. main =parent.parent.Ext.getCmp("content-panel");
  668. }
  669. var tab = main.getComponent(o);
  670. if (tab) {
  671. main.setActiveTab(tab);
  672. } else if(typeof panel!="string"){
  673. panel.id = o;
  674. var p = main.add(panel);
  675. main.setActiveTab(p);
  676. }
  677. }
  678. function delSuccess(fn){
  679. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_del, fn);
  680. }
  681. function delFailure(fn){
  682. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.failure_del, fn);
  683. }
  684. function delFailure(){
  685. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.failure_del);
  686. }
  687. function updateSuccess(fn){
  688. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_update, fn);
  689. }
  690. function updateFailure(fn){
  691. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_update, fn);
  692. }
  693. function updateFailure(){
  694. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_update);
  695. }
  696. function addSuccess(fn){
  697. }
  698. function addSuccess(){
  699. }
  700. function closeFailure(msg, fn){
  701. }
  702. function closeFailure(msg){
  703. }
  704. function saveSuccess(fn){
  705. var box = Ext.create('Ext.window.MessageBox', {
  706. buttonAlign : 'center',
  707. buttons: [{
  708. text: '确定',
  709. handler: function(b) {
  710. var scope = b.ownerCt.ownerCt;
  711. scope.fireEvent('hide', scope, true);
  712. }
  713. },{
  714. text: '继续添加',
  715. handler: function(b) {
  716. var scope = b.ownerCt.ownerCt;
  717. scope.fireEvent('hide', scope, false);
  718. }
  719. }],
  720. listeners: {
  721. hide: function(w, ok) {
  722. w.close();
  723. if(typeof ok == 'boolean') {
  724. if(ok)
  725. fn && fn.call();
  726. else
  727. window.location.reload();
  728. } else
  729. fn && fn.call();
  730. }
  731. }
  732. });
  733. box.show({
  734. title : $I18N.common.msg.title_prompt,
  735. msg : $I18N.common.msg.success_save,
  736. icon : Ext.MessageBox.QUESTION
  737. });
  738. }
  739. function turnSuccess(fn){
  740. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_turn, fn);
  741. }
  742. function saveFaliure(fn){
  743. Ext.Msg.alert($I18N.common.msg.title_warn, $I18N.common.msg.failure_save, fn);
  744. }
  745. function catchFailure(){
  746. Ext.Msg.alert($I18N.common.msg.title_warn, $I18N.common.msg.failure_catch);
  747. }
  748. function cleanFailure(){
  749. Ext.Msg.alert($I18N.common.msg.title_warn, $I18N.common.msg.failure_clean);
  750. }
  751. function saveFailure(){
  752. Ext.Msg.alert($I18N.common.msg.title_warn, $I18N.common.msg.failure_save);
  753. }
  754. function submitSuccess(fn){
  755. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_submit, fn);
  756. }
  757. function resSubmitSuccess(){
  758. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_resSubmit);
  759. }
  760. function bannedSuccess(){
  761. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_banned);
  762. }
  763. function resBannedSuccess(){
  764. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_resBanned);
  765. }
  766. function postSuccess(fn){
  767. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_post, fn);
  768. }
  769. function resPostSuccess(fn){
  770. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_resPost, fn);
  771. }
  772. function turninSuccess(fn){
  773. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_turnin, fn);
  774. }
  775. function submitFailure(fn){
  776. }
  777. function submitFailure(){
  778. }
  779. function printSuccess(fn){
  780. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_print, fn);
  781. }
  782. function catchSuccess(fn){
  783. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_catch, fn);
  784. }
  785. function cleanSuccess(fn){
  786. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_clean, fn);
  787. }
  788. function printSuccess(){
  789. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_print);
  790. }
  791. function turnBugSuccess(){
  792. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_turnbug);
  793. }
  794. function turnBugFailure(){
  795. Ext.Msg.alert($I18N.common.msg.title_warn, $I18N.common.msg.failure_turnbug);
  796. }
  797. function auditSuccess(fn){
  798. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_audit, fn || Ext.emptyFn);
  799. }
  800. function printFaliure(fn){
  801. Ext.Msg.alert($I18N.common.msg.title_warn, $I18N.common.msg.failure_print, fn);
  802. }
  803. function resAuditSuccess(fn){
  804. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_resAudit, fn || Ext.emptyFn);
  805. }
  806. function accountedSuccess(fn){
  807. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_accounted, fn || Ext.emptyFn);
  808. }
  809. function resAccountedSuccess(fn){
  810. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_resAccounted, fn || Ext.emptyFn);
  811. }
  812. function printFailure(){
  813. Ext.Msg.alert($I18N.common.msg.title_warn, $I18N.common.msg.print_save);
  814. }
  815. function endSuccess(fn){
  816. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_end, fn);
  817. }
  818. function nullifySuccess(fn){
  819. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_nullify, fn);
  820. }
  821. function endFailure(){
  822. Ext.Msg.alert($I18N.common.msg.title_warn, $I18N.common.msg.failure_end);
  823. }
  824. function resEndSuccess(fn){
  825. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_resEnd, fn);
  826. }
  827. function importSuccess(){
  828. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_import);
  829. }
  830. function checkSuccess(fn){
  831. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_check, fn || Ext.emptyFn);
  832. }
  833. function resCheckSuccess(fn){
  834. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_resCheck, fn || Ext.emptyFn);
  835. }
  836. function endArSuccess(fn){
  837. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_endar, fn || Ext.emptyFn);
  838. }
  839. function attendDataComSuccess(fn){
  840. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_attendDataCom, fn || Ext.emptyFn);
  841. }
  842. function cardLogImpSuccess(fn){
  843. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_cardlogimp, fn || Ext.emptyFn);
  844. }
  845. function unEndArSuccess(fn){
  846. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_unendar, fn || Ext.emptyFn);
  847. }
  848. function turnGSSuccess(fn){
  849. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_turnGs, fn || Ext.emptyFn);
  850. }
  851. function turnESSuccess(fn){
  852. Ext.Msg.alert($I18N.common.msg.title_prompt, $I18N.common.msg.success_turnEs, fn || Ext.emptyFn);
  853. }