From fb4971360a78e61113d8302a8234ee7d87e62919 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 17 Sep 2020 16:10:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/policy.js | 48 ++++ src/assets/404_images/touxiang.jpg | Bin 0 -> 59461 bytes src/layout/components/Navbar.vue | 13 +- src/main.js | 4 +- src/router/index.js | 6 + src/utils/error-log.js | 35 +++ src/utils/open-window.js | 25 +++ src/utils/permission.js | 21 ++ src/utils/scroll-to.js | 58 +++++ src/views/dashboard/index.vue | 2 +- src/views/firstPages/policy.vue | 326 ++++++++++++++++++++++++---- src/views/firstPages/typemanage.vue | 30 +++ 12 files changed, 510 insertions(+), 58 deletions(-) create mode 100644 src/assets/404_images/touxiang.jpg create mode 100644 src/utils/error-log.js create mode 100644 src/utils/open-window.js create mode 100644 src/utils/permission.js create mode 100644 src/utils/scroll-to.js create mode 100644 src/views/firstPages/typemanage.vue diff --git a/src/api/policy.js b/src/api/policy.js index 8a2333c..4c871df 100644 --- a/src/api/policy.js +++ b/src/api/policy.js @@ -16,3 +16,51 @@ export function PolicyDetail(data) { }) } +export function PolicyUpdate(data) { + return request({ + url: `/gateway${policy}/PolicyUpdate`, + method: 'post', + data: { + param: { + auditStatus: data.auditStatus, + content: data.content, + id: data.id, + imgUrl: data.imgUrl, + intro: data.intro, + title: data.title, + titleUrl: data.titleUrl, + type: data.type + } + } + }) +} + +export function PolicyDelete(id) { + return request({ + url: `/gateway${policy}/PolicyDelete`, + method: 'post', + data: { + param: { + id: id + } + } + }) +} + +export function PolicyAdd(data) { + console.log(data) + return request({ + url: `/gateway${policy}/PolicyAdd`, + method: 'post', + data: { + param: { + content: data.content, + imgUrl: data.imgUrl, + intro: data.intro, + publishTime: data.publishTime, + title: data.title, + titleUrl: data.titleUrl + } + } + }) +} diff --git a/src/assets/404_images/touxiang.jpg b/src/assets/404_images/touxiang.jpg new file mode 100644 index 0000000000000000000000000000000000000000..913bac4b57ebb1ddb02d5ec3f4d9b5b0b468037d GIT binary patch literal 59461 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

