jialh
2025-07-04 3f0a25fbe642b1a524c2359b98d6eaf3cee74b14
备份
8个文件已修改
316 ■■■■ 已修改文件
app.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/property/addFeeConfig/addFeeConfig.html 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/property/addFeeConfig/addFeeConfig.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/property/tempImportRoomFee/tempImportRoomFee.html 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/components/property/tempImportRoomFee/tempImportRoomFee.js 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/property/batchPayFeeOrder/batchPayFeeOrder.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/property/feeConfigManage/feeConfigManage.html 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/pages/property/feeConfigManage/feeConfigManage.js 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app.js
@@ -57,9 +57,9 @@
// app.use('/app', proxy('http://192.168.100.109:8008', opts));
// todo 本机 开发用,生产环境请用nginx带来
app.use('/ws', proxy('http://47.92.223.85:8008', opts));
app.use('/callComponent', proxy('http://47.92.223.85:8008', opts));
app.use('/app', proxy('http://47.92.223.85:8008', opts));
app.use('/ws', proxy('http://192.168.31.137:8008', opts));
app.use('/callComponent', proxy('http://192.168.31.137:8008', opts));
app.use('/app', proxy('http://192.168.31.137:8008', opts));
//app.listen(3000);
app.use(express.json());
public/components/property/addFeeConfig/addFeeConfig.html
@@ -22,14 +22,28 @@
                            </select>
                        </div>
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="费用子类型" namespace="addFeeConfig"></vc:i18n>
                        </label>
                        <div class="col-sm-4">
                            <select class="custom-select" v-model="addFeeConfigInfo.secondaryFeeTypeCd">
                                <option selected disabled value="">
                                    {{vc.i18n('非必填,请选择费用子类型','addFeeConfig')}}
                                </option>
                                <option v-for="(item, index) in addFeeConfigInfo.secondaryFeeTypeCds" :key="index" :value="item.secondaryFeeTypeCd">
                                    {{ item.secondaryFeeTypeName }}
                                </option>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="收费项目" namespace="addFeeConfig"></vc:i18n>
                        </label>
                        <div class="col-sm-4">
                            <input v-model="addFeeConfigInfo.feeName" type="text"
                                :placeholder="vc.i18n('必填,请填写收费项目','addFeeConfig')" class="form-control">
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="费用标识" namespace="addFeeConfig"></vc:i18n>
                        </label>
@@ -43,6 +57,8 @@
                                </option>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="付费类型" namespace="addFeeConfig"></vc:i18n>
                        </label>
@@ -56,8 +72,6 @@
                                </option>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right" v-if="addFeeConfigInfo.feeFlag !='2006012'">
                            <vc:i18n name="缴费周期(单位:月)" namespace="addFeeConfig"></vc:i18n>
                        </label>
@@ -65,6 +79,8 @@
                            <input v-model="addFeeConfigInfo.paymentCycle" type="text"
                                :placeholder="vc.i18n('必填,请填写缴费周期','addFeeConfig')" class="form-control">
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right" v-if="addFeeConfigInfo.paymentCd == '1200'">
                            <vc:i18n name="预付期(单位:天)" namespace="addFeeConfig"></vc:i18n>
                        </label>
@@ -72,8 +88,6 @@
                            <input v-model="addFeeConfigInfo.prepaymentPeriod" type="text"
                                :placeholder="vc.i18n('必填,请填写预付期','addFeeConfig')" class="form-control">
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="单位" namespace="addFeeConfig"></vc:i18n>
                        </label>
@@ -81,6 +95,8 @@
                            <input v-model="addFeeConfigInfo.units" type="text"
                                :placeholder="vc.i18n('必填,请填写单位(如:元)','addFeeConfig')" class="form-control">
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="账户抵扣" namespace="addFeeConfig"></vc:i18n>
                        </label>
@@ -90,8 +106,6 @@
                                <option value="N">{{vc.i18n('否','addFeeConfig')}}</option>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="手机缴费" namespace="addFeeConfig"></vc:i18n>
                        </label>
