Commit bfc44957 authored by “yiyousong”'s avatar “yiyousong”

fix:修改页面

parent 33a20c0f
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"babel-plugin-transform-remove-console": "^6.9.4", "babel-plugin-transform-remove-console": "^6.9.4",
"babel-polyfill": "^6.26.0", "babel-polyfill": "^6.26.0",
"cache-loader": "^4.1.0",
"compression-webpack-plugin": "^2.0.0", "compression-webpack-plugin": "^2.0.0",
"deepmerge": "^4.2.2", "deepmerge": "^4.2.2",
"eslint": "^6.7.2", "eslint": "^6.7.2",
......
<template> <template>
<a-upload <a-upload
list-type="text" list-type="text"
class="file-uploader" class="file-uploader"
:show-upload-list="false" :show-upload-list="false"
:action="action" :action="action"
:headers="headers" :headers="headers"
@change="fileChange" @change="fileChange"
> >
<slot> <slot>
<div>导入</div> <div>导入</div>
</slot> </slot>
</a-upload> </a-upload>
</template> </template>
<script> <script>
import {mapMutations} from "vuex" import { mapMutations } from "vuex";
import {getCookie} from "@/utils/request" // import {getCookie} from "@/utils/request"
export default { export default {
props:{ props: {
action:String action: String,
},
data() {
return {
headers: "",
};
},
methods: {
...mapMutations("fileloading", ["settip", "setspinning"]),
/**
* 导入文件监听
*/
fileChange(info) {
if (info.file.status === "uploading") {
this.settip("文件导入中...");
this.setspinning(true);
return;
}
if (info.file.status === "error") {
this.$message.error("导入失败");
}
if (info.file.status === "done") {
this.$message("导入成功");
// 导出成功
this.$emit("success", "addfile");
}
this.setspinning(false);
this.settip("加载中...");
}, },
data(){ },
return{ };
headers:getCookie()
}
},
methods:{
...mapMutations('fileloading',['settip','setspinning']),
/**
* 导入文件监听
*/
fileChange(info){
if (info.file.status === 'uploading') {
this.settip('文件导入中...')
this.setspinning(true)
return;
}
if (info.file.status === 'error') {
this.$message.error("导入失败")
}
if (info.file.status === 'done') {
this.$message("导入成功")
// 导出成功
this.$emit("success",'addfile')
}
this.setspinning(false)
this.settip('加载中...')
}
}
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
</style> </style>
\ No newline at end of file
...@@ -93,7 +93,7 @@ export default { ...@@ -93,7 +93,7 @@ export default {
}, },
}, },
created() { created() {
this.loadCacheConfig(this.$router?.options?.routes); // this.loadCacheConfig(this.$router?.options?.routes);
this.loadCachedTabs(); this.loadCachedTabs();
const route = this.$route; const route = this.$route;
if (this.pageList.findIndex((item) => item.path === route.path) === -1) { if (this.pageList.findIndex((item) => item.path === route.path) === -1) {
...@@ -115,10 +115,10 @@ export default { ...@@ -115,10 +115,10 @@ export default {
this.correctPageMinHeight(this.tabsOffset); this.correctPageMinHeight(this.tabsOffset);
}, },
watch: { watch: {
"$router.options.routes": function (val) { // "$router.options.routes": function (val) {
this.excludeKeys = []; // this.excludeKeys = [];
this.loadCacheConfig(val); // this.loadCacheConfig(val);
}, // },
$route: function (newRoute) { $route: function (newRoute) {
this.activePage = newRoute.path; this.activePage = newRoute.path;
const page = this.pageList.find((item) => item.path === newRoute.path); const page = this.pageList.find((item) => item.path === newRoute.path);
...@@ -364,17 +364,18 @@ export default { ...@@ -364,17 +364,18 @@ export default {
} }
} }
}, },
loadCacheConfig(routes, pCache = true) { // loadCacheConfig(routes, pCache = true) {
routes.forEach((item) => { // routes.forEach((item) => {
const cacheAble = item.meta?.page?.cacheAble ?? pCache ?? true; // const cacheAble = item.meta?.page?.cacheAble ?? pCache ?? true;
if (!cacheAble) { // if (!cacheAble) {
this.excludeKeys.push(new RegExp(`${item.path}\\d+$`)); // this.excludeKeys.push(new RegExp(`${item.path}\\d+$`));
} // }
if (item.children) { // console.log(this.excludeKeys);
this.loadCacheConfig(item.children, cacheAble); // if (item.children) {
} // this.loadCacheConfig(item.children, cacheAble);
}); // }
}, // });
// },
...mapMutations("setting", ["correctPageMinHeight"]), ...mapMutations("setting", ["correctPageMinHeight"]),
}, },
}; };
......
This diff is collapsed.
let path = require('path') let path = require("path");
const webpack = require('webpack') const webpack = require("webpack");
const ThemeColorReplacer = require('webpack-theme-color-replacer') const ThemeColorReplacer = require("webpack-theme-color-replacer");
const {getThemeColors, modifyVars} = require('./src/utils/themeUtil') const { getThemeColors, modifyVars } = require("./src/utils/themeUtil");
const {resolveCss} = require('./src/utils/theme-color-replacer-extend') const { resolveCss } = require("./src/utils/theme-color-replacer-extend");
const CompressionWebpackPlugin = require('compression-webpack-plugin') const CompressionWebpackPlugin = require("compression-webpack-plugin");
const productionGzipExtensions = ['js', 'css'] const productionGzipExtensions = ["js", "css"];
const isProd = process.env.NODE_ENV === 'production' const isProd = process.env.NODE_ENV === "production";
const assetsCDN = { const assetsCDN = {
// webpack build externals // webpack build externals
...@@ -20,79 +20,80 @@ const assetsCDN = { ...@@ -20,79 +20,80 @@ const assetsCDN = {
// '@antv/data-set': 'DataSet', // '@antv/data-set': 'DataSet',
// 'js-cookie': 'Cookies' // 'js-cookie': 'Cookies'
// }, // },
css: [ css: [],
],
js: [ js: [
'//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js', "//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js",
'//cdn.jsdelivr.net/npm/vue-router@3.3.4/dist/vue-router.min.js', "//cdn.jsdelivr.net/npm/vue-router@3.3.4/dist/vue-router.min.js",
'//cdn.jsdelivr.net/npm/vuex@3.4.0/dist/vuex.min.js', "//cdn.jsdelivr.net/npm/vuex@3.4.0/dist/vuex.min.js",
'//cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js', "//cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js",
'//cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.min.js', "//cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.min.js",
'//cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js', "//cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js",
'//cdn.jsdelivr.net/npm/@antv/data-set@0.11.4/build/data-set.min.js', "//cdn.jsdelivr.net/npm/@antv/data-set@0.11.4/build/data-set.min.js",
'//cdn.jsdelivr.net/npm/js-cookie@2.2.1/src/js.cookie.min.js' "//cdn.jsdelivr.net/npm/js-cookie@2.2.1/src/js.cookie.min.js",
] ],
} };
module.exports = { module.exports = {
devServer: { devServer: {
disableHostCheck: true, disableHostCheck: true,
port:8080, port: 8080,
proxy: { proxy: {
'/api': { //此处要与 /services/api.js 中的 API_PROXY_PREFIX 值保持一致 "/api": {
//此处要与 /services/api.js 中的 API_PROXY_PREFIX 值保持一致
target: process.env.VUE_APP_API_BASE_URL, target: process.env.VUE_APP_API_BASE_URL,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/api': '' "^/api": "",
}, },
// cookieDomainRewrite: 'localhost', // cookieDomainRewrite: 'localhost',
} },
} },
}, },
pluginOptions: { pluginOptions: {
'style-resources-loader': { "style-resources-loader": {
preProcessor: 'less', preProcessor: "less",
patterns: [path.resolve(__dirname, "./src/theme/theme.less")], patterns: [path.resolve(__dirname, "./src/theme/theme.less")],
} },
}, },
configureWebpack: config => { configureWebpack: (config) => {
config.entry.app = ["babel-polyfill", "whatwg-fetch", "./src/main.js"]; config.entry.app = ["babel-polyfill", "whatwg-fetch", "./src/main.js"];
config.performance = { config.performance = {
hints: false hints: false,
} };
config.plugins.push( config.plugins.push(
new ThemeColorReplacer({ new ThemeColorReplacer({
fileName: 'css/theme-colors-[contenthash:8].css', fileName: "css/theme-colors-[contenthash:8].css",
matchColors: getThemeColors(), matchColors: getThemeColors(),
injectCss: true, injectCss: true,
resolveCss resolveCss,
}) })
) );
// Ignore all locale files of moment.js // Ignore all locale files of moment.js
// config.plugins.push(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)) // config.plugins.push(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/))
// 生产环境下将资源压缩成gzip格式 // 生产环境下将资源压缩成gzip格式
if (isProd) { if (isProd) {
// add `CompressionWebpack` plugin to webpack plugins // add `CompressionWebpack` plugin to webpack plugins
config.plugins.push(new CompressionWebpackPlugin({ config.plugins.push(
algorithm: 'gzip', new CompressionWebpackPlugin({
test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'), algorithm: "gzip",
threshold: 10240, test: new RegExp("\\.(" + productionGzipExtensions.join("|") + ")$"),
minRatio: 0.8 threshold: 10240,
})) minRatio: 0.8,
})
);
} }
// if prod, add externals // if prod, add externals
if (isProd) { if (isProd) {
config.externals = assetsCDN.externals config.externals = assetsCDN.externals;
} }
}, },
chainWebpack: config => { chainWebpack: (config) => {
// 生产环境下关闭css压缩的 colormin 项,因为此项优化与主题色替换功能冲突 // 生产环境下关闭css压缩的 colormin 项,因为此项优化与主题色替换功能冲突
if (isProd) { if (isProd) {
config.plugin('optimize-css') config.plugin("optimize-css").tap((args) => {
.tap(args => { args[0].cssnanoOptions.preset[1].colormin = false;
args[0].cssnanoOptions.preset[1].colormin = false return args;
return args });
})
} }
// 生产环境下使用CDN // 生产环境下使用CDN
// if (isProd) { // if (isProd) {
...@@ -108,14 +109,14 @@ module.exports = { ...@@ -108,14 +109,14 @@ module.exports = {
less: { less: {
lessOptions: { lessOptions: {
modifyVars: modifyVars(), modifyVars: modifyVars(),
javascriptEnabled: true javascriptEnabled: true,
} },
} },
} },
}, },
publicPath: './', publicPath: "./",
// publicPath: process.env.VUE_APP_PUBLIC_PATH, // publicPath: process.env.VUE_APP_PUBLIC_PATH,
outputDir: 'dist', outputDir: "dist",
assetsDir: 'static', assetsDir: "static",
productionSourceMap: false productionSourceMap: false,
} };
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment