刘翔宇-旅管家 3 years ago
parent bb6ced2c55
commit d3a68dab0b

@ -2,5 +2,7 @@
ENV = 'development'
# base api
VUE_APP_BASE_API = http://hdcontract.ali251.langye.net
VUE_APP_OUT_URL = http://suzhouhedaooa.langye.net
VUE_APP_BASE_API = ''
#VUE_APP_OUT_URL = http://suzhouhedaooa.langye.net
VUE_APP_OUT_URL = http://192.168.60.18:2021

@ -3,4 +3,4 @@ ENV = 'production'
# base api
VUE_APP_BASE_API = ''
VUE_APP_OUT_URL = http://suzhouhedaooa.langye.net
VUE_APP_OUT_URL = http://192.168.60.18:2021

@ -29,9 +29,13 @@ router.beforeEach(async (to, from, next) => {
if (hasToken) {
if (to.path === '/login') {
// if is logged in, redirect to the home page
next({
path: '/'
})
console.log(to.fullPath)
await store.dispatch('user/resetToken')
next(to.fullPath)
// next({
// path: '/'
// })
NProgress.done()
} else {
// determine whether the user has obtained his permission roles through getInfo

@ -133,7 +133,8 @@ const actions = {
commit,
state
}) {
return new Promise((resolve, reject) => {
return new Promise((resolve, reject) => {
console.log("logout",state.token)
logout(state.token).then(() => {
removeToken() // must remove token first
resetRouter()

@ -85,23 +85,25 @@
immediate: true
}
},
created() {
var query = this.$route.query;
if (query.token && query.userid && query.tp) {
created() {
var query = this.$route.query;
if (query.token && query.userid && query.tp) {
this.loading = true
this.$store.dispatch('user/loginskip', {
token: query.token,
tp: query.tp
}).then(() => {
this.$router.push({
path: "/"
})
this.loading = false
}).catch((error) => {
console.log(error)
this.loading = false
})
}
console.log(query.token)
//this.$store.dispatch('user/logout')
this.$store.dispatch('user/loginskip', {
token: query.token,
tp: query.tp
}).then(() => {
this.$router.push({
path: "/"
})
this.loading = false
}).catch((error) => {
console.log(error)
this.loading = false
})
}
},
methods: {
showPwd() {
@ -117,7 +119,7 @@
handleLogin() {
this.$refs.loginForm.validate(valid => {
if (valid) {
this.loading = true
this.loading = true;
this.$store.dispatch('user/login', this.loginForm).then(() => {
console.log(this.redirect)
this.$router.push({

@ -21,7 +21,14 @@
</el-table-column>
<el-table-column prop="name" label="角色名称" width="180">
</el-table-column>
<el-table-column prop="address" label="说明">
<el-table-column prop="allow_level" align="center" label="数据权限" width="180">
<template slot-scope="scope">
<el-tag v-if="scope.row.allow_level==0"></el-tag>
<el-tag v-else-if="scope.row.allow_level==1">部门</el-tag>
<el-tag v-else-if="scope.row.allow_level==2">私有</el-tag>
</template>
</el-table-column>
<el-table-column prop="comment" label="说明">
</el-table-column>
<el-table-column fixed="right" label="操作" width="300">
<template slot-scope="scope">
@ -39,9 +46,19 @@
<el-input v-model="form.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="排序">
<el-input v-model="form.sortnumber" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="数据权限" prop="allow_level">
<el-radio-group v-model="form.allow_level">
<el-radio :label="0">所有</el-radio>
<el-radio :label="1">部门</el-radio>
<el-radio :label="2">私有</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="排序">
<el-input v-model="form.sortnumber" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="resetForm('form')"> </el-button>
@ -103,7 +120,8 @@
form: {
name: "",
id: "",
sortnumber: "0"
sortnumber: "0",
allow_level:0
},
userdata: [],
filterMethod(query, item) {
@ -149,9 +167,12 @@
})
},
edit(obj) {
this.form = this.$options.data().form
if (obj) {
this.form.id = obj.id;
this.form.name = obj.name;
this.form.sortnumber = obj.sortnumber;
this.form.allow_level = obj.allow_level;
}
this.dialogFormVisible = true;
},

@ -1,156 +1,157 @@
'use strict'
const path = require('path')
const defaultSettings = require('./src/settings.js')
function resolve(dir) {
return path.join(__dirname, dir)
}
const name = defaultSettings.title || '合同业务管理系统' // page title
// 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 || 9530 // 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: '/admin/',
outputDir: '/Users/liuxiangyu/Work/szhedao/app/contract-business/contract-business-service/public/admin',
assetsDir: 'static',
lintOnSave: process.env.NODE_ENV === 'development',
productionSourceMap: false,
css: {
loaderOptions: { // 向 CSS 相关的 loader 传递选项
less: {
javascriptEnabled: true
}
}
},
devServer: {
port: port,
open: true,
overlay: {
warnings: false,
errors: true
},
//before: require('./mock/mock-server.js')
proxy: {
[process.env.VUE_APP_BASE_API]: {
target: 'http://hdcontract.ali251.langye.net',
//target: 'http://192.168.60.99:9002/',
changeOrigin: true, //配置跨域
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
}
},
'/oa':{
target:'http://suzhouhedaooa.langye.net',
changeOrigin: true, //配置跨域
pathRewrite: {
'/oa': '/'
}
}
}
},
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.
name: name,
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')
.options({
symbolId: 'icon-[name]'
})
.end()
// set preserveWhitespace
config.module
.rule('vue')
.use('vue-loader')
.loader('vue-loader')
.tap(options => {
options.compilerOptions.preserveWhitespace = true
return options
})
.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')
}
)
}
'use strict'
const path = require('path')
const defaultSettings = require('./src/settings.js')
function resolve(dir) {
return path.join(__dirname, dir)
}
const name = defaultSettings.title || '合同业务管理系统' // page title
// 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 || 9530 // 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: '/admin/',
outputDir: '/Users/liuxiangyu/Work/szhedao/app/contract-business/contract-business-service/public/admin',
assetsDir: 'static',
lintOnSave: process.env.NODE_ENV === 'development',
productionSourceMap: false,
css: {
loaderOptions: { // 向 CSS 相关的 loader 传递选项
less: {
javascriptEnabled: true
}
}
},
devServer: {
port: port,
open: true,
overlay: {
warnings: false,
errors: true
},
//before: require('./mock/mock-server.js')
proxy: {
[process.env.VUE_APP_BASE_API]: {
//target: 'http://hdcontract.ali251.langye.net',
target: 'http://192.168.60.99:9003/',
changeOrigin: true, //配置跨域
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
}
},
'/oa': {
//target: 'http://suzhouhedaooa.langye.net',
target: 'http://192.168.60.18:2021',
changeOrigin: true, //配置跨域
pathRewrite: {
'/oa': '/'
}
}
}
},
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.
name: name,
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')
.options({
symbolId: 'icon-[name]'
})
.end()
// set preserveWhitespace
config.module
.rule('vue')
.use('vue-loader')
.loader('vue-loader')
.tap(options => {
options.compilerOptions.preserveWhitespace = true
return options
})
.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')
}
)
}
}

Loading…
Cancel
Save