自建房扫码修改,新增自建房扫码页面,房屋详情样式修改,场所采集标签选择修改
13 files modified
1 files added
886 ■■■■■ changed files
common/setting.js 1 ●●●● patch | view | raw | blame | history
pages.json 9 ●●●●● patch | view | raw | blame | history
pages/home/index.vue 238 ●●●●● patch | view | raw | blame | history
pages/user/center.vue 2 ●●● patch | view | raw | blame | history
subPackage/bs/views/rentDetail.vue 13 ●●●●● patch | view | raw | blame | history
subPackage/house/houseNumber/index.vue 8 ●●●●● patch | view | raw | blame | history
subPackage/house/member/householdLabel.vue 2 ●●● patch | view | raw | blame | history
subPackage/house/member/index.vue 14 ●●●● patch | view | raw | blame | history
subPackage/house/roomDetails/detail.vue 76 ●●●●● patch | view | raw | blame | history
subPackage/house/roomDetails/index.vue 109 ●●●●● patch | view | raw | blame | history
subPackage/task/index.vue 2 ●●● patch | view | raw | blame | history
subPackage/task/taskList.vue 10 ●●●●● patch | view | raw | blame | history
subPackage/user/family/edit.vue 23 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/cscj.vue 379 ●●●●● patch | view | raw | blame | history
common/setting.js
@@ -14,7 +14,6 @@
    // devUrl:'http://192.168.1.50:9528',
    // devUrl: 'http://192.168.0.106:9528',
    devUrl:'https://srgdjczzxtpt.com:2080/api',
    // devUrl:'http://z4042833u6.wicp.vip',
    // devUrl: 'http://192.168.0.103:9528',
    // devUrl: 'https://srgdjczzxtpt.com:2080/api',
pages.json
@@ -593,6 +593,15 @@
                    }
                },
                {
                    "path": "roomDetails/detail",
                    "style": {
                        "navigationBarTitleText": "",
                        "navigationBarBackgroundColor": "#fff",
                        "navigationBarTextStyle": "black",
                        "enablePullDownRefresh": false
                    }
                },
                {
                    "path": "member/index",
                    "style": {
                        "navigationBarTitleText": "资料管理",
pages/home/index.vue
@@ -14,11 +14,12 @@
        </view>
        <view class="content">
            <view class="">
                <view class="section flex j-c-s-a a-i-c mb-20" v-if="isShowContact && curSelectSite.addressType == 1">
                    <view class="section-item" v-for="(i,k) in contactList" :key="k" v-if="i.name"   @click="navigatorPage(`${i.path}?id=${i.id}`)">
                    <view class="section-item" v-for="(i,k) in contactList" :key="k" v-if="i.name"
                        @click="navigatorPage(`${i.path}?id=${i.id}`)">
                        <image class="section-item-bg" :src="i.bgImg" mode="aspectFill"></image>
                        <view class="item-box">
                            <view class="f-28">{{i.title}}</view>
@@ -129,9 +130,9 @@
                    </u-grid-item>
                </u-grid>
            </view>
            <view class="bgc-ff mb-20 p-20 pb-20" v-if="(roleType == 2) && (curSelectSite.addressType == 2)">
                <caption-row title="工作台" />
                <u-grid :border="false" col="4">
                    <u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')"
@@ -183,9 +184,11 @@
    } from "@/common/setting"
    import noticeList from "@/components/noticeList/noticeList";
    import captionRow from "@/components/caption/caption.vue"
    import { getPublicSecurityDetail } from "@/api/grid/grid.js"
    import {
        getPublicSecurityDetail
    } from "@/api/grid/grid.js"
    export default {
        components: {
            noticeList,
@@ -193,79 +196,7 @@
        },
        data() {
            return {
                jobList: [{
                        icon: "/static/icon/menu-01.png",
                        text: "场所记录",
                        style: {
                            background: 'linear-gradient(133deg, #FFFCF9 0%, rgba(255,252,249,0) 100%)',
                        },
                        path: "/subPackage/workbench/views/csjl"
                    },
                    {
                        icon: "/static/icon/menu-02.png",
                        text: "场所采集",
                        style: {
                            background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
                        },
                        path: "/subPackage/workbench/views/cscj"
                    },
                    {
                        icon: "/static/icon/menu-03.png",
                        text: "出租房管理",
                        style: {
                            background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)',
                        },
                        path: "/subPackage/workbench/views/rental"
                    },
                    {
                        icon: "/static/icon/menu-04.png",
                        text: "标签事件",
                        style: {
                            background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
                        },
                        path: "/subPackage/workbench/views/audit"
                    },
                    {
                        icon: "/static/icon/menu-05.png",
                        text: "场所维护",
                        style: {
                            background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
                        },
                        path: "/subPackage/workbench/views/cshw"
                    },
                    {
                        icon: "/static/icon/menu-06.png",
                        text: "报事审核",
                        style: {
                            background: 'linear-gradient(137deg, #FFF4F3 0%, rgba(255,244,243,0) 100%)',
                        },
                        path: "/subPackage/workbench/views/report"
                    },
                    {
                        icon: "/static/icon/menu-10.png",
                        text: "我的任务",
                        style: {
                            background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)'
                        },
                        path: "/subPackage/task/index"
                    },
                    {
                        icon: "/static/icon/menu-02.png",
                        text: "工作日志",
                        style: {
                            background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)'
                        },
                        path: "/subPackage/workbench/views/workLog"
                    },
                    {
                        icon: "/static/icon/menu-02.png",
                        text: "网格巡查",
                        style: {
                            background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)'
                        },
                        path: "/subPackage/workbench/views/patrol"
                    }
                ],
                jobList: [],
                roleType: 2, // 1网格员/系统管理员 、  2居民   3民警
                roleTypeName: "街道社区网格",
                selectBoxShow: false,
