Lou
2023-11-03 74522341365718f79bb0570c840285ff2f68a8c2
Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jczz_app
9 files modified
802 ■■■■■ changed files
api/doorplateAddress/doorplateAddress.js 11 ●●●●● patch | view | raw | blame | history
manifest.json 473 ●●●● patch | view | raw | blame | history
pages/home/index.vue 15 ●●●● patch | view | raw | blame | history
subPackage/bs/components/form/rentForm.vue 20 ●●●● patch | view | raw | blame | history
subPackage/bs/components/list/rentList.vue 28 ●●●● patch | view | raw | blame | history
subPackage/bs/views/rentDetail.vue 147 ●●●● patch | view | raw | blame | history
subPackage/house/roomControl/index.vue 22 ●●●● patch | view | raw | blame | history
subPackage/house/roomDetails/index.vue 33 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/cscj.vue 53 ●●●● patch | view | raw | blame | history
api/doorplateAddress/doorplateAddress.js
@@ -84,4 +84,15 @@
        },
        data
    })
}
// 获取门牌地址
export const getDoorplateAddressDetail = (params) => {
    return http.request({
        url: 'blade-doorplateAddress/doorplateAddress/getDoorplateAddressDetail',
        method: 'GET',
        params: {
            ...params
        }
    })
}
manifest.json
@@ -1,237 +1,238 @@
{
    "name" : "荆楚水库",
    "appid" : "__UNI__EB167C0",
    "description" : "",
    "versionName" : "1.0.10",
    "versionCode" : 104,
    "transformPx" : false,
    /* 5+App特有相关 */
    "app-plus" : {
        "compatible" : {
            "ignoreVersion" : true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持
        },
        "safearea" : {
            "bottom" : {
                "offset" : "none"
            }
        },
        "usingComponents" : true,
        "nvueCompiler" : "uni-app",
        "compilerVersion" : 3,
        "splashscreen" : {
            "alwaysShowBeforeRender" : false,
            "waiting" : false,
            "autoclose" : false,
            "delay" : 0
        },
        /* 模块配置 */
        "modules" : {
            "VideoPlayer" : {},
            "Camera" : {},
            "Geolocation" : {},
            "Push" : {},
            "Maps" : {}
        },
        /* 应用发布信息 */
        "distribute" : {
            /* android打包配置 */
            "android" : {
                "permissions" : [
                    "<uses-feature android:name=\"android.hardware.camera\"/>",
                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_MOCK_LOCATION\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
                    "<uses-permission android:name=\"android.permission.INTERNET\"/>",
                    "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
                    "<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>",
                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                ],
                "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ]
            },
            /* ios打包配置 */
            "ios" : {
                "dSYMs" : false,
                "UIBackgroundModes" : "",
                "idfa" : false
            },
            /* SDK配置 */
            "sdkConfigs" : {
                "ad" : {},
                "maps" : {
                    "amap" : {
                        "appkey_ios" : "4bcdf5434597cc9160c9e0168c4a7bc7",
                        "appkey_android" : "c21be9bc7343573c28112c4fe272cb41"
                    }
                },
                "geolocation" : {
                    "amap" : {
                        "__platform__" : [ "ios", "android" ],
                        "appkey_ios" : "4bcdf5434597cc9160c9e0168c4a7bc7",
                        "appkey_android" : "c21be9bc7343573c28112c4fe272cb41"
                    },
                    "system" : {
                        "__platform__" : [ "ios", "android" ]
                    }
                },
                "push" : {
                    "unipush" : {
                        "offline" : true
                    }
                }
            },
            "icons" : {
                "android" : {
                    "hdpi" : "D:/Desktop/hbsl/app/应用图标/72.png",
                    "xhdpi" : "D:/Desktop/hbsl/app/应用图标/96.png",
                    "xxhdpi" : "D:/Desktop/hbsl/app/应用图标/144.png",
                    "xxxhdpi" : "D:/Desktop/hbsl/app/应用图标/192.png"
                },
                "ios" : {
                    "appstore" : "D:/Desktop/icon/1024x1024bb.png",
                    "iphone" : {
                        "app@2x" : "D:/Desktop/icon/120.png",
                        "app@3x" : "D:/Desktop/icon/180.png",
                        "spotlight@2x" : "D:/Desktop/icon/80.png",
                        "spotlight@3x" : "D:/Desktop/icon/120.png",
                        "settings@2x" : "D:/Desktop/icon/58.png",
                        "settings@3x" : "D:/Desktop/icon/87.png",
                        "notification@2x" : "D:/Desktop/icon/40.png",
                        "notification@3x" : "D:/Desktop/icon/60.png"
                    },
                    "ipad" : {
                        "app" : "",
                        "app@2x" : "",
                        "proapp@2x" : "",
                        "spotlight" : "",
                        "spotlight@2x" : "",
                        "settings" : "",
                        "settings@2x" : "",
                        "notification" : "",
                        "notification@2x" : ""
                    }
                }
            },
            "splashscreen" : {
                "useOriginalMsgbox" : true
            }
        },
        "uniStatistics" : {
            "enable" : false
        },
        "nativePlugins" : {}
    },
    /* 快应用特有相关 */
    "quickapp" : {},
    /* 小程序特有相关 */
    "mp-weixin" : {
        "appid" : "wxdc5675f4df850da6",
        "setting" : {
            "urlCheck" : false,
            "minified" : true,
            "postcss" : true,
            "es6" : true
        },
        "usingComponents" : true,
        "optimization" : {
            "subPackages" : true
        },
        "uniStatistics" : {
            "enable" : false
        },
        "permission" : {
            "scope.userLocation" : {
                "desc" : "定位"
            }
        }
    },
    "mp-alipay" : {
        "usingComponents" : true,
        "uniStatistics" : {
            "enable" : false
        }
    },
    "mp-baidu" : {
        "usingComponents" : true,
        "uniStatistics" : {
            "enable" : false
        }
    },
    "mp-toutiao" : {
        "usingComponents" : true,
        "setting" : {
            "es6" : true,
            "minified" : true,
            "postcss" : true,
            "urlCheck" : false
        },
        "uniStatistics" : {
            "enable" : false
        }
    },
    "h5" : {
        "template" : "template.h5.html",
        "router" : {
            "mode" : "hash",
            "base" : "/app"
        },
        "optimization" : {
            "treeShaking" : {
                "enable" : true
            }
        },
        "devServer" : {
            "proxy" : {
                "/api" : {
                    "target" : "http://127.0.0.1",
                    //"target" : "https://rider.bladex.vip/api",
                    "pathRewrite" : {
                        "^/api" : "/"
                    }
                }
            },
            "port" : "",
            "https" : false
        },
        "uniStatistics" : {
            "enable" : false
        },
        "sdkConfigs" : {
            "maps" : {
                "amap" : {
                    "key" : "7fa69abe1defd5888bb85bc736cda874",
                    "securityJsCode" : "8ac9e5f522c62ed6e3a5800a87b0d140",
                    "serviceHost" : ""
                }
            }
        },
        "unipush" : {
            "enable" : false
        }
    },
    "uniStatistics" : {
        "enable" : false
    },
    "mp-qq" : {
        "uniStatistics" : {
            "enable" : false
        }
    }
}
    "name": "荆楚水库",
    "appid": "__UNI__EB167C0",
    "description": "",
    "versionName": "1.0.10",
    "versionCode": 104,
    "transformPx": false,
    /* 5+App特有相关 */
    "app-plus": {
        "compatible": {
            "ignoreVersion": true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持
        },
        "safearea": {
            "bottom": {
                "offset": "none"
            }
        },
        "usingComponents": true,
        "nvueCompiler": "uni-app",
        "compilerVersion": 3,
        "splashscreen": {
            "alwaysShowBeforeRender": false,
            "waiting": false,
            "autoclose": false,
            "delay": 0
        },
        /* 模块配置 */
        "modules": {
            "VideoPlayer": {},
            "Camera": {},
            "Geolocation": {},
            "Push": {},
            "Maps": {}
        },
        /* 应用发布信息 */
        "distribute": {
            /* android打包配置 */
            "android": {
                "permissions": [
                    "<uses-feature android:name=\"android.hardware.camera\"/>",
                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_MOCK_LOCATION\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
                    "<uses-permission android:name=\"android.permission.INTERNET\"/>",
                    "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
                    "<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>",
                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                ],
                "abiFilters": ["armeabi-v7a", "arm64-v8a"]
            },
            /* ios打包配置 */
            "ios": {
                "dSYMs": false,
                "UIBackgroundModes": "",
                "idfa": false
            },
            /* SDK配置 */
            "sdkConfigs": {
                "ad": {},
                "maps": {
                    "amap": {
                        "appkey_ios": "4bcdf5434597cc9160c9e0168c4a7bc7",
                        "appkey_android": "c21be9bc7343573c28112c4fe272cb41"
                    }
                },
                "geolocation": {
                    "amap": {
                        "__platform__": ["ios", "android"],
                        "appkey_ios": "4bcdf5434597cc9160c9e0168c4a7bc7",
                        "appkey_android": "c21be9bc7343573c28112c4fe272cb41"
                    },
                    "system": {
                        "__platform__": ["ios", "android"]
                    }
                },
                "push": {
                    "unipush": {
                        "offline": true
                    }
                }
            },
            "icons": {
                "android": {
                    "hdpi": "D:/Desktop/hbsl/app/应用图标/72.png",
                    "xhdpi": "D:/Desktop/hbsl/app/应用图标/96.png",
                    "xxhdpi": "D:/Desktop/hbsl/app/应用图标/144.png",
                    "xxxhdpi": "D:/Desktop/hbsl/app/应用图标/192.png"
                },
                "ios": {
                    "appstore": "D:/Desktop/icon/1024x1024bb.png",
                    "iphone": {
                        "app@2x": "D:/Desktop/icon/120.png",
                        "app@3x": "D:/Desktop/icon/180.png",
                        "spotlight@2x": "D:/Desktop/icon/80.png",
                        "spotlight@3x": "D:/Desktop/icon/120.png",
                        "settings@2x": "D:/Desktop/icon/58.png",
                        "settings@3x": "D:/Desktop/icon/87.png",
                        "notification@2x": "D:/Desktop/icon/40.png",
                        "notification@3x": "D:/Desktop/icon/60.png"
                    },
                    "ipad": {
                        "app": "",
                        "app@2x": "",
                        "proapp@2x": "",
                        "spotlight": "",
                        "spotlight@2x": "",
                        "settings": "",
                        "settings@2x": "",
                        "notification": "",
                        "notification@2x": ""
                    }
                }
            },
            "splashscreen": {
                "useOriginalMsgbox": true
            }
        },
        "uniStatistics": {
            "enable": false
        },
        "nativePlugins": {}
    },
    /* 快应用特有相关 */
    "quickapp": {},
    /* 小程序特有相关 */
    "mp-weixin": {
        "appid": "wx1ff4bbc24b343ef1",
        "setting": {
            "urlCheck": false,
            "minified": true,
            "postcss": true,
            "es6": true
        },
        "usingComponents": true,
        "optimization": {
            "subPackages": true
        },
        "uniStatistics": {
            "enable": false
        },
        "requiredPrivateInfos": ["getLocation"],
        "permission": {
            "scope.userLocation": {
                "desc": "定位"
            }
        }
    },
    "mp-alipay": {
        "usingComponents": true,
        "uniStatistics": {
            "enable": false
        }
    },
    "mp-baidu": {
        "usingComponents": true,
        "uniStatistics": {
            "enable": false
        }
    },
    "mp-toutiao": {
        "usingComponents": true,
        "setting": {
            "es6": true,
            "minified": true,
            "postcss": true,
            "urlCheck": false
        },
        "uniStatistics": {
            "enable": false
        }
    },
    "h5": {
        "template": "template.h5.html",
        "router": {
            "mode": "hash",
            "base": "/app"
        },
        "optimization": {
            "treeShaking": {
                "enable": true
            }
        },
        "devServer": {
            "proxy": {
                "/api": {
                    "target": "http://127.0.0.1",
                    //"target" : "https://rider.bladex.vip/api",
                    "pathRewrite": {
                        "^/api": "/"
                    }
                }
            },
            "port": "",
            "https": false
        },
        "uniStatistics": {
            "enable": false
        },
        "sdkConfigs": {
            "maps": {
                "amap": {
                    "key": "7fa69abe1defd5888bb85bc736cda874",
                    "securityJsCode": "8ac9e5f522c62ed6e3a5800a87b0d140",
                    "serviceHost": ""
                }
            }
        },
        "unipush": {
            "enable": false
        }
    },
    "uniStatistics": {
        "enable": false
    },
    "mp-qq": {
        "uniStatistics": {
            "enable": false
        }
    }
}
pages/home/index.vue
@@ -301,7 +301,9 @@
                    title: '-',
                    useSlot: true
                }],
                menuList: []
                menuList: [],
                curHouseCode: ''
            }
        },
