GULIMMO
2023-11-13 5abafa3610cc7d6398e2a5a9caf6efd6d37efe5b
页面样式及功能更新
18 files modified
1 files added
1003 ■■■■■ changed files
components/boxTitle/index.vue 9 ●●●●● patch | view | raw | blame | history
pages.json 8 ●●●● patch | view | raw | blame | history
subPackage/bs/components/form/rentForm.vue 8 ●●●● patch | view | raw | blame | history
subPackage/bs/views/rentDetail.vue 67 ●●●●● patch | view | raw | blame | history
subPackage/bs/views/zhsb.vue 12 ●●●●● patch | view | raw | blame | history
subPackage/house/components/boxTitle/index2.vue 2 ●●● patch | view | raw | blame | history
subPackage/house/family/index.vue 48 ●●●●● patch | view | raw | blame | history
subPackage/house/houseNumber/index.vue 126 ●●●●● patch | view | raw | blame | history
subPackage/house/list/index.vue 95 ●●●● patch | view | raw | blame | history
subPackage/house/member/householdLabel.vue 33 ●●●●● patch | view | raw | blame | history
subPackage/house/member/index.vue 29 ●●●●● patch | view | raw | blame | history
subPackage/house/roomControl/index.vue 33 ●●●● patch | view | raw | blame | history
subPackage/house/roomDetails/index.vue 6 ●●●● patch | view | raw | blame | history
subPackage/workbench/components/boxTitle/index.vue 191 ●●●● patch | view | raw | blame | history
subPackage/workbench/components/formItem.vue 8 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/cscj.vue 94 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/editExamine.vue 166 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/examine.vue 65 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/rental.vue 3 ●●●● patch | view | raw | blame | history
components/boxTitle/index.vue
New file
@@ -0,0 +1,9 @@
<template>
</template>
<script>
</script>
<style lang="scss">
</style>
pages.json
@@ -182,8 +182,8 @@
                    "style": {
                        "navigationBarTitleText": "场所采集",
                        "enablePullDownRefresh": false,
                        "navigationBarBackgroundColor": "#4586fe",
                        "navigationBarTextStyle": "white"
                        "navigationBarBackgroundColor": "#fff",
                        "navigationBarTextStyle": "black"
                    }
                },
                {
@@ -400,8 +400,8 @@
                    "path": "member/index",
                    "style": {
                        "navigationBarTitleText": "资料管理",
                        "navigationBarBackgroundColor": "#5887f9",
                        "navigationBarTextStyle": "white",
                        "navigationBarBackgroundColor": "#fff",
                        "navigationBarTextStyle": "black",
                        "enablePullDownRefresh": false
                    }
                },
subPackage/bs/components/form/rentForm.vue
@@ -64,10 +64,6 @@
<style lang="scss" scoped>
    .form-box {
        background: #fff;
        .form-item {
            padding: 5rpx 20rpx;
            border-bottom: 1px solid #eff1f3;
        }
    }
    }
</style>
subPackage/bs/views/rentDetail.vue
@@ -35,7 +35,8 @@
                <view class="pic">
                    <view class="title">合同上传</view>
                    <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
                        :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                        :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                        uploadIcon="/static/icon/upload.png"
                        :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
                        @delete="deletePic">
                    </u-upload>
@@ -45,10 +46,10 @@
                <view v-for="(item, index) in rentFormNum" :key="item" class="rent-box">
                    <view class="box-title">
                        <view class="l">
                            <view class="line"></view>
                            <view class="title">{{ '租客信息-#' + item }}</view>
                            <view class="line"></view>
                            <view class="title">{{ '租客信息-#' + (index + 1)  }}</view>
                        </view>
                        <view class="r" v-if="item > 1">
                        <view class="r" v-if="(index+1) > 1">
                            <u-icon name="trash-fill" color="#ff0000" size="20" @click="decRentForm(index)"></u-icon>
                        </view>
                    </view>
@@ -151,7 +152,7 @@
                    }]
                },
                rentTimeShow: false,
                dueTimeShow: false,
                dueTimeShow: false,
                rentFormNum: 1,
                relationName: "",
                houseTypeName: "",
@@ -227,7 +228,7 @@
                id,
                houseCode
            } = option
            this.houseCode = houseCode
            this.houseCode = houseCode
            this.currentRole = uni.getStorageSync("activeRole")
            // 使用id来判断是不是修改
            if (id !== void 0) {
@@ -488,10 +489,10 @@
                    houseTenantVOList.forEach((item, index) => {
                        this.$refs.rentform[index].form = item
                    })
                })
                this.btnControls = {
                    deleteBtn: this.rentId !== '',
                    verifyBtn: !this.auditStatus && !!this.rentId && this.currentRole.roleAlias === 'wgy'
                })
                this.btnControls = {
                    deleteBtn: this.rentId !== '',
                    verifyBtn: !this.auditStatus && !!this.rentId && this.currentRole.roleAlias === 'wgy'
                }
            },
            async deleteRent() {
@@ -522,31 +523,39 @@
        }
    }
</script>
<style>
    page {
        background: #F5F5F5;
    }
