jialh
2025-08-21 e43b540a27aace952e791403c17800fb414809a2
更新
5个文件已修改
355 ■■■■ 已修改文件
public/components/fee/writeOweFeeCallable/writeOweFeeCallable.html 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/fee/writeOweFeeCallable/writeOweFeeCallable.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/property/payFeeOrderConfirm/payFeeOrderConfirm.html 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/property/payFeeOrderConfirm/payFeeOrderConfirm.js 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/property/managementFeesDetail/managementFeesDetail.html 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/fee/writeOweFeeCallable/writeOweFeeCallable.html
@@ -16,7 +16,7 @@
                                :placeholder="vc.i18n('必填,请填写房屋','writeOweFeeCallable')" class="form-control">
                        </div>
                    </div>
                    <!-- <div class="form-group row">
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="催缴费用" namespace="writeOweFeeCallable"></vc:i18n>
                        </label>
@@ -26,16 +26,29 @@
                                    v-model="writeOweFeeCallableInfo.feeIds"> {{item.feeName}}
                            </span>
                        </div>
                    </div> -->
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="催收方式" namespace="writeOweFeeCallable"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <span class="margin-right" v-for="(item,index) in writeOweFeeCallableInfo.fees">
                                <input type="checkbox" class="i-checks checkItem" v-bind:value="item.feeId"
                                    v-model="writeOweFeeCallableInfo.feeIds"> {{item.feeName}}
                            </span>
                            <select class="custom-select" v-model="writeOweFeeCallableInfo.cycles">
                                <option selected disabled value="">{{vc.i18n('必填','writeOweFeeCallable')}},请选择催收方式
                                </option>
                                <option value="1">电联</option>
                                <option value="2">邮寄信息</option>
                                <option value="3">产调信息</option>
                                <option value="4">诉讼</option>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label  text-right">
                            <vc:i18n name="追回金额" namespace="writeOweFeeCallable"></vc:i18n>
                        </label>
                        <div class="col-sm-10 " style="margin-top: 8px;">
                            <input class="form-control" rows="5" v-model="writeOweFeeCallableInfo.remark"
                                placeholder="请输入追回金额"></input>
                        </div>
                    </div>
                    <div class="form-group row">
public/components/fee/writeOweFeeCallable/writeOweFeeCallable.js
@@ -7,6 +7,8 @@
                fees: [],
                feeIds: [],
                remark: '',
                cycles: '',
            }
        },
        _initMethod: function() {},
public/components/property/payFeeOrderConfirm/payFeeOrderConfirm.html
@@ -17,7 +17,7 @@
                    <label class="col-sm-8 col-form-label">{{payFeeOrderConfirmInfo.payerObjName}}</label>
                </div>
                <div class="row"
                     v-if="payFeeOrderConfirmInfo.feeFlag != '2006012' && payFeeOrderConfirmInfo.showEndTime != ''">
                    v-if="payFeeOrderConfirmInfo.feeFlag != '2006012' && payFeeOrderConfirmInfo.showEndTime != ''">
                    <label class="col-sm-3 col-form-label">
                        <vc:i18n name="缴费时间段:" namespace="payFeeOrderConfirm"></vc:i18n>
                    </label>
@@ -25,7 +25,7 @@
                        {{vc.dateSubOneDay(payFeeOrderConfirmInfo.endTime,vc.dateFormat(payFeeOrderConfirmInfo.showEndTime),payFeeOrderConfirmInfo.feeFlag)}}</label>
                </div>
                <div class="row"
                     v-else-if="payFeeOrderConfirmInfo.feeFlag != '2006012' && payFeeOrderConfirmInfo.custEndTime != ''">
                    v-else-if="payFeeOrderConfirmInfo.feeFlag != '2006012' && payFeeOrderConfirmInfo.custEndTime != ''">
                    <label class="col-sm-3 col-form-label">
                        <vc:i18n name="缴费时间段:" namespace="payFeeOrderConfirm"></vc:i18n>
                    </label>
