110 lines
2.0 KiB
Vue
110 lines
2.0 KiB
Vue
![]() |
<!-- 虚拟列表演示(不使用内置列表)(vue) -->
|
|||
|
<!-- 写法较简单,在页面中对当前需要渲染的虚拟列表数据进行for循环,在vue3中兼容性良好 -->
|
|||
|
<!-- 在各平台兼容性请查阅https://z-paging.zxlee.cn/module/virtual-list.html -->
|
|||
|
<template>
|
|||
|
<view class="content">
|
|||
|
<su-navbar :title="title" statusBar></su-navbar>
|
|||
|
|
|||
|
<view class="main-box">
|
|||
|
<view class="title">当前等级:{{clerkLevel}}</view>
|
|||
|
<level-list :dataList="tableList"></level-list>
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="bottom-box">
|
|||
|
<view class="btn" @click="saveLevel">保存配置</view>
|
|||
|
</view>
|
|||
|
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
import LevelList from '@/pages/worker/levelList/components/levelList.vue';
|
|||
|
import ClerkApi from '@/sheep/api/worker/clerk';
|
|||
|
export default {
|
|||
|
components: {
|
|||
|
LevelList,
|
|||
|
},
|
|||
|
props: {
|
|||
|
title: {
|
|||
|
type: String,
|
|||
|
default: '',
|
|||
|
},
|
|||
|
},
|
|||
|
data() {
|
|||
|
return {
|
|||
|
tableList: [],
|
|||
|
id: 0,
|
|||
|
clerkLevel: '',
|
|||
|
}
|
|||
|
},
|
|||
|
created() {
|
|||
|
|
|||
|
},
|
|||
|
methods: {
|
|||
|
initData(id) {
|
|||
|
this.id = id;
|
|||
|
ClerkApi.getGoodsList(id).then(res => {
|
|||
|
this.tableList = res.data;
|
|||
|
});
|
|||
|
|
|||
|
ClerkApi.getClerkLevel(id).then(res => {
|
|||
|
this.clerkLevel = res.data;
|
|||
|
});
|
|||
|
|
|||
|
},
|
|||
|
saveLevel() {
|
|||
|
var params = {
|
|||
|
id: this.id,
|
|||
|
categoryList: this.tableList
|
|||
|
}
|
|||
|
ClerkApi.saveGoodsList(params).then(res => {
|
|||
|
|
|||
|
});
|
|||
|
},
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang="scss" scoped>
|
|||
|
|
|||
|
.main-box {
|
|||
|
padding: 10px;
|
|||
|
padding-bottom: 140rpx;
|
|||
|
|
|||
|
.title {
|
|||
|
display: flex;
|
|||
|
justify-content: center;
|
|||
|
font-size: 28rpx;
|
|||
|
font-weight: bold;
|
|||
|
margin-bottom: 20px;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.bottom-box {
|
|||
|
display: flex;
|
|||
|
justify-content: center;
|
|||
|
align-items: center;
|
|||
|
padding: 7px 15px;
|
|||
|
background-color: #fff;
|
|||
|
box-shadow: 0 0 6px 0 #ccc;
|
|||
|
position: fixed;
|
|||
|
bottom: 0;
|
|||
|
left: 0;
|
|||
|
right: 0;
|
|||
|
z-index: 1;
|
|||
|
|
|||
|
.btn {
|
|||
|
background-color: var(--ui-BG-Main);;
|
|||
|
padding: 10px;
|
|||
|
border-radius: 40px;
|
|||
|
color: #fff;
|
|||
|
display: flex;
|
|||
|
flex: 1;
|
|||
|
justify-content: center;
|
|||
|
align-items: center;
|
|||
|
font-size: 28rpx;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
</style>
|