Browse Source

1.0.19npm版本应用测试

zq-nodeTest
zq 10 hours ago
parent
commit
d53dff48bc
  1. 1
      babel.config.js
  2. 585
      package-lock.json
  3. 17
      package.json
  4. 4
      src/App.vue
  5. 48
      src/components/GuipTable.vue
  6. 4
      src/components/HoverButton.vue
  7. 1
      src/components/SetLeftMenu.vue
  8. 20
      src/components/SliderMenu.vue
  9. 2
      src/router/index.js
  10. 4
      src/store/index.js
  11. 4
      src/style/theme/index.css
  12. 1
      src/views/agent/siteBaseSetting.vue
  13. 4
      src/views/agent/siteList.vue
  14. 21
      src/views/elementGroups.vue
  15. 35
      vue.config.js

1
babel.config.js

@ -20,6 +20,7 @@ module.exports = {
plugins: [ plugins: [
// 可以添加其他Babel插件 // 可以添加其他Babel插件
'@babel/plugin-proposal-class-properties', '@babel/plugin-proposal-class-properties',
'@babel/plugin-proposal-optional-chaining',
'@babel/plugin-transform-runtime' '@babel/plugin-transform-runtime'
], ],
}; };

585
package-lock.json

File diff suppressed because it is too large

17
package.json

@ -8,14 +8,15 @@
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint"
}, },
"dependencies": { "dependencies": {
"@zhicheng1012/zhicheng-components": "^1.0.9", "@babel/plugin-proposal-optional-chaining": "^7.21.0",
"@zhicheng1012/zhicheng-components": "^1.0.18",
"axios": "^1.8.3", "axios": "^1.8.3",
"core-js": "^3.40.0", "core-js": "3.40.0",
"element-ui": "^2.15.14", "element-ui": "2.15.14",
"lottie-web": "^5.12.2", "lottie-web": "^5.12.2",
"qrcode": "^1.5.4", "qrcode": "^1.5.4",
"regenerator-runtime": "^0.14.1", "regenerator-runtime": "^0.14.1",
"vue": "^2.6.14", "vue": "2.6.14",
"vue-clickaway": "^2.2.2", "vue-clickaway": "^2.2.2",
"vue-router": "^3.5.1", "vue-router": "^3.5.1",
"vuedraggable": "^2.24.3", "vuedraggable": "^2.24.3",
@ -38,6 +39,12 @@
"eslint-plugin-vue": "^8.0.3", "eslint-plugin-vue": "^8.0.3",
"sass": "^1.32.7", "sass": "^1.32.7",
"sass-loader": "^12.0.0", "sass-loader": "^12.0.0",
"vue-template-compiler": "^2.6.14" "vue-loader": "15.9.8",
"vue-template-compiler": "2.6.14"
},
"resolutions": {
"core-js": "3.40.0",
"vue": "2.6.14",
"vue-template-compiler": "2.6.14"
} }
} }

4
src/App.vue

@ -31,7 +31,7 @@
import SliderMenu from '@/components/SliderMenu.vue'; import SliderMenu from '@/components/SliderMenu.vue';
import { mapState } from 'vuex'; import { mapState } from 'vuex';
import Header from './components/Header.vue'; import Header from './components/Header.vue';
import Breadcrumb from './components/Breadcrumb.vue'; // import Breadcrumb from './components/Breadcrumb.vue';
// import loadingAnimation from '@/assets/loadingAni.json' // JSON // import loadingAnimation from '@/assets/loadingAni.json' // JSON
import GlobalLoading from '@/components/GlobalLoading1.vue' import GlobalLoading from '@/components/GlobalLoading1.vue'
import SliderScond from '@/components/SliderScond.vue' import SliderScond from '@/components/SliderScond.vue'
@ -49,7 +49,7 @@ export default {
SliderMenu, SliderMenu,
// Footer, // Footer,
Header, Header,
Breadcrumb // Breadcrumb
}, },
computed: { computed: {
...mapState(['showSidebar','showSecondSide','secondMenu','showHeader','slidermenu','customize']) // VuexshowSidebar ...mapState(['showSidebar','showSecondSide','secondMenu','showHeader','slidermenu','customize']) // VuexshowSidebar

48
src/components/GuipTable.vue

@ -1,5 +1,5 @@
<template> <template>
<el-table ref="guiptable" v-bind="$attrs" :data="tableData" v-on="$listeners" :border="border" @selection-change="handleSelectionChange" <el-table class="guip-table" ref="guiptable" v-bind="$attrs" :data="tableData" v-on="$listeners" :border="border" @selection-change="handleSelectionChange"
:style="{ width: width ? width : '100%', height: height ? height : '100%' }" v-loading="loading"> :style="{ width: width ? width : '100%', height: height ? height : '100%' }" v-loading="loading">
<!-- 多选 --> <!-- 多选 -->
<template v-if="multiple"> <template v-if="multiple">
@ -82,29 +82,31 @@ export default {
} }
} }
</script> </script>
<style scoped> <style scoped lang="scss">
.custom-empty { .guip-table{
text-align: center; .custom-empty {
display: flex; text-align: center;
flex-direction: column; display: flex;
align-items: center; flex-direction: column;
} align-items: center;
}
.empty-image {
width: 160px; .empty-image {
height: 160px; width: 160px;
} height: 160px;
}
.empty-text {
color: #626573; .empty-text {
letter-spacing: 0.08em; color: #626573;
height: 18px; letter-spacing: 0.08em;
line-height: 18px; height: 18px;
} line-height: 18px;
.el-empty{ }
padding: 0; .el-empty{
padding: 0;
}
} }
::v-deep .el-empty__description{ .guip-table ::v-deep .el-empty__description{
line-height: 20px; line-height: 20px;
margin-top: 0; margin-top: 0;
} }