U4a`QA~ert1D%kJl%vwZLv;R8?B&w2nk4U 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

- + +
- Home + 主页 - - Github - - - Docs - - Log Out + 退出登录 diff --git a/src/main.js b/src/main.js index ca707a8..79bd1fe 100644 --- a/src/main.js +++ b/src/main.js @@ -4,7 +4,7 @@ import 'normalize.css/normalize.css' // A modern alternative to CSS resets import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' -import locale from 'element-ui/lib/locale/lang/en' // lang i18n +// import locale from 'element-ui/lib/locale/lang/en' // lang i18n import '@/styles/index.scss' // global css @@ -28,7 +28,7 @@ if (process.env.NODE_ENV === 'production') { mockXHR() } // set ElementUI lang to EN -Vue.use(ElementUI, { locale }) +Vue.use(ElementUI) // 如果想要中文版 element-ui,按如下方式声明 // Vue.use(ElementUI) diff --git a/src/router/index.js b/src/router/index.js index 6dd6c28..db8c020 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -78,6 +78,12 @@ export const constantRoutes = [ name: 'Train', component: () => import('@/views/firstPages/train'), meta: { title: '培训管理', icon: '' } + }, + { + path: 'typemanage', + name: 'Typemanage', + component: () => import('@/views/firstPages/typemanage'), + meta: { title: '类型管理', icon: '' } }] }, diff --git a/src/utils/error-log.js b/src/utils/error-log.js new file mode 100644 index 0000000..a7f5b55 --- /dev/null +++ b/src/utils/error-log.js @@ -0,0 +1,35 @@ +import Vue from 'vue' +import store from '@/store' +import { isString, isArray } from '@/utils/validate' +import settings from '@/settings' + +// you can set in settings.js +// errorLog:'production' | ['production', 'development'] +const { errorLog: needErrorLog } = settings + +function checkNeed() { + const env = process.env.NODE_ENV + if (isString(needErrorLog)) { + return env === needErrorLog + } + if (isArray(needErrorLog)) { + return needErrorLog.includes(env) + } + return false +} + +if (checkNeed()) { + Vue.config.errorHandler = function(err, vm, info, a) { + // Don't ask me why I use Vue.nextTick, it just a hack. + // detail see https://forum.vuejs.org/t/dispatch-in-vue-config-errorhandler-has-some-problem/23500 + Vue.nextTick(() => { + store.dispatch('errorLog/addErrorLog', { + err, + vm, + info, + url: window.location.href + }) + console.error(err, info) + }) + } +} diff --git a/src/utils/open-window.js b/src/utils/open-window.js new file mode 100644 index 0000000..1a655d7 --- /dev/null +++ b/src/utils/open-window.js @@ -0,0 +1,25 @@ +/** + *Created by PanJiaChen on 16/11/29. + * @param {Sting} url + * @param {Sting} title + * @param {Number} w + * @param {Number} h + */ +export default function openWindow(url, title, w, h) { + // Fixes dual-screen position Most browsers Firefox + const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left + const dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top + + const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width + const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height + + const left = ((width / 2) - (w / 2)) + dualScreenLeft + const top = ((height / 2) - (h / 2)) + dualScreenTop + const newWindow = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left) + + // Puts focus on the newWindow + if (window.focus) { + newWindow.focus() + } +} + diff --git a/src/utils/permission.js b/src/utils/permission.js new file mode 100644 index 0000000..8e2bbad --- /dev/null +++ b/src/utils/permission.js @@ -0,0 +1,21 @@ +import store from '@/store' + +/** + * @param {Array} value + * @returns {Boolean} + * @example see @/views/permission/directive.vue + */ +export default function checkPermission(value) { + if (value && value instanceof Array && value.length > 0) { + const roles = store.getters && store.getters.roles + const permissionRoles = value + + const hasPermission = roles.some(role => { + return permissionRoles.includes(role) + }) + return hasPermission + } else { + console.error(`need roles! Like v-permission="['admin','editor']"`) + return false + } +} diff --git a/src/utils/scroll-to.js b/src/utils/scroll-to.js new file mode 100644 index 0000000..c5d8e04 --- /dev/null +++ b/src/utils/scroll-to.js @@ -0,0 +1,58 @@ +Math.easeInOutQuad = function(t, b, c, d) { + t /= d / 2 + if (t < 1) { + return c / 2 * t * t + b + } + t-- + return -c / 2 * (t * (t - 2) - 1) + b +} + +// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts +var requestAnimFrame = (function() { + return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) } +})() + +/** + * Because it's so fucking difficult to detect the scrolling element, just move them all + * @param {number} amount + */ +function move(amount) { + document.documentElement.scrollTop = amount + document.body.parentNode.scrollTop = amount + document.body.scrollTop = amount +} + +function position() { + return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop +} + +/** + * @param {number} to + * @param {number} duration + * @param {Function} callback + */ +export function scrollTo(to, duration, callback) { + const start = position() + const change = to - start + const increment = 20 + let currentTime = 0 + duration = (typeof (duration) === 'undefined') ? 500 : duration + var animateScroll = function() { + // increment the time + currentTime += increment + // find the value with the quadratic in-out easing function + var val = Math.easeInOutQuad(currentTime, start, change, duration) + // move the document.body + move(val) + // do the animation unless its over + if (currentTime < duration) { + requestAnimFrame(animateScroll) + } else { + if (callback && typeof (callback) === 'function') { + // the animation is done so lets callback + callback() + } + } + } + animateScroll() +} diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 62ab038..414c4aa 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -1,6 +1,6 @@ diff --git a/src/views/firstPages/policy.vue b/src/views/firstPages/policy.vue index 5d12a19..3a50299 100644 --- a/src/views/firstPages/policy.vue +++ b/src/views/firstPages/policy.vue @@ -1,8 +1,9 @@