LAPTOP-FO2T5SIU\35838 5 months ago
parent
commit
3055a7f430

+ 2 - 2
src/views/invoice/components/addInvoice.vue

@@ -113,7 +113,7 @@
                   <!--                      :value="item.value"-->
                   <!--                    />-->
                   <!--                  </el-select>-->
-                  <el-input v-model="form.invoiceTax" readonly />
+                  <el-input v-model="form.invoiceTax" />
                 </el-form-item>
               </el-col>
             </el-row>
@@ -207,7 +207,7 @@ export default {
             this.baseRequest('getBankTaxRateByFloor_2', data).then(res => {
                 if (res.data) {
                     this.form.invoiceSellerBank = res.data.invoiceSellerBank
-                    this.form.invoiceTax = res.data.invoiceTax
+                    this.form.invoiceTax = res.data.invoiceTax == null ? '0' : res.data.invoiceTax
                 }
             })
         },

+ 3 - 4
src/views/invoice/formalInvoiceManage.vue

@@ -17,7 +17,7 @@
         <span>推送状态</span>
       </el-col>
       <el-col :span="4" class="col-input">
-        <el-select v-model="search.sendStatus" style="width: 100%" placeholder="请选择" >
+        <el-select v-model="search.sendStatus" style="width: 100%" placeholder="请选择">
           <el-option
             v-for="item in dc_data.SEND_STATUS"
             :key="item.value"
@@ -34,7 +34,6 @@
           v-model="search.invoiceStatus"
           style="width: 100%"
           filterable
-
         >
           <el-option
             v-for="item in dc_data.INVOICE_STATUS"
@@ -125,8 +124,8 @@
           <el-table-column label="网签备案号" prop="recordNumber" />
           <el-table-column label="买受人" prop="buyerName" width="200" />
           <el-table-column label="房屋" prop="houseName" width="200" />
-          <el-table-column label="应收(元)" prop="receivableMoney" />
-          <el-table-column label="已收(元)" prop="receivedMoney" />
+          <el-table-column label="应收(元)" prop="receivableMoney" width="100" />
+          <el-table-column label="已收(元)" prop="receivedMoney" width="100" />
           <el-table-column label="收款状态" prop="collectionStatusStr" width="110">
             <template scope="scope">
               <span

+ 270 - 46
src/views/reportForms/components/parkRoomIndexDetail.vue

@@ -97,28 +97,98 @@
           <el-row>
             <el-col :span="24">
               <el-table ref="multipleTable" v-loading="tabLoading" :data="tableData" style="width: 100%" size="mini">
