feiyue.teng

出口撤销单回执日志与登录功能的开发

...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
42 "dependencies": { 42 "dependencies": {
43 "axios": "0.21.1", 43 "axios": "0.21.1",
44 "core-js": "3.8.3", 44 "core-js": "3.8.3",
45 + "crypto-js": "^4.2.0",
45 "docx-preview": "^0.1.20", 46 "docx-preview": "^0.1.20",
46 "element-ui": "^2.15.14", 47 "element-ui": "^2.15.14",
47 "vue": "2.6.14", 48 "vue": "2.6.14",
...@@ -56,7 +57,7 @@ ...@@ -56,7 +57,7 @@
56 "babel-eslint": "10.1.0", 57 "babel-eslint": "10.1.0",
57 "chalk": "4.1.1", 58 "chalk": "4.1.1",
58 "connect": "3.6.6", 59 "connect": "3.6.6",
59 - "eslint": "7.30.0", 60 + "eslint": "^6.8.0",
60 "eslint-plugin-vue": "7.12.1", 61 "eslint-plugin-vue": "7.12.1",
61 "lint-staged": "10.5.4", 62 "lint-staged": "10.5.4",
62 "runjs": "4.4.2", 63 "runjs": "4.4.2",
......
...@@ -15,4 +15,14 @@ export function getAllCancellation(data) { ...@@ -15,4 +15,14 @@ export function getAllCancellation(data) {
15 method: 'post', 15 method: 'post',
16 data: data, 16 data: data,
17 }) 17 })
18 +}
19 +//出口撤销单回执
20 +/**
21 + * @param copNo * 清单总分单号
22 + */
23 +export function getExportCancellationReceiptData(data) {
24 + return request({
25 + url: '/bus-customer/exportCancellation/receipt/' + data.copNo,
26 + method: 'get',
27 + })
18 } 28 }
...\ No newline at end of file ...\ No newline at end of file
......
1 import request from '@/utils/request' 1 import request from '@/utils/request'
2 2
3 -// 登录方法
4 export function login(loginName, password, rememberMe, equipmentType, userAgent, selectedLocale) { 3 export function login(loginName, password, rememberMe, equipmentType, userAgent, selectedLocale) {
5 // const data = { 4 // const data = {
6 // loginName, 5 // loginName,
7 // password, 6 // password,
8 // rememberMe 7 // rememberMe
9 // } 8 // }
10 -
11 -
12 - const data = {
13 - "email": "247908967@qq.com",
14 - "name": "测试用户",
15 - "phone": 18221643976,
16 - "port": "TSN",
17 - "purpleId": '测试用户',
18 - "role": 170
19 - }
20 - return request({
21 - url: '/bus-customer/login',
22 - method: 'post',
23 - data: data
24 - })
25 -
26 -
27 // const data = { 9 // const data = {
28 - // "loginName":loginName, 10 + // "email": "247908967@qq.com",
29 - // "password":password, 11 + // "name": "测试用户",
12 + // "phone": 18221643976,
13 + // "port": "TSN",
14 + // "purpleId": '测试用户',
15 + // "role": 170
30 // } 16 // }
31 // return request({ 17 // return request({
32 - // url: '/bus-customer/customerLogin', 18 + // url: '/bus-customer/login',
33 - // method: 'post', 19 + // method: 'post',
34 - // data: data 20 + // data: data
35 - // }) 21 + // })
22 + const data = {
23 + "loginName":loginName,
24 + "password":password,
25 + }
26 + return request({
27 + url: '/bus-customer/customerLogin',
28 + method: 'post',
29 + data: data
30 + })
36 } 31 }
37 32
38 // 退出方法 33 // 退出方法
......
...@@ -3,11 +3,12 @@ import store from './store' ...@@ -3,11 +3,12 @@ import store from './store'
3 import { Message, MessageBox } from 'element-ui' 3 import { Message, MessageBox } from 'element-ui'
4 import { getToken, getLoginType } from '@/utils/auth' 4 import { getToken, getLoginType } from '@/utils/auth'
5 import { alertWarningMsg, alertSuccessMsg, alertErrorMsg } from "@/utils/index"; 5 import { alertWarningMsg, alertSuccessMsg, alertErrorMsg } from "@/utils/index";
6 - 6 +import { getParamsObj } from '@/utils/parseUrlParams'
7 -
8 const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/relogin'] 7 const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/relogin']
9 8
9 +
10 router.beforeEach((to, from, next) => { 10 router.beforeEach((to, from, next) => {
11 +
11 if (to.path == '/relogin') { 12 if (to.path == '/relogin') {
12 next() 13 next()
13 } else { 14 } else {
...@@ -44,7 +45,14 @@ router.beforeEach((to, from, next) => { ...@@ -44,7 +45,14 @@ router.beforeEach((to, from, next) => {
44 // 在免登录白名单,直接进入 45 // 在免登录白名单,直接进入
45 next() 46 next()
46 } else { 47 } else {
47 - next(`/login`) // 否则全部重定向到登录页 48 + if (to.path === '/reportingData') {
49 + const userToken = getParamsObj(location.href).token
50 + store.dispatch('LoginWithoutPassword', userToken).then(()=>{
51 + next(`/reportingData`)
52 + })
53 + } else {
54 + next(`/login`) // 否则全部重定向到登录页
55 + }
48 } 56 }
49 } 57 }
50 } 58 }
......
...@@ -2,6 +2,7 @@ import { login, logout } from '@/api/login' ...@@ -2,6 +2,7 @@ import { login, logout } from '@/api/login'
2 import { getInfo } from '@/api/system/user.js' 2 import { getInfo } from '@/api/system/user.js'
3 import { getLogisticsCodeLis, getDictData } from '@/api/system/dict-api.js' 3 import { getLogisticsCodeLis, getDictData } from '@/api/system/dict-api.js'
4 import { getToken, setToken, removeToken, removeUserId, removeTime } from '@/utils/auth' 4 import { getToken, setToken, removeToken, removeUserId, removeTime } from '@/utils/auth'
5 +import { getParamsObj } from '@/utils/parseUrlParams'
5 import { alertWarningMsg } from '@/utils/index.js' 6 import { alertWarningMsg } from '@/utils/index.js'
6 7
7 const user = { 8 const user = {
...@@ -77,6 +78,18 @@ const user = { ...@@ -77,6 +78,18 @@ const user = {
77 }) 78 })
78 }) 79 })
79 }, 80 },
81 + //非账号密码登录
82 + LoginWithoutPassword({ commit }, token) {
83 + return new Promise((resolve) => {
84 + if (!getToken()) {
85 + setToken(token)
86 + commit('SET_TOKEN', token)
87 + resolve(token)
88 + } else {
89 + resolve(token)
90 + }
91 + })
92 + },
80 93
81 // 获取用户信息 94 // 获取用户信息
82 async GetInfo({ commit, state }) { 95 async GetInfo({ commit, state }) {
......
1 +export const getParamsObj = (url) => {
2 + const params = new URLSearchParams(url.split('?')[1]);
3 + const paramObj = {};
4 + for (const [key, value] of params) {
5 + paramObj[key] = value;
6 + }
7 + return paramObj;
8 + }
...\ No newline at end of file ...\ No newline at end of file
...@@ -116,12 +116,32 @@ ...@@ -116,12 +116,32 @@
116 :selectFixed="false" 116 :selectFixed="false"
117 :rowSelectDataType="false" 117 :rowSelectDataType="false"
118 > 118 >
119 + <template v-slot:returnStatus="scope">
120 + <TablePopover
121 + ref="returnStatusPopover"
122 + dataKey="returnStatus"
123 + :parentDom="$refs.entryTable"
124 + :receiptDataHead="receiptDataHead"
125 + :rowData="scope.row"
126 + :tableData="tableData"
127 + @popoverChange="popoverChange"
128 + @popoverClose="popoverClose"
129 + >
130 + <div slot="title">
131 + <span style="font-weight: 700; color: #515a6e">运单编号:</span
132 + >{{ scope.row.logisticsNo }}
133 + </div>
134 + <div slot="buttonLabel">
135 + {{ scope.row.returnStatus }}
136 + </div>
137 + </TablePopover>
138 + </template>
119 </Table> 139 </Table>
120 </div> 140 </div>
121 </template> 141 </template>
122 142
123 <script> 143 <script>
124 -import { getAllCancellation } from "@/api/exportRevokeBill-api.js"; 144 +import { getAllCancellation, getExportCancellationReceiptData } from "@/api/exportRevokeBill-api.js";
125 145
126 export default { 146 export default {
127 name: "ExportRevokeBillQuery", 147 name: "ExportRevokeBillQuery",
...@@ -144,6 +164,7 @@ export default { ...@@ -144,6 +164,7 @@ export default {
144 value: "returnStatus", 164 value: "returnStatus",
145 width: "", 165 width: "",
146 align: "left", 166 align: "left",
167 + slot: true,
147 }, 168 },
148 { 169 {
149 name: "提运单号", 170 name: "提运单号",
...@@ -191,19 +212,19 @@ export default { ...@@ -191,19 +212,19 @@ export default {
191 receiptDataHead: [ 212 receiptDataHead: [
192 { 213 {
193 name: "回执状态", 214 name: "回执状态",
194 - value: "receiptStatus", 215 + value: "returnStatus",
195 width: "", 216 width: "",
196 align: "left", 217 align: "left",
197 }, 218 },
198 { 219 {
199 name: "状态时间", 220 name: "状态时间",
200 - value: "statusTime", 221 + value: "returnTime",
201 width: "", 222 width: "",
202 align: "left", 223 align: "left",
203 }, 224 },
204 { 225 {
205 name: "回执描述", 226 name: "回执描述",
206 - value: "receiptDescription", 227 + value: "returnInfo",
207 width: "", 228 width: "",
208 align: "left", 229 align: "left",
209 }, 230 },
...@@ -290,7 +311,7 @@ export default { ...@@ -290,7 +311,7 @@ export default {
290 popoverChange(val) { 311 popoverChange(val) {
291 console.log(val); 312 console.log(val);
292 this.tableData = val.tableData; 313 this.tableData = val.tableData;
293 - this.receiptApi(val.data.declareId, val.status) 314 + this.receiptApi(val.data.copNo, val.status)
294 .then((res) => { 315 .then((res) => {
295 val.tableData.forEach((item) => { 316 val.tableData.forEach((item) => {
296 if (item.declareId == val.data.declareId) { 317 if (item.declareId == val.data.declareId) {
...@@ -306,10 +327,21 @@ export default { ...@@ -306,10 +327,21 @@ export default {
306 }); 327 });
307 }, 328 },
308 //查询回执 329 //查询回执
309 - receiptApi(id, type) { 330 + receiptApi(id) {
310 return new Promise((resolve, reject) => { 331 return new Promise((resolve, reject) => {
311 - let obj = { declareId: id }; 332 + let obj = { copNo: id };
312 - resolve(); 333 + getExportCancellationReceiptData(obj)
334 + .then((res) => {
335 + if (res.code === "200") {
336 + resolve(res.data);
337 + } else {
338 + reject();
339 + }
340 + })
341 + .catch((err) => {
342 + console.log(err);
343 + reject();
344 + });
313 }); 345 });
314 }, 346 },
315 popoverClose(val) { 347 popoverClose(val) {
......
...@@ -571,6 +571,8 @@ export default { ...@@ -571,6 +571,8 @@ export default {
571 } 571 }
572 572
573 }, 573 },
574 +
575 +
574 //申报 576 //申报
575 declareData() { 577 declareData() {
576 if (this.selected.length > 0) { 578 if (this.selected.length > 0) {
......