@@ -326,7 +328,6 @@
                }
            }
        },
        methods: {
            //初始化
@@ -376,7 +377,7 @@
                    } else {
                        this.curSelectSite = dataList[0];
                    }
                    this.curHouseCode = this.curSelectSite.id
                }
            },
@@ -420,7 +421,8 @@
                console.log('confirm', e)
                this.curSelectSite = e.value[e.value.length - 1]
                this.selectBoxShow = false
                this.getHouseDataList(e.value[1].id)
                this.getHouseDataList(e.value[1]?.id)
                this.curHouseCode = e.value[0].id
                console.log("curSite=>", this.curSelectSite);
            },
            getMenu(menuName, menuList, resultArr) {
@@ -523,7 +525,7 @@
            navTo() {
                this.$u.func.globalNavigator("/subPackage/bs/views/zhsb", "navTo")
                this.$u.func.globalNavigator(`/subPackage/bs/views/zhsb?houseCode=${this.curHouseCode}`, "navTo")
            },
            navigatorPage() {
@@ -567,8 +569,7 @@
                    obj[arr[0]] = arr[1];
                }
                return obj
            }
            },
        }
    }
</script>
subPackage/bs/components/form/rentForm.vue
@@ -1,5 +1,5 @@
<template>
    <u-form :model="form" class="form-box" :rules="rules">
    <u-form :model="form" class="form-box" :rules="rules" ref="refForm">
        <u-form-item class="form-item" label="姓名" required prop="name" labelWidth="80">
            <u-input v-model="form.name" border="none" placeholder="姓名" />
        </u-form-item>
