layui.extend({
    common    :   'js/common',
    xmSelect    :   'layui/dist/xm-select',
}).use(['jquery','common','form','laydate','table','layer','xmSelect'],function () {
    //  Jquery插件
    var $ = layui.jquery;
    //  弹窗插件
    var layer = layui.layer;
    //  引入表单插件
    var form = layui.form;
    //  引入公共模块
    var common = layui.common;
    /* ----------日期选择器*/
    let laydate = layui.laydate;
    laydate.render({
        elem: '#dateSelector' ,
        type: 'month'
    });

    //  页面数据
    var pageData = {
        agencyList:{},
        residentialList : {},
        unitList : {},
        roomList : {},

        agencyNode:$('#agency_id'),
        residentialNode : $('#residential_id'),
        unitNode : $('#unit_id'),
        roomNode : $('#room_id'),

        // selectTreeId : $('#selectTreeId').val(),
        treeFlag : '',

        parentId : $('#parentId').val(),
        flag : $('#flag').val()
        // residentialList : {},
        // agencyList: {},
        // buildingList:{},
        // unitList:{},
        // floorList:{},
        // roomList:{},
        // agencyNode : $('#agency_id'),
        // residentialNode : $('#residential_id'),
        // buildingNode:$('#building_id'),
        // unitNode:$('#unit_id'),
        // floorNode:$('#floor_id'),
        // roomNode:$('#room_id'),
        //
        // treeFlag : '',
        // parentId : $('#parentId').val(),
        // flag : $('#flag').val()
    };
   /* -----------表格数据*/
    let table = layui.table;
    table.render({
        elem: '#itemTable'
        ,url: '/bills/manage/list'
        ,page: true
        ,cols: [[
            {field: 'itemName', title: '缴费项'}
            ,{field: 'itemFee', title: '缴费金额'}
            ,{field: 'itemDesc', title: '备注'}
            ,{title: '操作'}
        ]]
        ,response: {
            statusCode: 200
        }
        ,parseData: (res)=>{
            console.log(res);
            return {
                "code": res.code,
                "msg": res.msg,
                "count": res.data.total,
                "data": res.data.records
            }
        }
    });
    //监听提交
    form.on('submit(submit_edit)', function(data){
        // common.timer($('button[lay-filter="submit_edit"]'));
        // common.sendAsyncRequest("/bills/manage/edit",'POST',data.field,callbackFn);
        $.ajax({
            url:"/bills/manage/edit",
            type:'POST',
            async:false,
            contentType:'application/json;charset=UTF-8',
            data:JSON.stringify(data.field),
            // contentType:'application/x-www-form-urlencoded',
            // dataType:"json",
            success:function (result) {
                if(result.data){
                    layer.msg('修改成功！',
                        {
                            icon:1,
                            time: 500
                            ,shade : [0.1 , '#000' , true]
                        },function () {
                            //获取当前弹窗出层的名字
                            var index = parent.layer.getFrameIndex(window.name);
                            //关闭弹窗层
                            parent.layer.close(index);
                            // 父页面刷新
                            parent.location.reload();
                        });
                }else {
                    layer.msg('修改失败！',{
                        icon:2,
                        time:500,
                        shade:[0.1,'#000',true]
                    });
                }
            },
            error:function () {
                layer.msg('请求出错了！',{
                    time: 2000
                    ,shade : [0.1 , '#000' , true]
                })
            }
        })
    });

    //回调函数
    function callbackFn(result) {
        if(result.data){
            layer.msg("修改成功",{
                time: 500
                ,shade : [0.1 , '#000' , true]
            },function () {
                //获取当前弹窗出层的名字
                var index = parent.layer.getFrameIndex(window.name);
                //关闭弹窗层
                parent.layer.close(index);
                // 父页面刷新
                parent.location.reload();
            });
        }else {//添加失败
            layer.msg("修改失败");
        }
    };

    //取消按钮
    $('#cancel_btn').on("click",function(){
        //获取当前弹窗出层的名字
        var index = parent.layer.getFrameIndex(window.name);
        //关闭弹窗层
        parent.layer.close(index);
    });
    //删除账单分项按钮
    $('#delete_bills_item').on("click",function(data){
        console.log(111);
        console.log(data,'点击数据');
    });

    //社区查询下拉列表
//     var agencySelect = xmSelect.render({
//         el: '#agency_id',
//         name: 'agencyId',
//         layVerify: 'required',
//         radio: true,
//         prop: {
//             name: 'agencyName',
//             value: 'id',
//         },
//         clickClose: true,
//         paging: true,
//         pageRemote: true,
//         filterable: true,
//         remoteMethod: function (val, cb, show,pageIndex) {
//             $.ajax({
//                 type: 'GET',
//                 url: '/estate/agency/showAgencyList',
//                 data: {
//                     agencyName : val,
//                     current : pageIndex,
//                 },
//                 success: function (result) {
//                     cb(result.data.records,10);
//                 },
//                 error: function () {
//                     cb([],0);
//                 }
//             });
//         },
//         //监听选择
//         on: function (data) {
//             var change = data.change;
//             if (change.length > 0) {
//                 residentialSelect.update({data:initResidentialFn(change[0].id),disabled: false}).setValue([]);
//                 buildingSelect.update({disabled: true }).setValue([]);
//                 unitSelect.update({disabled: true }).setValue([]);
//                 floorSelect.update({disabled: true }).setValue([]);
//                 roomSelect.update({disabled: true }).setValue([]);
//             }
//             if (!data.isAdd) {
//                 residentialSelect.update({disabled: true }).setValue([]);
//                 unitSelect.update({disabled: true }).setValue([]);
//                 buildingSelect.update({disabled: true }).setValue([]);
//                 floorSelect.update({disabled: true }).setValue([]);
//                 roomSelect.update({disabled: true }).setValue([]);
//             }
//         },
//         //显示方式
//         model: {
//             label: {
//                 type: 'text',
//                 text: {
//                     //左边拼接的字符
//                     left: '',
//                     //右边拼接的字符
//                     right: '',
//                     //中间的分隔符
//                     separator: ', ',
//                 },
//             }
//         },
//     });
// //小区查询下拉列表
//     var residentialSelect = xmSelect.render({
//         el: '#residential_id',
//         name: 'residentialId',
//         layVerify: 'required',
//         tips:'请先选择社区',
//         disabled:true,
//         radio: true,
//         prop: {
//             name: 'name',
//             value: 'id',
//         },
//         clickClose: true,
//         paging: true,
//         pageRemote: true,
//         filterable: true,
//         remoteMethod: function (val, cb, show,pageIndex) {
//             $.ajax({
//                 type: 'GET',
//                 url: '/estate/residential/showResidentialList',
//                 data: {
//                     name : val,
//                     agencyId:agencySelect.getValue('valueStr'),
//                     current : pageIndex,
//                 },
//                 success: function (result) {
//                     cb(result.data.records,10);
//                 },
//                 error: function () {
//                     cb([],0);
//                 }
//             });
//         },
//         //监听选择
//         on: function (data) {
//             var change = data.change;
//             if (change.length > 0) {
//                 buildingSelect.update({data:initBuildFn(change[0].id),disabled: false}).setValue([]);
//                 unitSelect.update({disabled: true }).setValue([]);
//                 floorSelect.update({disabled: true }).setValue([]);
//                 roomSelect.update({disabled: true }).setValue([]);
//             }
//             if (!data.isAdd) {
//                 unitSelect.update({disabled: true }).setValue([]);
//                 buildingSelect.update({disabled: true }).setValue([]);
//                 floorSelect.update({disabled: true }).setValue([]);
//                 roomSelect.update({disabled: true }).setValue([]);
//             }
//         },
//         //显示方式
//         model: {
//             label: {
//                 type: 'text',
//                 text: {
//                     //左边拼接的字符
//                     left: '',
//                     //右边拼接的字符
//                     right: '',
//                     //中间的分隔符
//                     separator: ', ',
//                 },
//             }
//         },
//     });
//
//     //楼栋查询下拉列表
//     var buildingSelect = xmSelect.render({
//         el: '#building_id',
//         name: 'buildingId',
//         layVerify: 'required',
//         disabled: true,
//         tips: '请先选择小区',
//         radio: true,
//         prop: {
//             name: 'name',
//             value: 'id',
//         },
//         clickClose: true,
//         paging: true,
//         pageRemote: true,
//         filterable: true,
//         remoteMethod: function (val, cb, show,pageIndex) {
//             $.ajax({
//                 type: 'GET',
//                 url: '/estate/building/showBuildingList',
//                 data: {
//                     name : val,
//                     residentialId : residentialSelect.getValue('valueStr'),
//                     current : pageIndex,
//                 },
//                 success: function (result) {
//                     cb(result.data.records);
//                 },
//                 error: function () {
//                     cb([],0);
//                 }
//             });
//         },
//         //监听选择
//         on: function (data) {
//             var change = data.change;
//             if (change.length > 0) {
//                 unitSelect.update({data : initUnitFn(change[0].id),disabled: false }).setValue([]);
//                 floorSelect.update({disabled:true}).setValue([]);
//                 roomSelect.update({disabled: true }).setValue([]);
//             }
//             if (!data.isAdd) {
//                 unitSelect.update({disabled: true }).setValue([]);
//                 floorSelect.update({disabled:true}).setValue([]);
//                 roomSelect.update({disabled: true }).setValue([]);
//             }
//         },
//         //显示方式
//         model: {
//             label: {
//                 type: 'text',
//                 text: {
//                     //左边拼接的字符
//                     left: '',
//                     //右边拼接的字符
//                     right: '',
//                     //中间的分隔符
//                     separator: ', ',
//                 },
//             }
//         },
//     });
//
//     //单元查询下拉列表
//     var unitSelect = xmSelect.render({
//         el: '#unit_id',
//         name: 'unitId',
//         layVerify: 'required',
//         disabled: true,
//         tips: '请先选择楼栋',
//         radio: true,
//         prop: {
//             name: 'name',
//             value: 'id',
//         },
//         clickClose: true,
//         paging: true,
//         pageRemote: true,
//         filterable: true,
//         remoteMethod: function (val, cb, show,pageIndex) {
//             $.ajax({
//                 type: 'GET',
//                 url: '/estate/unit/showUnitList',
//                 data: {
//                     name : val,
//                     buildingId : buildingSelect.getValue('valueStr'),
//                     current : pageIndex,
//                 },
//                 success: function (result) {
//                     cb(result.data.records,5);
//                 },
//                 error: function () {
//                     cb([],0);
//                 }
//             });
//         },
//         //监听选择
//         on: function (data) {
//             var change = data.change;
//             if (change.length > 0) {
//                 floorSelect.update({data : initFloorFn(change[0].id),disabled: false }).setValue([]);
//                 roomSelect.update({disabled: true }).setValue([]);
//             }
//             if (!data.isAdd) {
//                 floorSelect.update({disabled:true}).setValue([]);
//                 roomSelect.update({disabled: true }).setValue([]);
//             }
//         },
//         //显示方式
//         model: {
//             label: {
//                 type: 'text',
//                 text: {
//                     //左边拼接的字符
//                     left: '',
//                     //右边拼接的字符
//                     right: '',
//                     //中间的分隔符
//                     separator: ', ',
//                 },
//             }
//         },
//     });
//
//     //楼层查询下拉列表
//     var floorSelect = xmSelect.render({
//         el: '#floor_id',
//         name: 'floorId',
//         layVerify: 'required',
//         disabled: true,
//         tips: '请先选择单元',
//         radio: true,
//         prop: {
//             name: 'name',
//             value: 'id',
//         },
//         clickClose: true,
//         paging: true,
//         pageRemote: true,
//         filterable: true,
//         remoteMethod: function (val, cb, show,pageIndex) {
//             $.ajax({
//                 type: 'GET',
//                 url: '/estate/floor/showFloorList',
//                 data: {
//                     name : val,
//                     unitId : unitSelect.getValue('valueStr'),
//                     current : pageIndex,
//                 },
//                 success: function (result) {
//                     cb(result.data.records,5);
//                 },
//                 error: function () {
//                     cb([],0);
//                 }
//             });
//         },
//         //监听选择
//         on: function (data) {
//             var change = data.change;
//             if (change.length > 0) {
//                 roomSelect.update({data : initRoomFn(change[0].id),disabled: false }).setValue([]);
//             }
//             if (!data.isAdd) {
//                 roomSelect.update({disabled:true}).setValue([]);
//             }
//         },
//         //显示方式
//         model: {
//             label: {
//                 type: 'text',
//                 text: {
//                     //左边拼接的字符
//                     left: '',
//                     //右边拼接的字符
//                     right: '',
//                     //中间的分隔符
//                     separator: ', ',
//                 },
//             }
//         },
//     });
//
// //房间查询下拉列表
//     var roomSelect = xmSelect.render({
//         el: '#room_id',
//         name: 'roomId',
//         layVerify: 'required',
//         tips: '请先选择楼层',
//         disabled: true,
//         radio: true,
//         prop: {
//             name: 'name',
//             value: 'id',
//         },
//         clickClose: true,
//         paging: true,
//         pageRemote: true,
//         filterable: true,
//         remoteMethod: function (val, cb, show,pageIndex) {
//             $.ajax({
//                 type: 'GET',
//                 url: '/estate/room/getListByLikeName',
//                 data: {
//                     name : val,
//                     floorId : floorSelect.getValue('valueStr'),
//                     isSelect : true,
//                     current : pageIndex,
//                 },
//                 success: function (result) {
//                     cb(result.list,10);
//                 },
//                 error: function () {
//                     cb([],0);
//                 }
//             });
//         },
//         //监听选择
//         on: function (data) {
//             var change = data.change;
//             if (change.length > 0) {}
//             if (!data.isAdd) {}
//         },
//         //显示方式
//         model: {
//             label: {
//                 type: 'text',
//                 text: {
//                     //左边拼接的字符
//                     left: '',
//                     //右边拼接的字符
//                     right: '',
//                     //中间的分隔符
//                     separator: ', ',
//                 },
//             }
//         },
//     });
//     function initResidentialFn(agencyId) {
//         var residentialList;
//         common.sendSyncRequest("/estate/residential/showResidentialList", 'get', {agencyId: agencyId,current : 1,}, function (result) {
//             residentialList = result.data.records;
//         });
//         return residentialList;
//     }
//
//     function initUnitFn(buildingId) {
//         var unitList;
//         common.sendSyncRequest("/estate/unit/showUnitList", 'get', {buildingId: buildingId,current : 1,}, function (result) {
//             unitList = result.data.records;
//         });
//         return unitList;
//     }
//
//     function initBuildFn(residentialId) {
//         var buildingList;
//         common.sendSyncRequest("/estate/building/showBuildingList", 'get', {residentialId: residentialId,current : 1,}, function (result) {
//             buildingList = result.data.records;
//         });
//         return buildingList;
//     }
//
//     function initFloorFn(unitId) {
//         var floorList;
//         common.sendSyncRequest("/estate/floor/showFloorList", 'get', {unitId: unitId,current : 1,}, function (result) {
//             floorList = result.data.records;
//         });
//         return floorList;
//     }
//
//     function initRoomFn(floorId) {
//         var roomList;
//         common.sendSyncRequest("/estate/room/getListByLikeName", 'get', {floorId: floorId, isSelect: true}, function (result) {
//             roomList = result.list;
//             // roomList = result.data.records;
//         });
//         return roomList;
//     }
//
//     //小区和单元赋值
//     (function() {
//         if (pageData.parentId != null){
//             switch (pageData.flag) {
//                 case '1':
//                     $.ajax({
//                         type: 'GET',
//                         url: '/estate/agency/findAgencyById/'+pageData.parentId,
//                         success: function (result) {
//                             agencySelect.update({disabled:true,data:[result.data]}).setValue([pageData.parentId]);
//                             residentialSelect.update({disabled:false});
//                             unitSelect.update({disabled: false });
//                         }
//                     });
//                     break;
//                 case '2':
//                     $.ajax({
//                         type: 'GET',
//                         url: '/estate/residential/findResidentialById/'+pageData.parentId,
//                         success: function (result) {
//                             residentialSelect.update({disabled:true,data:[result.data]}).setValue([pageData.parentId]);
//                             unitSelect.update({disabled: false });
//                         }
//                     });
//                     break;
//                 case '4':
//                     $.ajax({
//                         type: 'GET',
//                         url: '/estate/unit/findUnitById/'+pageData.parentId,
//                         success: function (result) {
//                             unitSelect.update({disabled:true,data:[result.data]}).setValue([pageData.parentId]);
//                             $.ajax({
//                                 type: 'GET',
//                                 url: '/estate/residential/findResidentialById/'+result.data.residentialId,
//                                 success: function (result2) {
//                                     residentialSelect.update({disabled:true,data : [result2.data]}).setValue([result.data.residentialId])
//                                 }
//                             });
//                         }
//                     });
//                     break;
//                 case '5':
//                     $.ajax({
//                         type: 'GET',
//                         url: '/estate/room/findRoomById/'+pageData.parentId,
//                         success: function (result) {
//                             roomSelect.update({disabled:true,data:[result.data]}).setValue([pageData.parentId]);
//                             $.ajax({
//                                 type: 'GET',
//                                 url: '/estate/unit/findUnitById/'+result.data.unitId,
//                                 success: function (result1) {
//                                     unitSelect.update({
//                                         disabled: true,
//                                         data: [result1.data]
//                                     }).setValue([result.data.unitId]);
//                                 }
//                             });
//                             $.ajax({
//                                 type: 'GET',
//                                 url: '/estate/residential/findResidentialById/'+result.data.residentialId,
//                                 success: function (result2) {
//                                     residentialSelect.update({
//                                         disabled: true,
//                                         data: [result2.data]
//                                     }).setValue([result.data.residentialId])
//                                 }
//                             });
//                         }
//                     });
//                     break;
//                 default:
//                     break;
//             }
//         }
//     })();
});