@@ -40,19 +40,22 @@
                </div>
                <div class="row">
                    <label class="col-sm-3 col-form-label">
                        <span><vc:i18n name="优惠金额:" namespace="payFeeOrderConfirm"></vc:i18n></span>
                        <span>
                            <vc:i18n name="优惠金额:" namespace="payFeeOrderConfirm"></vc:i18n>
                        </span>
                        <span class="fa fa-info-circle popover-show1" @mouseover="popOverShowMsg1()"
                              @mouseleave="popOverHideMsg1()" style="cursor: pointer;" data-html="true"
                              data-content="正数:打折减免的金额;<br>负数:需额外缴纳的滞纳金"></span>
                            @mouseleave="popOverHideMsg1()" style="cursor: pointer;" data-html="true"
                            data-content="正数:打折减免的金额;<br>负数:需额外缴纳的滞纳金"></span>
                    </label>
                    <label class="col-sm-8 col-form-label">{{payFeeOrderConfirmInfo.totalDiscountMoney.toFixed(2)}}</label>
                    <label
                        class="col-sm-8 col-form-label">{{payFeeOrderConfirmInfo.totalDiscountMoney.toFixed(2)}}</label>
                </div>
                <div class="row">
                    <label class="col-sm-3 col-form-label">
                        <vc:i18n name="实收金额:" namespace="payFeeOrderConfirm"></vc:i18n>
                    </label>
                    <label class="col-sm-8 col-form-label"
                           v-if="payFeeOrderConfirmInfo.flag != null && payFeeOrderConfirmInfo.flag != '' && payFeeOrderConfirmInfo.flag == 'true'">
                        v-if="payFeeOrderConfirmInfo.flag != null && payFeeOrderConfirmInfo.flag != '' && payFeeOrderConfirmInfo.flag == 'true'">
                        {{payFeeOrderConfirmInfo.receivedAmountNumber}}
                    </label>
                    <label class="col-sm-8 col-form-label" v-else>{{payFeeOrderConfirmInfo.receivedAmount}}</label>
@@ -75,14 +78,14 @@
                        payFeeOrderConfirmInfo.accountAmount).toFixed(2)}}</label>
                </div>
                <div class="row"
                     v-if="payFeeOrderConfirmInfo.integralAmount != null && payFeeOrderConfirmInfo.integralAmount != ''">
                    v-if="payFeeOrderConfirmInfo.integralAmount != null && payFeeOrderConfirmInfo.integralAmount != ''">
                    <label class="col-sm-3 col-form-label">
                        <vc:i18n name="积分账户抵扣金额:" namespace="payFeeOrderConfirm"></vc:i18n>
                    </label>
                    <label class="col-sm-8 col-form-label">{{payFeeOrderConfirmInfo.integralAmount}}</label>
                </div>
                <div class="row"
                     v-if="payFeeOrderConfirmInfo.cashAmount != null && payFeeOrderConfirmInfo.cashAmount != ''">
                    v-if="payFeeOrderConfirmInfo.cashAmount != null && payFeeOrderConfirmInfo.cashAmount != ''">
                    <label class="col-sm-3 col-form-label">
                        <vc:i18n name="现金账户抵扣金额:" namespace="payFeeOrderConfirm"></vc:i18n>
                    </label>
@@ -106,19 +109,41 @@
                    </label>
                    <label class="col-sm-8 col-form-label">{{payFeeOrderConfirmInfo.remark}}</label>
                </div>
                <div class="row" v-show="payFeeOrderConfirmInfo.payType == 'qrCode'" >
                    <label class="col-sm-3 col-form-label">
                        <vc:i18n name="二维码:" namespace="payFeeOrderConfirm"></vc:i18n>
                    </label>
                    <div class="col-sm-8">
                        <div id="oweFeeQrcode" style="width: 220px; height: 220px;"></div>
                    </div>
                </div>
            </div>
            <div class="modal-footer">
                <input v-model="payFeeOrderConfirmInfo.authCode" id="authCode" class="form-control" style="width: 60%;"
                       v-if="payFeeOrderConfirmInfo.payType == 'qrCode'" type="text" @keyup.enter="_qrCodePayFee"
                       :placeholder="vc.i18n('请用扫码枪扫码','payFeeOrderConfirm')">
                <!-- <input v-model="payFeeOrderConfirmInfo.authCode" id="authCode" class="form-control" style="width: 60%;"
                    v-if="payFeeOrderConfirmInfo.payType == 'qrCode'" type="text" @keyup.enter="_qrCodePayFee"
                    :placeholder="vc.i18n('请用扫码枪扫码','payFeeOrderConfirm')"> -->
                <!-- <div class="padding-xl margin-top">
                    <canvas id="oweFeeQrcode" style="width: 220px; height: 220px; margin: 0 auto;"></canvas>
                </div> -->
                <button type="button" class="btn btn-secondary" @click="_closeDoPayFeeModal()">
                    <vc:i18n name="关闭" namespace="payFeeOrderConfirm"></vc:i18n>
                </button>
                <button type="button" class="btn btn-primary" v-if="payFeeOrderConfirmInfo.payType == 'common'"
                        @click="_payFee()">
                    @click="_payFee()">
                    <vc:i18n name="确定收费" namespace="payFeeOrderConfirm"></vc:i18n>
                </button>
            </div>
        </div>
    </div>
