Lou
2024-01-17 ef51ae09decb4e016a849d8a5d96be7f44dafc4f
修复问题
28 files modified
1 files added
1323 ■■■■ changed files
common/common.js 14 ●●●●● patch | view | raw | blame | history
common/setting.js 4 ●●●● patch | view | raw | blame | history
main.js 5 ●●●● patch | view | raw | blame | history
pages.json 9 ●●●●● patch | view | raw | blame | history
subPackage/article/detail.vue 8 ●●●●● patch | view | raw | blame | history
subPackage/bs/views/repair.vue 48 ●●●● patch | view | raw | blame | history
subPackage/bs/views/repairRecord.vue 33 ●●●●● patch | view | raw | blame | history
subPackage/house/family/index.vue 2 ●●● patch | view | raw | blame | history
subPackage/house/member/householdLabel.vue 15 ●●●● patch | view | raw | blame | history
subPackage/house/member/index.vue 51 ●●●●● patch | view | raw | blame | history
subPackage/house/roomControl/index.vue 18 ●●●● patch | view | raw | blame | history
subPackage/house/roomDetails/index.vue 3 ●●●● patch | view | raw | blame | history
subPackage/label/bail.vue 10 ●●●● patch | view | raw | blame | history
subPackage/label/form.vue 10 ●●●● patch | view | raw | blame | history
subPackage/label/hotel.vue 25 ●●●● patch | view | raw | blame | history
subPackage/label/school.vue 30 ●●●● patch | view | raw | blame | history
subPackage/task/workLogDetail.vue 5 ●●●● patch | view | raw | blame | history
subPackage/task/workLogList.vue 3 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/audit.vue 3 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/bailReportDetail.vue 5 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/cscj.vue 29 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/csjl.vue 51 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/editCscj.vue 876 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/editExamine.vue 7 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/hotelReportDetail.vue 13 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/labelReportDetail.vue 19 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/rental.vue 7 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/schoolReportDetail.vue 16 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/workLog.vue 4 ●●● patch | view | raw | blame | history
common/common.js
@@ -65,4 +65,18 @@
        arr.push(i.name);
    }
    return arr.join(",")
}
//转换标签颜色
export const setLabelColor = (color) => {
    let obj = {
        'red': '#EA1F1F',
        'yellow': '#FFB42B',
        'green': '#30D17C'
    }
    for (let i in obj) {
        if (color == i) {
            return obj[i]
        }
    }
}
common/setting.js
@@ -9,9 +9,9 @@
    // 版本号
    version: '2.0.0',
    // 开发环境接口Url
    devUrl: 'http://z4042833u6.wicp.vip',
    // devUrl: 'http://z4042833u6.wicp.vip',
    // devUrl: 'http://192.168.0.109:9528',
    // devUrl: 'https://srgdjczzxtpt.com:2080/api',
    devUrl: 'https://srgdjczzxtpt.com:2080/api',
    // devUrl: 'https://kt39592615.goho.co',
    minioBaseUrl: "https://srgdjczzxtpt.com:2080/gminio/jczz/",
    // minioBaseUrl:"http://192.168.0.103:9528/",
