#12 单园区物业收费率统计

Merged
Liwei merged 2 commits from feature_approval into develop 3 years ago
  1. +8
    -0
      src/views/property/carPort.vue
  2. +73
    -126
      src/views/reportform/chargeRate.vue
  3. +57
    -70
      src/views/reportform/monthCharge.vue

+ 8
- 0
src/views/property/carPort.vue View File

@ -18,6 +18,7 @@
<el-table-column :label="getColumnName('carportid')" align="center" prop="carportid" :show-overflow-tooltip="true" width="100" />
<el-table-column :label="getColumnName('propertyid')" align="center" prop="propertyid" width="110" :show-overflow-tooltip="true" />
<el-table-column :label="getColumnName('propertytypeid')" align="center" prop="propertytypeid" :show-overflow-tooltip="true" width="120" />
<el-table-column :label="getColumnName('rentouttypeid')" align="center" prop="rentouttypeid" :show-overflow-tooltip="true" width="120" />
<el-table-column :label="getColumnName('descr')" prop="descr" align="center" width="120" :show-overflow-tooltip="true" />
<el-table-column :label="getColumnName('contact')" prop="contact" align="center" width="100" :show-overflow-tooltip="true" />
<el-table-column :label="getColumnName('phone')" prop="phone" align="center" width="120" :show-overflow-tooltip="true" />
@ -67,6 +68,7 @@
<!-- 添加或修改角色配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px">
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-row>
<el-col :span="12">
<el-form-item :label="getColumnName('carportid')" prop="carportid">
<el-input v-model="form['carportid']" :disabled="!isAdd" />
@ -81,6 +83,11 @@
<el-form-item :label="getColumnName('propertytypeid')">
<el-input v-model="form['propertytypeid']" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="getColumnName('rentouttypeid')">
<el-input v-model="form['rentouttypeid']" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="getColumnName('descr')">
@ -114,6 +121,7 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>


+ 73
- 126
src/views/reportform/chargeRate.vue View File

@ -12,87 +12,64 @@
/>
</el-select>
</el-form-item>
<el-form-item label="起始日期">
<el-form-item label="年份">
<el-date-picker v-model="queryParams.startDate"
type="month"
value-format="yyyy-MM"
type="year"
value-format="yyyy"
placeholder="请选择"
clearable
size="small"/>
</el-form-item>
<el-form-item label="结束日期">
<el-date-picker v-model="queryParams.endDate"
type="month"
value-format="yyyy-MM"
placeholder="请选择"
clearable
size="small"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
</el-form-item>
</el-form>
<div class="clearfix">
<span>园区物业费收费率</span>
<span class="fr">数据统计时间{{currentDate}}</span>
</div>
<el-table v-loading="loading" :data="dataList" border>
<el-table-column prop="cidname" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="totalhouseholds" label="总户数(个)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="constructionarea" label="建筑面积(㎡)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="unitprice" label="单价(元/㎡·月)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="start_date" label="起始日期" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="end_date" label="结束日期" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="length_date" label="收费周期" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="expect_money" label="预计物业费金额(万元)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="receivable_money" label="实际缴费金额(万元)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="percent" label="收费率(%)" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ (scope.row.percent*10000/100).toFixed(1) }}%</span>
</template>
</el-table-column>
</el-table>
<div style="margin-top:50px;" class="clearfix">
<span>楼栋物业费收费率</span>
<span class="fr">数据统计时间{{currentDate}}</span>
</div>
<el-table
v-loading="loading"
:data="dataBuildList"
border
max-height="300"
ref="table">
<el-table-column prop="buildingname" label="楼号" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="totalhouseholds" label="总户数(个)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="constructionarea" label="建筑面积(㎡)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="unitprice" label="单价(元/㎡·月)" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.cid === -1"></span>
<span v-else>{{ scope.row.unitprice }}</span>
</template>
</el-table-column>
<el-table-column prop="start_date" label="起始日期" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="end_date" label="结束日期" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="length_date" label="收费周期" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.cid === -1"></span>
<span v-else>{{ scope.row.length_date }}</span>
</template>
</el-table-column>
<el-table-column prop="expect_money" label="预计缴费金额(万元)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="receivable_money" label="实际缴费金额(万元)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="percent" label="收费率(%)" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ (scope.row.percent*10000/100).toFixed(1) }}%</span>
</template>
</el-table-column>
<el-table-column prop="difference_value" label="差值(%)" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.cid === -1"></span>
<span v-else>{{ (scope.row.difference_value*10000/100).toFixed(1) }}%</span>
</template>
</el-table-column>
</el-table>
<el-tabs v-model="activeName" type="card">
<el-tab-pane label="园区物业费基本信息" name="first">
<el-table v-loading="loading" :data="dataList" border max-height="600">
<el-table-column prop="cidname" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="totalhouseholds" label="总户数(个)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="constructionarea" label="建筑面积(㎡)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="unitprice" label="单价(元/㎡·月)" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="expect_money" label="预计全年物业费金额(万元)" :show-overflow-tooltip="true"></el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="园区物业费收费率" name="second">
<el-table v-loading="loading" :data="dataParkList" border max-height="600">
<el-table-column prop="name" label="月份" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="one" label="1月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="two" label="2月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="three" label="3月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="four" label="4月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="five" label="5月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="six" label="6月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="seven" label="7月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="eight" label="8月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="nine" label="9月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="ten" label="10月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="eleven" label="11月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="twelve" label="12月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="all" label="合计" :show-overflow-tooltip="true"></el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="楼栋物业费收费率" name="third">
<el-table v-loading="loading" :data="dataBuildList" border max-height="600">
<el-table-column prop="name" label="月份" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="one" label="1月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="two" label="2月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="three" label="3月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="four" label="4月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="five" label="5月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="six" label="6月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="seven" label="7月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="eight" label="8月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="nine" label="9月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="ten" label="10月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="eleven" label="11月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="twelve" label="12月" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="all" label="合计" :show-overflow-tooltip="true"></el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</template>
@ -100,75 +77,45 @@
import { propertyFeeData } from '@/api/reportform'
import moment from 'moment'
export default {
name: 'ExpireReport',
name: 'ChangeRate',
data() {
return {
cidList:JSON.parse(localStorage.cid) || [], //
role:localStorage.role,
//
dataList: [],
dataBuildList: [],
//
// headers: [],
// headersBuild: [],
//
loading: true,
//
total: 0,
//
queryParams: {
role:localStorage.role, //
activeName: 'first', //
dataList: [], //
dataParkList: [], //
dataBuildList: [], //
loading: true, //
total: 0, //
queryParams: { //
cid: undefined,
startDate: moment().subtract(1,'M').format('YYYY-MM'),
endDate: moment().format('YYYY-MM'),
startDate: moment().format('YYYY'),
},
currentDate: moment().format('YYYY-MM-DD')
currentDate: moment().format('YYYY-MM-DD'), //
}
},
created() {
this.getList()
},
methods: {
/** 查询角色列表 */
//
getList() {
this.loading = true
propertyFeeData(this.queryParams).then(
response => {
this.dataList = response.data.cat_arr
this.dataBuildList = response.data.build_arr
// this.headers = [
// 'cidname',
// 'totalhouseholds',
// 'constructionarea',
// 'unitprice',
// 'start_date',
// 'end_date',
// 'length_date',
// 'expect_money',
// 'receivable_money',
// 'percent'
// ]
// this.headersBuild = [
// 'buildingname',
// 'totalhouseholds',
// 'constructionarea',
// 'unitprice',
// 'start_date',
// 'end_date',
// 'length_date',
// 'expect_money',
// 'receivable_money',
// 'percent',
// 'difference_value'
// ]
this.loading = false
}
)
propertyFeeData(this.queryParams).then(({code, data}) => {
if (code == 200) {
this.dataList = data['build_arr'] || []
this.dataParkList = data['park_statistics'] || []
this.dataBuildList = data['building_statistics'] || []
}
this.loading = false
})
},
/** 搜索按钮操作 */
//
handleQuery() {
if (!this.queryParams.startDate || !this.queryParams.endDate) {
if (!this.queryParams.startDate) {
this.$message({
message: '请选择开始日期和结束日期',
message: '请选择年份',
type: 'error'
})
return


+ 57
- 70
src/views/reportform/monthCharge.vue View File

@ -8,17 +8,11 @@
:key="item.cid"
:label="item.descr"
:value="item.cid"
clear="false"
/>
clear="false" />
</el-select>
</el-form-item>
<el-form-item label="缴费类型:">
<el-select
ref="headerSearchSelect"
v-model="queryParams.chargetype"
clearable
size="small"
>
<el-select v-model="queryParams.chargetype" clearable size="small">
<el-option v-for="item in feesType" :key="item.value" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
@ -29,48 +23,27 @@
placeholder="请选择"
clearable
size="small"/>
</el-form-item>
<el-form-item label="陈欠周期">
<el-input
placeholder="请输入"
clearable
size="small"
v-model="queryParams.owe"></el-input>
</el-form-item>
<el-form-item label="预缴周期">
<el-input
placeholder="请输入"
clearable
size="small"
v-model="queryParams.prepay"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<!-- <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport">导出</el-button> -->
</el-form-item>
<div>
<el-form-item label="陈欠收费金额:">
{{ chenQianCharge }}
</el-form-item>
<el-form-item label="当期收费金额:">
{{ currentCharge }}
</el-form-item>
<el-form-item label="预缴收费金额:">
{{ prepayCharge }}
</el-form-item>
<el-form-item label="实缴金额:">
{{ paidInCharge }}
</el-form-item>
<el-form-item label="陈欠收费金额:"> {{ chenQianCharge }} </el-form-item>
<el-form-item label="当期收费金额:"> {{ currentCharge }} </el-form-item>
<el-form-item label="预缴收费金额:"> {{ prepayCharge }} </el-form-item>
<el-form-item label="实缴金额:"> {{ paidInCharge }} </el-form-item>
</div>
</el-form>
<el-table v-loading="loading" :data="dataList" border>
<el-table-column v-for="(item, index) in headers" :key="index" align="center" :label="getColumnName(item)" width="120px" :show-overflow-tooltip="true">
<el-table-column
v-for="(item, index) in headers"
:key="index"
align="center"
:label="getColumnName(item)"
:show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if=" item === 'cid'">{{ getValue(scope.row[item]) }}</span>
<span v-else-if=" item === 'chargetype'">{{ scope.row[item] === 2 ? '电梯卡费' : scope.row[item] === 3 ? '车位费' : '物业费' }}</span>
<span v-else-if=" item === 'status'">{{ scope.row[item] === 0 ? '已缴费' : '未缴费' }}</span>
<span v-else-if=" item === 'lastmodifytime'">{{ parseTime(scope.row.createtime) }}</span>
<span v-else-if=" item === 'createtime'">{{ parseTime(scope.row.createtime) }}</span>
<span v-else-if=" item === 'chargetype'">{{ feesTypeEcho(scope.row[item]) }}</span>
<span v-else>{{ scope.row[item] }}</span>
</template>
</el-table-column>
@ -90,34 +63,36 @@
import { chargeTotalPage } from '@/api/reportform'
import moment from 'moment'
export default {
name: 'ExpireReport',
name: 'monthCharge',
data() {
return {
cidList:JSON.parse(localStorage.cid) || [], //
role:localStorage.role,
//
dataList: [],
//
headers: [],
//
loading: true,
//
total: 0,
cidList: JSON.parse(localStorage.cid) || [], //
role: localStorage.role, //
dataList: [], //
headers1: [ //
'cid','chargetype','chargetime','propertyid','begdate','enddate','lengthdate','constructionarea','unitprice',
'realMoney','oweMoney','NowMoney','prepayMoney'],
headers2: [ //
'cid','chargetype','chargetime','propertyid','accesscardid','begdate','enddate','lengthdate',
'unitprice','realMoney','oweMoney','NowMoney','prepayMoney'],
headers3: [ //
'cid','chargetype','chargetime','propertyid','carportid','begdate','enddate','lengthdate','unitprice',
'allUnitprice','rentoutPrice','allRentoutPrice','realMoney','oweMoney','NowMoney','prepayMoney'],
headers: [],
loading: false, //
total: 0, //
chenQianCharge: 0, //
currentCharge: 0, //
prepayCharge: 0, //
paidInCharge: 0, //
//
queryParams: {
queryParams: { //
cid: undefined,
chargetype: 1,
startDate: moment().format('yyyy-MM'),
owe: 3,
prepay: 12,
pageIndex: 1,
pageSize: 10,
},
feesType: [
feesType: [ //
{ value: 1, label: '物业费' },
{ value: 2, label: '电梯卡费' },
{ value: 3, label: '车位费' }
@ -128,27 +103,39 @@ export default {
this.getList()
},
methods: {
/** 查询角色列表 */
//
getList() {
this.headers = []
if (this.queryParams.chargetype == 1) { //
this.headers = this.headers1
} else if (this.queryParams.chargetype == 2) { //
this.headers = this.headers2
} else { //
this.headers = this.headers3
}
this.loading = true
chargeTotalPage(this.queryParams).then(
response => {
this.dataList = response.data.data
this.total = response.data.count
this.chenQianCharge = response.data.total.oweMoneyTotal
this.currentCharge = response.data.total.NowMoneyTotal
this.prepayCharge = response.data.total.prepayMoneyTotal
this.paidInCharge = response.data.total.realMoneyTotal
if (this.dataList.length > 0) this.headers = Object.keys(this.dataList[0])
this.loading = false
}
)
chargeTotalPage(this.queryParams).then(({code, data}) => {
if (code === 200) {
this.dataList = data.data || []
this.total = data.count
this.chenQianCharge = data.total.oweMoneyTotal
this.currentCharge = data.total.NowMoneyTotal
this.prepayCharge = data.total.prepayMoneyTotal
this.paidInCharge = data.total.realMoneyTotal
}
this.loading = false
})
},
/** 搜索按钮操作 */
//
handleQuery() {
this.queryParams.pageIndex = 1
this.getList()
},
//
feesTypeEcho(data) {
const item = this.feesType.find(e=> e.value == data)
return item ? item.label : data
}
}
}
</script>

Loading…
Cancel
Save