Commit 4336e181 authored by 164003836@qq.con's avatar 164003836@qq.con

车辆信息管理:http调用地址相关逻辑

parent f052b6e5
module.exports = { module.exports = {
NODE_ENV: '"development"', NODE_ENV: '"development"',
BASE_API: '"http://10.5.52.2:8765"', BASE_API: '"http://localhost:9527"',
APP_ORIGIN: '"https://wallstreetcn.com"' APP_ORIGIN: '"https://wallstreetcn.com"'
} }
...@@ -8,7 +8,7 @@ module.exports = { ...@@ -8,7 +8,7 @@ module.exports = {
index: path.resolve(__dirname, '../dist/index.html'), index: path.resolve(__dirname, '../dist/index.html'),
assetsRoot: path.resolve(__dirname, '../dist'), assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static', assetsSubDirectory: 'static',
assetsPublicPath: './', //请根据自己路径配置更改 assetsPublicPath: '/', //请根据自己路径配置更改
productionSourceMap: false, productionSourceMap: false,
// Gzip off by default as many popular static hosts such as // Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you. // Surge or Netlify already gzip all static assets for you.
...@@ -41,7 +41,10 @@ module.exports = { ...@@ -41,7 +41,10 @@ module.exports = {
pathRewrite: { pathRewrite: {
'^/api': '/api' '^/api': '/api'
}, },
} },
'/vehicle': {
target: 'http://10.5.52.2:8765'
},
}, },
// CSS Sourcemaps off by default because relative paths are "buggy" // CSS Sourcemaps off by default because relative paths are "buggy"
// with this option, according to the CSS-Loader README // with this option, according to the CSS-Loader README
......
module.exports = { module.exports = {
NODE_ENV: '"production"', NODE_ENV: '"production"',
BASE_API: '"https://api-prod"', BASE_API: '"http://10.5.52.2:9800"',
APP_ORIGIN: '"https://wallstreetcn.com"' APP_ORIGIN: '"https://wallstreetcn.com"'
}; };
...@@ -10026,6 +10026,22 @@ ...@@ -10026,6 +10026,22 @@
"resolved": "https://registry.npmjs.org/vuex/-/vuex-2.3.1.tgz", "resolved": "https://registry.npmjs.org/vuex/-/vuex-2.3.1.tgz",
"integrity": "sha1-zejpl8H5lXcZvH3qFU+appHZgaY=" "integrity": "sha1-zejpl8H5lXcZvH3qFU+appHZgaY="
}, },
"vxe-utils": {
"version": "1.4.8",
"resolved": "https://registry.npmjs.org/vxe-utils/-/vxe-utils-1.4.8.tgz",
"integrity": "sha512-FHIf9tNhuIo/JerZiiaccnrab8BdIVqM/WneMGgjVs0UnNgANecBcwfsB3xsMQrMiOV5JKkndNdr7Ry2DqK8gg==",
"requires": {
"vue": "^2.5.22",
"xe-utils": "^1.8.9"
},
"dependencies": {
"vue": {
"version": "2.6.10",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz",
"integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="
}
}
},
"watchpack": { "watchpack": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.4.0.tgz", "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.4.0.tgz",
...@@ -10585,6 +10601,11 @@ ...@@ -10585,6 +10601,11 @@
} }
} }
}, },
"xe-utils": {
"version": "1.8.19",
"resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-1.8.19.tgz",
"integrity": "sha512-XyAyb2xoz4WGZtYqr+S/B9eoFqYlhmqihRacS0+aJ9wAA8nJyl33BZbuRGzkCKTHnBatIrpv6rieysT1FrvNJQ=="
},
"xlsx": { "xlsx": {
"version": "0.10.9", "version": "0.10.9",
"resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.10.9.tgz", "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.10.9.tgz",
......
import axios from 'axios';
import rsCode from "../../../utils/rsCode";
import store from "../../../store"; import store from "../../../store";
import {
getToken
} from 'utils/auth';
import {Message, MessageBox} from "element-ui";
import XEUtils from 'xe-utils';//加入常用工具类 import XEUtils from 'xe-utils';//加入常用工具类
import VXEUtils from 'vxe-utils';//加入常用工具类 import fetch from 'utils/fetch';
// 创建axios实例
const fetch = axios.create({
baseURL: 'http://localhost:8091/vehicle', // api的base_url
timeout: 5000 // 请求超时时间
});
// request拦截器
fetch.interceptors.request.use(config => {
// Do something before request is sent
if (store.getters.token) {
config.headers['Authorization'] = getToken(); // 让每个请求携带token--['Authorization']为自定义key 请根据实际情况自行修改
}
return config;
}, error => {
// Do something with request error
console.log(error); // for debug
Promise.reject(error);
})
// respone拦截器
fetch.interceptors.response.use(
response => {
/**
* 下面的注释为通过response自定义code来标示请求状态,当code返回如下情况为权限有问题,登出并返回到登录页
* 如通过xmlhttprequest 状态码标识 逻辑可写在下面error中
*/
const res = response.data;
if (response.status === 401 || res.status === 40101) {
MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
confirmButtonText: '重新登录',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
store.dispatch('FedLogOut').then(() => {
location.reload(); // 为了重新实例化vue-router对象 避免bug
});
})
return Promise.reject('error');
}
if (res.status === 40301) {
Message({
message: '当前用户无相关操作权限!',
type: 'error',
duration: 5 * 1000
});
return Promise.reject('error');
}
if (res.status === 40001) {
Message({
message: '账户或密码错误!',
type: 'warning'
});
return Promise.reject('error');
}
if (response.status !== 200 && res.status !== 200) {
Message({
message: res.message,
type: 'error',
duration: 5 * 1000
});
} else {
return response.data;
}
},
error => {
// console.log(error); // for debug
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
});
return Promise.reject(error);
}
);
export function page(query) { export function page(query) {
return fetch({ return fetch({
url: '/branchCompany/page', url: '/vehicle/branchCompany/page',
method: 'get', method: 'get',
params: query params: query
}); });
...@@ -94,7 +12,7 @@ export function page(query) { ...@@ -94,7 +12,7 @@ export function page(query) {
export function getObj(id) { export function getObj(id) {
return fetch({ return fetch({
url: '/branchCompany/' + id, url: '/vehicle/branchCompany/' + id,
method: 'get' method: 'get'
}); });
} }
...@@ -102,7 +20,7 @@ export function getObj(id) { ...@@ -102,7 +20,7 @@ export function getObj(id) {
export function addObj(obj) { export function addObj(obj) {
return fetch({ return fetch({
url: '/branchCompany/', url: '/vehicle/branchCompany/',
method: 'post', method: 'post',
data: obj data: obj
}); });
...@@ -111,14 +29,14 @@ export function addObj(obj) { ...@@ -111,14 +29,14 @@ export function addObj(obj) {
export function delObj(id) { export function delObj(id) {
return fetch({ return fetch({
url: '/branchCompany/' + id, url: '/vehicle/branchCompany/' + id,
method: 'delete' method: 'delete'
}) })
} }
export function putObj(obj) { export function putObj(obj) {
return fetch({ return fetch({
url: '/branchCompany', url: '/vehicle/branchCompany',
method: 'put', method: 'put',
data: obj data: obj
}) })
...@@ -126,7 +44,7 @@ export function putObj(obj) { ...@@ -126,7 +44,7 @@ export function putObj(obj) {
export function getAll() { export function getAll() {
return fetch({ return fetch({
url: '/branchCompany', url: '/vehicle/branchCompany',
method: 'get' method: 'get'
}) })
} }
......
...@@ -9,19 +9,29 @@ import { ...@@ -9,19 +9,29 @@ import {
VEHICLE_CONSTANT_USE_TYPE_UNKOWN, VEHICLE_CONSTANT_USE_TYPE_UNKOWN,
VEHICLE_CONSTANT_STATUS_NORMAL VEHICLE_CONSTANT_STATUS_NORMAL
} from '../../../store/modules/baseInfo'; } from '../../../store/modules/baseInfo';
import {BASE_API} from "../../../../config/dev.env";
import {
getToken
} from 'utils/auth';
function loadFromServer(type) { function loadFromServer(type) {
if (!type) { if (!type) {
console.error(' load constant with no type'); console.error(' load constant with no type');
return; return;
} }
let headerAuthorization = undefined;
if (store.getters.token) {
headerAuthorization = getToken(); // 让每个请求携带token--['Authorization']为自定义key 请根据实际情况自行修改
}
// url : baseURL+"",//路径 // url : baseURL+"",//路径
let rs; let rs;
$.ajax({ $.ajax({
type: 'get', type: 'get',
url: 'http://localhost:8091/vehicle/constant/type/' + type, url: process.env.BASE_API + '/vehicle/constant/type/' + type,
async: false, async: false,
headers: {
Authorization: headerAuthorization
},
dataType: 'json', dataType: 'json',
data: {}, data: {},
success: function (result) { success: function (result) {
......
import store from '../../../store'; import store from '../../../store';
import rsCode from '../../../utils/rsCode'; import rsCode from '../../../utils/rsCode';
import baseInfo from "../../../store/modules/baseInfo"; import {
getToken
} from 'utils/auth';
function loadFromServer(codes) { function loadFromServer(codes) {
if (!codes) { if (!codes) {
console.error(' load region with no code'); console.error(' load region with no code');
} }
let headerAuthorization = undefined;
if (store.getters.token) {
headerAuthorization = getToken(); // 让每个请求携带token--['Authorization']为自定义key 请根据实际情况自行修改
}
// url : baseURL+"",//路径 // url : baseURL+"",//路径
let rs; let rs;
$.ajax({ $.ajax({
type: 'get', type: 'get',
url: 'http://localhost:8091/vehicle/sysRegion', url: process.env.BASE_API + '/vehicle/sysRegion',
async: false, async: false,
headers: {
Authorization: headerAuthorization
},
dataType: 'json', dataType: 'json',
data: { data: {
idListJson: JSON.stringify(codes) idListJson: JSON.stringify(codes)
...@@ -37,11 +45,18 @@ function loadSonsFromServer(code) { ...@@ -37,11 +45,18 @@ function loadSonsFromServer(code) {
if (!code) { if (!code) {
console.error(' load region with no code'); console.error(' load region with no code');
} }
let headerAuthorization = undefined;
if (store.getters.token) {
headerAuthorization = getToken(); // 让每个请求携带token--['Authorization']为自定义key 请根据实际情况自行修改
}
// url : baseURL+"",//路径 // url : baseURL+"",//路径
let rs; let rs;
$.ajax({ $.ajax({
type: 'get', type: 'get',
url: 'http://localhost:8091/vehicle/sysRegion/sons/' + code, url: process.env.BASE_API + '/vehicle/sysRegion/sons/' + code,
headers: {
Authorization: headerAuthorization
},
async: false, async: false,
data: {}, data: {},
success: function (result) { success: function (result) {
......
import axios from 'axios'; import fetch from 'utils/fetch';
import store from "../../../store";
import {
getToken
} from 'utils/auth';
import {Message, MessageBox} from "element-ui";
// 创建axios实例
const fetch = axios.create({
baseURL: 'http://localhost:8091/vehicle', // api的base_url
timeout: 5000 // 请求超时时间
});
// request拦截器
fetch.interceptors.request.use(config => {
// Do something before request is sent
if (store.getters.token) {
config.headers['Authorization'] = getToken(); // 让每个请求携带token--['Authorization']为自定义key 请根据实际情况自行修改
}
return config;
}, error => {
// Do something with request error
console.log(error); // for debug
Promise.reject(error);
})
// respone拦截器
fetch.interceptors.response.use(
response => {
/**
* 下面的注释为通过response自定义code来标示请求状态,当code返回如下情况为权限有问题,登出并返回到登录页
* 如通过xmlhttprequest 状态码标识 逻辑可写在下面error中
*/
const res = response.data;
if (response.status === 401 || res.status === 40101) {
MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
confirmButtonText: '重新登录',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
store.dispatch('FedLogOut').then(() => {
location.reload(); // 为了重新实例化vue-router对象 避免bug
});
})
return Promise.reject('error');
}
if (res.status === 40301) {
Message({
message: '当前用户无相关操作权限!',
type: 'error',
duration: 5 * 1000
});
return Promise.reject('error');
}
if (res.status === 40001) {
Message({
message: '账户或密码错误!',
type: 'warning'
});
return Promise.reject('error');
}
if (response.status !== 200 && res.status !== 200) {
Message({
message: res.message,
type: 'error',
duration: 5 * 1000
});
} else {
return response.data;
}
},
error => {
// console.log(error); // for debug
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
});
return Promise.reject(error);
}
);
export function page(query) { export function page(query) {
return fetch({ return fetch({
url: '/vehicleInfo/bookedRecord', url: '/vehicle/vehicleInfo/bookedRecord',
method: 'get', method: 'get',
params: {vehicleBookRecordQueryVoJson: JSON.stringify(query)} params: {vehicleBookRecordQueryVoJson: JSON.stringify(query)}
}); });
...@@ -91,7 +11,7 @@ export function page(query) { ...@@ -91,7 +11,7 @@ export function page(query) {
export function getObj(id) { export function getObj(id) {
return fetch({ return fetch({
url: '/vehicleInfo/' + id, url: '/vehicle/vehicleInfo/' + id,
method: 'get' method: 'get'
}); });
} }
...@@ -99,21 +19,21 @@ export function getObj(id) { ...@@ -99,21 +19,21 @@ export function getObj(id) {
export function prove(id) { export function prove(id) {
return fetch({ return fetch({
url: '/vehicleInfo/book/4employee/prove/' + id, url: '/vehicle/vehicleInfo/book/4employee/prove/' + id,
method: 'put' method: 'put'
}); });
} }
export function reject(id) { export function reject(id) {
return fetch({ return fetch({
url: '/vehicleInfo/book/4employee/reject/' + id, url: '/vehicle/vehicleInfo/book/4employee/reject/' + id,
method: 'put' method: 'put'
}); });
} }
export function unbook(id) { export function unbook(id) {
return fetch({ return fetch({
url: '/vehicleInfo/unbook/4employee/' + id, url: '/vehicle/vehicleInfo/unbook/4employee/' + id,
method: 'delete' method: 'delete'
}); });
} }
import axios from 'axios'; import fetch from 'utils/fetch';
import store from "../../../store";
import {Message, MessageBox} from "element-ui";
import {
getToken
} from 'utils/auth';
// 创建axios实例
const fetch = axios.create({
baseURL: 'http://localhost:8091/vehicle', // api的base_url
timeout: 5000 // 请求超时时间
});
// request拦截器
fetch.interceptors.request.use(config => {
// Do something before request is sent
if (store.getters.token) {
config.headers['Authorization'] = getToken(); // 让每个请求携带token--['Authorization']为自定义key 请根据实际情况自行修改
}
return config;
}, error => {
// Do something with request error
console.log(error); // for debug
Promise.reject(error);
})
// respone拦截器
fetch.interceptors.response.use(
response => {
/**
* 下面的注释为通过response自定义code来标示请求状态,当code返回如下情况为权限有问题,登出并返回到登录页
* 如通过xmlhttprequest 状态码标识 逻辑可写在下面error中
*/
const res = response.data;
if (response.status === 401 || res.status === 40101) {
MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
confirmButtonText: '重新登录',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
store.dispatch('FedLogOut').then(() => {
location.reload(); // 为了重新实例化vue-router对象 避免bug
});
})
return Promise.reject('error');
}
if (res.status === 40301) {
Message({
message: '当前用户无相关操作权限!',
type: 'error',
duration: 5 * 1000
});
return Promise.reject('error');
}
if (res.status === 40001) {
Message({
message: '账户或密码错误!',
type: 'warning'
});
return Promise.reject('error');
}
if (response.status !== 200 && res.status !== 200) {
Message({
message: res.message,
type: 'error',
duration: 5 * 1000
});
} else {
return response.data;
}
},
error => {
// console.log(error); // for debug
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
});
return Promise.reject(error);
}
);
export function page(query) { export function page(query) {
return fetch({ return fetch({
url: '/vehicleInfo/page', url: '/vehicle/vehicleInfo/page',
method: 'get', method: 'get',
params: {vehiclePageQueryVoJson: query} params: {vehiclePageQueryVoJson: query}
}); });
...@@ -93,7 +10,7 @@ export function page(query) { ...@@ -93,7 +10,7 @@ export function page(query) {
export function getObj(id) { export function getObj(id) {
return fetch({ return fetch({
url: '/vehicleInfo/' + id, url: '/vehicle/vehicleInfo/' + id,
method: 'get' method: 'get'
}); });
} }
...@@ -101,7 +18,7 @@ export function getObj(id) { ...@@ -101,7 +18,7 @@ export function getObj(id) {
export function addObj(obj) { export function addObj(obj) {
return fetch({ return fetch({
url: '/vehicleInfo', url: '/vehicle/vehicleInfo',
method: 'post', method: 'post',
data: [obj] data: [obj]
}); });
...@@ -109,7 +26,7 @@ export function addObj(obj) { ...@@ -109,7 +26,7 @@ export function addObj(obj) {
export function book(param) { export function book(param) {
return fetch({ return fetch({
url: '/vehicleInfo/book/4employee', url: '/vehicle/vehicleInfo/book/4employee',
method: 'post', method: 'post',
data: param data: param
}) })
...@@ -117,7 +34,7 @@ export function book(param) { ...@@ -117,7 +34,7 @@ export function book(param) {
export function putObj(obj) { export function putObj(obj) {
return fetch({ return fetch({
url: '/vehicleInfo', url: '/vehicle/vehicleInfo',
method: 'put', method: 'put',
data: [obj] data: [obj]
}) })
...@@ -125,14 +42,14 @@ export function putObj(obj) { ...@@ -125,14 +42,14 @@ export function putObj(obj) {
export function getBookedInfoIn2Month(vehicleId) { export function getBookedInfoIn2Month(vehicleId) {
return fetch({ return fetch({
url: '/vehicleInfo/bookedInfo/' + vehicleId, url: '/vehicle/vehicleInfo/bookedInfo/' + vehicleId,
method: 'get' method: 'get'
}); });
} }
export function getBookedInfo(vehicleId, yearMonth) { export function getBookedInfo(vehicleId, yearMonth) {
return fetch({ return fetch({
url: '/vehicleInfo/bookedInfo/' + vehicleId + '/' + yearMonth, url: '/vehicle/vehicleInfo/bookedInfo/' + vehicleId + '/' + yearMonth,
method: 'get' method: 'get'
}); });
} }
...@@ -10,7 +10,7 @@ import { ...@@ -10,7 +10,7 @@ import {
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
// baseURL: process.env.BASE_API, // api的base_url baseURL: process.env.BASE_API, // api的base_url
timeout: 5000 // 请求超时时间 timeout: 5000 // 请求超时时间
}); });
......
...@@ -304,7 +304,18 @@ ...@@ -304,7 +304,18 @@
this.listLoading = true; this.listLoading = true;
page(this.listQuery) page(this.listQuery)
.then(response => { .then(response => {
this.list = response.data.data; let listTemp = response.data.data;
//一次读入所有涉及地区,防止多次读取
if (!this.$utils.isEmpty(listTemp)) {
let allRegions = new Set();
for (let index in listTemp) {
allRegions.add(listTemp[index].addrProvince);
allRegions.add(listTemp[index].addrCity);
allRegions.add(listTemp[index].addrTown);
}
getRegionByCodes([...allRegions]);
}
this.list = listTemp;
this.total = response.data.totalCount; this.total = response.data.totalCount;
this.listLoading = false; this.listLoading = false;
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment