-
-
-
-
-
-
- {{ tipWords }}
-
-
-
-
-
-
-
-
+
-
-
-
-
+v-if="type === '2'" class="verify-img-out"
+ :style="{height: (parseInt(setSize.imgHeight) + vSpace) + 'px'}"
+ >
+
+
+
+
+
+ {{tipWords}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
diff --git a/src/components/verifition/api/index.js b/src/components/verifition/api/index.js
index f4b7fb1..3a8624a 100644
--- a/src/components/verifition/api/index.js
+++ b/src/components/verifition/api/index.js
@@ -2,12 +2,13 @@
* 此处可直接引用自己项目封装好的 axios 配合后端联调
*/
-import httpRequest from '@/utils/httpRequest'
+import request from './../utils/axios' // 组件内部封装的axios
+// import request from "@/api/axios.js" //调用项目封装的axios
// 获取验证图片 以及token
export function reqGet (data) {
- return httpRequest({
- url: httpRequest.adornUrl('/captcha/get'),
+ return request({
+ url: '/captcha/get',
method: 'post',
data
})
@@ -15,10 +16,9 @@ export function reqGet (data) {
// 滑动或者点选验证
export function reqCheck (data) {
- return httpRequest({
- url: httpRequest.adornUrl('/captcha/check'),
+ return request({
+ url: '/captcha/check',
method: 'post',
data
})
}
-
diff --git a/src/components/verifition/utils/ase.js b/src/components/verifition/utils/ase.js
index 71f07e0..31a18c6 100644
--- a/src/components/verifition/utils/ase.js
+++ b/src/components/verifition/utils/ase.js
@@ -3,9 +3,9 @@ import CryptoJS from 'crypto-js'
* @word 要加密的内容
* @keyWord String 服务器随机返回的关键字
* */
-export function aesEncrypt(word, keyWord = 'XwKsGlMcdPMEhR1B') {
- var key = CryptoJS.enc.Utf8.parse(keyWord)
- var srcs = CryptoJS.enc.Utf8.parse(word)
- var encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
+export function aesEncrypt (word, keyWord = 'XwKsGlMcdPMEhR1B') {
+ const key = CryptoJS.enc.Utf8.parse(keyWord)
+ const srcs = CryptoJS.enc.Utf8.parse(word)
+ const encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
return encrypted.toString()
}
diff --git a/src/components/verifition/utils/axios.js b/src/components/verifition/utils/axios.js
new file mode 100644
index 0000000..8230cb9
--- /dev/null
+++ b/src/components/verifition/utils/axios.js
@@ -0,0 +1,27 @@
+import axios from 'axios'
+
+axios.defaults.baseURL = import.meta.env.VITE_APP_BASE_API
+
+const service = axios.create({
+ timeout: 40000,
+ headers: {
+ 'X-Requested-With': 'XMLHttpRequest',
+ 'Content-Type': 'application/json; charset=UTF-8'
+ }
+})
+service.interceptors.request.use(
+ config => {
+ return config
+ },
+ error => {
+ Promise.reject(error)
+ }
+)
+
+// response interceptor
+service.interceptors.response.use(
+ response => {
+ return response.data
+ }
+)
+export default service
diff --git a/src/components/verifition/utils/util.js b/src/components/verifition/utils/util.js
index 8f26e73..82b5cc0 100644
--- a/src/components/verifition/utils/util.js
+++ b/src/components/verifition/utils/util.js
@@ -1,31 +1,30 @@
-export function resetSize(vm) {
- var img_width, img_height, bar_width, bar_height // 图片的宽度、高度,移动条的宽度、高度
-
- var parentWidth = vm.$el.parentNode.offsetWidth || window.offsetWidth
- var parentHeight = vm.$el.parentNode.offsetHeight || window.offsetHeight
+export function resetSize (vm) {
+ let img_width, img_height, bar_width, bar_height // 图片的宽度、高度,移动条的宽度、高度
+ const parentWidth = vm.$el.parentNode.offsetWidth || window.offsetWidth
+ const parentHeight = vm.$el.parentNode.offsetHeight || window.offsetHeight
if (vm.imgSize.width.indexOf('%') != -1) {
- img_width = parseInt(this.imgSize.width) / 100 * parentWidth + 'px'
+ img_width = parseInt(vm.imgSize.width) / 100 * parentWidth + 'px'
} else {
- img_width = this.imgSize.width
+ img_width = vm.imgSize.width
}
if (vm.imgSize.height.indexOf('%') != -1) {
- img_height = parseInt(this.imgSize.height) / 100 * parentHeight + 'px'
+ img_height = parseInt(vm.imgSize.height) / 100 * parentHeight + 'px'
} else {
- img_height = this.imgSize.height
+ img_height = vm.imgSize.height
}
if (vm.barSize.width.indexOf('%') != -1) {
- bar_width = parseInt(this.barSize.width) / 100 * parentWidth + 'px'
+ bar_width = parseInt(vm.barSize.width) / 100 * parentWidth + 'px'
} else {
- bar_width = this.barSize.width
+ bar_width = vm.barSize.width
}
if (vm.barSize.height.indexOf('%') != -1) {
- bar_height = parseInt(this.barSize.height) / 100 * parentHeight + 'px'
+ bar_height = parseInt(vm.barSize.height) / 100 * parentHeight + 'px'
} else {
- bar_height = this.barSize.height
+ bar_height = vm.barSize.height
}
return { imgWidth: img_width, imgHeight: img_height, barWidth: bar_width, barHeight: bar_height }
diff --git a/src/crud/admin/form.js b/src/crud/admin/form.js
deleted file mode 100644
index 728b735..0000000
--- a/src/crud/admin/form.js
+++ /dev/null
@@ -1,70 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- selection: true,
- index: false,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- viewBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [{
- label: '表单名称',
- prop: 'formName',
- search: true
- }, {
- label: '按钮文本',
- prop: 'buttonName',
- search: true
- }, {
- label: '提交次数',
- prop: 'submitNum',
- type: 'select',
- dicData: [
- {
- label: '不做限制',
- value: 0
- }, {
- label: '每个IP限填一次',
- value: 1
- }
- ]
- }, {
- label: '开启验证',
- prop: 'needValidation',
- type: 'select',
- dicData: [
- {
- label: '不需要',
- value: 0
- }, {
- label: '需要',
- value: 1
- }
- ]
- }, {
- label: '提交权限',
- prop: 'submitPerm',
- type: 'select',
- dicData: [
- {
- label: '所有人',
- value: 0
- }, {
- label: '仅会员可提交',
- value: 1
- }
- ]
- }]
-}
diff --git a/src/crud/admin/indexImg.js b/src/crud/admin/indexImg.js
deleted file mode 100644
index 942e582..0000000
--- a/src/crud/admin/indexImg.js
+++ /dev/null
@@ -1,47 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- selection: true,
- index: false,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- viewBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [{
- label: '轮播图片',
- prop: 'imgUrl',
- type: 'upload',
- slot: true,
- listType: 'picture-img'
- }, {
- label: '顺序',
- prop: 'seq'
- }, {
- width: 150,
- label: '状态',
- prop: 'status',
- search: true,
- type: 'select',
- dicData: [
- {
- label: '禁用',
- value: 0
- }, {
- label: '正常',
- value: 1
- }
- ]
- }]
-}
diff --git a/src/crud/admin/message.js b/src/crud/admin/message.js
deleted file mode 100644
index ea9b033..0000000
--- a/src/crud/admin/message.js
+++ /dev/null
@@ -1,52 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- index: false,
- indexLabel: '序号',
- selection: true,
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- viewBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [{
- label: '创建时间',
- prop: 'createTime'
- },
- {
- label: '姓名',
- prop: 'userName',
- search: true
- }, {
- label: '邮箱',
- prop: 'email'
- }, {
- label: '联系方式',
- prop: 'contact'
- }, {
- label: '审核',
- prop: 'status',
- search: true,
- slot: true,
- type: 'select',
- dicData: [
- {
- label: '未审核',
- value: 0
- }, {
- label: '审核通过',
- value: 1
- }
- ]
- }]
-}
diff --git a/src/crud/prod/prodComm.js b/src/crud/prod/prodComm.js
deleted file mode 100644
index 81b776f..0000000
--- a/src/crud/prod/prodComm.js
+++ /dev/null
@@ -1,77 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- index: true,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- align: 'center',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- column: [
- {
- label: '商品名',
- prop: 'prodName',
- search: true
- },
- {
- label: '用户昵称',
- prop: 'nickName',
- slot: true
- },
- {
- label: '记录时间',
- prop: 'recTime',
- width: '200'
- },
- {
- label: '回复时间',
- slot: true,
- prop: 'replyTime',
- width: '200',
- dicData: [
- {
- label: '无',
- value: ''
- }
- ]
- },
- {
- label: '评价得分',
- prop: 'score'
- },
- {
- label: '是否匿名',
- prop: 'isAnonymous',
- dicData: [
- {
- label: '否',
- value: 0
- }, {
- label: '是',
- value: 1
- }
- ]
- },
- {
- prop: 'status',
- label: '审核状态',
- search: true,
- type: 'select',
- dicData: [
- {
- label: '待审核',
- value: 0
- }, {
- label: '审核通过',
- value: 1
- }, {
- label: '审核未通过',
- value: -1
- }
- ]
- }
- ]
-}
diff --git a/src/crud/prod/prodList.js b/src/crud/prod/prodList.js
deleted file mode 100644
index b2e3c4a..0000000
--- a/src/crud/prod/prodList.js
+++ /dev/null
@@ -1,59 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- selection: true,
- index: false,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- viewBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [{
- label: '产品名字',
- prop: 'prodName',
- search: true
- }, {
- label: '商品原价',
- prop: 'oriPrice'
- }, {
- label: '商品现价',
- prop: 'price'
- }, {
- label: '商品库存',
- prop: 'totalStocks'
- }, {
- label: '产品图片',
- prop: 'pic',
- type: 'upload',
- width: 150,
- listType: 'picture-img'
-
- }, {
- width: 150,
- label: '状态',
- prop: 'status',
- search: true,
- slot: true,
- type: 'select',
- dicData: [
- {
- label: '未上架',
- value: 0
- }, {
- label: '上架',
- value: 1
- }
- ]
- }]
-}
diff --git a/src/crud/prod/prodTag.js b/src/crud/prod/prodTag.js
deleted file mode 100644
index fadb3c7..0000000
--- a/src/crud/prod/prodTag.js
+++ /dev/null
@@ -1,46 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- index: true,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- align: 'center',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- column: [
- {
- label: '标签名称',
- prop: 'title',
- search: true,
- slot: true
- },
- {
- label: '状态',
- prop: 'status',
- type: 'select',
- slot: true,
- search: true,
- dicData: [
- {
- label: '禁用',
- value: 0
- }, {
- label: '正常',
- value: 1
- }
- ]
- },
- {
- label: '默认类型',
- prop: 'isDfault',
- slot: true
- },
- {
- label: '排序',
- prop: 'seq'
- }
- ]
-}
diff --git a/src/crud/prod/spec.js b/src/crud/prod/spec.js
deleted file mode 100644
index 06790c6..0000000
--- a/src/crud/prod/spec.js
+++ /dev/null
@@ -1,30 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- index: true,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- viewBtn: false,
- delBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [{
- label: '属性名称',
- prop: 'propName',
- search: true
- }, {
- label: '属性值',
- prop: 'prodPropValues',
- slot: true
- }]
-}
diff --git a/src/crud/shop/hotSearch.js b/src/crud/shop/hotSearch.js
deleted file mode 100644
index a7bf942..0000000
--- a/src/crud/shop/hotSearch.js
+++ /dev/null
@@ -1,52 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- index: false,
- selection: true,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- align: 'center',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- column: [
- {
- label: '热搜标题',
- prop: 'title',
- search: true
- },
- {
- label: '热搜内容',
- prop: 'content',
- search: true
- },
- {
- label: '录入时间',
- prop: 'recDate',
- sortable: true
- },
- {
- label: '顺序',
- prop: 'seq',
- sortable: true
- },
- {
- label: '启用状态',
- prop: 'status',
- type: 'select',
- slot: true,
- search: true,
- dicData: [
- {
- label: '未启用',
- value: 0
- }, {
- label: '启用',
- value: 1
- }
- ]
- }
- ]
-}
diff --git a/src/crud/shop/notice.js b/src/crud/shop/notice.js
deleted file mode 100644
index 6284d24..0000000
--- a/src/crud/shop/notice.js
+++ /dev/null
@@ -1,52 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- index: true,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- align: 'center',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- column: [
- {
- label: '公告内容',
- prop: 'title',
- search: true
- },
- {
- label: '状态',
- prop: 'status',
- search: true,
- slot: true,
- type: 'select',
- dicData: [
- {
- label: '撤销',
- value: 0
- }, {
- label: '公布',
- value: 1
- }
- ]
- },
- {
- label: '是否置顶',
- prop: 'isTop',
- search: true,
- slot: true,
- type: 'select',
- dicData: [
- {
- label: '否',
- value: 0
- }, {
- label: '是',
- value: 1
- }
- ]
- }
- ]
-}
diff --git a/src/crud/shop/pickAddr.js b/src/crud/shop/pickAddr.js
deleted file mode 100644
index d884de6..0000000
--- a/src/crud/shop/pickAddr.js
+++ /dev/null
@@ -1,43 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- index: false,
- selection: true,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- viewBtn: false,
- delBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [
- {
- label: '自提点名称',
- prop: 'addrName',
- search: true
- }, {
- label: '手机号',
- prop: 'mobile'
- }, {
- label: '省份',
- prop: 'province'
- }, {
- label: '城市',
- prop: 'city'
- }, {
- label: '区/县',
- prop: 'area'
- }, {
- label: '地址',
- prop: 'addr'
- }]
-}
diff --git a/src/crud/shop/transport.js b/src/crud/shop/transport.js
deleted file mode 100644
index 7a02c0b..0000000
--- a/src/crud/shop/transport.js
+++ /dev/null
@@ -1,27 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- index: false,
- selection: true,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- viewBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [{
- label: '模板名称',
- prop: 'transName',
- search: true
- }]
-}
diff --git a/src/crud/sys/area.js b/src/crud/sys/area.js
deleted file mode 100644
index 027da3d..0000000
--- a/src/crud/sys/area.js
+++ /dev/null
@@ -1,30 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- index: true,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- align: 'center',
- addBtn: false,
- editBtn: false,
- column: [
- {
- label: '',
- prop: 'areaId'
- },
- {
- label: '',
- prop: 'areaName'
- },
- {
- label: '',
- prop: 'parentId'
- },
- {
- label: '',
- prop: 'level'
- }
- ]
-}
diff --git a/src/crud/sys/config.js b/src/crud/sys/config.js
deleted file mode 100644
index eb807f7..0000000
--- a/src/crud/sys/config.js
+++ /dev/null
@@ -1,33 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- selection: true,
- index: false,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- viewBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [{
- label: '参数名',
- prop: 'paramKey',
- search: true
- }, {
- label: '参数值',
- prop: 'paramValue'
- }, {
- label: '备注',
- prop: 'remark'
- }]
-}
diff --git a/src/crud/sys/log.js b/src/crud/sys/log.js
deleted file mode 100644
index e9d3081..0000000
--- a/src/crud/sys/log.js
+++ /dev/null
@@ -1,47 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- menu: false, // 移除操作栏
- selection: true,
- index: false,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- viewBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [{
- label: '用户名',
- prop: 'username',
- search: true
- }, {
- label: '用户操作',
- prop: 'operation',
- search: true
- }, {
- label: '请求方法',
- prop: 'method'
- }, {
- label: '请求参数',
- prop: 'params'
- }, {
- label: '执行时长(毫秒)',
- prop: 'time'
- }, {
- label: 'IP地址',
- prop: 'ip'
- }, {
- label: '创建时间',
- prop: 'createDate'
- }]
-}
diff --git a/src/crud/sys/role.js b/src/crud/sys/role.js
deleted file mode 100644
index 682aef0..0000000
--- a/src/crud/sys/role.js
+++ /dev/null
@@ -1,33 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- selection: true,
- index: false,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- viewBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [{
- label: '角色名称',
- prop: 'roleName',
- search: true
- }, {
- label: '备注',
- prop: 'remark'
- }, {
- label: '创建时间',
- prop: 'createTime'
- }]
-}
diff --git a/src/crud/sys/user.js b/src/crud/sys/user.js
deleted file mode 100644
index a2a61a3..0000000
--- a/src/crud/sys/user.js
+++ /dev/null
@@ -1,50 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- selection: true,
- index: false,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- viewBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [{
- label: '用户名',
- prop: 'username',
- search: true
- }, {
- label: '邮箱',
- prop: 'email'
- }, {
- label: '手机号',
- prop: 'mobile'
- }, {
- label: '创建时间',
- prop: 'createTime'
- }, {
- label: '状态',
- prop: 'status',
- type: 'select',
- dicData: [
- {
- label: '禁用',
- value: 0
- }, {
- label: '正常',
- value: 1
- }
- ]
-
- }]
-}
diff --git a/src/crud/user/addr.js b/src/crud/user/addr.js
deleted file mode 100644
index 8d62154..0000000
--- a/src/crud/user/addr.js
+++ /dev/null
@@ -1,80 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- index: true,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- align: 'center',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- viewBtn: false,
- column: [
- {
- label: '收货人名称',
- prop: 'receiver'
- },
- {
- label: '省',
- prop: 'province'
- },
- {
- label: '城市',
- prop: 'city'
- },
- {
- label: '区',
- prop: 'area'
- },
- {
- label: '地址',
- prop: 'addr'
- },
- {
- label: '邮编',
- prop: 'postCode'
- },
- {
- label: '手机',
- prop: 'mobile'
- },
- {
- label: '状态',
- prop: 'status',
- search: true,
- type: 'select',
- dicData: [
- {
- label: '无效',
- value: 0
- }, {
- label: '正常',
- value: 1
- }
- ]
- },
- {
- label: '默认地址',
- prop: 'commonAddr',
- dicData: [
- {
- label: '否',
- value: 0
- }, {
- label: '是',
- value: 1
- }
- ]
- },
- {
- label: '建立时间',
- prop: 'createTime'
- },
- {
- label: '更新时间',
- prop: 'updateTime'
- }
- ]
-}
diff --git a/src/crud/user/user.js b/src/crud/user/user.js
deleted file mode 100644
index 29049e3..0000000
--- a/src/crud/user/user.js
+++ /dev/null
@@ -1,53 +0,0 @@
-export const tableOption = {
- searchMenuSpan: 6,
- columnBtn: false,
- border: true,
- // selection: true,
- index: false,
- indexLabel: '序号',
- stripe: true,
- menuAlign: 'center',
- menuWidth: 350,
- align: 'center',
- refreshBtn: true,
- searchSize: 'mini',
- addBtn: false,
- editBtn: false,
- delBtn: false,
- viewBtn: false,
- props: {
- label: 'label',
- value: 'value'
- },
- column: [{
- label: '用户昵称',
- prop: 'nickName',
- search: true
- }, {
- label: '用户头像',
- prop: 'pic',
- type: 'upload',
- imgWidth: 150,
- listType: 'picture-img',
- slot: true
- }, {
- label: '状态',
- prop: 'status',
- search: true,
- type: 'select',
- slot: true,
- dicData: [
- {
- label: '禁用',
- value: 0
- }, {
- label: '正常',
- value: 1
- }
- ]
- }, {
- label: '注册时间',
- prop: 'userRegtime',
- imgWidth: 150
- }]
-}
diff --git a/src/element-ui-theme/fonts/element-icons.ttf b/src/element-ui-theme/fonts/element-icons.ttf
deleted file mode 100644
index 91b74de..0000000
Binary files a/src/element-ui-theme/fonts/element-icons.ttf and /dev/null differ
diff --git a/src/element-ui-theme/fonts/element-icons.woff b/src/element-ui-theme/fonts/element-icons.woff
deleted file mode 100644
index 02b9a25..0000000
Binary files a/src/element-ui-theme/fonts/element-icons.woff and /dev/null differ
diff --git a/src/element-ui-theme/style.css b/src/element-ui-theme/style.css
deleted file mode 100644
index 77c8c71..0000000
--- a/src/element-ui-theme/style.css
+++ /dev/null
@@ -1 +0,0 @@
-@charset "UTF-8";.el-pagination--small .arrow.disabled,.el-table .hidden-columns,.el-table td.is-hidden>*,.el-table th.is-hidden>*,.el-table--hidden{visibility:hidden}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing),.el-message__closeBtn:focus,.el-message__content:focus,.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing),.el-rate:active,.el-rate:focus,.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing),.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-input__suffix,.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}@font-face{font-family:element-icons;src:url(fonts/element-icons.woff) format("woff"),url(fonts/element-icons.ttf) format("truetype");font-weight:400;font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-setting:before{content:"\e6ca"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-finished:before{content:"\e6cd"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort:before{content:"\e6d2"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-delete:before{content:"\e6d7"}.el-icon-minus:before{content:"\e6d8"}.el-icon-plus:before{content:"\e6d9"}.el-icon-check:before{content:"\e6da"}.el-icon-close:before{content:"\e6db"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-key:before{content:"\e6e2"}.el-icon-user:before{content:"\e6e3"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-top:before{content:"\e6e6"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-star-off:before{content:"\e717"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-circle-check:before{content:"\e720"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-bell:before{content:"\e725"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-help:before{content:"\e73d"}.el-icon-news:before{content:"\e73e"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-data-line:before{content:"\e76d"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-video-camera:before{content:"\e772"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-search:before{content:"\e778"}.el-icon-camera:before{content:"\e779"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-upload2:before{content:"\e77b"}.el-icon-download:before{content:"\e77c"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit:before{content:"\e78c"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-date:before{content:"\e78e"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-share:before{content:"\e793"}.el-icon-more:before{content:"\e794"}.el-icon-phone:before{content:"\e795"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-star-on:before{content:"\e797"}.el-icon-menu:before{content:"\e798"}.el-icon-message-solid:before{content:"\e799"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-success:before{content:"\e79c"}.el-icon-error:before{content:"\e79d"}.el-icon-location:before{content:"\e79e"}.el-icon-picture:before{content:"\e79f"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-info:before{content:"\e7a1"}.el-icon-remove:before{content:"\e7a2"}.el-icon-warning:before{content:"\e7a3"}.el-icon-question:before{content:"\e7a4"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-goods:before{content:"\e7c2"}.el-icon-upload:before{content:"\e7c3"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination::after,.el-pagination::before{display:table;content:""}.el-pagination::after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#02A1E9}.el-pagination button:disabled{color:#C0C4CC;background-color:#FFF;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat #FFF;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#C0C4CC;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .more::before,.el-pagination--small li.more::before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#02A1E9}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#C0C4CC}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#02A1E9}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#02A1E9;color:#FFF}.el-dialog,.el-pager li{background:#FFF;-webkit-box-sizing:border-box}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-radio,.el-table th{-webkit-user-select:none;-moz-user-select:none}.el-date-table,.el-radio,.el-table th{-ms-user-select:none}.el-pager .more::before{line-height:30px}.el-pager li{padding:0 4px;font-size:13px;min-width:35.5px;height:28px;line-height:28px;box-sizing:border-box;text-align:center}.el-menu--collapse .el-menu .el-submenu,.el-menu--popup{min-width:200px}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#C0C4CC}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#02A1E9}.el-pager li.active{color:#02A1E9;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#02A1E9}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #E4E7ED;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF}.el-dropdown-menu,.el-menu--collapse .el-submenu .el-menu{z-index:10;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#F5F7FA}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#FFF}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.el-dropdown .el-dropdown__caret-button:hover::before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown-menu{position:absolute;top:0;left:0;padding:10px 0;margin:5px 0;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#606266;cursor:pointer;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#e6f6fd;color:#35b4ed}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #EBEEF5}.el-dropdown-menu__item--divided:before{content:'';height:6px;display:block;margin:0 -20px;background-color:#FFF}.el-menu::after,.el-menu::before,.el-radio__inner::after,.el-switch__core:after{content:""}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#FFF}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu::after,.el-menu::before{display:table}.el-menu::after{clear:both}.el-menu.el-menu--horizontal{border-bottom:solid 1px #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #02A1E9;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#FFF;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #02A1E9;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-submenu{position:relative}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;border:1px solid #E4E7ED;border-radius:2px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu-item,.el-submenu__title{height:56px;line-height:56px;position:relative;-webkit-box-sizing:border-box;white-space:nowrap;list-style:none}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#e6f6fd}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#02A1E9}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#e6f6fd}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#e6f6fd}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-submenu.is-active .el-submenu__title{border-bottom-color:#02A1E9}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio,.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.el-radio{color:#606266;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;outline:0;margin-right:30px}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#02A1E9}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#02A1E9;background:#02A1E9}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#02A1E9}.el-radio__input.is-focus .el-radio__inner{border-color:#02A1E9}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#02A1E9}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio-button,.el-radio-button__inner{display:inline-block;position:relative;outline:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #02A1E9;box-shadow:0 0 2px 2px #02A1E9}.el-radio__label{font-size:14px;padding-left:10px}.el-radio-group{display:inline-block;line-height:1;vertical-align:middle;font-size:0}.el-radio-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;background:#FFF;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#02A1E9}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#FFF;background-color:#02A1E9;border-color:#02A1E9;-webkit-box-shadow:-1px 0 0 0 #02A1E9;box-shadow:-1px 0 0 0 #02A1E9}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#F2F6FC}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-popover,.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #02A1E9;box-shadow:0 0 2px 2px #02A1E9}.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#02A1E9}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #DCDFE6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#DCDFE6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-switch__core:after{position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#FFF}.el-switch.is-checked .el-switch__core{border-color:#02A1E9;background-color:#02A1E9}.el-switch.is-checked .el-switch__core::after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#02A1E9;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select .el-tag,.el-table{-webkit-box-sizing:border-box}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#02A1E9;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#C0C4CC}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#02A1E9}.el-select .el-input .el-select__caret{color:#C0C4CC;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#C0C4CC;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#E4E7ED}.el-select .el-input.is-focus .el-input__inner{border-color:#02A1E9}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#C0C4CC;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select .el-tag__close{margin-top:-2px}.el-select .el-tag{box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5}.el-select .el-tag__close.el-icon-close{background-color:#C0C4CC;right:-7px;top:0;color:#FFF}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#FFF}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.el-table{position:relative;overflow:hidden;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table--mini,.el-table--small,.el-table__expand-icon{font-size:12px}.el-table__empty-block{min-height:60px;text-align:center;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit td.gutter,.el-table--fit th.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th{background:#F5F7FA}.el-table th,.el-table tr{background-color:#FFF}.el-table td,.el-table th{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table td.is-center,.el-table th.is-center{text-align:center}.el-table td.is-right,.el-table th.is-right{text-align:right}.el-table td.gutter,.el-table th.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table--medium td,.el-table--medium th{padding:10px 0}.el-table--small td,.el-table--small th{padding:8px 0}.el-table--mini td,.el-table--mini th{padding:6px 0}.el-table .cell,.el-table th div{padding-right:10px;overflow:hidden;text-overflow:ellipsis}.el-table .cell,.el-table th div,.el-table--border td:first-child .cell,.el-table--border th:first-child .cell{padding-left:10px}.el-table tr input[type=checkbox]{margin:0}.el-table td,.el-table th.is-leaf{border-bottom:1px solid #EBEEF5}.el-table th.is-sortable{cursor:pointer}.el-table th{white-space:nowrap;overflow:hidden;user-select:none}.el-date-table,.el-time-panel{-webkit-user-select:none;-moz-user-select:none}.el-table th div{display:inline-block;line-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-table th>.cell{position:relative;word-wrap:normal;text-overflow:ellipsis;display:inline-block;vertical-align:middle;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-table th>.cell.highlight{color:#02A1E9}.el-table th.required>div::before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-table td.gutter{width:0}.el-table .cell{-webkit-box-sizing:border-box;box-sizing:border-box;white-space:normal;word-break:break-all;line-height:23px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #EBEEF5}.el-table--border::after,.el-table--group::after,.el-table::before{content:'';position:absolute;background-color:#EBEEF5;z-index:1}.el-table--border::after,.el-table--group::after{top:0;right:0;width:1px;height:100%}.el-table::before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border td,.el-table--border th,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #EBEEF5}.el-table--border th.gutter:last-of-type{border-bottom:1px solid #EBEEF5;border-bottom-width:1px}.el-table--border th,.el-table__fixed-right-patch{border-bottom:1px solid #EBEEF5}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right::before,.el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#EBEEF5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#FFF}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td{border-top:1px solid #EBEEF5;background-color:#F5F7FA;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td{border-top:1px solid #EBEEF5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td,.el-table__header-wrapper tbody td{background-color:#F5F7FA;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-picker-panel,.el-table-filter{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #EBEEF5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#C0C4CC;top:5px}.el-table .sort-caret.descending{border-top-color:#C0C4CC;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#02A1E9}.el-table .descending .sort-caret.descending{border-top-color:#02A1E9}.el-table .hidden-columns{position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td{background:#FAFAFA}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td,.el-table__body tr.current-row>td,.el-table__body tr.hover-row.current-row>td,.el-table__body tr.hover-row.el-table__row--striped.current-row>td,.el-table__body tr.hover-row.el-table__row--striped>td,.el-table__body tr.hover-row>td{background-color:#e6f6fd}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #EBEEF5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td{background-color:#F5F7FA}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:14px;vertical-align:middle;margin-right:5px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #EBEEF5;border-radius:2px;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:2px 0}.el-date-table td,.el-date-table td div{height:30px;-webkit-box-sizing:border-box}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#e6f6fd;color:#35b4ed}.el-table-filter__list-item.is-active{background-color:#02A1E9;color:#FFF}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #EBEEF5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table td.in-range div,.el-date-table td.in-range div:hover,.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#F2F6FC}.el-table-filter__bottom button:hover{color:#02A1E9}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{padding:3px 0;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#C0C4CC}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#02A1E9;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#FFF}.el-date-table td.available:hover{color:#02A1E9}.el-date-table td.current:not(.disabled) span{color:#FFF;background-color:#02A1E9}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#FFF}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#02A1E9}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#F5F7FA;opacity:1;cursor:not-allowed;color:#C0C4CC}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#F2F6FC;border-radius:15px}.el-date-table td.selected div:hover{background-color:#F2F6FC}.el-date-table td.selected span{background-color:#02A1E9;color:#FFF;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #EBEEF5}.el-month-table{margin:-1px}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#02A1E9;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#FFF}.el-month-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-month-table td.disabled .cell:hover{color:#C0C4CC}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#02A1E9}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#F2F6FC}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#FFF}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#FFF;background-color:#02A1E9}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#02A1E9}.el-year-table{margin:-1px}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#02A1E9;font-weight:700}.el-year-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-year-table td.disabled .cell:hover{color:#C0C4CC}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#02A1E9}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#FFF}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#02A1E9}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#02A1E9;font-weight:700}.time-select-item.disabled{color:#E4E7ED;cursor:not-allowed}.time-select-item:hover{background-color:#F5F7FA;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input,.el-date-editor .el-range-separator{height:100%;margin:0;text-align:center;display:inline-block;font-size:14px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;padding:0;width:39%;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{padding:0 5px;line-height:32px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#02A1E9}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-popover,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#02A1E9}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#02A1E9}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#02A1E9}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#FFF;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#02A1E9}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list::after,.el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#F5F7FA;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#C0C4CC;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #E4E7ED;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-slider__button,.el-slider__button-wrapper{-webkit-user-select:none;-moz-user-select:none}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#02A1E9}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-popover{position:absolute;background:#FFF;min-width:150px;border:1px solid #EBEEF5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.8;background:#FFF}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#FFF;border-radius:4px;border:1px solid #EBEEF5;font-size:18px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper::after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#F56C6C}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#02A1E9}.el-message-box__content{position:relative;padding:10px 15px;color:#606266;font-size:14px}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status::before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67C23A}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#E6A23C}.el-message-box__status.el-icon-error{color:#F56C6C}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#F56C6C;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-container,.el-container.is-vertical,.el-link,.el-steps--vertical{-webkit-box-direction:normal}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#02A1E9;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form-item__content .el-input-group,.el-form-item__label,.el-tag .el-icon-close{vertical-align:middle}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item::after,.el-form-item::before{display:table;content:""}.el-form-item::after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content::after,.el-form-item__content::before{display:table;content:""}.el-form-item__content::after{clear:both}.el-form-item__error{color:#F56C6C;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:'*';color:#F56C6C;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#F56C6C}.el-form-item.is-success .el-input__inner,.el-form-item.is-success .el-input__inner:focus,.el-form-item.is-success .el-textarea__inner,.el-form-item.is-success .el-textarea__inner:focus{border-color:#67C23A}.el-form-item.is-success .el-input-group__append .el-input__inner,.el-form-item.is-success .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-success .el-input__validateIcon{color:#67C23A}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#02A1E9;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.el-tabs__new-tab:hover{color:#02A1E9}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#E4E7ED;z-index:1}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after,.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #02A1E9 inset;box-shadow:0 0 2px 2px #02A1E9 inset;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs__item .el-icon-close:hover{background-color:#C0C4CC;color:#FFF}.el-tabs__item.is-active{color:#02A1E9}.el-tabs__item:hover{color:#02A1E9;cursor:pointer}.el-tabs__item.is-disabled{color:#C0C4CC;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #E4E7ED}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #E4E7ED;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-alert,.el-tag{-webkit-box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close,.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #E4E7ED;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#FFF}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--border-card{background:#FFF;border:1px solid #DCDFE6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#F5F7FA;border-bottom:1px solid #E4E7ED;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#02A1E9;background-color:#FFF;border-right-color:#DCDFE6;border-left-color:#DCDFE6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#02A1E9}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#C0C4CC}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom .el-tabs--left .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs--left .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card .el-tabs__item:last-child,.el-tabs--top .el-tabs--left .el-tabs__item:last-child,.el-tabs--top .el-tabs--right .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card .el-tabs__item:last-child,.el-tabs--top.el-tabs--card .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #DCDFE6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left::after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left::after,.el-tabs--left .el-tabs__nav-wrap.is-right::after,.el-tabs--right .el-tabs__nav-wrap.is-left::after,.el-tabs--right .el-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #E4E7ED;border-bottom:none;border-top:1px solid #E4E7ED}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #E4E7ED;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #E4E7ED;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #E4E7ED;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right::after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tag,.slideInLeft-transition,.slideInRight-transition{display:inline-block}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #E4E7ED}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #E4E7ED;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #E4E7ED;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #E4E7ED;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.el-tag{background-color:rgba(2,161,233,.1);padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#02A1E9;border-radius:4px;box-sizing:border-box;border:1px solid rgba(2,161,233,.2);white-space:nowrap}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;top:-1px;right:-5px;color:#02A1E9}.el-tag .el-icon-close::before{display:block}.el-tag .el-icon-close:hover{background-color:#02A1E9;color:#FFF}.el-tag--info,.el-tag--info .el-tag__close{color:#909399}.el-tag--info{background-color:rgba(144,147,153,.1);border-color:rgba(144,147,153,.2)}.el-tag--info.is-hit{border-color:#909399}.el-tag--info .el-tag__close:hover{background-color:#909399;color:#FFF}.el-tag--success{background-color:rgba(103,194,58,.1);border-color:rgba(103,194,58,.2);color:#67C23A}.el-tag--success.is-hit{border-color:#67C23A}.el-tag--success .el-tag__close{color:#67C23A}.el-tag--success .el-tag__close:hover{background-color:#67C23A;color:#FFF}.el-tag--warning{background-color:rgba(230,162,60,.1);border-color:rgba(230,162,60,.2);color:#E6A23C}.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--warning .el-tag__close{color:#E6A23C}.el-tag--warning .el-tag__close:hover{background-color:#E6A23C;color:#FFF}.el-tag--danger{background-color:rgba(245,108,108,.1);border-color:rgba(245,108,108,.2);color:#F56C6C}.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--danger .el-tag__close{color:#F56C6C}.el-tag--danger .el-tag__close:hover{background-color:#F56C6C;color:#FFF}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-tree{position:relative;cursor:default;background:#FFF;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#02A1E9}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#F5F7FA}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#02A1E9;color:#fff}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:#F5F7FA}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#C0C4CC;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#C0C4CC}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#ebf7fd}.el-alert{width:100%;padding:8px 16px;margin:0;box-sizing:border-box;border-radius:4px;position:relative;background-color:#FFF;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#C0C4CC}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#FFF}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67C23A}.el-alert--success.is-light .el-alert__description{color:#67C23A}.el-alert--success.is-dark{background-color:#67C23A;color:#FFF}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#FFF}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#E6A23C}.el-alert--warning.is-light .el-alert__description{color:#E6A23C}.el-alert--warning.is-dark{background-color:#E6A23C;color:#FFF}.el-alert--error.is-light{background-color:#fef0f0;color:#F56C6C}.el-alert--error.is-light .el-alert__description{color:#F56C6C}.el-alert--error.is-dark{background-color:#F56C6C;color:#FFF}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active{opacity:0}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #EBEEF5;position:fixed;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67C23A}.el-notification .el-icon-error{color:#F56C6C}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#E6A23C}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#F5F7FA;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#02A1E9}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#02A1E9}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#E4E7ED;color:#E4E7ED}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#E4E7ED;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-progress-bar__inner::after,.el-row::after,.el-row::before,.el-slider::after,.el-slider::before,.el-slider__button-wrapper::after,.el-upload-cover::after{content:""}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF}.el-slider::after,.el-slider::before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper::after{vertical-align:middle;display:inline-block}.el-slider::after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#E4E7ED;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button{border-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#02A1E9;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;transform:translateX(-50%);background-color:transparent;text-align:center;-ms-user-select:none;user-select:none;line-height:normal}.el-slider__button-wrapper::after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #02A1E9;background-color:#FFF;border-radius:50%;-webkit-transition:.2s;transition:.2s;-ms-user-select:none;user-select:none}.el-button,.el-step__icon-inner{-moz-user-select:none;-webkit-user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#FFF;transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #DCDFE6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#C0C4CC}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#02A1E9}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-10,.el-col-pull-11,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-2,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-push-0,.el-col-push-1,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-2,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-row{position:relative}.el-loading-spinner .el-loading-text{color:#02A1E9;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#02A1E9;stroke-linecap:round}.el-loading-spinner i{color:#02A1E9}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-upload--picture-card,.el-upload-dragger{-webkit-box-sizing:border-box;cursor:pointer}.el-col-0{width:0%}.el-col-offset-0{margin-left:0}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;box-sizing:border-box;width:148px;height:148px;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#02A1E9;color:#02A1E9}.el-upload:focus .el-upload-dragger{border-color:#02A1E9}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;box-sizing:border-box;width:360px;height:180px;text-align:center;position:relative;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#C0C4CC;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #DCDFE6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#02A1E9;font-style:normal}.el-upload-dragger:hover{border-color:#02A1E9}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #02A1E9}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67C23A}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#02A1E9}.el-upload-list__item:hover{background-color:#F5F7FA}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#02A1E9;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#02A1E9}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#FFF}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#FFF;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#FFF;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#FFF;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle{display:inline-block}.el-progress--circle .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress-bar,.el-progress-bar__inner::after,.el-progress-bar__innerText,.el-spinner{display:inline-block;vertical-align:middle}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67C23A}.el-progress.is-success .el-progress__text{color:#67C23A}.el-progress.is-exception .el-progress-bar__inner{background-color:#F56C6C}.el-progress.is-exception .el-progress__text{color:#F56C6C}.el-progress-bar{padding-right:50px;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#EBEEF5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#02A1E9;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-card,.el-message{border-radius:4px;overflow:hidden}.el-progress-bar__inner::after{height:100%}.el-progress-bar__innerText{color:#FFF;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#EBEEF5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,-webkit-transform .4s;transition:opacity .3s,-webkit-transform .4s;transition:opacity .3s,transform .4s;transition:opacity .3s,transform .4s,-webkit-transform .4s;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67C23A}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#E6A23C}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#F56C6C}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#C0C4CC;font-size:16px}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67C23A}.el-message .el-icon-error{color:#F56C6C}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#E6A23C}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#F56C6C;border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#02A1E9}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C}.el-card{border:1px solid #EBEEF5;background-color:#FFF;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body{padding:20px}.el-rate{height:20px;line-height:1}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-webkit-box;display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#C0C4CC;border-color:#C0C4CC}.el-step__head.is-success{color:#67C23A;border-color:#67C23A}.el-step__head.is-error{color:#F56C6C;border-color:#F56C6C}.el-step__head.is-finish{color:#02A1E9;border-color:#02A1E9}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#FFF;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{display:inline-block;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#C0C4CC}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#C0C4CC}.el-step__title.is-success{color:#67C23A}.el-step__title.is-error{color:#F56C6C}.el-step__title.is-finish{color:#02A1E9}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#C0C4CC}.el-step__description.is-success{color:#67C23A}.el-step__description.is-error{color:#F56C6C}.el-step__description.is-finish{color:#02A1E9}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow::after,.el-step.is-simple .el-step__arrow::before{content:'';display:inline-block;position:absolute;height:15px;width:1px;background:#C0C4CC}.el-step.is-simple .el-step__arrow::before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow::after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#FFF;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#C0C4CC;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#FFF;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-carousel__item,.el-carousel__mask{height:100%;top:0;left:0;position:absolute}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s}.el-fade-in-enter,.el-fade-in-leave-active,.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active,.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #EBEEF5;border-bottom:1px solid #EBEEF5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#FFF;color:#303133;cursor:pointer;border-bottom:1px solid #EBEEF5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#02A1E9}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#FFF;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EBEEF5}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-cascader{display:inline-block;position:relative;font-size:14px;line-height:40px}.el-cascader .el-input,.el-cascader .el-input__inner{cursor:pointer}.el-cascader .el-input.is-focus .el-input__inner{border-color:#02A1E9}.el-cascader .el-input__icon{-webkit-transition:none;transition:none}.el-cascader .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-cascader .el-icon-circle-close{z-index:2;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-cascader .el-icon-circle-close:hover{color:#909399}.el-cascader__clearIcon{z-index:2;position:relative}.el-cascader__label{position:absolute;left:0;top:0;height:100%;padding:0 25px 0 15px;color:#606266;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;text-align:left;font-size:inherit}.el-cascader__label span{color:#000}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#C0C4CC}.el-cascader-menus{white-space:nowrap;background:#fff;position:absolute;margin:5px 0;z-index:2;border:1px solid #E4E7ED;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader-menu,.el-cascader-menu__item.is-disabled:hover{background-color:#FFF}.el-cascader-menu{display:inline-block;vertical-align:top;height:204px;overflow:auto;border-right:solid 1px #E4E7ED;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:6px 0;min-width:160px}.el-cascader-menu:last-child{border-right:0}.el-cascader-menu__item{font-size:14px;padding:8px 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;outline:0}.el-cascader-menu__item span{padding-right:10px}.el-cascader-menu__item--extensible:after{font-family:element-icons;content:"\e6e0";font-size:14px;color:#bfcbd9;position:absolute;right:15px}.el-cascader-menu__item.is-disabled{color:#C0C4CC;background-color:#FFF;cursor:not-allowed}.el-cascader-menu__item.is-active{color:#02A1E9}.el-cascader-menu__item:focus:not(:active),.el-cascader-menu__item:hover{background-color:#F5F7FA}.el-cascader-menu__item.selected{color:#FFF;background-color:#F5F7FA}.el-cascader-menu__item__keyword{font-weight:700}.el-cascader-menu--flexible{height:auto;max-height:180px;overflow:auto}.el-cascader-menu--flexible .el-cascader-menu__item{overflow:visible}.el-color-predefine{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #02A1E9;box-shadow:0 0 3px 2px #02A1E9}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(rgba(0,0,0,0)));background:linear-gradient(to top,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper::after{content:"";display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#02A1E9;border-color:#02A1E9}.el-color-dropdown__link-btn{cursor:pointer;color:#02A1E9;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#02A1E9,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:rgba(255,255,255,.7)}.el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty,.el-color-picker__icon{top:50%;left:50%;font-size:12px;position:absolute}.el-color-picker__empty{color:#999;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{display:inline-block;width:100%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#FFF;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#02A1E9}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-button-group>.el-button.is-active,.el-button-group>.el-button.is-disabled,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;line-height:16px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#FFF;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;text-align:center}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#02A1E9;outline:0}.el-input__suffix{right:5px;transition:all .3s}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#02A1E9;border-color:#b3e3f8;background-color:#e6f6fd}.el-button:active{color:#0291d2;border-color:#0291d2;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#02A1E9;color:#02A1E9}.el-button.is-active,.el-button.is-plain:active{color:#0291d2;border-color:#0291d2}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-checkbox,.el-checkbox__input{position:relative;display:inline-block}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#02A1E9;border-color:#02A1E9}.el-button--primary:focus,.el-button--primary:hover{background:#35b4ed;border-color:#35b4ed;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#0291d2;border-color:#0291d2;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#81d0f4;border-color:#81d0f4}.el-button--primary.is-plain{color:#02A1E9;background:#e6f6fd;border-color:#9ad9f6}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#02A1E9;border-color:#02A1E9;color:#FFF}.el-button--primary.is-plain:active{background:#0291d2;border-color:#0291d2;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#67c7f2;background-color:#e6f6fd;border-color:#ccecfb}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--text,.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover,.el-button--text:active{border-color:transparent}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{color:#02A1E9;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#35b4ed;border-color:transparent;background-color:transparent}.el-button--text:active{color:#0291d2;background-color:transparent}.el-checkbox,.el-checkbox-button__inner{font-weight:500;color:#606266;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;white-space:nowrap}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--primary:first-child{border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--primary:last-child{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--success:first-child{border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--success:last-child{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--warning:first-child{border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--warning:last-child{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child{border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:last-child{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--info:first-child{border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--info:last-child{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.el-checkbox{font-size:14px;cursor:pointer;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#02A1E9}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#02A1E9;border-color:#02A1E9}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#02A1E9}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#02A1E9}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#02A1E9}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox-button__inner,.el-transfer-panel{-webkit-box-sizing:border-box;vertical-align:middle}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{position:relative;display:inline-block}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-child{margin-right:0}.el-checkbox-button__inner{line-height:1;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#02A1E9}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#02A1E9;border-color:#02A1E9;-webkit-box-shadow:-1px 0 0 0 #67c7f2;box-shadow:-1px 0 0 0 #67c7f2}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#02A1E9}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-link,.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#02A1E9}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#FFF;background-color:#02A1E9;font-size:0}.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #DCDFE6;background-color:#F5F7FA;color:#C0C4CC}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer-panel{border:1px solid #EBEEF5;border-radius:4px;overflow:hidden;background:#FFF;display:inline-block;width:200px;max-height:100%;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#02A1E9}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#F5F7FA;margin:0;padding-left:15px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-divider__text,.el-link{font-weight:500;font-size:14px}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#FFF;margin:0;padding:0;border-top:1px solid #EBEEF5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-webkit-box;display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner::after{height:6px;width:3px;left:4px}.el-container{display:flex;-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0}.el-aside,.el-header{-webkit-box-sizing:border-box}.el-container.is-vertical{-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column}.el-header{padding:0 20px;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-footer,.el-main{-webkit-box-sizing:border-box}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;box-sizing:border-box;padding:20px}.el-footer{padding:0 20px;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #E4E7ED}.el-timeline-item__icon{color:#FFF;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#E4E7ED;border-radius:50%;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-webkit-box;display:-ms-flexbox}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#02A1E9}.el-timeline-item__node--success{background-color:#67C23A}.el-timeline-item__node--warning{background-color:#E6A23C}.el-timeline-item__node--danger{background-color:#F56C6C}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;padding:0}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #02A1E9}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#02A1E9}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#02A1E9}.el-link.el-link--default.is-disabled{color:#C0C4CC}.el-link.el-link--primary{color:#02A1E9}.el-link.el-link--primary:hover{color:#35b4ed}.el-link.el-link--primary.is-disabled{color:#81d0f4}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#F56C6C}.el-link.el-link--danger{color:#F56C6C}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67C23A}.el-link.el-link--success{color:#67C23A}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#E6A23C}.el-link.el-link--warning{color:#E6A23C}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;color:#303133}.el-image__error,.el-image__placeholder{background:#F5F7FA}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{display:inline-block}.el-image__inner{vertical-align:top}.el-image__error{display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;color:#C0C4CC;vertical-align:middle}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#C0C4CC}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#F2F8FE}.el-calendar-table td.is-today{color:#02A1E9}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#F2F8FE}
diff --git a/src/element-ui/index.js b/src/element-ui/index.js
deleted file mode 100644
index 265d09d..0000000
--- a/src/element-ui/index.js
+++ /dev/null
@@ -1,156 +0,0 @@
-/**
- * UI组件, 统一使用饿了么桌面端组件库(https://github.com/ElemeFE/element)
- *
- * 使用:
- * 1. 项目中需要的组件进行释放(解开注释)
- *
- * 注意:
- * 1. 打包只会包含释放(解开注释)的组件, 减少打包文件大小
- */
-import Vue from 'vue'
-import {
- Scrollbar,
- Pagination,
- Dialog,
- Autocomplete,
- Dropdown,
- DropdownMenu,
- DropdownItem,
- Menu,
- Submenu,
- MenuItem,
- MenuItemGroup,
- Input,
- InputNumber,
- Radio,
- RadioGroup,
- RadioButton,
- Checkbox,
- CheckboxButton,
- CheckboxGroup,
- Switch,
- Select,
- Option,
- OptionGroup,
- Button,
- ButtonGroup,
- Table,
- TableColumn,
- DatePicker,
- TimeSelect,
- TimePicker,
- Popover,
- Tooltip,
- Breadcrumb,
- BreadcrumbItem,
- Form,
- FormItem,
- Tabs,
- TabPane,
- Tag,
- Tree,
- Alert,
- Slider,
- Icon,
- Row,
- Col,
- Upload,
- Progress,
- Badge,
- Card,
- Rate,
- Steps,
- Step,
- Carousel,
- CarouselItem,
- Collapse,
- CollapseItem,
- Cascader,
- ColorPicker,
- Transfer,
- Container,
- Header,
- Aside,
- Main,
- Footer,
- Loading,
- MessageBox,
- Message,
- Notification
-} from 'element-ui'
-
-Vue.use(Pagination)
-Vue.use(Dialog)
-Vue.use(Autocomplete)
-Vue.use(Dropdown)
-Vue.use(DropdownMenu)
-Vue.use(DropdownItem)
-Vue.use(Menu)
-Vue.use(Submenu)
-Vue.use(MenuItem)
-Vue.use(MenuItemGroup)
-Vue.use(Input)
-Vue.use(InputNumber)
-Vue.use(Radio)
-Vue.use(RadioGroup)
-Vue.use(RadioButton)
-Vue.use(Checkbox)
-Vue.use(CheckboxButton)
-Vue.use(CheckboxGroup)
-Vue.use(Switch)
-Vue.use(Select)
-Vue.use(Option)
-Vue.use(OptionGroup)
-Vue.use(Button)
-Vue.use(ButtonGroup)
-Vue.use(Table)
-Vue.use(TableColumn)
-Vue.use(DatePicker)
-Vue.use(TimeSelect)
-Vue.use(TimePicker)
-Vue.use(Popover)
-Vue.use(Tooltip)
-Vue.use(Breadcrumb)
-Vue.use(BreadcrumbItem)
-Vue.use(Form)
-Vue.use(FormItem)
-Vue.use(Tabs)
-Vue.use(TabPane)
-Vue.use(Tag)
-Vue.use(Tree)
-Vue.use(Alert)
-Vue.use(Slider)
-Vue.use(Icon)
-Vue.use(Row)
-Vue.use(Col)
-Vue.use(Upload)
-Vue.use(Progress)
-Vue.use(Badge)
-Vue.use(Card)
-Vue.use(Rate)
-Vue.use(Steps)
-Vue.use(Step)
-Vue.use(Carousel)
-Vue.use(CarouselItem)
-Vue.use(Collapse)
-Vue.use(CollapseItem)
-Vue.use(Cascader)
-Vue.use(ColorPicker)
-Vue.use(Transfer)
-Vue.use(Container)
-Vue.use(Header)
-Vue.use(Aside)
-Vue.use(Main)
-Vue.use(Footer)
-Vue.use(Scrollbar)
-Vue.use(Loading.directive)
-
-Vue.prototype.$loading = Loading.service
-Vue.prototype.$msgbox = MessageBox
-Vue.prototype.$alert = MessageBox.alert
-Vue.prototype.$confirm = MessageBox.confirm
-Vue.prototype.$prompt = MessageBox.prompt
-Vue.prototype.$notify = Notification
-Vue.prototype.$message = Message
-
-Vue.prototype.$ELEMENT = { size: 'medium' }
diff --git a/src/icons/SvgIcon.vue b/src/icons/SvgIcon.vue
new file mode 100644
index 0000000..8bad136
--- /dev/null
+++ b/src/icons/SvgIcon.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/icons/iconfont.js b/src/icons/iconfont.js
deleted file mode 100644
index e69de29..0000000
diff --git a/src/icons/index.js b/src/icons/index.js
deleted file mode 100644
index d290b57..0000000
--- a/src/icons/index.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * 字体图标, 统一使用SVG Sprite矢量图标(http://www.iconfont.cn/)
- * 8a8a8a 32
- * 使用:
- * 1. 在阿里矢量图标站创建一个项目, 并添加图标(这一步非必须, 创建方便项目图标管理)
- * 2-1. 添加icon, 选中新增的icon图标, 复制代码 -> 下载 -> SVG下载 -> 粘贴代码(重命名)
- * 2-2. 添加icons, 下载图标库对应[iconfont.js]文件, 替换项目[./iconfont.js]文件
- * 3. 组件模版中使用 [
]
- *
- * 注意:
- * 1. 通过2-2 添加icons, getNameList方法无法返回对应数据
- */
-import Vue from 'vue'
-import IconSvg from '@/components/icon-svg'
-import './iconfont.js'
-
-Vue.component('IconSvg', IconSvg)
-
-const svgFiles = require.context('./svg', true, /\.svg$/)
-const iconList = svgFiles.keys().map(item => svgFiles(item))
-
-export default {
- // 获取图标icon-(*).svg名称列表, 例如[shouye, xitong, zhedie, ...]
- getNameList () {
- return iconList.map(item => item.default.id.split('-')[1])
- }
-}
diff --git a/src/icons/svg/icon-Data.svg b/src/icons/svg/icon-Data.svg
new file mode 100644
index 0000000..dfdafdb
--- /dev/null
+++ b/src/icons/svg/icon-Data.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-Distribution.svg b/src/icons/svg/icon-Distribution.svg
new file mode 100644
index 0000000..3888035
--- /dev/null
+++ b/src/icons/svg/icon-Distribution.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/icons/svg/icon-Distribution1.svg b/src/icons/svg/icon-Distribution1.svg
new file mode 100644
index 0000000..109d2b8
--- /dev/null
+++ b/src/icons/svg/icon-Distribution1.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-Finance.svg b/src/icons/svg/icon-Finance.svg
new file mode 100644
index 0000000..078ff62
--- /dev/null
+++ b/src/icons/svg/icon-Finance.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-Group.svg b/src/icons/svg/icon-Group.svg
new file mode 100644
index 0000000..20ecdd6
--- /dev/null
+++ b/src/icons/svg/icon-Group.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-Live.svg b/src/icons/svg/icon-Live.svg
new file mode 100644
index 0000000..93c0592
--- /dev/null
+++ b/src/icons/svg/icon-Live.svg
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-Marketing.svg b/src/icons/svg/icon-Marketing.svg
new file mode 100644
index 0000000..96fc71c
--- /dev/null
+++ b/src/icons/svg/icon-Marketing.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-Message.svg b/src/icons/svg/icon-Message.svg
new file mode 100644
index 0000000..3d22dff
--- /dev/null
+++ b/src/icons/svg/icon-Message.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/icons/svg/icon-Platform.svg b/src/icons/svg/icon-Platform.svg
new file mode 100644
index 0000000..22aa00d
--- /dev/null
+++ b/src/icons/svg/icon-Platform.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-Points.svg b/src/icons/svg/icon-Points.svg
new file mode 100644
index 0000000..275a86c
--- /dev/null
+++ b/src/icons/svg/icon-Points.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-Product.svg b/src/icons/svg/icon-Product.svg
new file mode 100644
index 0000000..e3e7692
--- /dev/null
+++ b/src/icons/svg/icon-Product.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-Resources.svg b/src/icons/svg/icon-Resources.svg
new file mode 100644
index 0000000..66cb30a
--- /dev/null
+++ b/src/icons/svg/icon-Resources.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-Settlement.svg b/src/icons/svg/icon-Settlement.svg
new file mode 100644
index 0000000..f134ddb
--- /dev/null
+++ b/src/icons/svg/icon-Settlement.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-admin.svg b/src/icons/svg/icon-admin.svg
deleted file mode 100644
index a8889a1..0000000
--- a/src/icons/svg/icon-admin.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/icons/svg/icon-decorate.svg b/src/icons/svg/icon-decorate.svg
new file mode 100644
index 0000000..08552a1
--- /dev/null
+++ b/src/icons/svg/icon-decorate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-financial.svg b/src/icons/svg/icon-financial.svg
new file mode 100644
index 0000000..fa9aa7d
--- /dev/null
+++ b/src/icons/svg/icon-financial.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-form.svg b/src/icons/svg/icon-form.svg
index 57e86ab..b19cc68 100644
--- a/src/icons/svg/icon-form.svg
+++ b/src/icons/svg/icon-form.svg
@@ -1 +1,8 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-goods.svg b/src/icons/svg/icon-goods.svg
new file mode 100644
index 0000000..87d00c6
--- /dev/null
+++ b/src/icons/svg/icon-goods.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-inventory.svg b/src/icons/svg/icon-inventory.svg
new file mode 100644
index 0000000..3e891f8
--- /dev/null
+++ b/src/icons/svg/icon-inventory.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-log.svg b/src/icons/svg/icon-log.svg
index b38fd72..c97a672 100644
--- a/src/icons/svg/icon-log.svg
+++ b/src/icons/svg/icon-log.svg
@@ -1 +1,5 @@
-
\ No newline at end of file
+
+
+
+
+
diff --git a/src/icons/svg/icon-members.svg b/src/icons/svg/icon-members.svg
new file mode 100644
index 0000000..4497cce
--- /dev/null
+++ b/src/icons/svg/icon-members.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-msg-tip.svg b/src/icons/svg/icon-msg-tip.svg
new file mode 100644
index 0000000..daa8440
--- /dev/null
+++ b/src/icons/svg/icon-msg-tip.svg
@@ -0,0 +1,18 @@
+
+
+
+
diff --git a/src/icons/svg/icon-notice.svg b/src/icons/svg/icon-notice.svg
new file mode 100644
index 0000000..ca0c727
--- /dev/null
+++ b/src/icons/svg/icon-notice.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-order.svg b/src/icons/svg/icon-order.svg
index 5e249b1..307888d 100644
--- a/src/icons/svg/icon-order.svg
+++ b/src/icons/svg/icon-order.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-set.svg b/src/icons/svg/icon-set.svg
new file mode 100644
index 0000000..8a6d574
--- /dev/null
+++ b/src/icons/svg/icon-set.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-shouye.svg b/src/icons/svg/icon-shouye.svg
index 9f672aa..aa96cdb 100644
--- a/src/icons/svg/icon-shouye.svg
+++ b/src/icons/svg/icon-shouye.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-store.svg b/src/icons/svg/icon-store.svg
index e41db4c..a4f7d22 100644
--- a/src/icons/svg/icon-store.svg
+++ b/src/icons/svg/icon-store.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-system.svg b/src/icons/svg/icon-system.svg
deleted file mode 100644
index 0a36a86..0000000
--- a/src/icons/svg/icon-system.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/icons/svg/icon-tubiao.svg b/src/icons/svg/icon-tubiao.svg
index 549d651..53f3445 100644
--- a/src/icons/svg/icon-tubiao.svg
+++ b/src/icons/svg/icon-tubiao.svg
@@ -1 +1,7 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-zhedie.svg b/src/icons/svg/icon-zhedie.svg
index 422a8fb..25eac25 100644
--- a/src/icons/svg/icon-zhedie.svg
+++ b/src/icons/svg/icon-zhedie.svg
@@ -1 +1,19 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/layout/main-content.vue b/src/layout/main-content.vue
new file mode 100644
index 0000000..cd16490
--- /dev/null
+++ b/src/layout/main-content.vue
@@ -0,0 +1,85 @@
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/layout/main-navbar-update-password.vue b/src/layout/main-navbar-update-password.vue
new file mode 100644
index 0000000..e981fd9
--- /dev/null
+++ b/src/layout/main-navbar-update-password.vue
@@ -0,0 +1,121 @@
+
+
+
+
+ {{ userName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/layout/main-navbar.vue b/src/layout/main-navbar.vue
new file mode 100644
index 0000000..e5cd724
--- /dev/null
+++ b/src/layout/main-navbar.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ userName }}
+
+
+
+ 修改密码
+
+
+ 退出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/layout/main-sidebar-sub-menu-item.vue b/src/layout/main-sidebar-sub-menu-item.vue
new file mode 100644
index 0000000..867e1af
--- /dev/null
+++ b/src/layout/main-sidebar-sub-menu-item.vue
@@ -0,0 +1,125 @@
+
+
+
+
+
+
diff --git a/src/layout/main-sidebar-sub-menu.vue b/src/layout/main-sidebar-sub-menu.vue
new file mode 100644
index 0000000..6322391
--- /dev/null
+++ b/src/layout/main-sidebar-sub-menu.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
diff --git a/src/layout/main-sidebar.vue b/src/layout/main-sidebar.vue
new file mode 100644
index 0000000..797e6a2
--- /dev/null
+++ b/src/layout/main-sidebar.vue
@@ -0,0 +1,295 @@
+
+
+
+
+
+
diff --git a/src/layout/main.vue b/src/layout/main.vue
new file mode 100644
index 0000000..4967b79
--- /dev/null
+++ b/src/layout/main.vue
@@ -0,0 +1,59 @@
+
+
+
+
+
diff --git a/src/main.js b/src/main.js
index ee928ff..fc2a0b9 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,34 +1,43 @@
-import Vue from 'vue'
-import ElementUI from 'element-ui'
-import App from '@/App'
-import router from '@/router' // api: https://github.com/vuejs/vue-router
-import store from '@/store' // api: https://github.com/vuejs/vuex
-import VueCookie from 'vue-cookie' // api: https://github.com/alfhen/vue-cookie
-import '@/icons' // api: http://www.iconfont.cn/
-import '@/element-ui-theme/style.css'
-import Avue from '@smallwei/avue' // api: https://avue.top
-import '@smallwei/avue/lib/index.css'
-import '@/assets/scss/index.scss'
-import httpRequest from '@/utils/httpRequest' // api: https://github.com/axios/axios
-import { isAuth } from '@/utils'
-// import cloneDeep from 'lodash/cloneDeep'
-
-Vue.use(Avue)
-Vue.use(VueCookie)
-Vue.use(ElementUI)
-Vue.config.productionTip = false
-
-// 挂载全局
-Vue.prototype.$http = httpRequest // ajax请求方法
-Vue.prototype.isAuth = isAuth // 权限方法
-
-// 保存整站vuex本地储存初始状态
-// process.env.VUE_APP_RESOURCES_URL['storeState'] = cloneDeep(store.state)
-
-/* eslint-disable no-new */
-new Vue({
- el: '#app',
- router,
- store,
- render: h => h(App)
+import { createApp } from 'vue'
+import App from './App.vue'
+import { createPinia } from 'pinia'
+import ElementPlus from 'element-plus'
+import moment from 'moment'
+import 'element-plus/dist/index.css'
+import * as ElementPlusIconsVue from '@element-plus/icons-vue'
+import router from '@/router'
+// 全局样式
+import '@/styles/index.scss'
+// svg
+import 'virtual:svg-icons-register'
+import svgIcon from '@/icons/SvgIcon.vue'
+moment.locale('zh-cn', {
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'YYYY-MM-DD HH:mm:ss'
+ },
+ week: {
+ // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
+ dow: 1, // 星期一, 是一个星期的第一天
+ doy: 4 // 1月4日所在的的一周是一年的第一周
+ }
})
+const app = createApp(App)
+
+// router
+app.use(router)
+// pinia
+const pinia = createPinia()
+app.use(pinia)
+
+app.component('SvgIcon', svgIcon)
+
+// element-plus
+app.use(ElementPlus)
+for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
+ app.component(key, component)
+}
+
+app.mount('#app')
diff --git a/src/router/import-development.js b/src/router/import-development.js
deleted file mode 100644
index 84bf7a9..0000000
--- a/src/router/import-development.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = file => require('@/views/' + file + '.vue').default
diff --git a/src/router/import-production.js b/src/router/import-production.js
deleted file mode 100644
index 331acba..0000000
--- a/src/router/import-production.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = file => () => import('@/views/' + file + '.vue')
diff --git a/src/router/index.js b/src/router/index.js
index 9fbf412..403b7af 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,55 +1,41 @@
-/* eslint-disable camelcase */
-/**
- * 全站路由配置
- *
- * 建议:
- * 1. 代码中路由统一使用name属性跳转(不使用path属性)
- */
-import Vue from 'vue'
-import Router from 'vue-router'
-import http from '@/utils/httpRequest'
+import { createRouter, createWebHistory } from 'vue-router'
+import cookie from 'vue-cookies'
import { isURL } from '@/utils/validate'
import { clearLoginInfo } from '@/utils'
-
-Vue.use(Router)
-// 解决路由重复跳转报错
-const originalPush = Router.prototype.push
-const originalReplace = Router.prototype.replace
-// 修改原型对象中的push函数
-Router.prototype.push = function push (location) {
- return originalPush.call(this, location).catch(err => err)
-}
-// 修改原型对象中的replace函数
-Router.prototype.replace = function replace (location) {
- return originalReplace.call(this, location).catch(err => err)
-}
-
-// 开发环境不使用懒加载, 因为懒加载页面太多的话会造成webpack热更新太慢, 所以只有生产环境使用懒加载
-const _import = require('./import-' + process.env.NODE_ENV)
+import Layout from '@/layout/main.vue'
+import Login from '@/views/common/login/index.vue'
// 全局路由(无需嵌套上左右整体布局)
const globalRoutes = [
- { path: '/404', component: _import('common/404'), name: '404', meta: { title: '404未找到' } },
- { path: '/login', component: _import('common/login'), name: 'login', meta: { title: '登录' } }
+ {
+ path: '/404',
+ component: () => import('@/views/common/error-page/404.vue'),
+ name: '404',
+ meta: { title: '404未找到' }
+ },
+ {
+ path: '/login',
+ component: Login,
+ name: 'login',
+ meta: { title: '登录' }
+ }
]
-// 主入口路由(需嵌套上左右整体布局)
-const mainRoutes = {
+export const mainRoutes = {
path: '/',
- component: _import('main'),
- name: 'main',
- redirect: { name: 'home' },
- meta: { title: '主入口整体布局' },
+ component: Layout,
+ name: 'home',
+ redirect: '/home',
children: [
- // 通过meta对象设置路由展示方式
- // 1. isTab: 是否通过tab展示内容, true: 是, false: 否
- // 2. iframeUrl: 是否通过iframe嵌套展示内容, '以http[s]://开头': 是, '': 否
- // 提示: 如需要通过iframe嵌套展示内容, 但不通过tab打开, 请自行创建组件使用iframe处理!
- { path: '/home', component: _import('common/home'), name: 'home', meta: { title: '首页' } },
- { path: '/prodInfo', component: _import('modules/prod/prodInfo'), name: 'prodInfo', meta: { title: '产品详情' } }
+ {
+ path: 'home',
+ name: 'home',
+ component: () => import('@/views/common/home/index.vue')
+ }
],
+ // eslint-disable-next-line no-unused-vars
beforeEnter (to, from, next) {
- let authorization = Vue.cookie.get('Authorization')
+ const authorization = cookie.get('Authorization')
if (!authorization || !/\S/.test(authorization)) {
clearLoginInfo()
next({ name: 'login' })
@@ -58,18 +44,51 @@ const mainRoutes = {
}
}
-const router = new Router({
- mode: 'hash',
- scrollBehavior: () => ({ y: 0 }),
+const router = createRouter({
+ history: createWebHistory(),
+ scrollBehavior: () => ({ top: 0 }),
isAddDynamicMenuRoutes: false, // 是否已经添加动态(菜单)路由
routes: globalRoutes.concat(mainRoutes)
})
+// eslint-disable-next-line no-unused-vars
router.beforeEach((to, from, next) => {
+ const commonStore = useCommonStore()
// 添加动态(菜单)路由
// 1. 已经添加 or 全局路由, 直接访问
// 2. 获取菜单列表, 添加并保存本地存储
if (router.options.isAddDynamicMenuRoutes || fnCurrentRouteType(to, globalRoutes) === 'global') {
+ const routeList = commonStore.routeList
+ let navTitles = []
+ let leftMenuId = ''
+ routeList.forEach(item => {
+ if (to.meta.menuId === item.menuId) {
+ navTitles.push(item.name)
+ routeList.forEach(item1 => {
+ if (item.parentId === item1.menuId) {
+ navTitles.push(item1.name)
+ leftMenuId = item.parentId
+ routeList.forEach(item2 => {
+ if (item1.parentId === item2.menuId) {
+ navTitles.push(item2.name)
+ leftMenuId = item1.parentId
+ }
+ })
+ }
+ })
+ }
+ })
+ navTitles = navTitles.reverse()
+ if (to.meta.isLeftMenu || to.path === '/home' || leftMenuId) {
+ if (leftMenuId) {
+ commonStore.updateSelectLeftId(leftMenuId)
+ commonStore.updateSelectRightId(to.meta.menuId)
+ } else {
+ commonStore.updateSidebarFold(true)
+ commonStore.updateSelectLeftId(to.path === '/home' ? '' : to.meta.menuId)
+ }
+ }
+ commonStore.updateSelectMenu(navTitles)
next()
} else {
http({
@@ -77,12 +96,48 @@ router.beforeEach((to, from, next) => {
method: 'get',
params: http.adornParams()
}).then(({ data }) => {
- sessionStorage.setItem('authorities', JSON.stringify(data.authorities || '[]'))
+ sessionStorage.setItem('Authorization', JSON.stringify(data.authorities || '[]'))
fnAddDynamicMenuRoutes(data.menuList)
router.options.isAddDynamicMenuRoutes = true
+ const rList = []
+ data.menuList.forEach(item => {
+ item.isLeftMenu = item.parentId === 0
+ rList.push({
+ menuId: item.menuId,
+ name: item.name,
+ parentId: item.parentId,
+ url: item.url
+ })
+ if (item.list) {
+ item.list.forEach(item1 => {
+ item1.isLeftMenu = item1.parentId === 0
+ rList.push({
+ menuId: item1.menuId,
+ name: item1.name,
+ parentId: item1.parentId,
+ url: item1.url
+ })
+ if (item1.list) {
+ item1.list.forEach(item2 => {
+ item2.isLeftMenu = item2.parentId === 0
+ rList.push({
+ menuId: item2.menuId,
+ name: item2.name,
+ parentId: item2.parentId,
+ url: item2.url
+ })
+ })
+ }
+ })
+ }
+ })
+ fnAddDynamicMenuRoutes(data.menuList)
sessionStorage.setItem('menuList', JSON.stringify(data.menuList || '[]'))
+ commonStore.updateRouteList(rList)
+ commonStore.updateMenuIds(rList)
next({ ...to, replace: true })
- }).catch((e) => {
+ }).catch(e => {
+ // eslint-disable-next-line no-console
console.log(`%c${e} 请求菜单列表和权限失败,跳转至登录页!!`, 'color:blue')
router.push({ name: 'login' })
})
@@ -92,10 +147,11 @@ router.beforeEach((to, from, next) => {
/**
* 判断当前路由类型, global: 全局路由, main: 主入口路由
* @param {*} route 当前路由
+ * @param globalRoutes 全局路由
*/
function fnCurrentRouteType (route, globalRoutes = []) {
- var temp = []
- for (var i = 0; i < globalRoutes.length; i++) {
+ let temp = []
+ for (let i = 0; i < globalRoutes.length; i++) {
if (route.path === globalRoutes[i].path) {
return 'global'
} else if (globalRoutes[i].children && globalRoutes[i].children.length >= 1) {
@@ -111,16 +167,17 @@ function fnCurrentRouteType (route, globalRoutes = []) {
* @param {*} routes 递归创建的动态(菜单)路由
*/
function fnAddDynamicMenuRoutes (menuList = [], routes = []) {
- var temp = []
- for (var i = 0; i < menuList.length; i++) {
+ let temp = []
+ const modules = import.meta.glob('../views/modules/**/**.vue')
+ for (let i = 0; i < menuList.length; i++) {
if (menuList[i].list && menuList[i].list.length >= 1) {
temp = temp.concat(menuList[i].list)
} else if (menuList[i].url && /\S/.test(menuList[i].url)) {
menuList[i].url = menuList[i].url.replace(/^\//, '')
- var route = {
- path: menuList[i].url.replace('/', '-'),
+ const route = {
+ path: menuList[i].url,
component: null,
- name: menuList[i].url.replace('/', '-'),
+ name: menuList[i].url,
meta: {
menuId: menuList[i].menuId,
title: menuList[i].name,
@@ -131,13 +188,13 @@ function fnAddDynamicMenuRoutes (menuList = [], routes = []) {
}
// url以http[s]://开头, 通过iframe展示
if (isURL(menuList[i].url)) {
- route['path'] = `i-${menuList[i].menuId}`
- route['name'] = `i-${menuList[i].menuId}`
- route['meta']['iframeUrl'] = menuList[i].url
+ route.path = `i-${menuList[i].menuId}`
+ route.name = `i-${menuList[i].menuId}`
+ route.meta.iframeUrl = menuList[i].url
} else {
try {
- route['component'] = _import(`modules/${menuList[i].url}`) || null
- } catch (e) { }
+ route.component = modules[`../views/modules/${menuList[i].url}.vue`] || null
+ } catch (e) {}
}
routes.push(route)
}
@@ -147,12 +204,8 @@ function fnAddDynamicMenuRoutes (menuList = [], routes = []) {
} else {
mainRoutes.name = 'main-dynamic'
mainRoutes.children = routes
- router.addRoutes([
- mainRoutes,
- { path: '*', redirect: { name: '404' } }
- ])
- sessionStorage.setItem('dynamicMenuRoutes', JSON.stringify(mainRoutes.children || '[]'))
+ router.addRoute(mainRoutes)
}
+ router.addRoute({ path: '/:pathMatch(.*)*', redirect: { name: '404' } })
}
-
export default router
diff --git a/src/store/index.js b/src/store/index.js
deleted file mode 100644
index 5e845e5..0000000
--- a/src/store/index.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import Vue from 'vue'
-import Vuex from 'vuex'
-import cloneDeep from 'lodash/cloneDeep'
-import common from './modules/common'
-import user from './modules/user'
-import prod from './modules/prod'
-
-Vue.use(Vuex)
-
-export default new Vuex.Store({
- modules: {
- common,
- user,
- prod
- },
- mutations: {
- // 重置vuex本地储存状态
- resetStore (state) {
- Object.keys(state).forEach((key) => {
- state[key] = cloneDeep(process.env.VUE_APP_RESOURCES_URL['storeState'][key])
- })
- }
- },
- strict: process.env.NODE_ENV !== 'production'
-})
diff --git a/src/store/modules/common.js b/src/store/modules/common.js
deleted file mode 100644
index b19fd30..0000000
--- a/src/store/modules/common.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import router from '@/router'
-
-export default {
- namespaced: true,
- state: {
- // 页面文档可视高度(随窗口改变大小)
- documentClientHeight: 0,
- // 导航条, 布局风格, defalut(默认) / inverse(反向)
- navbarLayoutType: 'default',
- // 侧边栏, 布局皮肤, light(浅色) / dark(黑色)
- sidebarLayoutSkin: 'dark',
- // 侧边栏, 折叠状态
- sidebarFold: false,
- // 侧边栏, 菜单
- menuList: [],
- menuActiveName: '',
- // 主入口标签页
- mainTabs: [],
- mainTabsActiveName: ''
- },
- mutations: {
- updateDocumentClientHeight (state, height) {
- state.documentClientHeight = height
- },
- updateSidebarFold (state, fold) {
- state.sidebarFold = fold
- },
- updateMenuList (state, list) {
- state.menuList = list
- },
- updateMenuActiveName (state, name) {
- state.menuActiveName = name
- },
- updateMainTabs (state, tabs) {
- state.mainTabs = tabs
- },
- updateMainTabsActiveName (state, name) {
- state.mainTabsActiveName = name
- },
- removeMainActiveTab (state) {
- state.mainTabs = state.mainTabs.filter(item => item.name !== state.mainTabsActiveName)
- if (state.mainTabs.length >= 1) {
- // 当前选中tab被删除
- router.push({ name: state.mainTabs[state.mainTabs.length - 1].name }, () => {
- state.mainTabsActiveName = state.mainTabs[state.mainTabs.length - 1].name
- })
- } else {
- state.menuActiveName = ''
- router.push({ name: 'home' })
- }
- }
- }
-}
diff --git a/src/store/modules/prod.js b/src/store/modules/prod.js
deleted file mode 100644
index d18807e..0000000
--- a/src/store/modules/prod.js
+++ /dev/null
@@ -1,35 +0,0 @@
-export default {
- namespaced: true,
- state: {
- id: 0,
- skuTags: [],
- defalutSku: {
- price: 0, // 销售价
- oriPrice: 0, // 市场价
- stocks: 0, // 库存
- properties: '', // 销售属性组合字符串
- skuName: '', // sku名称
- prodName: '', // 商品名称
- weight: 0, // 商品重量
- volume: 0, // 商品体积
- status: 1 // 0 禁用 1 启用
- }
- },
- mutations: {
- updateSkuTags (state, skuTags) {
- state.skuTags = skuTags
- },
- addSkuTag (state, skuTag) {
- state.skuTags.push(skuTag)
- },
- removeSkuTag (state, tagIndex) {
- state.skuTags.splice(tagIndex, 1)
- },
- removeSkuTagItem (state, {tagIndex, tagItemIndex}) {
- state.skuTags[tagIndex].tagItems.splice(tagItemIndex, 1)
- },
- addSkuTagItem (state, {tagIndex, tagItem}) {
- state.skuTags[tagIndex].tagItems.push(tagItem)
- }
- }
-}
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
deleted file mode 100644
index d7837aa..0000000
--- a/src/store/modules/user.js
+++ /dev/null
@@ -1,15 +0,0 @@
-export default {
- namespaced: true,
- state: {
- id: 0,
- name: ''
- },
- mutations: {
- updateId (state, id) {
- state.id = id
- },
- updateName (state, name) {
- state.name = name
- }
- }
-}
diff --git a/src/stores/common.js b/src/stores/common.js
new file mode 100644
index 0000000..72ba4af
--- /dev/null
+++ b/src/stores/common.js
@@ -0,0 +1,80 @@
+import { defineStore } from 'pinia'
+import router from '@/router'
+export const useCommonStore = defineStore('common', {
+ state: () => {
+ return {
+ // 页面文档可视高度(随窗口改变大小)
+ documentClientHeight: 0,
+ // 侧边栏, 布局皮肤, light(浅色) / dark(黑色)
+ sidebarLayoutSkin: 'dark',
+ // 侧边栏, 折叠状态
+ sidebarFold: true,
+ // 侧边栏, 菜单
+ menuList: [],
+ menuActiveName: '',
+ // 主入口标签页
+ mainTabs: [],
+ mainTabsActiveName: '',
+ // 当前选择的标签
+ selectMenu: [],
+ // 路由列表
+ routeList: [],
+ menuIds: [],
+ selectLeftId: '',
+ selectRightId: ''
+ }
+ },
+ actions: {
+ updateDocumentClientHeight (height) {
+ this.documentClientHeight = height
+ },
+ updateSidebarFold (fold) {
+ this.sidebarFold = fold
+ },
+ updateMenuList (list) {
+ this.menuList = list
+ },
+ updateMenuActiveName (name) {
+ this.menuActiveName = name
+ },
+ updateMainTabs (tabs) {
+ this.mainTabs = tabs
+ },
+ updateMainTabsActiveName (name) {
+ this.mainTabsActiveName = name
+ },
+ updateRouteList (list) {
+ this.routeList = list
+ },
+ updateSelectMenu (list) {
+ this.selectMenu = list
+ },
+ updateSelectLeftId (id) {
+ this.selectLeftId = id
+ },
+ updateSelectRightId (id) {
+ this.selectRightId = id
+ },
+ replaceSelectMenu (title) {
+ this.selectMenu.splice(this.selectMenu.length - 1, 1, title)
+ },
+ updateMenuIds (list) {
+ this.menuIds = []
+ list.forEach(menu => {
+ this.menuIds.push(String(menu.menuId + ''))
+ })
+ },
+ removeMainActiveTab () {
+ this.mainTabs = this.mainTabs.filter(item => item.name !== this.mainTabsActiveName)
+ if (this.mainTabs.length >= 1) {
+ // 当前选中tab被删除
+ router.push({ name: this.mainTabs[this.mainTabs.length - 1].name }, () => {
+ this.mainTabsActiveName = this.mainTabs[this.mainTabs.length - 1].name
+ })
+ } else {
+ this.menuActiveName = ''
+ router.push({ name: 'home' })
+ }
+ }
+ }
+})
diff --git a/src/stores/prod.js b/src/stores/prod.js
new file mode 100644
index 0000000..2d404b6
--- /dev/null
+++ b/src/stores/prod.js
@@ -0,0 +1,54 @@
+import { defineStore } from 'pinia'
+export const scoreProdStore = defineStore('prod', {
+ state: () => {
+ return {
+ id: 0,
+ skuTags: [],
+ defalutSku: {
+ price: 0.01, // 销售价
+ oriPrice: 0.01, // 市场价
+ stocks: 0, // 库存
+ skuScore: 1, // 积分价格
+ properties: '', // 销售属性组合字符串
+ skuName: '', // sku名称
+ prodName: '', // 商品名称
+ partyCode: '', // 商品编码
+ weight: 0, // 商品重量
+ volume: 0, // 商品体积
+ status: 1, // 0 禁用 1 启用
+ stockWarning: 0, // 库存预警
+ prodNameCn: '',
+ prodNameEn: '',
+ skuSingleProds: []
+ }
+ }
+ },
+ actions: {
+ updateSkuTags (skuTags) {
+ this.skuTags = skuTags
+ },
+ updateSkuTag ({ skuTag, index }) {
+ index = parseInt(index)
+ if (skuTag && typeof index === 'number') {
+ this.skuTags.splice(index, 1, skuTag)
+ }
+ },
+ addSkuTag (skuTag) {
+ this.skuTags.push(skuTag)
+ },
+ removeSkuTag (tagIndex) {
+ this.skuTags.splice(tagIndex, 1)
+ },
+ removeSkuTagItem ({ tagIndex, tagItemIndex }) {
+ this.skuTags[tagIndex].tagItems.splice(tagItemIndex, 1)
+ },
+ addSkuTagItem ({ tagIndex, tagItem }) {
+ this.skuTags[tagIndex].tagItems.push(tagItem)
+ },
+ updateSkuTagItem ({ skuTagItem, tagIndex, tagItemIndex }) {
+ if (skuTagItem) {
+ this.skuTags[tagIndex].tagItems.splice(tagItemIndex, 1, skuTagItem)
+ }
+ }
+ }
+})
diff --git a/src/stores/user.js b/src/stores/user.js
new file mode 100644
index 0000000..0af1012
--- /dev/null
+++ b/src/stores/user.js
@@ -0,0 +1,29 @@
+import { defineStore } from 'pinia'
+export const useUserStore = defineStore('user', {
+ state: () => {
+ return {
+ id: 0,
+ name: '',
+ userId: '',
+ shopId: '',
+ mobile: ''
+ }
+ },
+ actions: {
+ updateId (id) {
+ this.id = id
+ },
+ updateName (name) {
+ this.name = name
+ },
+ updateMobile (mobile) {
+ this.mobile = mobile
+ },
+ updateShopId (shopId) {
+ this.shopId = shopId
+ },
+ updateUserId (userId) {
+ this.userId = userId
+ }
+ }
+})
diff --git a/src/styles/_base.scss b/src/styles/_base.scss
new file mode 100644
index 0000000..088920b
--- /dev/null
+++ b/src/styles/_base.scss
@@ -0,0 +1,517 @@
+*,
+*:before,
+*:after {
+ box-sizing: border-box;
+}
+body {
+ font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
+ font-size: 14px;
+ line-height: 1.15;
+ color: #303133;
+ background-color: #fff;
+}
+a {
+ color: mix(#fff, $--color-primary, 20%);
+ text-decoration: none;
+ &:focus,
+ &:hover {
+ color: $--color-primary;
+ text-decoration: underline;
+ }
+}
+img {
+ vertical-align: middle;
+ max-width: 100%;
+}
+
+
+/* Utils
+------------------------------ */
+.clearfix:before,
+.clearfix:after {
+ content: " ";
+ display: table;
+}
+.clearfix:after {
+ clear: both;
+}
+
+
+
+
+/* Reset element-ui
+------------------------------ */
+.site-wrapper {
+ .el-pagination {
+ display: flex;
+ justify-content: flex-end;
+ }
+}
+
+
+/* Layout
+------------------------------ */
+.site-wrapper {
+ position: relative;
+ min-width: 1180px;
+}
+
+
+/* Sidebar fold
+------------------------------ */
+.site-content--tabs {
+ padding: 60px 20px 20px 20px !important;
+}
+.site-navbar {
+ color: #333333;
+}
+.site-sidebar--fold {
+ .site-navbar__header,
+ .site-navbar__brand,
+ .site-sidebar {
+ width: 100px;
+ }
+ .site-navbar__body,
+ .site-content__wrapper {
+ margin-left: 100px;
+ border-bottom: 1px solid #EBEDF0;
+ }
+ .site-navbar__brand {
+ &-lg {
+ display: none;
+ }
+ &-mini {
+ display: inline-block;
+ }
+ }
+ .site-sidebar,
+ .site-sidebar__inner {
+ overflow: initial;
+ }
+}
+// animation
+.site-sidebar,
+.site-sidebar__menu-icon,
+.site-content__wrapper,
+.site-content--tabs > .el-tabs .el-tabs__header {
+ transition: inline-block .3s, left .3s, width .3s, margin-left .3s, font-size .3s;
+}
+
+
+/* Navbar
+------------------------------ */
+.site-navbar {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+ height: 50px;
+ // box-shadow: 0 2px 4px rgba(0, 0, 0, .08);
+ background-color: $navbar--background-color;
+
+ &__header {
+ position: relative;
+ float: left;
+ // width: 180px;
+ height: 50px;
+ margin-left: 20px;
+ overflow: hidden;
+ }
+ &__brand {
+ display: table-cell;
+ vertical-align: middle;
+ // width: 230px;
+ height: 50px;
+ margin: 0;
+ line-height: 50px;
+ font-size: 20px;
+ text-align: center;
+ text-transform: uppercase;
+ white-space: nowrap;
+ color: #fff;
+
+ &-lg,
+ &-mini {
+ margin: 0 5px;
+ color: #fff;
+ &:focus,
+ &:hover {
+ color: #fff;
+ text-decoration: none;
+ }
+ }
+ &-mini {
+ display: none;
+ }
+ }
+ &__switch {
+ font-size: 18px;
+ border-bottom: none !important;
+ }
+ &__avatar {
+ border-bottom: none !important;
+ * {
+ vertical-align: inherit;
+ }
+ .el-dropdown-link {
+ > img {
+ width: 36px;
+ height: auto;
+ margin-right: 5px;
+ border-radius: 100%;
+ vertical-align: middle;
+ }
+ }
+ }
+ &__body {
+ position: relative;
+ // margin-left: 230px;
+ // padding-right: 15px;
+ background-color: #fff;
+ }
+ &__menu {
+ float: left;
+ background-color: transparent;
+ border-bottom: 0;
+
+ &--right {
+ float: right;
+ }
+ a:focus,
+ a:hover {
+ text-decoration: none;
+ }
+ }
+}
+
+
+/* Sidebar
+------------------------------ */
+.site-sidebar {
+ position: fixed;
+ top: 50px;
+ left: 0;
+ bottom: 0;
+ z-index: 1020;
+ width: 250px;
+ overflow: hidden;
+
+ &--dark,
+ &--dark-popper {
+ background-color: $sidebar--background-color-dark;
+ }
+ &__inner {
+ position: relative;
+ z-index: 1;
+ width: 250px;
+ height: 100%;
+ padding-bottom: 15px;
+ overflow-y: scroll;
+ }
+ &__menu.el-menu {
+ width: 100px;
+ border-right: 0;
+ }
+ &__menu-icon {
+ width: 24px;
+ margin-right: 5px;
+ text-align: center;
+ font-size: 16px;
+ color: inherit !important;
+ }
+}
+
+
+/* Content
+------------------------------ */
+.site-content {
+ position: relative;
+ padding: 15px;
+ background-color: #F5F6F9;
+
+ &__wrapper {
+ position: relative;
+ padding-top: 50px;
+ margin-left: 230px;
+ min-height: 100%;
+ background: $content--background-color;
+ }
+ &--tabs {
+ padding: 55px 0 0;
+ }
+}
+
+
+// 新版规范全局统一样式
+// el-table 表格表头样式
+.table-header {
+ background-color: #f7f8fa !important;
+ color: #000;
+ height: 60px;
+}
+// el-table 表格行样式 - 多行文本/图文
+.table-row {
+ height: 100px;
+}
+// el-table 表格行样式 - 单行文本展示
+.table-row-low {
+ height: 65px;
+}
+// el-table 表格单元格样式
+.table-cell {
+ padding: 0;
+}
+// 表格文字换行模式
+.el-table .cell {
+ line-height: 20px !important;
+ word-break: break-word !important;
+}
+// 表格第一列样式(内容&表头)
+.el-table tr > td:first-child > .cell,
+.el-table th:first-child > .cell {
+ padding-left: 20px;
+}
+
+// 按钮样式
+.default-btn {
+ height: 32px;
+ line-height: 32px;
+ padding: 0 15px;
+ font-size: 13px;
+ background-color: #fff;
+ border: 1px solid #dcdfe6;
+ border-radius: 2px;
+ cursor: pointer;
+ display: inline-block;
+}
+.default-btn:hover {
+ color: #155bd4;
+ border-color: #155bd4;
+}
+.default-btn.primary-btn {
+ color: #ffffff;
+ background-color: #155bd4;
+ border-color: #155bd4;
+}
+.default-btn.primary-btn:hover {
+ background: #447cdd;
+ border-color: #447cdd;
+}
+.default-btn.text-btn {
+ font-size: 14px;
+ padding: 0;
+ margin-right: 0;
+ border: none;
+ color: #155bd4;
+ background-color: unset;
+ word-break: keep-all;
+}
+.default-btn.text-btn:hover {
+ color: #447cdd;
+}
+.default-btn.text-btn.disabled-btn {
+ color: #C0C4CC;
+ &:hover {
+ cursor: not-allowed;
+ color: #C0C4CC;
+ }
+}
+.default-btn.primary-btn.disabled-btn {
+ color: #ffffff;
+ background-color: #8aadea;
+ border-color: #8aadea;
+ &:hover {
+ background-color: #8aadea;
+ border-color: #8aadea;
+ cursor: not-allowed;
+ }
+}
+.default-btn.disabled-btn {
+ color: #999;
+ &:hover {
+ border-color: #dcdfe6;
+ cursor: not-allowed;
+ }
+}
+// 相邻按钮样式
+.default-btn + .default-btn {
+ margin-left: 10px;
+}
+.text-btn + .text-btn {
+ margin-left: 20px;
+}
+
+// 状态展示
+.tag-text {
+ font-size: 14px;
+}
+
+// el-dialog 样式
+.el-dialog__header {
+ border-bottom: 1px solid #f0f0f0;
+ margin-right: 0;
+}
+
+.el-dialog__footer {
+ border-top: 1px solid #f0f0f0;
+}
+
+
+// 列表布局样式
+// 搜索栏
+.search-bar {
+ padding: 25px 20px 0;
+ margin-bottom: 20px;
+ background-color: #F7F8FA;
+ .input-row {
+ display: block;
+ // 选择器(下拉框) & 输入框 宽度
+ .el-form-item .el-form-item__content .el-select,
+ .el-form-item .el-form-item__content .el-input {
+ width: 200px;
+ white-space: nowrap;
+ display: -webkit-inline-flex;
+ }
+ }
+ .el-form--inline .el-form-item {
+ margin-right: 20px !important;
+ margin-bottom: 25px;
+ .el-form-item__label-wrap {
+ margin-left: unset !important;
+ }
+ }
+}
+// 主体
+.main-container {
+ // 操作按钮
+ .operation-bar {
+ position: relative;
+ display: flex;
+ align-items: center;
+ height: 32px;
+ line-height: 32px;
+ .el-checkbox {
+ padding-left: 20px;
+ margin-right: 10px;
+ }
+ .had-selected {
+ font-size: 12px;
+ margin-right: 10px;
+ }
+ .tag-text {
+ font-size: 12px;
+ }
+ }
+ // 表格
+ .table-con {
+ margin-top: 20px;
+ padding-bottom: 30px;
+ .text-btn-con {
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ }
+ // 图片 + 文本
+ .table-cell-con {
+ display: flex;
+ align-items: center;
+ .table-cell-image {
+ width: 60px;
+ height: 60px;
+ img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ object-fit: contain;
+ }
+ }
+ .table-cell-text {
+ margin-left: 8px;
+ flex: 1;
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
+ word-break: break-word;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ /* autoprefixer: ignore next */
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ line-height: 20px;
+ }
+ }
+ // 纯图片
+ .table-cell-image {
+ width: 60px;
+ height: 60px;
+ img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ object-fit: contain;
+ }
+ }
+ // 纯文本
+ .table-cell-text {
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
+ word-break: break-word;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ /* autoprefixer: ignore next */
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ line-height: 20px;
+ }
+ .line-clamp-one {
+ -webkit-line-clamp: 1;
+ }
+ }
+}
+
+// el-tabs 样式
+.el-tabs__nav-wrap::after{
+ height: 1px !important;
+}
+.el-tabs__active-bar {
+ width: 0 !important;
+}
+.el-tabs__item {
+ padding: 0 20px !important;
+ min-width: 68px;
+ width: auto;
+ text-align: center;
+}
+.el-tabs__item.is-active {
+ background: none;
+ border-bottom: 2px solid #155BD4;
+}
+
+// 新增页面头部标题样式
+.new-page-title {
+ width: 100%;
+ height: 62px;
+ background: #F7F8FA;
+ box-sizing: border-box;
+ padding: 19px 20px;
+ display: flex;
+ align-items: center;
+ margin-bottom: 20px;
+ .line {
+ width: 4px;
+ height: 19px;
+ background: #155BD4;
+ opacity: 1;
+ border-radius: 2px;
+ margin-right: 10px;
+ }
+ .text {
+ font-size: 18px;
+ font-weight: bold;
+ color: #333333;
+ opacity: 1;
+ }
+}
+.time-select-item {
+ text-align: center;
+}
\ No newline at end of file
diff --git a/src/styles/_normalize.scss b/src/styles/_normalize.scss
new file mode 100644
index 0000000..7fb5177
--- /dev/null
+++ b/src/styles/_normalize.scss
@@ -0,0 +1,445 @@
+/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
+
+/* Document
+ ========================================================================== */
+
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in
+ * IE on Windows Phone and in iOS.
+ */
+
+ html {
+ line-height: 1.15; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/* Sections
+ ========================================================================== */
+
+/**
+ * Remove the margin in all browsers (opinionated).
+ */
+
+body {
+ margin: 0;
+}
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+article,
+aside,
+footer,
+header,
+nav,
+section {
+ display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ * 1. Add the correct display in IE.
+ */
+
+figcaption,
+figure,
+main { /* 1 */
+ display: block;
+}
+
+/**
+ * Add the correct margin in IE 8.
+ */
+
+figure {
+ margin: 1em 40px;
+}
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+
+hr {
+ box-sizing: content-box; /* 1 */
+ height: 0; /* 1 */
+ overflow: visible; /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+pre {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+ ========================================================================== */
+
+/**
+ * 1. Remove the gray background on active links in IE 10.
+ * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
+ */
+
+a {
+ background-color: transparent; /* 1 */
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+
+abbr[title] {
+ border-bottom: none; /* 1 */
+ text-decoration: underline; /* 2 */
+}
+
+/**
+ * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
+ */
+
+b,
+strong {
+ font-weight: inherit;
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+code,
+kbd,
+samp {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font style in Android 4.3-.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Add the correct background and color in IE 9-.
+ */
+
+mark {
+ background-color: #ff0;
+ color: #000;
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+audio,
+video {
+ display: inline-block;
+}
+
+/**
+ * Add the correct display in iOS 4-7.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Remove the border on images inside links in IE 10-.
+ */
+
+img {
+ border-style: none;
+}
+
+/**
+ * Hide the overflow in IE.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers (opinionated).
+ * 2. Remove the margin in Firefox and Safari.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: sans-serif; /* 1 */
+ font-size: 100%; /* 1 */
+ line-height: 1.15; /* 1 */
+ margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+
+button,
+input { /* 1 */
+ overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select { /* 1 */
+ text-transform: none;
+}
+
+/**
+ * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
+ * controls in Android 4.
+ * 2. Correct the inability to style clickable types in iOS and Safari.
+ */
+
+button,
+html [type="button"], /* 1 */
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+
+fieldset {
+ padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
+ */
+
+legend {
+ box-sizing: border-box; /* 1 */
+ color: inherit; /* 2 */
+ display: table; /* 1 */
+ max-width: 100%; /* 1 */
+ padding: 0; /* 3 */
+ white-space: normal; /* 1 */
+}
+
+/**
+ * 1. Add the correct display in IE 9-.
+ * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Remove the default vertical scrollbar in IE.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10-.
+ * 2. Remove the padding in IE 10-.
+ */
+
+[type="checkbox"],
+[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
+ */
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button; /* 1 */
+ font: inherit; /* 2 */
+}
+
+/* Interactive
+ ========================================================================== */
+
+/*
+ * Add the correct display in IE 9-.
+ * 1. Add the correct display in Edge, IE, and Firefox.
+ */
+
+details, /* 1 */
+menu {
+ display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+
+summary {
+ display: list-item;
+}
+
+/* Scripting
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+canvas {
+ display: inline-block;
+}
+
+/**
+ * Add the correct display in IE.
+ */
+
+template {
+ display: none;
+}
+
+/* Hidden
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 10-.
+ */
+
+[hidden] {
+ display: none;
+}
\ No newline at end of file
diff --git a/src/styles/_variables.scss b/src/styles/_variables.scss
new file mode 100644
index 0000000..4518fa2
--- /dev/null
+++ b/src/styles/_variables.scss
@@ -0,0 +1,14 @@
+
+// css 变量
+$--color-primary: #155BD4;
+
+// Navbar
+$navbar--background-color: $--color-primary;
+
+// Sidebar
+$sidebar--background-color-dark: #263238;
+$sidebar--color-text-dark: #8a979e;
+
+// Content
+$content--background-color: #f1f4f5;
+
diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss
new file mode 100644
index 0000000..25c0681
--- /dev/null
+++ b/src/styles/element-variables.scss
@@ -0,0 +1,7 @@
+// element-plus
+:root {
+ --el-color-primary: #155BD4;
+ --el-color-primary-light-3: #447cdd;
+ --el-menu-item-height: 40px;
+ --el-menu-sub-item-height: 40px;
+}
diff --git a/src/styles/index.scss b/src/styles/index.scss
new file mode 100644
index 0000000..526a674
--- /dev/null
+++ b/src/styles/index.scss
@@ -0,0 +1,8 @@
+@import "_normalize"; // api: https://github.com/necolas/normalize.css/
+@import "_variables";
+@import "_base";
+@import "@/styles/element-variables.scss";
+
+.element-error-message-zindex {
+ z-index:3000 !important;
+}
diff --git a/src/utils/crypto.js b/src/utils/crypto.js
index 51e1ce8..f1ecc2f 100644
--- a/src/utils/crypto.js
+++ b/src/utils/crypto.js
@@ -6,6 +6,9 @@ export function encrypt (word) {
const key = CryptoJS.enc.Utf8.parse(keyStr)
const srcs = CryptoJS.enc.Utf8.parse(time + word) // 加密方式: 时间戳 + 密文
- const encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7})
+ const encrypted = CryptoJS.AES.encrypt(srcs, key, {
+ mode: CryptoJS.mode.ECB,
+ padding: CryptoJS.pad.Pkcs7
+ })
return encrypted.toString()
}
diff --git a/src/utils/debounce.js b/src/utils/debounce.js
index 60dddd4..ecbb79a 100644
--- a/src/utils/debounce.js
+++ b/src/utils/debounce.js
@@ -1,14 +1,14 @@
// 防抖 防止表单重复提交
export const Debounce = (fn, t) => {
- let delay = t || 300
+ const delay = t || 1000
let timer
return function () {
- let args = arguments
+ const args = arguments
if (timer) {
clearTimeout(timer)
}
- let callNow = !timer
+ const callNow = !timer
timer = setTimeout(() => {
timer = null
diff --git a/src/utils/http.js b/src/utils/http.js
new file mode 100644
index 0000000..954f5d8
--- /dev/null
+++ b/src/utils/http.js
@@ -0,0 +1,191 @@
+import axios from 'axios'
+import qs from 'qs'
+import cookie from 'vue-cookies'
+import router from '@/router'
+import merge from 'lodash/merge'
+import { clearLoginInfo } from '@/utils'
+import { ElMessage } from 'element-plus'
+
+const http = axios.create({
+ timeout: 1000 * 30,
+ withCredentials: true,
+ headers: {
+ 'Content-Type': 'application/json; charset=utf-8'
+ }
+})
+
+/**
+ * 请求拦截
+ */
+http.interceptors.request.use(
+ config => {
+ config.headers.Authorization = cookie.get('Authorization') // 请求头带上token
+ config.headers.locale = localStorage.getItem('b2cLang') || 'zh_CN'
+ // 只针对get方式进行序列化
+ if (config.method === 'get' || config.method === 'GET') {
+ config.paramsSerializer = function (params) {
+ return qs.stringify(params, { arrayFormat: 'repeat' })
+ }
+ }
+ return config
+ },
+ error => {
+ return Promise.reject(error)
+ }
+)
+
+/**
+ * 响应拦截
+ */
+http.interceptors.response.use(
+ response => {
+ // blob 格式处理
+ if (response.request.responseType === 'blob') {
+ return response
+ }
+ const res = response.data
+ // 00000 请求成功
+ if (res.code === '00000' || res.code === 'A00002') {
+ return res
+ }
+ // A00001 用于直接显示提示用户的错误,内容由输入决定
+ if (res.code === 'A00001') {
+ ElMessage({
+ message: res.msg || res.data || 'Error',
+ type: 'error',
+ duration: 1.5 * 1000
+ })
+ return Promise.reject(res)
+ }
+ // A00004 未授权
+ if (res.code === 'A00004') {
+ clearLoginInfo()
+ router.push({ name: 'login' })
+ }
+
+ // A00005 服务器异常
+ if (res.code === 'A00005') {
+ // eslint-disable-next-line no-console
+ console.error('============== 请求异常 ==============', '\n', `接口地址: ${response.config.url.replace(import.meta.env.VITE_APP_BASE_API, '')}`, '\n', `异常信息: ${res}`, '\n', '============== 请求异常 end ==========')
+ ElMessage({
+ message: $t('utils.serverErr'),
+ type: 'error',
+ duration: 1.5 * 1000,
+ customClass: 'element-error-message-zindex'
+ })
+ return Promise.reject(res)
+ }
+ },
+ error => {
+ // eslint-disable-next-line no-console
+ console.log('========请求失败========', '\n', error.response, '\n', '========请求失败 end========')
+ switch (error.response.status) {
+ case 400:
+ ElMessage({
+ message: error.response.data,
+ type: 'error',
+ duration: 1500,
+ customClass: 'element-error-message-zindex'
+ })
+ break
+ case 401:
+ clearLoginInfo()
+ router.push({ name: 'login' })
+ break
+ case 405:
+ ElMessage({
+ message: $t('utils.requestErr'),
+ type: 'error',
+ duration: 1500,
+ customClass: 'element-error-message-zindex'
+ })
+ break
+ case 500:
+ ElMessage({
+ message: $t('utils.serverErr'),
+ type: 'error',
+ duration: 1500,
+ customClass: 'element-error-message-zindex'
+ })
+ break
+ case 501:
+ ElMessage({
+ message: $t('utils.serverNoSupp'),
+ type: 'error',
+ duration: 1500,
+ customClass: 'element-error-message-zindex'
+ })
+ break
+ }
+ return Promise.reject(error)
+ }
+)
+
+/**
+ * 请求地址处理
+ * @param {*} actionName action方法名称
+ */
+http.adornUrl = actionName => {
+ return import.meta.env.VITE_APP_BASE_API + actionName
+}
+
+/**
+ * im请求地址处理
+ * @param {*} actionName action方法名称
+ */
+http.adornImUrl = actionName => {
+ return import.meta.env.VITE_APP_IM_API + actionName
+}
+
+/**
+ * im ws 请求地址处理
+ * @param {*} actionName action方法名称
+ */
+http.adornWsImUrl = actionName => {
+ return import.meta.env.VITE_APP_WS_IM_API + actionName
+}
+
+/**
+ * get请求参数处理
+ * @param {*} params 参数对象
+ * @param {*} openDefultParams 是否开启默认参数?
+ */
+http.adornParams = (params = {}, openDefultParams = true) => {
+ const defaults = {
+ t: Date.now()
+ }
+ return openDefultParams ? merge(defaults, params) : params
+}
+
+/**
+ * post请求数据处理
+ * @param {*} data 数据对象
+ * @param {*} openDefultdata 是否开启默认数据?
+ * @param {*} contentType 数据格式
+ * json: 'application/json; charset=utf-8'
+ * form: 'application/x-www-form-urlencoded; charset=utf-8'
+ */
+http.adornData = (data = {}, openDefultdata = true, contentType = 'json') => {
+ const defaults = {
+ t: Date.now()
+ }
+ data = openDefultdata ? merge(defaults, data) : data
+ return contentType === 'json' ? JSON.stringify(data) : qs.stringify(data)
+}
+
+const uploadFile = function (url, file) {
+ const config = {
+ // 添加请求头
+ headers: {
+ 'Content-Type': 'multipart/form-data',
+ Authorization: cookie.get('Authorization') // 请求头带上token
+ }
+ }
+ const param = new FormData()
+ // 通过append向form对象添加数据
+ param.append('file', file)
+ return axios.post(url, param, config)
+}
+
+export default http
+export { uploadFile }
diff --git a/src/utils/httpRequest.js b/src/utils/httpRequest.js
deleted file mode 100644
index 971550a..0000000
--- a/src/utils/httpRequest.js
+++ /dev/null
@@ -1,166 +0,0 @@
-import Vue from 'vue'
-import axios from 'axios'
-import router from '@/router'
-import qs from 'qs'
-import merge from 'lodash/merge'
-import { clearLoginInfo } from '@/utils'
-import { Message } from 'element-ui'
-
-const http = axios.create({
- timeout: 1000 * 30,
- withCredentials: true,
- headers: {
- 'Content-Type': 'application/json; charset=utf-8'
- }
-})
-
-/**
- * 请求拦截
- */
-http.interceptors.request.use(config => {
- config.headers['Authorization'] = Vue.cookie.get('Authorization') // 请求头带上token
- return config
-}, error => {
- return Promise.reject(error)
-})
-
-/**
- * 响应拦截
- */
-http.interceptors.response.use(response => {
- // blob 格式处理
- if (response.request.responseType === 'blob') {
- return response
- }
-
- const res = response.data
- // 00000 请求成功
- if (res.code === '00000') {
- return res
- }
- // A00001 用于直接显示提示用户的错误,内容由输入决定
- if (res.code === 'A00001') {
- Message({
- message: res.msg || 'Error',
- type: 'error',
- duration: 1.5 * 1000
- })
- return Promise.reject(res)
- }
- // A00002 用于直接显示提示系统的成功,内容由输入决定
- if (res.code === 'A00002') {
- Message({
- message: res.msg,
- type: 'success',
- duration: 1.5 * 1000
- })
- }
-
- // A00004 未授权
- if (res.code === 'A00004') {
- clearLoginInfo()
- router.push({ name: 'login' })
- }
-
- // A00005 服务器异常
- if (res.code === 'A00005') {
- console.error('============== 请求异常 ==============')
- console.log('接口地址: ', response.config.url.replace(process.env.VUE_APP_BASE_API, ''))
- console.log('异常信息: ', res)
- console.error('============== 请求异常 end ==========')
- Message({
- message: '服务器出了点小差,请稍后再试',
- type: 'error',
- duration: 1.5 * 1000,
- customClass: 'element-error-message-zindex'
- })
- return Promise.reject(res)
- }
- if (res.code === 'A00014') {
- Message({
- message: res.msg,
- type: 'error',
- duration: 1.5 * 1000
- })
- return Promise.reject(res)
- }
-}, error => {
- switch (error.response.status) {
- case 400:
- Message({
- message: error.response.data,
- type: 'error',
- duration: 1500,
- customClass: 'element-error-message-zindex'
- })
- break
- case 401:
- clearLoginInfo()
- router.push({ name: 'login' })
- break
- case 405:
- Message({
- message: 'http请求方式有误',
- type: 'error',
- duration: 1500,
- customClass: 'element-error-message-zindex'
- })
- break
- case 500:
- Message({
- message: '服务器出了点小差,请稍后再试',
- type: 'error',
- duration: 1500,
- customClass: 'element-error-message-zindex'
- })
- break
- case 501:
- Message({
- message: '服务器不支持当前请求所需要的某个功能',
- type: 'error',
- duration: 1500,
- customClass: 'element-error-message-zindex'
- })
- break
- }
- return Promise.reject(error)
-})
-
-/**
- * 请求地址处理
- * @param {*} actionName action方法名称
- */
-http.adornUrl = (actionName) => {
- // 非生产环境 && 开启代理, 接口前缀统一使用[/proxyApi/]前缀做代理拦截!
- return (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi' : process.env.VUE_APP_BASE_API) + actionName
-}
-
-/**
- * get请求参数处理
- * @param {*} params 参数对象
- * @param {*} openDefultParams 是否开启默认参数?
- */
-http.adornParams = (params = {}, openDefultParams = true) => {
- var defaults = {
- 't': new Date().getTime()
- }
- return openDefultParams ? merge(defaults, params) : params
-}
-
-/**
- * post请求数据处理
- * @param {*} data 数据对象
- * @param {*} openDefultdata 是否开启默认数据?
- * @param {*} contentType 数据格式
- * json: 'application/json; charset=utf-8'
- * form: 'application/x-www-form-urlencoded; charset=utf-8'
- */
-http.adornData = (data = {}, openDefultdata = true, contentType = 'json') => {
- var defaults = {
- 't': new Date().getTime()
- }
- data = openDefultdata ? merge(defaults, data) : data
- return contentType === 'json' ? JSON.stringify(data) : qs.stringify(data)
-}
-
-export default http
diff --git a/src/utils/index.js b/src/utils/index.js
index 8d9a962..800adc1 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -1,22 +1,20 @@
-import Vue from 'vue'
+import cookie from 'vue-cookies'
import router from '@/router'
-import store from '@/store'
/**
* 获取uuid
*/
export function getUUID () {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
- return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16)
+ return (c === 'x' ? (Math.random() * 16) | 0 : 'r&0x3' | '0x8').toString(16)
})
}
-
/**
* 是否有权限
* @param {*} key
*/
export function isAuth (key) {
- let authorities = JSON.parse(sessionStorage.getItem('authorities') || '[]')
+ const authorities = JSON.parse(sessionStorage.getItem('b2cAuthorities') || '[]')
if (authorities.length) {
for (const i in authorities) {
const element = authorities[i]
@@ -28,72 +26,10 @@ export function isAuth (key) {
return false
}
-/**
- * 树形数据转换
- * @param {*} data
- * @param {*} id
- * @param {*} pid
- */
-export function treeDataTranslate (data, id = 'id', pid = 'parentId') {
- var res = []
- var temp = {}
- for (var i = 0; i < data.length; i++) {
- temp[data[i][id]] = data[i]
- }
- for (var k = 0; k < data.length; k++) {
- if (temp[data[k][pid]] && data[k][id] !== data[k][pid]) {
- if (!temp[data[k][pid]]['children']) {
- temp[data[k][pid]]['children'] = []
- }
- if (!temp[data[k][pid]]['_level']) {
- temp[data[k][pid]]['_level'] = 1
- }
- data[k]['_level'] = temp[data[k][pid]]._level + 1
- temp[data[k][pid]]['children'].push(data[k])
- } else {
- res.push(data[k])
- }
- }
- return res
-}
-
-/**
- * 将数组中的parentId列表取出,倒序排列
- * @param {*} data
- * @param {*} id
- * @param {*} pid
- */
-export function idList (data, val, id = 'id', children = 'children') {
- let res = []
- idListFromTree(data, val, res, id)
- return res
-}
-
-/**
- * @param {*} data
- * @param {*} id
- * @param {*} pid
- */
-function idListFromTree (data, val, res = [], id = 'id', children = 'children') {
- for (let i = 0; i < data.length; i++) {
- const element = data[i]
- if (element[children]) {
- if (idListFromTree(element[children], val, res, id, children)) {
- res.push(element[id])
- return true
- }
- }
- if (element[id] === val) {
- res.push(element[id])
- return true
- }
- }
-}
-
/**
* 清除登录信息
*/
export function clearLoginInfo () {
- Vue.cookie.delete('Authorization')
+ cookie.remove('Authorization')
router.options.isAddDynamicMenuRoutes = false
}
diff --git a/src/utils/unitOption.js b/src/utils/unitOption.js
new file mode 100644
index 0000000..120bbec
--- /dev/null
+++ b/src/utils/unitOption.js
@@ -0,0 +1,102 @@
+export const unitOption = [
+ {
+ lable: '件',
+ value: '件'
+ },
+ {
+ lable: '盒',
+ value: '盒'
+ },
+ {
+ lable: '箱',
+ value: '箱'
+ },
+ {
+ lable: '包',
+ value: '包'
+ },
+ {
+ lable: '瓶',
+ value: '瓶'
+ },
+ {
+ lable: '只',
+ value: '只'
+ },
+ {
+ lable: '千克',
+ value: '千克'
+ },
+ {
+ lable: '克',
+ value: '克'
+ },
+ {
+ lable: '斤',
+ value: '斤'
+ },
+ {
+ lable: '两',
+ value: '两'
+ },
+ {
+ lable: '双',
+ value: '双'
+ },
+ {
+ lable: '套',
+ value: '套'
+ },
+ {
+ lable: '对',
+ value: '对'
+ },
+ {
+ lable: '块',
+ value: '块'
+ },
+ {
+ lable: '台',
+ value: '台'
+ },
+ {
+ lable: '本',
+ value: '本'
+ },
+ {
+ lable: '把',
+ value: '把'
+ },
+ {
+ lable: '码',
+ value: '码'
+ },
+ {
+ lable: '捆',
+ value: '捆'
+ },
+ {
+ lable: '提',
+ value: '提'
+ },
+ {
+ lable: '杯',
+ value: '杯'
+ },
+ {
+ lable: '听',
+ value: '听'
+ },
+ {
+ lable: '条',
+ value: '条'
+ },
+ {
+ lable: '副',
+ value: '副'
+ },
+ {
+ lable: '顶',
+ value: '顶'
+ }
+]
diff --git a/src/utils/validate.js b/src/utils/validate.js
index 331e8cb..6462d1e 100644
--- a/src/utils/validate.js
+++ b/src/utils/validate.js
@@ -29,3 +29,21 @@ export function isPhone (s) {
export function isURL (s) {
return /^http[s]?:\/\/.*/.test(s)
}
+
+/**
+ * qq
+ * @param {*} s
+ */
+export function isQq (s) {
+ return /[1-9][0-9]{4,14}/.test(s)
+}
+
+/**
+ * 判断是否全为空格 只要有一个其他字符返回false
+ * @param {String} str
+ * @returns {Boolean}
+ */
+export function validNoEmptySpace (str) {
+ const reg = /^\s+$/g
+ return reg.test(str)
+}
diff --git a/src/views/common/404.vue b/src/views/common/error-page/404.vue
similarity index 67%
rename from src/views/common/404.vue
rename to src/views/common/error-page/404.vue
index 3b75cfb..3d026a1 100644
--- a/src/views/common/404.vue
+++ b/src/views/common/error-page/404.vue
@@ -2,21 +2,31 @@
-
400
-
抱歉!您访问的页面失联 啦 ...
-
返回上一页
-
进入首页
+
+ 400
+
+
+ 抱歉!您访问的页面失联 啦 ...
+
+
+ 返回上一页
+
+
+ 进入首页
+
-
-
-
diff --git a/src/views/common/login.vue b/src/views/common/login.vue
deleted file mode 100644
index 79e0cd0..0000000
--- a/src/views/common/login.vue
+++ /dev/null
@@ -1,219 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Copyright © 2019 广州市蓝海创新科技有限公司
-
-
-
-
-
-
-
-
diff --git a/src/views/common/login/index.vue b/src/views/common/login/index.vue
new file mode 100644
index 0000000..8142276
--- /dev/null
+++ b/src/views/common/login/index.vue
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copyright © 2019 广州市蓝海创新科技有限公司
+
+
+
+
+
+
+
+
+
diff --git a/src/views/main-content.vue b/src/views/main-content.vue
deleted file mode 100644
index c7597bb..0000000
--- a/src/views/main-content.vue
+++ /dev/null
@@ -1,125 +0,0 @@
-
-
-
-
-
-
-
- 关闭当前标签页
- 关闭其它标签页
- 关闭全部标签页
- 刷新当前标签页
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/main-navbar-update-password.vue b/src/views/main-navbar-update-password.vue
deleted file mode 100644
index 1d28283..0000000
--- a/src/views/main-navbar-update-password.vue
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
-
-
- {{ userName }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/main-navbar.vue b/src/views/main-navbar.vue
deleted file mode 100644
index df092f4..0000000
--- a/src/views/main-navbar.vue
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/main-sidebar-sub-menu.vue b/src/views/main-sidebar-sub-menu.vue
deleted file mode 100644
index 352bbf9..0000000
--- a/src/views/main-sidebar-sub-menu.vue
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
- {{ menu.name }}
-
-
-
-
-
-
- {{ menu.name }}
-
-
-
-
diff --git a/src/views/main-sidebar.vue b/src/views/main-sidebar.vue
deleted file mode 100644
index 82c8afd..0000000
--- a/src/views/main-sidebar.vue
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
diff --git a/src/views/main.vue b/src/views/main.vue
deleted file mode 100644
index 9300e78..0000000
--- a/src/views/main.vue
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
diff --git a/src/views/modules/admin/indexImg-add-or-update.vue b/src/views/modules/admin/indexImg-add-or-update.vue
deleted file mode 100644
index 1839475..0000000
--- a/src/views/modules/admin/indexImg-add-or-update.vue
+++ /dev/null
@@ -1,224 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- 禁用
- 正常
-
-
-
-
- 无
- 商品
-
-
-
-
-
-
- {{card.name}}
- 删除
-
-
-
-
- 选择商品
-
-
-
-
- 确定
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/admin/indexImg.vue b/src/views/modules/admin/indexImg.vue
deleted file mode 100644
index c19b9bf..0000000
--- a/src/views/modules/admin/indexImg.vue
+++ /dev/null
@@ -1,155 +0,0 @@
-
-
-
-
- 新增
-
- 批量删除
-
-
-
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/admin/message-add-or-update.vue b/src/views/modules/admin/message-add-or-update.vue
deleted file mode 100644
index 36f7f9a..0000000
--- a/src/views/modules/admin/message-add-or-update.vue
+++ /dev/null
@@ -1,154 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 未审核
- 审核通过
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/admin/message.vue b/src/views/modules/admin/message.vue
deleted file mode 100644
index b2e7ccb..0000000
--- a/src/views/modules/admin/message.vue
+++ /dev/null
@@ -1,208 +0,0 @@
-
-
-
-
- 新增
-
- 批量删除
-
-
-
- 未审核
- 审核通过
-
-
-
- 公开留言
- 取消公开
- 修改
- 删除
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/order/consignment-info.vue b/src/views/modules/order/consignment-info.vue
deleted file mode 100644
index a5982c5..0000000
--- a/src/views/modules/order/consignment-info.vue
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/order/order-add-or-update.vue b/src/views/modules/order/order-add-or-update.vue
deleted file mode 100644
index 89cb73d..0000000
--- a/src/views/modules/order/order-add-or-update.vue
+++ /dev/null
@@ -1,400 +0,0 @@
-
-
-
-
-
-
-
-
订单编号:
-
007007007007007
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 订单状态:
- 待支付
-
-
-
- 倒计时2天21时21分21秒
- ,如果客户不付款订单自动关闭
-
-
-
-
- 修改
- 取消
- 打印
-
-
-
-
-
-
-
-
-
-
-
-
买家付款后才可以发货
-
-
-
-
-
-
配送方式:快递发货
-
修改地址
-
-
收货人:柠檬仔
-
手机:13726888888
-
收货地址:广州市大学城北创业大厦美好的家美好的家加加加加加加加家居加加加加加加
-
-
-
-
-
不开发票
-
-
-
-
-
-
-
买家:13726888888
-
-
-
-
-
- 买家备注:
-
-
- 给我加多点香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜
-
-
-
-
-
- 卖家备注:
- 给我加多点香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜香菜
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{scope.row.name}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 商品总价:¥15.00
- 店铺优惠:-¥0.00
- 积分抵扣:-¥0.00
- 发票费用:¥0.00
- 配送费用:¥0.00
- 应付金额:¥15.00
-
-
-
-
-
-
-
-
-
- 订单日志
-
-
-
2018-11-2 14:19:00 13726888888 创建订单(成功)
-
2018-11-2 14:19:00 13726888888 创建订单(成功)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/order/order-addr.vue b/src/views/modules/order/order-addr.vue
deleted file mode 100644
index b700a04..0000000
--- a/src/views/modules/order/order-addr.vue
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 下线
- 正常
-
-
-
-
-
-
-
diff --git a/src/views/modules/order/order-devy.vue b/src/views/modules/order/order-devy.vue
deleted file mode 100644
index 03e0cba..0000000
--- a/src/views/modules/order/order-devy.vue
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/order/order.vue b/src/views/modules/order/order.vue
deleted file mode 100644
index 589034c..0000000
--- a/src/views/modules/order/order.vue
+++ /dev/null
@@ -1,503 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 查询
- 导出待发货订单
- 导出销售记录
- 清空
-
-
-
-
-
-
- 商品
- 成交单价/购买数量
- 实付金额
- 支付方式
- 订单状态
- 操作
-
-
-
-
- 订单编号:{{order.orderNumber}}
- 下单时间:{{order.createTime}}
-
-
-
-
-
-
-
-
-
-
-
- {{orderItem.prodName}}
- {{orderItem.skuName}}
-
-
- ¥{{orderItem.price}}
- ×{{orderItem.prodCount}}
-
-
-
-
-
-
-
- ¥{{order.actualTotal}}
- (含运费:¥{{order.freightAmount}})
- 共{{order.productNums}}件
-
-
-
-
-
-
- 微信支付
- 支付宝
- 手动代付
-
-
-
-
-
- 待付款
- 待发货
- 待收货
- 待评价
- 成功
- 失败
-
-
-
-
-
-
-
-
-
-
-
-
-
暂无数据
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/order/orderInfo.vue b/src/views/modules/order/orderInfo.vue
deleted file mode 100644
index 709675d..0000000
--- a/src/views/modules/order/orderInfo.vue
+++ /dev/null
@@ -1,490 +0,0 @@
-
-
-
-
-
-
-
-
- {{dataForm.orderNumber}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 待付款
- 待发货
- 待收货
- 待评价
- 成功
- 失败
-
-
-
-
- 发货
-
-
-
-
-
-
-
-
-
买家付款后才可以发货
-
-
-
-
-
-
-
- {{dataForm.userAddrOrder.receiver}}
-
-
- {{dataForm.userAddrOrder.mobile}}
-
-
- {{dataForm.userAddrOrder.province}}{{dataForm.userAddrOrder.city}}{{dataForm.userAddrOrder.area}}{{dataForm.userAddrOrder.addr}}
-
-
-
-
-
-
不开发票
-
-
-
-
-
-
-
- {{dataForm.nickName}}
-
-
-
-
-
-
- 买家备注:
-
- {{dataForm.remarks}}
-
-
-
-
-
-
-
-
-
-
-
-
-
{{scope.row.prodName}}
-
-
-
-
-
- {{scope.row.price}}
-
-
-
-
- {{scope.row.prodCount}}
-
-
-
-
- {{scope.row.productTotalAmount}}
-
-
-
-
-
-
- ¥{{dataForm.total}}
-
-
-
-
-
- ¥{{dataForm.freightAmount}}
-
-
- ¥{{dataForm.actualTotal}}
-
-
-
-
-
-
- 订单日志
-
-
-
- {{dataForm.orderTime}} {{dataForm.nickName}} 创建订单(成功)
-
-
- {{dataForm.updateTime}} {{dataForm.nickName}} 订单更新(成功)
-
-
- {{dataForm.payTime}} {{dataForm.nickName}} 订单付款(成功)
-
-
- {{dataForm.dvyTime}} {{dataForm.nickName}} 订单发货(成功)
-
-
- {{dataForm.finallyTime}} {{dataForm.nickName}} 完成订单(成功)
-
-
- {{dataForm.cancelTime}} {{dataForm.nickName}} 取消订单(成功)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/category-add-or-update.vue b/src/views/modules/prod/category-add-or-update.vue
deleted file mode 100644
index d6998fe..0000000
--- a/src/views/modules/prod/category-add-or-update.vue
+++ /dev/null
@@ -1,183 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 下线
- 正常
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/category.vue b/src/views/modules/prod/category.vue
deleted file mode 100644
index 6d5513d..0000000
--- a/src/views/modules/prod/category.vue
+++ /dev/null
@@ -1,145 +0,0 @@
-
-
-
-
- 新增
-
-
-
-
-
-
-
-
-
-
-
-
-
- 下线
- 正常
-
-
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/prod-transport.vue b/src/views/modules/prod/prod-transport.vue
deleted file mode 100644
index 1dd01a7..0000000
--- a/src/views/modules/prod/prod-transport.vue
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- 所有地区
- {{city.areaName}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{city.areaName}}
-
-
-
-
- 满件/重量/体积包邮
- 满金额包邮
- 满件/重量/体积且满金额包邮
-
-
-
-
- 满{{scope.row.amount}}元金额包邮
- 满{{scope.row.piece}}件/重量/体积包邮
- 满{{scope.row.piece}}件/重量/体积且满{{scope.row.amount}}元金额包邮
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/prodComm-add-or-update.vue b/src/views/modules/prod/prodComm-add-or-update.vue
deleted file mode 100644
index cad4a3f..0000000
--- a/src/views/modules/prod/prodComm-add-or-update.vue
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- 无
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 是
- 不是
-
-
-
-
-
-
-
-
-
-
- 审核通过
- 不通过
- 等待审核
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/prodComm.vue b/src/views/modules/prod/prodComm.vue
deleted file mode 100644
index f52db15..0000000
--- a/src/views/modules/prod/prodComm.vue
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-
-
-
- {{scope.row.user.nickName}}
-
-
- {{scope.row.replyTime ? scope.row.replyTime : '-'}}
-
-
-
- 编辑
-
- 查看
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/prodInfo.vue b/src/views/modules/prod/prodInfo.vue
deleted file mode 100644
index ea6f123..0000000
--- a/src/views/modules/prod/prodInfo.vue
+++ /dev/null
@@ -1,302 +0,0 @@
-
-
-
-
-
-
-
-
- 上架
- 下架
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 商家配送
- 用户自提
-
-
-
-
-
-
-
-
-
- 确定
-
-
-
-
-
-
diff --git a/src/views/modules/prod/prodList.vue b/src/views/modules/prod/prodList.vue
deleted file mode 100644
index 7d3c4b3..0000000
--- a/src/views/modules/prod/prodList.vue
+++ /dev/null
@@ -1,158 +0,0 @@
-
-
-
-
- 新增
-
- 批量删除
-
-
-
- 上架
- 未上架
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/prodTag-add-or-update.vue b/src/views/modules/prod/prodTag-add-or-update.vue
deleted file mode 100644
index 4474319..0000000
--- a/src/views/modules/prod/prodTag-add-or-update.vue
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
-
-
-
-
-
- 正常
- 禁用
-
-
-
-
- 一列一个
- 一列两个
- 一列三个
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/prodTag.vue b/src/views/modules/prod/prodTag.vue
deleted file mode 100644
index a2fdc7b..0000000
--- a/src/views/modules/prod/prodTag.vue
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
- 新增
-
-
- {{ scope.row.title || '-' }}
-
-
- 禁用
- 正常
-
-
-
- 自定义类型
- 默认类型
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/sku-table.vue b/src/views/modules/prod/sku-table.vue
deleted file mode 100644
index 588cd1c..0000000
--- a/src/views/modules/prod/sku-table.vue
+++ /dev/null
@@ -1,221 +0,0 @@
-
-
-
-
-
-
- {{scope.row.properties.split(';')[index].split(':')[1]}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 禁用
- 启用
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/sku-tag.vue b/src/views/modules/prod/sku-tag.vue
deleted file mode 100644
index dec9117..0000000
--- a/src/views/modules/prod/sku-tag.vue
+++ /dev/null
@@ -1,464 +0,0 @@
-
-
-
- 添加规格
-
- {{tag.tagName}}
- 删除
-
-
- {{tagItem.propValue}}
-
-
-
- + 添加
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 确定
- 取消
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/spec-add-or-update.vue b/src/views/modules/prod/spec-add-or-update.vue
deleted file mode 100644
index 67e4a18..0000000
--- a/src/views/modules/prod/spec-add-or-update.vue
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/prod/spec.vue b/src/views/modules/prod/spec.vue
deleted file mode 100644
index c28e7dc..0000000
--- a/src/views/modules/prod/spec.vue
+++ /dev/null
@@ -1,160 +0,0 @@
-
-
-
-
- {{item.propValue}}
-
-
- 新增
-
-
-
-
- {{item.propValue}}
-
-
-
-
-
- 编辑
-
- 删除
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/shop/hotSearch-add-or-update.vue b/src/views/modules/shop/hotSearch-add-or-update.vue
deleted file mode 100644
index a7c1902..0000000
--- a/src/views/modules/shop/hotSearch-add-or-update.vue
+++ /dev/null
@@ -1,136 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 下线
- 正常
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/shop/hotSearch.vue b/src/views/modules/shop/hotSearch.vue
deleted file mode 100644
index 7a9ac25..0000000
--- a/src/views/modules/shop/hotSearch.vue
+++ /dev/null
@@ -1,150 +0,0 @@
-
-
-
-
-
- 新增
-
- 批量删除
-
-
-
- 未启用
- 启用
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/shop/notice-add-or-update.vue b/src/views/modules/shop/notice-add-or-update.vue
deleted file mode 100644
index 89b877d..0000000
--- a/src/views/modules/shop/notice-add-or-update.vue
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
-
-
-
- 公布
- 撤销
-
-
-
-
- 是
- 否
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/shop/notice.vue b/src/views/modules/shop/notice.vue
deleted file mode 100644
index c568996..0000000
--- a/src/views/modules/shop/notice.vue
+++ /dev/null
@@ -1,145 +0,0 @@
-
-
-
-
-
- 撤销
- 公布
-
-
- 否
- 是
-
-
-
- 新增
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/shop/pickAddr-add-or-update.vue b/src/views/modules/shop/pickAddr-add-or-update.vue
deleted file mode 100644
index 53c42b0..0000000
--- a/src/views/modules/shop/pickAddr-add-or-update.vue
+++ /dev/null
@@ -1,246 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/shop/pickAddr.vue b/src/views/modules/shop/pickAddr.vue
deleted file mode 100644
index 056328f..0000000
--- a/src/views/modules/shop/pickAddr.vue
+++ /dev/null
@@ -1,151 +0,0 @@
-
-
-
-
- 新增
-
- 批量删除
-
-
-
- 编辑
-
- 删除
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/shop/transcity-add-or-update.vue b/src/views/modules/shop/transcity-add-or-update.vue
deleted file mode 100644
index 44bb863..0000000
--- a/src/views/modules/shop/transcity-add-or-update.vue
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/shop/transport-add-or-update.vue b/src/views/modules/shop/transport-add-or-update.vue
deleted file mode 100644
index 22100b6..0000000
--- a/src/views/modules/shop/transport-add-or-update.vue
+++ /dev/null
@@ -1,427 +0,0 @@
-
-
-
-
-
-
-
-
-
- 买家承担运费
- 卖家包邮
-
-
-
-
-
-
- 按件数
- 按重量
- 按体积
-
-
-
-
-
-
- 所有地区
- 请选择可配送区域
-
- {{city.areaName}}
-
- 编辑
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 点击添加可配送的区域和运费
-
- 指定条件包邮
-
-
-
- 请选择指定包邮城市
- {{city.areaName}}
- 编辑
- 删除
-
-
-
-
-
- 满件/重量/体积包邮
- 满金额包邮
- 满件/重量/体积且满金额包邮
-
-
-
-
-
-
- 满 元包邮
-
-
- 满 件/重量/体积包邮
-
-
-
-
-
- 点击添加指定包邮条件
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/shop/transport.vue b/src/views/modules/shop/transport.vue
deleted file mode 100644
index 06e0b70..0000000
--- a/src/views/modules/shop/transport.vue
+++ /dev/null
@@ -1,158 +0,0 @@
-
-
-
-
- {{item.propValue}}
-
-
-
- 新增
-
- 批量删除
-
-
-
- 修改
-
- 删除
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/sys/area-add-or-update.vue b/src/views/modules/sys/area-add-or-update.vue
deleted file mode 100644
index a07bfab..0000000
--- a/src/views/modules/sys/area-add-or-update.vue
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/modules/sys/area.vue b/src/views/modules/sys/area.vue
deleted file mode 100644
index 84593be..0000000
--- a/src/views/modules/sys/area.vue
+++ /dev/null
@@ -1,166 +0,0 @@
-
-
-
-
-
新增
-
-
-
-
- {{ node.label }}
-
- update(node, data)">
- 修改
-
- remove(node, data)">
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/sys/config-add-or-update.vue b/src/views/modules/sys/config-add-or-update.vue
deleted file mode 100644
index 7481af6..0000000
--- a/src/views/modules/sys/config-add-or-update.vue
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/sys/config.vue b/src/views/modules/sys/config.vue
deleted file mode 100644
index 0df08ef..0000000
--- a/src/views/modules/sys/config.vue
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
-
-
- 新增
-
- 批量删除
-
-
- 编辑
-
- 删除
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/sys/log.vue b/src/views/modules/sys/log.vue
deleted file mode 100644
index 832a651..0000000
--- a/src/views/modules/sys/log.vue
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-
-
diff --git a/src/views/modules/sys/menu-add-or-update.vue b/src/views/modules/sys/menu-add-or-update.vue
deleted file mode 100644
index f8e5825..0000000
--- a/src/views/modules/sys/menu-add-or-update.vue
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
- {{ type }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 全站推荐使用SVG Sprite, 详细请参考:icons/index.js 描述
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/sys/menu.vue b/src/views/modules/sys/menu.vue
deleted file mode 100644
index e4076d8..0000000
--- a/src/views/modules/sys/menu.vue
+++ /dev/null
@@ -1,151 +0,0 @@
-
-
-
-
-
diff --git a/src/views/modules/sys/role-add-or-update.vue b/src/views/modules/sys/role-add-or-update.vue
deleted file mode 100644
index 2f535ad..0000000
--- a/src/views/modules/sys/role-add-or-update.vue
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/sys/role.vue b/src/views/modules/sys/role.vue
deleted file mode 100644
index cb9fdb1..0000000
--- a/src/views/modules/sys/role.vue
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
-
- 新增
-
- 批量删除
-
-
-
- 编辑
-
- 删除
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/sys/user-add-or-update.vue b/src/views/modules/sys/user-add-or-update.vue
deleted file mode 100644
index 909fdd7..0000000
--- a/src/views/modules/sys/user-add-or-update.vue
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ role.roleName }}
-
-
-
-
- 禁用
- 正常
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/sys/user.vue b/src/views/modules/sys/user.vue
deleted file mode 100644
index d8be71b..0000000
--- a/src/views/modules/sys/user.vue
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
-
- 新增
-
- 批量删除
-
-
- 编辑
-
- 删除
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/user/addr-add-or-update.vue b/src/views/modules/user/addr-add-or-update.vue
deleted file mode 100644
index 233e3dd..0000000
--- a/src/views/modules/user/addr-add-or-update.vue
+++ /dev/null
@@ -1,225 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 正常
- 禁用
-
-
-
-
- 否
- 是
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/user/addr.vue b/src/views/modules/user/addr.vue
deleted file mode 100644
index b71041d..0000000
--- a/src/views/modules/user/addr.vue
+++ /dev/null
@@ -1,128 +0,0 @@
-
-
-
-
- 新增
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/user/user-add-or-update.vue b/src/views/modules/user/user-add-or-update.vue
deleted file mode 100644
index 263145f..0000000
--- a/src/views/modules/user/user-add-or-update.vue
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- 禁用
- 正常
-
-
-
-
-
-
-
-
diff --git a/src/views/modules/user/user.vue b/src/views/modules/user/user.vue
deleted file mode 100644
index af05847..0000000
--- a/src/views/modules/user/user.vue
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
- 禁用
- 正常
-
-
-
- 编辑
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..4709f16
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,15 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "target": "es5",
+ "sourceMap": true,
+ "skipLibCheck": true
+ },
+ "exclude": [
+ "node_modules"
+ ],
+ "include": [
+ "src/auto-import/components.d.ts",
+ "src/auto-import/imports.d.ts"
+ ]
+}
\ No newline at end of file
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..bf886a3
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,96 @@
+import { defineConfig, loadEnv } from 'vite'
+import vue from '@vitejs/plugin-vue'
+import path from 'path'
+import AutoImport from 'unplugin-auto-import/vite'
+import Components from 'unplugin-vue-components/vite'
+import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
+import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
+import viteCompression from 'vite-plugin-compression'
+
+// eslint
+import eslintPlugin from 'vite-plugin-eslint'
+
+// https://vitejs.dev/config/
+export default defineConfig(()=> {
+ return {
+ plugins: [
+ vue(),
+ createSvgIconsPlugin({
+ iconDirs: [path.resolve(process.cwd(), 'src/icons/svg')],
+ symbolId: 'icon-[dir]-[name]'
+ }),
+ // 自动引入内容
+ AutoImport({
+ imports: [
+ 'vue',
+ 'vue-router'
+ ],
+ dirs: [
+ 'src/hooks/**',
+ 'src/stores/**',
+ 'src/utils/**'
+ ],
+ resolvers: [
+ ElementPlusResolver()
+ ],
+ dts: 'src/auto-import/imports.d.ts',
+ eslintrc: {
+ enabled: false
+ }
+ }),
+ // 自动引入组件
+ Components({
+ dirs: [
+ 'src/components'
+ ],
+ resolvers: [
+ ElementPlusResolver()
+ ],
+ dts: 'src/auto-import/components.d.ts'
+ }),
+ // eslint
+ eslintPlugin({
+ include: ['src/**/*.js', 'src/**/*.vue', 'src/*.js', 'src/*.vue']
+ }),
+ // 对大于 1k 的文件进行压缩
+ viteCompression({
+ threshold: 1000,
+ })
+ ],
+ server: {
+ host: true,
+ port: 9527,
+ open: true
+ },
+ resolve: {
+ alias: {
+ '@': path.resolve(__dirname, 'src'),
+ 'vue-i18n': 'vue-i18n/dist/vue-i18n.cjs.js'
+ }
+ },
+ build: {
+ base: './',
+ rollupOptions: {
+ // 静态资源分类打包
+ output: {
+ chunkFileNames: 'static/js/[name]-[hash].js',
+ entryFileNames: 'static/js/[name]-[hash].js',
+ assetFileNames: 'static/[ext]/[name]-[hash].[ext]',
+ // 静态资源分拆打包
+ manualChunks (id) {
+ if (id.includes('node_modules')) {
+ if (id.toString().indexOf('.pnpm/') !== -1) {
+ return id.toString().split('.pnpm/')[1].split('/')[0].toString();
+ } else if (id.toString().indexOf('node_modules/') !== -1) {
+ return id.toString().split('node_modules/')[1].split('/')[0].toString();
+ }
+ }
+ }
+ }
+ },
+ sourcemap: false,
+ target: 'es2015',
+ reportCompressedSize: false
+ }
+ }
+})
diff --git a/vue.config.js b/vue.config.js
deleted file mode 100644
index 53369ad..0000000
--- a/vue.config.js
+++ /dev/null
@@ -1,116 +0,0 @@
-'use strict'
-const path = require('path')
-
-function resolve(dir) {
- return path.join(__dirname, dir)
-}
-
-
-// If your port is set to 80,
-// use administrator privileges to execute the command line.
-// For example, Mac: sudo npm run
-// You can change the port by the following methods:
-// port = 9528 npm run dev OR npm run dev --port = 9528
-const port = process.env.port || process.env.npm_config_port || 9528 // dev port
-
-// All configuration item explanations can be find in https://cli.vuejs.org/config/
-module.exports = {
- /**
- * You will need to set publicPath if you plan to deploy your site under a sub path,
- * for example GitHub Pages. If you plan to deploy your site to https://foo.github.io/bar/,
- * then publicPath should be set to "/bar/".
- * In most cases please use '/' !!!
- * Detail: https://cli.vuejs.org/config/#publicpath
- */
- publicPath: './',
- outputDir: 'dist',
- assetsDir: 'static',
- lintOnSave: process.env.NODE_ENV === 'development',
- productionSourceMap: false,
- devServer: {
- port: port,
- open: true,
- overlay: {
- warnings: false,
- errors: true
- }
- },
- configureWebpack: {
- // provide the app's title in webpack's name field, so that
- // it can be accessed in index.html to inject the correct title.
- resolve: {
- alias: {
- '@': resolve('src')
- }
- }
- },
- chainWebpack(config) {
- // it can improve the speed of the first screen, it is recommended to turn on preload
- config.plugin('preload').tap(() => [
- {
- rel: 'preload',
- // to ignore runtime.js
- // https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/cli-service/lib/config/app.js#L171
- fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/],
- include: 'initial'
- }
- ])
-
- // when there are many pages, it will cause too many meaningless requests
- config.plugins.delete('prefetch')
-
- // set svg-sprite-loader
- config.module
- .rule('svg')
- .exclude.add(resolve('src/icons'))
- .end()
- config.module
- .rule('icons')
- .test(/\.svg$/)
- .include.add(resolve('src/icons'))
- .end()
- .use('svg-sprite-loader')
- .loader('svg-sprite-loader')
- .end()
-
- config
- .when(process.env.NODE_ENV !== 'development',
- config => {
- config
- .plugin('ScriptExtHtmlWebpackPlugin')
- .after('html')
- .use('script-ext-html-webpack-plugin', [{
- // `runtime` must same as runtimeChunk name. default is `runtime`
- inline: /runtime\..*\.js$/
- }])
- .end()
- config
- .optimization.splitChunks({
- chunks: 'all',
- cacheGroups: {
- libs: {
- name: 'chunk-libs',
- test: /[\\/]node_modules[\\/]/,
- priority: 10,
- chunks: 'initial' // only package third parties that are initially dependent
- },
- elementUI: {
- name: 'chunk-elementUI', // split elementUI into a single package
- priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
- test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
- },
- commons: {
- name: 'chunk-commons',
- test: resolve('src/components'), // can customize your rules
- minChunks: 3, // minimum common number
- priority: 5,
- reuseExistingChunk: true
- }
- }
- })
- // https:// webpack.js.org/configuration/optimization/#optimizationruntimechunk
- config.optimization.runtimeChunk('single')
- }
- )
- }
-}