jialh
2025-08-12 5d26db178ae2c219dcd6bbb1b891a58a216315ce
更新
7个文件已修改
326 ■■■■ 已修改文件
public/components/property/addApplyRoomDiscount/addApplyRoomDiscount.html 229 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/property/addPayFeeConfigDiscount/addPayFeeConfigDiscount.html 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/property/addPayFeeConfigDiscount/addPayFeeConfigDiscount.js 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/property/payFeeUserAccount/payFeeUserAccount.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/property/roomTreeDiv/roomTreeDiv.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/property/listContractFee/listContractFee.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/property/payFeeOrder/payFeeOrder.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/property/addApplyRoomDiscount/addApplyRoomDiscount.html
@@ -1,5 +1,5 @@
<div id="addApplyRoomDiscountModel" class="modal fade" role="dialog" aria-labelledby="exampleModalLabel"
     aria-hidden="true">
    aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-body">
@@ -7,123 +7,120 @@
                    <vc:i18n name="电话申请" namespace="addApplyRoomDiscount"></vc:i18n>
                </h3>
                <div class="ibox-content">
                            <div class="form-group row">
                                <label class="col-sm-2 col-form-label">
                                    <vc:i18n name="房屋" namespace="addApplyRoomDiscount"></vc:i18n>
                                </label>
                                <div class="col-sm-10">
                                    <input v-model.trim="addApplyRoomDiscountInfo.roomName" type="text"
                                           :placeholder="vc.i18n('必填,请填写房屋 楼栋-单元-房屋','addApplyRoomDiscount')"
                                           class="form-control" @blur="_queryAddApplyRoomDiscountRoom">
                                </div>
                            </div>
                            <div class="form-group row">
                                <label class="col-sm-2 col-form-label">
                                    <vc:i18n name="申请类型" namespace="addApplyRoomDiscount"></vc:i18n>
                                </label>
                                <div class="col-sm-10">
                                    <select class="custom-select" v-model="addApplyRoomDiscountInfo.applyType">
                                        <option selected disabled value="">
                                            {{vc.i18n('必填','addApplyRoomDiscount')}},请选择申请类型
                                        </option>
                                        <option :value="item.applyType"
                                                v-for="item in addApplyRoomDiscountInfo.applyTypes">{{item.typeName}}
                                        </option>
                                    </select>
                                </div>
                            </div>
                            <div class="form-group row">
                                <label class="col-sm-2 col-form-label">
                                    <vc:i18n name="收费内容" namespace="addApplyRoomDiscount"></vc:i18n>
                                </label>
                                <div class="col-sm-10">
                                    <select class="custom-select" v-model="addApplyRoomDiscountInfo.feeId">
                                        <option selected disabled value="">
                                            {{vc.i18n('请选择收费内容','addApplyRoomDiscount')}}
                                        </option>
                                        <option v-for="(item,index) in addApplyRoomDiscountInfo.feeTypeCds"
                                                :value="item.feeId">
                                            {{item.feeName}}({{item.endTime}}至{{item.deadlineTime}})
                                        </option>
                                    </select>
                                </div>
                            </div>
                            <div class="form-group row">
                                <label class="col-sm-2 col-form-label">
                                    <vc:i18n name="申请人" namespace="addApplyRoomDiscount"></vc:i18n>
                                </label>
                                <div class="col-sm-10">
                                    <input v-model.trim="addApplyRoomDiscountInfo.createUserName" type="text" disabled
                                           :placeholder="vc.i18n('必填,请填写申请人','addApplyRoomDiscount')"
                                           class="form-control">
                                </div>
                            </div>
                            <div class="form-group row">
                                <label class="col-sm-2 col-form-label">
                                    <vc:i18n name="申请电话" namespace="addApplyRoomDiscount"></vc:i18n>
                                </label>
                                <div class="col-sm-10">
                                    <input v-model.trim="addApplyRoomDiscountInfo.createUserTel" type="text" disabled
                                           :placeholder="vc.i18n('必填,请填写申请电话','addApplyRoomDiscount')"
                                           class="form-control ">
                                </div>
                            </div>
                            <div class="form-group row">
                                <label class="col-sm-2 col-form-label">
                                    <vc:i18n name="开始时间" namespace="addApplyRoomDiscount"></vc:i18n>
                                </label>
                                <div class="col-sm-10">
                                    <input v-model="addApplyRoomDiscountInfo.startTime" type="text"
                                           :placeholder="vc.i18n('必填,请填写开始时间','addApplyRoomDiscount')"
                                           class="form-control addStartTime">
                                </div>
                            </div>
                            <div class="form-group row">
                                <label class="col-sm-2 col-form-label">
                                    <vc:i18n name="结束时间" namespace="addApplyRoomDiscount"></vc:i18n>
                                </label>
                                <div class="col-sm-10">
                                    <input v-model="addApplyRoomDiscountInfo.endTime" type="text"
                                           :placeholder="vc.i18n('必填,请填写结束时间','addApplyRoomDiscount')"
                                           class="form-control addEndTime">
                                </div>
                            </div>
                            <div class="form-group row">
                                <label class="col-sm-2 col-form-label">
                                    <vc:i18n name="申请说明" namespace="addApplyRoomDiscount"></vc:i18n>
                                </label>
                                <div class="col-sm-10">
                                    <textarea v-model="addApplyRoomDiscountInfo.createRemark"
                                              :placeholder="vc.i18n('必填,请填写申请说明','addApplyRoomDiscount')"
                                              class="form-control">
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="房屋" namespace="addApplyRoomDiscount"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <input v-model.trim="addApplyRoomDiscountInfo.roomName" type="text"
                                :placeholder="vc.i18n('必填,请填写房屋 楼栋-单元-房屋','addApplyRoomDiscount')" class="form-control"
                                @blur="_queryAddApplyRoomDiscountRoom">
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="申请类型" namespace="addApplyRoomDiscount"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <select class="custom-select" v-model="addApplyRoomDiscountInfo.applyType">
                                <option selected disabled value="">
                                    {{vc.i18n('必填','addApplyRoomDiscount')}},请选择申请类型
                                </option>
                                <option :value="item.applyType" v-for="item in addApplyRoomDiscountInfo.applyTypes">
                                    {{item.typeName}}
                                </option>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="收费内容" namespace="addApplyRoomDiscount"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <select class="custom-select" v-model="addApplyRoomDiscountInfo.feeId">
                                <option selected disabled value="">
                                    {{vc.i18n('请选择收费内容','addApplyRoomDiscount')}}
                                </option>
                                <option v-for="(item,index) in addApplyRoomDiscountInfo.feeTypeCds" :value="item.feeId">
                                    {{item.feeName}}({{item.endTime}}至{{item.deadlineTime}})
                                </option>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="申请人" namespace="addApplyRoomDiscount"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <input v-model.trim="addApplyRoomDiscountInfo.createUserName" type="text" disabled
                                :placeholder="vc.i18n('必填,请填写申请人','addApplyRoomDiscount')" class="form-control">
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="申请电话" namespace="addApplyRoomDiscount"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <input v-model.trim="addApplyRoomDiscountInfo.createUserTel" type="text" disabled
                                :placeholder="vc.i18n('必填,请填写申请电话','addApplyRoomDiscount')" class="form-control ">
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="开始时间" namespace="addApplyRoomDiscount"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <input v-model="addApplyRoomDiscountInfo.startTime" type="text"
                                :placeholder="vc.i18n('必填,请填写优惠生效开始时间','addApplyRoomDiscount')"
                                class="form-control addStartTime">
                            <span>若填写缴费时间段则表示仅在该时间区间内发起缴费才能享受优惠,若不填写,则任何时间缴费都能享受优惠</span>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="结束时间" namespace="addApplyRoomDiscount"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <input v-model="addApplyRoomDiscountInfo.endTime" type="text"
                                :placeholder="vc.i18n('必填,请填写优惠生效结束时间','addApplyRoomDiscount')"
                                class="form-control addEndTime">
                            <span>若填写优惠生效时间,则表示仅在该时间区间内的费用可以享受优惠,实际优惠生效时间区间通过与费用收费区间取交集来计算,若不填写,则表示优惠生效时间默认为费用收费区间</span>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="申请说明" namespace="addApplyRoomDiscount"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <textarea v-model="addApplyRoomDiscountInfo.createRemark"
                                :placeholder="vc.i18n('必填,请填写申请说明','addApplyRoomDiscount')" class="form-control">
                                    </textarea>
                                </div>
                            </div>
                            <div class="form-group row">
                                <label class="col-sm-2 col-form-label">
                                    <vc:i18n name="图片材料" namespace="addApplyRoomDiscount"></vc:i18n>
                                </label>
                                <div class="col-sm-10">
                                    <vc:create path="frame/uploadImageUrl" callBackListener="addApplyRoomDiscount"
                                               callBackFunction="notifyUploadImage" namespace="addApplyRoomDiscount"
                                               imageCount="4">
                                    </vc:create>
                                </div>
                            </div>
                            <div class="ibox-content">
                                <button class="btn btn-primary float-right" type="button"
                                        v-on:click="saveApplyRoomDiscountInfo()">
                                    <i class="fa fa-check"></i>&nbsp;保存
                                </button>
                                <button type="button" class="btn btn-warning float-right" style="margin-right:20px;"
                                        data-dismiss="modal">
                                    <i class="fa fa-times"></i>&nbsp;取消
                                </button>
                            </div>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="图片材料" namespace="addApplyRoomDiscount"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <vc:create path="frame/uploadImageUrl" callBackListener="addApplyRoomDiscount"
                                callBackFunction="notifyUploadImage" namespace="addApplyRoomDiscount" imageCount="4">
                            </vc:create>
                        </div>
                    </div>
                    <div class="ibox-content">
                        <button class="btn btn-primary float-right" type="button"
                            v-on:click="saveApplyRoomDiscountInfo()">
                            <i class="fa fa-check"></i>&nbsp;保存
                        </button>
                        <button type="button" class="btn btn-warning float-right" style="margin-right:20px;"
                            data-dismiss="modal">
                            <i class="fa fa-times"></i>&nbsp;取消
                        </button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
