Commit 2737e07b by 无尘

fix: 修改全局变量配置

parent 59f683fb
...@@ -2,3 +2,6 @@ ...@@ -2,3 +2,6 @@
/src/images /src/images
/dist/ /dist/
/*.js /*.js
src/assets
public
static
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
* @Author: 无尘 * @Author: 无尘
* @Date: 2020-07-16 16:36:48 * @Date: 2020-07-16 16:36:48
* @LastEditors: 无尘 * @LastEditors: 无尘
* @LastEditTime: 2020-07-16 18:24:43 * @LastEditTime: 2020-07-17 11:23:57
--> -->
# 好办 4.0 前端项目 # 好办 4.0 前端项目
> 由于 sass-node 经常出现下载问题,项目中尽量统一使用 less
## Build Setup ## Build Setup
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
"node-sass": "^4.9.0", "node-sass": "^4.9.0",
"qs": "^6.7.0", "qs": "^6.7.0",
"sass-loader": "^7.1.0", "sass-loader": "^7.1.0",
"style-resources-loader": "^1.3.3",
"stylus": "^0.54.5", "stylus": "^0.54.5",
"stylus-loader": "^3.0.2", "stylus-loader": "^3.0.2",
"vue-template-compiler": "^2.6.10" "vue-template-compiler": "^2.6.10"
......
/*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2018-10-10 14:44:45
* @LastEditors: 无尘
* @LastEditTime: 2020-07-17 11:14:33
*/
// import Vue from 'vue';
import axios from 'axios';
import qs from 'qs';
import { Message } from 'element-ui';
/**
* 获取好办 企业 id
*/
// if (!!localStorage.getItem('userInfos')) {
// let haobanSign = JSON.parse(localStorage.getItem('userInfos')).enterpriseId;
// axios.defaults.headers.post['haobansign'] = haobanSign;
// axios.defaults.headers.get['haobansign'] = haobanSign;
// }
axios.defaults.timeout = 500000;
let local = window.location.origin;
/* if (local.indexOf('localhost') != -1) {
local = 'http://www.gicdev.com';
} */
let axiosPromiseArr = []; //储存cancel toke
let pending = []; //声明一个数组用于存储每个ajax请求的取消函数和ajax标识
let CancelToken = axios.CancelToken;
let removePending = ever => {
for (let p in pending) {
if (pending[p].u === ever.url + '&' + ever.method) {
//当当前请求在数组中存在时执行函数体
pending[p].f(); //执行取消操作
pending.splice(p, 1); //把这条记录从数组中移除
}
}
};
axios.interceptors.request.use(
config => {
removePending(config); //在一个ajax发送前执行一下取消操作
config.cancelToken = new CancelToken(c => {
// 这里的ajax标识我是用请求地址&请求方式拼接的字符串,当然你可以选择其他的一些方式
pending.push({
u: config.url + '&' + config.method,
f: c
});
});
// 在发送请求设置cancel token
config.cancelToken = new axios.CancelToken(cancel => {
axiosPromiseArr.push({
cancel
});
});
return config;
},
err => {
Message.error({ message: '请求超时!' });
return Promise.resolve(err);
}
);
axios.interceptors.response.use(
data => {
removePending(data.config); //在一个ajax响应后再执行一下取消操作,把已经完成的请求从pending中移除
// console.log(data);
if (data.status && data.status == 200 && data.data.errorCode != 1) {
// Message.error({message: data.data.message});
if (data.data.errorCode == 4) {
if (window.location.href.indexOf('gic-error') != -1) {
return false;
}
window.location.href = local + '/haoban-3/#/login';
}
/* if (data.data.errorCode == 3) {
Message.error({ message: data.data.message });
window.location.href = local + '/haoban-3/#/login';
} */
if (data.data.errorCode == 10 || data.data.errorCode == 7) {
window.location.href = local + '/haoban-3/#/index';
}
return data;
}
return data;
},
err => {
// console.log(err, typeof err, err.response);
if (axios.isCancel(err)) {
// console.log('请求取消');
}
if (err.response.status == 502) {
window.location.href = local + '/haoban-3/#/login';
Message.error({ message: '服务异常⊙﹏⊙∥' });
}
// Message.error({message: err.response.message});
if (err.response.status == 504 || err.response.status == 404) {
// window.location.href= local + "/haoban-3/#/login"
// Message.error({message: '服务异常⊙﹏⊙∥'});
} else if (err.response.status == 403) {
// window.location.href= local + "/haoban-3/#/login"
// Message.error({message: '权限不足,请联系管理员!'});
} else {
window.location.href = local + '/haoban-3/#/login';
Message.error({ message: '登录失效!' });
}
return Promise.resolve(err);
}
);
/*
*
* 统一 get 请求方法
* @url: 请求的 url
* @params: 请求带的参数
* @header: 带 token
*
*/
export const getRequest = (url, params) => {
params.requestProject = 'haoban-manage-web';
return axios({
method: 'get',
url: `${local}${url}`,
data: {},
params: params,
headers: {
'Content-type': 'application/x-www-form-urlencoded'
} // "token": token
});
};
/**
*
* 统一 post 请求方法
* url: 请求的 url
* @params: 请求带的参数
* @header:
*
*/
export const postRequest = (url, params) => {
params.requestProject = 'haoban-manage-web';
return axios({
method: 'post',
url: `${local}${url}`,
data: qs.stringify(params),
headers: {
'Content-type': 'application/x-www-form-urlencoded'
} //multipart/form-data{"token": token}
});
};
export const postJsonRequest = (url, params) => {
params.requestProject = 'haoban-manage-web';
return axios({
method: 'post',
url: `${local}${url}`,
data: '{}',
params: params,
headers: { 'Content-Type': 'application/json;charset=UTF-8' } //multipart/form-data{"token": token}
});
};
/**
* method: 'post'
* 'Content-Type': 'application/json;charset=UTF-8'
* @data: params
* @requestProject: 'haoban-manage-web'
*
*/
export const postJson = (url, params) => {
// params.requestProject = "haoban-manage-web";
return axios({
method: 'post',
url: `${local}${url}`,
data: params,
params: { requestProject: 'haoban-manage-web' },
// withCredentials: true,
// credentials: 'same-origin',
headers: { 'Content-Type': 'application/json;charset=UTF-8' } //multipart/form-data{"token": token}
});
};
/**
* method: 'post'
* data: params
*
*/
export const postForm = (url, params) => {
params.requestProject = 'haoban-manage-web';
return axios({
method: 'post',
url: `${local}${url}`,
data: params,
headers: {} //'content-type': 'application/x-www-form-urlencoded'multipart/form-data{"token": token}
});
};
/**
* post excel
*/
export const postExcel = (url, params) => {
params.requestProject = 'haoban-manage-web';
return axios({
method: 'post',
url: `${local}${url}`,
data: qs.stringify(params),
responseType: 'blob',
headers: {
'content-type': 'application/x-www-form-urlencoded'
} //multipart/form-data{"token": token}
/* httpAgent: new http.Agent({
keepAlive: true
}),
httpsAgent: new https.Agent({
keepAlive: true
}) */
});
};
import getFetch from './getFetch.js'; import * as api from './api';
let api = {
getUserInfo: '/user/get-login-user', // 获取用户信息
sendSmsCode: '/user/send-auth-code-to-modify-phone', // 发送手机验证码
editUserName: '//user/edit-user-name', // 修改姓名
updatePhone: '/user/modify-phone', // 修改手机号
updatePwd: '/user/modify-password', // 修改密码
logout: '/logout', // 登出
}
api = getFetch(api, '/gic-auth-web');
export default api; export default api;
import getFetch from './getFetch.js';
let api = {
getUserInfo: '/user/get-login-user', // 获取用户信息
sendSmsCode: '/user/send-auth-code-to-modify-phone', // 发送手机验证码
editUserName: '//user/edit-user-name', // 修改姓名
updatePhone: '/user/modify-phone', // 修改手机号
updatePwd: '/user/modify-password', // 修改密码
logout: '/logout', // 登出
}
api = getFetch(api, '/gic-auth-web');
export default api;
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 400 335" style="enable-background:new 0 0 400 335;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FAFCFF;}
.st1{fill:#DBE5F1;}
.st2{fill:#DEE7F4;}
.st3{fill:#B9C7DB;}
.st4{fill:#FFFFFF;}
.st5{fill:none;stroke:#B9C7DB;stroke-width:4;stroke-miterlimit:10;}
.st6{fill:none;stroke:#B6C7D8;stroke-miterlimit:10;}
</style>
<path class="st5" d="M274.5,241.3c-5.3-5.3-4.4,4.4-6.7,6.7c-3.1,3.1-6.3,6-9.7,8.6H125.2c-3.4-2.7-6.6-5.6-9.7-8.7
c-28.4-28.5-38.6-70.5-26.6-109l-10.5-10.6c-5.3-5.3-5.3-13.8,0-19.2c5.2-5.3,13.7-5.3,19-0.1c0,0,0,0,0.1,0.1l6.6,6.8
c3.1,3.2,8.2,3.2,11.4,0l0,0c3.2-3.2,3.2-8.3,0-11.5L103.1,92c-3.2-3.2-3.2-8.3,0-11.5c3.1-3.2,8.2-3.2,11.4,0l0,0l17.2,17.2
c-0.9,3.7,0.9,7.6,4.4,9.3c3.5,1.7,7.7,0.6,9.9-2.5c2.3-3.1,2.1-7.4-0.5-10.3c-3.3-3.8-6.5-7.2-6.5-7.2l-7.3-7.4
c34.8-21.3,82.6-21.7,117.2,0c34.5,21.7,53.9,61.2,50,101.9l15.4,15.6c3.2,3.2,3.2,8.3,0,11.5c-3.1,3.2-8.2,3.2-11.4,0l0,0
l-15.1-15.3c-3.1-3.2-8.2-3.2-11.4,0l0,0c-3.2,3.2-3.2,8.3,0,11.5l17.1,17.2c5.2,5.3,5.2,13.8,0,19.1
C288.4,246.6,279.9,246.6,274.5,241.3C274.6,241.3,274.6,241.3,274.5,241.3L274.5,241.3z"/>
<path class="st3" d="M86.6,71.4c0,4.7,3.8,8.5,8.5,8.5c1.5,0,3-0.4,4.3-1.1c4.1-2.3,5.5-7.5,3.1-11.6c-1.5-2.6-4.3-4.3-7.4-4.3
C90.4,62.9,86.6,66.7,86.6,71.4"/>
<path class="st3" d="M216.4,145.4h24.3l-7.4,17.9c2.6,1.8,4.5,3.8,5.8,6c1.2,2.2,1.9,4.8,1.9,7.8c0,4.6-1.6,8.4-4.8,11.2
c-3.2,2.9-7.3,4.3-12.3,4.3c-2.5,0-5.1-0.4-7.5-1.1v-13.1c2,0.9,3.9,1.4,5.5,1.4s2.9-0.5,3.7-1.4c0.9-1,1.3-2.3,1.3-4.1
c0-1.9-0.8-3.4-2.4-4.6c-1.6-1.2-3.7-1.7-6.4-1.7l3.4-9.1h-5.1V145.4L216.4,145.4z M207.5,181.6c0,1.5-0.3,3-0.8,4.3
s-1.3,2.5-2.3,3.5s-2.2,1.8-3.4,2.3c-1.3,0.6-2.8,0.9-4.3,0.9h-9.6c-1.5,0-2.9-0.3-4.3-0.9c-1.3-0.6-2.5-1.3-3.4-2.3
c-0.4-0.4-0.8-0.9-1.2-1.4l11.7-17.3v6c0,0.6,0.2,1.1,0.6,1.4c0.4,0.4,0.8,0.6,1.4,0.6c1.1,0,2-0.8,2-1.9v-0.1v-11.9l10.9-16.1
c1.8,2,2.8,4.6,2.7,7.3L207.5,181.6L207.5,181.6L207.5,181.6z M177.1,185.9c-0.6-1.4-0.9-2.8-0.8-4.3V156c0-1.5,0.3-3,0.8-4.3
s1.3-2.5,2.3-3.5s2.2-1.8,3.4-2.3c1.3-0.6,2.8-0.9,4.3-0.9h9.6c1.5,0,2.9,0.3,4.3,0.9c1.3,0.5,2.4,1.3,3.4,2.3l-10.5,15.4v-2.7
c0-0.5-0.2-1.1-0.6-1.4c-0.4-0.4-0.9-0.6-1.4-0.6c-1.1,0-2,0.8-2,1.9v0.1v8.6l-12.1,17.9C177.5,186.9,177.3,186.4,177.1,185.9
L177.1,185.9z M243.8,192.7c3.5-7.4,5.3-15.5,5.3-23.7c0-30.5-24.4-55.2-54.6-55.2s-54.6,24.7-54.6,55.2c0,0.4,0,0.8,0,1.1
l19.6-24.6h11.4L154,171.3h5.5v-6.5l11.7-18.5v46.8h-11.7v-9.8h-17.8c5.1,19.2,20.1,34.3,39.2,39.2c-1.2,3.1-4.8,10.7-10.7,12
c-7.3,1.7,19.9,0.4,39.4-12.5c14.9-4.4,27.2-15,33.9-28.9L243.8,192.7L243.8,192.7z"/>
<path class="st4" d="M238.9,154.3l-24.4,35.4l0.5,0.3l24.4-35.4L238.9,154.3z"/>
<path class="st3" d="M266.2,66.6h8c0.7,0,1.3,0.6,1.3,1.3l0,0c0,0.4-0.1,0.7-0.4,1c-0.2,0.3-0.6,0.4-0.9,0.4h-8
c-0.4,0-0.7-0.1-0.9-0.4c-0.5-0.5-0.5-1.4,0-1.9C265.5,66.7,265.8,66.6,266.2,66.6 M116.5,201.9c-4.4,0-8,3.6-8,8.1s3.6,8.1,8,8.1
s8-3.6,8-8.1S120.9,201.9,116.5,201.9L116.5,201.9z M121.4,212.1c-0.8,2-2.8,3.3-4.9,3.3c-3,0-5.3-2.4-5.3-5.4c0-2.2,1.3-4.1,3.3-5
c2-0.8,4.3-0.4,5.8,1.2C121.8,207.7,122.2,210,121.4,212.1L121.4,212.1z M191.3,78.7c-4.4,0-8,3.6-8,8.1s3.6,8.1,8,8.1
c2.1,0,4.2-0.9,5.7-2.4s2.3-3.6,2.3-5.7C199.3,82.4,195.7,78.7,191.3,78.7z M196.3,88.9c-0.8,2-2.8,3.3-4.9,3.3
c-3,0-5.3-2.4-5.3-5.4c0-2.2,1.3-4.2,3.3-5s4.3-0.4,5.8,1.2C196.6,84.6,197.1,86.9,196.3,88.9L196.3,88.9z M270.2,162.6
c-4.4,0-8,3.6-8,8.1s3.6,8.1,8,8.1s8-3.6,8-8.1C278.2,166.3,274.6,162.6,270.2,162.6z M275.1,172.8c-0.8,2-2.8,3.3-4.9,3.3
c-3,0-5.3-2.4-5.3-5.4c0-2.2,1.3-4.2,3.3-5s4.3-0.4,5.8,1.2S275.9,170.8,275.1,172.8z M230.1,31.4c-4.4,0-8,3.6-8,8.1s3.6,8.1,8,8.1
c2.1,0,4.2-0.9,5.7-2.4s2.3-3.6,2.3-5.7C238.1,35,234.5,31.4,230.1,31.4z M235,41.6c-0.8,2-2.8,3.3-4.9,3.3c-3,0-5.3-2.4-5.3-5.4
c0-2.2,1.3-4.2,3.3-5s4.3-0.4,5.8,1.2C235.4,37.2,235.8,39.5,235,41.6z"/>
<path class="st3" d="M163.2,45.9h8.2c0.4,0,0.7,0.1,1,0.4c0.5,0.5,0.5,1.3,0,1.9l0,0c-0.3,0.3-0.6,0.4-1,0.4h-8.2
c-0.4,0-0.7-0.1-1-0.4c-0.5-0.5-0.5-1.3,0-1.9l0,0C162.4,46.1,162.8,45.9,163.2,45.9 M271.7,63.5v8c0,0.4-0.1,0.7-0.4,0.9
c-0.3,0.3-0.6,0.4-1,0.4c-0.7,0-1.4-0.6-1.4-1.3l0,0v-8c0-0.4,0.1-0.7,0.4-0.9c0.5-0.5,1.4-0.5,1.9,0
C271.6,62.8,271.7,63.2,271.7,63.5"/>
<path class="st3" d="M107.4,154.8h8.2c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.6,0.4,0.9c0,0.7-0.6,1.3-1.4,1.3h-8.2
c-0.5,0-0.9-0.3-1.2-0.7c-0.2-0.4-0.2-0.9,0-1.3C106.4,155.1,106.9,154.8,107.4,154.8 M169,42.7v8c0,0.4-0.1,0.7-0.4,0.9
c-0.5,0.5-1.4,0.5-2,0c-0.2-0.2-0.4-0.6-0.4-0.9v-8c0-0.4,0.1-0.7,0.4-0.9c0.5-0.5,1.4-0.5,1.9,0C168.8,42,169,42.3,169,42.7"/>
<path class="st3" d="M230.9,110.3h8.1c0.7,0,1.3,0.6,1.3,1.4c0,0.7-0.6,1.3-1.3,1.4h-8.1c-0.8,0-1.4-0.6-1.4-1.4
c0-0.4,0.1-0.7,0.4-1C230.2,110.4,230.6,110.3,230.9,110.3"/>
<path class="st3" d="M114.6,163.8v8.2c0,0.4-0.1,0.7-0.4,1c-0.5,0.5-1.4,0.5-1.9,0c-0.3-0.3-0.4-0.6-0.4-1v-8.2c0-0.4,0.1-0.7,0.4-1
c0.5-0.5,1.4-0.5,1.9,0l0,0C114.4,163.1,114.6,163.4,114.6,163.8"/>
<path class="st1" d="M126,272.7h60.4c0.7,0,1.3,0.6,1.3,1.3l0,0c0,0.7-0.6,1.3-1.3,1.4H126c-0.7,0-1.3-0.6-1.3-1.3
C124.7,273.3,125.3,272.7,126,272.7"/>
<path class="st1" d="M218.6,272.7h34.9c0.7,0,1.3,0.6,1.3,1.3c0,0.7-0.6,1.3-1.3,1.3h-34.9c-0.7,0-1.3-0.6-1.4-1.3
c0-0.4,0.1-0.7,0.4-1C217.9,272.9,218.2,272.7,218.6,272.7"/>
<path class="st1" d="M158.2,282.2h131.5c0.7,0,1.3,0.6,1.4,1.3c0,0.4-0.1,0.7-0.4,1c-0.3,0.3-0.6,0.4-1,0.4H158.2
c-0.7,0-1.3-0.6-1.3-1.3l0,0C156.9,282.8,157.5,282.2,158.2,282.2"/>
<path class="st1" d="M93.8,282.2h34.9c0.7,0,1.3,0.6,1.3,1.3l0,0c0,0.7-0.6,1.3-1.3,1.4l0,0H93.8c-0.7,0-1.3-0.6-1.4-1.3
c0-0.4,0.1-0.7,0.4-1C93.1,282.3,93.5,282.2,93.8,282.2"/>
<path class="st1" d="M197.1,272.7h8.1c0.7,0,1.3,0.6,1.3,1.3c0,0.7-0.6,1.3-1.3,1.3h-8.1c-0.7,0.1-1.4-0.5-1.4-1.3
c-0.1-0.7,0.5-1.4,1.3-1.4C197,272.7,197.1,272.7,197.1,272.7"/>
<path class="st1" d="M284.4,264.6h8.1c0.7,0,1.3,0.6,1.3,1.3l0,0c0,0.7-0.6,1.3-1.3,1.3h-8.1c-0.7,0-1.3-0.6-1.3-1.3
C283,265.3,283.6,264.6,284.4,264.6"/>
<path class="st1" d="M99.2,264.6h171.7c0.4,0,0.7,0.1,0.9,0.4c0.4,0.4,0.5,1,0.3,1.5c-0.2,0.5-0.7,0.8-1.2,0.8H99.1
c-0.7,0-1.3-0.6-1.3-1.3C97.8,265.3,98.4,264.6,99.2,264.6"/>
<path class="st3" d="M235,95.8v8.1c0,0.7-0.6,1.3-1.3,1.3s-1.3-0.6-1.3-1.3v-8.1c0-0.7,0.6-1.3,1.3-1.4C234.4,94.4,235,95,235,95.8"
/>
</svg>
/*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2018-10-10 14:44:45
* @LastEditors : 无尘
* @LastEditTime : 2020-04-04 09:46:43
*/
/* 后台返回消息提示 */
import { Message } from 'element-ui';
// 后台返回异常提示
export default {
errorMsg: function(response) {
let local = window.location.origin;
/* if (local.indexOf('localhost') != -1) {
local = 'http://www.gicdev.com';
} */
if (response.errorCode != 1) {
if (response.errorCode == 4) {
window.location.href = local + '/haoban-3/#/login';
return false;
}
if (response.errorCode == 10) {
window.location.href = local + '/haoban-3/#/index';
return false;
}
Message.error({
duration: 1000,
message: response.message
});
}
}
};
/*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2018-12-05 09:56:10
* @LastEditors: 无尘
* @LastEditTime: 2018-12-05 09:56:10
*/
// 防抖
export function _debounce(fn, delay) {
var delay = delay || 200;
var timer;
// console.log(fn)
return function() {
var that = this;
var args = arguments;
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(function() {
timer = null;
fn.apply(that, args);
}, delay);
};
}
// 节流
export function _throttle(fn, interval) {
var last;
var timer;
var interval = interval || 200;
return function() {
var that = this;
var args = arguments;
var now = +new Date();
if (last && now - last < interval) {
clearTimeout(timer);
timer = setTimeout(function() {
last = now;
fn.apply(that, args);
}, interval);
} else {
last = now;
fn.apply(that, args);
}
};
}
/**
* 手机号格式化
* @param {String} phone
*/
export function formatPhone(phone) {
phone = phone.toString();
return phone.substr(0, 3) + '****' + phone.substr(7, 11);
}
/**
* 时间戳格式化
*/
function formatDig(num) {
return num > 9 ? '' + num : '0' + num;
}
export function formatDate(time) {
let now = new Date(time);
let year = now.getFullYear();
let month = now.getMonth() + 1;
let date = now.getDate();
let hour = now.getHours();
let minute = now.getMinutes();
let second = now.getSeconds();
let data = year + '-' + formatDig(month) + '-' + formatDig(date) + ' ' + formatDig(hour) + ':' + formatDig(minute) + ':' + formatDig(second);
return data;
}
/**
* 千位分割
*/
export function formatNum(num) {
let number = num.toString().split('.'); // 分隔小数点
let dot = '0.' + (number[1] || 0);
var reg = /\d{1,3}(?=(\d{3})+$)/g;
return (
(number[0] + '').replace(reg, '$&,') +
'.' +
Number(dot)
.toFixed(2)
.toString()
.split('.')[1]
);
}
/*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2018-10-10 14:44:45
* @LastEditors: 无尘
* @LastEditTime: 2019-09-25 17:17:00
*/
/* 消息提示 */
import { Message } from 'element-ui';
export default {
showmsg: function(msg, type) {
Message({
duration: 1000,
message: msg,
type: type
});
}
};
/*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2018-10-10 14:44:45
* @LastEditors: 无尘
* @LastEditTime: 2018-10-10 14:44:45
*/
/**
* 判断字符长度
* @param: str
*/
export default {
/**
* 一个汉字算两个字符,一个英文字母或数字算一个字符
*/
getByteLen: function(val) {
let valStr = val == '' || val == null ? '' : val;
let len = 0;
for (let i = 0; i < valStr.length; i++) {
let a = valStr.charAt(i);
if (a.match(/[^\x00-\xff]/gi) != null) {
len += 2;
} else {
len += 1;
}
}
return len;
},
/**
* 一个汉字算一个字,一个英文字母或数字算半个字
*/
getZhLen: function(val) {
let valStr = val == '' || val == null ? '' : val;
let len = 0;
for (let i = 0; i < valStr.length; i++) {
let a = valStr.charAt(i);
if (a.match(/[^\x00-\xff]/gi) != null) {
len += 1;
} else {
len += 0.5;
}
}
return Math.ceil(len);
},
/*暂无用*/
cutStr: function(str, len, type) {
let char_length = 0;
for (let i = 0; i < str.length; i++) {
let son_str = str.charAt(i);
if (type == 1) {
encodeURI(son_str).length > 2 ? (char_length += 1) : (char_length += 0.5);
}
if (type == 2) {
char_length += 1;
}
if (char_length >= len) {
let sub_len = char_length == len ? i + 1 : i;
return str.substr(0, sub_len);
}
}
},
/**
* 限制字数用, 一个汉字算一个字,两个英文/字母算一个字
*/
getByteVal: function(val, max) {
let valStr = val == '' || val == null ? '' : val;
let returnValue = '';
let byteValLen = 0;
for (let i = 0; i < valStr.length; i++) {
if (valStr[i].match(/[^\x00-\xff]/gi) != null) byteValLen += 1;
else byteValLen += 0.5;
if (byteValLen > max) break;
returnValue += valStr[i];
}
return returnValue;
},
/**
* 限制字符数用, 一个汉字算两个字符,一个英文/字母算一个字符
*/
getCharVal: function(val, max) {
let valStr = val == '' || val == null ? '' : val;
let returnValue = '';
let byteValLen = 0;
for (let i = 0; i < valStr.length; i++) {
if (valStr[i].match(/[^\x00-\xff]/gi) != null) byteValLen += 2;
else byteValLen += 1;
if (byteValLen > max) break;
returnValue += valStr[i];
}
return returnValue;
},
/**
* 正则校验,校验非负数字
*/
regPos: function(v) {
let regTest = /^\d+(\.\d+)?$/;
return regTest.test(v);
}
};
/*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2018-10-10 14:44:45
* @LastEditors: 无尘
* @LastEditTime: 2019-09-25 17:18:40
*/
/*
* 时间日期转换
* @param: "10:00-22:00"/ new Date()
*/
export default {
/*
* var storeBusinessTime="10:00-22:00" to
*/
timeToDate: function(val) {
var date = new Date()
var y = date.getFullYear();
var m = date.getMonth() +1;
var day = date.getDate();
var d = []; var newArr = [];
var dArr = val.split('-');
dArr.forEach(function(ele,index){
newArr.push(ele.split(':'))
})
d = [new Date(y,m,day,newArr[0][0],newArr[0][1]),new Date(y,m,day,newArr[1][0],newArr[1][1])]
return d;
},
dateToTime(val) {
console.log(val)
// (0-9)年月数字的显示
function formatDig(num) {
return num > 9 ? '' + num : '0' + num;
}
var t;
var t1 = formatDig(new Date(val[0]).getHours())+':'+formatDig(new Date(val[0]).getMinutes())
var t2 = formatDig(new Date(val[1]).getHours())+':'+formatDig(new Date(val[1]).getMinutes())
t= t1+'-'+t2
return t;
}
}
/*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2019-09-11 18:18:32
* @LastEditors: 无尘
* @LastEditTime: 2020-07-08 14:46:27
*/
/* 全局过滤器 */
const dateFormat = function(timeSpan, format) {
if (!timeSpan) return;
timeSpan = timeSpan.toString().length === 10 ? timeSpan * 1000 : timeSpan;
let date = new Date(timeSpan);
let o = {
'M+': date.getMonth() + 1,
'D+': date.getDate(),
W: '日一二三四五六'.charAt(date.getDay()),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds(),
'q+': Math.floor((date.getMonth() + 3) / 3),
S: date.getMilliseconds()
};
if (/(Y+)/.test(format)) {
format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (let k in o) {
if (new RegExp('(' + k + ')').test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
}
}
return format;
};
/**
* 时间戳---> 年-月-日 时:分:秒
* @param timestamp
*/
const formatTimeStamp = function(data) {
if (!data) {
return;
}
let date = new Date(data);
let month = date.getMonth() + 1;
let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
let newMonth = month < 10 ? '0' + month : month;
let hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
let minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
let seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return `${date.getFullYear()}-${newMonth}-${day} ${hours}:${minutes}:${seconds}`;
};
/**
* 时间戳---> 年.月.日 时:分:秒
* @param timestamp
*/
const formatTimeYmdHms = function(data) {
if (!data) {
return;
}
let date = new Date(data);
let month = date.getMonth() + 1;
let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
let newMonth = month < 10 ? '0' + month : month;
let hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
let minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
let seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return `${date.getFullYear()}.${newMonth}.${day} ${hours}:${minutes}:${seconds}`;
};
/**
* 时间戳---> 年-月
* @param timestamp
*/
const timeStampToYm = function(data) {
if (!data) {
return;
}
let date = new Date(data);
let month = date.getMonth() + 1;
let newMonth = month < 10 ? '0' + month : month;
return `${date.getFullYear()}-${newMonth}`;
};
/**
* 时间戳---> 年-月-日
* @param timestamp
*/
const timeStampToYmd = function(data) {
if (!data) {
return;
}
let date = new Date(data);
let month = date.getMonth() + 1;
let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
let newMonth = month < 10 ? '0' + month : month;
return `${date.getFullYear()}-${newMonth}-${day}`;
};
/**
* 时间戳---> 时:分:秒
* @param timestamp
*/
const timeStampToHms = function(data) {
if (!data) {
return;
}
let date = new Date(data);
let hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
let minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
let seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return `${hours}:${minutes}:${seconds}`;
};
/**
* 时间戳---> *天*小时*分
* @param timestamp
*/
const timeStampSpace = function(date) {
if (!date) {
return;
}
let date2 = new Date();
let date3 = new Date(Number(date)).getTime() - date2.getTime(); //时间差的毫秒数
if (date3 < 0) {
return '';
}
//计算出相差天数
let days = Math.floor(date3 / (24 * 3600 * 1000));
//计算出小时数
let leave1 = date3 % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
let hours = Math.floor(leave1 / (3600 * 1000));
//计算相差分钟数
let leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
let minutes = Math.floor(leave2 / (60 * 1000));
//计算相差秒数
// let leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数
// let seconds = Math.round(leave3 / 1000);
return `${days}${hours}小时${minutes}分`;
};
/**
* 手机号格式化
* @param {String} phone
*/
const formatPhoneNum = function(phone) {
if (!phone) {
return '';
}
phone = phone.toString();
return phone.substr(0, 3) + '****' + phone.substr(7, 11);
};
/**
* 姓名格式化
* @param {String} phone
*/
const formatName = function(name) {
if (!name) {
return '';
}
name = name.toString();
return '**' + name.substr(name.length - 1, name.length);
};
/**
* 毫秒---> *时*分*秒
* @param timestamp
*/
const formatTime = function(msTime) {
if (!msTime) {
return '00:00:00';
}
let time = msTime / 1000;
let day = Math.floor(time / 60 / 60 / 24);
let hour = day * 24 + (Math.floor(time / 60 / 60) % 24) < 10 ? '0' + (day * 24 + (Math.floor(time / 60 / 60) % 24)) : day * 24 + (Math.floor(time / 60 / 60) % 24);
let minute = Math.floor(time / 60) % 60 < 10 ? '0' + (Math.floor(time / 60) % 60) : Math.floor(time / 60) % 60;
let second = Math.floor(time) % 60 < 10 ? '0' + (Math.floor(time) % 60) : Math.floor(time) % 60;
return `${hour}:${minute}:${second}`;
};
export default {
dateFormat,
formatTimeStamp,
timeStampToYm,
timeStampToYmd,
timeStampToHms,
formatTimeYmdHms,
formatPhoneNum,
formatName,
timeStampSpace,
formatTime
};
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1592962985406'); /* IE9 */
src: url('iconfont.eot?t=1592962985406#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('iconfont.woff?t=1592962985406') format('woff'),
url('iconfont.ttf?t=1592962985406') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1592962985406#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.iconyincang:before {
content: "\eadb";
}
.iconzhuzhuangtu:before {
content: "\e61d";
}
.iconquxiantu:before {
content: "\e61a";
}
.iconzhexiantu:before {
content: "\e67f";
}
.iconyue:before {
content: "\e643";
}
.iconri:before {
content: "\e60a";
}
.iconshanghuzhongxin:before {
content: "\ea7f";
}
.iconzhifu:before {
content: "\ea63";
}
.icontishi:before {
content: "\e692";
}
.iconyujingfasongjilu:before {
content: "\e985";
}
.iconchakan:before {
content: "\e984";
}
.iconnext:before {
content: "\e89a";
}
.iconxianshi:before {
content: "\e955";
}
.iconshaixuan:before {
content: "\e64c";
}
.iconwujieguo:before {
content: "\e7e3";
}
.iconziyuan:before {
content: "\e63c";
}
.icontuozhuai:before {
content: "\e601";
}
.iconjia:before {
content: "\e652";
}
.iconshenhe:before {
content: "\e60b";
}
.iconqrcode:before {
content: "\e600";
}
.iconyasuobao:before {
content: "\e649";
}
{
"id": "1472661",
"name": "GIC4.0系统配置",
"font_family": "iconfont",
"css_prefix_text": "icon",
"description": "",
"glyphs": [
{
"icon_id": "15523214",
"name": "隐藏",
"font_class": "yincang",
"unicode": "eadb",
"unicode_decimal": 60123
},
{
"icon_id": "4095159",
"name": "柱状图",
"font_class": "zhuzhuangtu",
"unicode": "e61d",
"unicode_decimal": 58909
},
{
"icon_id": "4866478",
"name": "曲线图2",
"font_class": "quxiantu",
"unicode": "e61a",
"unicode_decimal": 58906
},
{
"icon_id": "9242125",
"name": "折线图",
"font_class": "zhexiantu",
"unicode": "e67f",
"unicode_decimal": 59007
},
{
"icon_id": "2937616",
"name": "月",
"font_class": "yue",
"unicode": "e643",
"unicode_decimal": 58947
},
{
"icon_id": "8810536",
"name": "日",
"font_class": "ri",
"unicode": "e60a",
"unicode_decimal": 58890
},
{
"icon_id": "13692603",
"name": "商户中心",
"font_class": "shanghuzhongxin",
"unicode": "ea7f",
"unicode_decimal": 60031
},
{
"icon_id": "12997062",
"name": "支付配置",
"font_class": "zhifu",
"unicode": "ea63",
"unicode_decimal": 60003
},
{
"icon_id": "8887660",
"name": "提示",
"font_class": "tishi",
"unicode": "e692",
"unicode_decimal": 59026
},
{
"icon_id": "11898594",
"name": "发送记录",
"font_class": "yujingfasongjilu",
"unicode": "e985",
"unicode_decimal": 59781
},
{
"icon_id": "11892636",
"name": "查看",
"font_class": "chakan",
"unicode": "e984",
"unicode_decimal": 59780
},
{
"icon_id": "9603063",
"name": "next ",
"font_class": "next",
"unicode": "e89a",
"unicode_decimal": 59546
},
{
"icon_id": "11531366",
"name": "显示",
"font_class": "xianshi",
"unicode": "e955",
"unicode_decimal": 59733
},
{
"icon_id": "2875282",
"name": "筛选",
"font_class": "shaixuan",
"unicode": "e64c",
"unicode_decimal": 58956
},
{
"icon_id": "9880225",
"name": "无结果",
"font_class": "wujieguo",
"unicode": "e7e3",
"unicode_decimal": 59363
},
{
"icon_id": "8809228",
"name": "更多",
"font_class": "ziyuan",
"unicode": "e63c",
"unicode_decimal": 58940
},
{
"icon_id": "9117637",
"name": "拖拽",
"font_class": "tuozhuai",
"unicode": "e601",
"unicode_decimal": 58881
},
{
"icon_id": "492658",
"name": "添加图标",
"font_class": "jia",
"unicode": "e652",
"unicode_decimal": 58962
},
{
"icon_id": "2087832",
"name": "审核",
"font_class": "shenhe",
"unicode": "e60b",
"unicode_decimal": 58891
},
{
"icon_id": "10605721",
"name": "二维码",
"font_class": "qrcode",
"unicode": "e600",
"unicode_decimal": 58880
},
{
"icon_id": "3415881",
"name": "压缩包",
"font_class": "yasuobao",
"unicode": "e649",
"unicode_decimal": 58953
}
]
}
...@@ -4,19 +4,19 @@ ...@@ -4,19 +4,19 @@
* @Author: 无尘 * @Author: 无尘
* @Date: 2020-07-16 16:37:05 * @Date: 2020-07-16 16:37:05
* @LastEditors: 无尘 * @LastEditors: 无尘
* @LastEditTime: 2020-07-16 17:43:42 * @LastEditTime: 2020-07-17 12:13:44
*/ */
import 'babel-polyfill'; import 'babel-polyfill';
import '@/styles/reset.less'; import '@/styles/reset.less';
import 'element-ui/lib/theme-chalk/index.css'; import 'element-ui/lib/theme-chalk/index.css';
import './images/font-icon/iconfont.css';
import './images/font-icon/iconfont.js';
import Vue from 'vue'; import Vue from 'vue';
import VueRouter from 'vue-router'; import VueRouter from 'vue-router';
import axios from 'axios'; import axios from 'axios';
import ElementUI from 'element-ui'; import ElementUI from 'element-ui';
import App from './App.vue'; import App from './App.vue';
import router from './router'; import router from './router';
import filters from '@/filters/index.js';
// import { isRequest, itemCode } from '@/config'; // import { isRequest, itemCode } from '@/config';
Vue.use(VueRouter); Vue.use(VueRouter);
...@@ -32,6 +32,11 @@ Vue.prototype.axios = axios; ...@@ -32,6 +32,11 @@ Vue.prototype.axios = axios;
Vue.config.devtools = process.env.NODE_ENV !== 'production'; Vue.config.devtools = process.env.NODE_ENV !== 'production';
Vue.config.productionTip = false; Vue.config.productionTip = false;
// 全局注册过滤器
Object.keys(filters).forEach(key => {
Vue.filter(key, filters[key]);
});
new Vue({ new Vue({
router, router,
render: h => h(App) render: h => h(App)
......
/*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2020-07-17 10:38:29
* @LastEditors: 无尘
* @LastEditTime: 2020-07-17 11:07:42
*/
/* eslint-disable */
module.exports = (parantfile, file) => r => {
import('@/views/' + parantfile + '/' + file + '.vue').then(module => {
r(module);
});
};
import Layout from '@/layout/layout.vue'; /*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2020-07-16 16:37:05
* @LastEditors: 无尘
* @LastEditTime: 2020-07-17 11:07:15
*/
import _import from './_import.js';
const errorPage = r => {
import('@/views/errorPage/index.vue').then(module => {
r(module);
});
};
export const routes = [ export const routes = [
// 账号管理
{ {
path: '/', path: '/',
component: Layout, name: '/',
redirect: '/hello', redirect: 'login'
children: [ },
{ {
path: '/hello', path: '/login',
meta: { name: '测试页面' }, name: '登录',
component: () => import('@/views/hello.vue') component: _import('login', 'index')
} },
] {
path: '/index',
name: 'index',
component: _import('index', 'index')
},
{
path: '/gic-error',
name: 'gic跳转失败页',
component: _import('errorPage', 'gic-error')
},
{
path: '/403',
name: '无权访问',
component: errorPage
},
{
path: '/404',
name: 'error404',
component: errorPage
},
{
path: '/500',
name: 'error500',
component: errorPage
}, },
{ {
path: '*', path: '*',
redirect: '/' redirect: '/404',
hidden: true
} }
] ]
// selected background color
$blue-selected=#f0f5ff;
// hover
$blue-hover=#597ef7;
// click
$blue-click=#1d39c4;
// normal、link、brand color
$blue=#2f54ed;
// success
$green-success=#52c41a;
// warning
$yellow-warning=#faad14;
// success
$red-error=#f5222d;
// 标题文字
$gray01=#303133;
// 常规信息、按钮文字
$gray02=#606266;
// 内容文字、说明文字
$gray03=#909399;
// 输入框说明文字
$gray-placeholder=#c0c4cc;
// 线框、输入框、下拉框的边框颜色
$gray-border=#c4c6cf;
// tab选项卡、表格单元格底部分割线
$gray-tab=#dcdfe6;
// 表头背景色
$gray-thead=#ebecf0;
// 分割线的颜色
$gray-separator=#e4e7ed;
// 背景底色
$gray-background=#f0f2f5;
// 输入框禁止输入的颜色
$gray-disable=#f5f7fa;
...@@ -285,3 +285,461 @@ input:focus { ...@@ -285,3 +285,461 @@ input:focus {
box-shadow: none; box-shadow: none;
outline: none; outline: none;
} }
.fl {
float: left;
}
.fr {
float: right;
}
.clearfix:before,
.clearfix:after {
display: block;
visibility: hidden;
height: 0;
content: "";
clear: both;
}
.clearfix {
zoom: 1;
}
.inline-block {
display: inline-block;
}
.block {
display: block;
}
.vertical-top {
vertical-align: top;
}
.vertical-middle {
vertical-align: middle;
}
.border-box {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.border-radius-18 {
border-radius: 18px;
}
.cursor-pointer {
cursor: pointer;
}
.t-rt {
text-align: right;
}
.t-ct {
text-align: center;
}
.text-left {
text-align: left;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.color-fff {
color: #fff;
}
.color-1890ff {
color: #2f54eb;
}
.color-c0c4cc {
color: #c0c4cc;
}
.color-606266 {
color: #606266;
}
.color-303133 {
color: #303133;
}
.color-f56c6c {
color: #f56c6c;
}
.color-909399 {
color: #909399;
}
.color-2f54eb {
color: #2F54EB;
}
.color-dedfe6 {
color: #dedfe6;
}
.p-0 {
padding: 0;
}
.p-20 {
padding: 20px;
}
.p-24 {
padding: 24px;
}
.p-60 {
padding: 60px;
}
.p-45 {
padding: 45px;
}
.p-l-5 {
padding-left: 5px;
}
.p-l-6 {
padding-left: 6px;
}
.p-l-8 {
padding-left: 8px;
}
.p-l-10 {
padding-left: 10px;
}
.p-l-12 {
padding-left: 12px;
}
.p-l-14 {
padding-left: 14px;
}
.p-l-15 {
padding-left: 15px;
}
.p-l-20 {
padding-left: 20px;
}
.p-l-40 {
padding-left: 40px;
}
.p-l-60 {
padding-left: 60px;
}
.p-l-110 {
padding-left: 110px;
}
.p-lr-11 {
padding: 0 11px;
}
.p-r-6 {
padding-right: 6px;
}
.p-r-10 {
padding-right: 10px;
}
.p-r-20 {
padding-right: 20px;
}
.p-t-12 {
padding-top: 12px;
}
.p-t-14 {
padding-top: 14px;
}
.p-t-20 {
padding-top: 20px;
}
.p-t-35 {
padding-top: 35px;
}
.p-t-185 {
padding-top: 185px;
}
.m-l-10 {
margin-left: 10px;
}
.m-l-16 {
margin-left: 16px;
}
.m-t-8 {
margin-top: 8px;
}
.m-t-10 {
margin-top: 10px;
}
.m-t-15 {
margin-top: 15px;
}
.m-t-20 {
margin-top: 20px;
}
.m-t-22 {
margin-top: 22px;
}
.m-t-24 {
margin-top: 24px;
}
.m-t-30 {
margin-top: 30px;
}
.m-t-40 {
margin-top: 40px;
}
.m-t-45 {
margin-top: 45px;
}
.m-r-10 {
margin-right: 10px;
}
.m-r-20 {
margin-right: 20px;
}
.m-b-10 {
margin-bottom: 10px;
}
.m-b-16 {
margin-bottom: 16px;
}
.m-b-20 {
margin-bottom: 20px;
}
.m-b-25 {
margin-bottom: 25px;
}
.m-b-40 {
margin-bottom: 40px;
}
.m-b-60 {
margin-bottom: 60px;
}
.m-20 {
margin: 20px;
}
.font-0 {
font-size: 0;
}
.font-10 {
font-size: 10px;
}
.font-12 {
font-size: 12px;
}
.font-13 {
font-size: 13px;
}
.font-14 {
font-size: 14px;
}
.font-16 {
font-size: 16px;
}
.font-20 {
font-size: 20px;
}
.font-30 {
font-size: 30px;
}
.font-w-400 {
font-weight: 400;
}
.font-w-500 {
font-weight: 500;
}
.font-w-600 {
font-weight: 600;
}
.line-h-1 {
line-height: 1;
}
.line-h-18 {
line-height: 18px;
}
.w-80 {
width: 80px;
}
.w-105 {
width: 105px;
}
.w-118 {
width: 118px;
}
.w-130 {
width: 130px;
}
.w-250 {
width: 250px;
}
.w-500 {
width: 500px;
}
.w-680 {
width: 680px;
}
.inline-block {
display: inline-block;
}
.block {
display: block;
}
.text-ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* flex */
.flex {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.flex-1 {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.flex-column {
-webkit-flex-direction: column;
-moz-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
flex-direction: column;
}
.flex-row {
-webkit-flex-direction: row;
-moz-flex-direction: row;
-ms-flex-direction: row;
-o-flex-direction: row;
flex-direction: row;
}
.flex-align-center {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.flex-align-start {
-webkit-box-align: flex-start;
-webkit-align-items: flex-start;
-ms-flex-align: flex-start;
align-items: flex-start;
}
.flex-pack-center {
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
.flex-start {
-webkit-justify-content: flex-start;
-moz-justify-content: flex-start;
-ms-justify-content: flex-start;
-o-justify-content: flex-start;
justify-content: flex-start;
}
.flex-wrap {
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
-o-flex-wrap: wrap;
flex-wrap: wrap;
}
.flex-space-between {
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;
-o-justify-content: space-between;
justify-content: space-between;
}
\ No newline at end of file
<template>
<div style="background:#f0f2f5;margin-top: -20px;height:100%;">
<div class="wscn-http404">
<div class="pic-404">
<img class="pic-404__parent" :src="img_403" alt="403" />
</div>
<div class="bullshit">
<!-- <div class="bullshit__oops">403</div> -->
<div class="bullshit__headline">{{ message }}</div>
<a href="#/companyGroup" class="bullshit__return-home">返回首页</a>
</div>
</div>
</div>
</template>
<script>
import img_403 from '@/assets/403_images/error_403.svg';
export default {
name: 'page403',
data() {
return {
img_403
};
},
computed: {
message() {
return '抱歉,你无权访问该页面';
}
}
};
</script>
<style lang="scss" scoped>
.wscn-http404 {
position: relative;
width: 1200px;
margin: 20px auto 60px;
padding: 0 100px;
overflow: hidden;
.pic-404 {
position: relative;
float: left;
width: 600px;
padding: 150px 152px 150px 0;
text-align: right;
overflow: hidden;
&__parent {
width: 100%;
max-width: 430px;
}
&__child {
position: absolute;
&.left {
width: 80px;
top: 17px;
left: 220px;
opacity: 0;
animation-name: cloudLeft;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
&.mid {
width: 46px;
top: 10px;
left: 420px;
opacity: 0;
animation-name: cloudMid;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1.2s;
}
&.right {
width: 62px;
top: 100px;
left: 500px;
opacity: 0;
animation-name: cloudRight;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
@keyframes cloudLeft {
0% {
top: 17px;
left: 220px;
opacity: 0;
}
20% {
top: 33px;
left: 188px;
opacity: 1;
}
80% {
top: 81px;
left: 92px;
opacity: 1;
}
100% {
top: 97px;
left: 60px;
opacity: 0;
}
}
@keyframes cloudMid {
0% {
top: 10px;
left: 420px;
opacity: 0;
}
20% {
top: 40px;
left: 360px;
opacity: 1;
}
70% {
top: 130px;
left: 180px;
opacity: 1;
}
100% {
top: 160px;
left: 120px;
opacity: 0;
}
}
@keyframes cloudRight {
0% {
top: 100px;
left: 500px;
opacity: 0;
}
20% {
top: 120px;
left: 460px;
opacity: 1;
}
80% {
top: 180px;
left: 340px;
opacity: 1;
}
100% {
top: 200px;
left: 300px;
opacity: 0;
}
}
}
}
.bullshit {
position: relative;
float: left;
width: 300px;
padding: 150px 0;
overflow: hidden;
display: flex;
align-items: flex-start;
flex-direction: column;
justify-content: center;
height: 360px;
&__oops {
color: #434e59;
font-size: 72px;
font-weight: 600;
line-height: 72px;
margin-bottom: 24px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-fill-mode: forwards;*/
}
&__headline {
color: rgba(0, 0, 0, 0.45);
font-size: 20px;
line-height: 28px;
margin-bottom: 16px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.1s;
animation-fill-mode: forwards;*/
}
&__return-home {
display: inline-block;
height: 32px;
line-height: 32px;
font-weight: 400;
text-align: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
background-image: none;
white-space: nowrap;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
border: 1px solid #2f54eb;
color: #fff;
background-color: #2f54eb;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
-webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
cursor: pointer;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.3s;
animation-fill-mode: forwards;*/
}
@keyframes slideUp {
0% {
transform: translateY(60px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
}
}
</style>
<template>
<div style="background:#f0f2f5;margin-top: -20px;height:100%;">
<div class="wscn-http404">
<div class="pic-404">
<img class="pic-404__parent" :src="img_404" alt="404" />
</div>
<div class="bullshit">
<!-- <div class="bullshit__oops">404</div> -->
<div class="bullshit__headline">{{ message }}</div>
<a href="#/companyGroup" class="bullshit__return-home">返回首页</a>
</div>
</div>
</div>
</template>
<script>
import img_404 from '@/assets/404_images/error_404.svg';
export default {
name: 'page404',
data() {
return {
img_404
};
},
computed: {
message() {
return '抱歉,你访问的页面不存在';
}
},
/* eslint-disable */
mounted() {
}
};
</script>
<style lang="scss" scoped>
.wscn-http404 {
position: relative;
width: 1200px;
margin: 20px auto 60px;
padding: 0 100px;
overflow: hidden;
.pic-404 {
position: relative;
float: left;
width: 600px;
padding: 150px 152px 150px 0;
text-align: right;
overflow: hidden;
&__parent {
width: 100%;
max-width: 430px;
}
&__child {
position: absolute;
&.left {
width: 80px;
top: 17px;
left: 220px;
opacity: 0;
animation-name: cloudLeft;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
&.mid {
width: 46px;
top: 10px;
left: 420px;
opacity: 0;
animation-name: cloudMid;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1.2s;
}
&.right {
width: 62px;
top: 100px;
left: 500px;
opacity: 0;
animation-name: cloudRight;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
@keyframes cloudLeft {
0% {
top: 17px;
left: 220px;
opacity: 0;
}
20% {
top: 33px;
left: 188px;
opacity: 1;
}
80% {
top: 81px;
left: 92px;
opacity: 1;
}
100% {
top: 97px;
left: 60px;
opacity: 0;
}
}
@keyframes cloudMid {
0% {
top: 10px;
left: 420px;
opacity: 0;
}
20% {
top: 40px;
left: 360px;
opacity: 1;
}
70% {
top: 130px;
left: 180px;
opacity: 1;
}
100% {
top: 160px;
left: 120px;
opacity: 0;
}
}
@keyframes cloudRight {
0% {
top: 100px;
left: 500px;
opacity: 0;
}
20% {
top: 120px;
left: 460px;
opacity: 1;
}
80% {
top: 180px;
left: 340px;
opacity: 1;
}
100% {
top: 200px;
left: 300px;
opacity: 0;
}
}
}
}
.bullshit {
position: relative;
float: left;
width: 300px;
padding: 150px 0;
overflow: hidden;
display: flex;
align-items: flex-start;
flex-direction: column;
justify-content: center;
height: 360px;
&__oops {
color: #434e59;
font-size: 72px;
font-weight: 600;
line-height: 72px;
margin-bottom: 24px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-fill-mode: forwards;*/
}
&__headline {
color: rgba(0, 0, 0, 0.45);
font-size: 20px;
line-height: 28px;
margin-bottom: 16px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.1s;
animation-fill-mode: forwards;*/
}
&__return-home {
display: inline-block;
height: 32px;
line-height: 32px;
font-weight: 400;
text-align: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
background-image: none;
white-space: nowrap;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
border: 1px solid #2f54eb;
color: #fff;
background-color: #2f54eb;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
-webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
cursor: pointer;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.3s;
animation-fill-mode: forwards;*/
}
@keyframes slideUp {
0% {
transform: translateY(60px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
}
}
</style>
<template>
<div style="background:#f0f2f5;margin-top: -20px;height:100%;">
<div class="wscn-http404">
<div class="pic-404">
<img class="pic-404__parent" :src="img_500" alt="500" />
</div>
<div class="bullshit">
<!-- <div class="bullshit__oops">500</div> -->
<div class="bullshit__headline">{{ message }}</div>
<a href="#/companyGroup" class="bullshit__return-home">返回首页</a>
</div>
</div>
</div>
</template>
<script>
import img_500 from '@/assets/500_images/error_500.svg';
export default {
name: 'page500',
data() {
return {
img_500
};
},
computed: {
message() {
return '抱歉,服务器出错了';
}
}
};
</script>
<style lang="scss" scoped>
.wscn-http404 {
position: relative;
width: 1200px;
margin: 20px auto 60px;
padding: 0 100px;
overflow: hidden;
.pic-404 {
position: relative;
float: left;
width: 600px;
padding: 150px 152px 150px 0;
text-align: right;
overflow: hidden;
&__parent {
width: 100%;
max-width: 430px;
}
&__child {
position: absolute;
&.left {
width: 80px;
top: 17px;
left: 220px;
opacity: 0;
animation-name: cloudLeft;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
&.mid {
width: 46px;
top: 10px;
left: 420px;
opacity: 0;
animation-name: cloudMid;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1.2s;
}
&.right {
width: 62px;
top: 100px;
left: 500px;
opacity: 0;
animation-name: cloudRight;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
@keyframes cloudLeft {
0% {
top: 17px;
left: 220px;
opacity: 0;
}
20% {
top: 33px;
left: 188px;
opacity: 1;
}
80% {
top: 81px;
left: 92px;
opacity: 1;
}
100% {
top: 97px;
left: 60px;
opacity: 0;
}
}
@keyframes cloudMid {
0% {
top: 10px;
left: 420px;
opacity: 0;
}
20% {
top: 40px;
left: 360px;
opacity: 1;
}
70% {
top: 130px;
left: 180px;
opacity: 1;
}
100% {
top: 160px;
left: 120px;
opacity: 0;
}
}
@keyframes cloudRight {
0% {
top: 100px;
left: 500px;
opacity: 0;
}
20% {
top: 120px;
left: 460px;
opacity: 1;
}
80% {
top: 180px;
left: 340px;
opacity: 1;
}
100% {
top: 200px;
left: 300px;
opacity: 0;
}
}
}
}
.bullshit {
position: relative;
float: left;
width: 300px;
padding: 150px 0;
overflow: hidden;
display: flex;
align-items: flex-start;
flex-direction: column;
justify-content: center;
height: 360px;
&__oops {
color: #434e59;
font-size: 72px;
font-weight: 600;
line-height: 72px;
margin-bottom: 24px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-fill-mode: forwards;*/
}
&__headline {
color: rgba(0, 0, 0, 0.45);
font-size: 20px;
line-height: 28px;
margin-bottom: 16px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.1s;
animation-fill-mode: forwards;*/
}
&__return-home {
display: inline-block;
height: 32px;
line-height: 32px;
font-weight: 400;
text-align: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
background-image: none;
white-space: nowrap;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
border: 1px solid #2f54eb;
color: #fff;
background-color: #2f54eb;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
-webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
cursor: pointer;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.3s;
animation-fill-mode: forwards;*/
}
@keyframes slideUp {
0% {
transform: translateY(60px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
}
}
</style>
<!--
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2019-10-28 09:32:04
* @LastEditors: 无尘
* @LastEditTime: 2020-07-17 10:41:20
-->
<template>
<div style="background:#f0f2f5;margin-top: -20px;height:100vh;">
<div class="wscn-http404">
<div class="pic-404">
<img class="pic-404__parent" :src="img_404" alt="404" />
</div>
<div class="bullshit">
<!-- <div class="bullshit__oops">404</div> -->
<div class="bullshit__headline">{{ message }}</div>
<a href="#/login" class="bullshit__return-home" rel="noopener noreferrer">返回好办登录页</a>
</div>
</div>
</div>
</template>
<script>
import img_404 from '@/assets/gic-error.png';
export default {
name: 'page404',
data() {
return {
img_404
};
},
computed: {
message() {
return '登录遇到错误啦!请确认您是否已是好办管理员,如不是,请联系管理员。';
}
},
/* eslint-disable */
mounted() {
}
};
</script>
<style lang="less" scoped>
.wscn-http404 {
position: relative;
width: 1200px;
margin: 20px auto 60px;
padding: 0 100px;
overflow: hidden;
.pic-404 {
position: relative;
width: 100%;
padding: 150px 0 0 ;
text-align: center;
overflow: hidden;
&__parent {
width: 148px;
max-width: 430px;
}
&__child {
position: absolute;
&.left {
width: 80px;
top: 17px;
left: 220px;
opacity: 0;
animation-name: cloudLeft;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
&.mid {
width: 46px;
top: 10px;
left: 420px;
opacity: 0;
animation-name: cloudMid;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1.2s;
}
&.right {
width: 62px;
top: 100px;
left: 500px;
opacity: 0;
animation-name: cloudRight;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
@keyframes cloudLeft {
0% {
top: 17px;
left: 220px;
opacity: 0;
}
20% {
top: 33px;
left: 188px;
opacity: 1;
}
80% {
top: 81px;
left: 92px;
opacity: 1;
}
100% {
top: 97px;
left: 60px;
opacity: 0;
}
}
@keyframes cloudMid {
0% {
top: 10px;
left: 420px;
opacity: 0;
}
20% {
top: 40px;
left: 360px;
opacity: 1;
}
70% {
top: 130px;
left: 180px;
opacity: 1;
}
100% {
top: 160px;
left: 120px;
opacity: 0;
}
}
@keyframes cloudRight {
0% {
top: 100px;
left: 500px;
opacity: 0;
}
20% {
top: 120px;
left: 460px;
opacity: 1;
}
80% {
top: 180px;
left: 340px;
opacity: 1;
}
100% {
top: 200px;
left: 300px;
opacity: 0;
}
}
}
}
.bullshit {
position: relative;
width: 100%;
padding: 46px 0;
overflow: hidden;
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
&__oops {
color: #434e59;
font-size: 72px;
font-weight: 600;
line-height: 72px;
margin-bottom: 24px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-fill-mode: forwards;*/
}
&__headline {
color: #606266;
font-size: 14px;
line-height: 28px;
margin-bottom: 37px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.1s;
animation-fill-mode: forwards;*/
}
&__return-home {
display: inline-block;
height: 32px;
line-height: 32px;
font-weight: 400;
text-align: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
background-image: none;
white-space: nowrap;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
border: 1px solid #2f54eb;
color: #fff;
background-color: #2f54eb;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
-webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
cursor: pointer;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.3s;
animation-fill-mode: forwards;*/
&:hover {
color: #fff;
background-color: #597ef7;
border-color: #597ef7;
}
&:active {
color: #fff;
background-color: #597ef7;
border-color: #597ef7;
}
}
@keyframes slideUp {
0% {
transform: translateY(60px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
}
}
</style>
<!--
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2018-10-10 14:44:45
* @LastEditors: 无尘
* @LastEditTime: 2020-07-17 10:40:42
-->
<template>
<div style="background:#f0f2f5;margin-top: -20px;height:100vh;">
<div class="wscn-http404">
<div class="pic-404">
<img class="pic-404__parent" :src="imgSrc" alt="404" />
</div>
<div class="bullshit">
<!-- <div class="bullshit__oops">404</div> -->
<div class="bullshit__headline">{{ message }}</div>
<a href="#/index" class="bullshit__return-home">返回首页</a>
</div>
</div>
</div>
</template>
<script>
import img_403 from '@/assets/403_images/error_403.svg';
import img_404 from '@/assets/404_images/error_404.svg';
import img_500 from '@/assets/500_images/error_500.svg';
export default {
name: 'errpage',
data() {
return {
imgSrc: '',
message: '',
srcList: {
403: img_403,
404: img_404,
500: img_500
},
msgList: {
403: '抱歉,你无权访问该页面',
404: '抱歉,你访问的页面不存在',
500: '抱歉,服务器出错了'
}
};
},
mounted() {
var that = this;
var path = that.$route.path.split('/')[1];
that.imgSrc = that.srcList[path];
that.message = that.msgList[path];
}
};
</script>
<style lang="less" scoped>
.wscn-http404 {
position: relative;
width: 1200px;
margin: 20px auto 60px;
padding: 0 100px;
overflow: hidden;
.pic-404 {
position: relative;
float: left;
width: 600px;
padding: 150px 152px 150px 0;
text-align: right;
overflow: hidden;
&__parent {
width: 100%;
max-width: 430px;
}
&__child {
position: absolute;
&.left {
width: 80px;
top: 17px;
left: 220px;
opacity: 0;
animation-name: cloudLeft;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
&.mid {
width: 46px;
top: 10px;
left: 420px;
opacity: 0;
animation-name: cloudMid;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1.2s;
}
&.right {
width: 62px;
top: 100px;
left: 500px;
opacity: 0;
animation-name: cloudRight;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
@keyframes cloudLeft {
0% {
top: 17px;
left: 220px;
opacity: 0;
}
20% {
top: 33px;
left: 188px;
opacity: 1;
}
80% {
top: 81px;
left: 92px;
opacity: 1;
}
100% {
top: 97px;
left: 60px;
opacity: 0;
}
}
@keyframes cloudMid {
0% {
top: 10px;
left: 420px;
opacity: 0;
}
20% {
top: 40px;
left: 360px;
opacity: 1;
}
70% {
top: 130px;
left: 180px;
opacity: 1;
}
100% {
top: 160px;
left: 120px;
opacity: 0;
}
}
@keyframes cloudRight {
0% {
top: 100px;
left: 500px;
opacity: 0;
}
20% {
top: 120px;
left: 460px;
opacity: 1;
}
80% {
top: 180px;
left: 340px;
opacity: 1;
}
100% {
top: 200px;
left: 300px;
opacity: 0;
}
}
}
}
.bullshit {
position: relative;
float: left;
width: 300px;
padding: 150px 0;
overflow: hidden;
display: flex;
align-items: flex-start;
flex-direction: column;
justify-content: center;
height: 360px;
&__oops {
color: #434e59;
font-size: 72px;
font-weight: 600;
line-height: 72px;
margin-bottom: 24px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-fill-mode: forwards;*/
}
&__headline {
color: rgba(0, 0, 0, 0.45);
font-size: 20px;
line-height: 28px;
margin-bottom: 16px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.1s;
animation-fill-mode: forwards;*/
}
&__return-home {
display: inline-block;
height: 32px;
line-height: 32px;
font-weight: 400;
text-align: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
background-image: none;
white-space: nowrap;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
border: 1px solid #2f54eb;
color: #fff;
background-color: #2f54eb;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
-webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
cursor: pointer;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.3s;
animation-fill-mode: forwards;*/
&:hover {
color: #fff;
background-color: #597ef7;
border-color: #597ef7;
}
&:active {
color: #fff;
background-color: #597ef7;
border-color: #597ef7;
}
}
@keyframes slideUp {
0% {
transform: translateY(60px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
}
}
</style>
<template>
<div>好办 4.0</div>
</template>
<script>
export default {
name: 'hello'
}
</script>
<!--
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2020-07-16 10:44:45
* @LastEditors: 无尘
* @LastEditTime: 2020-07-17 11:21:20
-->
<template>
<div class="login-wrap">
<section>
<div class="login-body-top">
<div class="login-body-head">
<div class="login-body-head_inner border-box flex">
<img class="login-body-logo" src="../../assets/logo.png" alt="logo" />
<span class="login-body-title p-l-7">好办管理后台</span>
</div>
</div>
<div class="login-body-qrcode">
<div class="login-qrcode-inner border-box">
<div class="qrcode-title font-18 color-303133 m-b-20">企业微信扫码登录</div>
<div id="qrcode" title=""></div>
<div class="qrcode-refresh m-t-20">
<el-button class="font-12" type="text" @click="refreshCode">刷新 <span class="color-2f54eb iconfont iconshuaxin"></span></el-button>
</div>
</div>
</div>
<div class="bg-dot"></div>
<div class="bg-dot-center"></div>
</div>
<div class="login-body-bottom"></div>
</section>
<footer class="p-t-35">
<vue-gic-footer></vue-gic-footer>
</footer>
</div>
</template>
<script>
import errMsg from '@/common/js/error';
import { postRequest } from '@/api/api';
export default {
name: 'login',
data() {
return {
qrcodeNum: '', // 二维码数据
};
},
computed: {},
methods: {
/**
* 处理路由跳转
*/
toRouterView(val) {
const that = this;
// 模拟检查数据,有两个参数
that.$router.push({
path: val.path
});
},
/**
* 登录---获取二维码字符串 API
*/
getQrcode() {
const that = this;
postRequest('/haoban-manage3-web/get-login-qrcode', {})
.then(res => {
let resData = res.data;
if (resData.errorCode == 1) {
that.qrcodeNum = resData.result;
window.location.href = `${resData.result}`;
return;
}
errMsg.errorMsg(resData);
})
.catch(function(error) {
that.$message.error({
duration: 1000,
message: error.message
});
});
}
},
mounted() {
const that = this;
that.getQrcode();
// that.toLogin();
if (!!localStorage.getItem('userInfos')) {
localStorage.removeItem('userInfos');
}
},
components: {}
};
</script>
<style lang="less" scoped>
.login-wrap {
width: 100%;
min-height: 100vh;
.p-l-7 {
padding-left: 7px;
}
.login-body-top {
position: relative;
width: 100%;
height: 431px;
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
background-color: #2f54eb;
.login-body-head {
width: 100%;
.login-body-head_inner {
width: 100%;
padding: 22px 0 0 24px;
img {
width: 25px;
}
.login-body-title {
font-weight: 600;
color: #fff;
font-size: 18px;
padding-top: 5px;
}
}
}
.bg-dot {
position: absolute;
left: 50%;
bottom: -93px;
margin-left: -500px;
width: 87px;
height: 142px;
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
}
.bg-dot-center {
position: absolute;
left: 50%;
bottom: -233px;
margin-left: -71px;
width: 142px;
height: 87px;
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
}
.login-body-qrcode {
position: absolute;
left: 50%;
bottom: -173px;
margin-left: -183px;
width: 366px;
height: 343px;
background: rgba(255, 255, 255, 1);
box-shadow: 0px 6px 8px 0px rgba(208, 213, 232, 0.27);
border-radius: 5px;
z-index: 1;
.login-qrcode-inner {
width: 100%;
padding: 40px 88px 25px 88px;
text-align: center;
#qrcode {
width: 190px;
height: 190px;
}
}
}
}
.login-body-bottom {
width: 100%;
height: 300px;
background: #fff;
}
}
</style>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* @Author: 无尘 * @Author: 无尘
* @Date: 2020-07-16 16:37:05 * @Date: 2020-07-16 16:37:05
* @LastEditors: 无尘 * @LastEditors: 无尘
* @LastEditTime: 2020-07-16 17:43:11 * @LastEditTime: 2020-07-17 11:47:17
*/ */
const path = require("path"); const path = require("path");
...@@ -36,7 +36,8 @@ module.exports = { ...@@ -36,7 +36,8 @@ module.exports = {
}; };
config.resolve = { config.resolve = {
alias: { alias: {
'@': resolve('src') '@': resolve('src'),
'less_vars': '@/styles/colors.less'
} }
}; };
config.entry.app = ["babel-polyfill", "./src/main.js"]; config.entry.app = ["babel-polyfill", "./src/main.js"];
...@@ -48,5 +49,39 @@ module.exports = { ...@@ -48,5 +49,39 @@ module.exports = {
'console.log' 'console.log'
]; ];
} }
},
chainWebpack: config => {
const types = ['vue-modules', 'vue', 'normal-modules', 'normal']
types.forEach(type => addStyleResource(config.module.rule('less').oneOf(type)))
},
css: {
loaderOptions: {
less: {
javascriptEnabled: true
}
}
}
};
function addStyleResource(rule) {
rule.use('style-resource')
.loader('style-resources-loader')
.options({
patterns: [
path.resolve(__dirname, './src/styles/colors.less'), // 需要全局导入的less
],
})
}
/* css: {
loaderOptions: {
// 给 less-loader 传递 Less.js 相关选项
less: {
// http://lesscss.org/usage/#less-options-strict-units `Global Variables`
// `primary` is global variables fields name
globalVars: {
primary: '#fff'
}
}
}
} }
}; };*/
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