ediIndex.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447
  1. window.onload = function(){
  2. $('#loading-mask').fadeOut();
  3. };
  4. var onlyOpenTitle="欢迎使用";//不允许关闭的标签的标题
  5. $(function(){
  6. InitLeftMenu();
  7. tabClose();
  8. tabCloseEven();
  9. $("#btnSelectTemplete").click( function(){closeWindow();} );
  10. $("#editPwd").click(function(){
  11. openWin($("#editPwdDiv"), {
  12. title :'修改密码',
  13. width : 300,
  14. height : 180,
  15. onOpen : function() {
  16. $("#modifyPwdForm").form("reset");
  17. }
  18. });
  19. });
  20. $("#btnCancel").click(function(){
  21. closeWin($("#editPwdDiv"));
  22. });
  23. $("#btnEp").click(function() {
  24. $.messager.confirm('提示', '确定要修改密码吗?',
  25. function(result) {
  26. if (result) {
  27. ajaxRequest(WEBROOT + "/User/editPwd.action", {
  28. oldPwd : $("#txtOldPass").val(),
  29. newPwd : $("#txtNewPass").val()
  30. }, function(resp) {
  31. if(resp.code == "success") {
  32. showMsg('提示', '修改密码成功');
  33. closeWin($("#editPwdDiv"));
  34. } else {
  35. showMsg('提示', resp.errorDesc);
  36. }
  37. });
  38. }
  39. });
  40. });
  41. });
  42. //初始化左侧
  43. function InitLeftMenu() {
  44. $("#nav").accordion({animate:false,fit:true,border:false});
  45. var selectedPanelname = '';
  46. if(_menus && _menus != null){
  47. $.each(_menus.menus, function(i, n) {
  48. if(n && n != null){
  49. var menulist ='';
  50. menulist +='<ul class="navlist">';
  51. $.each(n.children, function(j, o) {
  52. menulist += '<li><div><a ref="'+o.id+'" href="#" rel="' + WEBROOT+o.attributes.url + '"><span style="width:18px" class="icon '+o.attributes.iconCls+'">&nbsp;</span><span class="nav">' + o.name + '</span></a></div> ';
  53. if(o.children && o.children.length>0 && (o.attributes.url == null || o.attributes.url == "#")) {
  54. menulist += '<ul class="third_ul">';
  55. $.each(o.children,function(k,p){
  56. menulist += '<li><div><a ref="'+p.id+'" href="#" rel="' + WEBROOT+p.attributes.url + '"><span style="width:18px" class="icon '+p.attributes.iconCls+'" >&nbsp;</span><span class="nav">' + p.name + '</span></a></div> </li>';
  57. });
  58. menulist += '</ul>';
  59. }
  60. menulist+='</li>';
  61. });
  62. menulist += '</ul>';
  63. $('#nav').accordion('add', {
  64. title: n.name,
  65. content: menulist,
  66. border:false,
  67. iconCls: 'icon ' + n.attributes.iconCls
  68. });
  69. if(i==0) {
  70. selectedPanelname =n.name;
  71. }
  72. }
  73. });
  74. }
  75. $('#nav').accordion('select',selectedPanelname);
  76. $('.navlist li a').click(function(){
  77. var tabTitle = $(this).children('.nav').text();
  78. var url = $(this).attr("rel");
  79. var menuid = $(this).attr("ref");
  80. var icon = $(this).find('.icon').attr('class');
  81. var third = find(menuid);
  82. if(third && third.children && third.children.length>0 && (url == WEBROOT+'#' || url == WEBROOT+"undefined")) {
  83. $('.third_ul').slideUp();
  84. var ul =$(this).parent().next();
  85. if(ul.is(":hidden")) {
  86. ul.slideDown();
  87. }
  88. else {
  89. ul.slideUp();
  90. }
  91. }
  92. else{
  93. if(url != WEBROOT+"#") {
  94. addTab(tabTitle,url+"?functionId="+menuid,icon);
  95. }
  96. $('.navlist li div').removeClass("selected");
  97. $(this).parent().addClass("selected");
  98. }
  99. }).hover(function(){
  100. $(this).parent().addClass("hover");
  101. },function(){
  102. $(this).parent().removeClass("hover");
  103. });
  104. }
  105. //获取左侧导航的图标
  106. function getIcon(menuid){
  107. var icon = 'icon ';
  108. $.each(_menus.menus, function(i, n) {
  109. $.each(n.children, function(j, o) {
  110. if(o.id==menuid){
  111. icon += o.attributes.iconCls;
  112. }
  113. });
  114. });
  115. return icon;
  116. }
  117. function find(menuid){
  118. var obj=null;
  119. $.each(_menus.menus, function(i, n) {
  120. $.each(n.children, function(j, o) {
  121. if(o.id==menuid){
  122. obj = o;
  123. }
  124. });
  125. });
  126. return obj;
  127. }
  128. function addTab(subtitle,url,icon){
  129. if(!$('#tabs').tabs('exists',subtitle)){
  130. $('#tabs').tabs('add',{
  131. title:subtitle,
  132. content:createFrame(url),
  133. closable:true,
  134. icon:icon
  135. });
  136. }else{
  137. $('#tabs').tabs('select',subtitle);
  138. }
  139. tabClose();
  140. }
  141. function createFrame(url) {
  142. var s = '<iframe scrolling="auto" frameborder="0" src="'+url+'" style="width:100%;height:99.5%;"></iframe>';
  143. return s;
  144. }
  145. function tabClose() {/*双击关闭TAB选项卡*/
  146. $(".tabs-inner").dblclick(function(){
  147. var subtitle = $(this).children(".tabs-closable").text();
  148. $('#tabs').tabs('close',subtitle);
  149. });
  150. /*为选项卡绑定右键*/
  151. $(".tabs-inner").bind('contextmenu',function(e){
  152. $('#mm').menu('show', {
  153. left: e.pageX,
  154. top: e.pageY
  155. });
  156. var subtitle =$(this).children(".tabs-closable").text();
  157. $('#mm').data("currtab",subtitle);
  158. $('#tabs').tabs('select',subtitle);
  159. return false;
  160. });
  161. }
  162. //绑定右键菜单事件
  163. function tabCloseEven() {
  164. $('#mm').menu({
  165. onClick: function (item) {
  166. closeTab(item.id);
  167. }
  168. });
  169. return false;
  170. }
  171. function closeTab(action)
  172. {
  173. var alltabs = $('#tabs').tabs('tabs');
  174. var currentTab =$('#tabs').tabs('getSelected');
  175. var allTabtitle = [];
  176. $.each(alltabs,function(i,n){
  177. allTabtitle.push($(n).panel('options').title);
  178. });
  179. switch (action) {
  180. case "refresh":
  181. var iframe = $(currentTab.panel('options').content);
  182. var currtab_title = currentTab.panel('options').title;
  183. if(currtab_title != onlyOpenTitle) {
  184. var src = iframe.attr('src');
  185. $('#tabs').tabs('update', {
  186. tab: currentTab,
  187. options: {
  188. content: createFrame(src)
  189. }
  190. });
  191. }
  192. break;
  193. case "close":
  194. var currtab_title = currentTab.panel('options').title;
  195. if(currtab_title != onlyOpenTitle) {
  196. $('#tabs').tabs('close', currtab_title);
  197. }
  198. break;
  199. case "closeall":
  200. $.each(allTabtitle, function (i, n) {
  201. if (n != onlyOpenTitle){
  202. $('#tabs').tabs('close', n);
  203. }
  204. });
  205. break;
  206. case "closeother":
  207. var currtab_title = currentTab.panel('options').title;
  208. $.each(allTabtitle, function (i, n) {
  209. if (n != currtab_title && n != onlyOpenTitle)
  210. {
  211. $('#tabs').tabs('close', n);
  212. }
  213. });
  214. break;
  215. case "closeright":
  216. var tabIndex = $('#tabs').tabs('getTabIndex', currentTab);
  217. if (tabIndex == alltabs.length - 1){
  218. return false;
  219. }
  220. $.each(allTabtitle, function (i, n) {
  221. if (i > tabIndex) {
  222. if (n != onlyOpenTitle){
  223. $('#tabs').tabs('close', n);
  224. }
  225. }
  226. });
  227. break;
  228. case "closeleft":
  229. var tabIndex = $('#tabs').tabs('getTabIndex', currentTab);
  230. if (tabIndex == 1) {
  231. return false;
  232. }
  233. $.each(allTabtitle, function (i, n) {
  234. if (i < tabIndex) {
  235. if (n != onlyOpenTitle){
  236. $('#tabs').tabs('close', n);
  237. }
  238. }
  239. });
  240. break;
  241. }
  242. }
  243. function showTopMsg(title, msg){
  244. $.messager.show({
  245. title : title,
  246. msg : msg,
  247. style : {
  248. right : '',
  249. top : document.body.scrollTop+document.documentElement.scrollTop,
  250. bottom : ''
  251. }
  252. });
  253. }
  254. /**
  255. * 打印插件
  256. * @param config
  257. * @returns {PrintPlugIn}
  258. var config = {
  259. accountId:'AC130910000000100',
  260. warehouseId:'9',
  261. templeteType:'发货清单'
  262. };
  263. var printPlugIn = new PrintPlugIn(config);
  264. var orders ={ ORDER_ID:'2222' };
  265. var data =[];
  266. data.push( orders );
  267. printPlugIn.print(data);
  268. */
  269. function PrintPlugIn(config){
  270. var templeteType = config.templeteType;
  271. if( templeteType==null || templeteType==undefined || templeteType=="" ){
  272. alertMsg("打印出错","未设置打印类型","error");
  273. }
  274. this.requestHead = {
  275. Acccoutid: config.accountId ? config.accountId: ACCOUNTID,
  276. Warehouseid: config.warehouseId ? config.warehouseId:'',
  277. TempleteType:config.templeteType,
  278. TempleteName:config.templeteName ? config.templeteName:'' ,
  279. TempleteVersion: config.templeteVersion ? config.templeteVersion :1,
  280. ShowPreview: (config.showPreview==0) ? 0 :1,
  281. ShowPrinterSelect: (config.showPrinterSelect==0) ? 0 :1,
  282. AutoMatch: (config.autoMatch==0 )? 0 :1
  283. };
  284. this.getTempleteName = function(){
  285. var templeteNames = [] ;
  286. try{
  287. var printPlugIn = document.getElementById("PrintSQW");
  288. var requestData = {requestData:{
  289. Acccoutid:this.requestHead.Acccoutid,
  290. Warehouseid:this.requestHead.Warehouseid,
  291. TempleteType:this.requestHead.TempleteType
  292. }
  293. };
  294. var response = printPlugIn.GetTempleteList( JSON.stringify(requestData) );
  295. var resultJson = JSON.parse(response);
  296. if( resultJson.responseData.results.toUpperCase()=='ERROR'){
  297. alertMsg("打印出错",resultJson.responseData.Message,"error");
  298. }else{
  299. if( resultJson.responseData && resultJson.responseData.Datas && resultJson.responseData.Datas.length>0 ){
  300. var names = resultJson.responseData.Datas ;
  301. if( names!=null && names.length > 0 ){
  302. for( var i=0 ;i < names.length ;i++){
  303. templeteNames.push( names[i].Templete);
  304. }
  305. }
  306. }else{
  307. //alertMsg("打印出错","没有获取到打印模版","error");
  308. }
  309. }
  310. }catch(e){
  311. alertMsg("打印出错","获取打印模版出现异常:"+e.description,"error");
  312. }
  313. //templeteNames=['享佳出货单'];
  314. return templeteNames;
  315. };
  316. this.print = function(data){
  317. var me = this;
  318. if( this.requestHead.AutoMatch && this.requestHead.AutoMatch==1 ){
  319. //自动匹配
  320. this.callPrint(this.requestHead,data);
  321. }else{
  322. this.requestHead.AutoMatch=0;
  323. var templeteNames = this.getTempleteName();
  324. if( templeteNames==null || templeteNames.length ==0 ){
  325. alertMsg("打印出错","未找到打印模版,请检查模版是否更新","error");
  326. return ;
  327. }
  328. if( templeteNames.length ==1 ){
  329. this.requestHead.TempleteName = templeteNames[0];
  330. this.callPrint(this.requestHead,data);
  331. }else{
  332. var temps = [];
  333. for(var i=0;i<templeteNames.length;i++){
  334. temps.push({id:templeteNames[i],text:templeteNames[i] });
  335. }
  336. $("#templeteList").combobox("clear");
  337. $("#templeteList").combobox("loadData",temps);
  338. $("#templeteList").combobox("select",temps[0].id);
  339. showWindow({
  340. title:'选择模版',
  341. width:500,
  342. height:200,
  343. onOpen:function() {
  344. },
  345. onClose: function() {
  346. me.requestHead.TempleteName = $("#templeteList").combobox("getValue");
  347. me.requestHead.AutoMatch=0;
  348. me.callPrint(me.requestHead,data);
  349. $('.validatebox-tip').remove();
  350. }
  351. });
  352. }
  353. }
  354. };
  355. this.callPrint = function(requestHead, data){
  356. try{
  357. var printPlugIn = document.getElementById("PrintSQW");
  358. requestHead.PrintDatas=[];
  359. if( $.isArray(data)){
  360. for( var i=0;i<data.length;i++ ){
  361. requestHead.PrintDatas=[];
  362. requestHead.PrintDatas=[data[i]];
  363. var reqData = {requestData:requestHead};
  364. var responseStr = printPlugIn.Print( JSON.stringify( reqData ) );
  365. var response = JSON.parse(responseStr);
  366. if( response.responseData.results.toUpperCase()=='ERROR'){
  367. if( i !=( data.length -1) ){
  368. var isPrint = confirm("打印出现异常:"+ response.responseData.results.Message +",要继续打印吗?" );
  369. if( isPrint== false ){
  370. break;
  371. }
  372. }else{
  373. alertMsg("打印出错",response.responseData.Message,"error");
  374. }
  375. }
  376. }
  377. }else{
  378. requestHead.PrintDatas=[];
  379. requestHead.PrintDatas=[data];
  380. var reqData = {requestData:requestHead};
  381. var responseStr = printPlugIn.Print( JSON.stringify( reqData ) );
  382. var response = JSON.parse(responseStr);
  383. if( response.results.toUpperCase()=='ERROR'){
  384. alertMsg("打印出错",response.Message,"error");
  385. }
  386. }
  387. }catch(e){
  388. alertMsg("打印出错","执行打印出现异常:"+e.description,"error");
  389. }
  390. };
  391. }
  392. /**
  393. * 获取电子秤上的重量
  394. * @returns
  395. */
  396. function getWeight(){
  397. try{
  398. var etcscale = document.getElementById("etcscale.EtcScaleContainer");
  399. return etcscale.getValue();
  400. }catch(e){
  401. return "";
  402. }
  403. }