</style>
<style scoped lang="scss">
    .container {
        position: relative;
        display: flex;
        flex-direction: column;
        background: #F8F8F9;
        padding: 20rpx 30rpx;
        padding-bottom: 200rpx;
        .basic-info {
            background-color: #ffffff;
            padding: 20rpx;
            padding: 30rpx;
            border-radius: 8rpx;
            .form-item {
                padding: 5rpx 20rpx;
                border-bottom: 1px solid #eff1f3;
            }
            .pic {
                // padding: 40rpx 30rpx;
                .title {
                    font-size: 30rpx;
                    margin: 20rpx 0;
                }
                /deep/ .u-upload__button {
                    border: 1rpx solid #EEEEEE;
                    background-color: #fff;
                }
            }
        }
@@ -557,10 +566,10 @@
            }
            .rent-box {
                padding: 20rpx;
                padding: 30rpx;
                background-color: #ffffff;
                margin-top: 30rpx;
                margin-top: 30rpx;
                border-radius: 8rpx;
                .box-title {
                    display: flex;
                    justify-content: space-between;
@@ -605,23 +614,25 @@
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            width: calc(100% - 40rpx);
            // border-top: 1rpx solid #e4e4e4;
            z-index: 999;
            .btn-item {
                // margin: 40rpx;
                // margin: 30rpx;
            padding: 20rpx;
            /deep/ .u-button {
                color: #ffffff;
                font-weight: 700;
                border: 0;
                margin: 30rpx;
                margin-left: 0;
                margin-left: 30rpx;
                &:first-child {
                    margin-left: 30rpx;
                    margin-left: 0rpx;
                }
            }
        }
    }
    /deep/ .u-form-item {
        padding: 5rpx 20rpx;
        border-bottom: 1px solid #eff1f3;
    }
</style>
subPackage/bs/views/zhsb.vue
@@ -96,6 +96,12 @@
    }
}
</script>
<style>
    page {
        background-color: #F5F5F5;
    }
</style>
<style scoped lang="scss">
.container {
@@ -141,7 +147,11 @@
        background-color: #ffffff;
        display: flex;
        justify-content: center;
        align-items: center;
        align-items: center;
        position: fixed;
        left: 0;
        bottom: 0;
        width: calc(100% - 40rpx);
        .btn {
            // width: calc(100% - 40rpx);
subPackage/house/components/boxTitle/index2.vue
@@ -39,7 +39,7 @@
            background-color: #017BFC;
        }
        .text {
            font-size: 32rpx;
            // font-size: 32rpx;
        }
    }
</style>
subPackage/house/family/index.vue
@@ -61,16 +61,16 @@
                                <u-icon name="/static/icon/group.png" size="16"></u-icon>
                                <view style="margin-left: 17rpx;">商铺</view>
                        </view> -->
                        <view class="sp-list-box">
                            <view class="house-list-box flex" v-for="(item, index) in shopList" :name="index" :key="index"
                                @click.native="pushShopPage($event, item)">
                                <view class="l">
                                    <u-icon name="/static/icon/store.png" width="15" height="18"></u-icon>
                                </view>
                                <view class="r nowrap-ellipsis-hidden">
                                    {{item.floor}}
                                </view>
                            </view>
                        <view class="sp-list-box">
                            <view class="house-list-box flex" v-for="(item, index) in shopList" :name="index"
                                :key="index" @click.native="pushShopPage($event, item)">
                                <view class="l">
                                    <u-icon name="/static/icon/store.png" width="15" height="18"></u-icon>
                                </view>
                                <view class="r nowrap-ellipsis-hidden">
                                    {{item.floor}}
                                </view>
                            </view>
                        </view>
                    </u-collapse-item>
                </u-collapse>
