detail.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. ;
  2. var orderPage = new Vue({
  3. el: "#orderPage",
  4. data: {
  5. isRequset:true,
  6. orderId:0, //订单ID
  7. userId: 0, //用户ID
  8. orderInfo:{}, //订单信息
  9. shopOrderList:[], //订单商品信息
  10. userInfo:{}, //订单用户信息
  11. orderInvoice:{}, //发票信息
  12. discernReceiptList:[], //订单付款信息
  13. returnedPurchaseList:[],//订单退款信息
  14. orderIdentificationId:'',//订单标识
  15. modelType:0,
  16. isFiexd:true,
  17. isShowBeansAlet:false,
  18. bgImagePath:'',//根据类型显示图片标记
  19. beanNumber:100,
  20. beansType:7
  21. },
  22. filters: {
  23. NumFormat:function(text) {//处理金额
  24. return Number(text).toFixed(2);
  25. },
  26. NumBadge:function(n){//处理
  27. var num ='';
  28. if(n>100){num = 99}else{num = n;}
  29. return num;
  30. },
  31. formatIncludedTax:function(value) {
  32. if (value === '1') {
  33. return '不含税 ';
  34. } else if (value === '2') {
  35. return '含税';
  36. } else {
  37. return '';
  38. }
  39. },
  40. stateExp:function (state){ //订单状态文字和颜色
  41. var stateText = '',
  42. stateTextObject={
  43. 0:'待确认',
  44. 4:'交易完成',
  45. 5:'订单完成',
  46. 6:'已关闭',
  47. 7:'交易全退',
  48. 77:'交易全退',
  49. 11:'待付款待发货',
  50. 12:'待付款部分发货',
  51. 13:'待付款已发货',
  52. 21:'部分付款待发货',
  53. 22:'部分付款部分发货',
  54. 23:'部分付款已发货',
  55. 31:'已付款待发货',
  56. 32:'已付款部分发货',
  57. 33:'已付款已发货',
  58. 111:'待付款待发货'
  59. };
  60. Object.keys(stateTextObject).forEach(function(key){
  61. if(key == state){
  62. stateText = stateTextObject[key]
  63. }
  64. });
  65. return stateText;
  66. }
  67. },
  68. computed: {
  69. },
  70. methods: {
  71. GetQueryOrderDetailsInfo:function(){//查询订单详情
  72. var _self = this;
  73. OrderApi.QueryOrderDetailsInfo({orderID:_self.orderId , userId:_self.userId},function (response) {
  74. if(response.code == 0){
  75. var data = response.data;
  76. _self.orderInfo = data.order;
  77. _self.userInfo = data.userInfo;
  78. _self.orderInvoice = data.orderInvoice;
  79. _self.shopOrderList = data.shopOrderList;
  80. _self.discernReceiptList = data.discernReceiptList;
  81. _self.returnedPurchaseList = data.returnedPurchaseList;
  82. _self.orderIdentificationId = '#'+ _self.orderInfo.orderID+'#';
  83. _self.isRequset = false;
  84. }else{
  85. CAIMEI.Alert(response.msg, '确定', true,function () {
  86. location.href = '/user/dashboard.html';
  87. });
  88. }
  89. })
  90. },
  91. hanldConfirmFn:function(userId,orderId){//确认打款供应商
  92. var _self = this;
  93. CAIMEI.Modal('确定委托采美平台打款给供应商吗?确定之前请务必确保货品完好?','取消','确定',function () {
  94. OrderApi.confirmpayment({orderID:orderId,userId:userId},function(response){
  95. if(response.code == 0){
  96. CAIMEI.dialog('确认成功',true,function () {
  97. _self.GetQueryOrderDetailsInfo();
  98. });
  99. _self.confirmFlag = true;
  100. _self.confrimsBtn = false;
  101. }else{
  102. CAIMEI.Alert(response.msg, '确定', false);
  103. }
  104. })
  105. })
  106. },
  107. hanldConfirmOrderFn:function(){//确认订单
  108. var _self = this;
  109. CAIMEI.Modal('是否确认订单?','取消','确定',function () {
  110. OrderApi.AffirmOrderOrder({orderID:_self.orderId},function(response){
  111. if(response.code == 0){
  112. CAIMEI.dialog('确认成功',true,function () {
  113. _self.GetQueryOrderDetailsInfo();
  114. });
  115. }else{
  116. CAIMEI.Alert(response.msg, '确定', false);
  117. }
  118. })
  119. })
  120. },
  121. hanldCancelOrderFn:function(){//取消订单
  122. var _self = this;
  123. CAIMEI.Modal('确认取消该订单吗?','取消','确定',function () {
  124. OrderApi.GetCancelOrder({orderID:_self.orderId},function(response){
  125. if(response.code == 0){
  126. CAIMEI.dialog('取消成功',true,function () {
  127. _self.GetQueryOrderDetailsInfo();
  128. });
  129. }else{
  130. CAIMEI.Alert(response.msg, '确定', false);
  131. }
  132. })
  133. })
  134. },
  135. hanldDeleteOrderFn:function(){//删除订单
  136. var _self = this;
  137. CAIMEI.Modal('确认删除该订单吗?','取消','确定',function () {
  138. OrderApi.GetDeleteOrder({orderID:_self.orderId},function(response){
  139. if(response.code == 0){
  140. CAIMEI.dialog('删除成功',true,function () {
  141. window.location.href='/user/order/list.html?state=0';
  142. });
  143. }else{
  144. CAIMEI.Alert(response.msg, '确定', false);
  145. }
  146. })
  147. })
  148. },
  149. hanldReceivingOrderFn:function(){//确认收货
  150. var _self = this;
  151. CAIMEI.Modal('是否确认收货?','取消','确定',function () {
  152. OrderApi.GetAffirmOrder({orderID:_self.orderId},function(response){
  153. if(response.code == 0){
  154. _self.beansType = 7;
  155. _self.beanNumber = 100;
  156. _self.isShowBeansAlet = true;
  157. _self.handInitType(_self.beansType);
  158. _self.GetQueryOrderDetailsInfo();
  159. }else{
  160. CAIMEI.Alert(response.msg, '确定', false);
  161. }
  162. })
  163. })
  164. },
  165. showModelTypePop: function(){
  166. var _self = this;
  167. CAIMEI.Popup({
  168. content: '<div class="payAlert">' +
  169. '<p>您已通过线下转账的方式支付了订单部分款项,剩余款项依然需要使用线下转账方式,给您带来的不便敬请谅解</p>' +
  170. '<p>待付金额:<em>¥'+toFloat(this.orderInfo.pendingPayments)+'</em></p>' +
  171. '<ul><li>开户行:中信银行(深圳泰然支行)</li>' +
  172. '<li>银行卡号:6217 6803 0362 0897</li>' +
  173. '<li>户名:周仁声</li>' +
  174. '<li>订单标识:<em class="no">'+this.orderIdentificationId+'</em><em class="copy">复制</em></li></ul>' +
  175. '<p><i>请在转账备注中填写上述订单标识,方便财务快速审核,提高发货速度</i></p>' +
  176. '</div>',
  177. confitmBtnText: '确定',
  178. cancelBtnText: '关闭'
  179. },function(){
  180. // 确定
  181. _self.hidePaymentConfirm();
  182. },function(){
  183. // 关闭
  184. });
  185. },
  186. hanldPayOrderFn:function(){//支付订单
  187. var _self = this;
  188. OrderApi.OrderPaymentValidation({orderId:_self.orderId},function(r){
  189. if(r.code*1 === 0){
  190. var dataCode = r.data.code;
  191. _self.payModelData = r.data;
  192. switch(dataCode){
  193. case 1:
  194. _self.modelType = 1;
  195. CAIMEI.Popup({
  196. content: '<div class="payAlert">您有采美余额<em>¥'+toFloat(r.data.ableUserMoney)+'</em>暂未使用,是否需要抵扣订单? 抵扣后您只需再支付<em>¥'+toFloat(r.data.pendingPayments)+'</em></div>',
  197. confitmBtnText: '抵扣,继续付款',
  198. cancelBtnText: '不抵扣,继续付款'
  199. },function(){
  200. // 抵扣,继续付款
  201. _self.hanldPaymentConfirm(1)
  202. },function(){
  203. // 不抵扣,继续付款
  204. _self.hanldCancelConfirm()
  205. });
  206. break;
  207. case 2:
  208. _self.modelType = 2;
  209. CAIMEI.Popup({
  210. content: '<div class="payAlert">您有采美余额<em>¥'+toFloat(r.data.ableUserMoney)+'</em>暂未使用,是否需要抵扣订单? 抵扣后订单支付完成</div>',
  211. confitmBtnText: '抵扣',
  212. cancelBtnText: '不抵扣,继续付款'
  213. },function(){
  214. // 抵扣全款
  215. _self.hanldPaymentConfirm(2);
  216. },function(){
  217. // 不抵扣,继续付款
  218. _self.hanldCancelConfirm();
  219. });
  220. break;
  221. case -1:
  222. CAIMEI.Alert('订单已申请全部退款,无需再付款!', '确定', false);
  223. break;
  224. default:
  225. if(r.data.onlinePayFlag == '1'){
  226. _self.modelType = 3;
  227. _self.showModelTypePop();
  228. }else{
  229. window.location.href = '/pay/caimei-paycash.html?type=payfirm&orderID='+_self.orderId;
  230. }
  231. }
  232. }else{
  233. CAIMEI.Alert(r.msg, '确定', false);
  234. }
  235. })
  236. },
  237. hanldPaymentConfirm:function() {//余额抵扣跳转
  238. var _self = this;
  239. OrderApi.OrderBalanceDeduction({orderId: _self.orderId}, function (response) {
  240. if (response.code == 0) {
  241. if (_self.modelType === 2) {
  242. window.location.href = '/pay/success.html?pageType=www&type=success&payAmount='+_self.payModelData.pendingPayments;
  243. } else {
  244. if (_self.orderInfo.onlinePayFlag === '1') {
  245. _self.modelType = 3;
  246. _self.showModelTypePop();
  247. } else {
  248. window.location.href = '/pay/caimei-paycash.html?type=payfirm&orderID='+_self.orderId;
  249. }
  250. }
  251. } else {
  252. CAIMEI.Alert(response.msg, '确定', false);
  253. }
  254. });
  255. },
  256. hanldCancelConfirm:function(){//不使用余额抵扣直接跳转收银台
  257. var _self = this;
  258. if(_self.orderInfo.onlinePayFlag == '1'){
  259. _self.modelType = 3;
  260. _self.showModelTypePop();
  261. }else{
  262. window.location.href = '/pay/caimei-paycash.html?type=payfirm&orderID='+_self.orderId;
  263. }
  264. },
  265. hidePaymentConfirm:function(){//隐藏弹窗
  266. var _self = this;
  267. _self.modelType = 0;
  268. },
  269. hanldQueryExpressFn:function(){//跳转查看物流
  270. var _self = this;
  271. window.location.href='/user/order/logistics.html?orderId='+_self.orderId;
  272. },
  273. copyOrderBtnSubmitFn:function(){//复制订单标识
  274. var _self = this;
  275. var oInput = document.createElement("textarea");
  276. oInput.value = _self.orderIdentificationId;
  277. document.body.appendChild(oInput);
  278. oInput.select(); // 选择对象
  279. document.execCommand("Copy"); // 执行浏览器复制命令
  280. document.body.removeChild(oInput);
  281. CAIMEI.dialog('复制成功');
  282. },
  283. showBadge:function(n){//处理标签
  284. var num ='';
  285. if(n>100){num = 99}else{num = n;}
  286. return num;
  287. },
  288. toFixedFn:function(text){//处理小数点后两位数
  289. return Number(text).toFixed(2);
  290. },
  291. toggleThisLadder: function(event){
  292. var el = event.currentTarget;
  293. if($(el).hasClass("on")){
  294. $(el).removeClass("on").siblings('.mFixed').hide();
  295. if(!isPC){looseBody();}
  296. }else{
  297. $(el).addClass("on").siblings('.mFixed').show();
  298. if(!isPC){fixedBody();}
  299. }
  300. },
  301. hideThisLadder: function(event){
  302. var el = event.currentTarget;
  303. $(el).parents('.priceTag').find('.tag').removeClass("on").siblings('.mFixed').hide();
  304. if(!isPC){looseBody();}
  305. },
  306. handInitType:function(type){//根据类型判断弹窗背景
  307. var _self = this;
  308. if(isPC){
  309. _self.bgImagePath ='/img/account/icon-beans-'+type+'@2x.png';
  310. }else {
  311. _self.bgImagePath ='/img/account/icon-beans-h5-'+type+'@2x.png';
  312. }
  313. console.log(this.bgImagePath)
  314. },
  315. handleClickCancel:function () {//关闭弹窗
  316. var _self = this;
  317. _self.isShowBeansAlet = false;
  318. }
  319. },
  320. mounted: function () {
  321. var _self = this;
  322. if(globalUserData){
  323. _self.userId = globalUserData.userId;
  324. _self.orderId = CAIMEI.getUrlParam('orderId');
  325. _self.GetQueryOrderDetailsInfo();
  326. }
  327. $(window).scroll(function (event) {
  328. var supportPageOffset = window.pageXOffset !== undefined; // 判断是否支持pageXOffset
  329. var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat"); // 判断渲染模式是不是标准模式
  330. var scrollHeight = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;
  331. if(scrollHeight<100){
  332. _self.isFiexd = true
  333. }else{
  334. _self.isFiexd = false
  335. }
  336. });
  337. $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
  338. $('.navLayout').find('.navList').eq(0).addClass("on").find('.con').show().find('a').eq(0).addClass("on");
  339. }
  340. });