zhongrj
2023-11-02 b4068110a2578e313c6b03c379d97f88feff3f18
首页页面无法显示修改,楼盘表转取逻辑跳转
4 files modified
210 ■■■■ changed files
api/doorplateAddress/doorplateAddress.js 19 ●●●● patch | view | raw | blame | history
pages/home/index.vue 40 ●●●●● patch | view | raw | blame | history
subPackage/house/family/index.vue 78 ●●●● patch | view | raw | blame | history
subPackage/house/list/index.vue 73 ●●●● patch | view | raw | blame | history
api/doorplateAddress/doorplateAddress.js
@@ -24,26 +24,11 @@
    })
}
// 获取社区信息
export const getHouseList = (type, name) => {
export const getHouseList = (param) => {
    return http.request({
        url: 'blade-doorplateAddress/doorplateAddress/getHousesList',
        method: 'GET',
        params: {
            type,
            name
        }
    })
}
// 获取当前楼栋信息
export const getHouseInfoList = (type, code) => {
    return http.request({
        url: 'blade-doorplateAddress/doorplateAddress/getHousesList',
        method: 'GET',
        params: {
            type,
            code
        }
        params: param
    })
}
pages/home/index.vue
@@ -12,7 +12,7 @@
            </view>
            <view class="" v-if="roleType != 1">
                <u-grid :border="false" col="4">
                    <u-grid-item v-for="(i,k) in cellList" :key="k">
                    <u-grid-item v-for="(i,k) in cellList" :key="k" @click.native="toPage(i)">
                        <u-icon :name="i.icon" :size="45"></u-icon>
                        <text class="f-26 mt-20">{{i.text}}</text>
                    </u-grid-item>
@@ -81,7 +81,7 @@
                <u-grid :border="false" col="4">
                    <u-grid-item v-for="(item, index) in jobList" :index="index" :key="index"
                        :customStyle="{paddingTop:20+'rpx'}">
                        <view class="grid-item flex f-d-c a-i-c" :style="{background:item.style.background}">
                        <view class="grid-item flex f-d-c a-i-c" :style="{background:item.background}">
                            <u-icon :name="item.imgUrl" width="60rpx" height="60rpx"></u-icon>
                            <text class="grid-text f-24">{{item.title}}</text>
                        </view>
@@ -171,19 +171,23 @@
                ],
                cellList: [{
                        icon: "/static/icon/nav-01.png",
                        text: "扫一扫"
                        text: "扫一扫",
                        path:''
                    },
                    {
                        icon: "/static/icon/nav-02.png",
                        text: "报事报修"
                        text: "报事报修",
                        path:''
                    },
                    {
                        icon: "/static/icon/nav-03.png",
                        text: "便民热线"
                        text: "便民热线",
                        path:''
                    },
                    {
                        icon: "/static/icon/nav-04.png",
                        text: "租客上报"
                        text: "租客上报",
                        path:'/subPackage/bs/views/zhsb'
                    }
                ],
                navList: [{
@@ -376,9 +380,12 @@
            // 获取楼盘
            async getHouseDataList(name) {
                const res = await getHouseList(1, name)
                console.log(res);
            async getHouseDataList(code) {
                const param = {
                    type: 1,
                    code:code
                }
                const res = await getHouseList(param)
                res.data.forEach(item => {
                    item.title = item.name
                    item.useSlot = true
@@ -411,7 +418,7 @@
                console.log('confirm', e)
                this.curSelectSite = e.value[e.value.length - 1]
                this.selectBoxShow = false
                this.getHouseDataList(e.value[1].name)
                this.getHouseDataList(e.value[1].id)
            },
            getMenu(menuName, menuList, resultArr) {
                // console.log(menuList, menuName)
@@ -424,11 +431,8 @@
                        }
                    }
                }
                return resultArr
            },
            //获取首页菜单
            getMenuList() {
                console.log("当前角色菜单", this.menuList)
@@ -496,7 +500,17 @@
                    let url = `/subPackage/house/list/index?id=${id}&title=${title}`
                    this.$u.func.globalNavigator(url, "navTo")
                }
            },
            // 页面跳转
            toPage({id, title, path }) {
                let url = `${path}`
                this.$u.func.globalNavigator(url, "navTo")
                if (id !== void 0) {
                }
            }
        }
    }
</script>
subPackage/house/family/index.vue
@@ -7,7 +7,7 @@
            </view>
            <view class="h0 flex-1 build-list-box">
                <u-collapse :border="false">
                    <u-collapse-item style="border: none;" :title="item.unitName" :name="index"
                    <u-collapse-item v-show="isShowBuild" style="border: none;" :title="item.unitName" :name="index"
                        v-for="(item, index) in buildingList" :key="index">
                        <view class="flex floor-content" v-for="(cItem, cIndex) in item.children"
                            :key="cIndex">
@@ -47,6 +47,17 @@
                            </view>
                        </view>
                    </u-collapse-item>
                    <u-collapse-item v-show="isShowShop" style="border: none;" title="商铺"
                        >
                        <view class="house-list-box" v-for="(item, index) in shopList" :name="index" :key="index" @click.native="pushShopPage(item)">
                            <view class="l">
                                <u-icon name="home" color="#fff"></u-icon>
                            </view>
                            <view class="r">
                                {{item.floor}}
                            </view>
                        </view>
                    </u-collapse-item>
                </u-collapse>
                <u-divider text="已经到底了"></u-divider>
