Lou
2023-11-10 197f13dbcf007eac8dd9a307aae992df677ea8f6
Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jczz_app
16 files modified
3 files added
860 ■■■■■ changed files
api/houseRental/houseRental.js 8 ●●●●● patch | view | raw | blame | history
api/place/place.js 8 ●●●●● patch | view | raw | blame | history
api/placeExp/placeExp.js 9 ●●●●● patch | view | raw | blame | history
pages.json 2 ●●● patch | view | raw | blame | history
pages/home/index.vue 4 ●●●● patch | view | raw | blame | history
static/icon/blue_floor.png patch | view | raw | blame | history
static/icon/store.png patch | view | raw | blame | history
static/icon/way.png patch | view | raw | blame | history
subPackage/bs/views/rentDetail.vue 94 ●●●● patch | view | raw | blame | history
subPackage/house/houseNumber/index.vue 93 ●●●● patch | view | raw | blame | history
subPackage/house/list/index.vue 26 ●●●●● patch | view | raw | blame | history
subPackage/workbench/components/formItem.vue 8 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/cscj.vue 196 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/cshw.vue 12 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/csjl.vue 14 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/examine.vue 156 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/rental.vue 66 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/report.vue 10 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/reportAudit.vue 154 ●●●●● patch | view | raw | blame | history
api/houseRental/houseRental.js
@@ -75,4 +75,12 @@
        method: 'GET',
        params
    })
}
export const confirmHouseRental = (data) => {
    return http.request({
        url: 'blade-houseRental/houseRental/confirmHouseRental',
        method: 'POST',
        data
    })
}
api/place/place.js
@@ -14,4 +14,12 @@
        method: 'GET',
        params
    })
}
export const getPlaceDetail = (params) => {
    return http.request({
        url: '/blade-place/place/getDetail',
        method: 'GET',
        params
    })
}
api/placeExp/placeExp.js
@@ -24,4 +24,13 @@
        method: 'POST',
        data
    })
}
export const getPlaceDetail = (params) => {
    return http.request({
        url: '/blade-placeExt/placeExt/getDetail',
        method: 'GET',
        params
    })
}
pages.json
@@ -255,7 +255,7 @@
                {
                    "path": "views/reportAudit",
                    "style": {
                        "navigationBarTitleText": "审核",
                        "navigationBarTitleText": "报事报修处理",
                        "enablePullDownRefresh": false,
                        "navigationBarBackgroundColor": "#fff",
                        "navigationBarTextStyle": "black"
pages/home/index.vue
@@ -575,8 +575,8 @@
                        let obj = that.getUrlParams(res.result)
                        console.log(obj)
                        let url = "/subPackage/workbench/views/cscj?stdId=" + obj.stdId
                        console.log(url)
                        // let url = "/subPackage/workbench/views/cscj?stdId=" + obj.stdId
                        let url = "/subPackage/workbench/views/cscj?houseCode=" + obj.stdId
                        that.$u.func.globalNavigator(url, "navTo")
static/icon/blue_floor.png
static/icon/store.png
static/icon/way.png
subPackage/bs/views/rentDetail.vue
@@ -54,6 +54,10 @@
                    </view>
                    <rentForm ref="rentform" />
                </view>
                <view class="addPerson-box">
                    <u-button class="btn-item" color="#2CD5C0" plain style="width: 300rpx;"
                        @click="addRentForm">再加一人</u-button>
                </view>
            </view>
        </u-form>
        <!-- 事件类型下拉框 -->
@@ -69,15 +73,16 @@
            @cancel="dueTimeShow = false"></u-datetime-picker>
        <view class="bottom-tools">
            <u-button class="btn-item" color="#2CD5C0" @click="addRentForm">再加一人</u-button>
            <u-button class="btn-item" type="error" @click="isModelShow = true" v-if="rentId !== ''">删除</u-button>
            <u-button class="btn-item" type="warning" @click=""
                v-if="auditStatus == '0' && currentRole === 'admin'">审核</u-button>
            <u-button class="btn-item" type="success" @click="verify"
            v-if="auditStatus == 0 && currentRole.roleAlias === 'wgy'">确认</u-button>
            <u-button class="btn-item" color="linear-gradient(to right, #06B0FD, #027BFE)"
                @click="saveOrUpdate">{{ rentId === '' ? "保存" : "确认修改" }}</u-button>
        </view>
        <u-modal :show="isModelShow" width="auto" :showCancelButton="true" title="提示" content="请确认是否删除当前租户信息"
        </view>
        <u-modal :show="isModelShow" width="auto" :showCancelButton="true" title="提示" content="请确认是否删除当前租户信息"
            @cancel="isModelShow = false" @confirm="deleteRent"></u-modal>
        <u-picker v-if="isAuditShow" :closeOnClickOverlay="true" @close="isAuditShow = false" :columns="auditColumns"
            :show="isAuditShow" @confirm="verifyConfirm" keyName="name" @cancel="isAuditShow = false"></u-picker>
    </view>
</template>
@@ -91,8 +96,9 @@
    } from "@/api/doorplateAddress/doorplateAddress";
    import {
        addHouseRental,
        updateRetalInfo,
        deleteRentalInfo
        updateRetalInfo,
        deleteRentalInfo,
        confirmHouseRental
    } from '@/api/houseRental/houseRental.js'
    import {
        data
@@ -187,6 +193,18 @@
                        }
                    ]
                },
                isAuditShow: false,
                auditColumns: [
                    [{
                            name: "待确认",
                            status: 0
                        },
                        {
                            name: "已确认",
                            status: 1
                        },
                    ]
                ],
                selectBusList: [],
                selectBusTitle: '',
                selectBusModel: '',