-                  <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="fundView(scope.row)">查看</el-button>
-                      </template>
-                  </el-table-column>
+                <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="fundView(scope.row)">查看</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </el-col>
+          </el-row>
+        </el-tab-pane>
+        <el-tab-pane label="退房退款" name="退房退款">
+          <el-row>
+            <el-col :span="24">
+              <el-table ref="multipleTable" v-loading="tabLoading" :data="tableData" style="width: 100%" size="mini">
+                <el-table-column type="index" width="60" />
+                <el-table-column label="合同编号" prop="contractNumber" />
+                <el-table-column label="申请人" prop="applicant" width="200" />
+                <el-table-column label="买受人" prop="buyerName" width="200" />
+                <el-table-column label="房屋" prop="houseName" width="200" />
+                <el-table-column label="退房原因" prop="reasonStr" width="110" />
+                <el-table-column label="应退(元)" prop="refundAmount" />
+                <el-table-column label="实退(元)" prop="actualRefundAmount" />
+                <el-table-column label="扣除" prop="deductible" />
+                <el-table-column label="关联审批单号" prop="approvalNumber" />
+                <el-table-column header-align="center" label="操作" width="200">
+                  <template scope="scope">
+                    <el-button size="mini" type="text" @click="refundView(scope.row)">查看</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </el-col>
+          </el-row>
+        </el-tab-pane>
+        <el-tab-pane label="开票" name="开票">
+          <el-row>
+            <el-col :span="24">
+              <el-table ref="multipleTable" v-loading="tabLoading" :data="tableData" style="width: 100%" size="mini">
+                <el-table-column type="index" width="60" />
+                <el-table-column label="合同编号" prop="contractNumber" />
+                <el-table-column label="网签备案号" prop="recordNumber" />
+                <el-table-column label="买受人" prop="buyerName" width="200" />
+                <el-table-column label="房屋" prop="houseName" width="200" />
+                <el-table-column label="应收(元)" prop="receivableMoney" width="100" />
+                <el-table-column label="已收(元)" prop="receivedMoney" width="100" />
+                <el-table-column label="收款状态" prop="collectionStatusStr" width="110">
+                  <template scope="scope">
+                    <span
+                      :style="{'color':scope.row.collectionStatusStr==='已退款'?'red':scope.row.collectionStatusStr==='完全收款'?'green':'gray'}"
+                    >
+                      {{ scope.row.collectionStatusStr }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column label="推送状态" prop="sendStatusStr">
+                  <template scope="scope">
+                    <span
+                      style="color: green"
+                    >
+                      {{ scope.row.sendStatusStr }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column label="开票状态" prop="invoiceStatusStr">
+                  <template scope="scope">
+                    <span
+                      :style="{'color':scope.row.invoiceStatusStr==='已红冲'?'red':scope.row.invoiceStatusStr==='待开票'?'green':'gray'}"
+                    >
+                      {{ scope.row.invoiceStatusStr }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column header-align="center" label="操作" width="180">
+                  <template scope="scope">
+                    <el-button size="mini" type="text" @click="invoiceView(scope.row)">查看</el-button>
+                  </template>
+                </el-table-column>
               </el-table>
             </el-col>
           </el-row>
@@ -180,23 +250,69 @@
       <payment-registration v-if="dialogPayLogVisible" ref="paymentRegistration" @cancel="cancel" />
     </el-dialog>
 
-      <!-- 收款登记 -->
-      <el-dialog
-          :visible.sync="dialogFundVisible"
-          :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"
-      >
-          <add-funds v-if="dialogFundVisible" ref="addFunds" @cancel="cancel" />
-      </el-dialog>
+    <!-- 收款登记 -->
+    <el-dialog
+      :visible.sync="dialogFundVisible"
+      :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"
+    >
+      <add-funds v-if="dialogFundVisible" ref="addFunds" @cancel="cancel" />
+    </el-dialog>
+
+    <!-- 预收款登记 -->
+    <el-dialog
+      :visible.sync="dialogRefundVisible"
+      :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"
+    >
+      <add-refund v-if="dialogRefundVisible" ref="addRefund" @cancel="cancel" />
+    </el-dialog>
 
+    <!--正式开票-->
+    <el-dialog
+      :visible.sync="dialogFormalInvoiceVisible"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :title="dialogTitle"
+      width="90%"
+      top="20px"
+      class="statistic_base"
+      :append-to-body="true"
+      :modal-append-to-body="true"
+      custom-class="tagdialog"
+    >
+      <formal-invoice-manage-edit v-if="dialogFormalInvoiceVisible" ref="editInvoice" @cancel="cancel" />
+    </el-dialog>
 
+    <!--新增预收款发票-->
+    <el-dialog
+      :visible.sync="dialogInvoiceVisible"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :title="dialogTitle"
+      width="90%"
+      top="20px"
+      class="statistic_base"
+      :append-to-body="true"
+      :modal-append-to-body="true"
+      custom-class="tagdialog"
+    >
+      <add-invoice v-if="dialogInvoiceVisible" ref="addInvoice" @cancel="cancel" />
+    </el-dialog>
 
   </div>
 </template>
@@ -209,25 +325,33 @@ import ContractAdd from '@/views/signingManagement/contractManagement/contractAd
 import AddSubscribe from '@/views/customerManagement/subscribe/addSubscribe.vue'
 import PaymentRegistration from '@/views/receiveRefundsManagement/paymentManagement/paymentRegistration.vue'
 import AddFunds from '@/views/receiveRefundsManagement/maintenanceFundsManagement/addFunds.vue'
-
+import AddRefund from '@/views/receiveRefundsManagement/refundManagement/addRefund.vue'
+import FormalInvoiceManageEdit from '@/views/invoice/components/formalInvoiceManageEdit.vue'
+import AddInvoice from '@/views/invoice/components/addInvoice.vue'
 
 export default {
     name: 'ParkRoomIndexDetailVue',
-    components: { ContractAdd, ParkRoomIndexEdit, AddSubscribe, PaymentRegistration, AddFunds },
+    components: { ContractAdd, ParkRoomIndexEdit, AddSubscribe, PaymentRegistration, AddFunds, AddRefund,
+        FormalInvoiceManageEdit, AddInvoice },
     mixins: [Base, BaseData],
     data() {
         return {
-            dc_key: ['DEPOSIT_STATUS', 'PAYMENT_METHODS', 'CONTRACT_STATUS', 'HOUSE_PAYMENT_STATUS', 'MAINTENANCE_FUNDS_STATUS'],
+            dc_key: ['DEPOSIT_STATUS', 'PAYMENT_METHODS', 'CONTRACT_STATUS', 'HOUSE_PAYMENT_STATUS',
+                'MAINTENANCE_FUNDS_STATUS', 'CHECK_OUT_REASON', 'INVOICE_STATUS', 'SEND_STATUS'],
             activeName: '概览',
             houseId: '',
             tableData: [],
             tabLoading: false,
+            dialogTitle: '',
             dialogDepositVisible: false,
             dialogDepositTitle: '',
             dialogContractVisible: false,
             dialogContractTitle: '',
             dialogPayLogVisible: false,
-            dialogFundVisible: false
+            dialogFundVisible: false,
+            dialogRefundVisible: false,
+            dialogInvoiceVisible: false,
+            dialogFormalInvoiceVisible: false
 
         }
     },
@@ -258,8 +382,10 @@ export default {
                 this.getPaymentData()
             } else if (tab.name === '专项维修资金') {
                 this.getFundData()
+            } else if (tab.name === '退房退款') {
+                this.getRefundData()
             } else if (tab.name === '开票') {
-
+                this.getInvoiceData()
             }
         },
         getDepositData() {
@@ -307,7 +433,7 @@ export default {
             this.basePaymentRequest('listAll', postData).then((res) => {
                 if (res.data) {
                     res.data.forEach(function(item) {
-                        const json = _this.getPaymentJson(item)
+                        const json = _this.getPaymentItemJson(item)
                         _this.tableData.push(json)
                     })
                 }
@@ -325,7 +451,43 @@ export default {
             this.baseFundRequest('listAll', postData).then((res) => {
                 if (res.data) {
                     res.data.forEach(function(item) {
-                        const json = _this.getFundJson(item)
+                        const json = _this.getFundItemJson(item)
+                        _this.tableData.push(json)
+                    })
+                }
+                _this.tabLoading = false
+            }).catch((e) => {
+                // console.log(e)
+            })
+        },
+        getRefundData() {
+            const _this = this
+            _this.tabLoading = true
+            const postData = {
+                houseId: this.houseId
+            }
+            this.baseRefundRequest('listAll', postData).then((res) => {
+                if (res.data) {
+                    res.data.forEach(function(item) {
+                        const json = _this.getRefundItemJson(item)
+                        _this.tableData.push(json)
+                    })
+                }
+                _this.tabLoading = false
+            }).catch((e) => {
+                // console.log(e)
+            })
+        },
+        getInvoiceData: function() {
+            const _this = this
+            _this.tabLoading = true
+            const postData = {
+                houseId: this.houseId
+            }
+            this.baseInvoiceRequest('listAll', postData).then((res) => {
+                if (res.data) {
+                    res.data.forEach(function(item) {
+                        const json = _this.getInvoiceItemJson(item)
                         _this.tableData.push(json)
                     })
                 }
@@ -347,15 +509,38 @@ export default {
             item.contractStatusStr = this.dc_map.CONTRACT_STATUS[item.contractStatus]
             return item
         },
-        getPaymentJson: function(item) {
+        getPaymentItemJson: function(item) {
             item.paymentMethodStr = this.dc_map.PAYMENT_METHODS[item.paymentMethod]
             item.collectionStatusStr = this.dc_map.HOUSE_PAYMENT_STATUS[item.collectionStatus]
             return item
         },
-        getFundJson: function(item) {
+        getFundItemJson: function(item) {
             item.fundCollectionStatusStr = this.dc_map.MAINTENANCE_FUNDS_STATUS[item.fundCollectionStatus]
             return item
         },
+        getRefundItemJson: function(item) {
+            item.reasonStr = this.dc_map.CHECK_OUT_REASON[item.reason]
+            return item
+        },
+        getInvoiceItemJson: function(item) {
+            if (item.type == '1') {
+                item.invoiceStatusStr = this.dc_map.INVOICE_STATUS[item.invoiceStatus]
+                item.sendStatusStr = this.dc_map.SEND_STATUS[item.sendStatus]
+                item.collectionStatusStr = this.dc_map.HOUSE_PAYMENT_STATUS[item.collectionStatus]
+            }
+            if (item.type == '2') {
+                item.invoiceStatusStr = this.dc_map.INVOICE_STATUS[item.invoiceStatus]
+                item.sendStatusStr = this.dc_map.SEND_STATUS[item.sendStatus]
+                if (item.paymentType === '1') {
+                    item.collectionStatusStr = this.dc_map.HOUSE_PAYMENT_STATUS[item.collectionStatus]
+                }
+                if (item.paymentType === '2') {
+                    item.collectionStatusStr = this.dc_map.MAINTENANCE_FUNDS_STATUS[item.fundCollectionStatus]
+                }
+                item.paymentTypeStr = item.paymentType === '1' ? '房款' : '专项维修资金'
+            }
+            return item
+        },
         depositView(val) {
             this.dialogDepositVisible = true
             this.dialogDepositTitle = '查看'
@@ -390,11 +575,44 @@ export default {
                 this.$refs.addFunds.initData(val)
             })
         },
+        refundView(val) {
+            this.dialogRefundVisible = true
+            val.isView = true
+            // 新vue时调用的方法
+            this.$nextTick(() => {
+                this.$refs.addRefund.initData(val)
+            })
+        },
+        invoiceView(val) {
+            // 预收款发票
+            if (val.type == '1') {
+                this.dialogInvoiceVisible = true
+                this.dialogTitle = ''
+                val.isView = true
+                // 新vue时调用的方法
+                this.$nextTick(() => {
+                    this.$refs.addInvoice.initData(val)
+                })
+            }
+            // 正式发票
+            if (val.type == '2') {
+                this.dialogFormalInvoiceVisible = true
+                this.dialogTitle = ''
+                val.isView = true
+                // 新vue时调用的方法
+                this.$nextTick(() => {
+                    this.$refs.editInvoice.initData(val)
+                })
+            }
+        },
         cancel: function() {
             this.dialogContractVisible = false
             this.dialogDepositVisible = false
             this.dialogPayLogVisible = false
             this.dialogFundVisible = false
+            this.dialogRefundVisible = false
+            this.dialogInvoiceVisible = false
+            this.dialogFormalInvoiceVisible = false
         },
         baseDepositRequest(opUrl, postData) {
             return this.$channel.globeRequest('RoomSelectionInfoController', opUrl, postData, 'project')
@@ -407,6 +625,12 @@ export default {
         },
         baseFundRequest(opUrl, postData) {
             return this.$channel.globeRequest('MaintenanceFundsManagementController', opUrl, postData, 'project')
+        },
+        baseRefundRequest(opUrl, postData) {
+            return this.$channel.globeRequest('RefundManageController', opUrl, postData, 'project')
+        },
+        baseInvoiceRequest(opUrl, postData) {
+            return this.$channel.globeRequest('InvoiceManageController', opUrl, postData, 'project')
         }
     }
 }