Browse Source

修改侧边栏

pull/46/head
zq 3 weeks ago
parent
commit
9e609bd1e5
  1. 50
      src/App.vue
  2. 1
      src/assets/loding_.json
  3. 1
      src/assets/menu/Totalprofit.svg
  4. 1
      src/assets/menu/Totalprofit1.svg
  5. 1
      src/assets/menu/Totalprofit2.svg
  6. 1
      src/assets/menu/Totalprofit3.svg
  7. 175
      src/components/SvgIcon1.vue
  8. 171
      src/store/index.js
  9. 19
      src/style/theme/common.scss
  10. 1
      src/style/theme/index.css
  11. 88
      src/views/Register.vue
  12. 93
      src/views/elementGroups.vue
  13. 275
      src/views/super/Ranking/RankBatchList.vue
  14. 15
      src/views/super/Ranking/Ranking.vue

50
src/App.vue

@ -1,11 +1,5 @@
<template> <template>
<div id="app"> <div id="app">
<!-- <nav>
<router-link to="/">Home</router-link> |
<router-link to="/about">About</router-link> |
<router-link to="/ui">组件示例文件</router-link>
</nav> -->
<!-- <router-view/> -->
<el-container> <el-container>
<el-header style="height: 62px;" v-if="showHeader"> <el-header style="height: 62px;" v-if="showHeader">
<Header></Header> <Header></Header>
@ -14,7 +8,7 @@
<div class="bg"></div> <div class="bg"></div>
</el-header> </el-header>
<el-container :class="(showHeader ? 'short-container' : '')"> <el-container :class="(showHeader ? 'short-container' : '')">
<SliderMenu v-if="showSidebar"></SliderMenu> <SliderMenu v-if="showSidebar" :menuData="menuData"></SliderMenu>
<el-container> <el-container>
<!-- 面包屑导航 --> <!-- 面包屑导航 -->
<Breadcrumb /> <Breadcrumb />
@ -45,26 +39,26 @@ export default {
data() { data() {
return { return {
isCollapse: true, isCollapse: true,
menuData: [ // menuData: [
{ // {
index: '1', // index: '1',
title: '父级菜单1', // title: '1',
icon: 'el-icon-location', // icon: 'el-icon-location',
children: [ // children: [
{ index: '1-1', title: '子级菜单1-1', path: '/' }, // { index: '1-1', title: '1-1', path: '/' },
{ index: '1-2', title: 'ui页面', path: '/ui' } // { index: '1-2', title: 'ui', path: '/ui' }
] // ]
}, // },
{ // {
index: '2', // index: '2',
title: '父级菜单2', // title: '2',
icon: 'el-icon-menu', // icon: 'el-icon-menu',
children: [ // children: [
{ index: '2-1', title: '子级菜单2-1', path: '/about' }, // { index: '2-1', title: '2-1', path: '/about' },
{ index: '2-2', title: '加盟耶main', path: '/franchise' } // { index: '2-2', title: 'main', path: '/franchise' }
] // ]
} // }
] // ]
}; };
}, },
components: { components: {
@ -76,7 +70,7 @@ export default {
Breadcrumb Breadcrumb
}, },
computed: { computed: {
...mapState(['showSidebar', 'showFooter', 'showHeader']) // VuexshowSidebar ...mapState(['menuData','showSidebar', 'showFooter', 'showHeader']) // VuexshowSidebar
}, },
mounted() { mounted() {
window.addEventListener('beforeunload', this.clearStorage); window.addEventListener('beforeunload', this.clearStorage);

1
src/assets/loding_.json

@ -0,0 +1 @@
{"v":"5.12.2","fr":60,"ip":0,"op":55,"w":88,"h":88,"nm":"Frame 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"▽ Group 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[360]},{"t":55,"s":[720]}],"ix":10},"p":{"a":0,"k":[44.5,43.5,0],"ix":2,"l":2},"a":{"a":0,"k":[33.5,33.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":55,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Ellipse 2","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[50.25,16.75,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-18.502]],"o":[[18.502,0],[0,0]],"v":[[-16.75,-16.75],[16.75,16.75]],"c":false},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.357,0.435,0.965],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":55,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Ellipse 1","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[33.5,33.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[67,67],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.898,0.91,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":55,"st":0,"ct":1,"bm":0}],"markers":[],"props":{}}

1
src/assets/menu/Totalprofit.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

1
src/assets/menu/Totalprofit1.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.1 KiB

1
src/assets/menu/Totalprofit2.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_401_001999"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_401_001999)"><g><ellipse cx="8" cy="4.333333373069763" rx="3" ry="3" fill-opacity="0" stroke-opacity="1" stroke="#626573" fill="none" stroke-width="1.5" stroke-linejoin="round"/></g><g><path d="M12.349266626930238,11.106606984558105Q13.583366626930237,12.905226984558105,13.583366626930237,14.666666984558105L15.083366626930237,14.666666984558105Q15.083366626930237,12.440116984558106,13.586166626930236,10.257976984558105Q12.945366626930237,9.324010984558106,12.207566626930237,8.710940584558106Q11.377756626930237,8.021309984558105,10.631176626930237,7.923075984558105Q10.540716626930237,7.911173984558106,10.450056626930238,7.921304984558105Q10.359386626930236,7.931435984558106,10.273786626930237,7.963008984558106Q10.188186626930237,7.994580984558105,10.112656626930237,8.045753984558106Q10.037126626930236,8.096926984558106,9.976066626930237,8.164714984558106L8.012336626930237,10.344846984558105Q7.1830266269302365,9.399840984558105,6.013606626930237,8.153486984558105Q5.940656626930237,8.075738984558106,5.848936626930237,8.021399984558105Q5.757216626930237,7.967059984558105,5.653976626930237,7.940433984558106Q5.550746626930237,7.9138079845581055,5.444186626930237,7.9170039845581055Q5.337616626930236,7.9201999845581055,5.2361666269302365,7.952965984558105Q3.5965666269302368,8.482500984558106,2.293123626930237,10.401516984558105Q0.9166666269302368,12.428016984558106,0.9166666269302368,14.666666984558105L2.416666626930237,14.666666984558105Q2.416666626930237,12.889266984558105,3.5339566269302365,11.244316984558106Q4.358736626930237,10.030036984558105,5.273056626930237,9.557899984558105Q6.597626626930237,10.980916984558105,7.426976626930236,11.963056984558106Q7.4600066269302365,12.002166984558105,7.498046626930237,12.036436984558105Q7.608896626930237,12.136276984558105,7.7495166269302365,12.186096984558105Q7.890126626930237,12.235926984558105,8.039116626930237,12.228146984558105Q8.188096626930236,12.220366984558105,8.322756626930236,12.156166984558105Q8.457416626930236,12.091966984558105,8.557266626930236,11.981116984558106L10.766836626930237,9.528061984558105Q10.981896626930236,9.642688984558106,11.248906626930237,9.864576984558106Q11.826366626930238,10.344466984558105,12.349266626930238,11.106606984558105Z" fill-rule="evenodd" fill="#626573" fill-opacity="1"/></g><g><path d="M0.75,13.916666984558105L15.15,13.916666984558105Q15.2239,13.916666984558105,15.2963,13.931077984558105Q15.3688,13.945488984558105,15.437,13.973756984558106Q15.5053,14.002025984558106,15.5667,14.043064984558105Q15.6281,14.084103984558105,15.6803,14.136336984558106Q15.7326,14.188569984558105,15.7736,14.249988984558106Q15.8146,14.311408984558106,15.8429,14.379653984558106Q15.8712,14.447899984558106,15.8856,14.520348984558105Q15.9,14.592798484558106,15.9,14.666666984558105Q15.9,14.740535484558105,15.8856,14.812984984558106Q15.8712,14.885433984558105,15.8429,14.953679984558105Q15.8146,15.021924984558105,15.7736,15.083344984558105Q15.7326,15.144763984558105,15.6803,15.196996984558105Q15.6281,15.249229984558106,15.5667,15.290268984558105Q15.5053,15.331307984558105,15.437,15.359576984558105Q15.3688,15.387844984558106,15.2963,15.402255984558106Q15.2239,15.416666984558105,15.15,15.416666984558105L0.75,15.416666984558105Q0.6761315,15.416666984558105,0.603682,15.402255984558106Q0.5312330000000001,15.387844984558106,0.462987,15.359576984558105Q0.394742,15.331307984558105,0.333322,15.290268984558105Q0.271903,15.249229984558106,0.21967000000000003,15.196996984558105Q0.16743699999999995,15.144763984558105,0.126398,15.083344984558105Q0.08535899999999996,15.021924984558105,0.057089999999999974,14.953679984558105Q0.028822000000000014,14.885433984558105,0.014410999999999952,14.812984984558106Q0,14.740535484558105,0,14.666666984558105Q0,14.592798484558106,0.014410999999999952,14.520348984558105Q0.028822000000000014,14.447899984558106,0.057089999999999974,14.379653984558106Q0.08535899999999996,14.311408984558106,0.126398,14.249988984558106Q0.16743699999999995,14.188569984558105,0.21967000000000003,14.136336984558106Q0.271903,14.084103984558105,0.333322,14.043064984558105Q0.394742,14.002025984558106,0.462987,13.973756984558106Q0.5312330000000001,13.945488984558105,0.603682,13.931077984558105Q0.6761315,13.916666984558105,0.75,13.916666984558105Z" fill-rule="evenodd" fill="#626573" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

1
src/assets/menu/Totalprofit3.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="15.5" height="13.399993896484375" viewBox="0 0 15.5 13.399993896484375"><g><g><path d="M3.60362,13.0303Q3.65329,13.1147,3.72298,13.1836Q3.79268,13.2524,3.87771,13.301Q3.96275,13.3497,4.05743,13.3748Q4.15211,13.4,4.25007,13.4L11.2501,13.4Q11.3481,13.4,11.4427,13.3748Q11.5374,13.3497,11.6225,13.301Q11.7075,13.2524,11.7772,13.1835Q11.8469,13.1147,11.8966,13.0303L15.3965,7.08026Q15.4473,6.99381,15.4737,6.89705Q15.5,6.80029,15.5,6.7Q15.5,6.59971,15.4737,6.50295Q15.4473,6.40619,15.3965,6.31974L11.8966,0.369743Q11.8469,0.285303,11.7772,0.216453Q11.7075,0.14760399999999996,11.6225,0.09896499999999997Q11.5374,0.05032700000000001,11.4427,0.025163999999999964Q11.3481,0,11.2501,0L4.25007,0Q4.15211,0,4.05743,0.025162000000000018Q3.96275,0.05032499999999995,3.87771,0.09896099999999997Q3.79268,0.147598,3.72298,0.216445Q3.65329,0.285291,3.60362,0.369729L0.103553,6.31973Q0.05270200000000003,6.40617,0.026351000000000013,6.50294Q0,6.59971,0,6.7Q0,6.80029,0.026351000000000013,6.89706Q0.05270200000000003,6.99383,0.103553,7.08027L3.60362,13.0303ZM4.6790199999999995,11.9L1.6201400000000001,6.7L4.6790199999999995,1.5L10.8211,1.5L13.8799,6.7L10.8211,11.9L4.6790199999999995,11.9Z" fill-rule="evenodd" fill="#626573" fill-opacity="1"/></g><g><path d="M6.032236190734864,4.932235809265137Q5.300000190734863,5.6644718092651365,5.300000190734863,6.699999809265137Q5.300000190734863,7.735529809265136,6.032236090734863,8.467759809265136Q6.764472190734863,9.199999809265137,7.800000190734863,9.199999809265137Q8.835530190734863,9.199999809265137,9.567760190734862,8.467759809265136Q10.300000190734863,7.735529809265136,10.300000190734863,6.699999809265137Q10.300000190734863,5.6644718092651365,9.567760190734862,4.932235709265137Q8.835530190734863,4.199999809265137,7.800000190734863,4.199999809265137Q6.764472190734863,4.199999809265137,6.032236190734864,4.932235809265137ZM7.092900190734863,7.407099809265137Q6.800000190734863,7.114209809265137,6.800000190734863,6.699999809265137Q6.800000190734863,6.285789809265137,7.092900190734863,5.992899809265136Q7.3857901907348635,5.699999809265137,7.800000190734863,5.699999809265137Q8.214210190734864,5.699999809265137,8.507100190734864,5.992899809265136Q8.800000190734863,6.285789809265137,8.800000190734863,6.699999809265137Q8.800000190734863,7.114209809265137,8.507100190734864,7.407099809265137Q8.214210190734864,7.699999809265137,7.800000190734863,7.699999809265137Q7.3857901907348635,7.699999809265137,7.092900190734863,7.407099809265137Z" fill-rule="evenodd" fill="#626573" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

175
src/components/SvgIcon1.vue

@ -0,0 +1,175 @@
<template>
<div class="svg-icon-wrapper" :style="wrapperStyle" @mouseenter="handleMouseEnter" @mouseleave="handleMouseLeave">
<div class="svg-icon" v-html="svgContent" :style="{
'--icon-color': (hoverEffect || isActive) ? activeColor : defaultColor,
'--icon-hover-color': activeColor
}"></div>
<!-- :style="iconStyle" -->
</div>
</template>
<script>
export default {
name: 'SvgIcon',
props: {
//
iconPath: {
type: String,
required: true
},
//
defaultColor: {
type: String,
default: '#606266'
},
//
activeColor: {
type: String,
default: null
},
//
hoverEffect: {
type: Boolean,
default: false
},
//
size: {
type: [String, Number],
default: '14px'
},
//
isActive: {
type: Boolean,
default: false
}
},
data() {
return {
svgContent: '',
isHovering: false,
currentColor: this.defaultColor
}
},
computed: {
wrapperStyle() {
return {
width: typeof this.size === 'number' ? `${this.size}px` : this.size,
height: typeof this.size === 'number' ? `${this.size}px` : this.size,
display: 'inline-flex',
alignItems: 'center',
justifyContent: 'center'
}
},
iconStyle() {
return {
width: '100%',
height: '100%',
color: this.currentColor,
transition: 'color 0.3s ease'
}
},
shouldChangeColor() {
return this.activeColor && (this.hoverEffect || this.isActive)
}
},
watch: {
isActive(newVal) {
console.log(newVal, 'newVal---');
if (this.shouldChangeColor) {
this.currentColor = newVal ? this.activeColor : this.defaultColor
console.log(this.currentColor, 'this.currentColor--');
}
},
defaultColor(newVal) {
if (!this.isHovering && !this.isActive) {
this.currentColor = newVal
}
},
activeColor() {
this.updateColorState()
}
},
methods: {
async loadSvg() {
try {
const response = await fetch(this.iconPath)
this.svgContent = await response.text()
this.processSvg()
} catch (error) {
console.error('Failed to load SVG:', error)
}
},
processSvg() {
// SVG便CSS
this.$nextTick(() => {
const svgElement = this.$el.querySelector('svg')
if (svgElement) {
//
svgElement.removeAttribute('fill')
svgElement.removeAttribute('style')
const paths = svgElement.querySelectorAll('path, circle, rect, polygon')
paths.forEach(el => {
el.removeAttribute('fill')
})
svgElement.style.fill = 'currentColor'
svgElement.style.width = '100%'
svgElement.style.height = '100%'
}
})
},
handleMouseEnter() {
this.isHovering = true
this.updateColorState()
},
handleMouseLeave() {
this.isHovering = false
this.updateColorState()
},
updateColorState() {
if (this.activeColor) {
if (this.isActive) {
this.currentColor = this.activeColor
} else {
this.currentColor = this.isHovering && this.hoverEffect ?
this.activeColor :
this.defaultColor
}
} else {
this.currentColor = this.defaultColor
}
}
},
created() {
this.loadSvg()
}
}
</script>
<style scoped>
.svg-icon-wrapper {
cursor: pointer;
}
.svg-icon {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
color: var(--icon-color);
transition: color 0.3s;
}
.svg-icon:hover {
color: var(--icon-hover-color);
}
.svg-icon {
display: inline-flex;
}
.svg-icon>>>svg {
fill: currentColor;
}
</style>

171
src/store/index.js

@ -13,35 +13,176 @@ export default new Vuex.Store({
pageTitle: '一般新文献', //页面标题 pageTitle: '一般新文献', //页面标题
addServiceList: [], //选中的服务 addServiceList: [], //选中的服务
isLoading: false, //页面loading isLoading: false, //页面loading
rankMenuData: [{
index: '1',
title: '总利润',
icon: 'Totalprofit',
children: [{
index: '1-1',
title: '年排行',
path: '/super/ranking/yearProfit'
},
{
index: '1-2',
title: '月排行',
path: '/super/ranking/monthProfit'
}
]
},
{
index: '2',
title: '产品',
icon: 'Totalprofit1',
children: [{
index: '2-1',
title: '毛利润排行',
path: '/super/ranking/checkProfit'
},
{
index: '2-2',
title: '订单数排行',
path: '/super/ranking/checkOrdernum'
},
{
index: '2-3',
title: '退单数排行',
path: '/super/ranking/checkRefund'
},
{
index: '2-4',
title: '负毛利排行',
path: '/super/ranking/loss'
}
]
},
{
index: '3',
title: '代理商',
icon: 'Totalprofit2',
children: [{
index: '3-1',
title: '毛利润排行',
path: '/super/ranking/agentProfit'
},
{
index: '3-2',
title: '充值排行',
path: '/super/ranking/agentRecharge'
},
{
index: '3-3',
title: '新加盟',
path: '/super/ranking/agentNew'
}
]
},
{
index: '4',
title: '设置',
icon: 'Totalprofit3',
children: [{
index: '4-1',
title: '采购价',
path: '/super/ranking/purchase'
},
{
index: '4-2',
title: '阶段采购',
path: '/super/ranking/stagePurchase'
}
]
},
],
menuData: [
{
index: '1',
title: '首页',
path:'/',
icon: 'Totalprofit',
},
// {
// name: '用户管理',
// icon: 'el-icon-user',
// children: [
// { name: '用户列表', path: '/user/list' },
// { name: '角色管理', path: '/user/role' }
// ]
// },
{
index: '2',
title: '父级菜单1',
icon: 'Totalprofit',
children: [{
index: '2-1',
title: '子级菜单2-1',
path: '/'
},
{
index: '2-2',
title: 'ui页面',
path: '/ui'
}
]
},
{
index: '3',
title: '父级菜单2',
icon: 'Totalprofit',
children: [{
index: '3-1',
title: '子级菜单3-1',
path: '/about'
},
{
index: '3-2',
title: '加盟耶main',
path: '/franchise'
}
]
}
]
}, },
actions: { actions: {
SET_HEADER({ commit }) { SET_HEADER({
commit
}) {
commit('SET_HEADER'); commit('SET_HEADER');
}, },
SET_SIDEBAR({ commit }) { SET_SIDEBAR({
commit
}) {
commit('SET_SIDEBAR'); commit('SET_SIDEBAR');
}, },
SET_FOOTER({ commit }) { SET_FOOTER({
commit
}) {
commit('SET_FOOTER'); commit('SET_FOOTER');
}, },
SHOW_BREAD({ commit }) { SHOW_BREAD({
commit
}) {
commit('SHOW_BREAD'); commit('SHOW_BREAD');
}, },
SET_PAGETITLE({ commit }) { SET_PAGETITLE({
commit
}) {
commit('SET_PAGETITLE'); commit('SET_PAGETITLE');
}, },
SET_ADDSERVICELIST({ commit }) { SET_ADDSERVICELIST({
commit
}) {
commit('SET_ADDSERVICELIST'); commit('SET_ADDSERVICELIST');
}, },
showLoading({ commit }) { showLoading({
console.log('zhixingle111'); commit
}) {
commit('SHOW_LOADING') commit('SHOW_LOADING')
}, },
hideLoading({ commit }) { hideLoading({
console.log('zhixingle222'); commit
}) {
commit('HIDE_LOADING') commit('HIDE_LOADING')
} },
}, },
mutations: { mutations: {
SHOW_LOADING(state) { SHOW_LOADING(state) {
@ -70,9 +211,7 @@ export default new Vuex.Store({
state.addServiceList = list; state.addServiceList = list;
} }
}, },
getters: { getters: {},
},
modules: { modules: {}
}
}) })

19
src/style/theme/common.scss

@ -13,6 +13,15 @@ body {
padding: 0; padding: 0;
} }
} }
.element {
overflow: hidden; /* 通用方法 */
scrollbar-width: none; /* Firefox */
}
/* 对于WebKit浏览器 */
.element::-webkit-scrollbar {
display: none; /* Chrome, Safari, Edge */
}
.common_title{ .common_title{
font-weight: bold; font-weight: bold;
letter-spacing: 0.08em; letter-spacing: 0.08em;
@ -799,7 +808,7 @@ body {
// table start // table start
.el-table{ .el-table{
min-height: 258px; min-height: 218px;
th,td{ th,td{
font-size: 14px; font-size: 14px;
font-weight: normal; font-weight: normal;
@ -953,6 +962,14 @@ body {
} }
::v-deep .custom-popover { ::v-deep .custom-popover {
position: fixed !important; position: fixed !important;
// max-height: 290px;
// overflow-y: auto;
margin-top: 0 !important;
margin-left: 0 !important;
transform: none !important;
}
::v-deep .custom-popover1 {
position: fixed !important;
max-height: 290px; max-height: 290px;
overflow-y: auto; overflow-y: auto;
margin-top: 0 !important; margin-top: 0 !important;

1
src/style/theme/index.css

@ -15593,6 +15593,7 @@ border-color:#006AFF !important;
font-size: 14px; font-size: 14px;
color: #606266; color: #606266;
line-height: 40px; line-height: 40px;
white-space: nowrap;
padding: 0 12px 0 0; padding: 0 12px 0 0;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
box-sizing: border-box box-sizing: border-box

88
src/views/Register.vue

@ -327,7 +327,10 @@
</div> </div>
<div class="step3-wrap min-flex" v-if="activeStep == 3"> <div class="step3-wrap min-flex" v-if="activeStep == 3">
<div class="step3-top flex-common"> <div class="step3-top flex-common">
<h3>服务列表</h3> <h3>
<svg-icon :size="16" :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'"
:hoverColor="'#006AFF'" />
服务列表</h3>
<div class="btngroup"> <div class="btngroup">
<GuipButton type="ignore" :btnstyle="{ width: '97px', height: '33px' }" @click="showDomainModal">添加查重服务 <GuipButton type="ignore" :btnstyle="{ width: '97px', height: '33px' }" @click="showDomainModal">添加查重服务
</GuipButton> </GuipButton>
@ -338,27 +341,28 @@
<div> <div>
<div class="flex-common table-wrap"> <div class="flex-common table-wrap">
<el-form> <el-form>
<GuipTable :tableData="tableData1" :loading="tableLoading"> <GuipTable :border="true" :tableData="tableData1" :loading="tableLoading">
<el-table-column prop="name" label="检测服务" width="210"> <el-table-column prop="name" fixed="left" label="检测服务" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="flex"> <div class="flex nowrap ">
<span :class="(scope.row.type == 'a' ? 'green' : 'blue')">{{ scope.row.type == 'a' ? '查重服务' : '写作辅助' <div :class="(scope.row.type == 'a' ? 'green' : 'blue')">{{ scope.row.type == 'a' ? '查重服务' : '写作辅助'
}}</span> }}</div>
<span class="">{{ scope.row.name }}</span> <div class="">{{ scope.row.name }}</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="stock" label="今日供货价" width="198"> <el-table-column prop="stock" label="今日供货价" min-width="138">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="flex cell_render"> <div class="flex cell_render">
<span>¥{{ scope.row.stock }}/</span> <span>¥{{ scope.row.stock }}/</span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="price" label="售价" width="200"> <el-table-column prop="price" label="售价" width="300">
<template #default="{ row,$index }"> <template #default="{ row,$index }">
<el-popover :ref="`pricePopover-${row.id}`" popper-class="single-popover" placement="top" :append-to-body="true" trigger="manual" <el-popover v-model="row.pricePopoverVisible" :ref="`pricePopover-${row.id}`"
v-model="row.pricePopoverVisible" @show="closeOtherPopovers(row, 'price')"> placement="bottom" trigger="manual" :append-to-body="false" :visible-arrow="true"
popper-class="custom-popover" @show="popshow" >
<div style="text-align: center"> <div style="text-align: center">
<GuipInput ref="GuipInput" v-if="!row.word" width="252px" v-model="row.edit_price" label="售价" <GuipInput ref="GuipInput" v-if="!row.word" width="252px" v-model="row.edit_price" label="售价"
placeholder="请输入售价" unit="元"> placeholder="请输入售价" unit="元">
@ -380,6 +384,8 @@
<div class="flex cell_render" @click="handlePriceClick(row,$index,'price')"> <div class="flex cell_render" @click="handlePriceClick(row,$index,'price')">
<span v-if="row.word" :key="random()">¥{{ row.price }}/{{ row.word }}</span> <span v-if="row.word" :key="random()">¥{{ row.price }}/{{ row.word }}</span>
<span v-else :key="random()">¥{{ row.price }}/</span> <span v-else :key="random()">¥{{ row.price }}/</span>
<span>测试用一下</span>
<span>随便写的</span>
<svg-icon :size="16" :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'" <svg-icon :size="16" :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'"
:hoverColor="'#006AFF'" /> :hoverColor="'#006AFF'" />
</div> </div>
@ -388,7 +394,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="num" label="排序" width="126"> <el-table-column prop="num" label="排序" min-width="95">
<template #default="{ row,$index }"> <template #default="{ row,$index }">
<!-- <el-tooltip :manual="true" v-model="row.numPopoverVisible" placement="top" effect="light"> <!-- <el-tooltip :manual="true" v-model="row.numPopoverVisible" placement="top" effect="light">
<template #content> <template #content>
@ -410,8 +416,11 @@
:hoverColor="'#006AFF'" /> :hoverColor="'#006AFF'" />
</div> </div>
</el-tooltip> --> </el-tooltip> -->
<el-popover v-model="row.numPopoverVisible" placement="top" trigger="manual" append-to-body :ref="`popover-${row.id}`"> <el-popover v-model="row.numPopoverVisible" :ref="`popover-${row.id}`"
<div style="text-align: center"> placement="bottom" trigger="manual" :append-to-body="false" :visible-arrow="true"
popper-class="custom-popover" @show="popshow" >
<!-- <el-popover v-model="row.numPopoverVisible" placement="top" class="single-popover" trigger="manual" :append-to-body="false" :ref="`popover-${row.id}`"> -->
<div style="text-align: center" :visible-arrow="true">
<GuipInput ref="GuipInput" width="252px" v-model="row.edit_num" label="排序" placeholder="请输入数字"> <GuipInput ref="GuipInput" width="252px" v-model="row.edit_num" label="排序" placeholder="请输入数字">
</GuipInput> </GuipInput>
<p <p
@ -424,7 +433,9 @@
</div> </div>
<span slot="reference" @click="handlePriceClick(row,$index,'num')"> <span slot="reference" @click="handlePriceClick(row,$index,'num')">
<div class="flex cell_render"> <div class="flex cell_render">
<span>{{ row.num }}</span> <GuipToolTip :content="row.num">
<span class="nowrap">{{ row.num }}</span>
</GuipToolTip>
<svg-icon :size="16" :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'" <svg-icon :size="16" :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'"
:hoverColor="'#006AFF'" /> :hoverColor="'#006AFF'" />
</div> </div>
@ -432,7 +443,7 @@
</el-popover> </el-popover>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="stock" label="收款方式" width="198"> <el-table-column prop="stock" label="收款方式" min-width="258">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="flex cell_render"> <div class="flex cell_render">
<span :class="(scope.row.payment == '0' ? 'normal_payment' : 'self_payment')">{{ scope.row.payment <span :class="(scope.row.payment == '0' ? 'normal_payment' : 'self_payment')">{{ scope.row.payment
@ -443,14 +454,13 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="stock" label="上首页" width="110"> <el-table-column prop="stock" fixed="right" label="上首页" min-width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<GuipSwitch :modelValue="scope.row.homeFlag" @change="onSwitchChange(scope.row)"> <GuipSwitch :modelValue="scope.row.homeFlag" @change="onSwitchChange(scope.row)">
</GuipSwitch> </GuipSwitch>
</template> </template>
</el-table-column> </el-table-column>
<!-- :fixed="popoverFlag ? 'false' : 'right'" --> <el-table-column label="操作" fixed="right" min-width="150px">
<el-table-column label="操作" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="flex"> <div class="flex">
<el-button type="text">编辑</el-button> <el-button type="text">编辑</el-button>
@ -481,7 +491,7 @@
<DomainModal /> <DomainModal />
</GuipDialog> </GuipDialog>
<el-dialog :visible.sync="dialogVisibleAdd" ref="addDialog" width="1011px" class="addDialog-wrap" <el-dialog :visible.sync="dialogVisibleAdd" ref="addDialog" append-to-body width="1011px" class="addDialog-wrap"
:show-close="false"> :show-close="false">
<div class="addService_wrap"> <div class="addService_wrap">
<div class="addServicetop"> <div class="addServicetop">
@ -548,6 +558,7 @@ import CustomDropdown from '@/components/CustomDropdown.vue';
import SvgIcon from '@/components/SvgIcon.vue'; import SvgIcon from '@/components/SvgIcon.vue';
import store from '../store'; import store from '../store';
import GuipTable from '@/components/GuipTable.vue'; import GuipTable from '@/components/GuipTable.vue';
import GuipToolTip from '@/components/GuipToolTip.vue';
export default { export default {
components: { components: {
@ -563,7 +574,8 @@ export default {
PaymentMethod, PaymentMethod,
DomainModal, DomainModal,
CustomDropdown, CustomDropdown,
GuipTable GuipTable,
GuipToolTip
}, },
data() { data() {
return { return {
@ -821,21 +833,21 @@ export default {
'3': '想卖哪些东西?来选选吧', '3': '想卖哪些东西?来选选吧',
}, },
tableData1: [ tableData1: [
{ id: 1, name: '万方大学生版', stock: 100, price: 50, pricePopoverVisible: false, edit_price: '', type: 'a', num: '1', edit_num: '', num_popover: false, homeFlag: true, payment: '0' }, { id: 1, name: '万方大学生版', stock: 100, price: 50, pricePopoverVisible: false, edit_price: '', type: 'a', num: '18567988777736366363', edit_num: '', num_popover: false, homeFlag: true, payment: '0' },
{ id: 2, name: '维普检测版', stock: 200, price: 80, word: 1000, pricePopoverVisible: false, edit_price: '', editWord: '', type: 'a', num: '2', edit_num: '', num_popover: false, homeFlag: true, payment: '1' }, { id: 2, name: '维普检测版', stock: 200, price: 80, word: 1000, pricePopoverVisible: false, edit_price: '', editWord: '', type: 'a', num: '2', edit_num: '', num_popover: false, homeFlag: true, payment: '1' },
{ id: 3, name: '商品C1', stock: 150, price: 120, pricePopoverVisible: false, edit_price: '', type: 'b', num: '2', edit_num: '', num_popover: false, homeFlag: false, payment: '0' }, { id: 3, name: '商品C1', stock: 150, price: 120, pricePopoverVisible: false, edit_price: '', type: 'b', num: '2', edit_num: '', num_popover: false, homeFlag: false, payment: '0' },
{ id: 11, name: '商品A2', stock: 100, price: 50, pricePopoverVisible: false, edit_price: '', type: 'a', num: '3', edit_num: '', num_popover: false, homeFlag: false, payment: '0' }, { id: 11, name: '商品A2', stock: 100, price: 50, pricePopoverVisible: false, edit_price: '', type: 'a', num: '3', edit_num: '', num_popover: false, homeFlag: false, payment: '0' },
{ id: 21, name: '商品B2', stock: 200, price: 80, word: 1000, pricePopoverVisible: false, edit_price: '', editWord: '', type: 'a', num: '0', edit_num: '', num_popover: false, homeFlag: true }, { id: 21, name: '商品B2', stock: 200, price: 80, word: 1000, pricePopoverVisible: false, edit_price: '', editWord: '', type: 'a', num: '0', edit_num: '', num_popover: false, homeFlag: true },
{ id: 31, name: '商品C2', stock: 150, price: 120, pricePopoverVisible: false, edit_price: '', type: 'b', num: '1', edit_num: '' }, { id: 31, name: '商品C2', stock: 150, price: 120, pricePopoverVisible: false, edit_price: '', type: 'b', num: '1333333333333333333', edit_num: '' },
{ id: 12, name: '商品A3', stock: 100, price: 50, pricePopoverVisible: false, edit_price: '', type: 'a' }, { id: 12, name: '商品A3', stock: 100, price: 50, pricePopoverVisible: false, edit_price: '', type: 'a' },
{ id: 22, name: '商品B3', stock: 200, price: 80, word: 1000, pricePopoverVisible: false, edit_price: '', editWord: '', type: 'a' }, // { id: 22, name: 'B3', stock: 200, price: 80, word: 1000, pricePopoverVisible: false, edit_price: '', editWord: '', type: 'a' },
{ id: 32, name: '商品C3', stock: 150, price: 120, pricePopoverVisible: false, edit_price: '', type: 'b' }, // { id: 32, name: 'C3', stock: 150, price: 120, pricePopoverVisible: false, edit_price: '', type: 'b' },
{ id: 13, name: '商品A4', stock: 100, price: 50, pricePopoverVisible: false, edit_price: '', type: 'a' }, // { id: 13, name: 'A4', stock: 100, price: 50, pricePopoverVisible: false, edit_price: '', type: 'a' },
{ id: 23, name: '商品B4', stock: 200, price: 80, word: 1000, pricePopoverVisible: false, edit_price: '', editWord: '', type: 'a' }, // { id: 23, name: 'B4', stock: 200, price: 80, word: 1000, pricePopoverVisible: false, edit_price: '', editWord: '', type: 'a' },
{ id: 33, name: '商品C4', stock: 150, price: 120, pricePopoverVisible: false, edit_price: '', type: 'b' }, // { id: 33, name: 'C4', stock: 150, price: 120, pricePopoverVisible: false, edit_price: '', type: 'b' },
{ id: 14, name: '商品A5', stock: 100, price: 50, pricePopoverVisible: false, edit_price: '', type: 'a' }, // { id: 14, name: 'A5', stock: 100, price: 50, pricePopoverVisible: false, edit_price: '', type: 'a' },
{ id: 24, name: '商品B5', stock: 200, price: 80, word: 1000, pricePopoverVisible: false, edit_price: '', editWord: '', type: 'a' }, // { id: 24, name: 'B5', stock: 200, price: 80, word: 1000, pricePopoverVisible: false, edit_price: '', editWord: '', type: 'a' },
{ id: 34, name: '商品C5', stock: 150, price: 120, pricePopoverVisible: false, edit_price: '', type: 'b' }, // { id: 34, name: 'C5', stock: 150, price: 120, pricePopoverVisible: false, edit_price: '', type: 'b' },
], ],
tableLoading: false, tableLoading: false,
typelistobj: { typelistobj: {
@ -1170,8 +1182,16 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.single-popover { .single-popover {
transform: translateX(-50%); /* 根据需要调整 */ // transform: translateX(-50%); /* */
left: 50% !important; /* 根据需要调整 */ // left: 50% !important; /* */
}
::v-deep .custom-popover {
position: fixed !important;
// max-height: 290px;
// overflow-y: auto;
margin-top: 0 !important;
margin-left: 0 !important;
transform: none !important;
} }
/* 隐藏固定列中的弹出框 */ /* 隐藏固定列中的弹出框 */
.el-table__fixed .el-popover, .el-table__fixed .el-popover,
@ -1372,6 +1392,8 @@ export default {
.green, .green,
.blue { .blue {
width: 80px;
box-sizing: border-box;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: center; justify-content: center;

93
src/views/elementGroups.vue

@ -43,7 +43,7 @@
'0' ? '文字居中' : '文字居中' }}</span> '0' ? '文字居中' : '文字居中' }}</span>
</GuipToolTip> </GuipToolTip>
<GuipToolTip content="图标居中"> <GuipToolTip content="图标居中">
<svg-icon size="16" :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'" <svg-icon :size="16" :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'"
:hoverColor="'#006AFF'" /> :hoverColor="'#006AFF'" />
</GuipToolTip> </GuipToolTip>
@ -58,7 +58,7 @@
scope.row.payment scope.row.payment
== ==
'0' ? '单元格局中' : '单元格局中' }}</span> '0' ? '单元格局中' : '单元格局中' }}</span>
<svg-icon size="16" :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'" <svg-icon :size="16" :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'"
:hoverColor="'#006AFF'" /> :hoverColor="'#006AFF'" />
</div> </div>
@ -292,6 +292,33 @@
<GuipSwitch v-model="switchValue" activeText="开启" inactiveText="关闭" @change="onSwitchChange"> <GuipSwitch v-model="switchValue" activeText="开启" inactiveText="关闭" @change="onSwitchChange">
</GuipSwitch> </GuipSwitch>
</div> </div>
<el-table
:data="tableData3"
:span-method="objectSpanMethod"
:border="true"
style="width: 100%; margin-top: 20px">
<el-table-column
prop="id"
label="ID"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="姓名">
</el-table-column>
<el-table-column
prop="amount1"
label="数值 1(元)">
</el-table-column>
<el-table-column
prop="amount2"
label="数值 2(元)">
</el-table-column>
<el-table-column
prop="amount3"
label="数值 3(元)">
</el-table-column>
</el-table>
<el-button type="primary" @click="submitForm">Submit</el-button> <el-button type="primary" @click="submitForm">Submit</el-button>
</el-form> </el-form>
@ -395,6 +422,38 @@ export default {
}, },
data() { data() {
return { return {
tableData3: [{
id: '12987122',
name: '王小虎',
amount1: '234',
amount2: '3.2',
amount3: 10
}, {
id: '12987123',
name: '王小虎',
amount1: '165',
amount2: '4.43',
amount3: 12
}, {
id: '12987124',
name: '王小虎',
amount1: '324',
amount2: '1.9',
amount3: 9
}, {
id: '12987125',
name: '王小虎',
amount1: '621',
amount2: '2.2',
amount3: 17
}, {
id: '12987126',
name: '王小虎',
amount1: '539',
amount2: '4.1',
amount3: 15
}],
tableWidth: 0,
currentPage: 1, // currentPage: 1, //
pageSize: 5, // pageSize: 5, //
total: 0, // total: 0, //
@ -620,6 +679,34 @@ export default {
}, },
methods: { methods: {
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
console.log(row, column);
if (rowIndex % 2 === 0) {
if (columnIndex === 0) {
return [1, 2];
} else if (columnIndex === 1) {
return [0, 0];
}
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
console.log(row, column);
if (columnIndex === 0) {
if (rowIndex % 2 === 0) {
return {
rowspan: 2,
colspan: 1
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}
},
openMessage(type) { openMessage(type) {
console.log(type); console.log(type);
// //
@ -674,7 +761,7 @@ export default {
this.tableLoading = false this.tableLoading = false
this.$nextTick(() => { this.$nextTick(() => {
that.tableData = response.data.list that.tableData = response.data.list
console.log(that.tableData,'---that.tableData'); // console.log(that.tableData,'---that.tableData');
// that.type2name = response.data.type2name // that.type2name = response.data.type2name
that.total = response.data.total that.total = response.data.total
}) })

275
src/views/super/Ranking/RankBatchList.vue

@ -57,7 +57,7 @@
:ref="`popover-${$index}`" :append-to-body="false" :visible-arrow="true" :ref="`popover-${$index}`" :append-to-body="false" :visible-arrow="true"
popper-class="custom-popover" @show="popshow"> --> popper-class="custom-popover" @show="popshow"> -->
<el-popover v-model="row.id_popover" :ref="`popover-${row.id}`" <el-popover v-model="row.id_popover" :ref="`popover-${row.id}`"
placement="top" trigger="manual" :append-to-body="false" :visible-arrow="true" placement="bottom" trigger="manual" :append-to-body="false" :visible-arrow="true"
popper-class="custom-popover" @show="popshow" > popper-class="custom-popover" @show="popshow" >
<div v-if="type != 'agent'" class="pop-wrap"> <div v-if="type != 'agent'" class="pop-wrap">
@ -136,10 +136,14 @@
:render-header=" (h, scope) => renderHeaderWithIcon(h, scope, require('@/assets/require.svg')) " :render-header=" (h, scope) => renderHeaderWithIcon(h, scope, require('@/assets/require.svg')) "
key="top" prop="top" label="代理商排行" width="250" fixed="right"> key="top" prop="top" label="代理商排行" width="250" fixed="right">
<template v-slot="{ row, $index }"> <template v-slot="{ row, $index }">
<el-popover v-model="row.id_popover_2" :ref="`popover_2-${$index}`" placement="top" trigger="manual" <!-- :fallback-placements="['bottom','top','left']" -->
<el-popover v-model="row.id_popover_2" :ref="`popover_2-${$index}`"
placement="bottom" trigger="manual" :append-to-body="false" :visible-arrow="true"
popper-class="custom-popover" @show="popshow" >
<!-- <el-popover v-model="row.id_popover_2" :ref="`popover_2-${$index}`" trigger="manual"
popper-class="custom-popover" @show="popshow" :append-to-body="false" popper-class="custom-popover" @show="popshow" :append-to-body="false"
:visible-arrow="true" :visible-arrow="true"
> > -->
<div class="pop-wrap"> <div class="pop-wrap">
<div class="flex-between flex pop-top"> <div class="flex-between flex pop-top">
<h3> <h3>
@ -150,11 +154,11 @@
<img src="@/assets/register/close.svg"> <img src="@/assets/register/close.svg">
</span> </span>
</div> </div>
<el-table :data="tableData1" style="width: 100%"> <GuipTable :data="tableData1" style="width: 100%" max-height="218">
<el-table-column prop="sort" width="100" label="排行"></el-table-column> <el-table-column prop="sort" width="100" label="排行"></el-table-column>
<el-table-column prop="name" width="200" label="代理商"></el-table-column> <el-table-column prop="name" width="200" label="代理商"></el-table-column>
<el-table-column prop="value_1" width="200" label="销售额"></el-table-column> <el-table-column prop="value_1" width="200" label="销售额"></el-table-column>
</el-table> </GuipTable>
</div> </div>
<span v-if="top_list[row.id]" slot="reference" class="flex"> <span v-if="top_list[row.id]" slot="reference" class="flex">
No.1 {{ top_list[row.id]['name'] }} No.1 {{ top_list[row.id]['name'] }}
@ -520,26 +524,243 @@ export default {
getTypeRanking() { getTypeRanking() {
// //
const that = this const that = this
that.tableData = [] that.tableData = [
that.top_list = []
this.loading = true; {
this.$http('POST', '/supernew/ajax_get_type_batch_list', { id
date: that.text, :
rank_type: that.dataRank, 6,
sort_by: that.sort_by, name
sort_order: that.sort_order, :
cur_page: that.currentPage, "维普大学生版",
page_size: that.pageSize, sort
}).then(response => { :
this.loading = false; 1,
this.$nextTick(() => { value_1
that.tableData = response.data.list :
that.top_list = response.data.top_list "23,754.25",
that.total = response.data.total value_2
}) :
}).catch(error => { "43,012.15",
console.error(error, 'error') value_3
}) :
"61,869.09",
value_4
:
"479,820.85"
},
{
id
:
94,
name
:
"ai中文大学生版",
sort
:
2,
value_1
:
"23,754.25",
value_2
:
"43,012.15",
value_3
:
"61,869.09",
value_4
:
"0"
},
{
id
:
6,
name
:
"维普大学生版",
sort
:
1,
value_1
:
"23,754.25",
value_2
:
"43,012.15",
value_3
:
"61,869.09",
value_4
:
"479,820.85"
},
{
id
:
94,
name
:
"ai中文大学生版",
sort
:
2,
value_1
:
"23,754.25",
value_2
:
"43,012.15",
value_3
:
"61,869.09",
value_4
:
"0"
},
{
id
:
94,
name
:
"ai中文大学生版",
sort
:
2,
value_1
:
"23,754.25",
value_2
:
"43,012.15",
value_3
:
"61,869.09",
value_4
:
"569,820.85"
},
{
id
:
94,
name
:
"ai中文大学生版",
sort
:
2,
value_1
:
"23,754.25",
value_2
:
"43,012.15",
value_3
:
"61,869.09",
value_4
:
"569,820.85"
},
{
id
:
94,
name
:
"ai中文大学生版",
sort
:
2,
value_1
:
"23,754.25",
value_2
:
"43,012.15",
value_3
:
"61,869.09",
value_4
:
"569,820.85"
},
{
id
:
94,
name
:
"ai中文大学生版",
sort
:
2,
value_1
:
"23,754.25",
value_2
:
"43,012.15",
value_3
:
"61,869.09",
value_4
:
"569,820.85"
}
]
that.top_list = {
94: {
id
:
"94",
name
:
"尚志教育",
value_1
:
"156409.50"
},
6: {
id
:
"6",
name
:
"千校论文查重平台",
value_1
:
"238081.00"
}
}
// that.tableData = []
// that.top_list = []
// this.loading = true;
// this.$http('POST', '/supernew/ajax_get_type_batch_list', {
// date: that.text,
// rank_type: that.dataRank,
// sort_by: that.sort_by,
// sort_order: that.sort_order,
// cur_page: that.currentPage,
// page_size: that.pageSize,
// }).then(response => {
// this.loading = false;
// this.$nextTick(() => {
// that.tableData = response.data.list
// that.top_list = response.data.top_list
// that.total = response.data.total
// })
// }).catch(error => {
// console.error(error, 'error')
// })
}, },
getRankingDetail(obj) { getRankingDetail(obj) {
const that = this const that = this
@ -611,8 +832,8 @@ export default {
} }
::v-deep .custom-popover { ::v-deep .custom-popover {
position: fixed !important; position: fixed !important;
max-height: 290px; // max-height: 290px;
overflow-y: auto; // overflow-y: auto;
margin-top: 0 !important; margin-top: 0 !important;
margin-left: 0 !important; margin-left: 0 !important;
transform: none !important; transform: none !important;

15
src/views/super/Ranking/Ranking.vue

@ -1,6 +1,9 @@
<template> <template>
<div class="siteSetting-wrap"> <div class="siteSetting-wrap">
<RankingLeft/> <!-- <RankingLeft /> -->
<SliderMenu :menuData= "rankMenuData" />
<!-- <SliderMenu :menuData= "rankMenuData" :default-collapsed="false"
@collapse-change="handleCollapseChange"/> -->
<!-- 主内容区域 --> <!-- 主内容区域 -->
<main class="main-content" ref="scrollContainer"> <main class="main-content" ref="scrollContainer">
<router-view></router-view> <router-view></router-view>
@ -10,7 +13,9 @@
</template> </template>
<script> <script>
import Footer from '@/components/Footer.vue'; import Footer from '@/components/Footer.vue';
import RankingLeft from '@/components/super/RankingLeft.vue' import SliderMenu from '@/components/SliderMenu.vue';
// import RankingLeft from '@/components/super/RankingLeft.vue'
import { mapState } from 'vuex';
export default { export default {
// //
@ -18,13 +23,17 @@ export default {
props: [''], props: [''],
components: { components: {
Footer, Footer,
RankingLeft, SliderMenu,
// RankingLeft,
}, },
data() { data() {
return { return {
path: '' path: ''
} }
}, },
computed: {
...mapState(['rankMenuData']), // state count
},
mounted() { mounted() {
this.path = this.$route.path; this.path = this.$route.path;
if(this.$route.query.str) localStorage.setItem('token', this.$route.query.str) if(this.$route.query.str) localStorage.setItem('token', this.$route.query.str)

Loading…
Cancel
Save