|
@@ -9,6 +9,7 @@ defineOptions({
|
|
|
name: 'RdSummary'
|
|
name: 'RdSummary'
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+const route = useRoute()
|
|
|
const deptId = useUserStore().getUser.deptId
|
|
const deptId = useUserStore().getUser.deptId
|
|
|
|
|
|
|
|
interface Query {
|
|
interface Query {
|
|
@@ -35,9 +36,46 @@ const createDefaultQuery = (): Query => ({
|
|
|
|
|
|
|
|
const query = ref<Query>(createDefaultQuery())
|
|
const query = ref<Query>(createDefaultQuery())
|
|
|
const activeTab = ref<'日报统计' | '非生产时效'>('日报统计')
|
|
const activeTab = ref<'日报统计' | '非生产时效'>('日报统计')
|
|
|
|
|
+const defaultView = ref<'表格' | '看板'>('表格')
|
|
|
const deptName = ref('四川瑞都')
|
|
const deptName = ref('四川瑞都')
|
|
|
const refreshKey = ref(0)
|
|
const refreshKey = ref(0)
|
|
|
|
|
|
|
|
|
|
+const getRouteCreateTime = () => {
|
|
|
|
|
+ const createTime = route.query.createTime
|
|
|
|
|
+
|
|
|
|
|
+ if (Array.isArray(createTime)) {
|
|
|
|
|
+ const values = createTime.filter((item): item is string => typeof item === 'string')
|
|
|
|
|
+ return values.length === 2 ? values : undefined
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (typeof createTime === 'string') {
|
|
|
|
|
+ const values = createTime.split(',').filter(Boolean)
|
|
|
|
|
+ return values.length === 2 ? values : undefined
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return undefined
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const getRouteActiveTab = () => {
|
|
|
|
|
+ return route.query.activeTab === '非生产时效' ? '非生产时效' : '日报统计'
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const getRouteDefaultView = () => {
|
|
|
|
|
+ return route.query.view === 'kanban' || route.query.defaultView === '看板' ? '看板' : '表格'
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const syncQueryFromRoute = () => {
|
|
|
|
|
+ const createTime = getRouteCreateTime()
|
|
|
|
|
+
|
|
|
|
|
+ if (createTime) {
|
|
|
|
|
+ query.value.createTime = createTime
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ activeTab.value = getRouteActiveTab()
|
|
|
|
|
+ defaultView.value = getRouteDefaultView()
|
|
|
|
|
+ handleQuery()
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
const handleDeptNodeClick = (node: any) => {
|
|
const handleDeptNodeClick = (node: any) => {
|
|
|
deptName.value = node.name
|
|
deptName.value = node.name
|
|
|
handleQuery()
|
|
handleQuery()
|
|
@@ -53,6 +91,17 @@ const resetQuery = () => {
|
|
|
deptName.value = '四川瑞都'
|
|
deptName.value = '四川瑞都'
|
|
|
handleQuery()
|
|
handleQuery()
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+onMounted(() => {
|
|
|
|
|
+ syncQueryFromRoute()
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+watch(
|
|
|
|
|
+ () => [route.query.createTime, route.query.activeTab, route.query.view, route.query.defaultView],
|
|
|
|
|
+ () => {
|
|
|
|
|
+ syncQueryFromRoute()
|
|
|
|
|
+ }
|
|
|
|
|
+)
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
<template>
|
|
@@ -125,6 +174,7 @@ const resetQuery = () => {
|
|
|
v-if="activeTab === '日报统计'"
|
|
v-if="activeTab === '日报统计'"
|
|
|
:query="query"
|
|
:query="query"
|
|
|
:dept-name="deptName"
|
|
:dept-name="deptName"
|
|
|
|
|
+ :default-view="defaultView"
|
|
|
:refresh-key="refreshKey" />
|
|
:refresh-key="refreshKey" />
|
|
|
<NonProductionEfficiency
|
|
<NonProductionEfficiency
|
|
|
v-else
|
|
v-else
|