修改客户端问题

This commit is contained in:
龙运模 2024-11-26 18:40:23 +08:00
parent aaaa9028f0
commit 03a7c3ceaf
17 changed files with 472 additions and 400 deletions

View File

@ -0,0 +1,13 @@
<template>
<svg t="1732611902838" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6137" width="200" height="200"><path d="M461.71428594 365.71428594c0-18.28571437 4.57142813-36.57142875 13.71428531-41.14285781 9.14285719-9.14285719 18.28571437-13.71428531 36.57142875-13.71428532 13.71428531 0 22.8571425 4.57142813 31.99999969 9.14285719 9.14285719 9.14285719 13.71428531 18.28571437 13.71428625 31.99999969 0 9.14285719-4.57142813 22.8571425-13.71428625 32.00000062L489.1428575 461.71428594c-9.14285719 9.14285719-13.71428531 18.28571437-13.71428625 27.42857156 0 9.14285719-4.57142813 18.28571437-4.57142813 31.99999969v45.71428593h82.28571375v-41.14285781c0-13.71428531 4.57142813-22.8571425 9.14285719-31.99999968l54.85714313-73.1428575c13.71428531-18.28571437 22.8571425-41.14285687 22.8571425-68.57142844 0-36.57142875-13.71428531-68.57142844-41.14285688-86.85714281-27.42857156-18.28571437-54.85714313-31.99999969-91.42857094-31.99999969s-64.00000031 13.71428531-91.42857187 31.99999969c-22.8571425 27.42857156-36.57142875 54.85714313-36.57142875 91.42857187v22.8571425h82.28571469v-13.71428531zM470.85714313 598.85714281h82.28571375v77.71428563H470.85714313z" p-id="6138"></path><path d="M86.85714313 82.28571406v713.14285782h269.71428562l155.42857125 141.714285 155.42857125-141.714285h274.28571469V82.28571406H86.85714313z m758.85714281 621.71428594h-214.85714344l-118.8571425 109.71428531-118.8571425-109.71428531H178.28571406V173.71428594h667.42857188v530.28571406z" p-id="6139"></path></svg>
</template>
<script>
export default {
name: "Feedback"
}
</script>
<style scoped>
</style>

View File

@ -55,6 +55,7 @@ export { default as Questionnaire } from './Questionnaire.vue'
export { default as OrderQuery } from './OrderQuery.vue'
export { default as ComponentQuery } from './ComponentQuery.vue'
export { default as TermQuery } from './TermQuery.vue'
export { default as Feedback } from './Feedback.vue'
export { default as File7z } from './file/7z.vue'
export { default as FileBmp } from './file/Bmp.vue'

View File

@ -123,13 +123,16 @@ export default {
msgList:[],
user_id:0,
}
},
computed: {
},
mounted() {
let token = this.$TOOL.cookie.get('TOKEN');
if (token && token != null) {
// ws
let global_callback = function () {};
this.$socketApi.createWebSocket(global_callback);
// let global_callback = function () {};
// this.$socketApi.createWebSocket(global_callback);
//
eventBus.$on('sockBack', this.getWsResult);
@ -355,7 +358,9 @@ export default {
window.location.href = em.file;
},
scroll({scrollTop}){
scroll(e){
let {scrollTop} = e;
if(!scrollTop) {return false}
if(scrollTop>10){
this.$refs.tagList.style.position = "absolute";
this.$refs.tagList.style.background = "#fff";
@ -373,7 +378,9 @@ export default {
const wrap = this.$refs.scrollbar;
if(wrap){
const e = wrap.$el.querySelector('.el-scrollbar__wrap')
e.scrollTop = e.scrollHeight;
if(e && e.scrollTop){
e.scrollTop = e.scrollHeight;
}
}
})
},

View File

@ -6,7 +6,7 @@ export function beforeEach(to, from){
if(!adminMain){return false}
store.commit("updateViewTags", {
fullPath: from.fullPath,
scrollTop: adminMain.scrollTop
scrollTop: adminMain.scrollTop || 0
})
}
@ -15,8 +15,8 @@ export function afterEach(to){
if(!adminMain){return false}
nextTick(()=>{
var beforeRoute = store.state.viewTags.viewTags.filter(v => v.fullPath == to.fullPath)[0]
if(beforeRoute){
if(beforeRoute && adminMain.scrollTop){
adminMain.scrollTop = beforeRoute.scrollTop || 0
}
})
}
}

View File

@ -27,7 +27,7 @@ export default {
],
shareRouter:[
{name:'我的文档',id:''}
]
],
},
mutations: {
SET_ismobile(state, key){

View File

@ -3,43 +3,11 @@
<commonPage title="个人中心"></commonPage>
<el-main class="serveMain">
<el-scrollbar class="mainScroll">
<div class="pageBody">
<div class="rowView">
<div class="rowList">
<div class="colItem" v-for="(item,index) in list" :key="index">
<div class="cardView">
<el-icon size="56" v-if="item.icon"><component :is="item.icon"/></el-icon>
<div class="name">
{{item.name}}
<el-icon class="icon" size="30"><sc-icon-ArrowRightServe/></el-icon>
</div>
</div>
<div class="describe">
<el-icon size="56" v-if="item.icon"><component :is="item.icon"/></el-icon>
<div class="name">
占位占位占位占位占位占位占位占位占位占位占位占位占位占位
<el-icon class="icon" size="30"><sc-icon-ArrowRightServe/></el-icon>
</div>
</div>
</div>
</div>
</div>
<div class="recommend">
<div class="title">智能推荐</div>
<div class="mainView" ref="bubble"></div>
</div>
<div class="history">
<div class="title">搜索历史</div>
<div class="mainView">
<div class="viewItem" v-for="(item,index) in historyList" :key="index">{{item.name}}</div>
</div>
</div>
</div>
<keep-alive :include="['mainView', 'serveView', 'personalCenter']">
<component :is="componentName" />
</keep-alive>
<footerPage></footerPage>
</el-scrollbar>
<!--客服-->
<scCustomer />
</el-main>
</div>
</template>
@ -47,103 +15,82 @@
<script>
import commonPage from "@/views/serveView/components/commonPage";
import footerPage from "@/views/serveView/components/footerPage";
import mainView from './mainView';
import serveView from '@/views/serveView/index';
import personalCenter from '@/views/personalCenter/index';
import {eventBus} from "@/utils/eventBus";
export default {
name: "index",
components:{
commonPage,
footerPage
footerPage,
mainView,
serveView,
personalCenter,
},
data(){
return{
list:[
{name:"技术支持与服务",icon:"sc-icon-TechnicalSupport",url:''},
{name:"常见问题",icon:"sc-icon-Problem",url:''},
{name:"咨询与联系方式",icon:"sc-icon-SeekAdviceFrom",url:''},
{name:"其他",icon:"sc-icon-OtherServe",url:''},
],
recommendList:[
{name:'维保期限查询',color:'#436FFF'},
{name:'主控部件查询',color:'#FF8543'},
{name:'智能客服',color:'#22D3F6'},
{name:'我的产品',color:'#0FCA44'},
{name:'订单号查询',color:'#FBCA0A'},
{name:'主控部件查询',color:'#FF8543'},
{name:'我的产品',color:'#32af40'},
{name:'主控部件查询',color:'#FF8543'},
{name:'问题单',color:'#FF4B51'},
{name:'主控部件查询',color:'#FF8543'},
{name:'我的产品',color:'#0FCA44'},
{name:'问题单',color:'#FF4B51'},
{name:'维保期限查询',color:'#436FFF'},
{name:'订单号查询',color:'#FBCA0A'},
{name:'我的产品',color:'#0FCA44'},
{name:'订单号查询',color:'#FBCA0A'},
{name:'主控部件查询',color:'#94471d'},
{name:'我的产品',color:'#FF8543'},
{name:'主控部件查询',color:'#3d7a80'},
{name:'问题单',color:'#FF4B51'},
{name:'主控部件查询',color:'#FF8543'},
],
historyList:[
{name:'搜索历史文案占位……'},
{name:'搜索历史文案占位……'},
{name:'搜索历史文案占位……'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
]
componentName:"mainView"
}
},
created() {
console.log('创建了')
let token = this.$TOOL.cookie.get('TOKEN');
if (token && token != null) {
// ws
let global_callback = function () {};
this.$socketApi.createWebSocket(global_callback);
}
},
mounted() {
for (let i = 0; i < this.recommendList.length; i++) {
const bubble = this.getCreateBubble(this.recommendList[i]);
this.$refs.bubble.appendChild(bubble);
}
eventBus.$on('headerRouterBack', this.getRouterBack);
},
beforeUnmount() {
console.log('我要离开了')
},
unmounted() {
eventBus.$off('headerRouterBack', this.getRouterBack);
},
methods:{
getCreateBubble(item){
const containerWidth = this.$refs.bubble.offsetWidth;
const containerHeight = this.$refs.bubble.offsetHeight;
const bubble = document.createElement('div');
bubble.className = 'bubble';
const maxX = containerWidth - 160;
const maxY = containerHeight - 38;
const x = Math.floor(Math.random() * maxX);
const y = Math.floor(Math.random() * maxY);
bubble.style.left = `${x}px`;
bubble.style.top = `${y}px`;
bubble.style.maxWidth = '160px';
bubble.style.maxHeight = '38px';
bubble.style.background = `${item.color}`;
bubble.innerText =`${item.name}`;
return bubble
},
getRouterBack(res){
this.componentName = res.name;
}
}
}
</script>
<style scoped lang="scss">
.mainScroll ::v-deep .el-scrollbar__view{
height: calc(100%);
}
.pageRight ::v-deep .mainTable .el-table .el-table__inner-wrapper:before{
height: 0;
}
.mainServeBody{
height: 100%;
display: flex;
flex-direction: column;
background: #fff;
.serveMain{
flex: 1;
padding: 0;
border-radius: 0;
.pageBody{
display: flex;
.pageLeft{
height: 100%;
.el-aside{
height: 100%;
}
}
.pageRight{
flex: 1;
}
}
}
}
.mainServeBody{
height: 100%;
display: flex;
@ -155,137 +102,6 @@ export default {
padding: 0;
border-radius: 0;
position: relative;
.pageBody{
height: 100%;
display: flex;
flex-direction: column;
padding: 0 20px;
.rowView{
height: 220px;
padding: 20px 0;
}
.rowList{
max-width: 1200px;
margin: 0 auto;
height: 100%;
display: flex;
.colItem{
flex: 1;
border: 1px solid #aaa;
padding: 20px;
display: flex;
position: relative;
margin-left: -1px;
.cardView{
height: 100%;
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
.name{
display: flex;
align-items: center;
justify-content: space-between;
font-size: 18px;
.icon{
margin-left: 10px;
}
}
}
.describe{
display: none;
}
}
.colItem:hover{
border-top-color: var(--el-color-primary);
border-bottom-color: var(--el-color-primary);
}
.colItem:hover .describe{
height: 100%;
width: 100%;
background: rgba(255,255,255,1);
color: var(--el-color-primary);
position: absolute;
left: 0;
top: 0;
z-index: 10;
cursor: pointer;
padding: 20px;
display: flex;
flex-direction: column;
justify-content: space-between;
.name{
display: flex;
align-items: flex-end;
justify-content: space-between;
font-size: 16px;
.icon{
margin-left: 10px;
}
}
}
}
.recommend{
.title{
max-width: 1200px;
margin: 0 auto;
height: 80px;
display: flex;
align-items: center;
font-size: 22px;
}
.mainView{
padding: 20px 0;
max-width: 1200px;
margin: 0 auto;
background: #F8F8F8;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
position: relative;
height: 300px;
::v-deep .bubble{
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #F8F8F8;
position: absolute;
border-radius: 50px;
color: #fff;
padding:6px 20px;
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
::v-deep .bubble:hover{
transform: scale(1.1);
cursor: pointer;
}
}
}
.history{
.title{
max-width: 1200px;
margin: 0 auto;
height: 80px;
display: flex;
align-items: center;
border-bottom: 1px solid #f0f0f0;
font-size: 22px;
}
.mainView{
padding: 20px 0 80px 0;
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
.viewItem{
width: 33%;
padding: 10px 0;
font-size: 16px;
}
}
}
}
}
}

View File

@ -0,0 +1,269 @@
<template>
<div class="pageBody">
<div class="rowView">
<div class="rowList">
<div class="colItem" v-for="(item,index) in list" :key="index">
<div class="cardView">
<el-icon size="56" v-if="item.icon"><component :is="item.icon"/></el-icon>
<div class="name">
{{item.name}}
<el-icon class="icon" size="30"><sc-icon-ArrowRightServe/></el-icon>
</div>
</div>
<div class="describe">
<el-icon size="56" v-if="item.icon"><component :is="item.icon"/></el-icon>
<div class="name">
占位占位占位占位占位占位占位占位占位占位占位占位占位占位
<el-icon class="icon" size="30"><sc-icon-ArrowRightServe/></el-icon>
</div>
</div>
</div>
</div>
</div>
<div class="recommend">
<div class="title">智能推荐</div>
<div class="mainView" ref="bubble"></div>
</div>
<div class="history">
<div class="title">搜索历史</div>
<div class="mainView">
<div class="viewItem" v-for="(item,index) in historyList" :key="index">{{item.name}}</div>
</div>
</div>
</div>
<!--客服-->
<scCustomer />
</template>
<script>
export default {
name: "mainView",
data(){
return{
list:[
{name:"技术支持与服务",icon:"sc-icon-TechnicalSupport",url:''},
{name:"常见问题",icon:"sc-icon-Problem",url:''},
{name:"咨询与联系方式",icon:"sc-icon-SeekAdviceFrom",url:''},
{name:"其他",icon:"sc-icon-OtherServe",url:''},
],
recommendList:[
{name:'维保期限查询',color:'#436FFF'},
{name:'主控部件查询',color:'#FF8543'},
{name:'智能客服',color:'#22D3F6'},
{name:'我的产品',color:'#0FCA44'},
{name:'订单号查询',color:'#FBCA0A'},
{name:'主控部件查询',color:'#FF8543'},
{name:'我的产品',color:'#32af40'},
{name:'主控部件查询',color:'#FF8543'},
{name:'问题单',color:'#FF4B51'},
{name:'主控部件查询',color:'#FF8543'},
{name:'我的产品',color:'#0FCA44'},
{name:'问题单',color:'#FF4B51'},
{name:'维保期限查询',color:'#436FFF'},
{name:'订单号查询',color:'#FBCA0A'},
{name:'我的产品',color:'#0FCA44'},
{name:'订单号查询',color:'#FBCA0A'},
{name:'主控部件查询',color:'#94471d'},
{name:'我的产品',color:'#FF8543'},
{name:'主控部件查询',color:'#3d7a80'},
{name:'问题单',color:'#FF4B51'},
{name:'主控部件查询',color:'#FF8543'},
],
historyList:[
{name:'搜索历史文案占位……'},
{name:'搜索历史文案占位……'},
{name:'搜索历史文案占位……'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
{name:'维保工单'},
]
}
},
activated() {
},
deactivated() {
},
mounted() {
for (let i = 0; i < this.recommendList.length; i++) {
const bubble = this.getCreateBubble(this.recommendList[i]);
this.$refs.bubble.appendChild(bubble);
}
},
beforeUnmount() {
},
methods:{
getCreateBubble(item){
const containerWidth = this.$refs.bubble.offsetWidth;
const containerHeight = this.$refs.bubble.offsetHeight;
const bubble = document.createElement('div');
bubble.className = 'bubble';
const maxX = containerWidth - 160;
const maxY = containerHeight - 38;
const x = Math.floor(Math.random() * maxX);
const y = Math.floor(Math.random() * maxY);
bubble.style.left = `${x}px`;
bubble.style.top = `${y}px`;
bubble.style.maxWidth = '160px';
bubble.style.maxHeight = '38px';
bubble.style.background = `${item.color}`;
bubble.innerText =`${item.name}`;
return bubble
},
}
}
</script>
<style scoped lang="scss">
.pageBody{
display: flex;
flex-direction: column;
padding: 0 20px;
min-height: 800px;
.rowView{
height: 240px;
padding: 20px 0;
}
.rowList{
max-width: 1200px;
margin: 0 auto;
height: 100%;
display: flex;
.colItem{
flex: 1;
border: 1px solid #aaa;
padding: 20px;
display: flex;
position: relative;
margin-left: -1px;
.cardView{
height: 100%;
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
.name{
display: flex;
align-items: center;
justify-content: space-between;
font-size: 18px;
.icon{
margin-left: 10px;
}
}
}
.describe{
display: none;
}
}
.colItem:hover{
border-top-color: var(--el-color-primary);
border-bottom-color: var(--el-color-primary);
}
.colItem:hover .describe{
height: 100%;
width: 100%;
background: rgba(255,255,255,1);
color: var(--el-color-primary);
position: absolute;
left: 0;
top: 0;
z-index: 10;
cursor: pointer;
padding: 20px;
display: flex;
flex-direction: column;
justify-content: space-between;
.name{
display: flex;
align-items: flex-end;
justify-content: space-between;
font-size: 16px;
.icon{
margin-left: 10px;
}
}
}
}
.recommend{
.title{
max-width: 1200px;
margin: 0 auto;
height: 80px;
display: flex;
align-items: center;
font-size: 22px;
}
.mainView{
padding: 20px 0;
max-width: 1200px;
margin: 0 auto;
background: #F8F8F8;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
position: relative;
height: 300px;
::v-deep .bubble{
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #F8F8F8;
position: absolute;
border-radius: 50px;
color: #fff;
padding:6px 20px;
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
::v-deep .bubble:hover{
transform: scale(1.1);
cursor: pointer;
}
}
}
.history{
.title{
max-width: 1200px;
margin: 0 auto;
height: 80px;
display: flex;
align-items: center;
border-bottom: 1px solid #f0f0f0;
font-size: 22px;
}
.mainView{
padding: 20px 0 80px 0;
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
.viewItem{
width: 33%;
padding: 10px 0;
font-size: 16px;
}
}
}
}
</style>

View File

@ -20,7 +20,7 @@
</div>
</el-form-item>
<el-form-item label="邮箱" prop="email" label-position="top">
<el-input v-model="form.company" :size="size" class="formInput" type="text" placeholder="请输入邮箱"></el-input>
<el-input v-model="form.email" :size="size" class="formInput" type="text" placeholder="请输入邮箱"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="save" :size="size" :loading="isSave"> </el-button>
@ -140,10 +140,8 @@ export default {
window.addEventListener('storage',this.wechatStorageChange);
},
mounted() {
// const userInfo = this.$TOOL.data.get("USER_INFO");
// this.userInfo = userInfo;
// this.getUserInfo();
this.getUserInfo();
this.getInfo();
},
methods:{
async bindWechat(){
@ -214,9 +212,6 @@ export default {
}
},
// parentParams(item){
// this.form.avatar = item;
// },
//
async parentParams(files) {
let params = {

View File

@ -0,0 +1,15 @@
<template>
<div>
我的反馈
</div>
</template>
<script>
export default {
name: "feedback"
}
</script>
<style scoped>
</style>

View File

@ -1,48 +1,37 @@
<template>
<div class="mainServeBody">
<commonPage title="个人中心"></commonPage>
<el-main class="serveMain">
<el-scrollbar class="mainScroll">
<div class="pageBody">
<div class="pageLeft">
<el-main>
<el-aside width="210px">
<el-menu class="menu mainMenu" :default-active="page">
<el-menu-item-group v-for="group in menu" :key="group.groupName" :title="group.groupName">
<el-menu-item v-for="item in group.list" :key="item.component" :index="item.component" @click="openPage">
<el-icon v-if="item.icon"><component :is="item.icon"/></el-icon>
<template #title>
<span>{{item.title}}</span>
</template>
</el-menu-item>
</el-menu-item-group>
</el-menu>
</el-aside>
</el-main>
</div>
<div class="pageRight">
<component :is="page"/>
</div>
</div>
<footerPage></footerPage>
</el-scrollbar>
</el-main>
<div class="pageBody">
<div class="pageLeft">
<el-main>
<el-aside width="210px">
<el-menu class="menu mainMenu" :default-active="page">
<el-menu-item-group v-for="group in menu" :key="group.groupName" :title="group.groupName">
<el-menu-item v-for="item in group.list" :key="item.component" :index="item.component" @click="openPage">
<el-icon v-if="item.icon"><component :is="item.icon"/></el-icon>
<template #title>
<span>{{item.title}}</span>
</template>
</el-menu-item>
</el-menu-item-group>
</el-menu>
</el-aside>
</el-main>
</div>
<div class="pageRight">
<component :is="page"/>
</div>
</div>
</template>
<script>
import commonPage from "@/views/serveView/components/commonPage";
import footerPage from "@/views/serveView/components/footerPage";
import {defineAsyncComponent} from "vue";
export default {
name: "index",
name: "personalCenter",
components:{
commonPage,
footerPage,
editAccount: defineAsyncComponent(() => import('./components/editAccount')),
companyDetail: defineAsyncComponent(() => import('./components/companyDetail')),
product: defineAsyncComponent(() => import('./components/product')),
problem: defineAsyncComponent(() => import('./components/problem')),
feedback: defineAsyncComponent(() => import('./components/feedback')),
},
data(){
return{
@ -73,9 +62,14 @@ export default {
},
{
icon: "sc-icon-Questionnaire",
title: "问题单",
title: "提交问题单",
component: "problem"
},
{
icon: "sc-icon-Feedback",
title: "我的反馈",
component: "feedback"
},
]
},
],
@ -83,6 +77,9 @@ export default {
},
mounted() {
},
beforeUnmount() {
},
methods:{
openPage(item){
@ -100,28 +97,17 @@ export default {
height: 0;
}
.mainServeBody{
.pageBody{
height: 100%;
display: flex;
flex-direction: column;
background: #fff;
.serveMain{
flex: 1;
padding: 0;
border-radius: 0;
.pageBody{
.pageLeft{
height: 100%;
.el-aside{
height: 100%;
display: flex;
.pageLeft{
height: 100%;
.el-aside{
height: 100%;
}
}
.pageRight{
flex: 1;
}
}
}
.pageRight{
flex: 1;
}
}
</style>

View File

@ -113,7 +113,7 @@ export default {
//
handleUser(command) {
if (command == "uc") {
this.$router.push({ path: '/personalCenter' });
eventBus.$emit('headerRouterBack',{name:'personalCenter'});
}
if (command == "clearCache") {
this.$confirm('清除缓存会将系统初始化,包括登录状态、主题、语言设置等,是否继续?', '警告', {
@ -135,16 +135,14 @@ export default {
}
},
serverQuery(command){
eventBus.$emit('headerRouterBack',{name:'serveView'});
if (command == "termQuery") {
this.$router.push({ path: '/serve'});
eventBus.$emit('queryBack',{name:'term'});
}
if (command == "componentQuery") {
this.$router.push({ path: '/serve'});
eventBus.$emit('queryBack',{name:'widget'});
}
if (command == "orderQuery") {
this.$router.push({ path: '/serve'});
eventBus.$emit('queryBack',{name:'order'});
}
},
@ -165,9 +163,7 @@ export default {
})
},
getBack(){
this.$router.push({
path:'/login'
})
eventBus.$emit('headerRouterBack',{name:'mainView'});
}
}
}

View File

@ -11,12 +11,12 @@
</div>
</div>
<div class="mainTable">
<el-table height="100%" ref="table" :data="list.data" :column="list.column" stripe :size="size">
<scTable height="100%" ref="table" :data="list.data" :column="list.column" stripe :size="size">
<el-table-column type="index" label="序号"></el-table-column>
<template v-for="(item,index) in list.column" :key="index">
<el-table-column :label="item.label" :prop="item.prop" :width="item.width" show-overflow-tooltip></el-table-column>
</template>
</el-table>
</scTable>
</div>
</el-main>
</el-container>
@ -24,7 +24,7 @@
<script>
export default {
name: "order",
name: "",
data(){
return{
size:'small',

View File

@ -11,12 +11,12 @@
</div>
</div>
<div class="mainTable">
<el-table height="100%" ref="table" :data="list.data" :column="list.column" stripe :size="size">
<scTable height="100%" class="serveTable" ref="serveTable" :data="list.data" :column="list.column" stripe :size="size">
<el-table-column type="index" label="序号"></el-table-column>
<template v-for="(item,index) in list.column" :key="index">
<el-table-column :label="item.label" :prop="item.prop" :width="item.width" show-overflow-tooltip></el-table-column>
</template>
</el-table>
</scTable>
</div>
</el-main>
</el-container>
@ -24,7 +24,7 @@
<script>
export default {
name: "term",
name: "",
data(){
return{
size:'small',
@ -50,24 +50,6 @@ export default {
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
{created_at:'2024-11-23 10:34:56',number:"XW1.5-1U-PWR-XW-01",name:"F62.32.C"},
],
column:[
{label:'创建时间',prop:'created_at',width:160,show: true},
@ -89,5 +71,7 @@ export default {
</script>
<style scoped lang="scss">
//.serveTable{
// height: 100%;
//}
</style>

View File

@ -11,12 +11,12 @@
</div>
</div>
<div class="mainTable">
<el-table height="100%" ref="table" :data="list.data" :column="list.column" stripe :size="size">
<scTable height="100%" ref="table" :data="list.data" :column="list.column" stripe :size="size">
<el-table-column type="index" label="序号"></el-table-column>
<template v-for="(item,index) in list.column" :key="index">
<el-table-column :label="item.label" :prop="item.prop" :width="item.width" show-overflow-tooltip></el-table-column>
</template>
</el-table>
</scTable>
</div>
</el-main>
</el-container>
@ -24,7 +24,7 @@
<script>
export default {
name: "widget",
name: "",
data(){
return{
size:'small',

View File

@ -1,33 +1,24 @@
<template>
<div class="mainServeBody">
<commonPage title="个人中心"></commonPage>
<el-main class="serveMain">
<el-scrollbar class="mainScroll">
<div class="pageBody">
<div class="pageLeft">
<el-main>
<el-aside width="210px">
<el-menu class="menu mainMenu" :default-active="page">
<el-menu-item-group v-for="group in menu" :key="group.groupName" :title="group.groupName">
<el-menu-item v-for="item in group.list" :key="item.component" :index="item.component" @click="openPage">
<el-icon v-if="item.icon"><component :is="item.icon"/></el-icon>
<template #title>
<span>{{item.title}}</span>
</template>
</el-menu-item>
</el-menu-item-group>
</el-menu>
</el-aside>
</el-main>
</div>
<div class="pageRight">
<component :is="page"/>
</div>
</div>
<footerPage></footerPage>
</el-scrollbar>
</el-main>
<div class="pageBody">
<div class="pageLeft">
<el-main>
<el-aside width="210px">
<el-menu class="menu mainMenu" :default-active="page">
<el-menu-item-group v-for="group in menu" :key="group.groupName" :title="group.groupName">
<el-menu-item v-for="item in group.list" :key="item.component" :index="item.component" @click="openPage">
<el-icon v-if="item.icon"><component :is="item.icon"/></el-icon>
<template #title>
<span>{{item.title}}</span>
</template>
</el-menu-item>
</el-menu-item-group>
</el-menu>
</el-aside>
</el-main>
</div>
<div class="pageRight">
<component :is="page" />
</div>
</div>
</template>
@ -38,7 +29,7 @@ import footerPage from "@/views/serveView/components/footerPage";
import { defineAsyncComponent } from 'vue'
import {eventBus} from "@/utils/eventBus";
export default {
name: "index",
name: "serveView",
components:{
commonPage,
footerPage,
@ -87,7 +78,9 @@ export default {
},
methods:{
getQueryBack(res){
this.page = res.name;
this.$nextTick(()=>{
this.page = res.name;
})
},
openPage(item){
this.page = item.index
@ -103,28 +96,18 @@ export default {
.pageRight ::v-deep .mainTable .el-table .el-table__inner-wrapper:before{
height: 0;
}
.mainServeBody{
.pageBody{
height: 100%;
display: flex;
flex-direction: column;
background: #fff;
.serveMain{
flex: 1;
padding: 0;
border-radius: 0;
.pageBody{
.pageLeft{
height: 100%;
.el-aside{
height: 100%;
display: flex;
.pageLeft{
height: 100%;
.el-aside{
height: 100%;
}
}
.pageRight{
flex: 1;
}
}
}
.pageRight{
flex: 1;
}
}
</style>

View File

@ -419,8 +419,10 @@ export default {
this.$nextTick(() => {
const wrap = this.$refs.scrollbar;
if(wrap){
const e = wrap.$el.querySelector('.el-scrollbar__wrap')
e.scrollTop = e.scrollHeight;
const e = wrap.$el.querySelector('.el-scrollbar__wrap');
if(e && e.scrollTop){
e.scrollTop = e.scrollHeight;
}
}
})
},

View File

@ -58,6 +58,11 @@
<scTable ref="table" :apiObj="list.apiObj" :column="list.column" @selection-change="selectionChange" stripe :size="size">
<el-table-column type="selection" align="center" width="45"></el-table-column>
<sc-table-column label="序号" align="center" type="index"></sc-table-column>
<template #company_sort_name="scope">
<span v-if="scope.row.company_info">
{{scope.row.company_info.name}}
</span>
</template>
<template #avatar="scope">
<div class="userImg">
<el-avatar :src="scope.row.avatar" size="small">