detail.js 15 KB

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