|
@@ -0,0 +1,238 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <el-row class="handle-box" style="margin-bottom: 10px">
|
|
|
+ <el-col :span="24">
|
|
|
+ <span>买受人 </span>
|
|
|
+ <el-input v-model="search.buyerName" class="ch-input ch-input-size" placeholder="买受人" size="small" @keyup.enter.native="handleSearch()" />
|
|
|
+ <span>房屋 </span>
|
|
|
+ <el-input v-model="search.houseName" class="ch-input ch-input-size" placeholder="房屋" size="small" @keyup.enter.native="handleSearch()" />
|
|
|
+ <span>合同状态 </span>
|
|
|
+ <el-select
|
|
|
+ v-model="search.status"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ placeholder="合同状态"
|
|
|
+ :popper-append-to-body="false"
|
|
|
+ popper-class="statistic_base"
|
|
|
+ size="small"
|
|
|
+ @change="handleSearch"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in dc_data.CONTRACT_STATUS"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ :popper-append-to-body="false"
|
|
|
+ popper-class="statistic_base"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ <span>签约日期 </span>
|
|
|
+ <el-date-picker
|
|
|
+ v-model="search.signingDateFrom"
|
|
|
+ popper-class="statistic_base"
|
|
|
+ type="date"
|
|
|
+ placeholder="年月日"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ />
|
|
|
+ <span>至 </span>
|
|
|
+ <el-date-picker
|
|
|
+ v-model="search.signingDateTo"
|
|
|
+ popper-class="statistic_base"
|
|
|
+ type="date"
|
|
|
+ placeholder="年月日"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ />
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="handle-box" style="margin-bottom: 10px">
|
|
|
+ <el-col :span="24" style="margin-top: 20px">
|
|
|
+ <el-button class="ch-button-warning" size="small" style="float: right" @click="handleReset()"><i class="el-icon-search" /> 重置</el-button>
|
|
|
+ <el-button class="ch-button" size="small" style="float: right" @click="handleSearch()"><i class="el-icon-search" /> 查询</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="handle-box">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-table v-loading="loading" :data="AllData" row-class-name="g_table_row" stripe>
|
|
|
+ <el-table-column type="index" width="60" />
|
|
|
+ <el-table-column label="合同编号" prop="contractNumber" />
|
|
|
+ <el-table-column label="买受人" prop="buyerName" width="200" />
|
|
|
+ <el-table-column label="房屋" prop="houseName" width="200" />
|
|
|
+ <el-table-column label="实测建筑面积(㎡)" prop="actualBuildArea" width="110" />
|
|
|
+ <el-table-column label="专项维修资金单价(元/㎡)" prop="maintenanceFunds" />
|
|
|
+ <el-table-column label="应收专项维修资金(元)" prop="maintenanceTotalPrice" />
|
|
|
+ <el-table-column label="已收专项维修资金(元)" prop="receivedMoney" />
|
|
|
+ <el-table-column label="收款状态" prop="fundCollectionStatusStr" width="110">
|
|
|
+ <template scope="scope">
|
|
|
+ <span
|
|
|
+ :style="{'color':scope.row.fundCollectionStatusStr==='已退款'?'red':scope.row.fundCollectionStatusStr==='已收款'?'green':'gray'}"
|
|
|
+ >
|
|
|
+ {{ scope.row.fundCollectionStatusStr }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column header-align="center" label="操作" width="180">
|
|
|
+ <template scope="scope">
|
|
|
+ <el-button size="mini" type="text" @click="handleEdit(scope.row)">收款登记</el-button>
|
|
|
+ <el-button size="mini" type="text" @click="handleView(scope.row)">查看</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <div class="table-page">
|
|
|
+ <el-pagination
|
|
|
+ :current-page.sync="currentPage"
|
|
|
+ :page-sizes="[10, 20, 50, 100]"
|
|
|
+ :page-size="pageSize"
|
|
|
+ background
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="allpage"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <!-- 收款登记 -->
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ title=""
|
|
|
+ width="90%"
|
|
|
+ top="20px"
|
|
|
+ class="statistic_base"
|
|
|
+ :append-to-body="true"
|
|
|
+ :modal-append-to-body="true"
|
|
|
+ custom-class="tagdialog"
|
|
|
+ @close="getData"
|
|
|
+ >
|
|
|
+ <add-funds v-if="dialogVisible" ref="addFunds" @cancel="cancel" />
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import Base from '@/views/base/base'
|
|
|
+import BaseData from '@/views/base/baseData'
|
|
|
+import AddFunds from '@/views/receiveRefundsManagement/maintenanceFundsManagement/addFunds.vue'
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'ContractIndex',
|
|
|
+ components: { AddFunds },
|
|
|
+ mixins: [Base, BaseData],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ dc_key: ['CONTRACT_STATUS', 'MAINTENANCE_FUNDS_STATUS'],
|
|
|
+ // 列表相关
|
|
|
+ search: {
|
|
|
+ },
|
|
|
+ AllData: [],
|
|
|
+ loading: false,
|
|
|
+ // 弹框相关
|
|
|
+ dialogVisible: false,
|
|
|
+ dialogTitle: '新增'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.initDict(this.dc_key).then((res) => {
|
|
|
+ this.getData()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+
|
|
|
+ getData: function() {
|
|
|
+ const _this = this
|
|
|
+ _this.loading = true
|
|
|
+ _this.AllData = []
|
|
|
+
|
|
|
+ this.search.pageNum = this.currentPage
|
|
|
+ this.search.pageSize = this.pageSize
|
|
|
+ this.baseRequest('list', this.search).then((res) => {
|
|
|
+ if (res.data.rows) {
|
|
|
+ res.data.rows.forEach(function(item) {
|
|
|
+ const json = _this.getItemJson(item)
|
|
|
+ _this.AllData.push(json)
|
|
|
+ })
|
|
|
+ _this.allpage = res.data.total
|
|
|
+ }
|
|
|
+ _this.loading = false
|
|
|
+ }).catch((e) => {
|
|
|
+ // console.log(e)
|
|
|
+ })
|
|
|
+ // this.initOutData()
|
|
|
+ },
|
|
|
+ handleSearch: function() {
|
|
|
+ this.getData()
|
|
|
+ },
|
|
|
+ handleReset: function() {
|
|
|
+ for (const i in this.search) {
|
|
|
+ if (i !== 'pageNum' && i !== 'pageSize') {
|
|
|
+ this.search[i] = ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.handleSearch()
|
|
|
+ },
|
|
|
+ getItemJson: function(item) {
|
|
|
+ item.fundCollectionStatusStr = this.dc_map.MAINTENANCE_FUNDS_STATUS[item.fundCollectionStatus]
|
|
|
+ return item
|
|
|
+ },
|
|
|
+ /* 编辑*/
|
|
|
+ handleEdit: function(val) {
|
|
|
+ this.dialogVisible = true
|
|
|
+ this.dialogTitle = '签约'
|
|
|
+ val.isView = false
|
|
|
+ // 新vue时调用的方法
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.addFunds.initData(val)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleView(val) {
|
|
|
+ this.dialogVisible = true
|
|
|
+ this.dialogTitle = '查看'
|
|
|
+ val.isView = true
|
|
|
+ // 新vue时调用的方法
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.addFunds.initData(val)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ cancel: function() {
|
|
|
+ this.dialogVisible = false
|
|
|
+ },
|
|
|
+ baseRequest(opUrl, postData) {
|
|
|
+ return this.$channel.globeRequest('MaintenanceFundsManagementController', opUrl, postData, 'project')
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+ .ch-input .el-input__inner {
|
|
|
+ border-color: #32323A;
|
|
|
+ }
|
|
|
+ .ch-input-size {
|
|
|
+ width: 150px;
|
|
|
+ }
|
|
|
+ .ch-button {
|
|
|
+ border-color: #32323A;
|
|
|
+ background-color: #32323A;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ .ch-button-warning {
|
|
|
+ margin-left: 10px;
|
|
|
+ border-color: #E6A23C;
|
|
|
+ background-color: #E6A23C;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ .ch-button-export {
|
|
|
+ margin-left: 10px;
|
|
|
+ border-color: #98CC1F;
|
|
|
+ background-color: #98CC1F;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ /deep/.el-dialog__header {
|
|
|
+ padding: 10px 20px;
|
|
|
+ }
|
|
|
+ /deep/.el-dialog__body {
|
|
|
+ padding: 10px 20px;
|
|
|
+ }
|
|
|
+</style>
|