dbd-meeting-html/vue.config.js
471615499@qq.com 669a78fd20 1.登录页,去掉注册账户,去掉tab(src/views/user/login.vue)
2.固定语言为中文(src/locales/index.js、src/components/SeslectLang/index.jsx)
3.默认首页设置为/admin/repair/RepairDeviceList/repairStatistics(src/config/router.config.js)
4.左侧菜单固定(src/config/defaultSessting.js)
5.人员绩效前面小图标去掉(菜单设置,图标设为#)
6.工单列表页加入分页(基本重写逻辑)
7.人员绩效进入查看详情时,仅允许查看列表和详情,其余全部隐藏
8.重写了工单添加页和详情页,去掉了编辑工单功能
9.修复了添加工单后列表不加载BUG(子组件调用父组件方法handleOk)
10.故障类型、子类、报修地点、损坏原因等页面重新整理了一下,把文字统一,去掉了无用的筛选
11.人员绩效筛选加入人名,修改了重置的BUG,把全部加载改写成分页加载(a-tab上一定要加:force-render='true',预先dom加载好,否则refs获取不到,调用refresh时会报错)
12.选人时可以搜索人名或手机号(设置optionFilterProp="label",同时设置:label="item.username + item.mobile")
2024-08-31 22:01:04 +08:00

136 lines
3.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const path = require('path')
const webpack = require('webpack')
const GitRevisionPlugin = require('git-revision-webpack-plugin')
const GitRevision = new GitRevisionPlugin()
const buildDate = JSON.stringify(new Date().toLocaleString())
const createThemeColorReplacerPlugin = require('./config/plugin.config')
function resolve (dir) {
return path.join(__dirname, dir)
}
// check Git
function getGitHash () {
try {
return GitRevision.version()
} catch (e) {
}
return 'unknown'
}
const assetsCDN = {
// main.js里引入了对应的less以使 webpack-theme-color-replacer工作
// https://cdn.jsdelivr.net/npm/ant-design-vue@1.3.9/dist/antd.min.css
css: [],
js: [
'/shoot-hand-html/js/vue.min.js',
'/shoot-hand-html/js/axios.min.js',
'/shoot-hand-html/js/vue-router.min.js',
'/shoot-hand-html/js/vuex.min.js',
'/shoot-hand-html/js/moment.min.js',
'/shoot-hand-html/js/zh-cn.min.js',
'/shoot-hand-html/js/g2.min.js',
'/shoot-hand-html/js/data-set.min.js',
'/shoot-hand-html/js/antd-with-locales.min.js'
]
}
// webpack build externals
const prodExternals = {
// key表示包名(import foo from 'xx' 里的xx)
// value表示window下的全局变量名(库暴露出来的namespace,可查lib对应的webpack配置里的library字段)
'vue': 'Vue',
'axios': 'axios',
'vue-router': 'VueRouter',
'vuex': 'Vuex',
'moment': 'moment',
'@antv/g2': 'G2',
'@antv/data-set': 'DataSet',
'ant-design-vue': 'antd'
}
// vue.config.js
const vueConfig = {
publicPath: '/shoot-hand-html/',
configureWebpack: {
externals: prodExternals,
plugins: [
// Ignore all locale files of moment.js
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
new webpack.IgnorePlugin(/moment\//),
new webpack.DefinePlugin({
APP_VERSION: `"${require('./package.json').version}"`,
GIT_HASH: JSON.stringify(getGitHash()),
BUILD_DATE: buildDate
})
]
},
chainWebpack: config => {
config.resolve.alias.set('@$', resolve('src'))
const svgRule = config.module.rule('svg')
svgRule.uses.clear()
svgRule
.oneOf('inline')
.resourceQuery(/inline/)
.use('vue-svg-icon-loader')
.loader('vue-svg-icon-loader')
.end()
.end()
.oneOf('external')
.use('file-loader')
.loader('file-loader')
.options({
name: 'assets/[name].[hash:8].[ext]'
})
// assets require on cdn
config.plugin('html').tap(args => {
args[0].cdn = assetsCDN
return args
})
},
css: {
loaderOptions: {
less: {
modifyVars: {
// less varscustomize ant design theme
// 'primary-color': '#F5222D',
// 'link-color': '#F5222D',
// 'border-radius-base': '4px'
'border-radius-base': '2px'
},
javascriptEnabled: true
}
}
},
devServer: {
// development server port 8000
port: 8000,
proxy: {
'/api': {
//target: 'http://127.0.0.1:9227',
target: 'https://company.haxy.com.cn:4443/shoot-hand',
pathRewrite: { '^/api': '' },
ws: false,
changeOrigin: true
}
}
},
// disable source map in production
productionSourceMap: false,
lintOnSave: false,
// babel-loader no-ignore node_modules/*
transpileDependencies: []
}
// 如果你不想在生产环境开启换肤功能,请打开下面注释
// if (process.env.VUE_APP_PREVIEW === 'true') {
// add `ThemeColorReplacer` plugin to webpack plugins
vueConfig.configureWebpack.plugins.push(createThemeColorReplacerPlugin())
// }
module.exports = vueConfig