|
|
@ -7,20 +7,16 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div class="page-container"> |
|
|
<div class="page-container"> |
|
|
<div class="glass-card"> |
|
|
<div class="glass-card"> |
|
|
<!-- 头部介绍区域 --> |
|
|
|
|
|
<div class="header"> |
|
|
|
|
|
<a-space size="middle"> |
|
|
|
|
|
<div class="icon-wrapper"> |
|
|
|
|
|
<CommentOutlined class="icon" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div> |
|
|
|
|
|
<h2 class="title">{{ pageTitle }} - 评议工单管理</h2> |
|
|
|
|
|
<p class="subtitle">数据来源大类:警务评议 | 业务来源小类:{{ currentBizTypeName }}</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
</a-space> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="content-box"> |
|
|
<div class="content-box"> |
|
|
|
|
|
<!-- Tab 切换区域 --> |
|
|
|
|
|
<a-tabs v-model:activeKey="activeTab" @change="onTabChange" class="custom-tabs"> |
|
|
|
|
|
<a-tab-pane key="mine" tab="我的" /> |
|
|
|
|
|
<a-tab-pane key="todo" tab="待办" /> |
|
|
|
|
|
<a-tab-pane key="expiring" tab="即将超期" /> |
|
|
|
|
|
<a-tab-pane key="expired" tab="已超期" /> |
|
|
|
|
|
<a-tab-pane key="all" tab="全部" /> |
|
|
|
|
|
</a-tabs> |
|
|
|
|
|
|
|
|
<!-- 头部查询过滤区域 --> |
|
|
<!-- 头部查询过滤区域 --> |
|
|
<a-form layout="inline" class="query-form"> |
|
|
<a-form layout="inline" class="query-form"> |
|
|
<a-form-item label="工单编号"> |
|
|
<a-form-item label="工单编号"> |
|
|
@ -119,7 +115,7 @@ |
|
|
import { ref, computed, reactive, onMounted } from 'vue'; |
|
|
import { ref, computed, reactive, onMounted } from 'vue'; |
|
|
import { useRoute } from 'vue-router'; |
|
|
import { useRoute } from 'vue-router'; |
|
|
import { message, Modal } from 'ant-design-vue'; |
|
|
import { message, Modal } from 'ant-design-vue'; |
|
|
import { CommentOutlined, PlusOutlined, DeleteOutlined } from '@ant-design/icons-vue'; |
|
|
import { PlusOutlined, DeleteOutlined } from '@ant-design/icons-vue'; |
|
|
import { wtczApi } from '/@/api/business/jwpy/wtcz-api'; |
|
|
import { wtczApi } from '/@/api/business/jwpy/wtcz-api'; |
|
|
import { PAGE_SIZE_OPTIONS } from '/@/constants/common-const'; |
|
|
import { PAGE_SIZE_OPTIONS } from '/@/constants/common-const'; |
|
|
import WtczForm from './wtcz-form.vue'; |
|
|
import WtczForm from './wtcz-form.vue'; |
|
|
@ -131,6 +127,15 @@ import { useDictStore } from '/@/store/modules/system/dict.js'; |
|
|
|
|
|
|
|
|
const route = useRoute(); |
|
|
const route = useRoute(); |
|
|
|
|
|
|
|
|
|
|
|
// ---------------------------- Tab 切换状态 ---------------------------- |
|
|
|
|
|
const activeTab = ref('all'); |
|
|
|
|
|
|
|
|
|
|
|
// Tab 切换事件处理 |
|
|
|
|
|
function onTabChange(key) { |
|
|
|
|
|
queryForm.pageNum = 1; |
|
|
|
|
|
queryData(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 从路径提取业务小类码,传给后端分页接口进行过滤 |
|
|
// 从路径提取业务小类码,传给后端分页接口进行过滤 |
|
|
const currentBizTypeCode = computed(() => { |
|
|
const currentBizTypeCode = computed(() => { |
|
|
const path = route.path; |
|
|
const path = route.path; |
|
|
@ -184,6 +189,7 @@ const queryFormDefault = { |
|
|
lxdh: undefined, |
|
|
lxdh: undefined, |
|
|
qzmyqk: undefined, |
|
|
qzmyqk: undefined, |
|
|
sjlyNo: undefined, |
|
|
sjlyNo: undefined, |
|
|
|
|
|
tabType: 'all', |
|
|
pageNum: 1, |
|
|
pageNum: 1, |
|
|
pageSize: 10, |
|
|
pageSize: 10, |
|
|
}; |
|
|
}; |
|
|
@ -199,6 +205,8 @@ async function queryData() { |
|
|
try { |
|
|
try { |
|
|
// 注入当前菜单路由代表的小类过滤编码 |
|
|
// 注入当前菜单路由代表的小类过滤编码 |
|
|
queryForm.sjlyNo = currentBizTypeCode.value; |
|
|
queryForm.sjlyNo = currentBizTypeCode.value; |
|
|
|
|
|
// 注入当前 Tab 状态传给后端 |
|
|
|
|
|
queryForm.tabType = activeTab.value; |
|
|
const res = await wtczApi.queryPage(queryForm); |
|
|
const res = await wtczApi.queryPage(queryForm); |
|
|
tableData.value = res.data?.list || []; |
|
|
tableData.value = res.data?.list || []; |
|
|
total.value = res.data?.total || 0; |
|
|
total.value = res.data?.total || 0; |
|
|
|