Commit 927fb4e2 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 19bb4439 bfc44957
...@@ -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",
......
...@@ -13,42 +13,41 @@ ...@@ -13,42 +13,41 @@
</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(){ data() {
return{ return {
headers:getCookie() headers: "",
} };
}, },
methods:{ methods: {
...mapMutations('fileloading',['settip','setspinning']), ...mapMutations("fileloading", ["settip", "setspinning"]),
/** /**
* 导入文件监听 * 导入文件监听
*/ */
fileChange(info){ fileChange(info) {
if (info.file.status === 'uploading') { if (info.file.status === "uploading") {
this.settip('文件导入中...') this.settip("文件导入中...");
this.setspinning(true) this.setspinning(true);
return; return;
} }
if (info.file.status === 'error') { if (info.file.status === "error") {
this.$message.error("导入失败") this.$message.error("导入失败");
} }
if (info.file.status === 'done') { if (info.file.status === "done") {
this.$message("导入成功") this.$message("导入成功");
// 导出成功 // 导出成功
this.$emit("success",'addfile') this.$emit("success", "addfile");
}
this.setspinning(false)
this.settip('加载中...')
}
} }
} 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"]),
}, },
}; };
......
...@@ -63,21 +63,17 @@ ...@@ -63,21 +63,17 @@
</span> </span>
</template> </template>
<!-- 部门 --> <!-- 部门 -->
<template slot="belongDept" slot-scope="text"> <template slot="deptCode" slot-scope="text">
{{ text.belongDept ? text.belongDept : "--" }} {{ text.deptCode ? text.deptCode : "--" }}
</template> </template>
<!-- 到现场次数 --> <!-- 到现场次数 -->
<template slot="num" slot-scope="text"> <template slot="num" slot-scope="text">
<span <span v-if="text.windowToTheSceneNum">{{
v-if="text.windowToTheSceneNum && text.windowToTheSceneNum != ''" text.windowToTheSceneNum
>{{ text.windowToTheSceneNum }}</span }}</span>
> <span v-else-if="text.onlineToTheSceneNum">{{
<span text.onlineToTheSceneNum
v-else-if=" }}</span>
text.onlineToTheSceneNum && text.onlineToTheSceneNum != ''
"
>{{ text.onlineToTheSceneNum }}</span
>
<span v-else>--</span> <span v-else>--</span>
</template> </template>
<!-- 操作 --> <!-- 操作 -->
...@@ -152,8 +148,8 @@ ...@@ -152,8 +148,8 @@
</span> </span>
</template> </template>
<!-- 部门 --> <!-- 部门 -->
<template slot="belongDept" slot-scope="text"> <template slot="deptCode" slot-scope="text">
{{ text.belongDept ? text.belongDept : "--" }} {{ text.deptCode ? text.deptCode : "--" }}
</template> </template>
<template slot="action" slot-scope="text"> <template slot="action" slot-scope="text">
<a href="javascript:;" class="jion" @click="handleIn(text.id)" <a href="javascript:;" class="jion" @click="handleIn(text.id)"
...@@ -204,10 +200,10 @@ const leftColumns = [ ...@@ -204,10 +200,10 @@ const leftColumns = [
scopedSlots: { customRender: "index" }, scopedSlots: { customRender: "index" },
}, },
{ {
title: "部门", title: "部门编号",
width: "20%", width: "20%",
scopedSlots: { scopedSlots: {
customRender: "belongDept", customRender: "deptCode",
}, },
}, },
{ {
...@@ -239,10 +235,10 @@ const rightColumns = [ ...@@ -239,10 +235,10 @@ const rightColumns = [
scopedSlots: { customRender: "num" }, scopedSlots: { customRender: "num" },
}, },
{ {
title: "部门", title: "部门编号",
width: "20%", width: "20%",
scopedSlots: { scopedSlots: {
customRender: "belongDept", customRender: "deptCode",
}, },
}, },
{ {
......
...@@ -105,8 +105,8 @@ ...@@ -105,8 +105,8 @@
</span> </span>
</template> </template>
<!-- 部门 --> <!-- 部门 -->
<template slot="belongDept" slot-scope="text"> <template slot="deptCode" slot-scope="text">
{{ text.belongDept ? text.belongDept : "--" }} {{ text.deptCode ? text.deptCode : "--" }}
</template> </template>
<template slot="action" slot-scope="text"> <template slot="action" slot-scope="text">
<a href="javascript:;" class="jion" @click="handleIn(text)">关联</a> <a href="javascript:;" class="jion" @click="handleIn(text)">关联</a>
...@@ -281,10 +281,10 @@ const rightColumns = [ ...@@ -281,10 +281,10 @@ const rightColumns = [
scopedSlots: { customRender: "num" }, scopedSlots: { customRender: "num" },
}, },
{ {
title: "部门", title: "部门编号",
width: "20%", width: "20%",
scopedSlots: { scopedSlots: {
customRender: "belongDept", customRender: "deptCode",
}, },
}, },
{ {
......
...@@ -428,7 +428,6 @@ export default { ...@@ -428,7 +428,6 @@ export default {
} }
}) })
.flat(); .flat();
console.log(data);
this.business = this.delChildren(this.business); this.business = this.delChildren(this.business);
}, },
// 新增部门 // 新增部门
......
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",
test: new RegExp("\\.(" + productionGzipExtensions.join("|") + ")$"),
threshold: 10240, threshold: 10240,
minRatio: 0.8 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