</div>
public/components/property/addPayFeeConfigDiscount/addPayFeeConfigDiscount.html
@@ -37,32 +37,37 @@
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                    <div class="form-group row" style="margin-bottom: 0;">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="缴费时间段" namespace="addPayFeeConfigDiscount"></vc:i18n>
                        </label>
                        <div class="col-sm-4">
                            <input v-model="addPayFeeConfigDiscountInfo.startTime" type="text"
                                :placeholder="vc.i18n('必填,请填写缴费起始时间','addPayFeeConfigDiscount')"
                                class="form-control addPayFeeConfigDiscountStartTime" name="startTime">
                            <span>这段时间内缴费才能享受该优惠</span>
                            <div class="col-sm-4">
                                <input v-model="addPayFeeConfigDiscountInfo.startTime" type="text"
                                    :placeholder="vc.i18n('可选,请填写缴费起始时间','addPayFeeConfigDiscount')"
                                    class="form-control addPayFeeConfigDiscountStartTime" name="startTime">
                            </div>
                            <div class="col-sm-4">
                                <input v-model="addPayFeeConfigDiscountInfo.endTime" type="text"
                                    :placeholder="vc.i18n('可选,请填写缴费结束时间','addPayFeeConfigDiscount')"
                                    class="form-control addPayFeeConfigDiscountEndTime" name="endTime">
                            </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                        </label>
                        <div class="col-sm-10">
                            <span>若填写缴费时间段则表示仅在该时间区间内发起缴费才能享受优惠,若不填写,则任何时间缴费都能享受优惠</span>
                        </div>
                        <div class="col-sm-4">
                            <input v-model="addPayFeeConfigDiscountInfo.endTime" type="text"
                                :placeholder="vc.i18n('必填,请填写缴费结束时间','addPayFeeConfigDiscount')"
                                class="form-control addPayFeeConfigDiscountEndTime" name="endTime">
                        </div>
                    </div>
                    <div class="form-group row" v-if="addPayFeeConfigDiscountInfo.discountType != '2002'">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="折扣终止时间" namespace="addPayFeeConfigDiscount"></vc:i18n>
                            <vc:i18n name="折扣生效时间区间" namespace="addPayFeeConfigDiscount"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <input v-model="addPayFeeConfigDiscountInfo.payMaxEndTime" type="text"
                                :placeholder="vc.i18n('可选,填写折扣终止时间','addPayFeeConfigDiscount')"
                                :placeholder="vc.i18n('可选,填写折扣截止时间','addPayFeeConfigDiscount')"
                                class="form-control addPayFeeConfigDiscountPaymaxEndTime" name="payMaxEndTime">
                            <span>最大缴费到什么时候,比如想2024年费用优惠,那么就填写2025-01-01</span>
                            <span>若填写折扣生效时间,则表示仅在该时间区间内的费用可以享受优惠,实际折扣生效时间区间通过与费用收费区间取交集来计算,若不填写,则表示折扣生效时间默认为费用收费区间</span>
                        </div>
                    </div>
                    <div class="ibox-content">
