Lou
2024-02-27 c51a11039f7e82695877e7d4face1006be63d6cc
场所检查页面调整
5 files modified
284 ■■■■■ changed files
common/setting.js 4 ●●●● patch | view | raw | blame | history
pages/home/index.vue 8 ●●●●● patch | view | raw | blame | history
subPackage/house/houseNumber/siteInspect.vue 212 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/cscj.vue 57 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/editCscj.vue 3 ●●●● patch | view | raw | blame | history
common/setting.js
@@ -10,8 +10,8 @@
    version: '2.0.0',
    // 开发环境接口Url
    // devUrl: 'http://z4042833u6.wicp.vip',
    // devUrl: 'http://192.168.2.109:9528',
    devUrl: 'https://srgdjczzxtpt.com:2080/api',
    devUrl: 'http://192.168.2.140:9528',
    // devUrl: 'https://srgdjczzxtpt.com:2080/api',
    // devUrl: 'https://kt39592615.goho.co',
    minioBaseUrl: "https://srgdjczzxtpt.com:2080/gminio/jczz/",
    // minioBaseUrl: "http://192.168.0.101:9528/",
pages/home/index.vue
@@ -114,6 +114,14 @@
                            <text class="grid-text f-24 fw mt-10">{{item.name}}</text>
                        </view>
                    </u-grid-item>
                    <!-- <u-grid-item @click="navigatorPage('/subPackage/house/houseNumber/siteInspect')"
                        :customStyle="{paddingTop:20+'rpx'}">
                        <view class="grid-item flex f-d-c a-i-c"
                            style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
                            <u-icon name="/static/icon/menu-02.png" width="60rpx" height="60rpx"></u-icon>
                            <text class="grid-text f-24 fw mt-10">场所检查</text>
                        </view>
                    </u-grid-item> -->
                </u-grid>
            </view>
subPackage/house/houseNumber/siteInspect.vue
@@ -1,5 +1,50 @@
<template>
    <view class="wrap">
        <view class="info mt-20 bgc-ff" v-if="from == 'home'">
            <view class="info-row flex j-c-s-b a-i-c" @click="isShowPopup = true">
                <text class="f-28">场所名称</text>
                <view class="flex">
                    <text class="mr-10">{{selectedPlace.placeName}}</text>
                    <u-icon name="arrow-right"></u-icon>
                </view>
            </view>
            <block v-if="selectedPlace.houseCode">
                <view class="info-row flex j-c-s-b a-i-c">
                    <text class="f-28">场所标签</text>
                    <text>{{categoryValue}}</text>
                </view>
                <view class="info-row flex j-c-s-b a-i-c">
                    <text class="f-28">九小场所</text>
                    <text>{{selectedPlace.isNine == 1?"是":"否"}}</text>
                </view>
                <view class="info-row flex j-c-s-b a-i-c" v-if="selectedPlace.isNine == 1">
                    <text class="f-28">九小场所类型</text>
                    <text>{{nineTypeValue}}</text>
                </view>
                <view class="info-row flex j-c-s-b a-i-c">
                    <text class="f-28">场所负责人</text>
                    <text>{{selectedPlace.principal}}</text>
                </view>
                <view class="info-row flex j-c-s-b a-i-c">
                    <text class="f-28">手机号</text>
                    <text>{{selectedPlace.principalPhone}}</text>
                </view>
                <view class="info-row flex j-c-s-b a-i-c">
                    <text class="f-28">身份证号</text>
                    <text>{{selectedPlace.principalIdCard}}</text>
                </view>
                <view class="info-row flex j-c-s-b a-i-c">
                    <text class="f-28">标准地址</text>
                    <text class="info-row-right">{{selectedPlace.location}}</text>
                </view>
            </block>
        </view>
        <view class="section mb-20">
            <u-collapse :value="itemIndex" ref="collapse">
                <u-collapse-item :title="item.title" :name="index" v-for="(item,index)  in questionList">