@@ -101,6 +115,8 @@
                                <option value="N">{{vc.i18n('否')}}</option>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="进位方式" namespace="addFeeConfig"></vc:i18n>
                        </label>
@@ -111,8 +127,6 @@
                                <option value="4">{{vc.i18n('向下进位','addFeeConfig')}}</option>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="保留小数位" namespace="addFeeConfig"></vc:i18n>
                        </label>
@@ -125,6 +139,8 @@
                                <option value="4">{{vc.i18n('4位')}}</option>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label text-right">
                            <vc:i18n name="状态" namespace="addFeeConfig"></vc:i18n>
                        </label>
public/components/property/addFeeConfig/addFeeConfig.js
@@ -9,6 +9,7 @@
            addFeeConfigInfo: {
                configId: '',
                feeTypeCd: '',
                secondaryFeeTypeCd: '',
                feeName: '',
                feeFlag: '',
                startTime: vc.dateFormat(new Date().getTime()),
@@ -17,6 +18,7 @@
                squarePrice: '',
                additionalAmount: '',
                feeTypeCds: [],
                secondaryFeeTypeCds: [],
                computingFormulas: [],
                feeFlags: [],
                paymentCds: [],
@@ -31,7 +33,7 @@
                decimalPlace: '2',
                units: '元',
                prepaymentPeriod: '1',
                state:'Y'
                state: 'Y'
            }
        },
        _initMethod: function () {
@@ -64,8 +66,7 @@
                return vc.validate.validate({
                    addFeeConfigInfo: $that.addFeeConfigInfo
                }, {
                    'addFeeConfigInfo.feeTypeCd': [
                        {
                    'addFeeConfigInfo.feeTypeCd': [{
                            limit: "required",
                            param: "",
                            errInfo: "费用类型不能为空"
@@ -76,8 +77,7 @@
                            errInfo: "费用类型格式错误"
                        }
                    ],
                    'addFeeConfigInfo.feeName': [
                        {
                    'addFeeConfigInfo.feeName': [{
                            limit: "required",
                            param: "",
                            errInfo: "收费项目不能为空"
@@ -88,8 +88,7 @@
                            errInfo: "收费项目不能超过100位"
                        }
                    ],
                    'addFeeConfigInfo.feeFlag': [
                        {
                    'addFeeConfigInfo.feeFlag': [{
                            limit: "required",
                            param: "",
                            errInfo: "费用标识不能为空"
@@ -100,8 +99,7 @@
                            errInfo: "费用类型格式错误"
                        }
                    ],
                    'addFeeConfigInfo.startTime': [
                        {
                    'addFeeConfigInfo.startTime': [{
                            limit: "required",
                            param: "",
                            errInfo: "计费起始时间不能为空"
@@ -112,8 +110,7 @@
                            errInfo: "计费起始时间不是有效的时间格式"
                        }
                    ],
                    'addFeeConfigInfo.endTime': [
                        {
                    'addFeeConfigInfo.endTime': [{
                            limit: "required",
                            param: "",
                            errInfo: "计费终止时间不能为空"
@@ -124,8 +121,7 @@
                            errInfo: "计费终止时间不是有效的时间格式"
                        }
                    ],
                    'addFeeConfigInfo.computingFormula': [
                        {
                    'addFeeConfigInfo.computingFormula': [{
                            limit: "required",
                            param: "",
                            errInfo: "计算公式不能为空"
@@ -136,8 +132,7 @@
                            errInfo: "计算公式格式错误"
                        }
                    ],
                    'addFeeConfigInfo.squarePrice': [
                        {
                    'addFeeConfigInfo.squarePrice': [{
                            limit: "required",
                            param: "",
                            errInfo: "计费单价不能为空"
@@ -148,8 +143,7 @@
                            errInfo: "计费单价格式错误,如1.5000"
                        }
                    ],
                    'addFeeConfigInfo.additionalAmount': [
                        {
                    'addFeeConfigInfo.additionalAmount': [{
                            limit: "required",
                            param: "",
                            errInfo: "附加费用不能为空"
@@ -160,15 +154,12 @@
                            errInfo: "附加费用格式错误"
                        }
                    ],
                    'addFeeConfigInfo.billType': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "出账类型不能为空"
                        }
                    ],
                    'addFeeConfigInfo.paymentCycle': [
                        {
                    'addFeeConfigInfo.billType': [{
                        limit: "required",
                        param: "",
                        errInfo: "出账类型不能为空"
                    }],
                    'addFeeConfigInfo.paymentCycle': [{
                            limit: "required",
                            param: "",
                            errInfo: "缴费周期不能为空"
@@ -179,8 +170,7 @@
                            errInfo: "缴费周期必须为数字 单位月"
                        }
                    ],
                    'addFeeConfigInfo.prepaymentPeriod': [
                        {
                    'addFeeConfigInfo.prepaymentPeriod': [{
                            limit: "required",
                            param: "",
                            errInfo: "预付期不能为空"
@@ -191,8 +181,7 @@
                            errInfo: "预付期必须为数字 单位天"
                        }
                    ],
                    'addFeeConfigInfo.paymentCd': [
                        {
                    'addFeeConfigInfo.paymentCd': [{
                            limit: "required",
                            param: "",
                            errInfo: "付费类型不能为空"
@@ -245,15 +234,15 @@
                    return;
                }
                vc.http.apiPost('/feeConfig.saveFeeConfig', JSON.stringify($that.addFeeConfigInfo), {
                    emulateJSON: true
                },
                        emulateJSON: true
                    },
                    function (json, res) {
                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
                        let _json = JSON.parse(json)
                        if (_json.code == 0) {
                            //关闭model
                            $('#addFeeConfigModel').modal('hide');
                            vc.emit('feeConfigManage', 'listFeeConfig', {});
                            vc.toast("添加成功");
                            return;
@@ -274,6 +263,7 @@
                var _billTypes = $that.addFeeConfigInfo.billTypes;
                $that.addFeeConfigInfo = {
                    feeTypeCd: '',
                    secondaryFeeTypeCd: '',
                    feeName: '',
                    feeFlag: '',
                    startTime: vc.dateFormat(new Date().getTime()),
@@ -296,14 +286,18 @@
                    decimalPlace: '2',
                    units: '元',
                    prepaymentPeriod: '1',
                    state:'Y'
                    state: 'Y'
                };
            },
            _changeAddFeeTypeCd: function () { // 主要为了解决有些盲测的小伙伴 乱设置的问题
                let _feeTypeCd = $that.addFeeConfigInfo.feeTypeCd;
                $that.addFeeConfigInfo.feeFlag = '';
                $that.addFeeConfigInfo.computingFormula = '';
                $that.addFeeConfigInfo.secondaryFeeTypeCd = '';
                $that.addFeeConfigInfo.paymentCd = '1200';
                // 先调用接口获取对应的二级费用类型
                $that._fetchSecondaryFeeTypeCds(_feeTypeCd);
                // todo 水费,电费和煤气费一般都是 一次性费用,推荐设置
                if (_feeTypeCd == '888800010015' || _feeTypeCd == '888800010016' || _feeTypeCd == '888800010009') {
@@ -312,7 +306,7 @@
                    $that.addFeeConfigInfo.paymentCd = '2100';
                }
                // todo 押金一般是一次性费用
                if (_feeTypeCd == '888800010006') {
@@ -348,7 +342,26 @@
                    $that.addFeeConfigInfo.paymentCd = '2100';
                }
            }
            },
            _fetchSecondaryFeeTypeCds: function (feeTypeCd) {
                let param = {
                    params: {
                        feeTypeCd: feeTypeCd
                    }
                };
                vc.http.apiGet('/secondaryFeeTypeCdGl.list.show', param,
                    (json) => { // 使用箭头函数来保持上下文
                        let result = JSON.parse(json);
                        // console.log('Fetched secondary fee types:', result);
                        this.$set(this.addFeeConfigInfo, 'secondaryFeeTypeCds', result);
                    },
                    (errInfo, error) => {
                        console.log('请求失败处理');
                        vc.toast(errInfo);
                    }
                );
            },
        }
    });
})(window.vc);
public/components/property/tempImportRoomFee/tempImportRoomFee.html
@@ -26,6 +26,21 @@
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="费用子类型" namespace="tempImportRoomFee"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
                            <select class="custom-select" v-model="tempImportRoomFeeInfo.secondaryFeeTypeCd">
                                <option selected disabled value="">{{vc.i18n('必填,请选择费用子类型','tempImportRoomFee')}}
                                </option>
                                <option v-for="(item,index) in tempImportRoomFeeInfo.secondaryFeeTypeCds" :key="index"
                                    v-bind:value="item.secondaryFeeTypeCd">
                                    {{item.secondaryFeeTypeName}}
                                </option>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-2 col-form-label">
                            <vc:i18n name="费用对象" namespace="tempImportRoomFee"></vc:i18n>
                        </label>
                        <div class="col-sm-10">
public/components/property/tempImportRoomFee/tempImportRoomFee.js
@@ -1,12 +1,14 @@
(function(vc) {
(function (vc) {
    vc.extends({
        data: {
            tempImportRoomFeeInfo: {
                communityId: vc.getCurrentCommunity().communityId,
                feeTypeCd: '',
                secondaryFeeTypeCd: '',
                objType: '',
                feeTypeCds: [],
                secondaryFeeTypeCds: [],
                configId: '',
                objName: '',
                objId: '',
@@ -17,14 +19,14 @@
                feeNameFlag: 'S'
            }
        },
        _initMethod: function() {
            vc.getDict('pay_fee_config', "fee_type_cd", function(_data) {
        _initMethod: function () {
            vc.getDict('pay_fee_config', "fee_type_cd", function (_data) {
                $that.tempImportRoomFeeInfo.feeTypeCds = _data;
            });
            vc.initDate('tempImportFeeStartTime', function(_startTime) {
            vc.initDate('tempImportFeeStartTime', function (_startTime) {
                $that.tempImportRoomFeeInfo.startTime = _startTime;
            });
            vc.initDate('tempImportFeeEndTime', function(_endTime) {
            vc.initDate('tempImportFeeEndTime', function (_endTime) {
                $that.tempImportRoomFeeInfo.endTime = _endTime;
                let start = Date.parse(new Date($that.tempImportRoomFeeInfo.startTime))
                let end = Date.parse(new Date($that.tempImportRoomFeeInfo.endTime))
@@ -34,9 +36,9 @@
                }
            });
        },
        _initEvent: function() {
        _initEvent: function () {
            vc.on('tempImportRoomFee', 'openImportRoomFeeModal',
                function(_room) {
                function (_room) {
                    $that.clearTempImportRoomFeeInfo();
                    $that.tempImportRoomFeeInfo.objId = _room.roomId;
                    $that.tempImportRoomFeeInfo.objName = _room.roomName;
@@ -107,7 +109,7 @@
                    ],
                });
            },
            clearTempImportRoomFeeInfo: function() {
            clearTempImportRoomFeeInfo: function () {
                let _feeTypeCds = $that.tempImportRoomFeeInfo.feeTypeCds;
                $that.tempImportRoomFeeInfo = {
                    communityId: vc.getCurrentCommunity().communityId,
@@ -125,7 +127,7 @@
                    feeConfigs: []
                };
            },
            _saveTempImportFeeInfo: function() {
            _saveTempImportFeeInfo: function () {
                if (!$that.tempImportRoomFeeValidate()) {
                    vc.toast(vc.validate.errInfo);
                    return;
@@ -137,7 +139,7 @@
                    JSON.stringify($that.tempImportRoomFeeInfo), {
                        emulateJSON: true
                    },
                    function(json, res) {
                    function (json, res) {
                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
                        let _json = JSON.parse(json);
                        if (_json.code == 0) {
@@ -152,12 +154,12 @@
                        }
                        vc.toast(_json.msg);
                    },
                    function(errInfo, error) {
                    function (errInfo, error) {
                        console.log('请求失败处理');
                        vc.toast(errInfo);
                    });
            },
            _changeFeeTypeCd: function(_feeTypeCd) {
            _changeFeeTypeCd: function (_feeTypeCd) {
                let param = {
                    params: {
                        page: 1,
@@ -171,15 +173,33 @@
                };
                //发送get请求
                vc.http.apiGet('/feeConfig.listFeeConfigs', param,
                    function(json, res) {
                    function (json, res) {
                        let _json = JSON.parse(json);
                        $that.tempImportRoomFeeInfo.feeConfigs = _json.feeConfigs;
                    },
                    function(errInfo, error) {
                    function (errInfo, error) {
                        console.log('请求失败处理');
                    });
                let param1 = {
                    params: {
                        feeTypeCd: _feeTypeCd,
                    }
                };
                vc.http.apiGet('/secondaryFeeTypeCdGl.list.show', param1,
                    function (json, res) {
                        let result = JSON.parse(json);
                        // console.log('Fetched secondary fee types:', result);
                        $that.tempImportRoomFeeInfo.secondaryFeeTypeCds = _json;
                        // this.$set(this.tempImportRoomFeeInfo, 'secondaryFeeTypeCds', result);
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
                        vc.toast(errInfo);
                    }
                );
            },
            _inputFeeName: function() {
            _inputFeeName: function () {
                let _feeNameFlag = $that.tempImportRoomFeeInfo.feeNameFlag;
                if (_feeNameFlag != 'S') {
                    $that.tempImportRoomFeeInfo.feeNameFlag = 'S';
public/pages/property/batchPayFeeOrder/batchPayFeeOrder.html
@@ -32,6 +32,9 @@
                                    <vc:i18n name="费用类型" namespace="batchPayFeeOrder"></vc:i18n>
                                </th>
                                <th class="text-center">
                                    <vc:i18n name="费用子类型" namespace="batchPayFeeOrder"></vc:i18n>
                                </th>
                                <th class="text-center">
                                    <vc:i18n name="费用项目" namespace="batchPayFeeOrder"></vc:i18n>
                                </th>
                                <th class="text-center">
@@ -70,6 +73,7 @@
                                        v-model="batchPayFeeOrderInfo.selectPayFeeIds">
                                </td>
                                <td class="text-center">{{batchFee.feeTypeCdName}}</td>
                                <td class="text-center">{{batchFee.secondaryFeeTypeName}}</td>
                                <td class="text-center">{{batchFee.feeName}}</td>
                                <td class="text-center">{{batchFee.feeFlagName}}</td>
                                <td class="text-center">{{_getBatchPayFeeRoomName(batchFee)}}</td>
public/pages/property/feeConfigManage/feeConfigManage.html
@@ -42,6 +42,14 @@
                            </div>
                        </div>
                        <div class="col-sm-2">
                            <select class="custom-select" v-model="feeConfigManageInfo.conditions.secondaryFeeTypeCd">
                                <option selected value="">{{vc.i18n('请选择费用子类型','feeConfigManage')}}</option>
                                <option v-for="(item,index) in feeConfigManageInfo.secondaryFeeTypeCds" :key="index"
                                    :value="item.secondaryFeeTypeCd">{{item.secondaryFeeTypeName}}
                                </option>
                            </select>
                        </div>
                        <div class="col-sm-2">
                            <select class="custom-select" v-model="feeConfigManageInfo.conditions.feeFlag">
                                <option selected value="">{{vc.i18n('请选择费用标识','feeConfigManage')}}</option>
                                <option v-for="(item,index) in feeConfigManageInfo.feeFlags" :key="index"
@@ -117,6 +125,9 @@
                                    <vc:i18n name="费用类型" namespace="feeConfigManage"></vc:i18n>
                                </th>
                                <th class="text-center">
                                    <vc:i18n name="费用子类型" namespace="feeConfigManage"></vc:i18n>
                                </th>
                                <th class="text-center">
                                    <vc:i18n name="收费项目" namespace="feeConfigManage"></vc:i18n>
                                </th>
                                <th class="text-center">
@@ -153,6 +164,7 @@
                            <tr v-for="feeConfig in feeConfigManageInfo.feeConfigs">
                                <td class="text-center">{{feeConfig.configId}}</td>
                                <td class="text-center">{{feeConfig.feeTypeCdName}}</td>
                                <td class="text-center">{{feeConfig.secondaryFeeTypeCdName}}</td>
                                <td class="text-center">{{feeConfig.feeName}}</td>
                                <td class="text-center">{{feeConfig.feeFlagName}}</td>
                                <td class="text-center">{{feeConfig.paymentCd == '1200' ? '预付费':'后付费'}}</td>
public/pages/property/feeConfigManage/feeConfigManage.js
@@ -2,6 +2,11 @@
 入驻小区
 **/
(function(vc) {
    window.addEventListener('error', function(event) {
        console.error("=== 全局未捕获错误 ===");
        console.error("错误信息:", event.error);
        console.error("错误位置:", event.filename, "行号:", event.lineno);
    });
    var DEFAULT_PAGE = 1;
    var DEFAULT_ROWS = 10;
    vc.extends({
@@ -14,12 +19,14 @@
                feeName: '',
                feeTypeCds: [],
                feeFlags: [],
                secondaryFeeTypeCds: [],
                paymentCds: [],
                billTypes: [],
                isDefaults: [],
                curPage: DEFAULT_PAGE,
                conditions: {
                    configId: '',
                    secondaryFeeTypeCd: '',
                    feeFlag: '',
                    billType: '',
                    feeName: '',
@@ -31,30 +38,24 @@
            }
        },
        _initMethod: function() {
            $that._listFeeConfigs(DEFAULT_PAGE, DEFAULT_ROWS);
            //关联字典表费用类型
            vc.getDict('pay_fee_config', "fee_type_cd", function(_data) {
                $that.feeConfigManageInfo.feeTypeCds = [{
                    statusCd: '',
                    name: '全部'
                }];
                _data.forEach(item => {
                    $that.feeConfigManageInfo.feeTypeCds.push(item);
                });
            });
            //关联字典表费用标识
            vc.getDict('pay_fee_config', 'fee_flag', function(_data) {
                $that.feeConfigManageInfo.feeFlags = _data;
            });
            //关联字典表付费类型
            vc.getDict('pay_fee_config', 'payment_cd', function(_data) {
                $that.feeConfigManageInfo.paymentCds = _data;
            });
            //关联字典表费用项
            vc.getDict('pay_fee_config', 'is_default', function(_data) {
                $that.feeConfigManageInfo.isDefaults = _data;
            })
            $that._initDicts(); // 初始化字典数据
                let param = {
                    params: {
                        feeTypeCd: ''
                    }
                };
                vc.http.apiGet('/secondaryFeeTypeCdGl/list', param,
                    function(json) {
                        let result = JSON.parse(json);
                        $that.feeConfigManageInfo.secondaryFeeTypeCds = result;  // 假设result.data是返回的二级费用类型数组
                    },
                    function(errInfo, error) {
                        console.log('请求失败处理');
                    }
                );
            $that._listFeeConfigs(DEFAULT_PAGE, DEFAULT_ROWS); // 获取费用配置项
        },
        _initEvent: function() {
            vc.on('feeConfigManage', 'listFeeConfig',
                function(_param) {
@@ -67,8 +68,59 @@
                });
        },
        methods: {
            _initDicts: function() {
                console.log("initDicts");
                vc.getDict('pay_fee_config', "fee_type_cd", function(_data) {
                    $that.feeConfigManageInfo.feeTypeCds = [{
                        statusCd: '',
                        name: '全部'
                    }];
                    _data.forEach(item => {
                        $that.feeConfigManageInfo.feeTypeCds.push(item);
                    });
                });
                //关联字典表费用标识
                vc.getDict('pay_fee_config', 'fee_flag', function(_data) {
                    $that.feeConfigManageInfo.feeFlags = _data;
                });
                //关联字典表付费类型
                vc.getDict('pay_fee_config', 'payment_cd', function(_data) {
                    $that.feeConfigManageInfo.paymentCds = _data;
                });
                //关联字典表费用项
                vc.getDict('pay_fee_config', 'is_default', function(_data) {
                    $that.feeConfigManageInfo.isDefaults = _data;
                })
            },
            // 切换费用类型
            swatchFeeTypeCd: function(item) {
                $that.feeConfigManageInfo.conditions.feeTypeCd = item.statusCd;
                $that._secondaryFeeTypeCds(item.statusCd); // 使用新的接口
                $that._listFeeConfigs(DEFAULT_PAGE, DEFAULT_ROWS); // 查询费用配置
            },
            // 获取二级费用类型
            _secondaryFeeTypeCds: function(feeTypeCd = '') {
                console.log("=== 进入_secondaryFeeTypeCds方法 ===");
                let param = {
                    params: {
                        feeTypeCd: feeTypeCd
                    }
                };
                vc.http.apiGet('/secondaryFeeTypeCdGl/list', param,
                    function(json, res) {
                        let result = JSON.parse(json);
                        console.log('Fetched secondary fee types:', result);
                        $that.$set($that.feeConfigManageInfo, 'secondaryFeeTypeCds', result);
                    },
                    function(errInfo, error) {
                        console.log('_secondaryFeeTypeCds方法请求失败处理:', errInfo, error); // 打印错误信息
                    }
                );
            },
            //查询方法
            _listFeeConfigs: function(_page, _rows) {
                $that.feeConfigManageInfo.conditions.page = _page;
                $that.feeConfigManageInfo.conditions.row = _rows;
                $that.feeConfigManageInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
@@ -96,6 +148,7 @@
                        console.log('请求失败处理');
                    }
                );
            },
            //重置方法
            _resetListFeeConfigs: function() {
@@ -103,6 +156,7 @@
                $that.feeConfigManageInfo.conditions.feeName = '';
                $that.feeConfigManageInfo.conditions.feeTypeCd = '';
                $that.feeConfigManageInfo.conditions.feeFlag = '';
                $that.feeConfigManageInfo.conditions.secondaryFeeTypeCd = '';
                $that.feeConfigManageInfo.conditions.paymentCd = '';
                $that.feeConfigManageInfo.conditions.billType = '';
                $that.feeConfigManageInfo.conditions.isDefault = '';
@@ -136,10 +190,10 @@
            _settingConfigDiscount: function(_feeConfig) {
                vc.jumpToPage('/#/pages/property/payFeeConfigDiscountManage?configId=' + _feeConfig.configId + "&feeName=" + _feeConfig.feeName);
            },
            swatchFeeTypeCd: function(item) {
                $that.feeConfigManageInfo.conditions.feeTypeCd = item.statusCd;
                $that._listFeeConfigs(DEFAULT_PAGE, DEFAULT_ROWS);
            },
            // swatchFeeTypeCd: function(item) {
            //     $that.feeConfigManageInfo.conditions.feeTypeCd = item.statusCd;
            //     $that._listFeeConfigs(DEFAULT_PAGE, DEFAULT_ROWS);
            // },
            _openFeeConfigDetail: function(_feeConfig) {
                window.open('/#/pages/fee/feeConfigDetail?configId=' + _feeConfig.configId)
            }