@@ -37,9 +37,21 @@
                        trigger: ['change', 'blur'],
                    }],
                    idCard: [{
                        required: true,
                        message: '请输入身份证号',
                        // 可以单个或者同时写两个触发验证方式
                        required: true,
                        message: '请输入身份证号',
                        // 可以单个或者同时写两个触发验证方式
                        trigger: ['change', 'blur'],
                    }, {
                        // 自定义验证函数,见上说明
                        validator: (rule, value, callback) => {
                            const reg = /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/
                            if (reg.test(value)) {
                                return true
                            }
                            return false
                        },
                        message: '请输入正确的身份证号',
                        // 触发器可以同时用blur和change
                        trigger: ['change', 'blur'],
                    }]
                }
subPackage/bs/components/list/rentList.vue
@@ -11,8 +11,8 @@
            <view class="line">
                <view class="l">{{item.rentalTime}} - {{item.dueTime}}</view>
                <view class="r status">
                    {{item.status}}
                <view class="r status">
                    {{ findObjValue(item.status, status) }}
                </view>
            </view>
@@ -57,10 +57,30 @@
                isPickerShow: false,
                istPickerShow: false,
                currentRentalId: '',
                isModelShow: false
                isModelShow: false,
                status: [
                    {
                        name: '未到期',
                        value: 0
                    },
                    {
                        name: '已到期',
                        value: 1
                    },
                    {
                        name: '已终止',
                        value: 2
                    },
                ]
            }
        },
        methods: {
        methods: {
            findObjValue(value, obj) {
                const res = obj.find(item => {
                    return item.value == value
                })
                return res.name
            },
            deleteRental(item) {
                this.currentRentalId = item.housingRentalId
                this.isModelShow = true
subPackage/bs/views/rentDetail.vue
@@ -3,31 +3,31 @@
        <u-form labelWidth="70" :model="form" :rules="rules" ref="form">
            <view class="basic-info">
                <u-form-item @click="showSelectBus(dataList.relation, '租客关系', 'relationName', 'relation')"
                    class="form-item" labelWidth="100" label="租客关系" required prop="type">
                    class="form-item" labelWidth="100" label="租客关系" required prop="relation">
                    <u--input border="none" v-model="relationName" disabled disabledColor="#ffffff" placeholder="请选择">
                    </u--input>
                    <u-icon slot="right" name="arrow-right"></u-icon>
                </u-form-item>
                <u-form-item @click="showSelectBus(dataList.houseType, '房屋状态', 'houseTypeName', 'houseType')"
                    class="form-item" labelWidth="100" label="房屋状态:" required prop="type">
                    class="form-item" labelWidth="100" label="房屋状态:" required prop="houseType">
                    <u--input border="none" v-model="houseTypeName" disabled disabledColor="#ffffff" placeholder="请选择">
                    </u--input>
                    <u-icon slot="right" name="arrow-right"></u-icon>
                </u-form-item>
                <u-form-item @click="showSelectBus(dataList.rentalUse, '租房用途', 'rentalUseName', 'rentalUse')"
                    class="form-item" labelWidth="100" label="租房用途:" required prop="type">
                    class="form-item" labelWidth="100" label="租房用途:" required prop="rentalUse">
                    <u--input border="none" v-model="rentalUseName" disabled disabledColor="#ffffff" placeholder="请选择">
                    </u--input>
                    <u-icon slot="right" name="arrow-right"></u-icon>
                </u-form-item>
                <u-form-item @click="rentTimeShow = true" class="form-item" labelWidth="100" label="租房时间:" required
                    prop="type">
                    prop="rentTime">
                    <u--input border="none" v-model="form.rentTime" disabled disabledColor="#ffffff" placeholder="请选择">
                    </u--input>
                    <u-icon slot="right" name="arrow-right"></u-icon>
                </u-form-item>
                <u-form-item @click="dueTimeShow = true" class="form-item" labelWidth="100" label="到期时间:" required
                    prop="type">
                    prop="dueTime">
                    <u--input border="none" v-model="form.dueTime" disabled disabledColor="#ffffff" placeholder="请选择">
                    </u--input>
                    <u-icon slot="right" name="arrow-right"></u-icon>
@@ -48,8 +48,8 @@
                            <view class="line"></view>
                            <view class="title">{{ '租客信息-#' + item }}</view>
                        </view>
                        <view class="r" v-if="index === 1">
                            <u-icon name="trash-fill" color="#ff0000" size="20" @click="decRentForm"></u-icon>
                        <view class="r" v-if="item > 1">
                            <u-icon name="trash-fill" color="#ff0000" size="20" @click="decRentForm(index)"></u-icon>
                        </view>
                    </view>
                    <rentForm ref="rentform" />
@@ -65,9 +65,9 @@
            :popupTitle="selectBusTitle" :dataLists="selectBusList" @cancel="typeShow = false" @submit="typeSelect">
        </select-bus>
        <!--出租时间选择-->
        <u-datetime-picker :show="rentTimeShow" mode="date" @confirm="rentTimeConfirm"
        <u-datetime-picker :closeOnClickOverlay="true" @close="rentTimeShow = false" :show="rentTimeShow" mode="date" @confirm="rentTimeConfirm"
            @cancel="rentTimeShow = false"></u-datetime-picker>
        <u-datetime-picker :show="dueTimeShow" mode="date" @confirm="dueTimeConfirm"
        <u-datetime-picker :closeOnClickOverlay="true" @close="dueTimeShow = false" :show="dueTimeShow" mode="date" @confirm="dueTimeConfirm"
            @cancel="dueTimeShow = false"></u-datetime-picker>
        <view class="bottom-tools">
@@ -103,13 +103,35 @@
        },
        data() {
            return {
                currentRole: '',
                form: {
                    relation: "",
                    rentTime: "",
                    dueTime: "",
                },
                imagesList: [],
                rules: {},
                rules: {
                    relation: [{
                        required: true,
                        message: '请选择租客关系'
                    }],
                    houseType: [{
                        required: true,
                        message: '请选择房屋状态'
                    }],
                    rentalUse: [{
                        required: true,
                        message: '请选择房屋用途'
                    }],
                    rentTime: [{
                        required: true,
                        message: '请选择租房时间'
                    }],
                    dueTime: [{
                        required: true,
                        message: '请选择到期时间'
                    }]
                },
                rentTimeShow: false,
                dueTimeShow: false,
                rentFormNum: 1,
@@ -175,6 +197,9 @@
            }
        },
        mounted() {
            this.currentRole = uni.getStorageSync("activeRole")
        },
        methods: {
            showSelectBus(data, title, model, key) {
                this.selectBusList = data
@@ -199,22 +224,53 @@
                this.form.dueTime = time
                this.dueTimeShow = false
            },
            beforeUpload(e) {
                console.log(e)
                return false
            async afterReadImg(e) {
                // const formData = new FormData()
                // const { file } = e
                // formData.append('file', file[0])
                // const res = await uploadFile(formData)
            },
            addRentForm() {
                this.rentFormNum++
            },
            decRentForm() {
                this.rentFormNum > 1 && this.rentFormNum--
            decRentForm(i) {
                try{
                    let formData = []
                    this.$refs.rentform.forEach(vc => {
                        formData.push(vc.form)
                    })
                    formData.splice(i, 1)
                    formData.forEach((sform, i) => {
                        this.$refs.rentform[i].form = sform
                    })
                    this.rentFormNum > 1 && this.rentFormNum--
                    uni.showToast({
                        title: "删除成功",
                        icon: "success",
                        duration: 1500
                    })
                }catch(e){
                    uni.showToast({
                        title: "删除失败",
                        icon: "success",
                        duration: 1500
                    })
                }
            },
            saveOrUpdate() {
                if (this.rentId === '') {
                    this.save()
                    return
                }
                this.update()
                this.$refs.form.validate().then(res => {
                    let rentFormValidGroup = []
                    this.$refs.rentform.forEach(item => {
                        rentFormValidGroup.push(item.$refs.refForm.validate());
                    })
                    Promise.all(rentFormValidGroup).then(result => {
                        if (this.rentId === '') {
                            this.save()
                            return
                        }
                        this.update()
                    })
                })
            },
            async save() {
                let houseTenantVOList = []
@@ -225,6 +281,7 @@
                const statusIndex = this.dataList.houseType.findIndex(item => item.name === this.houseTypeName)
                const rentalIndex = this.dataList.rentalUse.findIndex(item => item.name === this.rentalUseName)
                let params = {
                    audit_status: this.currentRole.roleAlias === 'inhabitant' ? 0 : 1,
                    houseCode: this.houseCode,
                    tenantRelationship: this.dataList.relation[relationIndex].value,
                    rentalTime: this.form.rentTime,
@@ -233,8 +290,28 @@
                    rentalUse: this.dataList.rentalUse[rentalIndex].value,
                    houseTenantVOList
                }
                const res = await addHouseRental(params)
                const {
                    code,
                    data
                } = await addHouseRental(params)
                if (code !== 200) {
                    uni.showToast({
                        title: "添加租户信息失败",
                        icon: "error",
                        duration: 1500
                    })
                    return
                }
                uni.showToast({
                    title: "添加租户信息成功",
                    icon: "success",
                    duration: 1500,
                    success: () => {
                        setTimeout(() => {
                            uni.navigateBack()
                        }, 1500)
                    }
                })
            },
            async update() {
                let houseTenantVOList = []
@@ -255,6 +332,24 @@
                    houseTenantVOList
                }
                const res = await updateRetalInfo(data)
                if (res.code !== 200) {
                    uni.showToast({
                        title: "修改租户信息失败",
                        icon: "error",
                        duration: 1500
                    })
                    return
                }
                uni.showToast({
                    title: "修改租户信息成功",
                    icon: "success",
                    duration: 1500,
                    success: () => {
                        setTimeout(() => {
                            uni.navigateBack()
                        }, 1500)
                    }
                })
            },
            findObjValue(value, obj) {
                const res = obj.find(item => {
@@ -286,10 +381,10 @@
                this.relationName = this.findObjValue(tenantRelationship, this.dataList.relation)
                this.houseTypeName = this.findObjValue(houseStatus, this.dataList.houseType)
                this.rentFormNum = houseTenantVOList.length
                this.$nextTick(() => {
                    houseTenantVOList.forEach((item, index) => {
                        this.$refs.rentform[index].form = item
                    })
                this.$nextTick(() => {
                    houseTenantVOList.forEach((item, index) => {
                        this.$refs.rentform[index].form = item
                    })
                })
            }
        }
subPackage/house/roomControl/index.vue
@@ -147,6 +147,7 @@
        },
        onShow() {
            this.getLabelList()
            this.getHouseDetailInfo()
        },
        methods: {
            showLabelPopup(item) {
@@ -163,17 +164,16 @@
            },
            async getHouseDetailInfo() {
                const res = await getHouseDetail()
                const { phone, address, property_price, service_due, image_urls } = res.data
                this.form = {
                    phone,
                    address,
                    property_price,
                    service_due,
                    image_urls: [
                        image_urls
                    ]
                }
                // const { phone, address, property_price, service_due, image_urls } = res.data
                // this.form = {
                //     phone,
                //     address,
                //     property_price,
                //     service_due,
                //     image_urls: [
                //         image_urls
                //     ]
                // }
            },
            async getLabelList() {
                const res = await getHouseLabelList()
subPackage/house/roomDetails/index.vue
@@ -11,7 +11,7 @@
                            {{ houseInfo.unitName }}单元 {{ houseInfo.houseName }}室(共{{ houseInfo.allNum }}人)
                        </view>
                        <view class="flex a-i-c">
                            <u-button @click="pushPage" size='small' shape="circle" type="primary" :plain="true"
                            <u-button @click="rommManage" size='small' shape="circle" type="primary" :plain="true"
                                text="房屋管理"></u-button>
                        </view>
                    </view>
@@ -93,11 +93,11 @@
            <view class="edit-btn">
                <view>
                    <u-button type="primary" text="添加成员"></u-button>
                    <u-button type="primary" text="添加成员" @click="addMember"></u-button>
                </view>
                <view>
                    <u-button type="primary" :plain="true" text="添加租赁信息"></u-button>
                    <u-button type="primary" :plain="true" text="添加租赁信息" @click="addRental"></u-button>
                </view>
            </view>
        </view>
@@ -114,6 +114,7 @@
        data() {
            return {
                currentId: '',
                houseCode: '',
                houseInfo: {
                    // 房间号
                    houseName: '',
@@ -141,15 +142,24 @@
        methods: {
            async getHouseRentInfoList() {
                const res = await getHouseRentInfo(this.currentId)
                if (res.code !== 200) {
                    uni.showToast({
                        title: "数据加载失败",
                        icon: "error",
                        duration: 1500
                    })
                    return
                }
                const {
                    addressCode,
                    aoiName,
                    buildingName,
                    houseName,
                    unitName,
                    houseRentalList,
                    householdList
                } = res.data
                console.log(res.data)
                } = res.data
                this.houseCode = addressCode
                this.rentOutList = houseRentalList
                this.ownerInfoList = householdList
                this.houseInfo.houseName = houseName
@@ -165,12 +175,19 @@
                    // 多人个租客将第一个作为显示
                    item.tenant = item.houseTenantVOList.length > 0 ? item.houseTenantVOList[0].name : ''
                })
                this.houseInfo.allNum = householdList.length
                console.log(res.data)
                this.houseInfo.allNum = householdList.length
            },
            pushPage() {
            rommManage() {
                const url = `/subPackage/house/roomControl/index?code=${this.currentId}`
                this.$u.func.globalNavigator(url, "navTo")
            },
            addRental() {
                const url = `/subPackage/bs/views/rentDetail?houseCode=${this.houseCode}`
                this.$u.func.globalNavigator(url, "navTo")
            },
            addMember() {
                this.$u.func.globalNavigator('/subPackage/house/member/index')
            }
        }
    }
subPackage/workbench/views/cscj.vue
@@ -150,6 +150,7 @@
        getLabelList
    } from "@/api/label/label";
    import {
        getDoorplateAddressDetail,
        getDoorplateAddressList
    } from "@/api/doorplateAddress/doorplateAddress";
    import {
@@ -174,7 +175,7 @@
                    buildingCode: "",
                    label: "",
                    remark: "",
                    imageUrls: [],
                    imageUrls: "",
                },
                rules: {
                    'buildingCode': {
@@ -315,7 +316,9 @@
                },
                activeIds: [],
                showLabelList: []
                showLabelList: [],
                stdId: "",
            }
        },
        watch: {
@@ -323,7 +326,13 @@
                handler(newVal) {
                    this.form.label = newVal.join(",")
                }
            },
            "form.buildingCode": {
                handler(newVal) {
                    console.log(newVal)
                }
            }
        },
        created() {
@@ -332,7 +341,16 @@
        mounted() {
        },
        options: {
            styleIsolation: 'shared', // 解除样式隔离
        },
        onLoad(option) {
            this.stdId = option.stdId
            console.log(this.stdId, "----------")
            if (this.stdId) {
                this.getBuildingDetail()
            }
        },
        onShow() {
@@ -340,6 +358,26 @@
            this.getLocation()
        },
        methods: {
            getBuildingDetail(params = {}) {
                getDoorplateAddressDetail(Object.assign(params, {
                    stdId: this.stdId
                })).then(res => {
                    let data = res.data
                    this.form.buildingCode = data.buildingCode
                    let buildingNameArr = [data.townStreetName, data.neiName, data.streetRuName, data.aoiName,
                        data.buildingName
                    ]
                    let arr = buildingNameArr.filter(e => {
                        return e != null || e != ''
                    })
                    this.form.building = arr.join("")
                })
            },
            //表单提交
            submit() {
@@ -421,7 +459,6 @@
            },
            confirmPicker(e) {
                console.log(e, "--------------------")
                if (e.value[4]) {
                    this.selectValue = e.value
@@ -441,9 +478,7 @@
                    // 微信小程序无法将picker实例传出来,只能通过ref操作
                    picker = this.$refs.uPicker
                } = e
                console.log(e, "/*/*/*")
                let item = e.values[columnIndex][index]
                console.log(item, "-----------")
                //街道
                if (columnIndex === 0) {
                    //获取社区列表
@@ -568,7 +603,7 @@
        .item {
            /deep/ .form-item {
            .form-item {
                background-color: #ffffff;
                padding: 2rpx 10px;
                border-bottom: 1px solid #eff1f3;
@@ -609,6 +644,12 @@
        }
    }
    /deep/ .u-form-item {
        background-color: #ffffff;
        padding: 2rpx 10px;
        border-bottom: 1px solid #eff1f3;
    }
    .red {
        background-color: red;
        border-radius: 10rpx 0rpx 0rpx 10rpx;