feat: 工作台页面调整

This commit is contained in:
苟川东 2025-05-09 11:47:35 +08:00
parent 8891e0e013
commit e092081993
2 changed files with 22 additions and 11 deletions

View File

@ -1,6 +1,6 @@
<template> <template>
<IndexSkeleton v-if="data.is_show_skeleton"></IndexSkeleton> <!-- <IndexSkeleton v-if="data.is_show_skeleton"></IndexSkeleton>-->
<template v-else> <template v-if="data.list !== null">
<view class="ctr"> <view class="ctr">
<view class="list" v-if="data.list.length > 0"> <view class="list" v-if="data.list.length > 0">
<view class="order-item" v-for="(item, index) in data.list" :key="index"> <view class="order-item" v-for="(item, index) in data.list" :key="index">

View File

@ -1,16 +1,16 @@
<template> <template>
<WorkbenchSkeleton v-if="data.is_show_skeleton"></WorkbenchSkeleton> <!-- <WorkbenchSkeleton v-if="data.is_show_skeleton"></WorkbenchSkeleton>-->
<view class="ctr" v-else> <view class="ctr" v-if="data.list !== null">
<view class="fixed-top"> <view class="fixed-top">
<me-top title="工作台"></me-top> <me-top title="工作台"></me-top>
<view class="filter flex-sb line-after"> <view class="filter flex-sb line-after">
<view v-for="(item, type) in filterType" :key="type" class="filter-item flex-c" @click="filter(type)"> <view v-for="(item, type) in filterType" :key="type" class="filter-item flex-c" @click="filter(type)">
<view :class="['title', 'flex-c', data.type === type ? 'title-active' : '']">{{item.name}}({{ countOrderByType(type) }})</view> <view :class="['title', 'flex-c', data.type === type ? 'title-active' : '']">{{item.name}}{{ countOrderByType(type) }}</view>
<view class="select-style" v-if="data.type === type"></view> <view class="select-style" v-if="data.type === type"></view>
</view> </view>
</view> </view>
<view class="date flex-l" v-if="data.type === 'need_visit'"> <view class="date flex-l" v-if="data.type === 'need_visit'">
<view :class="['item', 'flex-c', data.need_visit_type === type ? 'item-selected' : '']" v-for="(item, type) in needVisitType" :key="type">{{item.name}}(1)</view> <view @click="filterNeedVisit(type)" :class="['item', 'flex-c', data.need_visit_type === type ? 'item-selected' : '']" v-for="(item, type) in needVisitType" :key="type">{{item.name}}{{ countOrderByType(type) }}</view>
</view> </view>
</view> </view>
@ -158,12 +158,11 @@ const countWorkbenchOrder = () => {
} }
const countOrderByType = (type) => { const countOrderByType = (type) => {
let res = countOrder.value[type] > 99 ? '99+' : countOrder.value[type] if (Object.keys(countOrder.value).length === 0) {
if (type === 'all') { return ''
return countOrder.value[type] > 999 ? '999+' : countOrder.value[type]
} }
return res return '(' + (countOrder.value[type] > 99 ? '99+' : countOrder.value[type]) + ')'
} }
const data = reactive({ const data = reactive({
@ -172,7 +171,7 @@ const data = reactive({
page: 1, page: 1,
page_size: 10, page_size: 10,
last_page: 0, last_page: 0,
is_show_skeleton: true, is_show_skeleton: false,//
list: null list: null
}) })
const getList = () => { const getList = () => {
@ -186,6 +185,7 @@ const getList = () => {
page: data.page, page: data.page,
page_size: data.page_size, page_size: data.page_size,
workbench_type: data.type, workbench_type: data.type,
need_visit_type: data.need_visit_type,
} }
api.workbenchOrderList(params).then(res => { api.workbenchOrderList(params).then(res => {
data.last_page = res.last_page data.last_page = res.last_page
@ -249,6 +249,16 @@ const filter = (type) => {
}); });
getList() getList()
} }
const filterNeedVisit = (type) => {
data.need_visit_type = type
data.page = 1
uni.showLoading({
title: '加载中'
});
getList()
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -297,6 +307,7 @@ const filter = (type) => {
.date { .date {
width: 686rpx; width: 686rpx;
height: 100rpx; height: 100rpx;
animation: animation-fade-out .3s ease-out 0s 1;
.item { .item {
height: 60rpx; height: 60rpx;
border-radius: 8rpx; border-radius: 8rpx;