main.js
@@ -9,7 +9,8 @@
    setImageUrl,
    showTips,
    getIndex,
    formattingUrls
    formattingUrls,
    setLabelColor
} from '@/common/common.js'
Vue.config.productionTip = false;
@@ -40,6 +41,8 @@
Vue.prototype.$setImageUrl = setImageUrl;
Vue.prototype.$getIndex = getIndex;
Vue.prototype.$formattingUrls = formattingUrls;
Vue.prototype.$setLabelColor = setLabelColor;
// 公共函数
import globalFunc from '@/utils/func.js'
Vue.use(globalFunc, app);
pages.json
@@ -373,6 +373,15 @@
                    }
                },
                {
                    "path": "views/editCscj",
                    "style": {
                        "navigationBarTitleText": "编辑场所",
                        "enablePullDownRefresh": false,
                        "navigationBarBackgroundColor": "#fff",
                        "navigationBarTextStyle": "black"
                    }
                },
                {
                    "path": "views/csjl",
                    "style": {
                        "onReachBottomDistance": 10,
subPackage/article/detail.vue
@@ -349,7 +349,11 @@
                if (signPath) {
                    data.signaturePath = signPath
                }
                uni.showLoading({
                    title: "加载中..."
                });
                communityModel.addApply(data).then(res => {
                    uni.hideLoading()
                    if (res.code == 200) {
                        uni.showToast({
                            title: "操作成功"
@@ -412,7 +416,11 @@
            voteRequest(signPath) {
                let data = this.getParams(signPath)
                uni.showLoading({
                    title: "加载中..."
                });
                communityModel.addVoteOperate(data).then(res => {
                    uni.hideLoading()
                    if (res.code == 200) {
                        uni.showToast({
                            title: "操作成功"
subPackage/bs/views/repair.vue
@@ -1,6 +1,6 @@
<template>
    <view class="">
<!--         <u-navbar height="48" :autoBack="true" safeAreaInsetTop placeholder bgColor="transparent" leftIconColor="#fff">
        <!--         <u-navbar height="48" :autoBack="true" safeAreaInsetTop placeholder bgColor="transparent" leftIconColor="#fff">
        </u-navbar> -->
        <view class="top">
            <image class="top-img" src="/static/img/repair-bg.png" mode="aspectFill"></image>
@@ -9,7 +9,7 @@
        <view class="container">
            <view class="c-ff f-36">请选择您需要的服务</view>
            <view class="serve-box bgc-ff mb-20 flex j-c-s-b a-i-c">
                <view class="flex a-i-c"   @click="navToRecord()">
                <view class="flex a-i-c" @click="navToRecord()">
                    <u-icon name="/static/icon/nav-09.png" width="91rpx" height="70rpx"></u-icon>
                    <view class="flex f-d-c ml-40">
                        <text class="f-36">总申请</text>
@@ -19,7 +19,7 @@
                        </view>
                    </view>
                </view>
                <view class="flex a-i-c"  @click="navToRecord(3)">
                <view class="flex a-i-c" @click="navToRecord(3)">
                    <u-icon name="/static/icon/nav-10.png" width="91rpx" height="70rpx"></u-icon>
                    <view class="flex f-d-c ml-40">
                        <text class="f-36">已处理</text>
@@ -34,10 +34,9 @@
            <view class="site-box bgc-ff flex">
                <view class="flex a-i-c">
                    <u-icon name="map-fill" color="#AAAAAA"></u-icon>
                    <text class="f-28 c-aa ml-20">当前小区:</text>
                    <text class="f-28 c-aa ml-20">{{curSelectSite.addressType == 2?"当前地址:":"当前小区:"}}</text>
                </view>
                <text class="address f-28">{{ curSelectSite.name }}</text>
                <text class="address f-28">{{address ||  "暂无完善"}}</text>
            </view>
            <view class="nav flex flex-wrap j-c-s-b">
@@ -49,7 +48,7 @@
                        <button class="item-btn" :style="{backgroundColor:i.background}">立即上报</button>
                    </view>
                </view>
                <view class="nav-item" @click="navTo('addRepair')"   v-if="curSelectSite.addressType == 2">
                <view class="nav-item" @click="navTo('addRepair')" v-if="curSelectSite.addressType == 2">
                    <image class="nav-item-bg" src="/static/icon/nav-bg-09.png" mode="aspectFill"></image>
                    <view class="nav-item-inner flex f-d-c">
                        <text class="f-32 mb-30">企业商户上报</text>
@@ -69,6 +68,10 @@
    import {
        getStatistics
    } from '@/api/task/taskReportForRepairs'
    import {
        getPlaceDetail
    } from '@/api/place/place.js'
    export default {
        data() {
            return {
@@ -112,8 +115,8 @@
                    //     path: "addRepair",
                    //     background: "#F4B862"
                    // },
                ]
                ],
                address: ""
            }
        },
        computed: {
@@ -123,9 +126,27 @@
            this.getStatistics()
            this.curSelectSite = uni.getStorageSync('siteInfo')
            console.log(this.curSelectSite);
            if (uni.getStorageSync('siteInfo').addressType == 2) {
                this.getPlace();
            } else {
                this.address = uni.getStorageSync('siteInfo').name;
            }
        },
        methods: {
            getPlace() {
                getPlaceDetail({
                    houseCode: uni.getStorageSync("siteInfo").houseCode
                }).then(res => {
                    console.log(res)
                    if (res.code == 200) {
                        this.address = res.data.location;
                    }
                })
            },
            navTo(item) {
                if (item.path) {
                    let url = item.path + "?title=" + item.title + "&type=" + item.type
@@ -138,7 +159,7 @@
                    this.statistic = res.data
                })
            },
            navToRecord(type=0){
            navToRecord(type = 0) {
                this.$u.func.globalNavigator(`/subPackage/bs/views/repairRecord?type=${type}`, "navTo")
            }
        }
@@ -248,10 +269,11 @@
                font-size: 22rpx;
                padding: 0;
                margin: 0;
                border:none;
                border: none;
            }
            .item-btn::after{
                border:none;
            .item-btn::after {
                border: none;
            }
        }
subPackage/bs/views/repairRecord.vue
@@ -7,7 +7,8 @@
                        inactiveStyle="{color:'#999999'}" :activeStyle="{color:'#017BFC'}"></u-tabs>
                    <view class="search">
                        <u-search placeholder="请输入需要查询信息的姓名" v-model="keyWord" :clearabled="true" :showAction="true"
                            :animation="true" @search="searchConfirm" @clear="clearConfirm"  @custom="searchConfirm"></u-search>
                            :animation="true" @search="searchConfirm" @clear="clearConfirm"
                            @custom="searchConfirm"></u-search>
                    </view>
                </view>
            </view>
@@ -16,7 +17,9 @@
            <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.confirmFlag, tabList, 'status').name" :type="findObjValue(item.confirmFlag, 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>
@@ -48,8 +51,7 @@
                    current: 1,
                    size: 10
                },
                tabList: [
                    {
                tabList: [{
                        name: "全部",
                        status: '',
                        type: 'warning'
@@ -70,8 +72,7 @@
                        type: 'error'
                    },
                ],
                typeList: [
                    {
                typeList: [{
                        name: "公共维修",
                        type: 1
                    },
@@ -98,12 +99,12 @@
                loadingStatus: 'nomore'
            }
        },
        onLoad(option){
        onLoad(option) {
            this.tabIndex = Number(option.type);
            this.tabStatus = option.type == 0?'':option.type
            this.tabStatus = option.type == 0 ? '' : option.type
        },
        onShow() {
            this.currentRole = uni.getStorageSync("activeRole")
            this.reportList = []
@@ -118,9 +119,12 @@
                this.loadingStatus = 'loadingmore'
                const params = {
                    realName: this.keyWord,
                    confirmFlag: this.tabStatus
                    confirmFlag: this.tabStatus,
                    houseCode: uni.getStorageSync("siteInfo").houseCode
                }
                const { roleName } = this.currentRole
                const {
                    roleName
                } = this.currentRole
                const res = await getPage({
                    ...params,
                    roleName,
@@ -132,8 +136,8 @@
                        records
                    }
                } = res
                if (code !== 200) {
                    uni.showToast({
                        title: '数据请求失败',
@@ -204,6 +208,7 @@
        .item-row {
            padding: 10rpx 0;
            .address {
                width: 75%;
                text-align: right;
subPackage/house/family/index.vue
@@ -71,7 +71,7 @@
                                                    v-if="scItem.householdLabelList.length">
                                                    <block v-for="i in scItem.householdLabelList">
                                                        <view class="label-tag mr-10" v-if="i.labelName"
                                                            :style="{backgroundColor:i.color}">
                                                            :style="{backgroundColor:$setLabelColor(i.color)}">
                                                            {{i.labelName}}
                                                        </view>
                                                    </block>
subPackage/house/member/householdLabel.vue
@@ -25,8 +25,8 @@
                    <newBoxTitle :title="item.name"></newBoxTitle>
                    <view class="label-btn-box">
                        <view v-for="(item, k) in item.children" :key="k">
                            <u-button size="mini" type="primary" :color="item.color"
                                :style="{color: item.color && '#fff'}" :text="item.name"
                            <u-button size="mini" type="primary" :color="$setLabelColor(item.color)"
                                :style="{color: $setLabelColor(item.color) && '#fff'}" :text="item.name"
                                @click="showLabelPopup(item,index,k)"></u-button>
                        </view>
                    </view>
@@ -43,8 +43,8 @@
                <u-radio-group class="mt-40" v-model="labelValue" placement="row">
                    <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in labelList" :key="index"
                        :label="item.name" :labelColor="item.color" :style="{color: item.color && '#fff'}"
                        :name="item.name" :activeColor="item.color" @change="radioChange(item)">
                        :label="item.name" :labelColor="item.showColor" :style="{color: item.showColor && '#fff'}"
                        :name="item.name" :activeColor="item.showColor" @change="radioChange(item)">
                    </u-radio>
                </u-radio-group>
@@ -89,23 +89,24 @@
                        name: '撤销',
                        disabled: false,
                        // color: '#EBEDF0'
                        showColor: '#999',
                        color: '#999'
                    },
                    {
                        name: '绿',
                        disabled: false,
                        // color: '#30D17C'
                        showColor: '#30D17C',
                        color: 'green'
                    },
                    {
                        name: '黄',
                        disabled: false,
                        color: '#FFB42B',
                        showColor: '#FFB42B',
                        color: 'yellow'
                    }, {
                        name: '红',
                        disabled: false,
                        color: '#EA1F1F',
                        showColor: '#EA1F1F',
                        color: 'red'
                    }
                ],
subPackage/house/member/index.vue
@@ -351,23 +351,23 @@
                        message: '请填写姓名',
                        trigger: ['change', 'blur'],
                    },
                    'idCard': [{
                            type: 'string',
                            required: false,
                            message: '请输入身份证号码',
                            trigger: ['change', 'blur']
                        },
                        {
                            validator: (rule, value, callback) => {
                                const idCardRegex =
                                    /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
                                return idCardRegex.test(value)
                            },
                    // 'idCard': [{
                    //         type: 'string',
                    //         required: false,
                    //         message: '请输入身份证号码',
                    //         trigger: ['change', 'blur']
                    //     },
                    //     {
                    //         validator: (rule, value, callback) => {
                    //             const idCardRegex =
                    //                 /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
                    //             return idCardRegex.test(value)
                    //         },
                            message: '身份证号码有误',
                            trigger: ['change', 'blur']
                        }
                    ],
                    //         message: '身份证号码有误',
                    //         trigger: ['change', 'blur']
                    //     }
                    // ],
                    'phoneNumber': [{
                            required: true,
                            message: '请输入手机号码',
@@ -787,15 +787,24 @@
                if (this.form.cardType) {
                    if (this.form.cardType == 111) {
                        if (!this.form.idCard) {
                            uni.showToast({
                                title: "请输入身份证号",
                                icon: "none"
                            })
                            return;
                            // uni.showToast({
                            //     title: "请输入身份证号",
                            //     icon: "none"
                            // })
                            // return;
                        } else {
                            if (this.form.cardNo) {
                                this.form.cardNo = "";
                            }
                            const idCardRegex =
                                /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
                            if (!idCardRegex.test(this.form.idCard)) {
                                this.$showTips("身份证号有误")
                                return
                            }
                        }
                        if (this.form.idCard && !this.form.birthday) {
                            this.form.birthday = this.getBirthday(this.form.idCard)
subPackage/house/roomControl/index.vue
@@ -67,7 +67,7 @@
                <u-radio-group v-model="" class="mt-40" v-model="labelValue" placement="row">
                    <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in labelList" :key="index"
                        :label="item.name" :labelColor="item.color" :name="item.name" :activeColor="item.color"
                        :label="item.name" :labelColor="item.showColor" :name="item.name" :activeColor="item.showColor"
                        @change="radioChange(item)">
                    </u-radio>
                </u-radio-group>
@@ -163,21 +163,29 @@
                labelList: [{
                        name: '撤销',
                        disabled: false,
                        color: '#EBEDF0'
                        // color: '#EBEDF0'
                        showColor: '#999',
                        color: '#999'
                    },
                    {
                        name: '绿',
                        disabled: false,
                        color: '#30D17C'
                        // color: '#30D17C'
                        showColor: '#30D17C',
                        color: 'green'
                    },
                    {
                        name: '黄',
                        disabled: false,
                        color: '#FFB42B'
                        // color: '#FFB42B'
                        showColor: '#FFB42B',
                        color: 'yellow'
                    }, {
                        name: '红',
                        disabled: false,
                        color: '#EA1F1F'
                        // color: '#EA1F1F'
                        showColor: '#EA1F1F',
                        color: 'red'
                    }
                ],
                currentLabelInfo: {},
subPackage/house/roomDetails/index.vue
@@ -82,7 +82,8 @@
                            <scroll-view class="label-wrap" :scroll-x="true" v-if="item.householdLabelList.length">
                                <block v-for="i in item.householdLabelList">
                                    <view class="label-tag mr-10 c-ff" v-if="i.labelName"
                                        :style="{backgroundColor:i.color}" @click="showTag(i.labelName)">
                                        :style="{backgroundColor:$setLabelColor(i.color)}"
                                        @click="showTag(i.labelName)">
                                        {{i.labelName}}
                                        <!-- <u-tag :text="i.labelName" :bgColor="i.color" :borderColor="i.color"
                                            size="mini">
subPackage/label/bail.vue
@@ -90,13 +90,13 @@
                    reportType: 1
                },
                rules: {
                    'checkUserName': {
                    'info.checkUserName': {
                        type: 'string',
                        required: true,
                        message: '请输入姓名',
                        trigger: ['blur', 'change']
                    },
                    'checkTelephone': [{
                    'info.checkTelephone': [{
                            type: 'number',
                            required: true,
                            message: '请输入手机',
@@ -113,19 +113,19 @@
                        }
                    ],
                    'applyName': {
                    'info.applyName': {
                        type: 'string',
                        required: true,
                        message: '请输入事由',
                        trigger: ['blur', 'change']
                    },
                    'applyTime': {
                    'info.applyTime': {
                        type: 'string',
                        required: true,
                        message: '请输入选择时间',
                        trigger: ['blur', 'change']
                    },
                    'location': {
                    'info.location': {
                        type: 'string',
                        required: true,
                        message: '请输入位置',
subPackage/label/form.vue
@@ -100,12 +100,12 @@
                    reportType: ""
                },
                rules: {
                    'districtName': {
                    'info.districtName': {
                        required: true,
                        message: '请输入场所名称',
                        trigger: ['blur', 'change']
                    },
                    'transactionObjectTel': [{
                    'info.transactionObjectTel': [{
                            type: 'number',
                            required: true,
                            message: '请输入对象电话',
@@ -119,18 +119,18 @@
                            trigger: ['change', 'blur']
                        }
                    ],
                    'transactionMoney': {
                    'info.transactionMoney': {
                        required: true,
                        message: '请输入交易金额',
                        trigger: ['blur', 'change']
                    },
                    'localtion': {
                    'info.localtion': {
                        type: 'string',
                        required: true,
                        message: '请输入交易位置',
                        trigger: ['blur', 'change']
                    },
                    'transactionProcess': {
                    'info.transactionProcess': {
                        type: 'string',
                        required: false,
                        message: '请输入交易过程',
subPackage/label/hotel.vue
@@ -207,25 +207,25 @@
                    //     message: '请输入社区名称',
                    //     trigger: ['blur', 'change']
                    // },
                    'hotelName': {
                    'info.hotelName': {
                        type: 'string',
                        required: true,
                        message: '请输入酒店名称',
                        trigger: ['blur', 'change']
                    },
                    'checkTime': {
                    'info.checkTime': {
                        type: 'string',
                        required: true,
                        message: '请选择自查时间',
                        trigger: ['blur', 'change']
                    },
                    'checkUserName': {
                    'info.checkUserName': {
                        type: 'string',
                        required: true,
                        message: '请输入自查人姓名',
                        trigger: ['blur', 'change']
                    },
                    'checkTelephone': [{
                    'info.checkTelephone': [{
                            type: 'number',
                            required: true,
                            message: '请输入自查人手机',
@@ -239,49 +239,49 @@
                            trigger: ['change', 'blur']
                        }
                    ],
                    'location': {
                    'info.location': {
                        type: 'string',
                        required: true,
                        message: '请输入自查位置',
                        trigger: ['blur', 'change']
                    },
                    'fireNums': {
                    'info.fireNums': {
                        type: 'string',
                        required: false,
                        message: '请输入自查数量',
                        trigger: ['blur', 'change']
                    },
                    'fireStatus': {
                    'info.fireStatus': {
                        type: 'string',
                        required: false,
                        message: '请选择灭火器状态',
                        trigger: ['blur', 'change']
                    },
                    'scFlag': {
                    'info.scFlag': {
                        type: 'string',
                        required: true,
                        message: '请选择安全通道有无',
                        trigger: ['blur', 'change']
                    },
                    'scStatus': {
                    'info.scStatus': {
                        type: 'string',
                        required: true,
                        message: '请选择安全通道状态',
                        trigger: ['blur', 'change']
                    },
                    'pfFlag': {
                    'info.pfFlag': {
                        type: 'string',
                        required: true,
                        message: '请选择技防设施有无',
                        trigger: ['blur', 'change']
                    },
                    'pfName': {
                    'info.pfName': {
                        type: 'string',
                        required: true,
                        message: '请输入技防设施名称',
                        trigger: ['blur', 'change']
                    },
                    'realName': {
                    'info.realName': {
                        type: 'string',
                        required: true,
                        message: '请选择是否完全实名制登记',
@@ -347,6 +347,7 @@
                this.$set(this.info, "checkUserName", userInfo.real_name);
                this.$set(this.info, "checkTelephone", userInfo.phone);
                this.$set(this.info, "checkUserId", userInfo.user_id);
                this.$set(this.info, "hotelName", siteInfo.name);
            }
        },
subPackage/label/school.vue
@@ -243,25 +243,25 @@
                    //     message: '请输入社区名称',
                    //     trigger: ['blur', 'change']
                    // },
                    'campusName': {
                    'info.campusName': {
                        type: 'string',
                        required: true,
                        message: '请输入学校名称',
                        trigger: ['blur', 'change']
                    },
                    'checkTime': {
                    'info.checkTime': {
                        type: 'string',
                        required: true,
                        message: '请选择自查时间',
                        trigger: ['blur', 'change']
                    },
                    'checkUserName': {
                    'info.checkUserName': {
                        type: 'string',
                        required: true,
                        message: '请输入自查人姓名',
                        trigger: ['blur', 'change']
                    },
                    'checkTelephone': [{
                    'info.checkTelephone': [{
                            type: 'number',
                            required: true,
                            message: '请输入自查人手机',
@@ -277,67 +277,67 @@
                        }
                    ],
                    'location': {
                    'info.location': {
                        type: 'string',
                        required: true,
                        message: '请输入自查位置',
                        trigger: ['blur', 'change']
                    },
                    'fourOne': {
                    'info.fourOne': {
                        type: 'string',
                        required: false,
                        message: '请选择四个一工程',
                        trigger: ['blur', 'change']
                    },
                    'fireFacsType': {
                    'info.fireFacsType': {
                        type: 'string',
                        required: false,
                        message: '请选择消防器材种类',
                        trigger: ['blur', 'change']
                    },
                    'fireFacsNums': {
                    'info.fireFacsNums': {
                        type: 'string',
                        required: true,
                        message: '请选择消防器材数量',
                        trigger: ['blur', 'change']
                    },
                    'scStatus': {
                    'info.scStatus': {
                        type: 'string',
                        required: true,
                        message: '请选择安全通道状态',
                        trigger: ['blur', 'change']
                    },
                    'antiCollision': {
                    'info.antiCollision': {
                        type: 'string',
                        required: true,
                        message: '请选择是否配备防撞装置',
                        trigger: ['blur', 'change']
                    },
                    'fullSoNums': {
                    'info.fullSoNums': {
                        type: 'string',
                        required: true,
                        message: '请输入全职保安数量',
                        trigger: ['blur', 'change']
                    },
                    'partSoNums': {
                    'info.partSoNums': {
                        type: 'string',
                        required: true,
                        message: '请输入兼职保安数量',
                        trigger: ['blur', 'change']
                    },
                    'monitorNums': {
                    'info.monitorNums': {
                        type: 'string',
                        required: true,
                        message: '请输入监控总数',
                        trigger: ['blur', 'change']
                    },
                    'monitorOver': {
                    'info.monitorOver': {
                        type: 'string',
                        required: true,
                        message: '请选择监控是否全覆盖',
                        trigger: ['blur', 'change']
                    },
                    'highAltitudeMonitor': {
                    'info.highAltitudeMonitor': {
                        type: 'string',
                        required: true,
                        message: '请输入高空抛物监控',
subPackage/task/workLogDetail.vue
@@ -71,7 +71,10 @@
        async onLoad(option) {
            await this.getTypeList();
            await this.getLabelList();
            this.getDetail(option.id);
            setTimeout(() => {
                this.getDetail(option.id);
            }, 200)
        },
        methods: {
            getDetail(id) {
subPackage/task/workLogList.vue
@@ -87,6 +87,9 @@
        },
        onLoad(option) {
            if (option.code) {
                this.houseCode = option.code;
            }
            this.getList()
        },
        onReachBottom() {
subPackage/workbench/views/audit.vue
@@ -4,8 +4,7 @@
            <view class="bgc-ff">
                <view class="tab">
                    <u-tabs :list="tabList" :current="tabIndex" @click="changeTab" :inactiveStyle="{color:'#999999'}"
                        :activeStyle="{color:'#017BFC'}" :scrollable="false">
                        :activeStyle="{color:'#017BFC'}">
                    </u-tabs>
                    <view class="search flex j-c-s-b a-i-c">
                        <view class="tab-filter flex j-c-c a-i-c" @click="showDateModal">
subPackage/workbench/views/bailReportDetail.vue
@@ -416,8 +416,9 @@
                        })
                        return;
                    }
                    this.info.confirmFlag = val.type;
                    this.info.status = val.type;
                    this.info.confirmNotion = val.remark;
                    this.info.confirmFlag = 2;
                    this.submitRequest(this.info);
                } else {
                    this.checkImages()
@@ -449,7 +450,7 @@
            navToEdit() {
                uni.navigateTo({
                    url: `/subPackage/label/bail?id=${this.id}`
                    url: `/subPackage/label/bail?id=${this.taskId}`
                })
            }
subPackage/workbench/views/cscj.vue
@@ -640,17 +640,24 @@
                    this.form.jwd = `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`
                    this.form.building = arr.join("")
                    this.firstId = data.placePoiLabelVOList[0].poiCode;
                    this.categoryValue = data.placePoiLabelVOList[data.placePoiLabelVOList.length - 1].labelName;
                    uni.$u.sleep(500).then(() => {
                        data.placePoiLabelVOList.forEach(item => {
                            let firstIndex = this.categoryList[0].findIndex(i => i.categoryNo ==
                                item.poiCode)
                            let childIndex = this.categoryList[1].findIndex(i => i.categoryNo ==
                                item.poiCode)
                            this.categoryIndex = [firstIndex, childIndex]
                        })
                    })
                    let labelList = data.placePoiLabelVOList;
                    let tempLabelList = [];
                    for (let i of labelList) { //过滤一级数据
                        if (i.type != 1) {
                            tempLabelList.push(i)
                        }
                    }
                    this.firstId = tempLabelList[0].poiCode;
                    this.categoryValue = tempLabelList[1].labelName;
                    this.form.label = tempLabelList[1].poiCode
                    setTimeout(() => {
                        let firstIndex = this.categoryList[0].findIndex(i => i.categoryNo ==
                            tempLabelList[0].poiCode)
                        let childIndex = this.categoryList[1].findIndex(i => i.categoryNo ==
                            tempLabelList[1].poiCode)
                        this.categoryIndex = [firstIndex, childIndex]
                    }, 500)
                    Object.keys(this.comprehensiveData).forEach(key => {
                        this.comprehensiveData[key].forEach(item => {
subPackage/workbench/views/csjl.vue
@@ -22,9 +22,10 @@
        <view class="info-box">
            <view class="records-card" v-for="(records, index) in recordsData" :key="records.id"
                @click="pushPage(records)">
                <view class="title flex j-c-s-b">
                    <text>{{ records.placeName }}</text>
                    <text>{{ records.createTime }}</text>
                <view class="item-title flex j-c-s-b a-i-c">
                    <text class="title">{{ records.placeName }}</text>
                    <u-tag v-if="records.status == 1" text="待完善" type="warning" plain plainFill></u-tag>
                    <u-tag v-if="records.status == 2" text="已完善" type="success" plain plainFill></u-tag>
                </view>
                <view class="info">
                    <view class="charge-man">
@@ -34,6 +35,10 @@
                    <view class="phone">
                        <text>手机号:</text>
                        <text>{{ records.phone || '未完善' }}</text>
                    </view>
                    <view class="phone">
                        <text>时间:</text>
                        <text>{{records.createTime}}</text>
                    </view>
                </view>
            </view>
@@ -196,7 +201,9 @@
                this.searchConfirm()
            },
            pushPage({
                id
                id,
                status,
                houseCode
            }) {
                if (!id) {
                    uni.showToast({
@@ -205,8 +212,12 @@
                    })
                    return
                }
                let url = "/subPackage/workbench/views/cscj?id=" + id + "&type=1"
                this.$u.func.globalNavigator(url)
                if (status == 1) {
                    this.$u.func.globalNavigator(
                        `/subPackage/workbench/views/editCscj?id=${id}&houseCode=${houseCode}`)
                } else {
                    this.$u.func.globalNavigator(`/subPackage/workbench/views/cscj?id=${id}&type=1`)
                }
            },
            selectItem(item, index) {
@@ -271,7 +282,7 @@
            .search-ipt {
                border: 0;
                border-radius: 9999rpx;
                background-color: #f6f6f6;
                background-color: #F5F5F5;
            }
        }
@@ -283,26 +294,22 @@
        // background-color: #f6f6f6;
        .records-card {
            background: #fff;
            padding: 30rpx;
            padding: 0 30rpx 30rpx;
            border-radius: 10rpx;
            margin-bottom: 20rpx;
            .title {
            .item-title {
                padding: 20rpx 0;
                font-size: 35rpx;
                border-bottom: 1rpx solid #f6f6f6;
                border-bottom: 1rpx solid #F5F5F5;
            }
                text {
                    &:nth-child(1) {
                        font-weight: 700;
                        width: 50%;
                    }
                    &:nth-child(2) {
                        font-size: 27rpx;
                        color: #999999;
                    }
                }
            .title {
                font-size: 32rpx;
                font-weight: bold;
                max-width: 80%;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }
            .charge-man,
subPackage/workbench/views/editCscj.vue
New file
@@ -0,0 +1,876 @@
<template>
    <view class="container">
        <view class="wrap">
            <u-form labelWidth="70" :model="form" :rules="rules" ref="form">
                <view class="item">
                    <!-- u-form-item v-if="!currentId" @click="showPicker = true" class="form-item" labelWidth="100" label="楼栋:"
                    :required="isRequired" :disabled="isDisabled" prop="buildingCode">
                    <u--input border="none" disabledColor="#ffffff" v-model="form.building" placeholder="请选择">
                    </u--input>
                    <u-icon slot="right" name="arrow-right"></u-icon>
                </u-form-item> -->
                    <view class="box-title">
                        <box-title title="基础信息"></box-title>
                    </view>
                    <u-form-item class="form-item" labelWidth="100" label="场所名称:" :required="isRequiredPlace"
                        :disabled="isDisabled" prop="placeName">
                        <u--input border="none" v-model="form.placeName" placeholder="请输入">
                        </u--input>
                    </u-form-item>
                    <u-form-item @click="popup" class="form-item" labelWidth="100" label="标签:" :required="isRequired"
                        :disabled="isDisabled" prop="label">
                        <u-input border="none" v-model="categoryValue" disabled disabledColor="#ffffff"
                            placeholder="请选择">
                        </u-input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
                    </u-form-item>
                    <u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark">
                        <u--input border="none" v-model="form.remark" placeholder="请输入">
                        </u--input>
                    </u-form-item>
                    <u-form-item label="经纬度:" prop="location" labelWidth="100">
                        <view class="address-row flex j-c-s-b a-i-c">
                            <view class="address-content f-28" v-if="form.jwd">
                                {{form.jwd}}
                            </view>
                            <view class="address-content f-28" v-if="!form.jwd" style="color: #c0c4cc;">
                                请选择地址
                            </view>
                            <view class="location-btn c-main f-24" @click="getLocation()">
                                获取地址
                            </view>
                        </view>
                    </u-form-item>
                    <u-form-item label="地址:" labelWidth="100" v-if="form.location">
                        <view class="address-row">
                            {{form.location}}
                        </view>
                    </u-form-item>
                </view>
                <view class="item">
                    <view class="box-title">
                        <box-title title="负责人信息"></box-title>
                    </view>
                    <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                        label="场所负责人:" prop="principal">
                        <u--input border="none" v-model="form.principal" placeholder="请输入">
                        </u--input>
                    </u-form-item>
                    <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                        label="手机号:" prop="principalPhone">
                        <u--input border="none" type="number" v-model="form.principalPhone" placeholder="请输入">
                        </u--input>
                    </u-form-item>
                </view>
                <view class="item pic">
                    <view class="box-title">
                        <box-title title="场所照片"></box-title>
                    </view>
                    <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
                        :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                        :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
                        uploadIcon="/static/icon/upload.png" @afterRead="afterReadImg" @delete="deletePic">
                    </u-upload>
                </view>
            </u-form>
        </view>
        <footer-btn @click="submit" text="保存" />
        <u-picker :show="showPicker" :defaultIndex="defaultIndex" ref="uPicker" keyName="name" :loading="pickerLoading"
            :columns="pickColumns" @change="changeHandler" @confirm="confirmPicker"
            @cancel="showPicker = false"></u-picker>
        <u-picker :show="isShowCatePicker" :defaultIndex="categoryIndex" ref="catePicker" keyName="categoryName"
            :columns="categoryList" @confirm="confirmCategory" @change="changeCategory"
            @cancel="isShowCatePicker = false"></u-picker>
    </view>
</template>
<script>
    import uploadMixin from "@/mixin/uploadMixin";
    import lineItem from "@/subPackage/workbench/components/lineItem.vue"
    import {
        getLabelCate
    } from "@/api/label/categoryLabel.js";
    import {
        getDoorplateAddressDetail,
        getDoorplateAddressList
    } from "@/api/doorplateAddress/doorplateAddress";
    import {
        getPlaceDetail
    } from '@/api/place/place.js'
    import {
        add
    } from "@/api/place/place";
    import {
        format
    } from "echarts";
    import boxTitle from '../components/boxTitle/index.vue'
    import {
        minioBaseUrl
    } from "../../../common/setting";
    export default {
        mixins: [uploadMixin],
        components: {
            lineItem,
            boxTitle
        },
        data() {
            return {
                isRequired: false,
                isRequiredPlace: true,
                isDisabled: true,
                showPicker: false,
                pickerLoading: false,
                pickColumns: [],
                defaultIndex: [0, 0, 0, 0, 0],
                selectValue: [],
                form: {
                    // buildingCode: "",
                    images: [],
                    label: "",
                    remark: "",
                    imageUrls: "",
                    placeName: "",
                    principal: '',
                    principalPhone: '',
                    lat: '',
                    lng: '',
                    location: ''
                },
                rules: {
                    // 'buildingCode': {
                    //     type: 'string',
                    //     required: true,
                    //     message: '请选择楼栋',
                    //     trigger: ['blur', 'change']
                    // },
                    'form.placeName': {
                        type: 'string',
                        required: true,
                        message: '请输入场所名称',
                        trigger: ['blur', 'change']
                    },
                    'form.label': {
                        type: 'string',
                        required: true,
                        message: '请选择标签',
                        trigger: ['blur', 'change'],
                    },
                    'form.username': {
                        type: 'string',
                        required: true,
                        message: '请输入场所负责人',
                        trigger: ['blur', 'change'],
                    },
                    'form.principalPhone': [{
                            required: false,
                            message: '请输入手机号',
                            trigger: ['blur', 'change'],
                        },
                        {
                            validator: (rule, value, callback) => {
                                return uni.$u.test.mobile(value);
                            },
                            message: '手机号码不正确',
                            trigger: ['change', 'blur']
                        }
                    ],
                },
                labelList: [{
                    text: '全部标签',
                    children: [],
                    dot: false
                }, ],
                comprehensiveData: {
                    basic: [{
                            label: "社区名称",
                            name: 'communityName',
                            value: "暂无数据"
                        },
                        {
                            label: "网格名称",
                            name: 'gridName',
                            value: "暂无数据"
                        },
                        {
                            label: "网格员",
                            name: 'realName',
                            value: "暂无数据"
                        },
                        {
                            label: "联系电话",
                            name: 'gridPhone',
                            value: "暂无数据"
                        }
                    ],
                    scene: [
                        // {
                        //     label: "场所照片",
                        //     name: 'imageUrls',
                        //     value: "",
                        //     useSlot: "pic",
                        // },
                        // {
                        //     label: "场所负责人",
                        //     name: 'username',
                        //     value: "未完善",
                        // },
                        {
                            label: "采集人",
                            name: 'createUserName',
                            value: "未完善"
                        },
                        {
                            label: "采集时间",
                            name: 'createTime',
                            value: "未完善"
                        },
                        // {
                        //     label: "历史事件",
                        //     value: "未完善",
                        // }
                    ],
                },
                publicData: {
                    basic: [{
                            label: "公安局",
                            name: 'branchName',
                            value: "暂无数据"
                        },
                        {
                            label: "派出所",
                            name: 'localPoliceStationName',
                            value: "暂无数据"
                        },
                        {
                            label: "辖区民警",
                            name: 'policeman',
                            value: "暂无数据"
                        },
                        {
                            label: "联系电话",
                            name: 'policemanPhone',
                            value: "暂无数据"
                        }
                    ],
                    scene: [
                        // {
                        //     label: "消防照片",
                        //     useSlot: "pic",
                        // },
                        // {
                        //     label: "采集人",
                        //     value: "未完善"
                        // },
                        // {
                        //     label: "采集时间",
                        //     value: "未完善"
                        // },
                        // {
                        //     label: "消防负责人",
                        //     value: "未完善",
                        // },
                        // {
                        //     label: "采集人",
                        //     value: "未完善"
                        // },
                        // {
                        //     label: "采集时间",
                        //     value: "未完善",
                        // },
                        // {
                        //     label: "历史事件",
                        //     value: "未完善",
                        // }
                    ],
                },
                activeIds: [],
                showLabelList: [],
                houseCode: "",
                currentId: "",
                addressType: 2,
                isShowCatePicker: false,
                categoryList: [
                    [],
                    []
                ],
                categoryIndex: [],
                firstId: "",
                secondId: "",
                categoryValue: "",
                houseCode: "",
                from: ""
            }
        },
        created() {
            this.buildColumn()
        },
        options: {
            styleIsolation: 'shared', // 解除样式隔离
        },
        onLoad(option) {
            const {
                type
            } = option
            if (option.addressType) {
                this.addressType = option.addressType
            }
            if (option.id) {
                this.currentId = option.id;
            }
            if (option.houseCode) {
                this.houseCode = option.houseCode
                this.form.houseCode = option.houseCode
            }
            if (option.id || option.houseCode) {
                this.getBuildingDetail()
            }
            this.getCategory();
        },
        watch: {
            firstId: {
                handler(newVal, oldVal) {
                    if (newVal) {
                        this.getCategory(3, this.firstId);
                    }
                },
                immediate: true
            }
            // secondId:{
            //              handler(newVal,oldVal){
            //         this.getCategory(3,this.secondId);
            //     },
            //     immediate:true
            // }
        },
        methods: {
            // getBuildingDetail(params = {}) {
            //     getDoorplateAddressDetail(Object.assign(params, {
            //         stdId: this.stdId
            //     })).then(res => {
            //         let data = res.data
            //         this.form.buildingCode = data.buildingCode
            //         let buildingNameArr = [data.townStreetName, data.neiName, data.streetRuName, data.aoiName,
            //             data.buildingName
            //         ]
            //         let arr = buildingNameArr.filter(e => {
            //             return e != null || e != ''
            //         })
            //         // 赋值
            //         // this.form.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] || '未完善'
            //                 }
            //             })
            //         })
            //     })
            // },
            navTo(type) {
                if (type == 1) {
                    uni.navigateTo({
                        url: `/subPackage/workbench/views/report?code=${this.houseCode}`
                    })
                } else {
                    uni.navigateTo({
                        url: `/subPackage/workbench/views/audit?code=${this.houseCode}`
                    })
                }
            },
            //获取分类
            getCategory(level = 2, id) {
                let params = {
                    level
                }
                if (level == 3) {
                    params.parentNo = id
                }
                getLabelCate(params).then(res => {
                    console.log(res)
                    if (res.code == 200) {
                        let index = level - 2;
                        this.$set(this.categoryList, index, res.data);
                        if (level == 2) {
                            this.firstId = res.data[0].categoryNo
                        }
                    }
                })
            },
            //选择分类
            confirmCategory(e) {
                console.log("confirm=>", e)
                let {
                    indexs,
                    value
                } = e;
                this.categoryIndex = indexs;
                this.categoryValue = value[value.length - 1].categoryName;
                this.form.label = value[value.length - 1].categoryNo;
                this.isShowCatePicker = false;
            },
            //切换分类
            changeCategory(e) {
                const {
                    columnIndex,
                    value,
                    values, // values为当前变化列的数组内容
                    index,
                    // 微信小程序无法将picker实例传出来,只能通过ref操作
                    picker = this.$refs.catePicker
                } = e
                console.log("change=>", e)
                // 当第一列值发生变化时,变化第二列(后一列)对应的选项
                if (columnIndex === 0) {
                    // picker为选择器this实例,变化第二列对应的选项
                    // picker.setColumnValues(1, this.categoryList[index])
                    this.firstId = e.value[columnIndex].categoryNo;
                    // this.secondId = this.categoryList[1][0].categoryNo;
                    // this.getCategory(2,this.firstId);
                }
                // else if ( columnIndex === 1){
                // picker.setColumnValues(2, this.categoryList[index])
                // this.secondId = e.value[columnIndex].categoryNo;
                // this.getCategory(3,this.secondId)
                // }
            },
            getBuildingDetail(params = {}) {
                let idorCodeParams = {}
                if (this.houseCode) {
                    idorCodeParams = {
                        houseCode: this.houseCode,
                        // addressType:this.addressType
                    }
                }
                if (this.addressType) {
                    idorCodeParams.addressType = this.addressType
                }
                if (this.currentId) {
                    idorCodeParams = {
                        id: this.currentId
                    }
                }
                getPlaceDetail({
                    ...params,
                    ...idorCodeParams
                }).then(({
                    code,
                    data
                }) => {
                    if (code !== 200) {
                        uni.showToast({
                            title: "数据加载失败",
                            icon: 'error'
                        })
                        return
                    }
                    this.houseCode = data.houseCode;
                    const dpaEntity = data?.doorplateAddressEntity || {}
                    const gridEntity = data?.grid || {}
                    // 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] = dpaEntity[key] || '未完善'
                            this.form[key] = dpaEntity[key]
                        } else {
                            // this.form[key] = data[key] || '未完善'
                            this.form[key] = data[key]
                        }
                        if (key === "images") {
                            // this.form[key] = data.imageUrls
                            if (data.imageUrls) {
                                this.form.images = this.$setImageUrl(data.imageUrls, 2);
                                this.uploadConfig.maxCount = this.form.images.length;
                            } else {
                                this.form.images = []
                            }
                        }
                    })
                    this.form.jwd = `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`
                    this.form.building = arr.join("")
                    let labelList = data.placePoiLabelVOList;
                    let tempLabelList = [];
                    for (let i of labelList) { //过滤一级数据
                        if (i.type != 1) {
                            tempLabelList.push(i)
                        }
                    }
                    this.firstId = tempLabelList[0].poiCode;
                    this.categoryValue = tempLabelList[1].labelName;
                    this.form.label = tempLabelList[1].poiCode
                    setTimeout(() => {
                        let firstIndex = this.categoryList[0].findIndex(i => i.categoryNo ==
                            tempLabelList[0].poiCode)
                        let childIndex = this.categoryList[1].findIndex(i => i.categoryNo ==
                            tempLabelList[1].poiCode)
                        this.categoryIndex = [firstIndex, childIndex]
                    }, 500)
                    Object.keys(this.comprehensiveData).forEach(key => {
                        this.comprehensiveData[key].forEach(item => {
                            if (!data[item.name]) {
                                item.value = dpaEntity[item.name] || '未完善'
                                item.value = gridEntity[item.name] || '未完善'
                            } else {
                                item.value = data[item.name] || '未完善'
                                if (item.name == "imageUrls") {
                                    item.value = this.$setImageUrl(data[item.name])
                                    // item.value = minioBaseUrl + data[item.name] || '未完善'
                                }
                            }
                        })
                        this.publicData[key].forEach(item => {
                            if (!data[item.name]) {
                                item.value = dpaEntity[item.name] || '未完善'
                            } else {
                                item.value = data[item.name] || '未完善'
                            }
                        })
                    })
                })
            },
            //表单提交
            submit() {
                const that = this
                this.$refs.form.validate().then(valid => {
                    if (valid) {
                        if (this.form?.images?.length > 0) {
                            let urls = []
                            this.form.images.forEach(e => {
                                urls.push(e.name)
                            })
                            this.form.imageUrls = urls.join(",")
                        }
                        this.form.roleName = uni.getStorageSync("activeRole").roleName;
                        add(this.form).then(res => {
                            uni.showToast({
                                icon: 'success',
                                title: '保存成功'
                            })
                            setTimeout(() => {
                                uni.navigateBack()
                            }, 300)
                        })
                    }
                })
            },
            async buildColumn() {
                //设置街道
                const townStreet = await this.getDoorplateAddressList(null, "townStreet")
                this.setColumn(townStreet, 0)
                //设置社区
                const nei = await this.getDoorplateAddressList(townStreet[0]?.code, "nei")
                this.setColumn(nei, 1)
                //设置路
                const streetRu = await this.getDoorplateAddressList(nei[0]?.code, "streetRu")
                this.setColumn(streetRu, 2)
                //设置地区
                const district = await this.getDoorplateAddressList(streetRu[0]?.code, "district")
                this.setColumn(district, 3)
                //设置楼栋
                const building = await this.getDoorplateAddressList(district[0]?.code, "building")
                this.setColumn(building, 4)
            },
            setColumn(data, index) {
                this.$set(this.pickColumns, index, data)
            },
            getLocation() {
                uni.chooseLocation({
                    success: (res) => {
                        console.log("location==>", res);
                        this.form.lat = res.latitude;
                        this.form.lng = res.longitude;
                        this.form.location = res.address;
                        this.form.jwd =
                            `${Number(res.longitude).toFixed(6)},${Number(res.latitude).toFixed(6)}`
                    }
                })
            },
            async getDoorplateAddressList(code, type) {
                const res = await getDoorplateAddressList(code, type)
                return res.data
            },
            confirmPicker(e) {
                if (e.value[4]) {
                    this.selectValue = e.value
                    let arr = this.selectValue.map(e => e.name)
                    this.form.building = arr.join("")
                    this.form.buildingCode = e.value[4].code
                }
                this.showPicker = false
            },
            async changeHandler(e) {
                const {
                    columnIndex,
                    index,
                    // 微信小程序无法将picker实例传出来,只能通过ref操作
                    picker = this.$refs.uPicker
                } = e
                let item = e.values[columnIndex][index]
                //街道
                if (columnIndex === 0) {
                    //获取社区列表
                    const nei = await this.getDoorplateAddressList(item.code, "nei")
                    picker.setColumnValues(1, nei)
                    const streetRu = await this.getDoorplateAddressList(nei[0].code, "streetRu")
                    picker.setColumnValues(2, streetRu)
                    const district = await this.getDoorplateAddressList(streetRu[0].code, "district")
                    picker.setColumnValues(3, district)
                    const building = await this.getDoorplateAddressList(district[0].code, "building")
                    picker.setColumnValues(4, building)
                }
                if (columnIndex === 1) {
                    const streetRu = await this.getDoorplateAddressList(item.code, "streetRu")
                    picker.setColumnValues(2, streetRu)
                    const district = await this.getDoorplateAddressList(streetRu[0].code, "district")
                    picker.setColumnValues(3, district)
                    const building = await this.getDoorplateAddressList(district[0].code, "building")
                    picker.setColumnValues(4, building)
                }
                if (columnIndex === 2) {
                    const district = await this.getDoorplateAddressList(item.code, "district")
                    picker.setColumnValues(3, district)
                    const building = await this.getDoorplateAddressList(district[0].code, "building")
                    picker.setColumnValues(4, building)
                }
                if (columnIndex === 3) {
                    const building = await this.getDoorplateAddressList(item.code, "building")
                    picker.setColumnValues(4, building)
                }
            },
            //弹出层打开
            popup() {
                // this.$refs.uniPopup.open()
                this.isShowCatePicker = true;
            },
            imgPreview(value) {
                uni.previewImage({
                    urls: minioBaseUrl + [value],
                })
            },
        }
    }
</script>
<style scoped lang="scss">
    .container {
        position: relative;
        width: calc(100% - 60rpx);
        // height: 100%;
        display: flex;
        flex-direction: column;
        background: #f5f5f5;
        padding: 0 30rpx 20rpx 30rpx;
        .wrap {
            width: 100%;
            margin-bottom: 120rpx;
        }
        .box-title {
            padding: 10px 0;
            .title-more {
                display: flex;
                align-items: center;
                height: 100%;
                .item {
                    width: 50rpx;
                    height: 40rpx;
                    color: #ffffff;
                    padding: 6rpx;
                    font-size: 2rpx;
                    text-align: center;
                    line-height: 20px;
                }
            }
        }
        .item {
            margin-top: 20rpx;
            background-color: #ffffff;
            border-radius: 8rpx;
            padding: 0 30rpx;
            .form-item {
                background-color: #ffffff;
                padding: 2rpx 10px;
                border-bottom: 0.1px solid #eff1f3;
            }
            .label {
                padding: 10rpx 30rpx;
                display: flex;
                background-color: #ffffff;
                flex-wrap: wrap;
                .activeLabel {
                    // width: 80rpx;
                    margin-left: 10rpx;
                    margin-top: 10rpx
                }
            }
        }
        .pic {
            background-color: #ffffff;
            padding-bottom: 20rpx;
            /deep/ .u-upload__button {
                border: 1rpx solid #EEEEEE;
                background-color: #fff;
            }
        }
        .image {
            padding: 20rpx;
        }
        .bottom {
            padding: 20rpx;
            background-color: #ffffff;
            display: flex;
            justify-content: center;
            align-items: center;
            .btn {
                width: calc(100% - 40rpx);
            }
        }
    }
    /deep/ .u-form-item {
        background-color: #ffffff;
        padding: 2rpx 10px;
        border-bottom: 1px solid #eff1f3;
    }
    .red {
        background-color: red;
        border-radius: 10rpx 0rpx 0rpx 10rpx;
    }
    .orange {
        background-color: orange;
    }
    .green {
        background-color: green;
        border-radius: 0rpx 10rpx 10rpx 0rpx;
    }
    .address-row {
        flex: 1;
    }
    .address-content {
        width: calc(100% - 116rpx - 15rpx);
        margin-right: 15rpx;
    }
    .location-btn {
        width: 116rpx;
        height: 46rpx;
        line-height: 46rpx;
        border-radius: 4rpx;
        border: 1px solid currentColor;
        padding: 0;
        background-color: #fff;
        text-align: center;
    }
</style>
subPackage/workbench/views/editExamine.vue
@@ -58,14 +58,17 @@
            </view>
        </view>
        <view class="btn-group">
        <footer-btn @click="submit"></footer-btn>
        <!-- <view class="btn-group">
            <view>
                <u-button type="primary" @click="submit">提交</u-button>
            </view>
            <view class="mt-20">
                <u-button @click="pushPage">我上报的事件</u-button>
            </view>
        </view>
        </view> -->
    </view>
</template>
subPackage/workbench/views/hotelReportDetail.vue
@@ -209,7 +209,6 @@
        },
        onLoad(option) {
            this.taskId = option.id;
            let roleName = uni.getStorageSync("activeRole").roleName
            if (roleName == "居民") {
                this.roleType = 2;
@@ -222,7 +221,7 @@
        },
        onShow() {
            this.getDetailInfo(this.taskId);
            this.getDetailInfo();
        },
        methods: {
@@ -241,15 +240,15 @@
                }
            },
            getDetailInfo(id) {
            getDetailInfo() {
                getHotelReportingDetail({
                    taskId: id
                    taskId: this.taskId
                }).then(res => {
                    console.log(res);
                    let data = res.data;
                    this.id = data.id;
                    this.basicData.forEach(item => {
                        item.value = data[item.name]
                        item.value = data[item.name] || "未完善"
                    })
                    this.status = data.confirmFlag;
                    this.remark = data.confirmNotion;
@@ -279,7 +278,7 @@
                    id: this.id,
                    taskId: this.taskId,
                    status: val.type,
                    remark: val.remark
                    confirmNotion: val.remark
                }
                setHotelReporting(data).then(res => {
@@ -311,7 +310,7 @@
            navToEdit() {
                uni.navigateTo({
                    url: `/subPackage/label/hotel?id=${this.id}`
                    url: `/subPackage/label/hotel?id=${this.taskId}`
                })
            }
subPackage/workbench/views/labelReportDetail.vue
@@ -139,17 +139,18 @@
        },
        onLoad(option) {
            this.taskId = option.id;
            this.getDetailInfo(option.id);
            let roleName = uni.getStorageSync("activeRole").roleName
            if (roleName == "居民") {
                this.roleType = 2;
            } else {
                this.roleType = 1
            }
        },
        onShow() {
            this.getDetailInfo();
        },
        methods: {
@@ -170,9 +171,9 @@
                }
            },
            getDetailInfo(id) {
            getDetailInfo() {
                getLabelReportingDetail({
                    taskId: id
                    taskId: this.taskId
                }).then(res => {
                    console.log(res);
                    let data = res.data;
@@ -188,7 +189,7 @@
                    this.remark = data.confirmNotion;
                    this.getIndex(data.confirmFlag)
                    this.basicData.forEach(item => {
                        item.value = data[item.name]
                        item.value = data[item.name] || "未完善"
                    })
                    // this.imageUrls = this.setImages(data.imageUrls);
                    // this.goodsImageUrls = this.setImages(data.goodsImageUrls);
@@ -217,7 +218,7 @@
                    // status: this.selectStatus,
                    status: val.type,
                    // remark: this.remark
                    remark: val.remark
                    confirmNotion: val.remark
                }
                // if (this.selectStatus == 3 && !this.remark) {
                //     uni.showToast({
@@ -253,7 +254,7 @@
            navToEdit() {
                uni.navigateTo({
                    url: `/subPackage/label/form?id=${this.id}`
                    url: `/subPackage/label/form?id=${this.taskId}`
                })
            }
subPackage/workbench/views/rental.vue
@@ -62,7 +62,7 @@
                        <u-icon name="/static/icon/list-02.png" width="40rpx" height="40rpx"></u-icon>
                        <text class="f-28 c-main ml-10">租客管理</text>
                    </view>
                    <view class="action-item">
                    <view class="action-item" @click="navWorkList(records.houseCode)">
                        <u-icon name="/static/icon/list-01.png" width="40rpx" height="40rpx"></u-icon>
                        <text class="f-28 c-main ml-10">走访日志</text>
                    </view>
@@ -366,6 +366,11 @@
                this.selectDate = val;
                this.resetParams();
                this.getRentalHouseInfo()
            },
            navWorkList(code) {
                uni.navigateTo({
                    url: `/subPackage/task/workLogList?code=${code}`
                })
            }
        }
    }
subPackage/workbench/views/schoolReportDetail.vue
@@ -97,7 +97,7 @@
    import lineItem from '../components/lineItem.vue'
    import {
        getSchoolReportingDetail,
        setShoolReporting
        setSchoolReporting
    } from '@/api/reporting/reporting'
    import auditAction from '../components/actionBtn.vue'
    export default {
@@ -223,7 +223,6 @@
        },
        onLoad(option) {
            this.taskId = option.id;
            this.getDetailInfo(option.id);
            let roleName = uni.getStorageSync("activeRole").roleName
            if (roleName == "居民") {
                this.roleType = 2
@@ -231,6 +230,11 @@
                this.roleType = 1
            }
        },
        onShow() {
            this.getDetailInfo();
        },
        methods: {
@@ -245,9 +249,9 @@
            },
            getDetailInfo(id) {
            getDetailInfo() {
                getSchoolReportingDetail({
                    taskId: id
                    taskId: this.taskId
                }).then(res => {
                    console.log(res);
                    let data = res.data;
@@ -286,7 +290,7 @@
                    // status: this.selectStatus,
                    status: val.type,
                    // remark: this.remark
                    remark: val.remark
                    confirmNotion: val.remark
                }
                // if (this.selectStatus == 3 && !this.remark) {
                //     uni.showToast({
@@ -321,7 +325,7 @@
            },
            navToEdit() {
                uni.navigateTo({
                    url: `/subPackage/label/school?id=${this.id}`
                    url: `/subPackage/label/school?id=${this.taskId}`
                })
            }
        }
subPackage/workbench/views/workLog.vue
@@ -210,7 +210,9 @@
            if (option.id) {
                this.isEdit = true;
                this.id = option.id;
                this.getDetail(option.id)
                setTimeout(() => {
                    this.getDetail(option.id)
                }, 200)
            }
        },