shuishen
2026-01-05 2a02f296463b773973762d8de5f1edb3e1bec70f
用水数据、维修基金接口对接,数据展示
6 files modified
326 ■■■■■ changed files
src/api/dept/index.js 42 ●●●● patch | view | raw | blame | history
src/api/dept/newIndex.js 4 ●●●● patch | view | raw | blame | history
src/styles/media/index.scss 5 ●●●●● patch | view | raw | blame | history
src/views/house/components/maintain.vue 29 ●●●●● patch | view | raw | blame | history
src/views/house/components/useWater.vue 216 ●●●● patch | view | raw | blame | history
src/views/house/index.vue 30 ●●●●● patch | view | raw | blame | history
src/api/dept/index.js
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-11-30 15:18:29
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2026-01-05 22:33:06
 * @LastEditTime: 2026-01-05 23:16:33
 * @FilePath: \srs-police-affairs\src\api\dept\index.js
 * @Description:
 *
@@ -45,11 +45,11 @@
 */
export const getResidentialQuartersInfo = (area_id, adcode) => {
    return request({
        // url: '/sf3d/area/info',
        url: '/data/getResidentialQuartersInfo.json',
        url: '/sf3d/area/info',
        // url: '/data/getResidentialQuartersInfo.json',
        method: 'get',
        authorization: false,
        // requestBaseUrl: 'fengt',
        requestBaseUrl: 'fengt',
        params: {
            area_id,
            adcode
@@ -66,11 +66,11 @@
export const getAoiByPt = (lng, lat, height, adcode, tolerance) => {
    return request({
        // url: '/sf3d/area/getAoiByPt',
        // url: '/sf3d/area/stdgetAoiByPt',
        url: '/data/getAoiByBgId.json',
        url: '/sf3d/area/stdgetAoiByPt',
        // url: '/data/getAoiByBgId.json',
        method: 'get',
        authorization: false,
        // requestBaseUrl: 'fengt',
        requestBaseUrl: 'fengt',
        params: {
            lng,
            lat,
@@ -106,11 +106,11 @@
export const getHouses = (build_id, adcode) => {
    return request({
        // url: '/sf3d/build/houses',
        // url: '/sf3d/build/stdhouses',
        url: '/data/huafu15d.json',
        url: '/sf3d/build/stdhouses',
        // url: '/data/huafu15d.json',
        method: 'get',
        authorization: false,
        // requestBaseUrl: 'fengt',
        requestBaseUrl: 'fengt',
        params: {
            build_id,
            adcode
@@ -126,8 +126,8 @@
 */
export const getSearchExtensively = (ak, region, query, ids) => {
    return request({
        // url: '/zhs/bs/search',
        url: '/data/jingzuo.json',
        url: '/zhs/bs/search',
        // url: '/data/jingzuo.json',
        method: 'get',
        requestBaseUrl: 'fengtDS',
        params: {
@@ -146,10 +146,10 @@
 */
export const getSearchExtensivelyPage = (ak, region, query, page_num, page_size) => {
    return request({
        // url: '/zhs/bs/search',
        url: '/data/jingzuo.json',
        url: '/zhs/bs/search',
        // url: '/data/jingzuo.json',
        method: 'get',
        // requestBaseUrl: 'fengtDS',
        requestBaseUrl: 'fengtDS',
        params: {
            ak,
            region,
@@ -167,15 +167,15 @@
 */
export const getSearchExtensivelyBgAoiDeepdata = (ak, region, ids, infos) => {
    return request({
        // url: '/zhs/bs/search',
        url: '/zhs/bs/search',
        // url: '/data/汇成观邸.json',
        // url: '/data/search.json',
        url: '/data/阳光小区独栋.json',
        // url: '/data/阳光小区独栋.json',
        // url: '/data/search汇杰小区.json',
        // url: '/data/汪家园林家小区id详情搜.json',
        // url: '/data/search三江星座.json',
        method: 'get',
        // requestBaseUrl: 'fengtDS',
        requestBaseUrl: 'fengtDS',
        params: {
            ak,
            region,
@@ -192,13 +192,13 @@
 */
export const getSearchExtensivelyHousesdata = (ak, region, ids, infos) => {
    return request({
        // url: '/zhs/bs/search',
        url: '/data/汇成观邸-户室.json',
        url: '/zhs/bs/search',
        // url: '/data/汇成观邸-户室.json',
        // url: '/data/阳光小区独栋.json',
        // url: '/data/search汇杰小区1栋.json',
        // url: '/data/汪家园林家小区2号id详情搜.json',
        method: 'get',
        // requestBaseUrl: 'fengtDS',
        requestBaseUrl: 'fengtDS',
        params: {
            ak,
            region,
src/api/dept/newIndex.js
@@ -361,7 +361,7 @@
    return request({
        url: '/api/zlsYhxx/zlsYhxx/page',
        method: 'get',
        // params
        params
    })
}
@@ -385,6 +385,6 @@
    return request({
        url: '/api/wxjj/wxjj/page',
        method: 'get',
        // params
        params
    })
}
src/styles/media/index.scss
@@ -2044,6 +2044,11 @@
                                            flex-direction: column;
                                            height: 100%;
                                            .message-btn {
                                                margin: countSizeVh(8) 0;
                                                width: countSizeVw(96, 1920);
                                            }
                                            .el-table {
                                                height: 0;
                                                flex: 1;
src/views/house/components/maintain.vue
@@ -7,20 +7,25 @@
                :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" v-loading="residentLoading"
                element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
                element-loading-background="rgba(17, 38, 163, 1)" :empty-text="residentNoDataText"
                :data="dataList.records" style="width: 100%" @cell-click="cellClick">
                :data="dataList.records" style="width: 100%">
                <!-- 包含了姓名、性别、民族、身份证号码、手机号、现居住地、岗位、从业人员照片等。 -->
                <el-table-column align="center" prop="name" label="姓名" width="100"> </el-table-column>
                <el-table-column align="center" prop="gender" label="性别" width="70">
                    <template slot-scope="scope">
                        {{ scope.row.gender == 1 ? '男' : '女' }}
                    </template>
                <el-table-column align="center" prop="wxzjHouseId" label="住建房屋ID" width="96"> </el-table-column>
                <el-table-column align="center" prop="wxzjDistrictName" label="住建小区名称" width="100"
                    show-overflow-tooltip> </el-table-column>
                <el-table-column align="center" prop="wxzjBuilding" label="住建楼栋" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="ethnicity" label="民族" width="70"> </el-table-column>
                <el-table-column align="center" prop="idCard" label="身份证号码"> </el-table-column>
                <el-table-column align="center" prop="telephone" label="手机号"> </el-table-column>
                <el-table-column align="center" prop="location" show-overflow-tooltip label="现居住地"> </el-table-column>
                <el-table-column align="center" prop="name" label="岗位" width="80px"> </el-table-column>
                <el-table-column align="center" prop="wxzjUnit" label="住建单元" width="80" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="wxzjHouseNumber" label="住建房号" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="ownerName" label="业主姓名" width="80" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="ownerIdCard" label="业主证件号码" width="100" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="ownerPhone" label="业主手机号码" width="100" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="maintenanceBalance" label="维修资金余额" width="100"
                    show-overflow-tooltip> </el-table-column>
            </el-table>
        </div>
src/views/house/components/useWater.vue
@@ -2,172 +2,57 @@
<template>
    <div class="table-box-w">
        <div class="list-box">
            <el-button class="message-btn" type="primary" size="mini" :disabled="false">用户信息</el-button>
            <el-table
                :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }"
                :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" v-loading="residentLoading"
                element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
                element-loading-background="rgba(17, 38, 163, 1)" :empty-text="residentNoDataText"
                :data="dataList.records" style="width: 100%" @cell-click="cellClick">
                :data="dataList.records" style="width: 100%">
                <!-- 包含了姓名、性别、民族、身份证号码、手机号、现居住地、岗位、从业人员照片等。 -->
                <el-table-column align="center" prop="name" label="姓名" width="100"> </el-table-column>
                <el-table-column align="center" prop="gender" label="性别" width="70">
                    <template slot-scope="scope">
                        {{ scope.row.gender == 1 ? '男' : '女' }}
                    </template>
                <el-table-column align="center" prop="yhbh" label="用户编号" width="100"> </el-table-column>
                <el-table-column align="center" prop="yhmc" label="用户名称" width="80" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="ethnicity" label="民族" width="70"> </el-table-column>
                <el-table-column align="center" prop="idCard" label="身份证号码"> </el-table-column>
                <el-table-column align="center" prop="telephone" label="手机号"> </el-table-column>
                <el-table-column align="center" prop="location" show-overflow-tooltip label="现居住地"> </el-table-column>
                <el-table-column align="center" prop="name" label="岗位" width="80px"> </el-table-column>
                <el-table-column align="center" prop="yhsj" label="用户手机" width="100" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="zjhm" label="证件号码" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="yhdz" label="用户地址" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="khrq" label="开户日期" width="96" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="dkyh" label="代扣银行" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="yhkh" label="银行卡号" show-overflow-tooltip>
                </el-table-column>
            </el-table>
            <el-button class="message-btn" type="primary" size="mini" :disabled="false">用水信息</el-button>
            <el-table
                :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }"
                :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" v-loading="residentLoading"
                element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
                element-loading-background="rgba(17, 38, 163, 1)" :empty-text="residentNoDataText"
                :data="dataList.records" style="width: 100%">
                <!-- 包含了姓名、性别、民族、身份证号码、手机号、现居住地、岗位、从业人员照片等。 -->
                <el-table-column align="center" prop="yhbh" label="用户编号" width="100"> </el-table-column>
                <el-table-column align="center" prop="yhmc" label="用户名称" width="80" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="yhsj" label="用户手机" width="100" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="zjhm" label="证件号码" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="yhdz" label="用户地址" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="khrq" label="开户日期" width="96" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="dkyh" label="代扣银行" show-overflow-tooltip>
                </el-table-column>
                <el-table-column align="center" prop="yhkh" label="银行卡号" show-overflow-tooltip>
                </el-table-column>
            </el-table>
        </div>
        <!-- 详情页面 -->
        <el-dialog class="resident-details-box-details" :modal="false" :close-on-click-modal="false"
            :append-to-body="true" :visible.sync="detailBox">
            <div class="detail-box">
                <!-- popelList[0]  详情页面 包含了姓名、性别、民族、身份证号码、手机号、现居住地、岗位、从业人员照片等-->
                <div class="detail-title-box">
                    <div class="detail-title">从业人员详情</div>
                    <div class="close" @click="detailBox = false" title="关闭"></div>
                </div>
                <div class="detail-content-box">
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">场所名称</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.placeName }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">场所负责人</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.principal }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">负责人电话</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.principalPhone }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">场所地址</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="">{{ row.location }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">姓名</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.name }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">性别</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.gender == 1 ? '男' : '女' }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">民族</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.ethnicity }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">身份证号码</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.idCard }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">手机号</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.telephone }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">现居住地</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.tempAddress }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">岗位</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.jobNature }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">入职时间</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.employmentTime }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">辞职时间</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="detail-row">{{ row.resignationTime }}</div>
                        </el-col>
                    </el-row>
                    <el-row class="">
                        <el-col :span="6">
                            <div class="detail-row">从业人员照片</div>
                        </el-col>
                        <el-col :span="18">
                            <div class="mini-code">
                                <el-image fit="contain" style="height: 100px;width: 100px;" :src="row.employerImg"
                                    :preview-src-list="[row.employerImg]">
                                    <div slot="error" class="image-slot"></div>
                                </el-image>
                            </div>
                        </el-col>
                    </el-row>
                </div>
            </div>
        </el-dialog>
    </div>
</template>
@@ -199,7 +84,6 @@
        //这里存放数据
        return {
            row: {},
            detailBox: false,
            residentLoading: false,
            residentNoDataText: '暂无数据',
            dataList: {
@@ -216,7 +100,6 @@
    //监控data中的数据变化
    watch: {
        residentIdSave (newVal, oldVal) {
            console.log('residentIdSave', newVal, oldVal)
            if (newVal) {
                this.init()
            }
@@ -234,23 +117,6 @@
                this.residentLoading = false
            })
        },
        cellClick (row, column, cell, event) {
            row.employerImg = this.getImgUrls(row.employerImg)
            this.row = row
            this.detailBox = !this.detailBox
            console.log('cellClick', row, column, cell, event)
        },
        // // 图片转换
        getImgUrls (imageUrls) {
            if (imageUrls && imageUrls != '' && imageUrls.length > 0) {
                imageUrls = imageUrls.split(',').filter(ele => ele != '').map(ele => {
                    return 'http://10.141.11.11/jczzMedia/' + ele
                    // return 'https://srgdjczzxtpt.com:2080/gminio/jczz/' + ele
                })
            }
            return imageUrls || []
        },
    },
    //生命周期 - 创建完成(可以访问当前this实例)
    created () {
src/views/house/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 16:18:17
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2026-01-05 22:56:27
 * @LastEditTime: 2026-01-05 22:57:43
 * @FilePath: \srs-police-affairs\src\views\house\index.vue
 * @Description: 小区-栋-层-房屋
 * 
@@ -601,6 +601,18 @@
                        ref="nineSmallPlaces"></nineSmallPlaces>
                </div>
                <div v-if="hushiPeoTy == 13" class="pay-info-box">
                    <maintain :residentIdSave="residentIdSave" :residentDetailsType="residentDetailsType"
                        ref="maintain">
                    </maintain>
                </div>
                <div v-if="hushiPeoTy == 14" class="pay-info-box">
                    <useWater :residentIdSave="residentIdSave" :residentDetailsType="residentDetailsType"
                        ref="useWater">
                    </useWater>
                </div>
                <el-table :data="houseDate"
                    :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }"
                    :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" v-loading="residentLoading"
@@ -884,6 +896,8 @@
import rentalHouse from "./components/rentalHouse"
import nineSmallPlaces from "./components/nineSmallPlaces"
import noFraudAuthentication from "./components/noFraudAuthentication"
import maintain from "./components/maintain"
import useWater from "./components/useWater"
let wallLayer = null
@@ -897,7 +911,9 @@
        scanCodeAlarm,
        rentalHouse,
        nineSmallPlaces,
        noFraudAuthentication
        noFraudAuthentication,
        maintain,
        useWater
    },
    data () {
@@ -1173,6 +1189,16 @@
                    value: 12,
                    isHover: true,
                },
                {
                    label: "维修基金",
                    value: 13,
                    isHover: true,
                },
                {
                    label: "用水数据",
                    value: 14,
                    isHover: true,
                },
                // {
                //     label: "校园安全",
                //     value: 13,