LAPTOP-FO2T5SIU\35838 6 miesięcy temu
rodzic
commit
01eefba880

+ 71 - 33
src/views/receiveRefundsManagement/paymentManagement/addPayment.vue

@@ -48,6 +48,7 @@
                     v-model="form.paymentMethod"
                     clearable
                     filterable
+                    @change="paymentMethodChange"
                   >
                     <el-option
                       v-for="item in dc_data.COLLECTION_METHODS"
@@ -72,25 +73,27 @@
               </el-col>
             </el-row>
             <el-row>
+              <el-col :span="3" class="col-txt"><span>到账银行开户行</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-autocomplete
+                    v-model="form.bankName"
+                    class="inline-input"
+                    :fetch-suggestions="querySearch"
+                    placeholder="请输入银行账号"
+                    style="width: 100%"
+                    @select="handleSelect"
+                  />
+                </el-form-item>
+              </el-col>
               <el-col :span="3" class="col-txt"><span>到账银行账号</span></el-col>
               <el-col :span="9" class="col-input">
                 <el-form-item>
-                  <el-select
-                    v-model="bankObject"
-                    placeholder=""
-                    filterable
-                    clearable
-                    @change="bankChange"
-                  >
-                    <el-option
-                      v-for="item in bankOptions"
-                      :key="item.value"
-                      :label="item.bankName + (item.bankBranchName?item.bankBranchName:'') + item.bankNumber"
-                      :value="item.id"
-                    />
-                  </el-select>
+                  <el-input v-model="form.bankNumber" />
                 </el-form-item>
               </el-col>
+            </el-row>
+            <el-row>
               <el-col :span="3" class="col-txt"><span>到账金额</span></el-col>
               <el-col :span="9" class="col-input">
                 <el-form-item>
@@ -208,7 +211,10 @@ export default {
                 if (data.id) {
                     this.getById(data)
                 } else {
-                    this.getBankByFloor()
+                    // 默认带出合同里的 银行信息
+                    // this.getBankByFloor()
+                    this.form.bankName = data.bankName
+                    this.form.bankNumber = data.bankNumber
                 }
                 this.addLoading = false
             })
@@ -230,7 +236,7 @@ export default {
                 if (res.data.createdAt) {
                     this.dateStr = res.data.createdAt
                 }
-                this.bankObject = res.data.bankName + res.data.bankBranchName + res.data.bankNumber
+                // this.bankObject = res.data.bankName + res.data.bankBranchName + res.data.bankNumber
             })
         },
         confirmSubmit: function() {
@@ -281,31 +287,60 @@ export default {
             this.AllData.splice(index, 1)
         },
         getBankOptions() {
+            this.bankOptions = []
             this.bankRequest('listAll', {}).then(res => {
-                this.bankOptions = res.data || []
-            })
-        },
-        bankChange(data) {
-            const val = this.bankOptions.find(e => { return data == e.id })
-            this.form.bankName = val.bankName
-            this.form.bankBranchName = val.bankBranchName
-            this.form.bankNumber = val.bankNumber
-        },
-        getBankByFloor() {
-            this.fundRequest('getBankByFloor', { contractId: this.contractId }).then(res => {
-                if (res.data) {
-                    this.bankObject = res.data.bankFullName
-                    this.form.bankName = res.data.bankName
-                    this.form.bankBranchName = res.data.bankBranchName
-                    this.form.bankNumber = res.data.bankNumber
-                }
+                const bankList = res.data || []
+                bankList.forEach(item => {
+                    const obj = {
+                        value: item.bankBranchName + item.bankName,
+                        label: item.bankNumber,
+                        id: item.id
+                    }
+                    this.bankOptions.push(obj)
+                })
             })
         },
+        // bankChange(data) {
+        //     const val = this.bankOptions.find(e => { return data == e.id })
+        //     this.form.bankName = val.bankName
+        //     this.form.bankBranchName = val.bankBranchName
+        //     this.form.bankNumber = val.bankNumber
+        // },
+        // getBankByFloor() {
+        //     this.fundRequest('getBankByFloor', { contractId: this.contractId }).then(res => {
+        //         if (res.data) {
+        //             this.bankObject = res.data.bankFullName
+        //             this.form.bankName = res.data.bankName
+        //             this.form.bankBranchName = res.data.bankBranchName
+        //             this.form.bankNumber = res.data.bankNumber
+        //         }
+        //     })
+        // },
         uploadPhoto: function(param) {
             upload(param, true).then((res) => {
                 this.fileList.push(res)
             })
         },
+        querySearch(queryString, cb) {
+            var restaurants = this.bankOptions
+            var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants
+            // 调用 callback 返回建议列表的数据
+            cb(results)
+        },
+        createFilter(queryString) {
+            return (restaurant) => {
+                return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
+            }
+        },
+        handleSelect(item) {
+            this.form.bankNumber = item.label
+        },
+        paymentMethodChange(item) {
+            if (item == '1') {
+                this.form.bankName = ''
+                this.form.bankNumber = ''
+            }
+        },
         baseRequest(opUrl, postData) {
             return this.$channel.globeRequest('PayLogController', opUrl, postData, 'project')
         },
@@ -314,6 +349,9 @@ export default {
         },
         fundRequest(opUrl, postData) {
             return this.$channel.globeRequest('MaintenanceFundsManagementController', opUrl, postData, 'project')
+        },
+        baseContractRequest(opUrl, postData) {
+            return this.$channel.globeRequest('ContractManageController', opUrl, postData, 'project')
         }
 
     }