@@ -195,9 +213,9 @@
                houseCode: '',
                rentId: '',
                auditStatus: null,
                currentTime: Number(new Date()),
                isModelShow: false,
                currentTime: Number(new Date()),
                isModelShow: false,
            }
        },
        onLoad(option) {
@@ -213,7 +231,8 @@
            }
        },
        mounted() {
            this.currentRole = uni.getStorageSync("activeRole")
            this.currentRole = uni.getStorageSync("activeRole")
            console.log(this.currentRole);
        },
        methods: {
            showSelectBus(data, title, model, key) {
@@ -339,6 +358,32 @@
                    }
                })
            },
            // 确认操作
            verify() {
                this.isAuditShow = true
            },
            verifyConfirm(e) {
                const auditStatus = e.value[0].status
                confirmHouseRental({
                    id: this.rentId,
                    auditStatus
                }).then(res => {
                    const { code, data } = res
                    if (code !== 200) {
                        uni.showToast({
                            title: "确认失败",
                            icon: 'error'
                        })
                        return
                    }
                    uni.showToast({
                        title: "确认成功",
                        icon: 'success'
                    })
                    this.isAuditShow = false
                    this.getCurrentRentInfo()
                })
            },
            // 更新操作
            async update() {
                let houseTenantVOList = []
@@ -400,7 +445,8 @@
                        houseRentalList
                    }
                } = await getHouseRentInfo(this.houseCode)
                this.auditStatus = houseRentalList.auditStatus
                this.auditStatus = houseRentalList[0].auditStatus
                console.log(this.auditStatus);
                const images = []
                const {
                    houseStatus,
@@ -453,16 +499,16 @@
                    })
                    return
                }
                this.isModelShow = false
                uni.showToast({
                    title: '删除成功',
                    icon: 'success',
                    duration: 1000,
                    complete: () => {
                        setTimeout(() => {
                            uni.navigateBack()
                        }, 1000)
                    }
                this.isModelShow = false
                uni.showToast({
                    title: '删除成功',
                    icon: 'success',
                    duration: 1000,
                    complete: () => {
                        setTimeout(() => {
                            uni.navigateBack()
                        }, 1000)
                    }
                })
            },
        }
@@ -498,6 +544,10 @@
        }
        .rent-info {
            .addPerson-box {
                margin-top: 30rpx;
            }
            .rent-box {
                padding: 20rpx;
                background-color: #ffffff;
subPackage/house/houseNumber/index.vue
@@ -2,9 +2,9 @@
    <view class="container">
        <view class="info-box">
            <box-title title="门牌号信息"></box-title>
            <line-item :list="houseNumberData"></line-item>
            <view class="map">
                <map style="width: 100%; height: 100%;"></map>
            <line-item :list="houseNumberData"></line-item>
            <view class="map">
                <map style="width: 100%; height: 100%;"></map>
            </view>
            <view class="box-title">
                <box-title title="综治网格">
@@ -18,12 +18,12 @@
                </box-title>
            </view>
            <line-item :list="gridData"></line-item>
            <line-item :list="collectData">
                <template #other="{ sdate }">
                    <view style="padding: 20rpx 0;" v-if="sdate.name === 'imageUrls' && sdate.value !== '未完善' ">
                        <u--image :src="sdate.value" width="80px" height="80px" @click="imgPreview(sdate.value)"></u--image>
                    </view>
                </template>
            <line-item :list="collectData">
                <template #other="{ sdate }">
                    <view style="padding: 20rpx 0;" v-if="sdate.name === 'imageUrls' && sdate.value !== '未完善' ">
                        <u--image :src="sdate.value" width="80px" height="80px" @click="imgPreview(sdate.value)"></u--image>
                    </view>
                </template>
            </line-item>
            <view class="box-title">
                <box-title title="公安网格">
@@ -95,44 +95,44 @@
                    }
                ],
                gridData: [{
                        title: '社区名称',
                        title: '社区名称',
                        name: 'neiName',
                        value: '未完善'
                    },
                    {
                        title: '网格名称',
                        title: '网格名称',
                        name: '',
                        value: '未完善'
                    },
                    {
                        title: '网格员',
                        title: '网格员',
                        name: '',
                        value: '未完善'
                    },
                    {
                        title: '联系电话',
                        title: '联系电话',
                        name: '',
                        value: '未完善'
                    }
                ],
                collectData: [{
                        title: '场所照片',
                        name: 'imageUrls',
                        title: '场所照片',
                        name: 'imageUrls',
                        isUseSlot: true,
                        value: '未完善'
                    },
                    {
                        title: '场所负责人',
                        title: '场所负责人',
                        name: 'username',
                        value: '未完善'
                    },
                    {
                        title: '采集人',
                        title: '采集人',
                        name: 'createUser',
                        value: '未完善'
                    },
                    {
                        title: '采集时间',
                        title: '采集时间',
                        name: 'createTime',
                        value: '未完善'
                    },
@@ -211,23 +211,23 @@
                    } else {
                        item.value = data[item.name] || '未完善'
                    }
                })
                this.gridData.forEach(item => {
                    if (!data[item.name]) {
                        item.value = data.place[item.name] || '未完善'
                    } else {
                        item.value = data[item.name] || '未完善'
                    }
                })
                this.collectData.forEach(item => {
                    if (!data[item.name]) {
                        item.value = data.place[item.name] || '未完善'
                    } else {
                        item.value = data[item.name] || '未完善'
                    }
                })
                })
                this.gridData.forEach(item => {
                    if (!data[item.name]) {
                        item.value = data.place[item.name] || '未完善'
                    } else {
                        item.value = data[item.name] || '未完善'
                    }
                })
                this.collectData.forEach(item => {
                    if (!data[item.name]) {
                        item.value = data.place[item.name] || '未完善'
                    } else {
                        item.value = data[item.name] || '未完善'
                    }
                })
                