</div>
</div>
<style>
    #oweFeeQrcode {
    display: block !important;
    visibility: visible !important;
    position: relative; /* 确保没有被其他元素覆盖 */
    z-index: 10;       /* 确保在其他元素上方 */
}
</style>
public/components/property/payFeeOrderConfirm/payFeeOrderConfirm.js
@@ -5,28 +5,103 @@
                totalDiscountMoney: 0.0,
                accountAmount: 0.0,
                payType: '',
            }
            },
            qrcodeUrl: 'https://www.baidu.com/',
            feeIds:[]
        },
        _initMethod: function () {
        },
        _initMethod: function () {},
        _initEvent: function () {
            vc.on('payFeeOrderConfirm', 'openConfirm', function (_data) {
                $that.payFeeOrderConfirmInfo = _data;
                $("#doPayFeeModal").modal('show');
                $that.feeIds.push(_data.feeId);
                $that.payFeeOrderConfirmInfo.payType = _data.payType;
                console.log('payFeeOrderConfirmInfo',_data,'feeIds  ', $that.feeIds);
                $that._payOweFee()
                $("#doPayFeeModal").modal('show');
                if ($that.payFeeOrderConfirmInfo.payType === 'qrCode') {
                    $that.$nextTick(function () {
                        $that.generateQRCode($that.qrcodeUrl);
                    });
                }
                if ($that.payFeeOrderConfirmInfo.payType != 'common') {
                    setTimeout('document.getElementById("authCode").focus()', 1000);
                }
                $that.$forceUpdate();
            })
            });
        },
        methods: {
            _payOweFee: function () {
                let param = {
                    params: {
                        roomId: $that.payFeeOrderConfirmInfo.payerObjId,
                        communityId: $that.payFeeOrderConfirmInfo.communityId,
                        business:'oweFee',
                        feeIds: $that.feeIds
                    }
                };
                //发送get请求
                vc.http.apiGet('/payment.nativeQrcodePayment',
                    param,
                    function (json, res) {
                        let _data = JSON.parse(json);
                        console.log('nativeQrcodePayment',_data);
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
                    }
                );
            },
            /**
             * 点击 “提交缴费”
             * 生成二维码
             */
            generateQRCode: function (text) {
                if (!text) {
                    console.log("二维码生成失败,参数为空");
                    return;
                }
                console.log("====generateQRCode====");
                // 清空 container
                const container = document.getElementById("oweFeeQrcode");
                if (!container) {
                    console.log("二维码容器不存在");
                    return;
                }
                container.innerHTML = '';
                try {
                    let oweFeeQrcode = new QRCode(container, {
                        text: text, // 将实际的支付地址或信息传入二维码
                        width: 220, // 生成的二维码的宽度
                        height: 220, // 生成的二维码的高度
                        colorDark: "#000000", // 生成的二维码的深色部分
                        colorLight: "#ffffff", // 生成二维码的浅色部分
                        correctLevel: QRCode.CorrectLevel.H // 纠错级别
                    });
                    oweFeeQrcode.makeCode(text); // 制作二维码
                    console.log("二维码生成成功");
                } catch (error) {
                    console.log("二维码生成错误", error);
                }
            },
            /**
             * 点击 “关闭缴费模态框”
             */
            // 旧版本兼容方案(无需保存实例)
            _closeDoPayFeeModal: function () {
                //关闭model
                $("#doPayFeeModal").modal('hide');
                // 清空二维码内容
                const container = document.getElementById("oweFeeQrcode");
                if (container) {
                    container.innerHTML = ''; // 清空内容
                }
            },
            _qrCodePayFee: function () {
                let _printFees = [];
@@ -57,7 +132,7 @@
                            return;
                        }
                        $that._closeDoPayFeeModal();
                        vc.emit('payFeeOrderResult', '_loadReceipt', _data)
                        vc.emit('payFeeOrderResult', '_loadReceipt', _data);
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
@@ -93,7 +168,7 @@
                        }
                        $that._closeDoPayFeeModal();
                        _data = _data.data;
                        vc.emit('payFeeOrderResult', '_loadReceipt', _data)
                        vc.emit('payFeeOrderResult', '_loadReceipt', _data);
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
@@ -119,12 +194,12 @@
                        emulateJSON: true
                    },
                    function (json, res) {
                        let _json = JSON.parse(json)
                        let _json = JSON.parse(json);
                        if (_json.code == 0) {
                            //查询收据
                            let _data = _json.data;
                            $that._closeDoPayFeeModal();
                            vc.emit('payFeeOrderResult', '_loadReceipt', _data)
                            vc.emit('payFeeOrderResult', '_loadReceipt', _data);
                            return;
                        } else {
                            vc.toast(_json.msg);
@@ -136,7 +211,7 @@
                    }
                );
            },
            //查询收据
            // 查询收据逻辑...
        }
    });
})(window.vc);
public/pages/property/managementFeesDetail/managementFeesDetail.html
@@ -85,19 +85,33 @@
            </div>
        </div>
    </div>
    <!-- 历史实收 -->
    <div class="flex justify-between">
        <div class="text-title">历史缴费情况</div>
    </div>
    <!-- 历史实收 -->
    <div class="margin-top">
        <!-- <div class="hc-table-div" :style="{'width':_computeTableDivWidth()}"> -->
        <table class="table table-bordered" data-page-size="15">
        <table class="table table-bordered middle-bordered" data-page-size="15">
            <thead>
                <tr>
                    <th class="text-center">年份</th>
                    <th class="text-center">应缴月数</th>
                    <th class="text-center">应缴金额</th>
                    <th class="text-center">折扣</th>
                    <th class="text-center">打折金额</th>
                    <th class="text-center">打折区间</th>
                    <th class="text-center">打折单归档日期</th>
                    <th class="text-center">申请人</th>
                    <th class="text-center">审批人</th>
                    <th class="text-center">发起日期</th>
                    <th class="text-center">折后应缴</th>
                    <th class="text-center">已收月数</th>
                    <th class="text-center"> 已收区间</th>
                    <th class="text-center"> 未收区间</th>
                    <th class="text-center">已缴金额</th>
                    <th class="text-center">已收区间</th>
                    <th class="text-center">未收月数</th>
                    <th class="text-center">未缴金额</th>
                    <th class="text-center">未收区间</th>
                </tr>
            </thead>
            <tbody>
