Commit 0f61c1adf4762c1b6c5b5b617a9aff645236caa9

Authored by 夏洋涛
1 parent 16b4c5c8
Exists in master

feat: 支付接通

src/component/GroupCodePopup.vue
@@ -1,151 +0,0 @@ @@ -1,151 +0,0 @@
1 -<template>  
2 - <div class="group_code_popup_mask">  
3 - <img class="share_des" v-if="showShareDes" src="@/assets/home/share.png" alt="">  
4 - <div class="group_code_popup">  
5 - <van-icon class="close" name="cross" @click="$emit('closeGroupCode')" />  
6 - <img class="bg" src="@/assets/home/bg3.png" alt="">  
7 - <img class="success" src="@/assets/home/success.png" alt="">  
8 - <p class="success_text">支付成功</p>  
9 - <!-- <p class="des">  
10 - <template v-if="count">  
11 - 还差<span>{{count}}</span>人,分享链接邀请好友完成拼团吧  
12 - </template>  
13 - <template v-else>  
14 - 分享链接邀请好友来拼团吧  
15 - </template>  
16 - </p> -->  
17 - <img class="code_img" v-if="chatGroupUrl" :src="chatGroupUrl" alt="">  
18 - <p class="code_des" v-if="chatGroupUrl">加入拼团群实时关注拼团情况</p>  
19 - <div class="group_btn_box">  
20 - <div @click="showShareDes=true">  
21 - <img class="wechat2" src="@/assets/home/wechat2.png" alt="">  
22 - <p>分享给微信好友</p>  
23 - </div>  
24 - <div @click="showShareDes=true">  
25 - <img class="wechat3" src="@/assets/home/wechat3.png" alt="">  
26 - <p>分享至朋友圈</p>  
27 - </div>  
28 - </div>  
29 - </div>  
30 - </div>  
31 -</template>  
32 -<script>  
33 -export default {  
34 - props: ['chatGroupUrl'],  
35 - data () {  
36 - return {  
37 - count: '1',  
38 - showShareDes: false,//显示分享文案  
39 - }  
40 - },  
41 - mounted () {  
42 - },  
43 - methods: {  
44 -  
45 - }  
46 -}  
47 -</script>  
48 -<style lang="scss" scoped>  
49 -.group_code_popup_mask {  
50 - width: 100%;  
51 - height: 100vh;  
52 - position: fixed;  
53 - top: 0;  
54 - left: 0;  
55 - background: rgba(0, 0, 0, 0.7);  
56 - z-index: 99;  
57 - .share_des {  
58 - position: absolute;  
59 - top: 50px;  
60 - right: 100px;  
61 - width: 516px;  
62 - }  
63 -}  
64 -.group_code_popup {  
65 - position: absolute;  
66 - top: 50%;  
67 - left: 50%;  
68 - width: 624px;  
69 - background: #fff;  
70 - box-sizing: border-box;  
71 - border-radius: 20px;  
72 - overflow: hidden;  
73 - transform: translate(-50%, -50%);  
74 - .close {  
75 - position: absolute;  
76 - top: 0;  
77 - right: 0;  
78 - font-size: 40px;  
79 - padding: 30px;  
80 - }  
81 - .bg {  
82 - width: 100%;  
83 - }  
84 - .success {  
85 - position: absolute;  
86 - top: 84px;  
87 - left: 50%;  
88 - width: 112px;  
89 - transform: translateX(-50%);  
90 - }  
91 - .success_text {  
92 - position: absolute;  
93 - top: 180px;  
94 - width: 100%;  
95 - text-align: center;  
96 - font-size: 32px;  
97 - font-weight: bold;  
98 - }  
99 - .des {  
100 - position: absolute;  
101 - top: 234px;  
102 - width: 100%;  
103 - text-align: center;  
104 - color: #999;  
105 - font-size: 30px;  
106 - font-weight: bold;  
107 - }  
108 - .code_img {  
109 - display: block;  
110 - width: 372px;  
111 - margin: 10px auto;  
112 - margin-top: -40px;  
113 - }  
114 - .code_des {  
115 - width: 100%;  
116 - font-size: 28px;  
117 - font-weight: bold;  
118 - text-align: center;  
119 - }  
120 - .group_btn_box {  
121 - margin-top: 26px;  
122 - border: 1px solid #eff1f4;  
123 - div {  
124 - width: 50%;  
125 - height: 186px;  
126 - display: inline-flex;  
127 - align-content: center;  
128 - justify-content: center;  
129 - flex-wrap: wrap;  
130 - img {  
131 - display: block;  
132 - width: 56px;  
133 - }  
134 - .wechat2 {  
135 - width: 64px;  
136 - height: 54px;  
137 - }  
138 - .wechat3 {  
139 - width: 56px;  
140 - height: 58px;  
141 - }  
142 - p {  
143 - width: 100%;  
144 - font-size: 28px;  
145 - color: #999;  
146 - text-align: center;  
147 - }  
148 - }  
149 - }  
150 -}  
151 -</style>  
152 \ No newline at end of file 0 \ No newline at end of file
1 import Vue from 'vue' 1 import Vue from 'vue'
2 -import { Popup, Toast, Picker, Tag, Tab, Tabs, Area, Search, Swipe, SwipeItem, Cell, List, Collapse, CollapseItem, Button, Field, Icon, Sticky, DropdownMenu, DropdownItem, Rate, Calendar, Checkbox, Empty, Lazyload, Radio, RadioGroup, CellGroup, Dialog, CheckboxGroup } from 'vant'; 2 +import { Popup, Toast, Picker, Tag, Tab, Tabs, Area, Search, Swipe, SwipeItem, Cell, List, Collapse, CollapseItem, Button, Field, Icon, Sticky, DropdownMenu, DropdownItem, Rate, Calendar, Checkbox, Empty, Lazyload, Radio, RadioGroup, CellGroup, Dialog, CheckboxGroup, NavBar } from 'vant';
3 import App from './App.vue' 3 import App from './App.vue'
4 import router from './router' 4 import router from './router'
5 import store from './store' 5 import store from './store'
@@ -43,6 +43,7 @@ Vue @@ -43,6 +43,7 @@ Vue
43 .use(Lazyload) 43 .use(Lazyload)
44 .use(Toast) 44 .use(Toast)
45 .use(Dialog) 45 .use(Dialog)
  46 + .use(NavBar)
