Commit fe11c22eec6dcc86a43bb55d60fdc8beeee7493a

Authored by 刘淇
1 parent dcf54a32

开票

src/api/invoice/invoice.js
@@ -65,6 +65,16 @@ export function queryCustInvoiceHistoryList(params) { @@ -65,6 +65,16 @@ export function queryCustInvoiceHistoryList(params) {
65 }) 65 })
66 } 66 }
67 67
  68 +// 重发电子邮箱
  69 +export function resendInvoiceMail(params) {
  70 + return request({
  71 + url: 'invoice/resendInvoiceMail',
  72 + method: 'post',
  73 + data: params
  74 + })
  75 +}
  76 +
  77 +
68 78
69 79
70 80
src/main.js
@@ -66,7 +66,8 @@ import { @@ -66,7 +66,8 @@ import {
66 Divider, 66 Divider,
67 TransferDom, 67 TransferDom,
68 Confirm, 68 Confirm,
69 - Toast 69 + Toast,
  70 + dateFormat
70 }from 'vux' 71 }from 'vux'
71 72
72 73
src/utils/utils.js
1 -import md5 from './md5.min.js'; 1 +import md5 from "./md5.min.js";
2 export default { 2 export default {
3 - myCommonSalt: function (val) { // 获取盐值 3 + myCommonSalt: function(val) { // 获取盐值
4 let len = parseInt(val); 4 let len = parseInt(val);
5 - let $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; 5 + let $chars = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678";
6 let maxPos = $chars.length; 6 let maxPos = $chars.length;
7 - var pwd = ''; 7 + var pwd = "";
8 for (var i = 0; i < len; i++) { 8 for (var i = 0; i < len; i++) {
9 pwd += $chars.charAt(Math.floor(Math.random() * maxPos)); 9 pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
10 } 10 }
11 console.log(pwd); 11 console.log(pwd);
12 return pwd; 12 return pwd;
13 }, 13 },
14 -  
15 - formatDate: function(secs, type=0){ //type是可选参数,因为json中时间的格式是year-month-date,不能识别XX年XX月XX日  
16 - var t = new Date(secs)  
17 - var year = t.getFullYear()  
18 - var month = t.getMonth() + 1  
19 - if(month < 10){ month = '0' + month }  
20 - var date = t.getDate()  
21 - if(date < 10){ date = '0' + date }  
22 - var hour = t.getHours()  
23 - if(hour < 10){ hour = '0' + hour }  
24 - var minute = t.getMinutes()  
25 - if(minute < 10){ minute = '0' + minute }  
26 - var second = t.getSeconds()  
27 - if(second < 10){ second = '0' + second }  
28 - if(type==0){  
29 - return year + '年' + month + '月' + date + '日'  
30 - }else{  
31 - return year + '-'+month+'-'+date  
32 - }},  
33 -  
34 - timestampToTime: function (timestamp) { 14 + formatDate: function(secs, type = 0) { //type是可选参数,因为json中时间的格式是year-month-date,不能识别XX年XX月XX日
  15 + var t = new Date(secs);
  16 + var year = t.getFullYear();
  17 + var month = t.getMonth() + 1;
  18 + if (month < 10) {
  19 + month = "0" + month;
  20 + }
  21 + var date = t.getDate();
  22 + if (date < 10) {
  23 + date = "0" + date;
  24 + }
  25 + var hour = t.getHours();
  26 + if (hour < 10) {
  27 + hour = "0" + hour;
  28 + }
  29 + var minute = t.getMinutes();
  30 + if (minute < 10) {
  31 + minute = "0" + minute;
  32 + }
  33 + var second = t.getSeconds();
  34 + if (second < 10) {
  35 + second = "0" + second;
  36 + }
  37 + if (type == 0) {
  38 + return year + "年" + month + "月" + date + "日";
  39 + } else {
  40 + return year + "-" + month + "-" + date;
  41 + }
  42 + },
  43 + timestampToTime: function(timestamp) {
35 var d = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000 44 var d = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
36 - var youWant=d.getFullYear() + '-' + this.completedString(d.getMonth() + 1) + '-' + this.completedString(d.getDate()) ;  
37 - return youWant 45 + var youWant = d.getFullYear() + "-" + this.completedString(d.getMonth() + 1) + "-" + this.completedString(d.getDate());
  46 + return youWant;
38 }, 47 },
39 - timestampTransformTime: function (timestamp) { 48 + timestampTransformTime: function(timestamp) {
40 var d = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000 49 var d = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
41 - var youWant=d.getFullYear() + '/' + this.completedString(d.getMonth() + 1) + '/' + this.completedString(d.getDate()) ;  
42 - return youWant 50 + var youWant = d.getFullYear() + "/" + this.completedString(d.getMonth() + 1) + "/" + this.completedString(d.getDate());
  51 + return youWant;
43 }, 52 },
44 - completedString:function(s) {  
45 - return s < 10 ? '0' + s : s 53 + getLocalTime: function(value) {
  54 + if (value == null) {
  55 + return '';
  56 + } else {
  57 + let date = new Date(value);
  58 + let y = date.getFullYear();// 年
  59 + let MM = date.getMonth() + 1;// 月
  60 + MM = MM < 10 ? ('0' + MM) : MM;
  61 + let d = date.getDate();// 日
  62 + d = d < 10 ? ('0' + d) : d;
  63 + let h = date.getHours();// 时
  64 + h = h < 10 ? ('0' + h) : h;
  65 + let m = date.getMinutes();// 分
  66 + m = m < 10 ? ('0' + m) : m;
  67 + let s = date.getSeconds();// 秒
  68 + s = s < 10 ? ('0' + s) : s;
  69 + let timer = y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
  70 + return timer
  71 + }
  72 + },
  73 + completedString: function(s) {
  74 + return s < 10 ? "0" + s : s;
46 }, 75 },
47 -  
48 -  
49 -  
50 - dateFormat: function (msd) { // 时间转换  
51 - var time = msd  
52 - 76 + dateFormat: function(msd) { // 时间转换
  77 + var time = msd;
53 if (null != time && "" != time) { 78 if (null != time && "" != time) {
54 -  
55 if (time > 60 && time < 60 * 60) { 79 if (time > 60 && time < 60 * 60) {
56 -  
57 time = parseInt(time / 60.0) + "分钟" + parseInt((parseFloat(time / 60.0) - 80 time = parseInt(time / 60.0) + "分钟" + parseInt((parseFloat(time / 60.0) -
58 -  
59 parseInt(time / 60.0)) * 60) + "秒"; 81 parseInt(time / 60.0)) * 60) + "秒";
60 -  
61 } 82 }
62 -  
63 else if (time >= 60 * 60 && time < 60 * 60 * 24) { 83 else if (time >= 60 * 60 && time < 60 * 60 * 24) {
64 -  
65 time = parseInt(time / 3600.0) + "小时" + parseInt((parseFloat(time / 3600.0) - 84 time = parseInt(time / 3600.0) + "小时" + parseInt((parseFloat(time / 3600.0) -
66 -  
67 parseInt(time / 3600.0)) * 60) + "分钟" + 85 parseInt(time / 3600.0)) * 60) + "分钟" +
68 -  
69 parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) - 86 parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) -
70 -  
71 parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + "秒"; 87 parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + "秒";
72 -  
73 } else if (time >= 60 * 60 * 24) { 88 } else if (time >= 60 * 60 * 24) {
74 -  
75 time = parseInt(time / 3600.0 / 24) + "天" + parseInt((parseFloat(time / 3600.0 / 24) - 89 time = parseInt(time / 3600.0 / 24) + "天" + parseInt((parseFloat(time / 3600.0 / 24) -
76 -  
77 parseInt(time / 3600.0 / 24)) * 24) + "小时" + parseInt((parseFloat(time / 3600.0) - 90 parseInt(time / 3600.0 / 24)) * 24) + "小时" + parseInt((parseFloat(time / 3600.0) -
78 -  
79 parseInt(time / 3600.0)) * 60) + "分钟" + 91 parseInt(time / 3600.0)) * 60) + "分钟" +
80 -  
81 parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) - 92 parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) -
82 -  
83 parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + "秒"; 93 parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + "秒";
84 -  
85 } 94 }
86 -  
87 else { 95 else {
88 -  
89 time = parseInt(time) + "秒"; 96 time = parseInt(time) + "秒";
90 -  
91 } 97 }
92 -  
93 } 98 }
94 -  
95 return time; 99 return time;
96 }, 100 },
97 -  
98 - signObject: function (jsonObj){ //签名字段  
99 - let sort = []  
100 - for(let k in jsonObj){ 101 + signObject: function(jsonObj) { //签名字段
  102 + let sort = [];
  103 + for (let k in jsonObj) {
101 sort.push({ 104 sort.push({
102 keyname: k, 105 keyname: k,
103 value: jsonObj[k] 106 value: jsonObj[k]
104 - }) 107 + });
105 } 108 }
106 - return this.myGetSign(sort) 109 + return this.myGetSign(sort);
107 }, 110 },
108 -  
109 - clientBrowser: function () { // 判断客户端 111 + clientBrowser: function() { // 判断客户端
110 if (/MicroMessenger/.test(window.navigator.userAgent)) { 112 if (/MicroMessenger/.test(window.navigator.userAgent)) {
111 console.log("微信客户端"); 113 console.log("微信客户端");
112 - return '微信' 114 + return "微信";
113 } else if (/AlipayClient/.test(window.navigator.userAgent)) { 115 } else if (/AlipayClient/.test(window.navigator.userAgent)) {
114 console.log("支付宝客户端"); 116 console.log("支付宝客户端");
115 - return '支付宝' 117 + return "支付宝";
116 } else if (/BankabciPhone/.test(window.navigator.userAgent)) { 118 } else if (/BankabciPhone/.test(window.navigator.userAgent)) {
117 console.log("农行客户端"); 119 console.log("农行客户端");
118 - return '立即'  
119 - }else if (/BankabcAndroid/.test(window.navigator.userAgent)) { 120 + return "立即";
  121 + } else if (/BankabcAndroid/.test(window.navigator.userAgent)) {
120 console.log("农行客户端"); 122 console.log("农行客户端");
121 - return '立即'  
122 - }else { 123 + return "立即";
  124 + } else {
123 console.log("其他浏览器"); 125 console.log("其他浏览器");
124 - return '支付宝' 126 + return "支付宝";
125 } 127 }
126 }, 128 },
127 -  
128 // 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 34 农行 129 // 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 34 农行
129 - clientBrowsePayType: function () { // 判断客户端 130 + clientBrowsePayType: function() { // 判断客户端
130 if (/MicroMessenger/.test(window.navigator.userAgent)) { 131 if (/MicroMessenger/.test(window.navigator.userAgent)) {
131 console.log("微信客户端"); 132 console.log("微信客户端");
132 - return '4' 133 + return "4";
133 } else if (/AlipayClient/.test(window.navigator.userAgent)) { 134 } else if (/AlipayClient/.test(window.navigator.userAgent)) {
134 console.log("支付宝客户端"); 135 console.log("支付宝客户端");
135 - return '1' 136 + return "1";
136 } else if (/BankabciPhone/.test(window.navigator.userAgent)) { 137 } else if (/BankabciPhone/.test(window.navigator.userAgent)) {
137 console.log("农行客户端"); 138 console.log("农行客户端");
138 - return '34'  
139 - }else if (/BankabcAndroid/.test(window.navigator.userAgent)) { 139 + return "34";
  140 + } else if (/BankabcAndroid/.test(window.navigator.userAgent)) {
140 console.log("农行客户端"); 141 console.log("农行客户端");
141 - return '34'  
142 - }else { 142 + return "34";
  143 + } else {
143 console.log("其他浏览器"); 144 console.log("其他浏览器");
144 - return '1' 145 + return "1";
145 } 146 }
146 }, 147 },
147 // 0eca8f5373ca4866aec2f8e9d9367104 老的id 148 // 0eca8f5373ca4866aec2f8e9d9367104 老的id
148 // 14318527b13840c2a4af63fef52c2d6e 老的签名 149 // 14318527b13840c2a4af63fef52c2d6e 老的签名
149 -  
150 // ud8yq5tv0inxupc05xfeau39jywlqoj2 新的id 150 // ud8yq5tv0inxupc05xfeau39jywlqoj2 新的id
151 // ny1u72b6k374sg379z0kqjgfxe2ycnpw 新的签名 151 // ny1u72b6k374sg379z0kqjgfxe2ycnpw 新的签名
152 -  
153 - myVarAppid:'65grtq5tv0wewec05xfeau39jyghhjm',// 公共请求Appid  
154 -  
155 - myDeviceInfo: 'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E', // 公共请求设备信息  
156 -  
157 - myVxAppId: 'wxdfb0276f85514ea3', 152 + myVarAppid: "65grtq5tv0wewec05xfeau39jyghhjm",// 公共请求Appid
  153 + myDeviceInfo: "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E", // 公共请求设备信息
  154 + myVxAppId: "wxdfb0276f85514ea3",