@@ -111,14 +125,158 @@
        </table>
        <!-- </div> -->
    </div>
    <!-- 中国邮政挂号信 -->
    <div class="flex justify-between">
        <div class="text-title">中国邮政挂号信</div>
    </div>
    <div class="margin-top">
        <!-- <div class="hc-table-div" :style="{'width':_computeTableDivWidth()}"> -->
        <table class="table table-bordered middle-bordered" data-page-size="15">
            <thead>
                <tr>
                    <th class="text-center">寄出日期</th>
                    <th class="text-center">编号</th>
                    <th class="text-center">催收时段</th>
                    <th class="text-center">催收金额</th>
                    <th class="text-center">滞纳金(3%)</th>
                    <th class="text-center">催收总额</th>
                    <th class="text-center">状态和建议</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="(item, index) in feeDetailInfo.history" :key="index">
                    <td class="text-center">{{ item.year }}</td>
                    <td class="text-center">{{ item.value2 }}</td>
                    <td class="text-center">{{ item.value3 }}</td>
                    <td class="text-center">{{ item.value3 }}</td>
                </tr>
            </tbody>
        </table>
    </div>
    <!-- 电联 -->
    <div class="flex justify-between">
        <div class="text-title">电联</div>
    </div>
    <div class="margin-top">
        <!-- <div class="hc-table-div" :style="{'width':_computeTableDivWidth()}"> -->
        <table class="table table-bordered middle-bordered" data-page-size="15">
            <thead>
                <tr>
                    <th class="text-center">日期1</th>
                    <th class="text-center">催收时段</th>
                    <th class="text-center">催收金额</th>
                    <th class="text-center">滞纳金(3%)</th>
                    <th class="text-center">催收总额</th>
                    <th class="text-center">状态和建议</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="(item, index) in feeDetailInfo.history" :key="index">
                    <td class="text-center">{{ item.year }}</td>
                    <td class="text-center">{{ item.value2 }}</td>
                    <td class="text-center">{{ item.value3 }}</td>
                    <td class="text-center">{{ item.value3 }}</td>
                </tr>
            </tbody>
        </table>
    </div>
    <!-- 产调 -->
    <div class="flex justify-between">
        <div class="text-title">产调</div>
    </div>
    <div class="margin-top">
        <!-- <div class="hc-table-div" :style="{'width':_computeTableDivWidth()}"> -->
        <table class="table table-bordered middle-bordered" data-page-size="15">
            <thead>
                <tr>
                    <th rowspan="2" class="text-center">产调日期</th>
                    <th colspan="2" class="text-center">变更情况</th>
                    <th rowspan="2" class="text-center">调查令申请日期</th>
                </tr>
                <tr>
                    <th class="text-center">姓名</th>
                    <th class="text-center">日期</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="(item, index) in feeDetailInfo.history" :key="index">
                    <td class="text-center">{{ item.year }}</td>
                    <td class="text-center">{{ item.value2 }}</td>
                    <td class="text-center">{{ item.value3 }}</td>
                    <td class="text-center">{{ item.value3 }}</td>
                </tr>
            </tbody>
        </table>
    </div>
    <!-- 折扣情况 -->
    <div class="flex justify-between">
        <div class="text-title">折扣情况</div>
    </div>
    <!-- 折扣情况 -->
    <div class="margin-top">
        <div class="hc-table-div" :style="{'width':_computeTableDivWidth()}">
            <table class="table table-bordered" data-page-size="15">
            <table class="table table-bordered middle-bordered" data-page-size="15">
                <thead>
                    <tr>
                        <th rowspan="2" class="text-center">送诉状日期</th>
                        <th rowspan="2" class="text-center">送件人员</th>
                        <th rowspan="2" class="text-center">自行录入系统日期</th>
                        <th colspan="12" class="text-center">法院审核程序</th>
                        <th colspan="7" class="text-center">法院执行程序</th>
                        <th rowspan="2" class="text-center">应收金额</th>
                        <th rowspan="2" class="text-center">到账金额</th>
                        <th rowspan="2" class="text-center">差额原因</th>
                        <th rowspan="2" class="text-center">到账时间</th>
                        <th rowspan="2" class="text-center">收款人</th>
                    </tr>
                    <tr>
                        <th class="text-center">法官通知受理日期</th>
                        <th class="text-center">法院调解日期</th>
                        <th class="text-center">调解结果</th>
                        <th class="text-center">传票签收日</th>
                        <th class="text-center">未送达日期</th>
                        <th class="text-center">开庭日期1</th>
                        <th class="text-center">开庭日期2</th>
                        <th class="text-center">案号</th>
                        <th class="text-center">开庭结果</th>
                        <th class="text-center">判决日期</th>
                        <th class="text-center">判决结果</th>
                        <th class="text-center">申请时间</th>
                        <th class="text-center">欠费区间</th>
                        <th class="text-center">欠费金额</th>
                        <th class="text-center">滞纳金</th>
                        <th class="text-center">受理费</th>
                        <th class="text-center">其他费用</th>
                        <th class="text-center">合计金额</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td class="text-center">{{ 1 }}</td>
                        <td class="text-center">{{ 2 }}</td>
                        <td class="text-center">{{ 3 }}</td>
                        <td class="text-center">{{ 4 }}</td>
                        <td class="text-center">{{ 5 }}</td>
                        <td class="text-center">{{ 1 }}</td>
                        <td class="text-center">{{ 2 }}</td>
                        <td class="text-center">{{ 3 }}</td>
                        <td class="text-center">{{ 4 }}</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
    <!-- 折扣情况
    <div class="flex justify-between">
        <div class="text-title">折扣情况</div>
    </div>
    <div class="margin-top">
        <div class="hc-table-div" :style="{'width':_computeTableDivWidth()}">
            <table class="table table-bordered middle-bordered" data-page-size="15">
                <thead>
                    <tr>
                        <th colspan="5" class="text-center">打折情况</th>
@@ -126,10 +284,10 @@
                        <th v-for="year in feeDetailInfo.mail" :key="year.year" class="text-center" colspan="4">{{
                            year.year }}</th>
                        <th rowspan="2" class="text-center">备注</th>
                        <th :colspan="feeDetailInfo.phone.length * 2" class="text-center" >电联</th>
                        <th :colspan="feeDetailInfo.phone.length * 2" class="text-center">电联</th>
                        <th rowspan="2" class="text-center">备注</th>
                        <th rowspan="2" class="text-center">产调日期</th>
                    </tr>
                    <tr>
                        <th class="text-center">打折金额</th>
@@ -186,7 +344,7 @@
            </table>
        </div>
    </div>
    </div> -->