Commit 2c136680 by 李宁

1

1 parent 420da0fa
......@@ -2,9 +2,9 @@
<html lang="">
<head>
<meta charset="UTF-8">
<link rel="icon" href="/favicon.ico">
<link rel="icon" href="src/assets/log.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>商机办结登记</title>
<title>享零工-商客能人</title>
</head>
<body>
<div id="app"></div>
......
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 261.76 226.69"><path d="M161.096.001l-30.225 52.351L100.647.001H-.005l130.877 226.688L261.749.001z" fill="#41b883"/><path d="M161.096.001l-30.225 52.351L100.647.001H52.346l78.526 136.01L209.398.001z" fill="#34495e"/></svg>
......@@ -214,12 +214,14 @@
<!-- 页面内容区 -->
<main class="flex-1 overflow-auto p-6 bg-[#F0F2F5]">
<!-- 订单监控页面 -->
<OrderMonitoring
v-if="activeView === 'orders'"
:orders="orders"
<OrderMonitoring
v-if="activeView === 'orders'"
:orders="orders"
:current-user="currentUser"
:should-restore-filters="shouldRestoreFilters"
@view-order-detail="handleViewOrderDetail"
@orders-update="handleOrdersUpdate"
@restore-filters-complete="handleRestoreFiltersComplete"
/>
<!-- 订单详情页面 -->
......@@ -316,6 +318,7 @@ const emit = defineEmits(['logout'])
const isSidebarCollapsed = ref(false)
const selectedOrderId = ref<string | null>(null) // 当前查看的订单ID
const selectedOrder = ref<any>(null) // 当前查看的订单
const shouldRestoreFilters = ref(false) // 是否需要恢复筛选条件
const userInfo = ref(localStorage.getItem('pcUserInfo') ? JSON.parse(localStorage.getItem('pcUserInfo') as string) : {})
// 菜单配置
......@@ -485,6 +488,7 @@ const handleViewOrderDetail = (order: any) => {
}
const handleBackToOrders = () => {
selectedOrderId.value = null
shouldRestoreFilters.value = true
activeView.value = 'orders'
}
const handleUpdateOrder = (updates: any) => {
......@@ -502,6 +506,11 @@ const handleUpdateOrder = (updates: any) => {
const handleOrdersUpdate = (ordersList: any[]) => {
allOrders.value = ordersList
}
// 处理筛选条件恢复完成事件
const handleRestoreFiltersComplete = () => {
shouldRestoreFilters.value = false
}
// 面包屑导航点击处理
const handleBreadcrumbClick = (level: string) => {
if (level === 'level1') {
......
......@@ -556,14 +556,16 @@ interface Props {
orders?: any[]
onViewOrderDetail?: (order: any) => void
onUpdateOrder?: (updates: any) => void
shouldRestoreFilters?: boolean
}
const props = withDefaults(defineProps<Props>(), {
orders: () => []
orders: () => [],
shouldRestoreFilters: false
})
// Emits
const emit = defineEmits(['view-order-detail', 'update-order', 'orders-update'])
const emit = defineEmits(['view-order-detail', 'update-order', 'orders-update', 'restore-filters-complete'])
// 响应式数据
const customerPhone = ref('')
......@@ -810,6 +812,19 @@ const handleBatchModify = () => {
}
const handleViewDetail = (order: any) => {
// 保存当前筛选条件和分页状态到sessionStorage
const filterState = {
customerPhone: customerPhone.value,
chinaPersonPhone: chinaPersonPhone.value,
dateRange: dateRange.value,
businessStatusFilter: businessStatusFilter.value,
reviewStatusFilter: reviewStatusFilter.value,
businessNameFilter: businessNameFilter.value,
currentPage: currentPage.value,
pageSize: pageSize.value
}
sessionStorage.setItem('orderMonitoringFilterState', JSON.stringify(filterState))
let param = {...order}
param.status += ''
......@@ -1143,11 +1158,60 @@ const applyBatchModify = () => {
resetBatchState()
}
// 恢复筛选条件
const restoreFilterState = () => {
const savedState = sessionStorage.getItem('orderMonitoringFilterState')
if (savedState) {
try {
const filterState = JSON.parse(savedState)
customerPhone.value = filterState.customerPhone || ''
chinaPersonPhone.value = filterState.chinaPersonPhone || ''
dateRange.value = filterState.dateRange || null
businessStatusFilter.value = filterState.businessStatusFilter || ''
reviewStatusFilter.value = filterState.reviewStatusFilter || ''
businessNameFilter.value = filterState.businessNameFilter || ''
currentPage.value = filterState.currentPage || 1
pageSize.value = filterState.pageSize || 20
// 清除保存的状态,避免影响后续操作
sessionStorage.removeItem('orderMonitoringFilterState')
return true
} catch (error) {
console.error('恢复筛选条件失败:', error)
sessionStorage.removeItem('orderMonitoringFilterState')
}
}
return false
}
// 初始化数据
onMounted(() => {
queryOrder()
// 尝试恢复筛选条件,如果没有保存的状态则使用默认值
const hasRestoredState = restoreFilterState()
if (!hasRestoredState) {
// 没有保存的状态,使用默认查询
queryOrder()
} else {
// 有保存的状态,直接查询
queryOrder()
}
queryRule()
})
// 监听shouldRestoreFilters变化
watch(() => props.shouldRestoreFilters, (newValue) => {
if (newValue) {
// 从详情页返回时恢复筛选条件
const hasRestoredState = restoreFilterState()
if (hasRestoredState) {
// 成功恢复状态后重新查询
queryOrder()
}
// 重置标志
emit('restore-filters-complete')
}
})
const queryRule = async ()=>{
try {
const response = await $api.queryAllRewardList({})
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!