费用结算报表+费用推送审核-页面
This commit is contained in:
parent
b2aace1c98
commit
cb178bb9b0
|
|
@ -0,0 +1,201 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container" id="costApplyList">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||||
|
<el-form-item label="结算单位" prop="unitId">
|
||||||
|
<el-select v-model="queryParams.unitId" placeholder="请选择结算单位" clearable filterable>
|
||||||
|
<el-option v-for="item in unitList" :key="item.unitId" :label="item.unitName" :value="item.unitId" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="结算工程" prop="projectIds">
|
||||||
|
<el-cascader
|
||||||
|
v-model="queryParams.projectIds"
|
||||||
|
:options="projectList"
|
||||||
|
:props="{ checkStrictly: true, multiple: true, label: 'projectName', value: 'projectId' }"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
></el-cascader>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="协议号" prop="agreementNo">
|
||||||
|
<el-input v-model="queryParams.agreementNo" placeholder="请输入协议号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- 推送月份 -->
|
||||||
|
<el-form-item label="推送月份" prop="pushMonth">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="queryParams.pushMonth"
|
||||||
|
type="month"
|
||||||
|
placeholder="选择月份"
|
||||||
|
value-format="yyyy-MM"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="结算状态" prop="sltStatus">
|
||||||
|
<el-select v-model="queryParams.sltStatus" placeholder="请选择结算状态" clearable filterable>
|
||||||
|
<el-option v-for="item in statusList" :key="item.id" :label="item.name" :value="item.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="审核状态" prop="auditStatus">
|
||||||
|
<el-select v-model="queryParams.auditStatus" placeholder="请选择审核状态" clearable filterable>
|
||||||
|
<el-option v-for="item in auditList" :key="item.id" :label="item.name" :value="item.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button type="primary" plain size="mini" icon="el-icon-download" @click="handleExport">导出数据</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button type="primary" plain size="mini" icon="el-icon-plus" @click="handleSubmit">提交</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="agreementList" border ref="tableRef" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<el-table-column
|
||||||
|
align="center"
|
||||||
|
label="序号"
|
||||||
|
type="index"
|
||||||
|
:index="indexContinuation(queryParams.pageNum, queryParams.pageSize)"
|
||||||
|
/>
|
||||||
|
<el-table-column label="协议号" align="center" prop="agreementNo" show-overflow-tooltip />
|
||||||
|
<el-table-column label="单位名称" align="center" prop="unitName" show-overflow-tooltip />
|
||||||
|
<el-table-column label="工程名称" align="center" prop="projectName" show-overflow-tooltipp />
|
||||||
|
<el-table-column label="推送月份" align="center" prop="costData" show-overflow-tooltip />
|
||||||
|
<el-table-column label="租赁费用" align="center">
|
||||||
|
<template slot-scope="{ row }">
|
||||||
|
<span class="text-blue">{{ row.leaseExpense }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { getUnitList, getProjectList } from '@/api/claimAndRefund/receive'
|
||||||
|
import { getSltAgreementInfo } from '@/api/cost/cost'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: false,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 往来单位数据
|
||||||
|
unitList: [],
|
||||||
|
// 工程数据
|
||||||
|
projectList: [],
|
||||||
|
statusList: [
|
||||||
|
{ id: '', name: '全部' },
|
||||||
|
{ id: '0', name: '结算中' },
|
||||||
|
{ id: '1', name: '已结算' },
|
||||||
|
], //集合
|
||||||
|
auditList: [
|
||||||
|
{ id: '', name: '全部' },
|
||||||
|
{ id: '0', name: '未审核' },
|
||||||
|
{ id: '1', name: '已审核' },
|
||||||
|
],
|
||||||
|
// 表格数据
|
||||||
|
agreementList: [
|
||||||
|
{
|
||||||
|
agreementCode: '测试',
|
||||||
|
leaseExpense: 100.89,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
// 日期范围
|
||||||
|
dateRange: [],
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
keyWord: undefined,
|
||||||
|
sltStatus: '',
|
||||||
|
unitId: '',
|
||||||
|
projectId: '',
|
||||||
|
agreementNo: '', // 协议编号
|
||||||
|
pushMonth: '', // 推送月份
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// this.getList()
|
||||||
|
this.getUnitList()
|
||||||
|
this.getProjectList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//获取单位类型 ,getUnitList, getProjectList
|
||||||
|
getUnitList() {
|
||||||
|
getUnitList().then((response) => {
|
||||||
|
this.unitList = response.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getProjectList() {
|
||||||
|
getProjectList().then((response) => {
|
||||||
|
this.projectList = response.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 查询字典类型列表 */
|
||||||
|
getList() {
|
||||||
|
console.log('🚀 ~ getList ~ :', this.queryParams)
|
||||||
|
this.loading = true
|
||||||
|
getSltAgreementInfo(this.queryParams)
|
||||||
|
.then((response) => {
|
||||||
|
this.agreementList = response.rows
|
||||||
|
this.total = response.total
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
console.log('🚀 ~ getList ~ error:', error)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.dateRange = []
|
||||||
|
this.resetForm('queryForm')
|
||||||
|
this.handleQuery()
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map((item) => item)
|
||||||
|
console.log('🚀 ~ handleSelectionChange ~ this.ids:', this.ids)
|
||||||
|
},
|
||||||
|
// 导出
|
||||||
|
handleExport() {},
|
||||||
|
// 提交
|
||||||
|
handleSubmit() {
|
||||||
|
console.log('🚀 ~ handleSubmit ~ handleSubmit:')
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.text-blue {
|
||||||
|
color: #409eff;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,183 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container" id="costApplyList">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||||
|
<el-form-item label="结算单位" prop="unitId">
|
||||||
|
<el-select v-model="queryParams.unitId" placeholder="请选择结算单位" clearable filterable>
|
||||||
|
<el-option v-for="item in unitList" :key="item.unitId" :label="item.unitName" :value="item.unitId" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="结算工程" prop="projectIds">
|
||||||
|
<el-cascader
|
||||||
|
v-model="queryParams.projectIds"
|
||||||
|
:options="projectList"
|
||||||
|
:props="{ checkStrictly: true, multiple: true, label: 'projectName', value: 'projectId' }"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
></el-cascader>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="协议号" prop="agreementNo">
|
||||||
|
<el-input v-model="queryParams.agreementNo" placeholder="请输入协议号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="结算状态" prop="sltStatus">
|
||||||
|
<el-select v-model="queryParams.sltStatus" placeholder="请选择结算状态" clearable filterable>
|
||||||
|
<el-option v-for="item in statusList" :key="item.id" :label="item.name" :value="item.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button type="primary" plain size="mini" icon="el-icon-download" @click="handleExport">导出数据</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="agreementList" border ref="tableRef">
|
||||||
|
<el-table-column
|
||||||
|
align="center"
|
||||||
|
label="序号"
|
||||||
|
type="index"
|
||||||
|
:index="indexContinuation(queryParams.pageNum, queryParams.pageSize)"
|
||||||
|
/>
|
||||||
|
<el-table-column label="工程名称" align="center" prop="projectName" show-overflow-tooltipp />
|
||||||
|
<el-table-column label="往来单位" align="center" prop="unitName" show-overflow-tooltip />
|
||||||
|
<el-table-column label="协议号" align="center" prop="agreementNo" show-overflow-tooltip />
|
||||||
|
<el-table-column label="结算日期" align="center" prop="costData" show-overflow-tooltip />
|
||||||
|
<el-table-column label="租赁费用" align="center">
|
||||||
|
<template slot-scope="{ row }">
|
||||||
|
<span class="text-blue">{{ row.leaseExpense }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="维修费用" align="center">
|
||||||
|
<template slot-scope="{ row }">
|
||||||
|
<span>{{ row.maintainExpense }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="丢失费用" align="center">
|
||||||
|
<template slot-scope="{ row }">
|
||||||
|
<span>{{ row.loseExpense }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="总金额" align="center">
|
||||||
|
<template slot-scope="{ row }">
|
||||||
|
<span>{{ row.totalExpense }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { getUnitList, getProjectList } from '@/api/claimAndRefund/receive'
|
||||||
|
import { getSltAgreementInfo } from '@/api/cost/cost'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: false,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 往来单位数据
|
||||||
|
unitList: [],
|
||||||
|
// 工程数据
|
||||||
|
projectList: [],
|
||||||
|
statusList: [
|
||||||
|
{ id: '', name: '全部' },
|
||||||
|
{ id: '0', name: '结算中' },
|
||||||
|
{ id: '1', name: '已结算' },
|
||||||
|
], //集合
|
||||||
|
// 表格数据
|
||||||
|
agreementList: [
|
||||||
|
{
|
||||||
|
agreementCode: '测试',
|
||||||
|
leaseExpense: 100.89,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
// 日期范围
|
||||||
|
dateRange: [],
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
keyWord: undefined,
|
||||||
|
sltStatus: '',
|
||||||
|
unitId: '',
|
||||||
|
projectId: '',
|
||||||
|
agreementNo: '', // 协议编号
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// this.getList()
|
||||||
|
this.getUnitList()
|
||||||
|
this.getProjectList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//获取单位类型 ,getUnitList, getProjectList
|
||||||
|
getUnitList() {
|
||||||
|
getUnitList().then((response) => {
|
||||||
|
this.unitList = response.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getProjectList() {
|
||||||
|
getProjectList().then((response) => {
|
||||||
|
this.projectList = response.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 查询字典类型列表 */
|
||||||
|
getList() {
|
||||||
|
console.log('🚀 ~ getList ~ :', this.queryParams)
|
||||||
|
this.loading = true
|
||||||
|
getSltAgreementInfo(this.queryParams)
|
||||||
|
.then((response) => {
|
||||||
|
this.agreementList = response.rows
|
||||||
|
this.total = response.total
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
console.log('🚀 ~ getList ~ error:', error)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.dateRange = []
|
||||||
|
this.resetForm('queryForm')
|
||||||
|
this.handleQuery()
|
||||||
|
},
|
||||||
|
// 导出
|
||||||
|
handleExport() {},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.text-blue {
|
||||||
|
color: #409eff;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Loading…
Reference in New Issue