46 .use(RadioGroup) 47 .use(RadioGroup)
47 .use(Radio); 48 .use(Radio);
48 Vue.config.productionTip = false; 49 Vue.config.productionTip = false;
src/views/Home/Home.vue
@@ -88,35 +88,8 @@ export default { @@ -88,35 +88,8 @@ export default {
88 this.centerNo = sessionStorage.getItem('centerNo'); 88 this.centerNo = sessionStorage.getItem('centerNo');
89 this.getUserInfo() 89 this.getUserInfo()
90 90
91 - // this.checkAuth()  
92 }, 91 },
93 methods: { 92 methods: {
94 - // checkAuth () {  
95 - // let centerNo = this.common.getUrlParam('center_no') || sessionStorage.getItem('centerNo');  
96 - // if (centerNo) {  
97 - // this.centerNo = centerNo  
98 - // sessionStorage.setItem('centerNo', centerNo);  
99 - // this.getUserInfo()  
100 - // } else {  
101 - // const sUserAgent = window.navigator.userAgent.toLowerCase()  
102 - // const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1  
103 - // const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1  
104 - // if (dtdreamweb) {  
105 - // alert('浙里办')  
106 - // window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`;  
107 - // }  
108 - // // else if (miniprogram) {  
109 - // // alert('支付宝')  
110 - // // window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=passp&goto=`;  
111 - // // }  
112 - // else {  
113 - // console.log('非浙里办渠道访问,显示测试用户数据')  
114 - // this.centerNo = '20210930160466993660'  
115 - // sessionStorage.setItem('centerNo', '20210930160466993660');  
116 - // this.getUserInfo()  
117 - // }  
118 - // }  
119 - // },  
120 // 研学码 93 // 研学码
121 handleYanxue () { 94 handleYanxue () {
122 this.$router.push({ name: 'YanxueCode' }) 95 this.$router.push({ name: 'YanxueCode' })
@@ -193,7 +166,7 @@ export default { @@ -193,7 +166,7 @@ export default {
193 if (res.data.code == 200) { 166 if (res.data.code == 200) {
194 let userInfo = res.data.data.userInfo 167 let userInfo = res.data.data.userInfo
195 this.userInfo = userInfo 168 this.userInfo = userInfo
196 - sessionStorage.setItem('userInfo', JSON.stringify(userInfo)) 169 + localStorage.setItem('userInfo', JSON.stringify(userInfo))
197 } 170 }
198 this.showChildList = true 171 this.showChildList = true
199 172
src/views/Home/MyClassList.vue
@@ -59,7 +59,7 @@ export default { @@ -59,7 +59,7 @@ export default {
59 } 59 }
60 }, 60 },
61 mounted () { 61 mounted () {
62 - var userInfo = sessionStorage.getItem('userInfo'); 62 + var userInfo = localStorage.getItem('userInfo');
63 if (userInfo) { 63 if (userInfo) {
64 this.userInfo = JSON.parse(userInfo); 64 this.userInfo = JSON.parse(userInfo);
65 } 65 }
@@ -79,7 +79,7 @@ export default { @@ -79,7 +79,7 @@ export default {
79 message: '请求中...', 79 message: '请求中...',
80 }); 80 });
81 this.mgop({ 81 this.mgop({
82 - api: 'mgop.sz.hswsy.GetStudyBaseDetail', // 必须 82 + api: 'mgop.sz.hswsy.AddSign', // 必须
83 host: 'https://mapi.zjzwfw.gov.cn/', 83 host: 'https://mapi.zjzwfw.gov.cn/',
84 dataType: 'JSON', 84 dataType: 'JSON',
85 type: 'GET', 85 type: 'GET',
src/views/Home/component/AddChildPopupGroup.vue
@@ -133,7 +133,7 @@ export default { @@ -133,7 +133,7 @@ export default {
133 }, 133 },
134 134
135 mounted () { 135 mounted () {
136 - let userInfo = sessionStorage.getItem('userInfo') 136 + let userInfo = localStorage.getItem('userInfo')
137 this.userInfo = JSON.parse(userInfo); 137 this.userInfo = JSON.parse(userInfo);
138 this.initYearArr() 138 this.initYearArr()
139 this.GetSysAreaList() 139 this.GetSysAreaList()
src/views/Service/CheckOrder.vue
@@ -49,8 +49,6 @@ @@ -49,8 +49,6 @@
49 </div> 49 </div>
50 </template> 50 </template>
51 <script> 51 <script>
52 -import Axios from 'axios';  
53 -import wx from 'weixin-js-sdk';  
54 export default { 52 export default {
55 name: 'ServiceCheckOrder', 53 name: 'ServiceCheckOrder',
56 data () { 54 data () {
@@ -70,11 +68,10 @@ export default { @@ -70,11 +68,10 @@ export default {
70 } 68 }
71 }, 69 },
72 mounted () { 70 mounted () {
73 - let userInfo = sessionStorage.getItem('userInfo'); 71 + let userInfo = localStorage.getItem('userInfo');
74 if (userInfo) { 72 if (userInfo) {
75 this.userInfo = JSON.parse(userInfo); 73 this.userInfo = JSON.parse(userInfo);
76 } 74 }
77 -  
78 // 选择的出行人 75 // 选择的出行人
79 let selectedContactArr = sessionStorage.getItem('selectedContactArr'); 76 let selectedContactArr = sessionStorage.getItem('selectedContactArr');
80 if (selectedContactArr) { 77 if (selectedContactArr) {
@@ -106,6 +103,11 @@ export default { @@ -106,6 +103,11 @@ export default {
106 if (showCourseData) { 103 if (showCourseData) {
107 this.showCourseData = JSON.parse(showCourseData) 104 this.showCourseData = JSON.parse(showCourseData)
108 } 105 }
  106 + //判断是否为支付会跳,查询订单状态
  107 + let outTradeNo = localStorage.getItem('outTradeNo')
  108 + if (outTradeNo) {
  109 + this.getOrderStatus(outTradeNo)
  110 + }
109 }, 111 },
110 computed: { 112 computed: {
111 paymoney () { 113 paymoney () {
@@ -164,7 +166,6 @@ export default { @@ -164,7 +166,6 @@ export default {
164 "price": this.selectCombo.actualPrice * 1000 * this.count / 1000,//商品减掉优惠券之前的价格 166 "price": this.selectCombo.actualPrice * 1000 * this.count / 1000,//商品减掉优惠券之前的价格
165 "travelNum": this.selectedContact,//出行人编号 167 "travelNum": this.selectedContact,//出行人编号
166 "couponId": this.useCard?.id || 0, 168 "couponId": this.useCard?.id || 0,
167 - "appId": 'wx1305e88d2bc74073'  
168 }, 169 },
169 onSuccess: res => { 170 onSuccess: res => {
170 if (res.data.data) { 171 if (res.data.data) {
@@ -194,39 +195,39 @@ export default { @@ -194,39 +195,39 @@ export default {
194 const Jupiter = sUserAgent.indexOf("Jupiter") > -1 195 const Jupiter = sUserAgent.indexOf("Jupiter") > -1
195 if (Jupiter) { 196 if (Jupiter) {
196 alert('App') 197 alert('App')
197 - console.log('App')  
198 - this.mgop({  
199 - api: 'mgop.sz.hswsy.appPay', // 必须  
200 - host: 'https://mapi.zjzwfw.gov.cn/',  
201 - dataType: 'JSON',  
202 - type: 'POST',  
203 - appKey: 'fuxgnukl+2001895516+edccpx', // 必须  
204 - headers: {  
205 - // 'isTestUrl': '1'  
206 - },  
207 - data: {  
208 - "appid": "2021002189681626",  
209 - "attach": "string1",  
210 - "body": "string23",  
211 - "notify_url": "http://47.110.50.251:9091/api/alipay/pay",  
212 - "outTradeNo": new Date().getTime(),  
213 - "payType": 0,  
214 - "payWay": 0,  
215 - "productId": "11",  
216 - "quit_url": "https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy&goto=",  
217 - "subject": "string",  
218 - "totalFee": "0.01",  
219 - },  
220 - onSuccess: res => {  
221 - console.log(res)  
222 - this.BridgePay(res.data.message)  
223 - },  
224 - onFail: err => {  
225 - console.log('err', err)  
226 - }  
227 - }); 198 + // console.log('App')
  199 + // this.mgop({
  200 + // api: 'mgop.sz.hswsy.appPay', // 必须
  201 + // host: 'https://mapi.zjzwfw.gov.cn/',
  202 + // dataType: 'JSON',
  203 + // type: 'POST',
  204 + // appKey: 'fuxgnukl+2001895516+edccpx', // 必须
  205 + // headers: {
  206 + // // 'isTestUrl': '1'
  207 + // },
  208 + // data: {
  209 + // "appid": "2021002189681626",
  210 + // "attach": "string1",
  211 + // "body": "string23",
  212 + // "notify_url": "http://47.110.50.251:9091/api/alipay/pay",
  213 + // "outTradeNo": new Date().getTime(),
  214 + // "payType": 0,
  215 + // "payWay": 0,
  216 + // "productId": "11",
  217 + // "quit_url": location.href,
  218 + // "subject": "string",
  219 + // "totalFee": "0.01",
  220 + // },
  221 + // onSuccess: res => {
  222 + // console.log(res)
  223 + // this.BridgePay(res.data.message)
  224 + // },
  225 + // onFail: err => {
  226 + // console.log('err', err)
  227 + // }
  228 + // });
228 } else { 229 } else {
229 - alert('H5') 230 + // alert('H5')
230 console.log('h5') 231 console.log('h5')
231 this.mgop({ 232 this.mgop({
232 api: 'mgop.sz.hswsy.mobilePay', // 必须 233 api: 'mgop.sz.hswsy.mobilePay', // 必须
@@ -239,19 +240,20 @@ export default { @@ -239,19 +240,20 @@ export default {
239 }, 240 },
240 data: { 241 data: {
241 "appid": "2021002189681626", 242 "appid": "2021002189681626",
242 - "attach": "string1",  
243 - "body": "string23",  
244 - "notify_url": "http://47.110.50.251:9091/api/alipay/pay",  
245 - "outTradeNo": new Date().getTime(), 243 + "attach": this.showCourseData.course_name + '_' + this.date,
  244 + "body": this.showCourseData.course_name + '_' + this.date,
  245 + "notify_url": "https://yanxue.myjxt.com/api/Manage/AlipayBackInfo",
  246 + "outTradeNo": data.trade_no,
246 "payType": 0, 247 "payType": 0,
247 "payWay": 0, 248 "payWay": 0,
248 - "productId": "11",  
249 - "quit_url": "https://www.baidu.com",  
250 - "subject": "string", 249 + "productId": this.showCourseData.id, //商品id
  250 + "quit_url": location.href,
  251 + "subject": "研学产品",
251 "totalFee": "0.01", 252 "totalFee": "0.01",
252 }, 253 },
253 onSuccess: res => { 254 onSuccess: res => {
254 console.log(res) 255 console.log(res)
  256 + localStorage.setItem('outTradeNo', data.trade_no)
255 // res.data.data默认是我们拿到的form代码 257 // res.data.data默认是我们拿到的form代码
256 const div = document.createElement('div') 258 const div = document.createElement('div')
257 div.innerHTML = res.data.message 259 div.innerHTML = res.data.message
@@ -273,6 +275,37 @@ export default { @@ -273,6 +275,37 @@ export default {
273 "inSandBox": false 275 "inSandBox": false
274 } 276 }
275 }; 277 };
  278 + },
  279 + //判断是否为支付会跳,查询订单状态
  280 + getOrderStatus (outTradeNo) {
  281 + console.log('getOrderStatus')
  282 + this.$toast.loading()
  283 + this.mgop({
  284 + api: 'mgop.sz.hswsy.IsPayByTradNo', // 必须
  285 + host: 'https://mapi.zjzwfw.gov.cn/',
  286 + dataType: 'JSON',
  287 + type: 'POST',
  288 + appKey: 'fuxgnukl+2001895516+edccpx', // 必须
  289 + headers: {
  290 + // 'isTestUrl': '1'
  291 + },
  292 + data: {
  293 + "tradNo": outTradeNo,
  294 + },
  295 + onSuccess: res => {
  296 + console.log(res)
  297 + this.$toast.clear()
  298 + localStorage.removeItem('outTradeNo')
  299 + // 如果已支付就跳转
  300 + if (res.data.data) {
  301 + sessionStorage.removeItem('selectedContactArr')
  302 + this.$router.push({ name: 'ServiceOrderXST', query: { active: 1, showChatGroupUrl: 1 } })
  303 + }
  304 + },
  305 + onFail: err => {
  306 + console.log('err', err)
  307 + }
  308 + });
276 } 309 }
277 } 310 }
278 } 311 }
src/views/Service/EditContact.vue
@@ -74,7 +74,7 @@ export default { @@ -74,7 +74,7 @@ export default {
74 this.$toast('请输入正确的身份证号') 74 this.$toast('请输入正确的身份证号')
75 return; 75 return;
76 } 76 }
77 - let userInfo = sessionStorage.getItem('userInfo') 77 + let userInfo = localStorage.getItem('userInfo')
78 userInfo = userInfo ? JSON.parse(userInfo) : userInfo; 78 userInfo = userInfo ? JSON.parse(userInfo) : userInfo;
79 let postData = { 79 let postData = {
80 userNum: this.travelerNum, 80 userNum: this.travelerNum,
src/views/Service/ServiceBaseKQ.vue
@@ -491,6 +491,7 @@ export default { @@ -491,6 +491,7 @@ export default {
491 right: 20px; 491 right: 20px;
492 z-index: 99; 492 z-index: 99;
493 } 493 }
  494 +
494 } 495 }
495 496
496 ::v-deep .van-search__content { 497 ::v-deep .van-search__content {
src/views/Service/ServiceKQ.vue
@@ -23,27 +23,28 @@ export default { @@ -23,27 +23,28 @@ export default {
23 }, 23 },
24 methods: { 24 methods: {
25 checkAuth () { 25 checkAuth () {
26 - let centerNo = this.common.getUrlParam('center_no') || sessionStorage.getItem('centerNo'); 26 + let centerNo = sessionStorage.getItem('centerNo');
  27 + let ticket = this.common.getUrlParam('ticket');
27 if (centerNo) { 28 if (centerNo) {
28 this.centerNo = centerNo 29 this.centerNo = centerNo
29 sessionStorage.setItem('centerNo', centerNo); 30 sessionStorage.setItem('centerNo', centerNo);
30 this.getUserInfo() 31 this.getUserInfo()
  32 + } else if (ticket) {
  33 + this.getCenterByTicket(ticket)
31 } else { 34 } else {
32 const sUserAgent = window.navigator.userAgent.toLowerCase() 35 const sUserAgent = window.navigator.userAgent.toLowerCase()
33 const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1 36 const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1
34 const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1 37 const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1
35 if (dtdreamweb) { 38 if (dtdreamweb) {
36 - alert('浙里办') 39 + // alert('浙里办')
37 window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`; 40 window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`;
38 - // this.centerNo = '20210930160466993660'  
39 - // sessionStorage.setItem('centerNo', '20210930160466993660');  
40 - this.getUserInfo()  
41 } 41 }
42 else if (miniprogram) { 42 else if (miniprogram) {
43 - alert('支付宝') 43 + // alert('支付宝')
44 window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=hswsy`; 44 window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=hswsy`;
45 } 45 }
46 else { 46 else {
  47 + alert('非浙里办渠道访问,显示测试用户数据')
47 console.log('非浙里办渠道访问,显示测试用户数据') 48 console.log('非浙里办渠道访问,显示测试用户数据')
48 this.centerNo = '20210930160466993660' 49 this.centerNo = '20210930160466993660'
49 sessionStorage.setItem('centerNo', '20210930160466993660'); 50 sessionStorage.setItem('centerNo', '20210930160466993660');
@@ -51,6 +52,57 @@ export default { @@ -51,6 +52,57 @@ export default {
51 } 52 }
52 } 53 }
53 }, 54 },
  55 + // 通过ticket获取centerNo
  56 + getCenterByTicket (ticket) {
  57 + this.mgop({
  58 + api: 'mgop.sz.hswsy.getCenterNo', // 必须
  59 + host: 'https://mapi.zjzwfw.gov.cn/',
  60 + dataType: 'JSON',
  61 + type: 'POST',
  62 + appKey: 'fuxgnukl+2001895516+edccpx', // 必须
  63 + headers: {
  64 + // 'isTestUrl': '1'
  65 + },
  66 + data: {
  67 + "ticket": ticket,
  68 + },
  69 + onSuccess: res => {
  70 + console.log('通过ticket获取centerNo成功', res)
  71 + if (res.data.code == 200) {
  72 + this.centerNo = res.data.message
  73 + sessionStorage.setItem('centerNo', res.data.message);
  74 + } else {
  75 + this.reLoad()
  76 + }
  77 + },
  78 + onFail: err => {
  79 + console.log('通过ticket获取centerNo成功失败', err)
  80 + this.reLoad()
  81 + }
  82 + })
  83 + },
  84 + reLoad () {
  85 + console.log('reload')
  86 + ZWJSBridge.confirm({
  87 + "title": "警告",
  88 + "buttonLabels": [
  89 + "重新载入"
  90 + ],
  91 + "message": "用户身份验证失败,请重新加载"
  92 + }).then(res => {
  93 + const sUserAgent = window.navigator.userAgent.toLowerCase()
  94 + const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1
  95 + const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1
  96 + if (dtdreamweb) {
  97 + // alert('浙里办')
  98 + window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`;
  99 + }
  100 + else if (miniprogram) {
  101 + // alert('支付宝')
  102 + window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=hswsy`;
  103 + }
  104 + })
  105 + },
54 // 获取用户信息 106 // 获取用户信息
55 getUserInfo: function () { 107 getUserInfo: function () {
56 this.mgop({ 108 this.mgop({
@@ -68,7 +120,7 @@ export default { @@ -68,7 +120,7 @@ export default {
68 onSuccess: res => { 120 onSuccess: res => {
69 console.log('getUserInfo', res) 121 console.log('getUserInfo', res)
70 if (res.data.code == 200) { 122 if (res.data.code == 200) {
71 - sessionStorage.setItem('userInfo', JSON.stringify(res.data.data.userInfo)) 123 + localStorage.setItem('userInfo', JSON.stringify(res.data.data.userInfo))
72 } 124 }
73 }, 125 },
74 onFail: err => { 126 onFail: err => {
src/views/Service/ServiceOrderXST.vue
1 <template> 1 <template>
2 <div class="myOrders"> 2 <div class="myOrders">
  3 + <van-nav-bar
  4 + title=""
  5 + left-text="返回首页"
  6 + left-arrow
  7 + @click-left="back"
  8 +/>
3 <van-tabs v-model="active" :before-change="beforeTabChange"> 9 <van-tabs v-model="active" :before-change="beforeTabChange">
4 <van-tab title="待付款"> 10 <van-tab title="待付款">
5 <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoadpay()"> 11 <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoadpay()">
@@ -46,10 +52,7 @@ @@ -46,10 +52,7 @@
46 <van-icon name="clock-o" /><span class="grey"> 活动日期</span><span> {{item.startDate}} - {{ item.endDate}}</span> 52 <van-icon name="clock-o" /><span class="grey"> 活动日期</span><span> {{item.startDate}} - {{ item.endDate}}</span>
47 </div> 53 </div>
48 <div class="btnBox"> 54 <div class="btnBox">
49 - <div class="wechat_code" @click="openGroupCodePopup(index)" style="margin-right:15px">  
50 - <img src="@/assets/home/wechat.png" alt="">  
51 - <span>加入拼团群</span>  
52 - </div> 55 + <div></div>
53 <div> 56 <div>
54 <van-button class="btn" type="warning" plain size="small" @click="showPintuanAbout = true" style="margin-right:15px">退款说明</van-button> 57 <van-button class="btn" type="warning" plain size="small" @click="showPintuanAbout = true" style="margin-right:15px">退款说明</van-button>
55 <!-- <van-button type="info" size="small" @click="makeCode(item.id)">核销码</van-button> --> 58 <!-- <van-button type="info" size="small" @click="makeCode(item.id)">核销码</van-button> -->
@@ -189,12 +192,10 @@ @@ -189,12 +192,10 @@
189 <van-popup v-model="showPreview" round get-container="body"> 192 <van-popup v-model="showPreview" round get-container="body">
190 <img class="preview_img" :src="previewUrl" alt=""> 193 <img class="preview_img" :src="previewUrl" alt="">
191 </van-popup> 194 </van-popup>
192 - <GroupCodePopup v-if="showGroupCode" :chatGroupUrl="chatGroupUrl" @closeGroupCode="showGroupCode=false"></GroupCodePopup>  
193 </div> 195 </div>
194 </template> 196 </template>
195 197
196 <script> 198 <script>
197 -import GroupCodePopup from '@/component/GroupCodePopup'  
198 import QRCode from 'qrcodejs2' // 引入qrcode 199 import QRCode from 'qrcodejs2' // 引入qrcode
199 import html2canvas from "html2canvas" 200 import html2canvas from "html2canvas"
200 // let Base64 = require('js-base64').Base64; 201 // let Base64 = require('js-base64').Base64;
@@ -218,9 +219,6 @@ export default { @@ -218,9 +219,6 @@ export default {
218 imgUrl: '', 219 imgUrl: '',
219 previewUrl: '',//图片预览 220 previewUrl: '',//图片预览
220 showPreview: false, 221 showPreview: false,
221 - showGroupCode: false,//群码  
222 - chatGroupUrl: '',//群码图片  
223 - showChatGroupUrlTag: false  
224 } 222 }
225 }, 223 },
226 computed: { 224 computed: {
@@ -229,7 +227,7 @@ export default { @@ -229,7 +227,7 @@ export default {
229 } 227 }
230 }, 228 },
231 mounted () { 229 mounted () {
232 - let userInfo = sessionStorage.getItem('userInfo'); 230 + let userInfo = localStorage.getItem('userInfo');
233 if (userInfo) { 231 if (userInfo) {
234 this.userInfo = JSON.parse(userInfo); 232 this.userInfo = JSON.parse(userInfo);
235 } 233 }
@@ -237,12 +235,11 @@ export default { @@ -237,12 +235,11 @@ export default {
237 if (this.$route.query.active || this.$route.query.active == 0) { 235 if (this.$route.query.active || this.$route.query.active == 0) {
238 this.active = this.$route.query.active 236 this.active = this.$route.query.active
239 } 237 }
240 - // 进入页面直接显示第一个订单的群码  
241 - if (this.$route.query.showChatGroupUrl == 1) {  
242 - this.showChatGroupUrlTag = true  
243 - }  
244 }, 238 },
245 methods: { 239 methods: {
  240 + back(){
  241 + this.$router.push({ name: 'ServiceKQ'})
  242 + },
246 beforeTabChange (item) { 243 beforeTabChange (item) {
247 console.log(item) 244 console.log(item)
248 this.paylist = []; 245 this.paylist = [];
@@ -316,10 +313,6 @@ export default { @@ -316,10 +313,6 @@ export default {
316 this.movelist = res.data.data.list; 313 this.movelist = res.data.data.list;
317 this.loading = false; 314 this.loading = false;
318 this.finished = true; 315 this.finished = true;
319 - if (this.showChatGroupUrlTag) {  
320 - this.showChatGroupUrlTag = false;  
321 - this.openGroupCodePopup(0)  
322 - }  
323 } else { 316 } else {
324 this.$toast.fail(res.data.message); 317 this.$toast.fail(res.data.message);
325 } 318 }
@@ -352,10 +345,6 @@ export default { @@ -352,10 +345,6 @@ export default {
352 this.datalist = res.data.data.list; 345 this.datalist = res.data.data.list;
353 this.loading = false; 346 this.loading = false;
354 this.finished = true; 347 this.finished = true;
355 - if (this.showChatGroupUrlTag) {  
356 - this.showChatGroupUrlTag = false;  
357 - this.openGroupCodePopup(0)  
358 - }  
359 } else { 348 } else {
360 this.$toast.fail(res.data.message); 349 this.$toast.fail(res.data.message);
361 } 350 }
@@ -388,10 +377,6 @@ export default { @@ -388,10 +377,6 @@ export default {
388 this.list = res.data.data.list; 377 this.list = res.data.data.list;
389 this.loading = false; 378 this.loading = false;
390 this.finished = true; 379 this.finished = true;
391 - if (this.showChatGroupUrlTag) {  
392 - this.showChatGroupUrlTag = false;  
393 - this.openGroupCodePopup(0)  
394 - }  
395 } else { 380 } else {
396 this.$toast.fail(res.data.message); 381 this.$toast.fail(res.data.message);
397 } 382 }
@@ -429,11 +414,6 @@ export default { @@ -429,11 +414,6 @@ export default {
429 this.makeCode(item.id) 414 this.makeCode(item.id)
430 }, 1000); 415 }, 1000);
431 }, 416 },
432 - // 打开群码弹窗  
433 - openGroupCodePopup (index) {  
434 - this.chatGroupUrl = this.movelist[index]?.chatGroupUrl  
435 - this.showGroupCode = true;  
436 - },  
437 //跳转 417 //跳转
438 toEdit (item) { 418 toEdit (item) {
439 this.$router.push({ path: 'abroad_detail', query: { courseId: item.courseId } }) 419 this.$router.push({ path: 'abroad_detail', query: { courseId: item.courseId } })
@@ -455,7 +435,6 @@ export default { @@ -455,7 +435,6 @@ export default {
455 } 435 }
456 }, 436 },
457 components: { 437 components: {
458 - GroupCodePopup  
459 } 438 }
460 } 439 }
461 </script> 440 </script>
@@ -622,20 +601,6 @@ export default { @@ -622,20 +601,6 @@ export default {
622 display: flex; 601 display: flex;
623 justify-content: space-between; 602 justify-content: space-between;
624 align-items: center; 603 align-items: center;
625 - .wechat_code {  
626 - display: flex;  
627 - align-items: center;  
628 - height: 54px;  
629 - padding: 0 16px;  
630 - background: #00c800;  
631 - border-radius: 8px;  
632 - font-size: 28px;  
633 - color: #fff;  
634 - img {  
635 - width: 40px;  
636 - margin-right: 14px;  
637 - }  
638 - }  
639 } 604 }
640 .detailsBox { 605 .detailsBox {
641 color: #999999; 606 color: #999999;
@@ -921,9 +886,6 @@ export default { @@ -921,9 +886,6 @@ export default {
921 font-size: 36px; 886 font-size: 36px;
922 } 887 }
923 .btnBox { 888 .btnBox {
924 - .wechat_code {  
925 - font-size: 36px;  
926 - }  
927 .btn { 889 .btn {
928 font-size: 36px; 890 font-size: 36px;
929 } 891 }
src/views/Service/component/ServiceListFour.vue
@@ -42,9 +42,12 @@ @@ -42,9 +42,12 @@
42 </div> 42 </div>
43 </div> 43 </div>
44 </template> 44 </template>
  45 + <about-des></about-des>
  46 +
45 </div> 47 </div>
46 </template> 48 </template>
47 <script> 49 <script>
  50 +import AboutDes from './aboutDes.vue'
48 export default { 51 export default {
49 props: { 52 props: {
50 list: { 53 list: {
@@ -64,8 +67,11 @@ export default { @@ -64,8 +67,11 @@ export default {
64 }, 67 },
65 methods: { 68 methods: {
66 handleUniDetail (item) { 69 handleUniDetail (item) {
67 - this.$router.push({ name: 'ServiceAbroadDetail', query: { courseId: item.id} }) 70 + this.$router.push({ name: 'ServiceAbroadDetail', query: { courseId: item.id } })
68 }, 71 },
  72 + },
  73 + components:{
  74 + AboutDes
69 } 75 }
70 } 76 }
71 </script> 77 </script>
src/views/Service/component/ServiceListThird.vue
@@ -33,10 +33,12 @@ @@ -33,10 +33,12 @@
33 </div> 33 </div>
34 </div> 34 </div>
35 </template> 35 </template>
  36 + <about-des></about-des>
36 </div> 37 </div>
37 </div> 38 </div>
38 </template> 39 </template>
39 <script> 40 <script>
  41 +import AboutDes from './aboutDes.vue'
40 export default { 42 export default {
41 props: { 43 props: {
42 list: { 44 list: {
@@ -75,6 +77,9 @@ export default { @@ -75,6 +77,9 @@ export default {
75 orderScroll () { 77 orderScroll () {
76 // console.log(this.$refs.viewBox.scrollTop) 78 // console.log(this.$refs.viewBox.scrollTop)
77 } 79 }
  80 + },
  81 + components:{
  82 + AboutDes
78 } 83 }
79 } 84 }
80 </script> 85 </script>
src/views/Service/component/aboutDes.vue 0 → 100644
@@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
  1 +<template>
  2 + <p class="bottom_about_des">本服务由浙江政务服务网、柯桥区教育体育局、浙江行之教育信息咨询有限公司提供<br>服务咨询热线:<span @click="call">400-826-2468</span></p>
  3 +</template>
  4 +<script>
  5 +export default {
  6 + methods: {
  7 + call () {
  8 + ZWJSBridge.phoneCall({
  9 + "corpId": "400-826-2468"
  10 + }).then(res => {
  11 + console.log(res)
  12 + }).catch(err => {
  13 + console.log(err)
  14 + })
  15 + }
  16 + }
  17 +}
  18 +</script>
  19 +<style lang="scss">
  20 +.bottom_about_des {
  21 + font-size: 26px;
  22 + text-align: center;
  23 + padding: 40px;
  24 +
  25 + span{
  26 + color: rgb(41, 122, 189);
  27 + }
  28 +}
  29 +</style>
  30 +<style lang="scss">
  31 +.elder {
  32 + .bottom_about_des {
  33 + font-size: 32px;
  34 + }
  35 +}
  36 +</style>
0 \ No newline at end of file 37 \ No newline at end of file
src/views/Service/evaluateBase.vue
@@ -63,7 +63,7 @@ export default { @@ -63,7 +63,7 @@ export default {
63 imgCut 63 imgCut
64 }, 64 },
65 mounted () { 65 mounted () {
66 - var userInfo = window.sessionStorage.getItem('userInfo'); 66 + var userInfo = localStorage.getItem('userInfo');
67 if (userInfo) { 67 if (userInfo) {
68 this.userInfo = JSON.parse(userInfo); 68 this.userInfo = JSON.parse(userInfo);
69 } 69 }
src/views/Service/evaluateCourse.vue
@@ -67,11 +67,11 @@ export default { @@ -67,11 +67,11 @@ export default {
67 imgCut 67 imgCut
68 }, 68 },
69 mounted () { 69 mounted () {
70 - var userInfo = window.sessionStorage.getItem('userInfo'); 70 + var userInfo = localStorage.getItem('userInfo');
71 if (userInfo) { 71 if (userInfo) {
72 this.userInfo = JSON.parse(userInfo); 72 this.userInfo = JSON.parse(userInfo);
73 } 73 }
74 - var courseInfo = window.sessionStorage.getItem('courseInfo'); 74 + var courseInfo = sessionStorage.getItem('courseInfo');
75 if (courseInfo) { 75 if (courseInfo) {
76 this.courseInfo = JSON.parse(courseInfo); 76 this.courseInfo = JSON.parse(courseInfo);
77 } 77 }
src/views/Service/evaluatePubilc.vue
@@ -67,11 +67,11 @@ export default { @@ -67,11 +67,11 @@ export default {
67 imgCut 67 imgCut
68 }, 68 },
69 created () { 69 created () {
70 - var userInfo = window.sessionStorage.getItem('userInfo'); 70 + var userInfo = localStorage.getItem('userInfo');
71 if (userInfo) { 71 if (userInfo) {
72 this.userInfo = JSON.parse(userInfo); 72 this.userInfo = JSON.parse(userInfo);
73 } 73 }
74 - var courseInfo = window.sessionStorage.getItem('courseInfo'); 74 + var courseInfo = sessionStorage.getItem('courseInfo');
75 if (courseInfo) { 75 if (courseInfo) {
76 this.courseInfo = JSON.parse(courseInfo); 76 this.courseInfo = JSON.parse(courseInfo);
77 } 77 }