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> -->