4
src/components/HoverButton.vue

@ -40,7 +40,7 @@
</template> </template>
<script> <script>
import SvgIcon1 from './SvgIcon1.vue'; // import SvgIcon1 from './SvgIcon1.vue';
export default { export default {
name: 'HoverButton', name: 'HoverButton',
@ -113,7 +113,7 @@ export default {
} }
}, },
components:{ components:{
SvgIcon1 // SvgIcon1
}, },
data() { data() {
return { return {

1
src/components/SetLeftMenu.vue

@ -58,6 +58,7 @@ export default {
}, },
mounted() { mounted() {
this.activeFloor = this.menuList[this.curIndex]?.list?.[0]?.desc; this.activeFloor = this.menuList[this.curIndex]?.list?.[0]?.desc;
console.log(this.activeFloor,'this.activeFloor=====');
this.componentsName = this.menuList[this.curIndex]?.list?.[0]?.componentsName; this.componentsName = this.menuList[this.curIndex]?.list?.[0]?.componentsName;
this.$nextTick(() => { this.$nextTick(() => {
// //

20
src/components/SliderMenu.vue

@ -1,7 +1,7 @@
<template> <template>
<transition :name="customize ? '' : 'menu-collapse'"> <transition :name="customize ? '' : 'menu-collapse'">
<el-menu v-if="!customize" class="el-menu-vertical-demo custom-menu" @open="handleOpen" <el-menu v-if="!customize" class="el-menu-vertical-demo custom-menu" @open="handleOpen"
:default-active="currentMenuItem?.index" :default-active="currentMenuItem && currentMenuItem.index"
@close="handleClose" @select="handleSelect" :collapse="isCollapse" :collapse-transition="true" @close="handleClose" @select="handleSelect" :collapse="isCollapse" :collapse-transition="true"
> >
<div style="height: 100%;padding: 0 0 20px;box-sizing: border-box;"> <div style="height: 100%;padding: 0 0 20px;box-sizing: border-box;">
@ -18,7 +18,7 @@
<el-submenu v-if="item.children" :key="item.index" :index="item.index"> <el-submenu v-if="item.children" :key="item.index" :index="item.index">
<template slot="title"> <template slot="title">
<SvgIcon1 :iconPath="require(`@/assets/menu/${item.icon}.svg`)" defaultColor="#8A9099" <SvgIcon1 :iconPath="require(`@/assets/menu/${item.icon}.svg`)" defaultColor="#8A9099"
activeColor="#006AFF" :isActive="item.index == currentMenuItem?.index?.substring(0,1) && isCollapse" /> activeColor="#006AFF" :isActive="item.index == currentMenuItem && currentMenuItem[index].substring(0,1) && isCollapse" />
<span class="title_text" >{{ item.title }}</span> <span class="title_text" >{{ item.title }}</span>
</template> </template>
<el-menu-item style="padding: 0 22px 0 32px;" v-for="subItem in item.children" :key="subItem.index" <el-menu-item style="padding: 0 22px 0 32px;" v-for="subItem in item.children" :key="subItem.index"
@ -29,7 +29,7 @@
<el-menu-item v-else :index="item.index" :key="item.index" @click="handleSelect(item.index, [item.index], item)"> <el-menu-item v-else :index="item.index" :key="item.index" @click="handleSelect(item.index, [item.index], item)">
<div class="flex"> <div class="flex">
<SvgIcon1 :iconPath="require(`@/assets/menu/${item.icon}.svg`)" defaultColor="#8A9099" <SvgIcon1 :iconPath="require(`@/assets/menu/${item.icon}.svg`)" defaultColor="#8A9099"
activeColor="#006AFF" :isActive="item.index == currentMenuItem?.index" /> activeColor="#006AFF" :isActive="item.index == currentMenuItem[index]" />
<span class="title_text" slot="title">{{ item.title }}</span> <span class="title_text" slot="title">{{ item.title }}</span>
</div> </div>
</el-menu-item> </el-menu-item>
@ -43,13 +43,13 @@
</template> </template>
<script> <script>
import SetLeftMenu from '@/components/SetLeftMenu.vue' import SetLeftMenu from '@/components/SetLeftMenu.vue'
import SvgIcon1 from '@/components/SvgIcon1.vue'; // import SvgIcon1 from '@/components/SvgIcon1.vue';
import GuipToolTip from '@/components/GuipToolTip.vue'; // import GuipToolTip from '@/components/GuipToolTip.vue';
export default { export default {
name: 'SliderMenu', name: 'SliderMenu',
components: { components: {
SvgIcon1, // SvgIcon1,
GuipToolTip, // GuipToolTip,
SetLeftMenu SetLeftMenu
}, },
props: { props: {
@ -92,7 +92,6 @@ export default {
// // menu path // // menu path
// const allItems = this.menuData.flatMap(menu => menu.children); // const allItems = this.menuData.flatMap(menu => menu.children);
// const targetItem = allItems.find(item => item.index === index); // const targetItem = allItems.find(item => item.index === index);
// if (targetItem && this.$route.path !== targetItem.path) { // if (targetItem && this.$route.path !== targetItem.path) {
// this.$router.push(targetItem.path); // this.$router.push(targetItem.path);
// } // }
@ -269,7 +268,6 @@ export default {
// .el-submenu .el-menu { // .el-submenu .el-menu {
// transition: all 0.3s ease; // transition: all 0.3s ease;
// } // }
// .el-menu--collapse .el-submenu > .el-menu { // .el-menu--collapse .el-submenu > .el-menu {
// display: block !important; // display: block !important;
// overflow: hidden; // overflow: hidden;
@ -278,8 +276,8 @@ export default {
// height: 0; // height: 0;
// transform: translateY(-10px); // transform: translateY(-10px);
// } // }
// .el-menu--collapse .el-submenu.is-opened > .el-menu { // .el-menu--collapse .el-submenu.is-opened > .el-menu {
// opacity: 0; // opacity: 0;
// height: 0; // height: 0;
// }</style> // }
</style>

2
src/router/index.js

@ -69,7 +69,7 @@ const routes = [{
component: () => import( /* webpackChunkName: "ui" */ '../views/elementGroups.vue'), component: () => import( /* webpackChunkName: "ui" */ '../views/elementGroups.vue'),
meta: { meta: {
title: '公共组件示例', title: '公共组件示例',
hideBreadcrumb: true, // 一级页面不显示面包屑 // hideBreadcrumb: true, // 一级页面不显示面包屑
// breadcrumbParent:'首页' // breadcrumbParent:'首页'
} }
}, },

4
src/store/index.js

@ -618,4 +618,6 @@ export default new Vuex.Store({
}, },
modules: {} modules: {}
}) })

4
src/style/theme/index.css

@ -27431,7 +27431,9 @@ border-color:#006AFF !important;
} }
.el-empty__description { .el-empty__description {
margin-top: 20px /* margin-top: 20px */
line-height: 20px;
margin-top: 0;
} }
.el-empty__description p { .el-empty__description p {

1
src/views/agent/siteBaseSetting.vue

@ -488,6 +488,7 @@ export default {
}, },
created() { created() {
store.commit('SET_CUSTOMIZE', true); store.commit('SET_CUSTOMIZE', true);
store.commit('SET_BREADRIGHTTEXT', '了卡斯蒂略了解了');
store.commit('SET_SLIDER_MENU', 'siteSettingData'); store.commit('SET_SLIDER_MENU', 'siteSettingData');
}, },
mounted() { mounted() {

4
src/views/agent/siteList.vue

@ -109,7 +109,7 @@
<script> <script>
import GuipTable from '@/components/GuipTable.vue'; // import GuipTable from '@/components/GuipTable.vue';
import SvgIcon from '@/components/SvgIcon.vue'; import SvgIcon from '@/components/SvgIcon.vue';
import GuipSelect from '@/components/GuipSelect.vue'; import GuipSelect from '@/components/GuipSelect.vue';
import GuipButton from '@/components/GuipButton.vue'; import GuipButton from '@/components/GuipButton.vue';
@ -120,7 +120,7 @@ import HoverButton from '@/components/HoverButton.vue'
export default { export default {
name: 'siteList', name: 'siteList',
components: { components: {
GuipTable, // GuipTable,
SvgIcon, SvgIcon,
GuipSelect, GuipSelect,
GuipButton, GuipButton,

21
src/views/elementGroups.vue

@ -27,7 +27,6 @@
</template> </template>
</PromptText> </PromptText>
<div class="ele-item"> <div class="ele-item">
<label for="">实时预览外层嵌套</label> <label for="">实时预览外层嵌套</label>
@ -490,6 +489,7 @@
</template> </template>
</CustomDropdown> </CustomDropdown>
</div> </div>
<SvgIcon1 :iconPath="require(`@/assets/menu/home-bread.svg`)" defaultColor="#8A9099" :size="16" activeColor="#006AFF"/>
<el-button type="primary" @click="submitForm">Submit</el-button> <el-button type="primary" @click="submitForm">Submit</el-button>
@ -598,13 +598,13 @@ import GuipDialog from '@/components/GuipDialog.vue';
// import GuipButton from '@/components/GuipButton.vue'; // import GuipButton from '@/components/GuipButton.vue';
// import { GuipButton } from '@zhicheng1012/zhicheng-components' // import { GuipButton } from '@zhicheng1012/zhicheng-components'
// import GuipInput from '@/components/GuipInput.vue'; // import GuipInput from '@/components/GuipInput.vue';
import GuipSelect from '@/components/GuipSelect.vue'; // import GuipSelect from '@/components/GuipSelect.vue';
import GuipTable from '@/components/GuipTable.vue'; // import GuipTable from '@/components/GuipTable.vue';
import GuipTextarea from '@/components/GuipTextarea.vue' import GuipTextarea from '@/components/GuipTextarea.vue'
import GuipToolTip from '@/components/GuipToolTip.vue' // import GuipToolTip from '@/components/GuipToolTip.vue'
import HoverButton from '@/components/HoverButton.vue' import HoverButton from '@/components/HoverButton.vue'
import GuipFormItem from '@/components/GuipFormItem.vue' import GuipFormItem from '@/components/GuipFormItem.vue'
import SvgIcon from '@/components/SvgIcon.vue'; // import SvgIcon from '@/components/SvgIcon.vue';
// import PromptText from "@/components/PromptText.vue"; // import PromptText from "@/components/PromptText.vue";
// import DevicePreview from "@/components/PreviewTab.vue"; // import DevicePreview from "@/components/PreviewTab.vue";
import domainBind from "@/components/domainBind.vue"; import domainBind from "@/components/domainBind.vue";
@ -613,19 +613,19 @@ import domainBind from "@/components/domainBind.vue";
export default { export default {
name: 'HomeView', name: 'HomeView',
components: { components: {
domainBind,
// PromptText, // PromptText,
domainBind,
GuipTextarea, GuipTextarea,
GuipTable, // GuipTable,
GuipSwitch, GuipSwitch,
GuipDialog, GuipDialog,
// GuipRadio, // GuipRadio,
// GuipButton, // GuipButton,
// GuipInput, // GuipInput,
GuipSelect, // GuipSelect,
GuipToolTip, // GuipToolTip,
HoverButton, HoverButton,
SvgIcon, // SvgIcon,
GuipFormItem, GuipFormItem,
// DevicePreview, // DevicePreview,
CustomDropdown CustomDropdown
@ -1271,6 +1271,7 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.elementWrap { .elementWrap {
/* width: 100%; */ /* width: 100%; */
padding: 30px 40px; padding: 30px 40px;

35
vue.config.js

@ -1,7 +1,8 @@
const path = require('path');
const TerserPlugin = require('terser-webpack-plugin'); const path = require('path')
const TerserPlugin = require('terser-webpack-plugin')
module.exports = { module.exports = {
// publicPath: '/new/',
devServer: { devServer: {
proxy: { proxy: {
'/supernew': { '/supernew': {
@ -23,7 +24,7 @@ module.exports = {
use: { use: {
loader: 'babel-loader', loader: 'babel-loader',
}, },
}, }
], ],
}, },
optimization: { optimization: {
@ -31,10 +32,10 @@ module.exports = {
new TerserPlugin({ new TerserPlugin({
terserOptions: { terserOptions: {
format: { format: {
comments: /^\**!|@preserve|@license|@cc_on/i // 保留特定注释 comments: /^\**!|@preserve|@license|@cc_on/i
} }
}, },
extractComments: false // 不提取注释到单独文件 extractComments: false
}) })
] ]
}, },
@ -42,10 +43,24 @@ module.exports = {
filename: '[name].[contenthash:8].js', filename: '[name].[contenthash:8].js',
chunkFilename: '[name].[contenthash:8].js' chunkFilename: '[name].[contenthash:8].js'
}, },
resolve:{ resolve: {
alias:{ alias: {
'@':path.resolve(__dirname, 'src/') '@': path.resolve(__dirname, 'src/')
} }
} }
}, },
}; chainWebpack: config => {
config.module
.rule('vue')
.use('vue-loader')
.loader('vue-loader')
.tap(options => {
options.compilerOptions = {
...(options.compilerOptions || {}),
whitespace: 'preserve',
preserveWhitespace: false
}
return options
})
}
}

Loading…
Cancel
Save