orders.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. //初始化下标
  2. function resetTrNum(tableId) {
  3. $tbody = $("#"+tableId+"");
  4. $tbody.find('>tr').each(function(i){
  5. $(':input, select,button,a', this).each(function(){
  6. var $this = $(this), name = $this.attr('name'),id=$this.attr('id'),onclick_str=$this.attr('onclick'), val = $this.val();
  7. if(name!=null){
  8. if (name.indexOf("#index#") >= 0){
  9. $this.attr("name",name.replace('#index#',i));
  10. }else{
  11. var s = name.indexOf("[");
  12. var e = name.indexOf("]");
  13. var new_name = name.substring(s+1,e);
  14. $this.attr("name",name.replace(new_name,i));
  15. }
  16. //给明细添加弹出框
  17. name = $this.attr('name');
  18. if(name.indexOf("orderDetailsList") >= 0 && name.indexOf("pname") >= 0 ){
  19. $this.attr("class","searchbox-inputtext");
  20. $this.unbind("click");
  21. //$this.bind("click",function(){popClick_embed("orderDetailsList\["+i+"\]\.pnumber,orderDetailsList\["+i+"\]\.pname,orderDetailsList\["+i+"\]\.specType,orderDetailsList\["+i+"\]\.measureUnit,orderDetailsList\["+i+"\]\.purchasePrice,orderDetailsList\["+i+"\]\.goodsId,orderDetailsList\["+i+"\]\.money,orderDetailsList\["+i+"\]\.quantity"
  22. // ,"goodsCode,goodsName,specification,purchaseUnit,goodsDesc,id,strEmpty,strEmpty","pOrdersController.do?selectReferGoods&classname=cn.com.lzt.goodsinfo.entity.TBGoodsInfoEntity&codefield=goodsCode&namefield=goodsName&purchaseUnit=purchaseUnit&specification=specification&goodsDesc=goodsDesc&strEmpty=strEmpty")
  23. // });
  24. //$this.bind("click",function(){popClick_embed("orderDetailsList\["+i+"\]\.pnumber,orderDetailsList\["+i+"\]\.pname,orderDetailsList\["+i+"\]\.specType,orderDetailsList\["+i+"\]\.measureUnit,orderDetailsList\["+i+"\]\.purchasePrice,orderDetailsList\["+i+"\]\.goodsId,orderDetailsList\["+i+"\]\.supplierId,orderDetailsList\["+i+"\]\.supplierName,orderDetailsList\["+i+"\]\.money,orderDetailsList\["+i+"\]\.quantity"
  25. // ,"goodsCode,goodsName,specification,purchaseUnit,goodsDesc,id,supplierId,supplierName,strEmpty,strEmpty","pOrdersController.do?selectReferGoods&classname=cn.com.lzt.goodsinfo.entity.TBGoodsInfoEntity&codefield=goodsCode&categoryfield=belongCategoryCode&categoryNamefield=belongCategoryName&supplierName=supplierName&namefield=goodsName&purchaseUnit=purchaseUnit&specification=specification&goodsDesc=goodsDesc&strEmpty=strEmpty")
  26. // });
  27. $this.bind("click",function(){popClick_embed("orderDetailsList\["+i+"\]\.pnumber,orderDetailsList\["+i+"\]\.pname,orderDetailsList\["+i+"\]\.specType,orderDetailsList\["+i+"\]\.measureUnit,orderDetailsList\["+i+"\]\.purchasePrice,orderDetailsList\["+i+"\]\.goodsId,orderDetailsList\["+i+"\]\.money,orderDetailsList\["+i+"\]\.quantity,orderDetailsList\["+i+"\]\.supplierName"
  28. ,"goodsCode,goodsName,specification,purchaseUnit,goodsDesc,id,strEmpty,strEmpty,supplierName","pOrdersController.do?selectReferGoods&classname=cn.com.lzt.goodsinfo.entity.TBGoodsInfoEntity&codefield=goodsCode&categoryfield=belongCategoryCode&categoryNamefield=belongCategoryName&namefield=goodsName&purchaseUnit=purchaseUnit&supplierName=supplierName&specification=specification&goodsDesc=goodsDesc&strEmpty=strEmpty")
  29. });
  30. }
  31. if(name.indexOf("orderDetailsList") >= 0 && name.indexOf("pname") >= 0 ){
  32. $this.unbind("change");
  33. $this.bind("change",function(){
  34. $.ajax({
  35. url:"pOrdersController.do?getProductInfo",
  36. data:{goodsCode:$this.val()},
  37. type:"Post",
  38. dataType:"json",
  39. success:function(data){
  40. if(data.status=="success"){
  41. alert("dd");
  42. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(0).val(data.datainfo.goodsName);
  43. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(1).val(data.datainfo.specification);
  44. $("#add_orderDetails_table").find("tr").eq(i).find("select").val(data.datainfo.purchaseUnit);
  45. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(2).val('');
  46. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val(data.pricinfo.retailPrice);
  47. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val('');
  48. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val(data.providerName);
  49. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(7).val(data.datainfo.id);// 货品主键ID
  50. }else{
  51. $.messager.alert('提示信息',"货品不存在!");
  52. }
  53. }});
  54. });
  55. }
  56. if(name.indexOf("orderDetailsList") >= 0 && name.indexOf("supplierName") >= 0 ){
  57. $this.attr("class","searchbox-inputtext");
  58. $this.unbind("click");
  59. $this.bind("click",function(){
  60. var goodsid = $("[name='orderDetailsList["+i+"].goodsId']").val();
  61. popClick_embed("orderDetailsList\["+i+"\]\.supplierName,orderDetailsList\["+i+"\]\.supplierId,orderDetailsList\["+i+"\]\.measureUnit,orderDetailsList\["+i+"\]\.purchasePrice"
  62. ,"relatedunitname,relatedunitid,meteringUnit,retailPrice"
  63. ,"pOrdersController.do?selectRelatedUnitPrice&reftype=goods&refid="+goodsid
  64. ,function(){
  65. if(!isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val()) && !isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val())){
  66. var money = Math.round($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val() * $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val()*100)/100;
  67. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val(money);
  68. getSumMoney();
  69. }else{
  70. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val('');
  71. }
  72. })
  73. });
  74. }
  75. // if(name.indexOf("orderDetailsList") >= 0 && name.indexOf("supplierName") >= 0 ){
  76. // $this.unbind("change");
  77. // $this.bind("change",function(){
  78. // // 区分浏览器 IE浏览器时
  79. // if (window.ActiveXObject || "ActiveXObject" in window){
  80. // $this.bind("input",function(){
  81. // debugger;
  82. // if(!isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val()) && !isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val())){
  83. // var money = Math.round($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val() * $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val()*100)/100;
  84. // $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val(money);
  85. // getSumMoney();
  86. // }else{
  87. // $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val('');
  88. // }
  89. // });
  90. // // 非IE浏览器时
  91. // }else{
  92. // $this.bind("input",function(){
  93. // if(!isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val()) && !isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val())){
  94. // var money = Math.round($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val() * $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val()*100)/100;
  95. // $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val(money);
  96. // getSumMoney();
  97. // }else{
  98. // $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val('');
  99. // }
  100. // });
  101. // }
  102. // });
  103. // }
  104. // 金额转换方法 科学计数法 转为 数字
  105. if(name.indexOf("orderDetailsList") >= 0 && name.indexOf("money") >= 0 ){
  106. var numTemp = $this.val();
  107. if(numTemp != null && numTemp != ''){
  108. $this.val(new Number(numTemp));
  109. }
  110. }
  111. if(name.indexOf("orderDetailsList") >= 0 && name.indexOf("quantityArrived") >= 0 ){
  112. var numTemp = $this.val();
  113. if(numTemp != null && numTemp != ''){
  114. $this.val(new Number(numTemp));
  115. }
  116. }
  117. if(name.indexOf("orderDetailsList") >= 0 && name.indexOf("quantityNotArrived") >= 0 ){
  118. var numTemp = $this.val();
  119. if(numTemp != null && numTemp != ''){
  120. $this.val(new Number(numTemp));
  121. }
  122. }
  123. if(name.indexOf("orderDetailsList") >= 0 && name.indexOf("quantityReturned") >= 0 ){
  124. var numTemp = $this.val();
  125. if(numTemp != null && numTemp != ''){
  126. $this.val(new Number(numTemp));
  127. }
  128. }
  129. // 数量改鬓添加事件
  130. if(name.indexOf("orderDetailsList") >= 0 && name.indexOf("quantity") >= 0 && name.indexOf("Arrived") < 0){
  131. var numTemp = $this.val();
  132. if(numTemp != null && numTemp != ''){
  133. $this.val(new Number(numTemp));
  134. }
  135. $this.unbind();
  136. // 区分浏览器 IE浏览器时
  137. if (window.ActiveXObject || "ActiveXObject" in window){
  138. $this.bind("input",function(){
  139. debugger;
  140. if(!isNaN($this.val()) && !isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val())){
  141. var money = Math.round($this.val() * $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val()*100)/100;
  142. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val(money);
  143. getSumMoney();
  144. }else{
  145. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val('');
  146. }
  147. });
  148. // 非IE浏览器时
  149. }else{
  150. $this.bind("input",function(){
  151. if(!isNaN($this.val()) && !isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val())){
  152. //var money = $this.val() * $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val();
  153. var money = Math.round($this.val() * $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val()*100)/100;
  154. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val(money);
  155. getSumMoney();
  156. }else{
  157. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val('');
  158. }
  159. });
  160. }
  161. }
  162. // 价格改鬓添加事件
  163. if(name.indexOf("orderDetailsList") >= 0 && name.indexOf("purchasePrice") >= 0){
  164. var numTemp = $this.val();
  165. if(numTemp != null && numTemp != ''){
  166. $this.val(new Number(numTemp));
  167. }
  168. $this.unbind();
  169. // 区分浏览器 IE浏览器时
  170. if (window.ActiveXObject || "ActiveXObject" in window){
  171. $this.bind("input",function(){
  172. if(!isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val()) && !isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val())){
  173. var money = Math.round($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val() * $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val()*100)/100;
  174. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val(money);
  175. getSumMoney();
  176. }else{
  177. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val('');
  178. }
  179. });
  180. // 非IE浏览器时
  181. }else{
  182. $this.bind("input",function(){
  183. if(!isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val()) && !isNaN($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val())){
  184. var money = Math.round($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val() * $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val()*100)/100;
  185. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val(money);
  186. getSumMoney();
  187. }else{
  188. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val('');
  189. }
  190. });
  191. }
  192. }
  193. // 价格改鬓添加事件
  194. if(name.indexOf("orderDetailsList") >= 0 && name.indexOf("measureUnit") >= 0 ){
  195. $this.unbind();
  196. $this.bind("change",function(){
  197. var goodsCodeNo = $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(0).val();
  198. if(goodsCodeNo != null && goodsCodeNo != ''){
  199. $.ajax({
  200. url:"pOrdersController.do?getPurchasePriceInfo",
  201. data:{goodsCode:goodsCodeNo,purchaseUnit:$this.val()},
  202. type:"Post",
  203. dataType:"json",
  204. success:function(data){
  205. if(data.status=="success" && data.pricinfo != null){
  206. var purchasePrice = data.pricinfo.retailPrice;//采购零售价
  207. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val(purchasePrice);
  208. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).removeAttr("readonly");
  209. var quantity = $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val();
  210. if(!isNaN(quantity) && !isNaN(purchasePrice)){
  211. var money = Math.round(quantity * purchasePrice*100)/100;
  212. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val(money);
  213. getSumMoney();
  214. }else{
  215. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val('');
  216. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val('');
  217. }
  218. }else if(data.msg != null){
  219. $.messager.alert('提示信息',data.msg);
  220. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).val('');
  221. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).attr("readonly","readonly");
  222. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val('');
  223. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val('');
  224. getSumMoney();
  225. }else{
  226. $.messager.alert('提示信息',"计量单位在货品价格信息中没有设定,请在货品属性中先设定计量单位,或选择其他计量单位。");
  227. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(3).attr("readonly","readonly");
  228. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(4).val('');
  229. $("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val('');
  230. getSumMoney();
  231. }
  232. }});
  233. }
  234. });
  235. }
  236. }
  237. if(id!=null){
  238. if (id.indexOf("#index#") >= 0){
  239. $this.attr("id",id.replace('#index#',i));
  240. }else{
  241. var s = id.indexOf("[");
  242. var e = id.indexOf("]");
  243. var new_id = id.substring(s+1,e);
  244. $this.attr("id",id.replace(new_id,i));
  245. }
  246. }
  247. if(onclick_str!=null){
  248. if (onclick_str.indexOf("#index#") >= 0){
  249. $this.attr("onclick",onclick_str.replace(/#index#/g,i));
  250. }else{
  251. }
  252. }
  253. });
  254. $(this).find('div[name=\'xh\']').html(i+1);
  255. });
  256. }
  257. // 总金额 计算方法
  258. function getSumMoney(){
  259. var trList = $("#add_orderDetails_table").children("tr");
  260. var money = 0;
  261. for (var i=0;i<trList.length;i++) {
  262. var moneyTemp = parseFloat($("#add_orderDetails_table").find("tr").eq(i).find(":text").eq(5).val()) || 0;
  263. money = money + moneyTemp;
  264. }
  265. // 总金额
  266. $("#totalMoney").val(Math.round(money*100)/100);
  267. // 优惠金额
  268. var discountMoney = parseFloat($("#discountMoney").val()) || 0;
  269. // 应付金额
  270. var viewFlag = $("#viewFlag").val();
  271. if(viewFlag != "1"){
  272. $("#amountPayable").val(Math.round(money*100)/100);
  273. }
  274. }
  275. //
  276. //通用弹出式文件上传
  277. function commonUpload(callback,inputId){
  278. $.dialog({
  279. content: "url:systemController.do?commonUpload",
  280. lock : true,
  281. title:"文件上传",
  282. zIndex:2100,
  283. width:700,
  284. height: 200,
  285. parent:windowapi,
  286. cache:false,
  287. ok: function(){
  288. var iframe = this.iframe.contentWindow;
  289. iframe.uploadCallback(callback,inputId);
  290. return true;
  291. },
  292. cancelVal: '关闭',
  293. cancel: function(){
  294. }
  295. });
  296. }
  297. //通用弹出式文件上传-回调
  298. function commonUploadDefaultCallBack(url,name,inputId){
  299. $("#"+inputId+"_href").attr('href',url).html('下载');
  300. $("#"+inputId).val(url);
  301. }
  302. function browseImages(inputId, Img) {// 图片管理器,可多个上传共用
  303. var finder = new CKFinder();
  304. finder.selectActionFunction = function(fileUrl, data) {//设置文件被选中时的函数
  305. $("#" + Img).attr("src", fileUrl);
  306. $("#" + inputId).attr("value", fileUrl);
  307. };
  308. finder.resourceType = 'Images';// 指定ckfinder只为图片进行管理
  309. finder.selectActionData = inputId; //接收地址的input ID
  310. finder.removePlugins = 'help';// 移除帮助(只有英文)
  311. finder.defaultLanguage = 'zh-cn';
  312. finder.popup();
  313. }
  314. function browseFiles(inputId, file) {// 文件管理器,可多个上传共用
  315. var finder = new CKFinder();
  316. finder.selectActionFunction = function(fileUrl, data) {//设置文件被选中时的函数
  317. $("#" + file).attr("href", fileUrl);
  318. $("#" + inputId).attr("value", fileUrl);
  319. decode(fileUrl, file);
  320. };
  321. finder.resourceType = 'Files';// 指定ckfinder只为文件进行管理
  322. finder.selectActionData = inputId; //接收地址的input ID
  323. finder.removePlugins = 'help';// 移除帮助(只有英文)
  324. finder.defaultLanguage = 'zh-cn';
  325. finder.popup();
  326. }
  327. function decode(value, id) {//value传入值,id接受值
  328. var last = value.lastIndexOf("/");
  329. var filename = value.substring(last + 1, value.length);
  330. $("#" + id).text(decodeURIComponent(filename));
  331. }