@@ -119,11 +119,17 @@
        },
        onShow() {
            this.getBuildingList()
            this.curSelectSite = uni.getStorageSync('curSelectSite')
        },
        mounted() {
            this.getBuildingList()
        },
        methods: {
            async getBuildingList() {
            async getBuildingList() {
                uni.showToast({
                    title: '数据加载中',
                    icon: 'loading'
                })
                this.isShowBuild = false
                this.isShowShop = false
                const param = {
@@ -302,16 +308,16 @@
    }
    // .sp-list {
        // /deep/ .u-collapse-item__content__text {
        //     display: flex;
        //     flex-direction: row;
        //     flex-wrap: wrap;
        // }
    // /deep/ .u-collapse-item__content__text {
    //     display: flex;
    //     flex-direction: row;
    //     flex-wrap: wrap;
    // }
    // }
    .sp-list-box {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
    .sp-list-box {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
</style>
subPackage/house/houseNumber/index.vue
@@ -1,44 +1,45 @@
<template>
    <view class="container">
        <view class="info-box">
            <box-title title="门牌号信息"></box-title>
            <line-item :list="houseNumberData"></line-item>
            <view class="map">
                <map style="width: 100%; height: 100%;"></map>
            <view class="item">
                <box-title title="门牌号信息"></box-title>
                <line-item :list="houseNumberData"></line-item>
                <view class="map">
                    <map style="width: 100%; height: 100%;" :latitude="lngLat.lat" :longitude="lngLat.lng"
                        :markers="marker"></map>
                </view>
            </view>
            <view class="box-title">
                <box-title title="综治网格">
                    <template slot="titleMore">
                        <view class="title-more">
                            <view class="red item"></view>
                            <view class="orange item">85.9</view>
                            <view class="green item"></view>
                        </view>
                    </template>
                </box-title>
            </view>
            <line-item :list="gridData"></line-item>
            <line-item :list="collectData">
                <template #other="{ sdate }">
                    <view style="padding: 20rpx 0;" v-if="sdate.name === 'imageUrls' && sdate.value !== '未完善' ">
                        <u--image :src="sdate.value" width="80px" height="80px"
                            @click="imgPreview(sdate.value)"></u--image>
            <view class="item">
                <view class="box-title">
                    <box-title title="综治网格"></box-title>
                    <view class="sore">
                        <view class="red citem"></view>
                        <view class="orange citem">85.9</view>
                        <view class="green citem"></view>
                    </view>
                </template>
            </line-item>
            <view class="box-title">
                <box-title title="公安网格">
                    <template slot="titleMore">
                        <view class="title-more">
                            <view class="red item"></view>
                            <view class="orange item">85.9</view>
                            <view class="green item"></view>
                </view>
                <line-item :list="gridData"></line-item>
                <line-item :list="collectData">
                    <template #other="{ sdate }">
                        <view style="padding: 20rpx 0;" v-if="sdate.name === 'imageUrls' && sdate.value !== '未完善' ">
                            <u--image :src="sdate.value" width="80px" height="80px"
                                @click="imgPreview(sdate.value)"></u--image>
                        </view>
                    </template>
                </box-title>
                </line-item>
            </view>
            <line-item :list="policeData"></line-item>
            <line-item :list="firemanData"></line-item>
            <view class="item">
                <view class="box-title">
                    <box-title title="公安网格"></box-title>
                    <view class="sore">
                        <view class="red citem"></view>
                        <view class="orange citem">85.9</view>
                        <view class="green citem"></view>
                    </view>
                </view>
                <line-item :list="policeData"></line-item>
                <line-item :list="firemanData"></line-item>
            </view>
        </view>
        <view class="btn-box">
            <view class="sl-box" @click="csjlClick">
@@ -60,9 +61,11 @@
    import {
        getPlaceDetail
    } from '@/api/place/place.js'
    import boxTitle from '../components/boxTitle/index2.vue'
    export default {
        components: {
            lineItem
            lineItem,
            boxTitle
        },
        data() {
            return {
@@ -186,7 +189,13 @@
                        title: '历史事件',
                        value: '未完善'
                    }
                ]
                ],
                id: 1,
                lngLat: {
                    lat: '',
                    lng: ''
                },
                marker: []
            }
        },
        onLoad(option) {
@@ -231,7 +240,7 @@
                        placePoiLabelVOList.forEach(item => {
                            labelArr.push(item.labelName)
                        })
                        item.value = labelArr.join('、')
                    }
                })
@@ -260,6 +269,22 @@
                        item.value = data[item.name] || '未完善'
                    }
                })
                const {
                    lat,
                    lng
                } = data
                this.lngLat = {
                    lat,
                    lng
                }
                this.marker = [{
                    id: 1,
                    width: 30,
                    height: 40,
                    latitude: lat,
                    longitude: lng,
                 }]
            },
            imgPreview(value) {
                uni.previewImage({
@@ -283,8 +308,15 @@
        .info-box {
            height: calc(100% - 110rpx);
            padding-bottom: 20rpx;
            padding: 0rpx 30rpx 110rpx 30rpx;
            overflow: auto;
            .item {
                margin-top: 20rpx;
                background-color: #fff;
                padding: 30rpx;
                border-radius: 8rpx;
            }
            .map {
                width: 100%;
@@ -294,20 +326,21 @@
            .box-title {
                padding: 10px 0;
                display: flex;
                padding: 0;
                .title-more {
                .sore {
                    padding: 0;
                    display: flex;
                    align-items: center;
                    height: 100%;
                    margin-left: 20rpx;
                    .item {
                    .citem {
                        width: 50rpx;
                        height: 40rpx;
                        height: 50rpx;
                        line-height: 50rpx;
                        color: #ffffff;
                        padding: 6rpx;
                        font-size: 25rpx;
                        text-align: center;
                        line-height: 20px;
                        font-weight: 700;
                    }
@@ -320,7 +353,10 @@
            height: 90rpx;
            background-color: #fff;
            display: flex;
            box-shadow: 0 2rpx 12rpx 0 rgba(0, 0, 0, .1);
            box-shadow: 0 2rpx 12rpx 0 rgba(0, 0, 0, .1);
            position: fixed;
            left: 0;
            bottom: 0;
            .sl-box {
                flex: 1;
subPackage/house/list/index.vue
@@ -1,12 +1,13 @@
<template>
    <view class="container">
        <view class="header">
            <u-icon name="/static/icon/map.png" width="15" height="18"></u-icon>
            <u-icon name="/static/icon/map.png" width="15" height="18"></u-icon>
            <text>{{ curSelectSite.name }}/{{ curHouseTitle }}</text>
        </view>
        <view class="flex f-d-c main">
            <view class="flex house-container">
                <view class="house-list-box" v-if="isShowAoi" 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="/static/icon/blue_floor.png"></u-icon>
                    </view>
@@ -15,7 +16,8 @@
                    </view>
                </view>
                <!-- 商铺 -->
                <view class="house-list-box" v-if="isShowShop" v-for="(item, index) in shopList" @click="pushPage(item)">
                <view class="house-list-box" v-if="isShowShop" v-for="(item, index) in shopList"
                    @click="pushPage(item)">
                    <view class="l">
                        <u-icon name="/static/icon/store.png"></u-icon>
                    </view>
@@ -39,53 +41,55 @@
        data() {
            return {
                isShowAoi:false,
                isShowShop:false,
                currentId: '',
                isShowAoi: false,
                isShowShop: false,
                currentId: '',
                curSelectSite: {},
                curHouseTitle: '',
                houseList: [{
                    title: '-'
                }],
                shopList:[
                    {
                        title: '-'
                    }
                ]
                shopList: [{
                    title: '-'
                }]
            }
        },
        onLoad(e) {
            const { id, title } = e
            const {
                id,
                title
            } = e
            this.currentId = id
            this.curHouseTitle = title
        },
        onShow() {
            this.getHouseInfo()
            this.curSelectSite = uni.getStorageSync('curSelectSite')
        },
        mounted() {
            this.getHouseInfo()
        },
        methods: {
            async getHouseInfo() {
                const param = {
                    type: 2,
                    code:this.currentId,
                    roleName:uni.getStorageSync('activeRole').roleName
                    code: this.currentId,
                    roleName: uni.getStorageSync('activeRole').roleName
                }
                const res = await getHouseList(param)
                const aoiList = res.data.aoiList
                const shopList = res.data.shopList
                if(aoiList.length>0){
                    this.isShowAoi =true
                    aoiList.forEach(item => {
                        item.title = item.name
                if (aoiList.length > 0) {
                    this.isShowAoi = true
                    aoiList.forEach(item => {
                        item.title = item.name
                    })
                    this.houseList = aoiList || [{
                        title: '-'
                    }]
                }
                if(shopList.length>0){
                    this.isShowShop =true
                if (shopList.length > 0) {
                    this.isShowShop = true
                    shopList.forEach(item => {
                        item.title = item.name
                    })
@@ -93,23 +97,27 @@
                        title: '-'
                    }]
                }
            },
            pushPage(value) {
                const { id, title,addressType } = value
                if (!id) {
                    return
                const {
                    id,
                    title,
                    addressType
                } = value
                if (!id) {
                    return
                }
                // addressType == 3 街路巷
                if(addressType == 1 || addressType == 3){
                if (addressType == 1 || addressType == 3) {
                    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{
                } else {
                    // 跳转场所页面 addressType == 2
                    console.log(value,8888)
                    console.log(value, 8888)
                    // let url = `/subPackage/workbench/views/cscj?stdId=${id}`
                    let url = `/subPackage/workbench/views/cscj?houseCode=${id}`
                    this.$u.func.globalNavigator(url, "navTo")
@@ -119,24 +127,23 @@
    }
</script>
<style lang="scss" scoped>
    page {
        background-color: #f5f5f5;
    }
<style lang="scss" scoped>
    .container {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        font-size: 26rpx;
        background-color: #f5f5f5;
        .header {
            background-color: #fff;
            padding: 20rpx 30rpx;
            display: flex;
            color: #333333;
            text {
                margin-left: 15rpx;
            background-color: #fff;
            padding: 20rpx 30rpx;
            display: flex;
            color: #333333;
            text {
                margin-left: 15rpx;
            }
        }
@@ -144,12 +151,12 @@
            position: relative;
            height: 0;
            flex: 1;
            overflow-y: auto;
            margin-top: 20rpx;
            overflow-y: auto;
            margin-top: 20rpx;
            background-color: #fff;
            .house-container {
                flex-wrap: wrap;
                flex-wrap: wrap;
                padding: 14rpx;
                .house-list-box {
subPackage/house/member/householdLabel.vue
@@ -24,8 +24,10 @@
                    <newBoxTitle :title="item.name"></newBoxTitle>
                    <view class="label-btn-box">
                        <view v-for="(item, k) in item.children" :key="k">
                            <u-button color="#000" size="mini" type="primary" :style="{background: item.color}"
                                :plain="true" :text="item.name" @click="showLabelPopup(item)"></u-button>
                            <u-button size="mini" type="primary"
                                :color="item.color"
                                :style="{color: item.color && '#fff'}"
                                :text="item.name" @click="showLabelPopup(item)"></u-button>
                        </view>
                    </view>
                </view>
@@ -116,7 +118,9 @@
            }
        },
        created() {},
        mounted() {},
        mounted() {
            this.getDoorPlateAddressDetail()
        },
        onLoad(option) {
            const data = JSON.parse(option.data);
            this.householdInfo = data;
@@ -124,8 +128,7 @@
            // this.getDoorPlateAddressDetail()
        },
        onShow() {
            this.getLabelList()
            this.getDoorPlateAddressDetail()
            this.getLabelList()
        },
        methods: {
            // 获取房屋详情
@@ -246,8 +249,13 @@
        }
    }
</script>
<style scoped lang="scss">
<style>
    page {
        background-color: #fff;
    }
</style>
<style scoped lang="scss">
    .container {
        position: relative;
        width: 100%;
@@ -331,12 +339,11 @@
                        &>view {
                            margin: 0 20rpx 20rpx 0;
                            .u-button {
                                padding: 6rpx 8rpx;
                                border-width: 0 !important;
                                background-color: #EFEFF0;
                                color: #999999 !important;
                            /deep/ .u-button {
                                padding: 6rpx 8rpx;
                                border-width: 0 !important;
                                background-color: #F5F5F5;
                                color: #999999;
                            }
                        }
                    }
subPackage/house/member/index.vue
@@ -3,10 +3,10 @@
        <view class="main">
            <view class="content">
                <u-form labelWidth="70" :model="form" :rules="rules" ref="form">
                    <view class="box-title">
                        <box-title title="基础信息"></box-title>
                    </view>
                    <view class="event-info">
                        <view class="box-title">
                            <box-title title="基础信息"></box-title>
                        </view>
                        <u-form-item @click="showSelectBus(dataList.roleList, '角色', 'roleTypeName','roleType')" class="form-item"
                            labelWidth="100" label="角色" required prop="roleType">
                            <u--input border="none" v-model="roleTypeName" disabled disabledColor="#ffffff"
@@ -174,9 +174,11 @@
    import {
        bizDictionary
    } from '@/api/system/dict.js'
    import boxTitle from '../components/boxTitle/index2.vue'
    export default {
        components: {
            selectBus
            selectBus,
            boxTitle
        },
        mixins: [uploadMixin],
        data() {
@@ -430,7 +432,7 @@
        height: 100%;
        display: flex;
        flex-direction: column;
        background: #F9F9FA;
        background: #F5F5F5;
        .main {
            position: relative;
@@ -455,18 +457,19 @@
            }
        }
        .box-title {
            padding: 10px 10px;
        }
        // .box-title {
        //     padding: 10rpx 10rpx;
        // }
        .event-info {
            // background-color: #ffffff;
            padding: 20rpx;
            .form-item {
            background-color: #ffffff;
            margin: 20rpx 30rpx;
            padding: 30rpx;
            border-radius: 8rpx;
            /deep/ .u-form-item {
                background-color: #ffffff;
                padding: 5px 20px;
                border-bottom: 1px solid #eff1f3;
                border-bottom: 1rpx solid #eff1f3;
            }
        }
subPackage/house/roomControl/index.vue
@@ -30,15 +30,16 @@
                        <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
                            :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                            :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
                            @delete="deletePic">
                            @delete="deletePic" uploadIcon="/static/icon/upload.png" >
                        </u-upload>
                    </view>
                    <view class=" flex label-btn-box b-c-w">
                        <newBoxTitle title="房屋标签"></newBoxTitle>
                        <view class="list">
                            <view v-for="(item, index) in labelBtnList" :key="index">
                                <u-button size="mini" type="primary"
                                    :style="{background: item.color, color: item.color && '#fff'}" :plain="true"
                                <u-button size="mini" type="primary"
                                    :color="item.color"
                                    :style="{color: item.color && '#fff'}"
                                    :text="item.name" @click="showLabelPopup(item)"></u-button>
                            </view>
                        </view>
@@ -373,7 +374,13 @@
        }
    }
</script>
</script>
<style>
    page {
        background: #F5F5F5;
    }
</style>
<style scoped lang="scss">
    .container {
@@ -382,7 +389,7 @@
        height: 100%;
        display: flex;
        flex-direction: column;
        background: #F9F9FA;
        background: #F5F5F5;
        font-size: 30rpx;
        .main {
@@ -421,7 +428,11 @@
                .pic {
                    background-color: #ffffff;
                    padding: 30rpx;
                    margin-top: 20rpx;
                    margin-top: 20rpx;
                    /deep/ .u-upload__button {
                        border: 1rpx solid #EEEEEE;
                        background-color: #fff;
                    }
                }
                .label-btn-box {
@@ -442,7 +453,7 @@
                                margin-right: 0;
                            }
                            .u-button {
                            /deep/ .u-button {
                                padding: 6rpx 8rpx;
                                border-width: 0 !important;
                                background-color: #F5F5F5;
@@ -455,14 +466,18 @@
            }
            .edit-btn {
            .edit-btn {
                width: calc(100% - 40rpx);
                padding: 0 20rpx;
                height: 116rpx;
                display: flex;
                justify-content: space-around;
                align-items: center;
                background: #fff;
                box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
                box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
                position: fixed;
                bottom: 0;
                left: 0;
            }
        }
    }
subPackage/house/roomDetails/index.vue
@@ -17,7 +17,7 @@
                            <text>(共{{ houseInfo.allNum }}人)</text>
                        </view>
                        <view class="flex a-i-c">
                            <u-button @click="rommManage" size='small' class="u_btn_blue" text="房屋管理"></u-button>
                            <u-button @click="rommManage" size='small' type="primary" class="u_btn_blue" text="房屋管理"></u-button>
                        </view>
                    </view>
                </view>
@@ -50,11 +50,11 @@
                        </view>
                        <view class="r flex f-d-c j-c-s-a">
                            <view>
                                <u-button size='small' class="u_btn_blue" text="资料管理"
                                <u-button size='small' type="primary" class="u_btn_blue" text="资料管理"
                                    @click="addOrupdateMember(2,item)"></u-button>
                            </view>
                            <view>
                                <u-button size='small' class="u_btn_blue" text="标签管理"
                                <u-button size='small' type="primary" class="u_btn_blue" text="标签管理"
                                    @click="goToHouseholdLabel(item)"></u-button>
                            </view>
                        </view>
subPackage/workbench/components/boxTitle/index.vue
@@ -1,93 +1,102 @@
<template>
    <view class="cur-container" :style="{color: color}">
        <view class="l">
            <view class="title">
                <view>
                    {{title}}
                </view>
                <view class="title-more">
                    <slot name="titleMore"></slot>
                </view>
            </view>
            <view class="bg-box">
            </view>
        </view>
        <view class="r">
            <view class="more">
                <slot name="more"></slot>
            </view>
        </view>
    </view>
</template>
<script>
    export default {
        props: {
            title: {
                type: String,
                default: ''
            },
            color: {
                type: String,
                default: '#000'
            }
        },
        methods: {
        }
    }
</script>
<style lang="scss" scoped>
    .cur-container {
        padding: 0 10rpx;
        height: 60rpx;
        justify-content: space-between;
        align-items: center;
        .l {
            height: 100%;
            display: flex;
            justify-content: flex-start;
            position: relative;
            .title {
                display: flex;
                position: absolute;
                top: 50%;
                left: 0;
                transform: translate(0, -50%);
<template>
    <view class="cur-container" :style="{color: color}">
        <view class="l">
            <view class="title">
                <view class="line"></view>
                <view>
                    {{title}}
                </view>
                <view class="title-more">
                    <slot name="titleMore"></slot>
                </view>
            </view>
            <view class="bg-box">
            </view>
        </view>
        <view class="r">
            <view class="more">
                <slot name="more"></slot>
            </view>
        </view>
    </view>
</template>
<script>
    export default {
        props: {
            title: {
                type: String,
                default: ''
            },
            color: {
                type: String,
                default: '#000'
            }
        },
        methods: {
        }
    }
</script>
<style lang="scss" scoped>
    .cur-container {
        // padding: 0 10rpx;
        height: 60rpx;
        justify-content: space-between;
        align-items: center;
        .l {
            height: 100%;
            display: flex;
            justify-content: flex-start;
            position: relative;
            .title {
                display: flex;
                position: absolute;
                top: 50%;
                left: 0;
                transform: translate(0, -50%);
                z-index: 99;
                .title-more {
                    margin-left: 20rpx;
                }
            }
            .bg-box {
                position: absolute;
                top: 50%;
                bottom: 0;
                width: 96rpx;
                background: linear-gradient(to right, #2991faff, #73A2F900);
                z-index: 1;
            }
        }
        .r {
            height: 100%;
            display: flex;
            justify-content: flex-end;
            .more {
                display: flex;
                justify-content: center;
                align-items: center;
            }
        }
    }
                align-items: center;
                .line {
                    width: 6rpx;
                    height: 30rpx;
                    margin-right: 10rpx;
                    background-color: #017BFC;
                }
                .title-more {
                    margin-left: 20rpx;
                }
            }
            .bg-box {
                // position: absolute;
                // top: 50%;
                // bottom: 0;
                // width: 96rpx;
                // background: linear-gradient(to right, #2991faff, #73A2F900);
                // z-index: 1;
            }
        }
        .r {
            height: 100%;
            display: flex;
            justify-content: flex-end;
            .more {
                display: flex;
                justify-content: center;
                align-items: center;
            }
        }
    }
</style>
subPackage/workbench/components/formItem.vue
@@ -2,13 +2,13 @@
    <view class="form-box">
        <u-form labelWidth="70" :model="form" :rules="rules" ref="form">
            <u-form-item label="姓名" required prop="name" class="form-item">
                <u--input v-model="form.name" border="none"></u--input>
                <u--input v-model="form.name" border="none" placeholder="请填写姓名"></u--input>
            </u-form-item>
            <u-form-item label="电话号码" class="form-item">
                <u--input v-model="form.telephone" border="none"></u--input>
                <u--input v-model="form.telephone" border="none" placeholder="请填写电话号码"></u--input>
            </u-form-item>
            <u-form-item label="咱据地" class="form-item">
                <u--input v-model="form.tempAddress" border="none"></u--input>
            <u-form-item label="根据地" class="form-item">
                <u--input v-model="form.tempAddress" border="none" placeholder="请填写地址"></u--input>
            </u-form-item>
        </u-form>
    </view>
subPackage/workbench/views/cscj.vue
@@ -1,9 +1,6 @@
<template>
    <view class="container">
        <u-form labelWidth="70" :model="form" :rules="rules" ref="form">
            <view class="box-title">
                <box-title title="基础信息"></box-title>
            </view>
            <view class="item">
                <!-- u-form-item v-if="!currentId" @click="showPicker = true" class="form-item" labelWidth="100" label="楼栋:"
                    :required="isRequired" :disabled="isDisabled" prop="buildingCode">
@@ -11,7 +8,9 @@
                    </u--input>
                    <u-icon slot="right" name="arrow-right"></u-icon>
                </u-form-item> -->
                <view class="box-title">
                    <box-title title="基础信息"></box-title>
                </view>
                <u-form-item class="form-item" labelWidth="100" label="场所名称:" :required="isRequiredPlace"
                    :disabled="isDisabled" prop="placeName">
                    <u--input border="none" v-model="form.placeName" placeholder="请输入">
@@ -42,11 +41,12 @@
                </u-form-item>
            </view>
            <view class="box-title">
                <box-title title="负责人信息"></box-title>
            </view>
            <view class="item">
                <view class="box-title">
                    <box-title title="负责人信息"></box-title>
                </view>
                <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                    label="场所负责人:" prop="username">
                    <u--input border="none" v-model="form.username" placeholder="请输入">
@@ -60,14 +60,15 @@
            </view>
            <view class="box-title">
                <box-title title="场所照片"></box-title>
            </view>
            <view class="item pic">
                <view class="box-title">
                    <box-title title="场所照片"></box-title>
                </view>
                <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
                    :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
                    :capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
                    :capture="uploadConfig.capture" uploadIcon="/static/icon/upload.png" @afterRead="afterReadImg" @delete="deletePic">
                </u-upload>
            </view>
@@ -76,19 +77,20 @@
        </u-form>
        <view class="box-title">
            <box-title title="综治网格">
                <template slot="titleMore">
                    <view class="title-more">
                        <view class="red item"></view>
                        <view class="orange item">85.9</view>
                        <view class="green item"></view>
                    </view>
                </template>
            </box-title>
        </view>
        <view class="item">
            <view class="box-title">
                <box-title title="综治网格">
                    <template slot="titleMore">
                        <view class="title-more">
                            <view class="red item"></view>
                            <view class="orange item">85.9</view>
                            <view class="green item"></view>
                        </view>
                    </template>
                </box-title>
            </view>
            <lineItem :dataInfo="comprehensiveData.basic">
            </lineItem>
@@ -102,19 +104,20 @@
            </lineItem>
        </view>
        <view class="box-title">
            <box-title title="公安网格">
                <template slot="titleMore">
                    <view class="title-more">
                        <view class="red item"></view>
                        <view class="orange item">85.9</view>
                        <view class="green item"></view>
                    </view>
                </template>
            </box-title>
        </view>
        <view class="item">
            <view class="box-title">
                <box-title title="公安网格">
                    <template slot="titleMore">
                        <view class="title-more">
                            <view class="red item"></view>
                            <view class="orange item">85.9</view>
                            <view class="green item"></view>
                        </view>
                    </template>
                </box-title>
            </view>
            <lineItem :dataInfo="publicData.basic">
            </lineItem>
@@ -168,10 +171,12 @@
    import {
        format
    } from "echarts";
    import boxTitle from '../components/boxTitle/index.vue'
    export default {
        mixins: [uploadMixin],
        components: {
            lineItem
            lineItem,
            boxTitle
        },
        data() {
            return {
@@ -463,7 +468,7 @@
                        return
                    }
                    const dpaEntity = data?.doorplateAddressEntity || {}
                    const gridEntity = data?.grid || {}
                    this.form.buildingCode = dpaEntity?.buildingCode || ''
@@ -513,9 +518,8 @@
                    data.placePoiLabelVOList.forEach(item => {
                        let label = this.labelList[0].children.find(sl => sl.text === item.labelName) || {}
                        console.log(label);
                        label['isClose'] = false
                        this.showLabelList.push(label)
                        label?.name && this.showLabelList.push(label)
                    })
                })
@@ -718,11 +722,12 @@
<style scoped lang="scss">
    .container {
        position: relative;
        width: 100%;
        width: calc(100% - 60rpx);
        // height: 100%;
        display: flex;
        flex-direction: column;
        background: #F9F9FA;
        background: #f5f5f5;
        padding: 0 30rpx 20rpx 30rpx;
        .box-title {
            padding: 10px 0;
@@ -746,6 +751,10 @@
        }
        .item {
            margin-top: 20rpx;
            background-color: #ffffff;
            border-radius: 8rpx;
            padding: 0 30rpx;
            .form-item {
                background-color: #ffffff;
@@ -772,7 +781,12 @@
        .pic {
            background-color: #ffffff;
            padding: 40rpx 30rpx;
            padding-bottom: 20rpx;
            /deep/ .u-upload__button {
                border: 1rpx solid #EEEEEE;
                background-color: #fff;
            }
        }
        .image {
subPackage/workbench/views/editExamine.vue
@@ -1,38 +1,41 @@
<template>
    <view class="container">
        <view class="main-content">
            <view class="mt-20 b-c-w">
            <view class="base">
                <box-title :title="'基本信息'"></box-title>
                <u-form labelWidth="70" :model="form" :rules="rules" ref="form" class="form">
                    <u-form-item label="场所位置" required class="form-item" prop="localtion">
                        <u--input border="none" v-model="form.localtion"></u--input>
                    <u-form-item label="场所位置" required class="form-item" prop="localtion" @click="getLocation">
                        <u--input border="none" v-model="form.localtion" placeholder="请选择场所位置"></u--input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
                    </u-form-item>
                    <u-form-item label="场所名称" required class="form-item" prop="placeName">
                        <u--input border="none" v-model="form.placeName"></u--input>
                        <u--input border="none" v-model="form.placeName" placeholder="请填写场所名称"></u--input>
                    </u-form-item>
                    <u-form-item label="法人信息" required class="form-item" prop="legalPerson">
                        <u--input border="none" v-model="form.legalPerson"></u--input>
                        <u--input border="none" v-model="form.legalPerson" placeholder="请填写法人信息"></u--input>
                    </u-form-item>
                    <u-form-item label="法人电话" class="form-item">
                        <u--input border="none" v-model="form.legalTel"></u--input>
                        <u--input border="none" v-model="form.legalTel" placeholder="请填写法人电话"></u--input>
                    </u-form-item>
                </u-form>
            </view>
            <view class="mt-20 b-c-w">
            <view class="license">
                <box-title title="营业执照"></box-title>
                <view class="upload-img">
                    <u-upload :fileList="form.imageUrls" :previewFullImage="uploadConfig.previewFullImage"
                        :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                        :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                        uploadIcon="/static/icon/upload.png"
                        :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
                        @delete="deletePic">
                    </u-upload>
                </view>
            </view>
            <view class="mt-20 b-c-w">
            <view class="upload">
                <box-title title="场所平面图"></box-title>
                <view class="upload-img">
                    <u-upload :fileList="form.planImageUrls" :previewFullImage="uploadConfig.previewFullImage"
                        :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                        :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                        uploadIcon="/static/icon/upload.png"
                        :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
                        @delete="deletePic">
                    </u-upload>
@@ -40,8 +43,8 @@
            </view>
            <view class="practitioner">
                <box-title title="从业人员信息"></box-title>
                <view class="info" v-for="i in personNum" :key="i">
                    <view class="title">人员信息-#{{ i }}</view>
                <view class="info" v-for="(item, index) in personNum" :key="i">
                    <view class="title">人员信息-#{{ index*1 + 1 }}</view>
                    <formItem ref="formItemRef"></formItem>
                </view>
@@ -111,19 +114,25 @@
        },
        onShow() {
            this.curSelectSite = uni.getStorageSync('siteInfo')
            this.getCsDetails()
            // this.getLocation()
        },
        mounted() {
            this.$nextTick(() => {
                this.getCsDetails()
            })
        },
        methods: {
            // getLocation() {
            //     uni.chooseLocation({
            //         success: (res) => {
            //             console.log(res);
            //         }
            //     })
            // },
            getCsDetails() {
                const that = this
            getLocation() {
                uni.chooseLocation({
                    success: (addressResult) => {
                        const {
                            address
                        } = addressResult
                        this.form.localtion = address
                    }
                })
            },
            getCsDetails() {
                getPlaceDetail({
                    placeId: this.curSelectSite.id
                }).then(detailRes => {
@@ -139,7 +148,6 @@
                        return
                    }
                    const placePractitioner = data?.placePractitioner || []
                    console.log(data);
                    Object.keys(this.form).forEach(key => {
                        this.form[key] = data[key]
                        if (key === 'imageUrls' || key === 'planImageUrls') {
@@ -156,16 +164,11 @@
                        }
                    })
                    that.personNum = placePractitioner.length
                    // that.$nextTick(() => {
                        console.log(placePractitioner);
                        setTimeout(() => {
                            const componetns = that.$refs.formItemRef || []
                            that.$refs.formItemRef.forEach((item, index) => {
                                item.form = placePractitioner[index]
                            })
                        }, 0)
                    // })
                    this.personNum = placePractitioner.length
                    const componetns = this.$refs.formItemRef || []
                    this.$refs.formItemRef.forEach((item, index) => {
                        item.form = placePractitioner[index]
                    })
                })
            },
            updatePlaceExt(data) {
@@ -214,64 +217,77 @@
    }
</script>
<style>
    page {
        background: #F5F5F5;
    }
</style>
<style lang="scss" scoped>
    .container {
        width: 100%;
        height: 100vh;
        height: 100%;
        display: flex;
        flex-direction: column;
        background: #F9F9FA;
        color: #fff;
        font-size: 32rpx;
        .main-content {
            height: 0;
            flex: 1;
            overflow-y: auto;
            padding: 0 30rpx 250rpx 30rpx;
            .base,
            .license,
            .upload,
            .practitioner {
                background-color: #fff;
                border-radius: 8rpx;
                margin-top: 20rpx;
                padding: 30rpx;
            }
            .license,
            .upload {
                padding-bottom: 20rpx !important;
                .upload-img {
                    margin-top: 20rpx;
                }
            }
            .practitioner {
                .info {
                    margin-top: 20rpx;
                    .title {
                        margin-bottom: 10rpx;
                        text-align: center;
                    }
                }
                .add-person {
                    margin-top: 20rpx;
                }
            }
        }
        .btn-group {
            padding: 20rpx;
            z-index: 999;
            background-color: #fff;
            width: calc(100% - 40rpx);
            position: fixed;
            left: 0;
            bottom: 0;
        }
    }
    /deep/ .u-form-item {
        border-bottom: 1rpx solid #f5f5f5;
    }
        .form {
            margin-top: 20rpx;
            .form-item {
                background-color: #fff;
                padding: 0 20rpx;
                border-bottom: 1rpx solid #f6f6f6;
            }
        }
        .upload-img {
            background-color: #fff;
            padding: 20rpx;
            padding-bottom: 10rpx;
            margin-top: 20rpx;
        }
        .add-person {
            width: 30%;
            margin: 20rpx auto;
        }
        .practitioner {
            .info {
                margin-top: 20rpx;
                .title {
                    text-align: center;
                    font-size: 30rpx;
                    margin-bottom: 10rpx;
                }
            }
        }
    /deep/ .u-upload__button {
        border: 1rpx solid #EEEEEE;
        background-color: #fff;
    }
</style>
subPackage/workbench/views/examine.vue
@@ -9,8 +9,8 @@
        <view class="licence">
            <box-title title="营业执照" class="box-title"></box-title>
            <view class="info">
                <view class="images-box">
                    <u-image v-if="imageObj.imageUrls" width="80" height="80" :src="imageObj.imageUrls"
                <view class="images-box" v-if="!!imageObj.imageUrls">
                    <u-image  width="80" height="80" :src="imageObj.imageUrls"
                        @click="preViewImg(imageObj.imageUrls)"></u-image>
                </view>
            </view>
@@ -18,8 +18,8 @@
        <view class="planegraph">
            <box-title title="场所平面图" class="box-title"></box-title>
            <view class="info">
                <view class="images-box">
                    <u-image v-if="imageObj.planImageUrl" width="80" height="80" :src="imageObj.planImageUrls"
                <view class="images-box" v-if="!!imageObj.planImageUrl">
                    <u-image  width="80" height="80" :src="imageObj.planImageUrls"
                        @click="preViewImg(imageObj.planImageUrl)"></u-image>
                </view>
            </view>
@@ -230,14 +230,30 @@
        }
    }
</script>
<style lang="scss">
    page {
        background-color: #f5f5f5;
    }
<style>
    page {
        background-color: #f5f5f5;
    }
</style>
<style lang="scss" scoped>
    .container {
        padding-bottom: 130rpx;
        padding-bottom: 130rpx;
        padding: 20rpx 30rpx;
        padding-bottom: 140rpx;
        .basic,
        .licence,
        .planegraph,
        .personnel,
        .examine {
            background-color: #fff;
            padding: 30rpx;
            margin-top: 20rpx;
            border-radius: 8rpx;
        }
        .box-title {
            margin-bottom: 15rpx;
@@ -267,19 +283,6 @@
                }
            }
        }
        .form {
            background-color: #fff;
            .form-item {
                padding: 0 20rpx;
                &:first-child {
                    border-bottom: 1rpx solid #f6f6ff;
                }
            }
        }
        .bottom-btn {
            position: fixed;
            left: 0;
@@ -291,8 +294,18 @@
        }
    }
    /deep/ .u-form-item__body__left__content__label,
    /deep/ .uni-input-placeholder {
        font-size: 30rpx;
    // /deep/ .u-form-item__body__left__content__label,
    // /deep/ .uni-input-placeholder {
    //     font-size: 30rpx;
    // }
    /deep/ .u-form {
        background-color: #fff;
        .u-form-item {
            padding: 0 20rpx;
            border-bottom: 1rpx solid #f6f6ff;
            &:last-child {
                border: 0;
            }
        }
    }
</style>
subPackage/workbench/views/rental.vue
@@ -332,7 +332,8 @@
            width: 100%;
            padding: 30rpx 30rpx 0;
            box-sizing: border-box;
            margin-bottom: 20rpx;
            margin-bottom: 20rpx;
            border-radius: 8rpx;
            .list-address {
                padding: 30rpx 0;