@@ -123,6 +168,33 @@
            </view>
        </u-popup>
        <u-popup :show="isShowPopup" mode="bottom" :round="10" closeable="true" @close="isShowPopup = false">
            <view class="popup-content">
                <view class="popup-title f-30">选择场所</view>
                <u-search placeholder="请输入场所名称" :showAction="true" actionText="搜索" :animation="true" v-model="placeName"
                    @search="searchPlace" @custom="searchPlace" @clear="clearKeyword"></u-search>
                <scroll-view class="popup-list" :scroll-y="true">
                    <view class="popup-list-item" v-for="(i,k) in placeList" :key="k" @click="selectPlace(i)">
                        <view class="flex a-i-c mb-10">
                            <text class="f-28 fw mr-20">{{i.placeName}}</text>
                            <text class="f-26" v-if="i.phoneNumber">{{i.phoneNumber}}</text>
                        </view>
                        <!--
                        <view class="f-28">
                            {{i.townStreetName}}{{i.neiName}}{{i.aoiName}}{{i.address || ""}}
                        </view> -->
                        <view class="check-icon" v-if="i.houseCode == info.houseCode">
                            <u-icon name="checkbox-mark" color="#017BFC" size="30"></u-icon>
                        </view>
                    </view>
                </scroll-view>
            </view>
        </u-popup>
        <view class="blank"></view>
    </view>
</template>
@@ -131,8 +203,14 @@
    import uploadMixin from "@/mixin/uploadMixin";
    import {
        addPlaceCheckTwo,
        getPlaceCheckItem
        getPlaceCheckItem,
        getLocationRecord,
        getPlaceDetail
    } from "@/api/place/place.js"
    import {
        bizDictionary,
        bizDictionaryTree
    } from '@/api/system/dict.js'
    export default {
        mixins: [uploadMixin],
        data() {
@@ -185,17 +263,68 @@
                ],
                time: Number(new Date()),
                showSelectDate: false,
                dangerCount: 0 //隐患项数量
                dangerCount: 0, //隐患项数量
                isShowPopup: false,
                placeList: [],
                placeName: "",
                selectedPlace: {},
                nineTypeValue: "",
                from: "",
                categoryValue: ""
            }
        },
        onLoad(option) {
            this.info.houseCode = option.code;
            this.info.placeName = option.name;
            if (option.code) {
                this.info.houseCode = option.code;
                this.info.placeName = option.name;
            } else {
                this.from = "home"
                this.getPlaceList();
            }
            this.getItem();
        },
        methods: {
            getNineTypeList(callback) {
                bizDictionaryTree({
                    code: "nineType"
                }).then(res => {
                    console.log(res.data);
                    callback(res.data)
                })
            },
            getPlaceList() {
                getLocationRecord({
                    roleName: uni.getStorageSync('activeRole').roleName,
                    current: 1,
                    size: 10,
                    isPerfect: 2,
                    placeName: this.placeName
                }).then(res => {
                    this.placeList = res.data.records;
                })
            },
            getPlaceInfo(id) {
                getPlaceDetail({
                    id
                }).then(res => {
                    let labelList = res.data.placePoiLabelVOList;
                    let tempLabelList = [];
                    for (let i of labelList) { //过滤一级数据
                        if (i.type != 1) {
                            tempLabelList.push(i)
                        }
                    }
                    this.categoryValue = tempLabelList[1].labelName;
                })
            },
            getItem() {
@@ -220,6 +349,33 @@
                    this.count = count;
                    this.itemIndex = arr;
                })
            },
            searchPlace() {
                this.getPlaceList()
            },
            clearKeyword() {
                this.placeName = ""
                this.getPlaceList()
            },
            selectPlace(item) {
                this.selectedPlace = item;
                this.info.houseCode = item.houseCode;
                this.isShowPopup = false;
                this.getPlaceInfo(item.id);
                if (item.isNine == 1) {
                    this.getNineTypeList(res => {
                        let {
                            name
                        } = this.$getIndex(res, item.nineType, "key", "title");
                        this.nineTypeValue = name;
                    })
                }
            },
            changeStatus(value, item, fIndex, cIndex) {
@@ -408,6 +564,26 @@
            margin: 20rpx 20rpx 0;
            background-color: #fff;
        }
        .info {
            margin: 20rpx 20rpx 0;
            padding: 0 40rpx;
            .info-row {
                padding: 20rpx 0;
                border-bottom: 1px solid #f5f5f5;
            }
            .info-row:last-child {
                border: none;
            }
            .info-row-right {
                width: 70%;
                text-align: right;
            }
        }
    }
    .top {
@@ -545,4 +721,32 @@
        width: 100%;
        height: 140rpx;
    }
    .popup-content {
        width: 100%;
        padding: 0 30rpx 30rpx;
        box-sizing: border-box;
        .popup-title {
            padding: 30rpx 0;
            text-align: center;
            font-weight: bold;
        }
        .popup-list {
            height: 650rpx;
        }
        .popup-list-item {
            padding: 20rpx 0;
            border-bottom: 1px solid #f1f1f1;
            position: relative;
        }
        .check-icon {
            position: absolute;
            right: 20rpx;
            top: 20rpx;
        }
    }