public/components/property/addPayFeeConfigDiscount/addPayFeeConfigDiscount.js
@@ -117,30 +117,30 @@
                            errInfo: "折扣名称不能为空"
                        }
                    ],
                    'addPayFeeConfigDiscountInfo.startTime': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "有效期起始时间不能为空"
                        },
                        {
                            limit: "dateTime",
                            param: "",
                            errInfo: "有效期起始时间不是有效的时间格式"
                        },
                    ],
                    'addPayFeeConfigDiscountInfo.endTime': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "有效期终止时间不能为空"
                        },
                        {
                            limit: "dateTime",
                            param: "",
                            errInfo: "有效期终止时间不是有效的时间格式"
                        },
                    ]
                    // 'addPayFeeConfigDiscountInfo.startTime': [
                    //     {
                    //         limit: "required",
                    //         param: "",
                    //         errInfo: "有效期起始时间不能为空"
                    //     },
                    //     {
                    //         limit: "dateTime",
                    //         param: "",
                    //         errInfo: "有效期起始时间不是有效的时间格式"
                    //     },
                    // ],
                    // 'addPayFeeConfigDiscountInfo.endTime': [
                    //     {
                    //         limit: "required",
                    //         param: "",
                    //         errInfo: "有效期终止时间不能为空"
                    //     },
                    //     {
                    //         limit: "dateTime",
                    //         param: "",
                    //         errInfo: "有效期终止时间不是有效的时间格式"
                    //     },
                    // ]
                });
            },
            savePayFeeConfigDiscountInfo: function () {
public/components/property/payFeeUserAccount/payFeeUserAccount.js
@@ -9,6 +9,7 @@
            payFeeUserAccountInfo: {
                accountList: [],
                feeId: '',
                isContractFee: '',
                ownerId: '',
                communityId: vc.getCurrentCommunity().communityId,
                quanAccount: false,
@@ -62,6 +63,7 @@
                        page: DEFAULT_PAGE,
                        row: DEFAULT_ROWS,
                        feeId: $that.payFeeUserAccountInfo.feeId,
                        isContractFee: $that.payFeeUserAccountInfo.isContractFee,
                        ownerId: $that.payFeeUserAccountInfo.ownerId,
                        communityId: $that.payFeeUserAccountInfo.communityId,
                    }
public/components/property/roomTreeDiv/roomTreeDiv.js
@@ -208,7 +208,7 @@
                            let _menuItem = {
                                id: 'u_' + _units[_pIndex].unitId,
                                unitId: _units[_pIndex].unitId,
                                text: _units[_pIndex].unitNum + "单元",
                                text: _units[_pIndex].unitNum,
                                icon: "/img/unit.png",
                                state: {
                                    opened: true
public/pages/property/listContractFee/listContractFee.js
@@ -45,7 +45,8 @@
                        row: _row,
                        communityId: vc.getCurrentCommunity().communityId,
                        payerObjId: vc.component.listContractFeeInfo.contractId,
                        ownerId: $that.listContractFeeInfo.urlOwnerId
                        ownerId: $that.listContractFeeInfo.urlOwnerId,
                        isContractFee:'O'
                    }
                };
                //发送get请求
@@ -76,7 +77,8 @@
                })
            },
            _payFee: function (_fee) {
                vc.jumpToPage('/#/pages/property/payFeeOrder?feeId=' + _fee.feeId);
                vc.jumpToPage('/#/pages/property/payFeeOrder?feeId=' + _fee.feeId + '&isContractFee=' + _fee.isContractFee);
            },
            _editFee: function (_fee) {
                vc.emit('editFee', 'openEditFeeModal', _fee);
public/pages/property/payFeeOrder/payFeeOrder.js
@@ -5,6 +5,7 @@
        data: {
            payFeeOrderInfo: {
                feeId: '',
                isContractFee: '',
                feeName: '',
                feeTypeCdName: '',
                feeTypeCd: '',
@@ -68,6 +69,7 @@
        },
        _initMethod: function () {
            $that.payFeeOrderInfo.feeId = vc.getParam('feeId');
            $that.payFeeOrderInfo.isContractFee = vc.getParam('isContractFee');
            $that._initCustEndDate();
            $that.listAndComputeFeeInfo();
        },
@@ -169,6 +171,7 @@
                });
                vc.emit('payFeeUserAccount', 'computeFeeUserAmount', {
                    feeId: $that.payFeeOrderInfo.feeId,
                    isContractFee: $that.payFeeOrderInfo.isContractFee,
                });
            },
            _useUserAccountChange: function (e) {
@@ -371,6 +374,7 @@
                    params: {
                        communityId: vc.getCurrentCommunity().communityId,
                        feeId: $that.payFeeOrderInfo.feeId,
                        isContractFee: $that.payFeeOrderInfo.isContractFee,
                        page: 1,
                        row: 1,
                        cycle: _cycles