|
@@ -1,95 +1,3 @@
|
|
-<template>
|
|
|
|
- <template v-if="sandBox.noAuthor ==1 && sandBox.isRequestFinished">
|
|
|
|
- <div class="sandbox-noAuthor">
|
|
|
|
- <img :src="$store.state.globalImgUrls.activityNoAuth" />
|
|
|
|
- <span style="margin-top: 34px;">您在暂无权限查看沙盘推演</span>
|
|
|
|
- <span style="margin-top: 10px;">若想查看可以申请开通</span>
|
|
|
|
- <div class="apply-button" @click="toApply">立即申请</div>
|
|
|
|
- <!-- <template v-else>
|
|
|
|
- <img :src="$store.state.globalImgUrls.activityNoAuth" />
|
|
|
|
- <span style="margin-top: 34px;">您已提交过申请</span>
|
|
|
|
- <span style="margin-top: 10px;">请等待销售人员与您联系</span>
|
|
|
|
- <div class="apply-button" @click="$router.back()">返回</div>
|
|
|
|
- </template> -->
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- <template v-if="sandBox.noAuthor ==2 && sandBox.isRequestFinished">
|
|
|
|
- <view class="sandbox-noAuthor">
|
|
|
|
- <img :src="$store.state.globalImgUrls.activityNoAuth" />
|
|
|
|
- <span style="margin-top: 34px;">您在暂无权限查看沙盘推演</span>
|
|
|
|
- <span style="margin: 10px 0 4px 0;">若想查看请联系对口销售</span>
|
|
|
|
- <div>
|
|
|
|
- <span>{{sandBox.salesData.name}}:</span>
|
|
|
|
- <span class="sales-mobile" @click="callToSales">{{sandBox.salesData.phone}}</span>
|
|
|
|
- </div>
|
|
|
|
- </view>
|
|
|
|
- </template>
|
|
|
|
- <!-- 部分有权限 分享进来没有权限 -->
|
|
|
|
- <template v-if="sandBox.noAuthor ==4 && sandBox.isRequestFinished" >
|
|
|
|
- <!-- 显示空白 一秒钟后跳转至有权限的沙盘图-->
|
|
|
|
- </template>
|
|
|
|
- <div class="sandBox-contain" v-if="sandBox.noAuthor ==0 && sandBox.isRequestFinished">
|
|
|
|
- <div class="classify-box">
|
|
|
|
- <div class="firstClassify-box">
|
|
|
|
- <div :class="['firstClassfy-item',item.id==sandBox.selectedFirstId?'firstClassfy-actice':'']"
|
|
|
|
- v-for="item in sandBox.classifyList" :key="item.id" @click="selectFirstClassify(item)">
|
|
|
|
- <span>{{item.classify_name}}</span>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="sec-nav-box">
|
|
|
|
- <span
|
|
|
|
- :class="['sec-item',item.chart_permission_id==sandBox.selectedSecondId?'active':'']"
|
|
|
|
- v-for="item in sandBox.secondClassifyList.slice(0,6)"
|
|
|
|
- :key="item.chart_permission_id"
|
|
|
|
- @click="selectSecondClassify(item)"
|
|
|
|
- >{{item.chart_permission_name}}</span>
|
|
|
|
- <el-popover
|
|
|
|
- :width="500"
|
|
|
|
- trigger="click"
|
|
|
|
- >
|
|
|
|
- <template #reference>
|
|
|
|
- <img v-if="sandBox.secondClassifyList.length>6" style="width:16px;transform: rotate(90deg);cursor: pointer" src="@/assets/icon-more.png" alt="">
|
|
|
|
- </template>
|
|
|
|
- <template #default>
|
|
|
|
- <div class="flex top-nav-filter-box">
|
|
|
|
- <div
|
|
|
|
- :class="['item',item.chart_permission_id == sandBox.selectedSecondId&&'active']"
|
|
|
|
- v-for="item in sandBox.secondClassifyList.slice(6)"
|
|
|
|
- :key="item.chart_permission_id"
|
|
|
|
- @click="selectSecondClassify(item)"
|
|
|
|
- >{{item.chart_permission_name}}</div>
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- </el-popover>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="sandBox-noData" v-if="!sandBox.list">
|
|
|
|
- <img :src="$store.state.globalImgUrls.activityNoAuth" alt="暂无数据" />
|
|
|
|
- <span>暂无数据</span>
|
|
|
|
- </div>
|
|
|
|
- <div class="sandBox-content">
|
|
|
|
- <div class="sandBox-item" v-for="(item,index) in sandBox.list" :key="item.sandbox_id">
|
|
|
|
- <span>{{item.name}}</span>
|
|
|
|
- <div class="sandBox-image">
|
|
|
|
- <img :src="item.pic_url" :alt="item.name" @click="previewImage(index)"/>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <template v-if="sandBox.list">
|
|
|
|
- <div class="loading-more" @click="loadingMore" v-show="sandBox.isRequestFinished && sandBox.list.length < sandBox.total">加载更多</div>
|
|
|
|
- <div class="more-loading" v-show="!sandBox.isRequestFinished">加载中······</div>
|
|
|
|
- <div class="more-loading no-more" v-show="sandBox.isRequestFinished && sandBox.list.length >= sandBox.total && sandBox.total!=0">没有更多了~</div>
|
|
|
|
- </template>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <!-- 图片预览 -->
|
|
|
|
- <el-image-viewer
|
|
|
|
- v-if="showPreViewImg"
|
|
|
|
- :initial-index="preViewImgIndex"
|
|
|
|
- @close="cancelPreview"
|
|
|
|
- :url-list="previewImageList"
|
|
|
|
- />
|
|
|
|
-</template>
|
|
|
|
<script setup>
|
|
<script setup>
|
|
import {h, reactive,computed,ref,onMounted,onActivated} from 'vue'
|
|
import {h, reactive,computed,ref,onMounted,onActivated} from 'vue'
|
|
import {useRouter,useRoute} from "vue-router"
|
|
import {useRouter,useRoute} from "vue-router"
|
|
@@ -97,6 +5,7 @@ import {apiSandBoxPermission,apiSandBoxList,apiSandTableDetail} from "../../api/
|
|
import {apiReportIndexPageAuthList} from "../../api/report"
|
|
import {apiReportIndexPageAuthList} from "../../api/report"
|
|
import {apiApplyPermission} from "../../api/user"
|
|
import {apiApplyPermission} from "../../api/user"
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
|
+import SelfList from '@/components/SelfList.vue'
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
const route = useRoute()
|
|
const route = useRoute()
|
|
|
|
|
|
@@ -136,7 +45,11 @@ let sandBox = reactive({
|
|
status:''
|
|
status:''
|
|
},
|
|
},
|
|
// 请求是否完成
|
|
// 请求是否完成
|
|
- isRequestFinished:false
|
|
|
|
|
|
+ isRequestFinished:false,
|
|
|
|
+ // 是否加载完全部数据
|
|
|
|
+ isTotalData:false,
|
|
|
|
+ // 是否在加载中
|
|
|
|
+ isLoading:false,
|
|
})
|
|
})
|
|
// 是否预览图片
|
|
// 是否预览图片
|
|
let showPreViewImg = ref(false)
|
|
let showPreViewImg = ref(false)
|
|
@@ -152,6 +65,7 @@ const previewImageList = computed(()=>{
|
|
// ------------------------------------------------------方法
|
|
// ------------------------------------------------------方法
|
|
// 获取沙盘图数据
|
|
// 获取沙盘图数据
|
|
const getSandBoxList=()=>{
|
|
const getSandBoxList=()=>{
|
|
|
|
+ sandBox.isLoading = true
|
|
apiSandBoxList(sandBox.sandBoxParams).then(({data,code})=>{
|
|
apiSandBoxList(sandBox.sandBoxParams).then(({data,code})=>{
|
|
// 403 无权限
|
|
// 403 无权限
|
|
if(code == 403){
|
|
if(code == 403){
|
|
@@ -183,20 +97,26 @@ const getSandBoxList=()=>{
|
|
return
|
|
return
|
|
}
|
|
}
|
|
if(sandBox.sandBoxParams.curr_page == 1){
|
|
if(sandBox.sandBoxParams.curr_page == 1){
|
|
- sandBox.list = data.list
|
|
|
|
|
|
+ sandBox.list = data.list || []
|
|
sandBox.total = data.paging.totals
|
|
sandBox.total = data.paging.totals
|
|
}else{
|
|
}else{
|
|
sandBox.list = [...sandBox.list, ...data.list]
|
|
sandBox.list = [...sandBox.list, ...data.list]
|
|
}
|
|
}
|
|
|
|
+ if(sandBox.list.length == sandBox.total){
|
|
|
|
+ sandBox.isTotalData = true
|
|
|
|
+ }
|
|
sandBox.noAuthor=0
|
|
sandBox.noAuthor=0
|
|
}).finally(()=>{
|
|
}).finally(()=>{
|
|
sandBox.isRequestFinished=true
|
|
sandBox.isRequestFinished=true
|
|
|
|
+ sandBox.isLoading = false
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
// 获取单个沙盘图
|
|
// 获取单个沙盘图
|
|
const getSandTableDetail=()=>{
|
|
const getSandTableDetail=()=>{
|
|
sandBox.isRequestFinished=false
|
|
sandBox.isRequestFinished=false
|
|
|
|
+ sandBox.isLoading = true
|
|
|
|
+ sandBox.isTotalData = false
|
|
apiSandTableDetail({sandbox_id:sandBox.sandbox_id}).then(({data,code})=>{
|
|
apiSandTableDetail({sandbox_id:sandBox.sandbox_id}).then(({data,code})=>{
|
|
// 403 无权限
|
|
// 403 无权限
|
|
if(code == 403){
|
|
if(code == 403){
|
|
@@ -228,9 +148,11 @@ const getSandTableDetail=()=>{
|
|
return
|
|
return
|
|
}
|
|
}
|
|
sandBox.list = [data]
|
|
sandBox.list = [data]
|
|
|
|
+ sandBox.isTotalData = true
|
|
sandBox.noAuthor=0
|
|
sandBox.noAuthor=0
|
|
}).finally(()=>{
|
|
}).finally(()=>{
|
|
sandBox.isRequestFinished=true
|
|
sandBox.isRequestFinished=true
|
|
|
|
+ sandBox.isLoading = false
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
@@ -251,7 +173,7 @@ const cancelPreview = ()=>{
|
|
}
|
|
}
|
|
|
|
|
|
//加载更多
|
|
//加载更多
|
|
-const loadingMore = ()=>{
|
|
|
|
|
|
+const onLoad = ()=>{
|
|
sandBox.sandBoxParams.curr_page++
|
|
sandBox.sandBoxParams.curr_page++
|
|
getSandBoxList()
|
|
getSandBoxList()
|
|
}
|
|
}
|
|
@@ -328,46 +250,51 @@ const getClassifyList= ()=>{
|
|
item.list=item.list.filter(it=>it.auth_ok)
|
|
item.list=item.list.filter(it=>it.auth_ok)
|
|
})
|
|
})
|
|
sandBox.classifyList=sandBox.classifyList.filter(item=>item.list.length!=0)
|
|
sandBox.classifyList=sandBox.classifyList.filter(item=>item.list.length!=0)
|
|
- let classifyData= await apiSandBoxPermission()
|
|
|
|
- sandBox.classifyDataList = classifyData.data
|
|
|
|
|
|
+ // 需求变化 增加全部标签 默认选中该标签
|
|
|
|
+ sandBox.classifyList.unshift({
|
|
|
|
+ classify_name: "全部",
|
|
|
|
+ id: 0,
|
|
|
|
+ list:[],
|
|
|
|
+ sort: 0
|
|
|
|
+ })
|
|
|
|
+ // let classifyData= await apiSandBoxPermission()
|
|
|
|
+ // sandBox.classifyDataList = classifyData.data
|
|
try {
|
|
try {
|
|
- if(sandBox.selectedFirstId == 0){
|
|
|
|
- // 一级分类ID 和 二级分类ID 没有,不是通过分享进来的,或者路由参数中没有一级Id和二级Id
|
|
|
|
- // 找出第一个有数据的二级分类
|
|
|
|
- U:for (const item of sandBox.classifyList) {
|
|
|
|
- for (const it of item.list) {
|
|
|
|
- for (const classify of sandBox.classifyDataList) {
|
|
|
|
- if(classify.chart_permission_id==it.chart_permission_id){
|
|
|
|
- if(classify.total>0){
|
|
|
|
- sandBox.selectedFirstId = item.id
|
|
|
|
- sandBox.secondClassifyList = item.list
|
|
|
|
- sandBox.selectedSecondId = it.chart_permission_id
|
|
|
|
- break U
|
|
|
|
- }
|
|
|
|
- break
|
|
|
|
- }
|
|
|
|
|
|
+ // 默认选中第一个有数据的二级分类
|
|
|
|
+ // if(sandBox.selectedFirstId == 0){
|
|
|
|
+ // // 一级分类ID 和 二级分类ID 没有,不是通过分享进来的,或者路由参数中没有一级Id和二级Id
|
|
|
|
+ // // 找出第一个有数据的二级分类
|
|
|
|
+ // U:for (const item of sandBox.classifyList) {
|
|
|
|
+ // for (const it of item.list) {
|
|
|
|
+ // for (const classify of sandBox.classifyDataList) {
|
|
|
|
+ // if(classify.chart_permission_id==it.chart_permission_id){
|
|
|
|
+ // if(classify.total>0){
|
|
|
|
+ // sandBox.selectedFirstId = item.id
|
|
|
|
+ // sandBox.secondClassifyList = item.list
|
|
|
|
+ // sandBox.selectedSecondId = it.chart_permission_id
|
|
|
|
+ // break U
|
|
|
|
+ // }
|
|
|
|
+ // break
|
|
|
|
+ // }
|
|
|
|
+ // }
|
|
|
|
+ // }
|
|
|
|
+ // }
|
|
|
|
+ // sandBox.sandBoxParams.chart_permission_id = sandBox.selectedSecondId
|
|
|
|
+ // }else{
|
|
|
|
+ // 通过分享进来
|
|
|
|
+ if(sandBox.selectedFirstId != 0){
|
|
|
|
+ for (const item of sandBox.classifyList) {
|
|
|
|
+ if(item.id == sandBox.selectedFirstId){
|
|
|
|
+ // 根据selectedFirstId找出需要展示的二级分类列表
|
|
|
|
+ sandBox.secondClassifyList = item.list
|
|
|
|
+ break
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- sandBox.sandBoxParams.chart_permission_id = sandBox.selectedSecondId
|
|
|
|
- }else{
|
|
|
|
- for (const item of sandBox.classifyList) {
|
|
|
|
- if(item.id == sandBox.selectedFirstId){
|
|
|
|
- // 根据selectedFirstId找出需要展示的二级分类列表
|
|
|
|
- sandBox.secondClassifyList = item.list
|
|
|
|
- break
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ // }
|
|
} catch (error) {
|
|
} catch (error) {
|
|
console.log(error);
|
|
console.log(error);
|
|
}
|
|
}
|
|
-
|
|
|
|
- if(sandBox.sandbox_id){
|
|
|
|
- getSandTableDetail()
|
|
|
|
- }else{
|
|
|
|
- getSandBoxList()
|
|
|
|
- }
|
|
|
|
})
|
|
})
|
|
}
|
|
}
|
|
// 切换一级分类
|
|
// 切换一级分类
|
|
@@ -375,29 +302,23 @@ const selectFirstClassify = (item)=>{
|
|
if(sandBox.selectedFirstId === item.id) return
|
|
if(sandBox.selectedFirstId === item.id) return
|
|
sandBox.selectedFirstId = item.id
|
|
sandBox.selectedFirstId = item.id
|
|
sandBox.secondClassifyList = item.list
|
|
sandBox.secondClassifyList = item.list
|
|
- sandBox.selectedSecondId = item.list[0].chart_permission_id
|
|
|
|
- U:for (const it of item.list) {
|
|
|
|
- for (const classify of sandBox.classifyDataList) {
|
|
|
|
- if(classify.chart_permission_id==it.chart_permission_id){
|
|
|
|
- if(classify.total>0){
|
|
|
|
- sandBox.selectedSecondId = it.chart_permission_id
|
|
|
|
- break U
|
|
|
|
- }
|
|
|
|
- break
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- sandBox.sandBoxParams.chart_permission_id = sandBox.selectedSecondId
|
|
|
|
- sandBox.sandBoxParams.curr_page=1
|
|
|
|
- sandBox.list=[]
|
|
|
|
- getSandBoxList()
|
|
|
|
|
|
+ selectSecondClassify(item.list[0])
|
|
}
|
|
}
|
|
// 切换二级分类
|
|
// 切换二级分类
|
|
const selectSecondClassify = (item)=>{
|
|
const selectSecondClassify = (item)=>{
|
|
- console.log(item);
|
|
|
|
- if(sandBox.selectedSecondId == item.chart_permission_id) return
|
|
|
|
- sandBox.sandBoxParams.chart_permission_id = sandBox.selectedSecondId = item.chart_permission_id
|
|
|
|
|
|
+ let chartPermissionId
|
|
|
|
+ // item为undefined,选中为全部 没有二级分类列表
|
|
|
|
+ if(!item){
|
|
|
|
+ if(sandBox.selectedSecondId==0) return
|
|
|
|
+ chartPermissionId= 0
|
|
|
|
+ }else{
|
|
|
|
+ if(sandBox.selectedSecondId == item.chart_permission_id) return
|
|
|
|
+ chartPermissionId= item.chart_permission_id
|
|
|
|
+ }
|
|
|
|
+ sandBox.sandBoxParams.chart_permission_id = sandBox.selectedSecondId = chartPermissionId
|
|
sandBox.sandBoxParams.curr_page=1
|
|
sandBox.sandBoxParams.curr_page=1
|
|
|
|
+ sandBox.isLoading = false
|
|
|
|
+ sandBox.isTotalData=false
|
|
sandBox.list=[]
|
|
sandBox.list=[]
|
|
getSandBoxList()
|
|
getSandBoxList()
|
|
}
|
|
}
|
|
@@ -408,8 +329,15 @@ const selectSecondClassify = (item)=>{
|
|
sandBox.sandBoxParams.chart_permission_id = sandBox.selectedSecondId = parseInt(route.query.chart_permission_id) || 0 //二级分类ID 分享
|
|
sandBox.sandBoxParams.chart_permission_id = sandBox.selectedSecondId = parseInt(route.query.chart_permission_id) || 0 //二级分类ID 分享
|
|
sandBox.selectedFirstId = route.query.firstClassifyId || 0 //一级分类ID 分享
|
|
sandBox.selectedFirstId = route.query.firstClassifyId || 0 //一级分类ID 分享
|
|
sandBox.sandbox_id = route.query.sandbox_id // 沙盘图ID
|
|
sandBox.sandbox_id = route.query.sandbox_id // 沙盘图ID
|
|
|
|
+// 获取分类
|
|
getClassifyList()
|
|
getClassifyList()
|
|
|
|
|
|
|
|
+if(sandBox.sandbox_id){
|
|
|
|
+ getSandTableDetail()
|
|
|
|
+}else{
|
|
|
|
+ getSandBoxList()
|
|
|
|
+}
|
|
|
|
+
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
//向小程序发送消息
|
|
//向小程序发送消息
|
|
let postData = {
|
|
let postData = {
|
|
@@ -439,6 +367,96 @@ onActivated(()=>{
|
|
})
|
|
})
|
|
|
|
|
|
</script>
|
|
</script>
|
|
|
|
+
|
|
|
|
+<template>
|
|
|
|
+ <template v-if="sandBox.noAuthor ==1 && sandBox.isRequestFinished">
|
|
|
|
+ <div class="sandbox-noAuthor">
|
|
|
|
+ <img :src="$store.state.globalImgUrls.activityNoAuth" />
|
|
|
|
+ <span style="margin-top: 34px;">您在暂无权限查看沙盘推演</span>
|
|
|
|
+ <span style="margin-top: 10px;">若想查看可以申请开通</span>
|
|
|
|
+ <div class="apply-button" @click="toApply">立即申请</div>
|
|
|
|
+ <!-- <template v-else>
|
|
|
|
+ <img :src="$store.state.globalImgUrls.activityNoAuth" />
|
|
|
|
+ <span style="margin-top: 34px;">您已提交过申请</span>
|
|
|
|
+ <span style="margin-top: 10px;">请等待销售人员与您联系</span>
|
|
|
|
+ <div class="apply-button" @click="$router.back()">返回</div>
|
|
|
|
+ </template> -->
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <template v-if="sandBox.noAuthor ==2 && sandBox.isRequestFinished">
|
|
|
|
+ <view class="sandbox-noAuthor">
|
|
|
|
+ <img :src="$store.state.globalImgUrls.activityNoAuth" />
|
|
|
|
+ <span style="margin-top: 34px;">您在暂无权限查看沙盘推演</span>
|
|
|
|
+ <span style="margin: 10px 0 4px 0;">若想查看请联系对口销售</span>
|
|
|
|
+ <div>
|
|
|
|
+ <span>{{sandBox.salesData.name}}:</span>
|
|
|
|
+ <span class="sales-mobile" @click="callToSales">{{sandBox.salesData.phone}}</span>
|
|
|
|
+ </div>
|
|
|
|
+ </view>
|
|
|
|
+ </template>
|
|
|
|
+ <!-- 部分有权限 分享进来没有权限 -->
|
|
|
|
+ <template v-if="sandBox.noAuthor ==4 && sandBox.isRequestFinished" >
|
|
|
|
+ <!-- 显示空白 一秒钟后跳转至有权限的沙盘图-->
|
|
|
|
+ </template>
|
|
|
|
+ <div class="sandBox-contain" v-if="sandBox.noAuthor ==0 && sandBox.isRequestFinished">
|
|
|
|
+ <div class="classify-box">
|
|
|
|
+ <div class="firstClassify-box">
|
|
|
|
+ <div :class="['firstClassfy-item',item.id==sandBox.selectedFirstId?'firstClassfy-actice':'']"
|
|
|
|
+ v-for="item in sandBox.classifyList" :key="item.id" @click="selectFirstClassify(item)">
|
|
|
|
+ <span>{{item.classify_name}}</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="sec-nav-box" v-show="sandBox.secondClassifyList.length>0">
|
|
|
|
+ <span
|
|
|
|
+ :class="['sec-item',item.chart_permission_id==sandBox.selectedSecondId?'active':'']"
|
|
|
|
+ v-for="item in sandBox.secondClassifyList.slice(0,6)"
|
|
|
|
+ :key="item.chart_permission_id"
|
|
|
|
+ @click="selectSecondClassify(item)"
|
|
|
|
+ >{{item.chart_permission_name}}</span>
|
|
|
|
+ <el-popover
|
|
|
|
+ :width="500"
|
|
|
|
+ trigger="click"
|
|
|
|
+ >
|
|
|
|
+ <template #reference>
|
|
|
|
+ <img v-if="sandBox.secondClassifyList.length>6" style="width:16px;transform: rotate(90deg);cursor: pointer" src="@/assets/icon-more.png" alt="">
|
|
|
|
+ </template>
|
|
|
|
+ <template #default>
|
|
|
|
+ <div class="flex top-nav-filter-box">
|
|
|
|
+ <div
|
|
|
|
+ :class="['item',item.chart_permission_id == sandBox.selectedSecondId&&'active']"
|
|
|
|
+ v-for="item in sandBox.secondClassifyList.slice(6)"
|
|
|
|
+ :key="item.chart_permission_id"
|
|
|
|
+ @click="selectSecondClassify(item)"
|
|
|
|
+ >{{item.chart_permission_name}}</div>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </el-popover>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <SelfList
|
|
|
|
+ :finished="sandBox.isTotalData"
|
|
|
|
+ :isEmpty="sandBox.list.length===0&&sandBox.isTotalData"
|
|
|
|
+ :loading="sandBox.isLoading"
|
|
|
|
+ @listOnload="onLoad">
|
|
|
|
+ <div class="sandBox-content">
|
|
|
|
+ <div class="sandBox-item" v-for="(item,index) in sandBox.list" :key="item.sandbox_id">
|
|
|
|
+ <span>{{item.name}}</span>
|
|
|
|
+ <div class="sandBox-image">
|
|
|
|
+ <img :src="item.pic_url" :alt="item.name" @click="previewImage(index)"/>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </SelfList>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <!-- 图片预览 -->
|
|
|
|
+ <el-image-viewer
|
|
|
|
+ v-if="showPreViewImg"
|
|
|
|
+ :initial-index="preViewImgIndex"
|
|
|
|
+ @close="cancelPreview"
|
|
|
|
+ :url-list="previewImageList"
|
|
|
|
+ />
|
|
|
|
+</template>
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
.top-nav-filter-box{
|
|
.top-nav-filter-box{
|
|
flex-wrap: wrap;
|
|
flex-wrap: wrap;
|
|
@@ -501,12 +519,12 @@ onActivated(()=>{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.sandBox-contain{
|
|
.sandBox-contain{
|
|
- margin-top: 130px;
|
|
|
|
|
|
+ // margin-top: 130px;
|
|
.classify-box{
|
|
.classify-box{
|
|
padding: 30px 30px 12px 30px;
|
|
padding: 30px 30px 12px 30px;
|
|
background: #FFFFFF;
|
|
background: #FFFFFF;
|
|
box-shadow: 0px 4px 8px 1px rgba(0, 0, 0, 0.04);
|
|
box-shadow: 0px 4px 8px 1px rgba(0, 0, 0, 0.04);
|
|
- position: fixed;
|
|
|
|
|
|
+ position: sticky;
|
|
top: 60px;
|
|
top: 60px;
|
|
width: 100%;
|
|
width: 100%;
|
|
max-width: 1240px;
|
|
max-width: 1240px;
|