@@ -351,9 +282,9 @@
            //     })
            // }
        },
        onShareAppMessage() {
        },
        computed: {
@@ -483,7 +414,7 @@
                    type = 2
                    this.roleType = 2
                    this.roleTypeName = "居民"
                }else if (roleName == '民警'){
                } else if (roleName == '民警') {
                    type = 3
                    this.roleType = 3
                    this.roleTypeName = "街道社区网格"
@@ -629,7 +560,7 @@
                            index = this.getLiveMenuItem(arr, 1)
                            index2 = this.getLiveMenuItem(arr, 2)
                        }
                        if (index2 == -1  && this.roleType == 2) {
                        if (index2 == -1 && this.roleType == 2) {
                            arr.push({
                                name: "租客上报",
                                path: "/subPackage/bs/views/zhsb",
@@ -701,17 +632,11 @@
                            title: "尚无绑定房屋信息",
                            icon: "error"
                        })
                    }
                    // else if (path == "/subPackage/statistics/index") {
                    //     uni.showToast({
                    //         title: "功能开发中~",
                    //         icon: "none"
                    //     })
                    // }
                    else {
                    } else if (path == '/subPackage/workbench/views/cscj'){
                        this.$u.func.globalNavigator(path,"navTo")
                    }else {
                        this.$u.func.globalNavigator(`${path}?houseCode=${this.curHouseCode}`, "navTo")
                    }
                } else {
                    uni.showToast({
                        title: "功能开发中~",
@@ -725,9 +650,7 @@
                const that = this
                uni.scanCode({
                    success: function(res) {
                        console.log(res)
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        console.log("扫码结果", res)
                        let eventType = 0;
                        let obj = that.getUrlParams(res.result)
                        console.log(obj)
@@ -736,15 +659,15 @@
                            that.$u.func.globalNavigator(
                                `/subPackage/house/houseNumber/index?stdId=${obj.stdId}&eventType=${eventType}`,
                                "navTo")
                        }else if (obj.stdId == "CDF5528D617342228F3C84EF5C3C8780"){
                        } else if (obj.stdId == "CDF5528D617342228F3C84EF5C3C8780") {
                            eventType = 2;
                            that.$u.func.globalNavigator(
                                `/subPackage/house/houseNumber/index?stdId=${obj.stdId}&eventType=${eventType}`,
                                "navTo")
                        }else {
                        } else {
                            that.getHouseType(obj.stdId);
                        }
                        //"3C77B40EFC5F4C899AA74BEE747D9DF1"
                        // let url = "/subPackage/workbench/views/cscj?stdId=" + obj.stdId
                        // let url = "/subPackage/workbench/views/cscj?houseCode=" + obj.stdId
@@ -768,61 +691,80 @@
                }
                return obj
            },
            getHouseType(code){
            getHouseType(code) {
                // getPublicSecurityDetail
                  getQrCodeDetail({
                    roleName:"网格员",
                    addressCode:code,
                }).then(res=>{
                getQrCodeDetail({
                    roleName: "网格员",
                    addressCode: code,
                }).then(res => {
                    console.log(res)
                    let {isJur,doorplateType, addressLevel,aoiName,addressName,neiName,buildingName,unitName,aoiCode,neiCode,unitCode,buildingCode } = res.data;
                    if(isJur == 1){
                       if(doorplateType == "户室牌"){
                           this.$u.func.globalNavigator(`/subPackage/house/roomDetails/index?id=${code}&from=scan`,"navTo")
                       }else if (doorplateType =="中门牌"){
                           if(addressLevel == 4){    //自建房
                               this.showAction(code)
                           }else {                  //商铺
                               this.$u.func.globalNavigator(
                                   `/subPackage/house/houseNumber/index?stdId=${code}`, "navTo")
                           }
                       }else if (doorplateType == "楼幢牌"){
                           let url = "/subPackage/house/family/index"
                           this.$u.func.globalNavigator(`${url}?id=${code}&address=${addressName}&neiName=${neiName}&housingName=${aoiName}&buildingName=${buildingName}&buildingCode=${buildingCode}&aoiCode=${aoiCode}&neiCode=${neiCode}`,"navTo")
                       }else if ( doorplateType == "单元牌"){
                           let url = "/subPackage/house/family/index"
                           this.$u.func.globalNavigator(`${url}?id=${code}&address=${addressName}&neiName=${neiName}&housingName=${aoiName}&buildingName=${buildingName}&unitName=${unitName}&unitCode=${unitCode}&neiCode=${neiCode}&buildingCode=${buildingCode}`,"navTo")
                       }else if (doorplateType  =="大门牌"){
                           this.$u.func.globalNavigator(`/subPackage/house/list/index?id=${code}&title=${aoiName}&neiName=${neiName}&address=${addressName}&neiCode=${neiCode}&aoiCode=${aoiCode}`,"navTo")
                       }
                    let {
                        isJur,
                        doorplateType,
                        addressLevel,
                        aoiName,
                        addressName,
                        neiName,
                        buildingName,
                        unitName,
                        aoiCode,
                        neiCode,
                        unitCode,
                        buildingCode
                    } = res.data;
                    if (isJur == 1) {
                        if (doorplateType == "户室牌") {
                            this.$u.func.globalNavigator(
                                `/subPackage/house/roomDetails/index?id=${code}&from=scan`, "navTo")
                        } else if (doorplateType == "中门牌") {
                            if (addressLevel == 4) { //自建房
                                this.showAction(code)
                            } else { //商铺
                                this.$u.func.globalNavigator(
                                    `/subPackage/house/houseNumber/index?stdId=${code}`, "navTo")
                            }
                        } else if (doorplateType == "楼幢牌") {
                            let url = "/subPackage/house/family/index"
                            this.$u.func.globalNavigator(
                                `${url}?id=${code}&address=${addressName}&neiName=${neiName}&housingName=${aoiName}&buildingName=${buildingName}&buildingCode=${buildingCode}&aoiCode=${aoiCode}&neiCode=${neiCode}`,
                                "navTo")
                        } else if (doorplateType == "单元牌") {
                            let url = "/subPackage/house/family/index"
                            this.$u.func.globalNavigator(
                                `${url}?id=${code}&address=${addressName}&neiName=${neiName}&housingName=${aoiName}&buildingName=${buildingName}&unitName=${unitName}&unitCode=${unitCode}&neiCode=${neiCode}&buildingCode=${buildingCode}`,
                                "navTo")
                        } else if (doorplateType == "大门牌") {
                            this.$u.func.globalNavigator(
                                `/subPackage/house/list/index?id=${code}&title=${aoiName}&neiName=${neiName}&address=${addressName}&neiCode=${neiCode}&aoiCode=${aoiCode}`,
                                "navTo")
                        }
                    } else {
                        uni.showModal({
                            title: "提示!",
                            content: "该区域不是您管辖范围",
                            showCancel: false
                        })
                    }
                    else {
                        uni.showModal({
                            title:"提示!",
                            content:"该区域不是您管辖范围",
                            showCancel:false
                        })
                    }
                })
                })
            },
            showAction(code){
            showAction(code) {
                uni.showActionSheet({
                    title:"请选择",
                    title: "请选择",
                    itemList: ['场所', '户室'],
                    success:(res)=>{
                        if(res.tapIndex == 0){
                    success: (res) => {
                        if (res.tapIndex == 0) {
                            this.$u.func.globalNavigator(
                                `/subPackage/house/houseNumber/index?stdId=${code}`, "navTo")
                        }else {
                            this.$u.func.globalNavigator(`/subPackage/house/roomDetails/index?id=${code}&from=scan`,"navTo")
                        } else {
                            this.$u.func.globalNavigator(
                                `/subPackage/house/roomDetails/index?id=${code}&from=scan`, "navTo")
                        }
                    }
                })
            }
        }
    }
</script>
@@ -876,7 +818,8 @@
        .nav-item {
            padding: 10rpx 0;
        }
        .nav-item-text{
        .nav-item-text {
            font-family: PingFang SC;
            font-weight: 500;
            color: #585b61;
@@ -978,7 +921,8 @@
        padding: 0 20rpx;
        border-radius: 10rpx;
    }
    .pb-20{
        padding-bottom:20rpx;
    .pb-20 {
        padding-bottom: 20rpx;
    }
</style>
pages/user/center.vue
@@ -64,7 +64,7 @@
                <u-cell title="修改密码"  :border="false"   isLink  url="/subPackage/user/password/index">
                    <image slot="icon" src="/static/icon/menu-center-03.png" class="icon" mode=""></image>
                </u-cell>
                <u-cell title="测试页面"  :border="false"   isLink  url="test">
                <u-cell title="测试页面"  :border="false"   isLink  url="/subPackage/house/roomDetails/detail">
                    <image slot="icon" src="/static/icon/menu-center-03.png" class="icon" mode=""></image>
                </u-cell>
                <!-- <u-cell-item title="评分">
subPackage/bs/views/rentDetail.vue
@@ -223,9 +223,9 @@
                    verifyBtn: false
                },
                selectDefaultIndex:{
                    rentalUse:null,
                    relation:null,
                    houseType:null
                    rentalUse:0,
                    relation:0,
                    houseType:0
                }
            }
        },
@@ -252,10 +252,10 @@
            },
            //类型选择确认
            typeSelect(e) {
                const [result] = e.value
                const [result] = e.value;
                this[this.selectBusModel] = result.name
                this.form[this.selectBusKey] = result.value
                this.selectDefaultIndex[this.selectBusKey] = item.indexs[0];
                this.selectDefaultIndex[this.selectBusKey] = e.indexs[0];
                this.typeShow = !this.typeShow
            },
            rentTimeClick() {
@@ -638,9 +638,6 @@
                margin-bottom: 30rpx;
            }
        }
        .bottom-tools {
            display: flex;
            background-color: #ffffff;
subPackage/house/houseNumber/index.vue
@@ -218,6 +218,7 @@
            }
        },
        onLoad(option) {
            console.log("oload=>",option)
            this.stdId = option.stdId
            if(option.addressType){
                this.addressType = option.addressType
@@ -230,6 +231,13 @@
            }
            this.getBuildingDetail()
        },
        watch:{
            id(newVal,oldVal){
                console.log(newVal)
            }
        },
        methods: {
            async getBuildingDetail() {
                // this.$nextTick(() => {
subPackage/house/member/householdLabel.vue
@@ -16,7 +16,7 @@
                    <view class="info">
                        <view>姓名:{{householdInfo.name}}</view>
                        <view class="flex">
                            手机:{{householdInfo.phoneNumber}} <u-icon name="phone-fill" color="#4586FE"></u-icon>
                            手机:{{householdInfo.phoneNumber || ""}} <u-icon v-if="householdInfo.phoneNumber"  name="phone-fill" color="#4586FE"></u-icon>
                        </view>
                    </view>
                </view>
subPackage/house/member/index.vue
@@ -285,7 +285,17 @@
                selectBusTitle: '',
                selectBusModel: '',
                selectBusKey:"",
                selectDefaultIndex:{}
                selectDefaultIndex:{
                    roleType:0,
                    relationship:0,
                    gender:0,
                    isPrimaryContact:0,
                    ethnicity:0,
                    education:0,
                    partyEmber:0,
                    workStatus:0,
                    maritalStatus:0
                }
            }
        },
        created() {
@@ -353,7 +363,7 @@
                this.roleTypeName = this.findObjValue(data.roleType, this.dataList.roleList).name
                this.selectDefaultIndex.roleType = this.findObjValue(data.roleType, this.dataList.roleList).index;
                this.relationshipName = this.findObjValue(data.relationship, this.dataList.relationshipList).name;
                this.selectDefaultIndex.relationshi =  this.findObjValue(data.relationship, this.dataList.relationshipList).index;
                this.selectDefaultIndex.relationship =  this.findObjValue(data.relationship, this.dataList.relationshipList).index;
                this.genderName = this.findObjValue(data.gender, this.dataList.genderList).name;
                this.selectDefaultIndex.gender = this.findObjValue(data.gender, this.dataList.genderList).index;
                this.isPrimaryContactName = this.findObjValue(data.isPrimaryContact, this.dataList.isPrimaryContactList).name;
subPackage/house/roomDetails/detail.vue
New file
@@ -0,0 +1,76 @@
<template>
    <view class="">
        <view class="tab bgc-ff">
            <u-tabs :list="tabList" :scrollable="false" :current="tabIndex" @click="changeTab"
                :inactiveStyle="{color:'#999999'}" :activeStyle="{color:'#017BFC'}"></u-tabs>
        </view>
        <view class="container">
            <house-number ref="house" v-show="tabIndex == 0" />
            <room-detail  ref="room"  v-show="tabIndex == 1" />
        </view>
    </view>
</template>
<script>
    import houseNumber from "../houseNumber/index.vue"
    import roomDetail from "./index.vue"
    export default {
        components: {
            houseNumber,
            roomDetail
        },
        data() {
            return {
                tabList: [{
                        name: "场所"
                    },
                    {
                        name: "户室"
                    }
                ],
                tabIndex: 0,
                code: ""
            }
        },
        onLoad(option) {
            // this.tabIndex = option.type;
            this.code = option.code;
            this.$refs.house.stdId = option.code;
            this.$refs.house.getBuildingDetail();
            // console.log(this.$refs.room);
            // this.$refs.room.currentId = option.code;
            // this.$refs.room.from = "scan";
            // this.$refs.room.getHouseRentInfoList()
        },
        methods: {
            changeTab(e) {
                if(e.index == this.tabIndex) return;
                this.tabIndex = e.index;
                if (e.index == 0) {
                    this.$refs.house.stdId = this.code;
                    this.$refs.house.getBuildingDetail();
                } else {
                    this.$refs.room.currentId = this.code;
                    this.$refs.room.from = "scan";
                    this.$refs.room.getHouseRentInfoList()
                }
            }
        }
    }
</script>
<style>
    .tab {
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 100;
    }
    .container {
        margin-top: 100rpx;
    }
</style>
subPackage/house/roomDetails/index.vue
@@ -10,15 +10,15 @@
                            {{ houseInfo.houseTitle }}
                        </view>
                    </view>
                    <view class="house-address f-26"  v-if="from">
                    <view class="house-address f-26" v-if="from">
                        <text>标准地址:</text>
                        <text>{{houseInfo.addressName}}</text>
                    </view>
                    <view class="flex j-c-s-b info-content">
                        <view class="house-info">
                            <text> {{houseInfo.buildingName}} {{houseInfo.unitName?houseInfo.unitName:"一单元"}} {{ houseInfo.houseName }}室 </text>
                            <text>{{houseInfo.buildingName}}{{houseInfo.unitName?houseInfo.unitName:"一单元"}}{{ houseInfo.houseName}}室</text>
                            <text class="c-aa">(共{{ houseInfo.allNum }}人)</text>
                        </view>
                        <view class="flex a-i-c">
@@ -46,7 +46,7 @@
                                </view>
                                <view class="flex">
                                    关系:
                                    <view class="flex a-i-c"  v-if="item.roleRelationName">
                                    <view class="flex a-i-c" v-if="item.roleRelationName">
                                        <u-tag :text="item.roleRelationName" size="mini"
                                            :borderColor="item.relationship == 1 ? '#F2BF42' : '#1989FA'"
                                            :bgColor="item.relationship == 1 ? '#F2BF42' : '#1989FA'"></u-tag>
@@ -59,7 +59,7 @@
                                <u-button size='small' type="primary" class="u_btn_blue" text="资料管理"
                                    @click="addOrupdateMember(2,item)"></u-button>
                            </view>
                            <view>
                            <view v-if="roleType == 2">
                                <u-button size='small' type="primary" class="u_btn_blue" text="标签管理"
                                    @click="goToHouseholdLabel(item)"></u-button>
                            </view>
@@ -76,7 +76,7 @@
                        </view>
                    </view>
                </view>
                <u-modal :show="isHouseholdModelShow" width="auto" :showCancelButton="true" title="提示"
                    content="请确认是否删除当前住户信息" @cancel="isHouseholdModelShow = false"
                    @confirm="deleteHousehold()"></u-modal>
@@ -110,22 +110,18 @@
                            <u-button icon="order" class="btn-item bgc-main" type="primary"  size='small'   text="终止"
                                :disabled="item.status == 1 || item.status == 2" @click="terRent(item)"></u-button>-->
                            <view class="btn-item">
                                <u-button  class="bgc-main" type="primary"  size='small'    text="修改"
                                <u-button class="bgc-main" type="primary" size='small' text="修改"
                                    :disabled="item.status == 1 || item.status == 2" @click="editRent(item)"></u-button>
                            </view>
                            <view class="btn-item">
                                <u-button  class="bgc-main" type="primary"  size='small'  text="续租"
                                <u-button class="bgc-main" type="primary" size='small' text="续租"
                                    :disabled="item.status == 2" @click="reletRent(item)"></u-button>
                            </view>
                            <view class="btn-item">
                                <u-button  class="bgc-main" type="primary"  size='small'   text="终止"
                                <u-button class="bgc-main" type="primary" size='small' text="终止"
                                    :disabled="item.status == 1 || item.status == 2" @click="terRent(item)"></u-button>
                            </view>
                        </view>
                    </view>
                </view>
@@ -169,7 +165,6 @@
    } from '@/api/house/household.js'
    export default {
        components: {},
        data() {
            return {
                householdId: '',
@@ -184,7 +179,7 @@
                    houseTitle: '',
                    // 人员数量
                    allNum: 0,
                    buildingName:""
                    buildingName: ""
                },
                ownerInfoList: [],
                rentOutList: [],
@@ -206,32 +201,41 @@
                    },
                ],
                currentTime: null,
                unitName:"",
                from:""
                unitName: "",
                from: "",
                roleType: 1 //1居民   2其它角色
            }
        },
        onLoad(e) {
            if(e.id){
            if (e.id) {
                const {
                    id,
                    unit
                } = e
                this.currentId = id;
                this.unitName = unit;
            }else {
            } else {
                this.currentId = uni.getStorageSync("siteInfo").houseCode
            }
            if(e.from){
            if (e.from) {
                this.from = e.from;
            }
        },
        onShow() {
            this.getHouseRentInfoList()
        },
        mounted() {
            let roleName = uni.getStorageSync("activeRole").roleName;
            if (roleName == "居民") {
                this.roleType = 1;
            } else {
                this.roleType = 2;
            }
        },
        methods: {
            // 跳转住户标签管理页面
            goToHouseholdLabel(data) {
@@ -293,12 +297,12 @@
                this.houseInfo.houseTitle = aoiName || subAoi
                this.houseInfo.buildingName = buildingName
                this.houseInfo.addressName = addressName
                if(this.from){
                if (this.from) {
                    uni.setNavigationBarTitle({
                        title:`${this.houseInfo.houseTitle}${this.houseInfo.buildingName}${this.houseInfo.unitName}${this.houseInfo.houseName }室`
                        title: `${this.houseInfo.houseTitle}${this.houseInfo.buildingName}${this.houseInfo.unitName}${this.houseInfo.houseName }室`
                    })
                }
                // 判断当前租客有没有过期
                this.rentOutList.forEach(item => {
                    // 事件格式处理
@@ -340,19 +344,26 @@
                } = item
                this.$u.func.globalNavigator(`/subPackage/bs/views/rentDetail?houseCode=${houseCode}&id=${id}`)
            },
            //租户续租
            reletRent(item) {
                this.currentTime = item.dueTime
                this.currentRentalId = item.housingRentalId
                // this.currentRentalId = item.housingRentalId
                this.currentRentalId = item.id;
                this.isPickerShow = true
            },
            //租户终止
            terRent(item) {
                this.currentTime = item.dueTime
                this.currentRentalId = item.id
                this.istPickerShow = true
            },
            //删除租户
            deleteRent(item) {
                this.currentRentalId = item.housingRentalId
                // this.currentRentalId = item.housingRentalId
                this.currentRentalId = item.id;
                this.isModelShow = true
            },
            async dueTimeConfirm(e) {
@@ -367,10 +378,14 @@
                        icon: "error",
                        duration: 1500
                    })
                    return
                } else {
                    uni.showToast({
                        title: "续租成功",
                    })
                    this.isPickerShow = false
                    this.getHouseRentInfoList()
                }
                this.isPickerShow = false
                this.getHouseRentInfoList()
            },
            async terminateTimeConfirm(e) {
                const time = uni.$u.timeFormat(e.value, 'yyyy-mm-dd')
@@ -463,7 +478,8 @@
                        .house-info {
                            font-weight: 700;
                            .c-aa{
                            .c-aa {
                                color: #AAAAAA;
                            }
                        }
@@ -526,8 +542,9 @@
                            &>.u-button {
                                margin: 0 16rpx;
                            }
                            .btn-item{
                                width:180rpx;
                            .btn-item {
                                width: 180rpx;
                            }
                            //  /deep/ .btn-item {
@@ -562,7 +579,7 @@
            .edit-btn {
                width: 100%;
                // height: 116rpx;
                padding:20rx;
                padding: 20rx;
                display: flex;
                justify-content: space-around;
                align-items: center;
@@ -570,12 +587,13 @@
                position: fixed;
                left: 0;
                bottom: 0;
                padding-bottom: env(safe-area-inset-bottom);
                padding-bottom: env(safe-area-inset-bottom);
                box-sizing: border-box;
                view {
                    margin: 20rpx;
                    flex:1;
                    height:78rpx;
                    flex: 1;
                    height: 78rpx;
                    // &:first-child {
                    //     flex: 1;
                    //     margin-right: 0;
@@ -595,8 +613,9 @@
            border: 0;
        }
    }
    .house-address{
        padding:10rpx 0;
    .house-address {
        padding: 10rpx 0;
        border-bottom: 1rpx solid #f6f6f6;
    }
</style>
subPackage/task/index.vue
@@ -186,7 +186,7 @@
                        if(i.remark == '1'){
                            this.comprehensive.push(i)
                        }else {
                            this.security.push(i)
                            this.securityList.push(i)
                        }
                    }
                }
subPackage/task/taskList.vue
@@ -104,11 +104,13 @@
            },
            navTo(name, id) {
                if (name == "旅馆安全") {
                    this.$u.func.globalNavigator(`hotelReportDetail?id=${id}`)
                    this.$u.func.globalNavigator(`/subPackage/workbench/views/hotelReportDetail?id=${id}`)
                } else if (name == "取保候审") {
                    this.$u.func.globalNavigator(`bailReportDetail?id=${id}`)
                } else {
                    this.$u.func.globalNavigator(`labelReportDetail?id=${id}`)
                    this.$u.func.globalNavigator(`/subPackage/workbench/views/bailReportDetail?id=${id}`)
                } else if(name == "校园安全自查") {
                    this.$u.func.globalNavigator(`/subPackage/workbench/views/schoolReportDetail?id=${id}`)
                }else {
                    this.$u.func.globalNavigator(`/subPackage/workbench/views/labelReportDetail?id=${id}`)
                }
            }
        }
subPackage/user/family/edit.vue
@@ -292,7 +292,17 @@
                selectBusModel: '',
                type:  1  ,//1添加  ,2编辑
                selectBusKey:"",
                selectDefaultIndex:{}
                selectDefaultIndex:{
                    roleType:0,
                    relationship:0,
                    gender:0,
                    isPrimaryContact:0,
                    ethnicity:0,
                    education:0,
                    partyEmber:0,
                    workStatus:0,
                    maritalStatus:0
                }
            }
        },
        created() {
@@ -364,7 +374,7 @@
                this.roleTypeName = this.findObjValue(data.roleType, this.dataList.roleList).name
                this.selectDefaultIndex.roleType = this.findObjValue(data.roleType, this.dataList.roleList).index;
                this.relationshipName = this.findObjValue(data.relationship, this.dataList.relationshipList).name;
                this.selectDefaultIndex.relationshi =  this.findObjValue(data.relationship, this.dataList.relationshipList).index;
                this.selectDefaultIndex.relationship =  this.findObjValue(data.relationship, this.dataList.relationshipList).index;
                this.genderName = this.findObjValue(data.gender, this.dataList.genderList).name;
                this.selectDefaultIndex.gender = this.findObjValue(data.gender, this.dataList.genderList).index;
                this.isPrimaryContactName = this.findObjValue(data.isPrimaryContact, this.dataList.isPrimaryContactList).name;
@@ -562,14 +572,15 @@
    }
    .footer {
        width: 100%;
        padding: 30rpx;
        padding: 20rpx 30rpx;
        box-sizing: border-box;
        z-index: 10;
        z-index: 999;
        position:fixed;
        bottom:0;
        left:0;
        backgroun-color:#fff;
        padding-bottom: env(safe-area-inset-bottom);
        padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
        box-shadow: 0rpx 0rpx 10rpx 1rpx rgba(0,0,0,0.1);
        .footer-btn {
            width:48%;
            height: 78rpx;
@@ -577,8 +588,6 @@
            border-radius: 8rpx 8rpx 8rpx 8rpx;
            font-size: 32rpx;
            color: #fff;
        }
    
        .add-btn {
subPackage/workbench/views/cscj.vue
@@ -1,156 +1,155 @@
<template>
    <view class="container">
        <view class="wrap">
        <u-form labelWidth="70" :model="form" :rules="rules" ref="form">
            <view class="item">
                <!-- u-form-item v-if="!currentId" @click="showPicker = true" class="form-item" labelWidth="100" label="楼栋:"
            <u-form labelWidth="70" :model="form" :rules="rules" ref="form">
                <view class="item">
                    <!-- u-form-item v-if="!currentId" @click="showPicker = true" class="form-item" labelWidth="100" label="楼栋:"
                    :required="isRequired" :disabled="isDisabled" prop="buildingCode">
                    <u--input border="none" disabledColor="#ffffff" v-model="form.building" placeholder="请选择">
                    </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="请输入">
                    </u--input>
                </u-form-item>
                <u-form-item @click="popup" class="form-item" labelWidth="100" label="标签:" :required="isRequired"
                    :disabled="isDisabled" prop="label">
                    <u--input border="none" disabled disabledColor="#ffffff" placeholder="请选择">
                    </u--input>
                    <u-icon slot="right" name="arrow-right"></u-icon>
                </u-form-item>
                <view v-if="showLabelList.length" class="label" style="border-bottom:1px solid eff1f3;">
                    <view v-for="(item,index) in showLabelList" :key="index" class="activeLabel">
                        <u-tag :closable="currentId?false:true" :show="!item.isClose" size="mini" @close="delTag(item)"
                            :text="item.text"></u-tag>
                    <view class="box-title">
                        <box-title title="基础信息"></box-title>
                    </view>
                </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="请输入">
                        </u--input>
                    </u-form-item>
                <u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark">
                    <u--input border="none" v-model="form.remark" placeholder="请输入">
                    </u--input>
                </u-form-item>
                    <u-form-item @click="popup" class="form-item" labelWidth="100" label="标签:" :required="isRequired"
                        :disabled="isDisabled" prop="label">
                        <u--input border="none" disabled disabledColor="#ffffff" placeholder="请选择">
                        </u--input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
                    </u-form-item>
                    <view v-if="showLabelList.length" class="label" style="border-bottom:1px solid eff1f3;">
                        <view v-for="(item,index) in showLabelList" :key="index" class="activeLabel">
                            <u-tag :closable="currentId?false:true" :show="!item.isClose" size="mini"
                                @close="delTag(item)" :text="item.text"></u-tag>
                        </view>
                    </view>
                <!-- <u-form-item class="form-item" labelWidth="100" label="经纬度:" prop="location">
                    <u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark">
                        <u--input border="none" v-model="form.remark" placeholder="请输入">
                        </u--input>
                    </u-form-item>
                    <!-- <u-form-item class="form-item" labelWidth="100" label="经纬度:" prop="location">
                    <u--input border="none" disabled disabledColor="#ffffff" v-model="form.jwd" placeholder="请输入">
                    </u--input>
                </u-form-item> -->
                <u-form-item label="经纬度:" prop="location">
                    <view class="address-row flex">
                        <view class="address-content f-28" v-if="form.jwd">
                            {{form.jwd}}
                    <u-form-item label="经纬度:" prop="location" labelWidth="100">
                        <view class="address-row flex">
                            <view class="address-content f-28" v-if="form.jwd">
                                {{form.jwd}}
                            </view>
                            <view class="address-content f-28" v-if="!form.jwd" style="color: #c0c4cc;">
                                请选择地址
                            </view>
                            <view class="location-btn c-main f-24" @click="getLocation()">
                                获取地址
                            </view>
                        </view>
                        <view class="address-content f-28 c-99" v-if="!form.jwd">
                            请选择地址
                        </view>
                        <view class="location-btn c-main f-24" @click="getLocation()">
                            获取地址
                        </view>
                    </u-form-item>
                </view>
                <view class="item">
                    <view class="box-title">
                        <box-title title="负责人信息"></box-title>
                    </view>
                </u-form-item>
            </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="请输入">
                        </u--input>
                    </u-form-item>
                    <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                        label="手机号:" prop="phone">
                        <u--input border="none" v-model="form.phone" placeholder="请输入">
                        </u--input>
                    </u-form-item>
                </view>
                <view class="item pic" v-if="(currentId && form.images.length) || !currentId ">
                    <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"
                        uploadIcon="/static/icon/upload.png" @afterRead="afterReadImg" @delete="deletePic"
                        :disabled="currentId?true:false" :deletable="currentId?false:true">
                    </u-upload>
                </view>
            </u-form>
            <view class="item">
                <view class="box-title">
                    <box-title title="负责人信息"></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>
                <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                    label="场所负责人:" prop="username">
                    <u--input border="none" v-model="form.username" placeholder="请输入">
                    </u--input>
                </u-form-item>
                <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                    label="手机号:" prop="phone">
                    <u--input border="none" v-model="form.phone" placeholder="请输入">
                    </u--input>
                </u-form-item>
                <lineItem :dataInfo="comprehensiveData.basic">
                </lineItem>
                <lineItem :dataInfo="comprehensiveData.scene">
                    <template v-slot:pic="{scope}">
                        <view class="image" v-if="scope.value !== ''">
                            <u--image @click="imgPreview(scope.value)" width="200rpx" height="200rpx"
                                :src="scope.value"></u--image>
                        </view>
                        <view class="" v-else>
                            {{scope.value}}
                        </view>
                    </template>
                </lineItem>
            </view>
            <view class="item pic" v-if="(currentId && form.images.length) || !currentId ">
            <view class="item">
                <view class="box-title">
                    <box-title title="场所照片"></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>
                <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
                    :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
                    :capture="uploadConfig.capture" uploadIcon="/static/icon/upload.png" @afterRead="afterReadImg"
                    @delete="deletePic" :disabled="currentId?true:false" :deletable="currentId?false:true">
                </u-upload>
            </view>
                <lineItem :dataInfo="publicData.basic">
                </lineItem>
        </u-form>
        <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>
            <lineItem :dataInfo="comprehensiveData.scene">
                <template v-slot:pic="{scope}">
                    <view class="image" v-if="scope.value !== ''">
                        <u--image @click="imgPreview(scope.value)" width="200rpx" height="200rpx"
                            :src="scope.value"></u--image>
                    </view>
                    <view class="" v-else>
                <lineItem :dataInfo="publicData.scene">
                    <template v-slot:pic="{scope}">
                        {{scope.value}}
                    </view>
                </template>
            </lineItem>
        </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>
                </lineItem>
            </view>
            <lineItem :dataInfo="publicData.basic">
            </lineItem>
            <lineItem :dataInfo="publicData.scene">
                <template v-slot:pic="{scope}">
                    {{scope.value}}
                </template>
            </lineItem>
        </view>
        <!-- <view class="bottom">
            <!-- <view class="bottom">
            <view class="btn">
                <u-button @click="submit" type="primary" text="提交" v-if="!currentId"></u-button>
            </view>
        </view> -->
        </view>
        </view>
        <footer-btn @click="submit" v-if="!currentId" />
        <uni-popup class="citys_win popup_win" ref="uniPopup" type="bottom">
@@ -165,6 +164,10 @@
            @cancel="showPicker = false"></u-picker>
        <u-picker :show="isShowCatePicker" ref="catePicker"  keyName="categoryName"  :columns="categoryList" @confirm="confirmCategory"
            @change="changeCategory"    @cancel="isShowCatePicker = false"></u-picker>
    </view>
</template>
@@ -172,7 +175,8 @@
    import uploadMixin from "@/mixin/uploadMixin";
    import lineItem from "@/subPackage/workbench/components/lineItem.vue"
    import {
        getLabelList
        getLabelList,
        getLabelCate
    } from "@/api/label/categoryLabel.js";
    import {
        getDoorplateAddressDetail,
@@ -218,8 +222,8 @@
                    placeName: "",
                    username: '',
                    phone: '',
                    lat:'',
                    lng:''
                    lat: '',
                    lng: ''
                },
                rules: {
                    // 'buildingCode': {
@@ -366,7 +370,16 @@
                showLabelList: [],
                houseCode: "",
                currentId: "",
                addressType: 2
                addressType: 2,
                isShowCatePicker: false,
                categoryList: [
                    [],
                    []
                ],
                categoryIndex: [],
                firstId: "",
                secondId: "",
                categoryValue:[]
            }
        },
        watch: {
@@ -391,7 +404,6 @@
            styleIsolation: 'shared', // 解除样式隔离
        },
        onLoad(option) {
            console.log(option)
            const {
                type
            } = option
@@ -413,13 +425,37 @@
                    title: '详情'
                })
            }
            // this.getCategory();
        },
        onShow() {
            this.getLabel()
            // this.getLocation()
        },
        watch:{
            firstId:{
                handler(newVal,oldVal){
                    if(newVal){
                        this.getCategory(2,this.firstId);
                    }
                },
                immediate:true
            }
            // secondId:{
   //              handler(newVal,oldVal){
            //         this.getCategory(3,this.secondId);
            //     },
            //     immediate:true
            // }
        },
        methods: {
            // getBuildingDetail(params = {}) {
            //     getDoorplateAddressDetail(Object.assign(params, {
            //         stdId: this.stdId
@@ -464,6 +500,64 @@
            //         })
            //     })
            // },
            //获取分类
             getCategory(level = 1, id) {
                let params = {
                    level
                }
                if (level != 1) {
                    params.parentNo = id
                }
                getLabelCate(params).then(res => {
                    console.log(res)
                    if (res.code == 200) {
                        let index = level- 1;
                        this.$set(this.categoryList,index,res.data);
                        if(level == 1){
                            this.firstId = res.data[0].categoryNo
                        }
                    }
                })
            },
            //选择分类
            confirmCategory(e) {
               console.log("confirm=>",e)
               let {indexs,value} = e;
               this.categoryIndex = indexs;
               this.categoryValue = value;
               this.form.label = value[value.length -1].id;
               this.isShowCatePicker = false;
            },
            //切换分类
            changeCategory(e) {
                const {
                    columnIndex,
                    value,
                    values, // values为当前变化列的数组内容
                    index,
                    // 微信小程序无法将picker实例传出来,只能通过ref操作
                    picker = this.$refs.catePicker
                } = e
                console.log("change=>",e)
                // 当第一列值发生变化时,变化第二列(后一列)对应的选项
                if (columnIndex === 0) {
                    // picker为选择器this实例,变化第二列对应的选项
                    // picker.setColumnValues(1, this.categoryList[index])
                    this.firstId = e.value[columnIndex].categoryNo;
                    // this.secondId = this.categoryList[1][0].categoryNo;
                    // this.getCategory(2,this.firstId);
                }
                // else if ( columnIndex === 1){
                    // picker.setColumnValues(2, this.categoryList[index])
                    // this.secondId = e.value[columnIndex].categoryNo;
                    // this.getCategory(3,this.secondId)
                // }
            },
            getBuildingDetail(params = {}) {
                let idorCodeParams = {}
@@ -530,8 +624,8 @@
                            }
                        }
                    })
                    this.form.jwd = `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`
                    this.form.building = arr.join("")
