You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
273 lines
10 KiB
273 lines
10 KiB
<script setup> |
|
import useCatchStore from "@/stores/modules/catch"; |
|
import {getPageConditionVo} from "@/api/report/index"; |
|
import {timeFormat} from "@/utils/util"; |
|
import {getFlowNodeValue} from "@/enums/flowEnums"; |
|
import feedback from "@/utils/feedback"; |
|
import {BASE_PATH} from "@/api/request"; |
|
import {useRouter} from "vue-router"; |
|
const router = useRouter(); |
|
|
|
const total = ref(10) |
|
const loading =ref(false) |
|
const catchStore = useCatchStore(); |
|
const dict = catchStore.getDicts(["procurementMethod"]); |
|
const dictNode = ref([ |
|
{label:'项目进窗',value:'initial'}, |
|
{label:'进窗报审',value:'review'}, |
|
{label:'一审环节',value:'first'}, |
|
{label:'二审环节',value:'second'}, |
|
{label:'三审环节',value:'third'}, |
|
{label:'领导审核',value:'Lead'}, |
|
{label:'定案表审核',value:'original'}, |
|
{label:'审计报告',value:'audit'}, |
|
{label:'归档',value:'end'} |
|
]) |
|
|
|
const tableData = ref([]) |
|
const query =ref({ |
|
reportType:'all', |
|
code:"county", |
|
size:10, |
|
current:1 |
|
}) |
|
const getList = async ()=>{ |
|
loading.value=true; |
|
console.log(query.value) |
|
const res = await getPageConditionVo(query.value) |
|
tableData.value=res.records |
|
total.value=res.total |
|
loading.value=false; |
|
} |
|
//重置数据 |
|
const reset =()=>{ |
|
query.value={ |
|
reportType:'all', |
|
size:10, |
|
current:1 |
|
} |
|
getList(); |
|
} |
|
//获取详情 |
|
const getDetail =(row)=>{ |
|
let query ={ |
|
id: row.id, |
|
isEnd:row.reportType == '结算项目', |
|
node:row.node, |
|
backPath:'/statement/condition' |
|
} |
|
router.push({ |
|
path:"/warning/reportDetail",query:query |
|
}) |
|
console.log('详情',row) |
|
} |
|
|
|
//点击tab切换 |
|
const handleClick =(val)=>{ |
|
query.value.reportType=val.props.name; |
|
getList() |
|
} |
|
const handleExcel =async ()=>{ |
|
// await feedback.confirm("确定要导出数据吗"); |
|
window.open(`${BASE_PATH}/reportProject/excelConditionVo?` + new URLSearchParams(query.value).toString()) |
|
} |
|
onMounted(()=>{ |
|
getList() |
|
}) |
|
</script> |
|
|
|
<template> |
|
<div > |
|
<header class="mb-20 mt-20"> |
|
<el-form label-width="120"> |
|
<el-row> |
|
<el-col :span="6"> |
|
<el-form-item label="项目名称"> |
|
<el-input v-model="query.reportName" clearable></el-input> |
|
</el-form-item> |
|
</el-col> |
|
<el-col :span="6"> |
|
<el-form-item label="文号"> |
|
<el-input v-model="query.referenceNumber" clearable></el-input> |
|
</el-form-item> |
|
</el-col> |
|
<el-col :span="6"> |
|
<el-form-item label="项目类别"> |
|
<el-select v-model="query.projectType" clearable> |
|
<el-option value="服务类" label="服务类"></el-option> |
|
<el-option value="工程类" label="工程类"></el-option> |
|
<el-option value="货物类" label="货物类"></el-option> |
|
<el-option value="信息化类" label="信息化类"></el-option> |
|
</el-select> |
|
</el-form-item> |
|
</el-col> |
|
<el-col :span="6"> |
|
<el-form-item label="报审单位"> |
|
<depart-tree-select :auth="false" v-model="query.projectUnitId" |
|
:size="'default'" placeholder="请选择报审单位" clearable/> |
|
</el-form-item> |
|
</el-col> |
|
</el-row> |
|
<el-row> |
|
<el-col :span="6"> |
|
<el-form-item label="审计单位"> |
|
<depart-tree-select :auth="false" v-model="query.auditUnitId" |
|
:size="'default'" placeholder="请选择报审单位" clearable/> |
|
</el-form-item> |
|
</el-col> |
|
<el-col :span="6"> |
|
<el-form-item label="采购方式"> |
|
<el-select v-model="query.purchaseMethod"> |
|
<el-option v-for="(item,index) in dict.procurementMethod" :key="index" |
|
:label="item.dictLabel" |
|
:value="item.dictValue" |
|
></el-option> |
|
</el-select> |
|
</el-form-item> |
|
</el-col> |
|
<el-col :span="6"> |
|
<el-form-item label="报审日期"> |
|
<el-date-picker |
|
value-format="YYYY-MM-DD HH:mm:ss" |
|
v-model="query.applicantDateTime" |
|
style="width: 100%" |
|
type="datetimerange" |
|
placeholder="选择报审日期" |
|
/> |
|
</el-form-item> |
|
</el-col> |
|
<el-col :span="6"> |
|
<el-form-item label="进度"> |
|
<el-select v-model="query.node"> |
|
<el-option v-for="(item,index) in dictNode" :value="item.value" :label="item.label"></el-option> |
|
</el-select> |
|
</el-form-item> |
|
</el-col> |
|
</el-row> |
|
<el-row> |
|
<el-col :span="6"> |
|
<el-form-item label="发文日期"> |
|
<el-date-picker |
|
value-format="YYYY-MM-DD HH:mm:ss" |
|
v-model="query.publicationTime" |
|
style="width: 100%" |
|
type="datetimerange" |
|
placeholder="选择发文日期" |
|
/> |
|
</el-form-item> |
|
</el-col> |
|
<el-col :span="6"> |
|
<el-form-item label="归档日期"> |
|
<el-date-picker |
|
value-format="YYYY-MM-DD HH:mm:ss" |
|
v-model="query.archivingTime" |
|
style="width: 100%" |
|
type="datetimerange" |
|
placeholder="选择归档日期" |
|
/> |
|
</el-form-item> |
|
</el-col> |
|
</el-row> |
|
<div class="flex end"> |
|
<div> |
|
<el-button type="primary" @click="handleExcel">导出</el-button> |
|
<el-button type="primary" @click="getList"> |
|
<template #icon> |
|
<icon name="el-icon-Search"/> |
|
</template> |
|
查询 |
|
</el-button |
|
> |
|
<el-button @click="reset">重置</el-button> |
|
</div> |
|
</div> |
|
</el-form> |
|
</header> |
|
<el-main> |
|
<div class="table-container"> |
|
<el-tabs v-model="query.reportType" @tab-click="handleClick"> |
|
<el-tab-pane label="全部" name="all"></el-tab-pane> |
|
<el-tab-pane label="项目控制价" name="项目控制价"></el-tab-pane> |
|
<el-tab-pane label="结算项目" name="结算项目"></el-tab-pane> |
|
</el-tabs> |
|
<el-table :data="tableData" v-loading="loading"> |
|
<el-table-column label="项目名称" prop="reportName" width="110"/> |
|
<el-table-column label="报审单位" prop="projectUnit" width="110"/> |
|
<el-table-column label="审计单位" prop="auditUnit" width="110"/> |
|
<el-table-column label="项目类型" prop="projectType" width="110"/> |
|
<el-table-column label="主要内容" prop="content" show-overflow-tooltip width="140"/> |
|
<el-table-column label="采购方式" prop="purchaseMethod" width="110"/> |
|
<el-table-column label="项目立项领导" prop="projectApprovalLead" width="130"/> |
|
<el-table-column label="报审日期" prop="applicantTime" min-width="130" > |
|
<template #default="{row}"> |
|
{{timeFormat(row.applicantTime)}} |
|
</template> |
|
</el-table-column> |
|
<el-table-column label="报审金额(元)" prop="reportMoney" min-width="130"/> |
|
<el-table-column label="审定金额(元)" prop="archivingMoney" min-width="130"/> |
|
<el-table-column label="审减金额(元)" prop="archivingReduceMoney" min-width="130"/> |
|
<el-table-column label="审减率" prop="reportName"> |
|
<template #default="{row}"> |
|
{{ Number(row.reductionRate).toFixed(2) }}% |
|
</template> |
|
</el-table-column> |
|
<el-table-column label="立项日期" prop="projectApprovalTime" min-width="130"> |
|
<template #default="{row}"> |
|
{{timeFormat(row.projectApprovalTime)}} |
|
</template> |
|
</el-table-column> |
|
<el-table-column label="施工(服务、供货)单位" prop="serviceUnit" min-width="180"/> |
|
<el-table-column label="施工(服务)期限起" prop="serviceStartTime" min-width="150"> |
|
<template #default="{row}"> |
|
{{timeFormat(row.serviceStartTime)}} |
|
</template> |
|
</el-table-column> |
|
<el-table-column label="施工(服务)期限起" prop="serviceStartTime" min-width="180"> |
|
<template #default="{row}"> |
|
{{timeFormat(row.serviceEndTime)}} |
|
</template> |
|
</el-table-column> |
|
<el-table-column label="审计报告审批领导" prop="approvalSupervisor" min-width="180"/> |
|
<el-table-column label="审计报告文号" prop="referenceNumber" min-width="150"/> |
|
<el-table-column label="发文日期" prop="publicationDate" min-width="130"> |
|
<template #default="{row}"> |
|
{{timeFormat(row.publicationDate)}} |
|
</template> |
|
</el-table-column> |
|
<el-table-column label="归档日期" prop="archiving" min-width="130"> |
|
<template #default="{row}"> |
|
{{timeFormat(row.archiving)}} |
|
</template> |
|
</el-table-column> |
|
<el-table-column label="进度" prop="node" > |
|
<template #default="{row}"> |
|
{{getFlowNodeValue(row.node)}} |
|
</template> |
|
</el-table-column> |
|
<el-table-column label="操作" fixed="right"> |
|
<template #default="{row}"> |
|
<el-button type="primary" link @click="getDetail(row)">详情</el-button> |
|
</template> |
|
</el-table-column> |
|
</el-table> |
|
</div> |
|
<div class="flex end mt-8"> |
|
<el-pagination |
|
@size-change="getList" |
|
@current-change="getList" |
|
:page-sizes="[10, 20, 50]" |
|
v-model:page-size="query.size" |
|
v-model:current-page="query.current" |
|
layout="total, sizes, prev, pager, next" |
|
:total="total" |
|
> |
|
</el-pagination> |
|
</div> |
|
</el-main> |
|
<p>列表根据权限范围,展示报审金额超20万的项目</p> |
|
</div> |
|
</template> |
|
|
|
<style scoped lang="scss"> |
|
|
|
</style>
|
|
|