修改客户端问题
This commit is contained in:
parent
aaaa9028f0
commit
03a7c3ceaf
13
src/assets/icons/Feedback.vue
Normal file
13
src/assets/icons/Feedback.vue
Normal 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>
|
||||
@ -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'
|
||||
|
||||
@ -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,8 +378,10 @@ export default {
|
||||
const wrap = this.$refs.scrollbar;
|
||||
if(wrap){
|
||||
const e = wrap.$el.querySelector('.el-scrollbar__wrap')
|
||||
if(e && e.scrollTop){
|
||||
e.scrollTop = e.scrollHeight;
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
@ -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,7 +15,7 @@ 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
|
||||
}
|
||||
})
|
||||
|
||||
@ -27,7 +27,7 @@ export default {
|
||||
],
|
||||
shareRouter:[
|
||||
{name:'我的文档',id:''}
|
||||
]
|
||||
],
|
||||
},
|
||||
mutations: {
|
||||
SET_ismobile(state, key){
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
269
src/views/maintenance/mainView.vue
Normal file
269
src/views/maintenance/mainView.vue
Normal 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>
|
||||
@ -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 = {
|
||||
|
||||
15
src/views/personalCenter/components/feedback.vue
Normal file
15
src/views/personalCenter/components/feedback.vue
Normal file
@ -0,0 +1,15 @@
|
||||
<template>
|
||||
<div>
|
||||
我的反馈
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "feedback"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@ -1,8 +1,4 @@
|
||||
<template>
|
||||
<div class="mainServeBody">
|
||||
<commonPage title="个人中心"></commonPage>
|
||||
<el-main class="serveMain">
|
||||
<el-scrollbar class="mainScroll">
|
||||
<div class="pageBody">
|
||||
<div class="pageLeft">
|
||||
<el-main>
|
||||
@ -24,25 +20,18 @@
|
||||
<component :is="page"/>
|
||||
</div>
|
||||
</div>
|
||||
<footerPage></footerPage>
|
||||
</el-scrollbar>
|
||||
</el-main>
|
||||
</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,15 +97,6 @@ export default {
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.mainServeBody{
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #fff;
|
||||
.serveMain{
|
||||
flex: 1;
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
.pageBody{
|
||||
height: 100%;
|
||||
display: flex;
|
||||
@ -122,6 +110,4 @@ export default {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -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'});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
<template>
|
||||
<div class="mainServeBody">
|
||||
<commonPage title="个人中心"></commonPage>
|
||||
|
||||
<el-main class="serveMain">
|
||||
<el-scrollbar class="mainScroll">
|
||||
<div class="pageBody">
|
||||
<div class="pageLeft">
|
||||
<el-main>
|
||||
@ -25,10 +20,6 @@
|
||||
<component :is="page" />
|
||||
</div>
|
||||
</div>
|
||||
<footerPage></footerPage>
|
||||
</el-scrollbar>
|
||||
</el-main>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -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.$nextTick(()=>{
|
||||
this.page = res.name;
|
||||
})
|
||||
},
|
||||
openPage(item){
|
||||
this.page = item.index
|
||||
@ -103,15 +96,7 @@ export default {
|
||||
.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{
|
||||
height: 100%;
|
||||
display: flex;
|
||||
@ -125,6 +110,4 @@ export default {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -419,9 +419,11 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
const wrap = this.$refs.scrollbar;
|
||||
if(wrap){
|
||||
const e = wrap.$el.querySelector('.el-scrollbar__wrap')
|
||||
const e = wrap.$el.querySelector('.el-scrollbar__wrap');
|
||||
if(e && e.scrollTop){
|
||||
e.scrollTop = e.scrollHeight;
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
@ -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">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user