@@ -235,13 +235,14 @@
                    item.value = data[item.name] || '未完善'
                })
            },
            imgPreview(value) {
                uni.previewImage({
                    urls: [value],
                })
            },
            imgPreview(value) {
                uni.previewImage({
                    urls: [value],
                })
            },
            cscjClick() {
                this.$u.func.globalNavigator('/subPackage/workbench/views/cscj?stdId=' + this.stdId)
                // this.$u.func.globalNavigator('/subPackage/workbench/views/cscj?stdId=' + this.stdId)
                this.$u.func.globalNavigator('/subPackage/workbench/views/cscj?houseCode=' + this.stdId)
            },
            csjlClick() {
                this.$u.func.globalNavigator('/subPackage/workbench/views/csjl?stdId=' + this.stdId)
@@ -258,10 +259,10 @@
            height: calc(100% - 110rpx);
            padding-bottom: 20rpx;
            overflow: auto;
            .map {
                width: 100%;
                height: 240rpx;
                background-color: #fff;
            .map {
                width: 100%;
                height: 240rpx;
                background-color: #fff;
            }
            .box-title {
                padding: 10px 0;
@@ -278,7 +279,7 @@
                        padding: 6rpx;
                        font-size: 25rpx;
                        text-align: center;
                        line-height: 20px;
                        line-height: 20px;
                        font-weight: 700;
                    }
subPackage/house/list/index.vue
@@ -1,10 +1,13 @@
<template>
    <view class="container">
        <view class="header">
            <u-icon name="map" size="32"></u-icon>
        </view>
        <view class="flex f-d-c main">
            <view class="flex house-container">
                <view class="house-list-box" v-if="isShowAoi" v-for="(item, index) in houseList" @click="pushPage(item)">
                    <view class="l">
                        <u-icon name="home" color="#fff"></u-icon>
                        <u-icon name="/static/icon/blue_floor.png"></u-icon>
                    </view>
                    <view class="r">
                        {{item.title}}栋
@@ -37,7 +40,7 @@
            return {
                isShowAoi:false,
                isShowShop:false,
                currentId: '',
                currentId: '',
                curHouseTitle: '',
                houseList: [{
                    title: '-'
@@ -50,9 +53,9 @@
            }
        },
        onLoad(e) {
            const { id, title } = e
            this.currentId = id
            this.curHouseTitle = title
            const { id, title } = e
            this.currentId = id
            this.curHouseTitle = title
            
        },
        onShow() {
@@ -102,7 +105,8 @@
                }else{
                    // 跳转场所页面 addressType == 2
                    console.log(value,8888)
                    let url = `/subPackage/workbench/views/cscj?stdId=${id}`
                    // let url = `/subPackage/workbench/views/cscj?stdId=${id}`
                    let url = `/subPackage/workbench/views/cscj?houseCode=${id}`
                    this.$u.func.globalNavigator(url, "navTo")
                }
            }
@@ -111,17 +115,23 @@
</script>
<style lang="scss" scoped>
    page {
        background-color: #f6f6f6;
    }
    .container {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        background: #F9F9FA;
        font-size: 26rpx;
        .header {
            background-color: #fff;
        }
        .main {
            border: 1px solid red;
            position: relative;
            height: 0;
            flex: 1;
subPackage/workbench/components/formItem.vue
@@ -5,10 +5,10 @@
                <u--input v-model="form.name" border="none"></u--input>
            </u-form-item>
            <u-form-item label="电话号码" class="form-item">
                <u--input v-model="form.phone" border="none"></u--input>
                <u--input v-model="form.telephone" border="none"></u--input>
            </u-form-item>
            <u-form-item label="咱据地" class="form-item">
                <u--input v-model="form.address" border="none"></u--input>
                <u--input v-model="form.tempAddress" border="none"></u--input>
            </u-form-item>
        </u-form>
    </view>
@@ -19,8 +19,8 @@
            return {
                form: {
                    name: '',
                    phone: '',
                    address: ''
                    telephone: '',
                    tempAddress: ''
                },
                rules: {
                    name: {
subPackage/workbench/views/cscj.vue
@@ -5,7 +5,7 @@
                <box-title title="基础信息"></box-title>
            </view>
            <view class="item">
                <u-form-item @click="showPicker = true" class="form-item" labelWidth="100" label="楼栋:"
                <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>
@@ -94,8 +94,9 @@
            <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 class="image" v-if="scope.value !== ''">
                        <u--image @click="imgPreview(scope.value)" width="200rpx" height="200rpx"
                            :src="scope.value"></u--image>
                    </view>
                </template>
            </lineItem>
@@ -127,7 +128,7 @@
        <view class="bottom">
            <view class="btn">
                <u-button @click="submit" type="primary" text="提交"></u-button>
                <u-button @click="submit" type="primary" text="提交" v-if="!currentId"></u-button>
            </view>
        </view>
@@ -159,8 +160,14 @@
        getDoorplateAddressList
    } from "@/api/doorplateAddress/doorplateAddress";
    import {
        getPlaceDetail
    } from '@/api/place/place.js'
    import {
        add
    } from "@/api/place/place";
    import {
        format
    } from "echarts";
    export default {
        mixins: [uploadMixin],
        components: {
@@ -182,8 +189,8 @@
                    buildingCode: "",
                    label: "",
                    remark: "",
                    imageUrls: "",
                    placeName: ""
                    imageUrls: "",
                    placeName: "",
                },
                rules: {
                    'buildingCode': {
@@ -294,7 +301,6 @@
                    ],
                    scene: [{
                            label: "消防照片",
                            value: "",
                            useSlot: "pic",
                        },
                        {
@@ -326,8 +332,8 @@
                activeIds: [],
                showLabelList: [],
                stdId: "",
                houseCode: "",
                currentId: ""
            }
        },
        watch: {
@@ -340,6 +346,9 @@
                handler(newVal) {
                    console.log(newVal)
                }
            },
            showLabelList(newVal) {
                console.log(newVal);
            }
        },
@@ -354,9 +363,13 @@
            styleIsolation: 'shared', // 解除样式隔离
        },
        onLoad(option) {
            this.stdId = option.stdId
            console.log(this.stdId, "----------")
            if (this.stdId) {
            const {
                houseCode,
                id
            } = option
            this.houseCode = houseCode
            this.currentId = id
            if (this.currentId || this.houseCode) {
                this.getBuildingDetail()
            }
@@ -368,48 +381,117 @@
        },
        methods: {
            getBuildingDetail(params = {}) {
                getDoorplateAddressDetail(Object.assign(params, {
                    stdId: this.stdId
                })).then(res => {
                    let data = res.data
                    this.form.buildingCode = data.buildingCode
            // 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 buildingNameArr = [data.townStreetName, data.neiName, data.streetRuName, data.aoiName,
            //             data.buildingName
            //         ]
            //         let arr = buildingNameArr.filter(e => {
            //             return e != null || e != ''
            //         })
            //         // 赋值
            //         // this.form.placeName = data['placeName']
            //         Object.keys(this.form).forEach(key => {
            //             if (!data[key]) {
            //                 this.form[key] = data.place[key]
            //             } else {
            //                 this.form[key] = data[key]
            //             }
            //         })
            //         this.form.building = arr.join("")
            //         Object.keys(this.comprehensiveData).forEach(key => {
            //             this.comprehensiveData[key].forEach(item => {
            //                 if (!data[item.name]) {
            //                     item.value = data.place[item.name] || '未完善'
            //                 } else {
            //                     item.value = data[item.name] || '未完善'
            //                 }
            //             })
            //             this.publicData[key].forEach(item => {
            //                 if (!data[item.name]) {
            //                     item.value = data.place[item.name] || '未完善'
            //                 } else {
            //                     item.value = data[item.name] || '未完善'
            //                 }
            //             })
            //         })
            //     })
            // },
            getBuildingDetail(params = {}) {
                let idorCodeParams = {}
                if (this.houseCode) {
                    idorCodeParams = {
                        houseCode: this.houseCode
                    }
                }
                if (this.currentId) {
                    idorCodeParams = {
                        id: this.currentId
                    }
                }
                getPlaceDetail({
                    ...params,
                    ...idorCodeParams
                }).then(({
                    code,
                    data
                }) => {
                    if (code !== 200) {
                        uni.showToast({
                            title: "数据加载失败",
                            icon: 'error'
                        })
                        return
                    }
                    const dpaEntity = data.doorplateAddressEntity
                    this.form.buildingCode = dpaEntity?.buildingCode
                    let buildingNameArr = [
                        dpaEntity?.townStreetName,
                        dpaEntity?.neiName,
                        dpaEntity?.streetRuName,
                        dpaEntity?.aoiName,
                        dpaEntity?.buildingName
                    ]
                    let arr = buildingNameArr.filter(e => {
                        return e != null || e != ''
                    })
                    // 赋值
                    // this.form.placeName = data['placeName']
                    Object.keys(this.form).forEach(key => {
                        if (!data[key]) {
                            this.form[key] = data.place[key]
                        } else {
                            this.form[key] = data[key]
                        }
                    this.form.placeName = data['placeName']
                    Object.keys(this.form).forEach(key => {
                        this.form[key] = data[key] || data.doorplateAddressEntity[key] || '未完善'
                        if (key === "images") {
                            this.form[key] = []
                        }
                    })
                    this.form.building = arr.join("")
                    Object.keys(this.comprehensiveData).forEach(key => {
                        console.log(key);
                        this.comprehensiveData[key].forEach(item => {
                            item.value = data[item.name] || data.doorplateAddressEntity[item
                                .name] || '未完善'
                        })
                        this.publicData[key].forEach(item => {
                            item.value = data[item.name] || data.doorplateAddressEntity[item
                                .name] || '未完善'
                        })
                    })
                    
                    this.form.building = arr.join("")
                    Object.keys(this.comprehensiveData).forEach(key => {
                        this.comprehensiveData[key].forEach(item => {
                            if (!data[item.name]) {
                                item.value = data.place[item.name] || '未完善'
                            } else {
                                item.value = data[item.name] || '未完善'
                            }
                        })
                        this.publicData[key].forEach(item => {
                            if (!data[item.name]) {
                                item.value = data.place[item.name] || '未完善'
                            } else {
                                item.value = data[item.name] || '未完善'
                            }
                        })
                    data.placePoiLabelVOList.forEach(item => {
                        const label = this.labelList[0].children.find(sl => sl.text === item.labelName)
                        label.isClose = false
                        this.showLabelList.push(label)
                    })
                })
            },
@@ -418,7 +500,7 @@
                const that = this
                this.$refs.form.validate().then(valid => {
                    if (valid) {
                        if (this.form.images.length > 0) {
                        if (this.form?.images?.length > 0) {
                            let urls = []
                            this.form.images.forEach(e => {
                                urls.push(e.name)
@@ -597,11 +679,11 @@
                this.showLabelList = this.showLabelList.filter(e => e.id != label.id)
                this.activeIds = this.activeIds.filter(e => e != label.id)
            },
            imgPreview(value) {
                uni.previewImage({
                    urls: [value],
                })
            },
            imgPreview(value) {
                uni.previewImage({
                    urls: [value],
                })
            },
        }
    }
@@ -666,11 +748,11 @@
            background-color: #ffffff;
            padding: 40rpx 30rpx;
        }
        .image {
            padding: 20rpx;
        }
        .image {
            padding: 20rpx;
        }
        .bottom {
            padding: 20rpx;
            background-color: #ffffff;
subPackage/workbench/views/cshw.vue
@@ -13,7 +13,7 @@
            </view>
        </u-sticky>
        <view class="list">
            <view class="list-item bgc-ff mb-20" v-for="item in siteList" :key="item.id" @click="pushPage(item.id)">
            <view class="list-item bgc-ff mb-20" v-for="item in siteList" :key="item.id" @click="pushPage(item.placeId, item.id)">
                <view class="item-title flex a-i-c j-c-s-b mb-20">
                    <text class="f-32 fw">{{ item.placeName ? item.placeName : '场所信息未完善' }}</text>
                    <!-- <u-tag text="待审批" type="warning" plain plainFill></u-tag> -->
@@ -87,7 +87,8 @@
                const res = await getSiteMaintenanceData({
                    ...params,
                    ...this.pagingParams
                })
                })
                console.log(res);
                const {
                    code,
                    data: {
@@ -128,11 +129,8 @@
                })
                return res
            },
            pushPage(id) {
                const siteData = this.siteList.find(item => item.id === id)
                const siteDataStr = JSON.stringify(siteData)
                // this.$u.func.globalNavigator('/subPackage/workbench/views/examine?id='+id)
                this.$u.func.globalNavigator('/subPackage/workbench/views/examine?siteData='+siteDataStr)
            pushPage(placeId, id) {
                this.$u.func.globalNavigator(`/subPackage/workbench/views/examine?id=${id}&placeId=${placeId}`)
            }
        }
    }
subPackage/workbench/views/csjl.vue
@@ -42,15 +42,15 @@
        data() {
            return {
                tabsList: [{
                        type: 1,
                        type: 0,
                        name: '全部'
                    },
                    {
                        type: 2,
                        type: 1,
                        name: '待完善'
                    },
                    {
                        type: 3,
                        type: 2,
                        name: '已完善'
                    }
                ],
@@ -118,17 +118,15 @@
                this.iptContext = ''
                this.searchConfirm()
            },
            pushPage({
                houseCode
            }) {
                if (!houseCode) {
            pushPage({ id }) {
                if (!id) {
                    uni.showToast({
                        title: "关键参数为空",
                        icon: "error"
                    })
                    return
                }
                let url = "/subPackage/workbench/views/cscj?stdId=" + houseCode
                let url = "/subPackage/workbench/views/cscj?id=" + id
                this.$u.func.globalNavigator(url)
            }
        }
subPackage/workbench/views/examine.vue
@@ -9,21 +9,40 @@
        <view class="licence">
            <box-title title="营业执照" class="box-title"></box-title>
            <view class="info">
                <view class="images-box"></view>
                <view class="images-box">
                    <u-image v-if="imageObj.imageUrls" width="80" height="80" :src="imageObj.imageUrls"
                        @click="preViewImg(imageObj.imageUrls)"></u-image>
                </view>
            </view>
        </view>
        <view class="planegraph">
            <box-title title="场所平面图" class="box-title"></box-title>
            <view class="info">
                <view class="images-box"></view>
                <view class="images-box">
                    <u-image v-if="imageObj.planImageUrl" width="80" height="80" :src="imageObj.planImageUrls"
                        @click="preViewImg(imageObj.planImageUrl)"></u-image>
                </view>
            </view>
        </view>
        <view class="personnel">
            <box-title title="从业人员" class="box-title"></box-title>
            <view class="info">
                <view class="person-box" v-for="(item, index) in personnelData" :key="index">
                <view class="person-box" v-for="(item, index) in placePersonList" :key="item.id">
                    <view class="title">人员信息-#{{ index + 1 }}</view>
                    <line-item :data-info="item"></line-item>
                    <view class="info-box">
                        <view class="content">
                            <text>姓名</text>
                            <text>{{ item.name || '未完善' }}</text>
                        </view>
                        <view class="content">
                            <text>电话号码</text>
                            <text>{{ item.telephone || '未完善' }}</text>
                        </view>
                        <view class="content">
                            <text>暂住地</text>
                            <text>{{ item.tempAddress || '未完善' }}</text>
                        </view>
                    </view>
                </view>
            </view>
        </view>
@@ -33,7 +52,7 @@
                <u-form labelWidth="70" :model="form" ref="form" class="form">
                    <u-form-item label="审核状态" @click="isPickerShow = true" class="form-item">
                        <u--input v-model="form.confirmFlag" disabled disabledColor="#ffffff" placeholder="请选择审核状态"
                            border="none"></u--input>
                            border="none" :placeholder="this.defaultPlaceholder"></u--input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
                    </u-form-item>
                    <u-form-item label="备注" class="form-item">
@@ -45,7 +64,7 @@
        <view class="bottom-btn">
            <u-button type="primary" @click="submit">提交审核</u-button>
        </view>
        <u-picker :closeOnClickOverlay="true" @close="isPickerShow = false" :show="isPickerShow" ref="uPicker"
        <u-picker :defaultIndex="[this.defaultColumns]" :closeOnClickOverlay="true" @close="isPickerShow = false" :show="isPickerShow" ref="uPicker"
            :columns="columns" keyName="name" @cancel="isPickerShow = false" @confirm="handleConfirm"></u-picker>
    </view>
</template>
@@ -54,7 +73,8 @@
    import boxTitle from '@/components/boxTitle/index.vue'
    import lineItem from '../components/lineItem.vue'
    import {
        checkPlaceExtData
        checkPlaceExtData,
        getPlaceDetail
    } from '@/api/placeExp/placeExp.js'
    export default {
        components: {
@@ -64,44 +84,34 @@
        data() {
            return {
                basicData: [{
                        label: '场所名称',
                        label: '场所名称',
                        name: "placeName",
                        value: '未完善'
                    },
                    {
                        label: '法人信息',
                        label: '法人信息',
                        name: 'legalPerson',
                        value: '未完善'
                    },
                    {
                        label: '法人电话',
                        label: '法人电话',
                        name: 'legalTel',
                        value: '未完善'
                    },
                    {
                        label: '场所位置',
                        label: '场所位置',
                        name: 'localtion',
                        value: '未完善'
                    },
                ],
                personnelData: [
                    [{
                            label: '姓名',
                            value: '未完善',
                        },
                        {
                            label: '电话号码',
                            value: '未完善',
                        },
                        {
                            label: '暂住地',
                            value: '未完善',
                        }
                    ]
                ],
                placePersonList: [],
                form: {
                    confirmFlag: '待审核',
                    confirmFlag: '',
                    confirmNotion: ''
                },
                imageObj: {
                    imageUrls: '',
                    planImageUrls: ''
                },
                isPickerShow: false,
                columns: [
@@ -119,26 +129,53 @@
                        },
                    ]
                ],
                currentId: '',
                currentData: {}
                currentData: {
                    placeId: '',
                    id: ''
                },
                defaultColumns: 0,
                defaultPlaceholder: ''
            }
        },
        onLoad(option) {
            // const {
            //     id
            // } = option
            // this.currentId = id
            const { siteData } = option
            this.currentData = JSON.parse(siteData)
            const {
                placeId,
                id
            } = option
            this.currentData = {
                placeId,
                id
            }
        },
        onShow() {
            this.setDefaultValue()
        },
        methods: {
            setDefaultValue() {
                this.basicData.forEach(item => {
                    item.value = this.currentData[item.name]
        methods: {
            async setDefaultValue() {
                const {
                    code,
                    data
                } = await getPlaceDetail({
                    placeId: this.currentData.placeId
                })
                if (code !== 200) {
                    uni.showToast({
                        title: '数据请求失败',
                        icon: "error"
                    })
                    return
                }
                Object.keys(this.imageObj).forEach(key => {
                    this.imageObj[key] = data[key]
                })
                this.basicData.forEach(item => {
                    item.value = data[item.name] || '未完善'
                })
                console.log(data);
                let columns = this.columns[0]
                this.defaultColumns = columns.findIndex(item => item.status == data.confirmFlag)
                this.defaultPlaceholder = columns[this.defaultColumns].name
                this.placePersonList = data.placePractitioner
            },
            async checkPlaceExt(data) {
                const res = await checkPlaceExtData(data)
@@ -149,11 +186,25 @@
                    })
                    return
                }
                uni.navigateBack()
                uni.showToast({
                    title: '审核成功',
                    icon: 'success',
                    duration: 1500,
                    complete() {
                        setTimeout(() => {
                            uni.navigateBack()
                        }, 1500)
                    }
                })
            },
            handleConfirm(e) {
                this.form.confirmFlag = e.value[0].name
                this.isPickerShow = false
            },
            preViewImg(url) {
                uni.previewImage({
                    urls: [url], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
                })
            },
            submit() {
                const {
@@ -168,12 +219,12 @@
                    confirmNotion
                })
                this.checkPlaceExt(data)
            },
            findObjValue(value, obj) {
                const res = obj.find(item => {
                    return item.name == value
                })
                return res
            },
            findObjValue(value, obj) {
                const res = obj.find(item => {
                    return item.name == value
                })
                return res
            },
        }
    }
@@ -192,8 +243,6 @@
        }
        .info {
            .title {
                font-size: 30rpx;
                padding-left: 10rpx;
@@ -204,6 +253,17 @@
                min-height: 100rpx;
                background-color: #fff;
            }
            .info-box {
                .content {
                    font-size: 30rpx;
                    border-bottom: 1rpx solid #f6f6f6;
                    display: flex;
                    justify-content: space-between;
                    background-color: #fff;
                    padding: 20rpx;
                }
            }
        }
        .form {
subPackage/workbench/views/rental.vue
@@ -67,7 +67,6 @@
<script>
    import {
        getRentalHouseContent,
        getPage,
        getStatistics
    } from '@/api/houseRental/houseRental.js'
    export default {
@@ -86,10 +85,10 @@
                            name: '审核通过',
                            value: '1'
                        },
                        {
                            name: '审核不通过',
                            value: '2'
                        },
                        // {
                        //     name: '审核不通过',
                        //     value: '2'
                        // },
                        {
                            name: '未到期',
                            value: '10'
@@ -130,6 +129,7 @@
                    current: 1,
                    size: 10
                },
                selectParams: {},
                tenantStatus: [{
                        name: '未到期',
                        value: 0
@@ -160,7 +160,6 @@
        },
        onLoad() {
            this.getStatistics()
            this.getList()
        },
        onShow() {
            this.tenantList = []
@@ -179,24 +178,31 @@
                    params = {
                        auditStatus: auditStatus[0].value
                    }
                }
                if (floor[0].value !== '') {
                    params = {
                        ...params,
                        floor: floor[0].value
                    }
                }
                this.getRentalHouseInfo(params)
                if (floor[0].value !== '') {
                    params = {
                        ...params,
                        floor: floor[0].value
                    }
                }
                this.selectParams = params
                this.getRentalHouseInfo()
                this.getStatistics(auditStatus[0].value)
                // 回到顶部,避免触发触底加载
                uni.pageScrollTo({
                    scrollTop: 0, // 滚动到页面的目标位置(单位px)
                });
            },
            getStatistics() {
                getStatistics().then(res => {
            getStatistics(auditStatus = '') {
                let params = {}
                if (auditStatus) {
                    params = {
                        auditStatus
                    }
                }
                getStatistics(params).then(res => {
                    console.log(res, "+------------")
                    this.statistics = res.data
                })
            },
            getList() {
                getPage(this.query).then(res => {
                    console.log(res)
                })
            },
            findObjValue(value, obj) {
@@ -215,7 +221,7 @@
                } = await getRentalHouseContent({
                    tenantName: this.keyword,
                    ...this.pagingParams,
                    ...params
                    ...this.selectParams
                })
                if (code !== 200) {
                    uni.showToast({
@@ -227,12 +233,12 @@
                this.tenantList = [...this.tenantList, ...records]
                this.loadingStatus = 'nomore'
            },
            search() {
            search() {
                this.resetParams()
                this.getRentalHouseInfo()
            },
            clear() {
                this.keyword = ''
                this.keyword = ''
                this.resetParams()
                this.search()
            },
@@ -241,13 +247,13 @@
                id
            }) {
                this.$u.func.globalNavigator(`/subPackage/bs/views/rentDetail?houseCode=${houseCode}&id=${id}`)
            },
            resetParams() {
                this.tenantList = []
                this.pagingParams = {
                    current: 1,
                    size: 10
                }
            },
            resetParams() {
                this.tenantList = []
                this.pagingParams = {
                    current: 1,
                    size: 10
                }
            }
        }
    }
subPackage/workbench/views/report.vue
@@ -13,10 +13,10 @@
            </view>
        </u-sticky>
        <view class="list">
            <view class="list-item bgc-ff mb-20" v-for="item in reportList" :key="item.id" @click="pushPage(item.id)">
            <view class="list-item bgc-ff mb-20" v-for="item in reportList" :key="item.id" @click="pushPage(item)">
                <view class="item-title flex a-i-c j-c-s-b mb-20">
                    <text class="f-32 fw">{{ findObjValue(item.type, typeList, 'type').name }}</text>
                    <u-tag class="u_tag" size="mini" plain plainFill :text="findObjValue(item.status, tabList, 'status').name" :type="findObjValue(item.status, tabList, 'status').type"></u-tag>
                    <u-tag class="u_tag" size="mini" plain plainFill :text="findObjValue(item.confirmFlag, tabList, 'status').name" :type="findObjValue(item.confirmFlag, tabList, 'status').type"></u-tag>
                </view>
                <view class="item-row flex a-i-c j-c-s-b">
                    <text class="f-28">姓名</text>
@@ -150,8 +150,10 @@
                })
                return res
            },
            pushPage(id) {
                this.$u.func.globalNavigator('/subPackage/workbench/views/reportAudit?id='+id)
            pushPage(item) {
                const data = JSON.stringify(item)
                // this.$u.func.globalNavigator('/subPackage/workbench/views/reportAudit?id='+id)
                this.$u.func.globalNavigator('/subPackage/workbench/views/reportAudit?data='+data)
            }
        }
    }
subPackage/workbench/views/reportAudit.vue
@@ -15,7 +15,7 @@
                <view class="text">事件照片</view>
            </view>
            <view class="pic-data">
                <u-image class="img" v-for="i in 1" src="" width="80" height="80"></u-image>
                <u-image class="img" :src="imgUrls" width="80" height="80"></u-image>
            </view>
        </view>
        <view class="audit-box">
@@ -27,7 +27,7 @@
                <u-form labelWidth="70" :model="form" class="form" ref="form">
                    <u-form-item label="事件状态" @click="isPickerShow = true" class="form-item">
                        <u--input v-model="form.confirmFlag" disabled disabledColor="#ffffff" placeholder="请选择审核状态"
                            border="none"></u--input>
                            border="none" :placeholder="defaultPlaceholder"></u--input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
                    </u-form-item>
                    <u-form-item label="备注" class="form-item">
@@ -39,14 +39,16 @@
        <view class="bottom">
            <u-button type="primary" @click="submit">提交处理</u-button>
        </view>
        <u-picker :closeOnClickOverlay="true" @close="isPickerShow = false" :show="isPickerShow" ref="uPicker"
        <u-picker :defaultIndex="[defaultColums]" :closeOnClickOverlay="true" @close="isPickerShow = false" :show="isPickerShow" ref="uPicker"
            :columns="columns" keyName="name" @cancel="isPickerShow = false" @confirm="handleConfirm"></u-picker>
    </view>
</template>
<script>
    import lineItem from '../components/lineItem.vue'
    import { checkReportForRepairsData } from '@/api/task/taskReportForRepairs.js'
    import lineItem from '../components/lineItem.vue'
    import {
        checkReportForRepairsData
    } from '@/api/task/taskReportForRepairs.js'
    export default {
        components: {
            lineItem
@@ -54,31 +56,61 @@
        data() {
            return {
                basicData: [{
                        label: '当前位置',
                        label: '当前位置',
                        name: 'address',
                        value: '未完善'
                    },
                    {
                        label: '业主',
                        label: '业主',
                        name: 'realName',
                        value: '未完善'
                    },
                    {
                        label: '手机号码',
                        label: '手机号码',
                        name: 'phone',
                        value: '未完善'
                    },
                    {
                        label: '事件类型',
                        label: '事件类型',
                        name: 'type',
                        value: '未完善'
                    },
                    {
                        label: '事件描述',
                        label: '事件描述',
                        name: 'confirmNotion',
                        value: '未完善'
                    }
                ],
                typeList: [{
                        name: "公共维修",
                        type: 1
                    },
                    {
                        name: "居家维修",
                        type: 2
                    },
                    {
                        name: "矛盾纠纷",
                        type: 3
                    },
                    {
                        name: "投诉举报",
                        type: 4
                    },
                    {
                        name: "企业商户上报",
                        type: 5
                    }
                ],
                form: {
                    confirmFlag: '待审核',
                    confirmFlag: '',
                    confirmNotion: ''
                },
                defaultPlaceholder: "",
                defaultColums: 0,
                imgUrls: '',
                currentId: '',
                defaultData: {},
                isPickerShow: false,
                columns: [
                    [{
@@ -96,52 +128,76 @@
                    ]
                ]
            }
        },
        onLoad(option) {
            const { id } = option
            this.currentId = id
        },
        methods: {
            async checkReportForRepairs() {
                const { confirmFlag, confirmNotion } = this.form
                const res = await checkReportForRepairsData({
                    id: this.currentId,
                    confirmFlag: this.findObjValue(confirmFlag, this.columns[0]).status,
                    confirmNotion
                })
                if (res.code !== 200) {
                    uni.showToast({
                        title: "提交处理失败",
                        icon: "error"
                    })
                    return
                }
                uni.showToast({
                    title: "处理事件成功",
                    icon: "success",
                    duration: 1500,
                    complete() {
                        setTimeout(() =>{
                            uni.navigateBack()
                        }, 1500)
        onLoad(option) {
            // const { id } = option
            // this.currentId = id
            const {
                data
            } = option
            this.defaultData = JSON.parse(data)
        },
        onShow() {
            this.setDefaultValue()
        },
        methods: {
            async checkReportForRepairs() {
                const {
                    confirmFlag,
                    confirmNotion
                } = this.form
                const res = await checkReportForRepairsData({
                    // id: this.currentId,
                    id: this.defaultData.id,
                    confirmFlag: this.findObjValue(confirmFlag, this.columns[0], 'name').status,
                    confirmNotion
                })
                if (res.code !== 200) {
                    uni.showToast({
                        title: "提交处理失败",
                        icon: "error"
                    })
                    return
                }
                uni.showToast({
                    title: "处理事件成功",
                    icon: "success",
                    duration: 1500,
                    complete() {
                        setTimeout(() => {
                            uni.navigateBack()
                        }, 1500)
                    }
                })
            },
            setDefaultValue() {
                console.log(this.defaultData);
                this.basicData.forEach(item => {
                    item.value = this.defaultData[item.name] || '未完善'
                    if (item.name === 'type') {
                        item.value = this.findObjValue(item.value, this.typeList, 'type').name || '未完善'
                    }
                })
                this.imgUrls = this.defaultData.imgUrls
                let columns = this.columns[0]
                this.defaultColums = columns.findIndex(item => item.status == this.defaultData.confirmFlag)
                this.defaultPlaceholder = columns[this.defaultColums].name
            },
            submit() {
                this.checkReportForRepairs()
            submit() {
                this.checkReportForRepairs()
            },
            handleConfirm(e) {
                this.form.confirmFlag = e.value[0].name
                this.isPickerShow = false
            },
            findObjValue(value, obj) {
                const res = obj.find(item => {
                    return item.name == value
                })
                return res
            },
            findObjValue(value, obj, word) {
                const res = obj.find(item => {
                    return item[word] == value
                })
                return res
            },
        }
    }