158 // 测试环境 微信赤峰 appid wxff4cebaedbf4f886 155 // 测试环境 微信赤峰 appid wxff4cebaedbf4f886
159 // 微信赤峰 appid wx2af2bab90d433c86 156 // 微信赤峰 appid wx2af2bab90d433c86
160 // 黄石 appid wxa1a66cc7d263afe6 157 // 黄石 appid wxa1a66cc7d263afe6
161 // 阳明 wxdfb0276f85514ea3 158 // 阳明 wxdfb0276f85514ea3
162 -  
163 - myOrgId: '10193', // 归属地 赤峰id 10003 黄石 10079 无锡10005  
164 -  
165 - myGetSign: function (objb) { // 获取签名  
166 - var compare = function (obj1, obj2) { 159 + myOrgId: "10193", // 归属地 赤峰id 10003 黄石 10079 无锡10005
  160 + myGetSign: function(objb) { // 获取签名
  161 + var compare = function(obj1, obj2) {
167 var val1 = obj1.keyname; 162 var val1 = obj1.keyname;
168 var val2 = obj2.keyname; 163 var val2 = obj2.keyname;
169 if (val1 < val2) { 164 if (val1 < val2) {
@@ -173,35 +168,34 @@ export default { @@ -173,35 +168,34 @@ export default {
173 } else { 168 } else {
174 return 0; 169 return 0;
175 } 170 }
176 - } 171 + };
177 objb.sort(compare); 172 objb.sort(compare);
178 - var strmd5 = 'dfdf2b6k37r5y79z0kqjgfxe2wet3434';  
179 - for(var i=0;i<objb.length;i++){  
180 - if(objb[i].value != null&&objb[i].value != ''){  
181 - strmd5 += objb[i].keyname+objb[i].value; 173 + var strmd5 = "dfdf2b6k37r5y79z0kqjgfxe2wet3434";
  174 + for (var i = 0; i < objb.length; i++) {
  175 + if (objb[i].value != null && objb[i].value != "") {
  176 + strmd5 += objb[i].keyname + objb[i].value;
182 } 177 }
183 } 178 }
184 - strmd5 += 'dfdf2b6k37r5y79z0kqjgfxe2wet3434'; 179 + strmd5 += "dfdf2b6k37r5y79z0kqjgfxe2wet3434";
185 // console.log('strmd5-------->'+strmd5); 180 // console.log('strmd5-------->'+strmd5);
186 strmd5 = md5(strmd5); 181 strmd5 = md5(strmd5);
187 - strmd5=strmd5.toUpperCase(); 182 + strmd5 = strmd5.toUpperCase();
188 return strmd5; 183 return strmd5;
189 }, 184 },
190 - parseParams: function (data) { 185 + parseParams: function(data) {
191 try { 186 try {
192 var tempArr = []; 187 var tempArr = [];
193 for (var i in data) { 188 for (var i in data) {
194 var key = (i); 189 var key = (i);
195 var value = encodeURIComponent(data[i]);//decodeURIComponent 190 var value = encodeURIComponent(data[i]);//decodeURIComponent
196 - tempArr.push(key + '=' + value); 191 + tempArr.push(key + "=" + value);
197 } 192 }
198 - var urlParamsStr = tempArr.join('&'); 193 + var urlParamsStr = tempArr.join("&");
199 return urlParamsStr; 194 return urlParamsStr;
200 } catch (err) { 195 } catch (err) {
201 - return ''; 196 + return "";
202 } 197 }
203 }, 198 },
204 -  
205 commonParams: function() { 199 commonParams: function() {
206 let salt = this.myCommonSalt(32); 200 let salt = this.myCommonSalt(32);
207 let reqData = { 201 let reqData = {
@@ -209,10 +203,9 @@ export default { @@ -209,10 +203,9 @@ export default {
209 deviceInfo: this.myDeviceInfo, 203 deviceInfo: this.myDeviceInfo,
210 salt: salt, 204 salt: salt,
211 sign_type: "md5", 205 sign_type: "md5",
212 - token:'b4bbab7dd63140b5b66cc962496b34f7', 206 + token: sessionStorage.getItem('urlToken'),
213 orgId: this.myOrgId 207 orgId: this.myOrgId
214 }; 208 };
215 - return reqData 209 + return reqData;
216 } 210 }
217 -  
218 -} 211 +};
src/views/eInvoice/eInvoiceWrap.vue
@@ -33,7 +33,11 @@ @@ -33,7 +33,11 @@
33 33
34 <script> 34 <script>
35 export default { 35 export default {
36 - name: "eInvoiceWrap" 36 + name: "eInvoiceWrap",
  37 + mounted(){
  38 + let _token = this.$route.query.token;
  39 + sessionStorage.setItem('urlToken',_token)
  40 + }
37 }; 41 };
38 </script> 42 </script>
39 43
src/views/eInvoice/invoiceRecord/exchange.vue
1 <template> 1 <template>
2 <div> 2 <div>
3 <group> 3 <group>
4 - <cell align-items="left" class="inovice-list" value="¥0.10"> 4 + <cell v-for="(i, index) in list" align-items="left" class="inovice-list" :value="'¥'+ (i.orderTotalFee/100).toFixed(2)">
5 <div slot="title"> 5 <div slot="title">
6 - <span>苏A1231</span> 6 + <span>{{i.carNumber}}</span>
7 </div> 7 </div>
8 <div slot="title"> 8 <div slot="title">
9 - <span>杭州路段</span> 9 + <span>{{i.plName}}</span>
10 </div> 10 </div>
11 <div slot="title"> 11 <div slot="title">
12 - <span>2021/06/01 13:13:13</span>  
13 - </div>  
14 - </cell>  
15 - <cell align-items="left" class="inovice-list" value="¥0.10">  
16 - <div slot="title">  
17 - <span>苏A1231</span>  
18 - </div>  
19 - <div slot="title">  
20 - <span>杭州路段</span>  
21 - </div>  
22 - <div slot="title">  
23 - <span>2021/06/01 13:13:13</span> 12 + <span>{{$utils.getLocalTime(i.createDate)}}</span>
24 </div> 13 </div>
25 </cell> 14 </cell>
  15 +
26 </group> 16 </group>
27 </div> 17 </div>
28 </template> 18 </template>
29 19
30 <script> 20 <script>
31 export default { 21 export default {
32 - name: "exchange" 22 + name: "exchange",
  23 + data(){
  24 + return{
  25 + list:[]
  26 + }
  27 + },
  28 + mounted(){
  29 + this.list = JSON.parse(sessionStorage.getItem('recordData'))
  30 + console.log(this.list)
  31 + }
33 }; 32 };
34 </script> 33 </script>
35 34
src/views/eInvoice/invoiceRecord/invoiceDetail.vue
1 <template> 1 <template>
2 <div> 2 <div>
3 <group title="开票历史"> 3 <group title="开票历史">
4 - <cell title="发票预览" link="https://vux.li"></cell>  
5 - <cell title="收件信息" inline-desc='电子邮箱: 34124@163.com'></cell>  
6 - <cell title="发票包含内容" inline-desc='该发票包含2笔交易' link="https://vux.li"></cell> 4 + <cell title="发票预览" :link="$route.query.invoiceUrl"></cell>
  5 + <cell title="收件信息" :inline-desc="'电子邮箱:'+ $route.query.custEmail"></cell>
  6 + <cell title="发票包含内容" :inline-desc="'该发票包含'+$route.query.len+'笔交易'" :link="{path:'exchange'}"></cell>
7 </group> 7 </group>
8 8
9 <group title=""> 9 <group title="">
10 <div style="padding: 40px 20px;"> 10 <div style="padding: 40px 20px;">
11 - <box gap="10px 10px">  
12 - <x-button :gradients="['#1D62F0', '#19D5FD']">重发电子邮箱</x-button>  
13 - </box> 11 + <div >
  12 + <x-button :gradients="['#1D62F0', '#19D5FD']" @click.native="sentEmail">重发电子邮箱</x-button>
  13 + </div>
14 <div style="text-align: center;padding-top: 20px;">客服电话: 0714-6212345</div> 14 <div style="text-align: center;padding-top: 20px;">客服电话: 0714-6212345</div>
15 </div> 15 </div>
16 </group> 16 </group>
@@ -20,10 +20,11 @@ @@ -20,10 +20,11 @@
20 20
21 <script> 21 <script>
22 import { 22 import {
23 - queryCustInvoiceHistoryList 23 + resendInvoiceMail
24 } from "@/api/invoice/invoice.js"; 24 } from "@/api/invoice/invoice.js";
25 export default { 25 export default {
26 name: "invoiceDetail", 26 name: "invoiceDetail",
  27 +
27 data() { 28 data() {
28 return { 29 return {
29 list: [] 30 list: []
@@ -31,7 +32,21 @@ export default { @@ -31,7 +32,21 @@ export default {
31 }, 32 },
32 mounted() { 33 mounted() {
33 }, 34 },
34 - methods: {} 35 + methods: {
  36 + sentEmail: function() {
  37 + let obj = {
  38 + invoiceId:this.$route.query.invoiceId,
  39 + orgId:this.$utils.myOrgId
  40 + }
  41 + let jsondata = Object.assign(obj, this.$utils.commonParams());
  42 + jsondata.sign = this.$utils.signObject(jsondata);
  43 + console.log(JSON.stringify(jsondata));
  44 + resendInvoiceMail(jsondata).then(response => {
  45 + console.log(response);
  46 +
  47 + });
  48 + }
  49 + }
35 }; 50 };
36 </script> 51 </script>
37 52
src/views/eInvoice/invoiceRecord/invoiceRecord.vue
1 <template> 1 <template>
2 <div v-if="list.length>0"> 2 <div v-if="list.length>0">
3 <group title="开票历史"> 3 <group title="开票历史">
4 - <cell title="停车" link="https://vux.li" inline-desc='2020/05/29 22:22:22'> 4 + <cell :title="i.invoiceBigType | invoiceBigTypeFilter" @click.native="toInvoiceDetail(i)"
  5 + :inline-desc="$utils.getLocalTime(i.invoiceDate)"
  6 + v-for="(i, index) in list">
5 <div> 7 <div>
6 - <p>已发送电子邮箱</p>  
7 - <p>¥ 0.20</p>  
8 - </div>  
9 - </cell>  
10 -  
11 - <cell title="停车" link="https://vux.li" inline-desc='2020/05/29 22:22:22'>  
12 - <div>  
13 - <p>已开票</p>  
14 - <p>¥ 0.20</p> 8 + <p>{{i.invoiceState | invoiceStateFilter}}</p>
  9 + <p>¥ {{(i.invoiceTotalFee/100).toFixed(2)}}</p>
15 </div> 10 </div>
16 </cell> 11 </cell>
17 </group> 12 </group>
@@ -47,6 +42,44 @@ export default { @@ -47,6 +42,44 @@ export default {
47 console.log(response); 42 console.log(response);
48 this.list = response.data; 43 this.list = response.data;
49 }); 44 });
  45 + },
  46 + toInvoiceDetail: function(i) {
  47 + sessionStorage.setItem('recordData',JSON.stringify(i.custInvoiceHisDetailDTOList))
  48 + this.$router.push({
  49 + path:'invoiceDetail',
  50 + query:{
  51 + custEmail:i.custEmail,
  52 + len:i.custInvoiceHisDetailDTOList.length,
  53 + invoiceId:i.invoiceId,
  54 + invoiceUrl:i.invoiceUrl
  55 + }
  56 + })
  57 + }
  58 + },
  59 + filters: {
  60 + invoiceBigTypeFilter(val) {
  61 + switch (val) {
  62 + case 100:
  63 + return "停车";
  64 + break;
  65 + case 200:
  66 + return "充值";
  67 + break;
  68 + case 300:
  69 + return "会员卡";
  70 + break;
  71 + default:
  72 + break;
  73 + }
  74 + },
  75 + invoiceStateFilter(val) {
  76 + if (val == 2) {
  77 + return "已发送电子邮箱";
  78 + } else if (val == 3 || val == 4) {
  79 + return "已开票";
  80 + } else {
  81 + return "待开票";
  82 + }
50 } 83 }
51 } 84 }
52 }; 85 };
src/views/eInvoice/parkInvoice/parkInvoice.vue
@@ -178,7 +178,7 @@ export default { @@ -178,7 +178,7 @@ export default {
178 console.log(JSON.stringify(jsondata)); 178 console.log(JSON.stringify(jsondata));
179 openTicketForCustInvoiceHisInfo(jsondata).then(response => { 179 openTicketForCustInvoiceHisInfo(jsondata).then(response => {
180 console.log(response); 180 console.log(response);
181 - this.queryCustInvoiceInfoList() 181 + this.queryRntPayOrderForInvoice()
182 }); 182 });
183 }, 183 },
184 // 获取可开票列表 184 // 获取可开票列表