</style>
subPackage/workbench/views/cscj.vue
@@ -21,12 +21,18 @@
                        </view>
                    </u-form-item>
                    <u-form-item @click="popup" class="form-item" labelWidth="100" label="标签:" :required="true"
                        :disabled="isDisabled" prop="label">
                        <u-input border="none" v-model="categoryValue" disabled disabledColor="#ffffff"
                            placeholder="请选择">
                        </u-input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
                    <u-form-item class="form-item" labelWidth="100" label="标签:" :required="true" :disabled="isDisabled"
                        prop="label">
                        <view class="flex j-c-s-b a-i-c" @click="popup" v-if="!currentId">
                            <u-input border="none" v-model="categoryValue" disabled disabledColor="#ffffff"
                                placeholder="请选择">
                            </u-input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </view>
                        <view class="f-30" v-if="currentId">
                            {{categoryValue}}
                        </view>
                    </u-form-item>
                    <u-form-item label="九小场所:" labelWidth="100" prop="isNine" :required="isRequired">
                        <u-radio-group v-model="form.isNine" v-if="!currentId">
@@ -38,12 +44,18 @@
                            {{form.isNine == 1?"是":"否"}}
                        </view>
                    </u-form-item>
                    <u-form-item v-if="form.isNine == 1" @click="showNineTypeSelector" class="form-item"
                        labelWidth="100" label="九小场所类型:" :required="isRequired" :disabled="isDisabled" prop="nineType">
                        <u-input border="none" v-model="nineTypeValue" disabled disabledColor="#ffffff"
                            placeholder="请选择">
                        </u-input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
                    <u-form-item v-if="form.isNine == 1" class="form-item" labelWidth="100" label="九小场所类型:"
                        :required="isRequired" :disabled="isDisabled" prop="nineType">
                        <view class="flex j-c-s-b a-i-c" v-if="!currentId" @click="showNineTypeSelector">
                            <u-input border="none" v-model="nineTypeValue" disabled disabledColor="#ffffff"
                                placeholder="请选择">
                            </u-input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </view>
                        <view class="f-30" v-if="currentId">
                            {{nineTypeValue}}
                        </view>
                    </u-form-item>
                    <u-form-item label="阵地:" labelWidth="100" prop="isFront" :required="isRequired">
                        <u-radio-group v-model="form.isFront" v-if="!currentId">
@@ -55,12 +67,18 @@
                            {{form.isFront == 1?"是":"否"}}
                        </view>
                    </u-form-item>
                    <u-form-item v-if="form.isFront == 1" @click="showFrontTypePicker = true" class="form-item"
                        labelWidth="100" label="阵地类型:" :required="isRequired" :disabled="isDisabled" prop="frontType">
                        <u-input border="none" v-model="frontTypeValue" disabled disabledColor="#ffffff"
                            placeholder="请选择">
                        </u-input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
                    <u-form-item v-if="form.isFront == 1" class="form-item" labelWidth="100" label="阵地类型:"
                        :required="isRequired" :disabled="isDisabled" prop="frontType">
                        <view class="flex j-c-s-b a-i-c" @click="showFrontTypePicker = true" v-if="!currentId">
                            <u-input border="none" v-model="frontTypeValue" disabled disabledColor="#ffffff"
                                placeholder="请选择">
                            </u-input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </view>
                        <view class="f-30" v-if="currentId">
                            {{frontTypeValue}}
                        </view>
                    </u-form-item>
                    <u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark">
@@ -916,6 +934,9 @@
                    this.$showTips("请选择阵地类型")
                    return
                }
                this.form.lng = Number(this.form.lng).toFixed(8)
                this.form.lat = Number(this.form.lat).toFixed(8)
                delete this.form.images;
                add(this.form).then(res => {
                    uni.showToast({
subPackage/workbench/views/editCscj.vue
@@ -841,9 +841,10 @@
                    this.$showTips("请选择阵地类型")
                    return
                }
                this.form.lng = Number(this.form.lng).toFixed(8)
                this.form.lat = Number(this.form.lat).toFixed(8)
                delete this.form.images;
                add(this.form).then(res => {
                    this.$showTips("提交成功", "success");
                    setTimeout(() => {