+ 3 - 1
src/views/receiveRefundsManagement/paymentManagement/paymentRegistration.vue

@@ -230,7 +230,9 @@ export default {
                 isView: false,
                 contractId: this.contractId,
                 houseId: this.houseId,
-                customerManagementId: this.customerManagementId
+                customerManagementId: this.customerManagementId,
+                bankName: this.form.bankName,
+                bankNumber: this.form.bankNumber
             }
             // 新vue时调用的方法
             this.$nextTick(() => {

+ 5 - 0
src/views/receiveRefundsManagement/refundManagement/addRefund.vue

@@ -544,14 +544,19 @@ export default {
             })
             // 应退金额
             let totalReceivedAmount = 0
+            // 扣除金额
+            let deductible = 0
             _this.AllData.forEach((item) => {
                 const index = selectedID.findIndex(e => e === item.uuid)
                 item.isSelected = index !== -1
                 if (index !== -1) {
                     totalReceivedAmount += Number(item.receivedAmount)
+                    deductible += Number(item.deductible)
                 }
             })
             _this.form.refundAmount = totalReceivedAmount
+            _this.form.deductible = deductible
+            _this.form.actualRefundAmount = totalReceivedAmount - deductible
         },
         baseRequest(opUrl, postData) {
             return this.$channel.globeRequest('RefundManageController', opUrl, postData, 'project')

+ 44 - 9
src/views/signingManagement/contractManagement/contractAdd.vue

@@ -167,7 +167,7 @@
               <el-col :span="5" class="col-txt"><span>房屋买卖单价(元/㎡)</span></el-col>
               <el-col :span="18" class="col-input">
                 <el-form-item>
-                  <el-input v-model="form.housePrice" readonly />
+                  <el-input v-model="form.housePrice" readonly placeholder="请先录入总价款,系统会自动计算出房屋买卖单价" />
                 </el-form-item>
               </el-col>
             </el-row>
@@ -254,13 +254,14 @@
               <el-col :span="5" class="col-txt"><span>房款存入账号开户行</span></el-col>
               <el-col :span="18" class="col-input">
                 <el-form-item>
-                    <el-autocomplete
-                        class="inline-input"
-                        v-model="form.bankName"
-                        :fetch-suggestions="querySearch"
-                        placeholder="请输入内容"
-                        @select="handleSelect"
-                    ></el-autocomplete>
+                  <el-autocomplete
+                    v-model="form.bankName"
+                    class="inline-input"
+                    :fetch-suggestions="querySearch"
+                    placeholder="请输入银行账号"
+                    style="width: 100%"
+                    @select="handleSelect"
+                  />
                 </el-form-item>
               </el-col>
             </el-row>
@@ -402,7 +403,8 @@ export default {
             contractId: '',
             TreeData: [],
             isView: false, // 查看按钮权限,
-            searchTreeData: []
+            searchTreeData: [],
+            restaurants: []
         }
     },
     watch: {
@@ -455,6 +457,7 @@ export default {
                     _this.form.dynamicItem = data
                     this.$forceUpdate()
                 })
+                this.loadAll(val.id)
             }
         },
         findRoomTree: function() {
@@ -546,6 +549,38 @@ export default {
                 _this.form.maintenanceTotalPrice = price * area
             }
         },
+        querySearch(queryString, cb) {
+            var restaurants = this.restaurants
+            var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants
+            // 调用 callback 返回建议列表的数据
+            cb(results)
+        },
+        createFilter(queryString) {
+            return (restaurant) => {
+                return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
+            }
+        },
+        loadAll(data) {
+            this.restaurants = []
+            const postData = {
+                contractId: data
+            }
+            this.baseRequest('getBankList', postData).then((res) => {
+                const bankList = res.data
+                bankList.forEach(item => {
+                    const obj = {
+                        value: item.bankBranchName + item.bankName,
+                        label: item.bankNumber,
+                        id: item.id
+                    }
+                    this.restaurants.push(obj)
+                })
+            }).catch(() => {
+            })
+        },
+        handleSelect(item) {
+            this.form.bankNumber = item.label
+        },
         baseRequest(opUrl, postData) {
             return this.$channel.globeRequest('ContractManageController', opUrl, postData, 'project')
         },