Browse Source

feat: 进窗分为3个阶段

main
buaixuexideshitongxue 2 weeks ago
parent
commit
b7c1c458e1
  1. 51
      src/views/entryWindow/index.vue

51
src/views/entryWindow/index.vue

@ -13,14 +13,28 @@ const uid = userStore.user.userName;
const dict = catchStore.getDicts(["procurementMethod"]); const dict = catchStore.getDicts(["procurementMethod"]);
const tableData = ref([]) const tableData = ref([])
const ressDialog =ref(false) const ressDialog =ref(false)
const activeTab = ref('all')
const stageNodeMap = {
pending: ['initial', 'review'],
auditing: ['first', 'second', 'third', 'Lead'],
issued: ['original', 'audit', 'end']
}
const currentNodeOptions = Object.entries(FlowNodeEnum).map(([value, label]) => ({ value, label })) const currentNodeOptions = Object.entries(FlowNodeEnum).map(([value, label]) => ({ value, label }))
let query = ref({ const filteredNodeOptions = computed(() => {
const allowedNodes = stageNodeMap[activeTab.value]
if (!allowedNodes) {
return currentNodeOptions
}
return currentNodeOptions.filter(item => allowedNodes.includes(item.value))
})
const createDefaultQuery = () => ({
current: 1, current: 1,
size: 10, size: 10,
code:'all', code:'all',
nodeList: [], nodeList: [],
auditLevel: '' auditLevel: ''
}) })
let query = ref(createDefaultQuery())
let showRecord =ref(false) let showRecord =ref(false)
let total = ref(10) let total = ref(10)
let loading =ref(false) let loading =ref(false)
@ -82,9 +96,21 @@ const showRecordClose = ()=>{
showRecord.value=false showRecord.value=false
} }
const syncNodeListByTab = () => {
const allowedNodes = stageNodeMap[activeTab.value]
if (!allowedNodes) {
query.value.nodeList = []
return
}
query.value.nodeList = [...allowedNodes]
}
const handleClick =(val)=>{ const handleClick =(tab)=>{
query.value.code=val.props.name; const tabName = tab.props.name;
activeTab.value = tabName;
query.value.current = 1;
query.value.code = tabName === 'recessed' ? '1' : 'all';
syncNodeListByTab()
getList() getList()
} }
@ -116,13 +142,8 @@ const getList =async ()=>{
} }
// //
const reset =()=>{ const reset =()=>{
query.value = { query.value = createDefaultQuery();
current: 1, activeTab.value = 'all'
size: 10,
code:'all',
nodeList: [],
auditLevel: ''
};
getList(); getList();
} }
getList() getList()
@ -364,7 +385,7 @@ const isAdminShow = ()=>{
collapse-tags-tooltip collapse-tags-tooltip
> >
<el-option <el-option
v-for="item in currentNodeOptions" v-for="item in filteredNodeOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@ -423,10 +444,12 @@ const isAdminShow = ()=>{
</div> </div>
</header> </header>
<div class="table-container"> <div class="table-container">
<el-tabs v-model="query.code" @tab-click="handleClick"> <el-tabs v-model="activeTab" @tab-click="handleClick">
<el-tab-pane label="全部" name="all"></el-tab-pane> <el-tab-pane label="全部" name="all"></el-tab-pane>
<el-tab-pane label="进窗" name="0"></el-tab-pane> <el-tab-pane label="待受理" name="pending"></el-tab-pane>
<el-tab-pane label="退窗" name="1"></el-tab-pane> <el-tab-pane label="审计中" name="auditing"></el-tab-pane>
<el-tab-pane label="已发文" name="issued"></el-tab-pane>
<el-tab-pane label="退窗" name="recessed"></el-tab-pane>
</el-tabs> </el-tabs>
<el-table :data="tableData" v-loading="loading"> <el-table :data="tableData" v-loading="loading">
<el-table-column label="项目名称" prop="reportName" width="200" /> <el-table-column label="项目名称" prop="reportName" width="200" />

Loading…
Cancel
Save