@@ -57,42 +68,71 @@
<script>
    import {
        getHouseInfoList
        getHouseList
    } from "@/api/doorplateAddress/doorplateAddress";
    export default {
        components: {},
        data() {
            return {
            return {
                isShowBuild:false,
                isShowShop:false,
                currentId: '',
                housingName: '',
                buildingName: 0,
                buildingList: []
                addressType: 1,
                // 社区编号
                neiCode: "",
                buildingList: [],
                shopList:[]
            }
        },
        onLoad(e) {
            const { id, housingName, buildingName } = e
            const { id, housingName, buildingName,addressType, neiCode} = e
            this.currentId = id
            this.housingName = housingName
            this.buildingName = buildingName
            this.addressType = addressType
            this.neiCode = neiCode
            
        },
        onShow() {
            this.getBuildingList()
        },
        methods: {
            async getBuildingList() {
                const res = await getHouseInfoList(3, this.currentId)
                res.data.forEach(item => {
                    item.children && item.children.sort((a, b) => a.floor - b.floor)
                })
                console.log(res.data)
                this.buildingList = res.data || []
            async getBuildingList() {
                const param = {
                    type:3,
                    code:this.currentId,
                    name: this.addressType==1?"":this.neiCode,
                    addressType :this.addressType
                }
                const res = await getHouseList(param)
                const aoiList = res.data.aoiList
                const shopList = res.data.shopList
                if(aoiList.length>0){
                    this.isShowBuild = true
                    // 正常展示户室数据
                    aoiList.forEach(item => {
                        item.children && item.children.sort((a, b) => a.floor - b.floor)
                    })
                    this.buildingList = aoiList || []
                }
                if(shopList.length>0){
                    this.isShowShop = true
                    this.shopList = shopList || []
                }
            },
            pushPage(value) {
                const { addressCode } = value
                let url = `/subPackage/house/roomDetails/index?id=${addressCode}`
                this.$u.func.globalNavigator(url, "navTo")
            },
            // 跳转到商铺页面
            pushShopPage(e){
                const { addressCode } = value
                // let url = `?id=${addressCode}`
                // this.$u.func.globalNavigator(url, "navTo")
            }
        }
    }
@@ -166,6 +206,20 @@
                    }
                }
            }
            .house-list-box {
                margin: 16rpx;
                padding: 0 16rpx;
                display: flex;
                justify-content: space-between;
                align-items: center;
                width: calc((100% - 96rpx) / 3);
                height: 68rpx;
                border-radius: 34rpx;
                color: #fff;
                background: linear-gradient(to right, #417BE9, #6D9FFB);
                box-sizing: border-box;
            }
        }
    }
</style>
subPackage/house/list/index.vue
@@ -2,12 +2,21 @@
    <view class="container">
        <view class="flex f-d-c main">
            <view class="flex house-container">
                <view class="house-list-box" v-for="(item, index) in houseList" @click="pushPage(item)">
                <view class="house-list-box" v-if="isShowAoi" v-for="(item, index) in houseList" @click="pushPage(item)">
                    <view class="l">
                        <u-icon name="home" color="#fff"></u-icon>
                    </view>
                    <view class="r">
                        {{item.title}}栋
                    </view>
                </view>
                <!-- 商铺 -->
                <view class="house-list-box" v-if="isShowShop" v-for="(item, index) in shopList" @click="pushPage(item)">
                    <view class="l">
                        <u-icon name="home" color="#fff"></u-icon>
                    </view>
                    <view class="r">
                        {{item.title}}
                    </view>
                </view>
            </view>
@@ -19,18 +28,25 @@
<script>
    import {
        getHouseInfoList
        getHouseList
    } from "@/api/doorplateAddress/doorplateAddress";
    export default {
        components: {},
        data() {
            return {
                isShowAoi:false,
                isShowShop:false,
                currentId: '',
                curHouseTitle: '',
                houseList: [{
                    title: '-'
                }]
                }],
                shopList:[
                    {
                        title: '-'
                    }
                ]
            }
        },
        onLoad(e) {
@@ -45,22 +61,45 @@
        methods: {
            async getHouseInfo() {
                const res = await getHouseInfoList(2, this.currentId)
                // 删除栋字
                const reg = new RegExp('栋', 'g')
                res.data.forEach(item => {
                    item.title = item['name'].replace(reg, '')
                    delete item.name
                })
                this.houseList = res.data || [{
                    title: '-'
                }]
                const param = {
                    type: 2,
                    code:this.currentId
                }
                const res = await getHouseList(param)
                const aoiList = res.data.aoiList
                const shopList = res.data.shopList
                if(aoiList.length>0){
                    this.isShowAoi =true
                    // 删除栋字
                    const reg = new RegExp('栋', 'g')
                    aoiList.forEach(item => {
                        item.title = item['name'].replace(reg, '')
                        delete item.name
                    })
                    this.houseList = aoiList || [{
                        title: '-'
                    }]
                }
                if(shopList.length>0){
                    this.isShowShop =true
                    shopList.forEach(item => {
                        item.title = item.name
                        delete item.name
                    })
                    this.shopList = shopList
                }
            },
            pushPage(value) {
                const { id, title } = value
                if (id !== void 0) {
                    let url = `/subPackage/house/family/index?id=${id}&housingName=${this.curHouseTitle}&buildingName=${title}`
                    this.$u.func.globalNavigator(url, "navTo")
                const { id, title,addressType } = value
                if(addressType == 1){
                    if (id !== void 0) {
                        let url = `/subPackage/house/family/index?id=${id}&housingName=${this.curHouseTitle}
                        &buildingName=${title}&addressType=${addressType}&neiCode=${this.currentId}`
                        this.$u.func.globalNavigator(url, "navTo")
                    }
                }else{
                    // 跳转场所页面
                }
            }
        }