@@ -637,13 +731,14 @@
                    }
                });
            },
            getLocation() {
                uni.chooseLocation({
                    success: (res) => {
                        this.form.lat = res.latitude;
                        this.form.lng = res.longitude;
                        this.form.jwd = `${Number(res.latitude).toFixed(6)},${Number(res.longitude).toFixed(6)}`
                        this.form.jwd =
                            `${Number(res.latitude).toFixed(6)},${Number(res.longitude).toFixed(6)}`
                    }
                })
            },
@@ -718,8 +813,10 @@
            },
            //弹出层打开
            popup() {
             popup() {
                this.$refs.uniPopup.open()
                // this.isShowCatePicker = true;
            },
            getLabel() {
@@ -780,10 +877,12 @@
        flex-direction: column;
        background: #f5f5f5;
        padding: 0 30rpx 20rpx 30rpx;
        .wrap{
            width:100%;
            margin-bottom:120rpx;
        .wrap {
            width: 100%;
            margin-bottom: 120rpx;
        }
        .box-title {
            padding: 10px 0;
@@ -880,20 +979,19 @@
        background-color: green;
        border-radius: 0rpx 10rpx 10rpx 0rpx;
    }
    .address-row {
        flex: 1;
        justify-content: flex-end;
        align-items: center;
    }
    .address-content {
        width: calc(100% - 116rpx - 20rpx);
        margin-right: 20rpx;
        text-align: right;
        width: calc(100% - 116rpx - 15rpx);
        margin-right: 15rpx;
    }
    .location-btn {
        width: 116rpx;
        height: 46rpx;
@@ -904,5 +1002,4 @@
        background-color: #fff;
        text-align: center;
    }
</style>