Lou
2024-01-04 b483daac909785d09b9d8f70a4845a391bf28b97
更新
14 files modified
1 files added
993 ■■■■■ changed files
pages.json 12 ●●●● patch | view | raw | blame | history
subPackage/house/family/index.vue 124 ●●●●● patch | view | raw | blame | history
subPackage/house/list/auditList.vue 33 ●●●● patch | view | raw | blame | history
subPackage/house/member/index.vue 119 ●●●●● patch | view | raw | blame | history
subPackage/house/roomDetails/index.vue 4 ●●●● patch | view | raw | blame | history
subPackage/workbench/components/actionBtn.vue 118 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/audit.vue 66 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/bailReportDetail.vue 53 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/cshw.vue 26 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/hotelReportDetail.vue 71 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/labelReportDetail.vue 87 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/rental.vue 63 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/report.vue 10 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/reportAudit.vue 95 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/schoolReportDetail.vue 112 ●●●● patch | view | raw | blame | history
pages.json
@@ -724,12 +724,12 @@
                "iconPath": "static/img/tabbar-01.png",
                "text": "首页"
            },
            {
                "pagePath": "pages/circle/index",
                "iconPath": "static/img/tabbar-02.png",
                "selectedIconPath": "static/img/tabbar-02-selected.png",
                "text": "圈子"
            },
            // {
            //     "pagePath": "pages/circle/index",
            //     "iconPath": "static/img/tabbar-02.png",
            //     "selectedIconPath": "static/img/tabbar-02-selected.png",
            //     "text": "圈子"
            // },
            {
                "pagePath": "pages/user/center",
                "iconPath": "static/img/tabbar-03.png",
subPackage/house/family/index.vue
@@ -66,19 +66,28 @@
                                            <!-- <view class="l">
                                                <u-icon name="/static/icon/person.png" size="16"></u-icon>
                                            </view> -->
                                            <image class="box-icon" src="/static/icon/person.png" mode="aspectFill">
                                            </image>
                                            <view class="r flex">
                                                <view v-show="scItem.residentialStatus">
                                                    <view class="resident-box">主</view>
                                            <view class="flex" style="width:90%;">
                                                <image class="box-icon" src="/static/icon/person.png" mode="aspectFill">
                                                </image>
                                                <view class="label-wrap flex flex-wrap"
                                                    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}">
                                                            {{i.labelName}}
                                                        </view>
                                                    </block>
                                                </view>
                                            </view>
                                            <view class="r flex">
                                                <!-- <view v-show="scItem.residentialStatus">
                                                    <view class="resident-box">主</view>
                                                </view> -->
                                                <image v-show="!!scItem.roleType == 1" class="box-icon"
                                                    src="/static/icon/selected.png" mode="aspectFill"></image>
                                                <!-- <view v-show="!!scItem.roleType == 1">
                                                    <u-icon name="/static/icon/selected.png" size="16"></u-icon>
                                                </view> -->
                                            </view>
                                        </view>
                                        <view class="flex floor-info-box">
@@ -89,7 +98,7 @@
                                                {{scItem.houseNo}}
                                            </text>
                                        </view>
                                        <view style="margin-top:10rpx;" v-if="scItem.householdLabelList.length">
                                        <!-- <view style="margin-top:10rpx;" v-if="scItem.householdLabelList.length">
                                            <block v-for="i in scItem.householdLabelList">
                                                <view class="mr-10" v-if="i.labelName" style="display: inline-block;">
                                                    <u-tag :text="i.labelName" :bgColor="i.color" :borderColor="i.color"
@@ -97,49 +106,15 @@
                                                    </u-tag>
                                                </view>
                                            </block>
                                        </view>
                                        </view> -->
                                    </view>
                                </view>
                                <!-- <u-grid class="flex flex-wrap" col="2" :border="true">
                                    <u-grid-item v-for="(scItem, scIndex) in cItem.children" :key="scItem.id"
                                        @click="pushPage(scIndex,cItem.children)">
                                        <view class="room-box flex f-d-c">
                                            <view class="flex a-i-c j-c-s-b">
                                                <view class="l">
                                                    <u-icon name="/static/icon/person.png" size="16"></u-icon>
                                                </view>
                                                <view class="r flex">
                                                    <view v-show="scItem.residentialStatus">
                                                        <view class="resident-box">
                                                            主
                                                        </view>
                                                    </view>
                                                    <view v-show="!!scItem.roleType == 1">
                                                        <u-icon name="/static/icon/selected.png" size="16"></u-icon>
                                                    </view>
                                                </view>
                                            </view>
                                            <view class="flex floor-info-box">
                                                <view class="l flex proprietor-box">
                                                    {{scItem.realName || ""}}
                                                </view>
                                                <view class="r floor-box">
                                                    {{scItem.houseNo}}
                                                </view>
                                            </view>
                                        </view>
                                    </u-grid-item>
                                </u-grid> -->
                            </view>
                        </view>
                    </u-collapse-item>
                    <u-collapse-item class="sp-list" v-if="isShowShop" style="border: none;" title="商铺"
                    <u-collapse-item class="sp-list" v-if="shopType == 1" style="border: none;" title="商铺"
                        :icon="'/static/icon/group.png'">
                        <!-- <view slot="title" class="flex">
                                <u-icon name="/static/icon/group.png" size="16"></u-icon>
@@ -147,7 +122,8 @@
                        </view> -->
                        <view class="sp-list-box">
                            <view class="house-list-box flex" v-for="(item, index) in shopList" :name="index"
                                :key="index" @click.native="pushShopPage($event, item)">
                                :key="index" @click="pushShopPage" :data-code="i.addressCode"
                                :data-type="i.addressType">
                                <view class="l">
                                    <u-icon name="/static/icon/store.png" width="15" height="18"></u-icon>
                                </view>
@@ -157,6 +133,27 @@
                            </view>
                        </view>
                    </u-collapse-item>
                    <u-collapse-item class="sp-list" v-if="shopType == 2" style="border: none;" :title="item.unitName"
                        :icon="'/static/icon/group.png'" v-for="(item, index) in shopList">
                        <!-- <view slot="title" class="flex">
                                <u-icon name="/static/icon/group.png" size="16"></u-icon>
                                <view style="margin-left: 17rpx;">商铺</view>
                        </view> -->
                        <view class="sp-list-box">
                            <view class="house-list-box flex" v-for="(i,k) in item.children" :key="k"
                                @click="pushShopPage" :data-code="i.addressCode" :data-type="i.addressType">
                                <view class="l">
                                    <u-icon name="/static/icon/store.png" width="15" height="18"></u-icon>
                                </view>
                                <view class="r nowrap-ellipsis-hidden">
                                    {{i.floor}}
                                </view>
                            </view>
                        </view>
                    </u-collapse-item>
                </u-collapse>
@@ -197,7 +194,8 @@
                addressName: "", //详细地址
                neiName: "", //居委会名称
                unitName: "", //单元名称
                houseData: {}
                houseData: {},
                shopType: "" //商铺类型    1 自建房商铺   2 企业商铺
            }
        },
        onLoad(e) {
@@ -286,7 +284,13 @@
                        }
                    }
                    if (shopList.length) {
                        this.isShowShop = true
                        // this.isShowShop = true
                        if (shopList[0].addressType == 3) {
                            this.shopType = 1
                        }
                        if (shopList[0].addressType == 4) {
                            this.shopType = 2
                        }
                        this.shopList = shopList || []
                    }
                    this.$nextTick(() => {
@@ -310,12 +314,13 @@
                this.$u.func.globalNavigator(url, "navTo")
            },
            // 跳转到商铺页面
            pushShopPage(name, item) {
                const {
                    addressCode,
                    addressType
                } = item
                let url = `/subPackage/house/houseNumber/index?stdId=${addressCode}&addressType=${addressType}`
            pushShopPage(e) {
                let {
                    code,
                    type
                } = e.currentTarget.dataset;
                let url = `/subPackage/house/houseNumber/index?stdId=${code}&addressType=${type}`
                this.$u.func.globalNavigator(url, "navTo")
            },
            getHouseData(code, code2, type) {
@@ -531,4 +536,17 @@
    .search-box {
        padding: 20rpx;
    }
    .label-wrap {
        margin-left: 5rpx;
        width: calc(100% - 32rpx - 5rpx);
    }
    .label-tag {
        padding: 0 2rpx;
        font-size: 20rpx;
        color: #fff;
        border-radius: 4rpx;
        margin-bottom: 5rpx;
    }
</style>
subPackage/house/list/auditList.vue
@@ -4,13 +4,16 @@
            <view class="tab">
                <u-tabs :list="tabList" :current="tabIndex" @click="changeTab" :inactiveStyle="{color:'#999999'}"
                    :activeStyle="{color:'#017BFC'}">
                    <view class="tab-filter flex j-c-c a-i-c" slot="right" @click="showDateModal">
                        <text class="f-28">时间筛选</text>
                        <u-icon name="arrow-down"></u-icon>
                    </view>
                </u-tabs>
            </view>
            <view class="search-box">
            <view class="search-box flex a-i-c j-c-s-b">
                <view class="tab-filter flex j-c-c a-i-c" @click="showDateModal">
                    <text class="f-28">时间筛选</text>
                    <u-icon name="arrow-down"></u-icon>
                </view>
                <u-search placeholder="请输入住户名" v-model="keyword" :clearabled="true" :showAction="true" :animation="true"
                    @search="search" @clear="clear"></u-search>
            </view>
@@ -35,11 +38,11 @@
                </view>
                <view class="r flex f-d-c j-c-s-a">
                    <view>
                        <u-tag v-if="item.confirmFlag == 1" text="待审批" type="warning" plain plainFill></u-tag>
                        <u-tag v-if="item.confirmFlag == 2" text="审核通过" type="success" plain plainFill></u-tag>
                        <u-tag v-if="item.confirmFlag == 3" text="审核拒绝" type="error" plain plainFill></u-tag>
                        <u-tag v-if="item.confirmFlag == 0" text="待审批" type="warning" plain plainFill></u-tag>
                        <u-tag v-if="item.confirmFlag == 1" text="审核通过" type="success" plain plainFill></u-tag>
                        <u-tag v-if="item.confirmFlag == 2" text="审核拒绝" type="error" plain plainFill></u-tag>
                    </view>
                    <view v-if="item.confirmFlag == 1">
                    <view v-if="item.confirmFlag == 0">
                        <u-button size='small' type="primary" class="u_btn_blue" text="审核"
                            @click="auditResident(item,index)"></u-button>
                    </view>
@@ -98,7 +101,7 @@
        },
        onLoad(option) {
            if(option.from){
            if (option.from) {
                this.tabIndex = 1;
                this.currentStatus = 0;
            }
@@ -146,12 +149,12 @@
                    confirmFlag: this.currentStatus,
                    name: this.keyword,
                }
                if(this.selectDate.length){
                     params.startTime = this.selectDate[0],
                     params.endTime = this.selectDate[1]
                if (this.selectDate.length) {
                    params.startTime = this.selectDate[0],
                        params.endTime = this.selectDate[1]
                }
                getHouseholdList(params).then(res => {
                    if (res.code != 200) {
                        uni.showToast({
subPackage/house/member/index.vue
@@ -18,13 +18,13 @@
                        <u-form-item @click="showSelectBus('角色关系','relationship')" class="form-item" labelWidth="100"
                            label="角色关系" required prop="relationship">
                            <u--input border="none" v-model="selectDefaultName.relationship" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                                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="姓名" required prop="name">
                            <u--input border="none" v-model="form.name" placeholder="请输入">
                            <u--input border="none" v-model="form.name" placeholder="请输入姓名">
                            </u--input>
                        </u-form-item>
@@ -32,7 +32,7 @@
                        <u-form-item @click="showSelectBus('证件类型','cardType')" class="form-item" labelWidth="100"
                            label="证件类型" prop="gender">
                            <u--input border="none" v-model="selectDefaultName.cardType" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                                disabledColor="#ffffff" placeholder="请选择证件类型">
                            </u--input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
@@ -40,13 +40,13 @@
                        <u-form-item v-if="selectDefaultIndex.cardType == 0" class="form-item" labelWidth="100"
                            label="身份证号码" prop="idCard">
                            <u--input border="none" v-model="form.idCard" placeholder="请输入">
                            <u--input border="none" type="idcard " v-model="form.idCard" placeholder="请输入身份证号码">
                            </u--input>
                        </u-form-item>
                        <u-form-item v-if="selectDefaultIndex.cardType == 1" class="form-item" labelWidth="100"
                            label="证件号码" prop="cardNo">
                            <u--input border="none" v-model="form.cardNo" placeholder="请输入">
                            <u--input border="none" v-model="form.cardNo" placeholder="请输入证件号码">
                            </u--input>
                        </u-form-item>
@@ -54,25 +54,25 @@
                        <u-form-item @click="showSelectBus('性别','gender')" class="form-item" labelWidth="100" label="性别"
                            prop="gender">
                            <u--input border="none" v-model="selectDefaultName.gender" disabled disabledColor="#ffffff"
                                placeholder="请选择">
                                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="phoneNumber">
                            <u--input border="none" v-model="form.phoneNumber" placeholder="请输入">
                            <u--input border="none" type="number" v-model="form.phoneNumber" placeholder="请输入手机号码">
                            </u--input>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="其他联系方式" prop="otherContact">
                            <u--input border="none" v-model="form.otherContact" placeholder="请输入">
                        <u-form-item class="form-item" labelWidth="100" label="其它联系方式" prop="otherContact">
                            <u--input border="none" v-model="form.otherContact" placeholder="请输入其它联系方式">
                            </u--input>
                        </u-form-item>
                        <u-form-item @click="showSelectBus('是否主要联系人','isPrimaryContact')" class="form-item"
                            labelWidth="110" label="是否主要联系人" prop="isPrimaryContact">
                            <u--input border="none" v-model="selectDefaultName.isPrimaryContact" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                                disabledColor="#ffffff" placeholder="请选择是否主要联系人">
                            </u--input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
@@ -80,12 +80,12 @@
                        <u-form-item @click="showSelectBus('居住情况','residentialStatus')" class="form-item"
                            labelWidth="100" label="居住情况" prop="residentialStatus">
                            <u--input border="none" v-model="selectDefaultName.residentialStatus" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                                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="hkmtPass">
                        <!-- <u-form-item class="form-item" labelWidth="100" label="港澳台通行证" prop="hkmtPass">
                            <u--input border="none" v-model="form.hkmtPass" placeholder="请输入">
                            </u--input>
                        </u-form-item>
@@ -93,13 +93,13 @@
                        <u-form-item class="form-item" labelWidth="100" label="护照" prop="passport">
                            <u--input border="none" v-model="form.passport" placeholder="请输入">
                            </u--input>
                        </u-form-item>
                        </u-form-item> -->
                        <u-form-item class="form-item" labelWidth="100" label="居住地区" prop="homeAdcode"
                            @click="showRegion = true">
                            <u--input border="none" v-model="homeRegion" disabled disabledColor="#ffffff"
                                placeholder="请选择">
                                placeholder="请选择居住地区">
                            </u--input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
@@ -107,7 +107,7 @@
                            <view class="region">
                                <picker mode="region" @change="changeNativeRegion">
                                    <view class="region-picker c-c0" v-if="!nativePlace">
                                        请选择
                                        请选择籍贯地区
                                    </view>
                                    <view class="region-picker c-30" v-if="nativePlace">
                                        {{nativePlace}}
@@ -122,7 +122,7 @@
                            <view class="region">
                                <picker mode="region" @change="changeHouseholdRegion">
                                    <view class="region-picker c-c0" v-if="!residentad">
                                        请选择
                                        请选择户籍地区
                                    </view>
                                    <view class="region-picker c-30" v-if="residentad">
                                        {{residentad}}
@@ -135,18 +135,18 @@
                        <u-form-item class="form-item  address-row" labelWidth="100" label="现居住地" prop="currentAddress">
                            <u--input border="none" :disabled="form.source ==1?true:false" disabledColor="#ffffff"
                                v-model="form.currentAddress" placeholder="请输入">
                                v-model="form.currentAddress" placeholder="请输入现居住地">
                            </u--input>
                        </u-form-item>
                        <u-form-item @click="showSelectBus('户籍类型','residentType')" class="form-item" labelWidth="100"
                            label="户籍类型" prop="residentType">
                            <u--input border="none" v-model="selectDefaultName.residentType" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                                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="hukouRegistration">
                            <u--input border="none" v-model="form.hukouRegistration" placeholder="请输入">
                            <u--input border="none" v-model="form.hukouRegistration" placeholder="请输入户籍登记地">
                            </u--input>
                        </u-form-item>
@@ -154,7 +154,7 @@
                        <u-form-item class="form-item" labelWidth="100" label="标签" @click="navTo">
                            <view class="">
                                <text style="color: #c0c4cc;"
                                    v-if="!form.householdLabelList || !form.householdLabelList.length">请选择</text>
                                    v-if="!form.householdLabelList || !form.householdLabelList.length">请选择标签</text>
                                <text class="f-28" v-else style="margin-right:5rpx;"
                                    v-for="i in form.householdLabelList">{{i.labelName}}</text>
                            </view>
@@ -165,7 +165,7 @@
                        <u-form-item @click="showSelectBus('民族','ethnicity')" class="form-item" labelWidth="100"
                            label="民族" prop="ethnicity">
                            <u--input border="none" v-model="selectDefaultName.ethnicity" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                                disabledColor="#ffffff" placeholder="请选择民族">
                            </u--input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
@@ -173,7 +173,7 @@
                        <u-form-item @click="showSelectBus('学历','education')" class="form-item" labelWidth="100"
                            label="学历" prop="education">
                            <u--input border="none" v-model="selectDefaultName.education" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                                disabledColor="#ffffff" placeholder="请选择学历">
                            </u--input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
@@ -181,26 +181,26 @@
                        <u-form-item @click="showSelectBus('是否党员','partyEmber')" class="form-item" labelWidth="100"
                            label="是否党员" prop="partyEmber">
                            <u--input border="none" v-model="selectDefaultName.partyEmber" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                                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="occupation ">
                            <u--input border="none" v-model="form.occupation " placeholder="请输入">
                            <u--input border="none" v-model="form.occupation " placeholder="请输入职业类别">
                            </u--input>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="工作单位" prop="employer">
                            <u--input border="none" v-model="form.employer" placeholder="请输入">
                            <u--input border="none" v-model="form.employer" placeholder="请输入工作单位">
                            </u--input>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="工作单位地址" prop="cmpyRegAddr">
                            <u--input border="none" v-model="form.cmpyRegAddr" placeholder="请输入">
                            <u--input border="none" v-model="form.cmpyRegAddr" placeholder="请输入工作单位地址">
                            </u--input>
                        </u-form-item>
                        <u-form-item @click="showSelectBus('工作状态','workStatus')" class="form-item" labelWidth="100"
                            label="工作状态" prop="workStatus">
                            <u--input border="none" v-model="selectDefaultName.workStatus" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                                disabledColor="#ffffff" placeholder="请选择工作状态">
                            </u--input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
@@ -208,44 +208,45 @@
                        <u-form-item @click="showSelectBus('婚姻状态','maritalStatus')" class="form-item" labelWidth="100"
                            label="婚姻状态" prop="maritalStatus">
                            <u--input border="none" v-model="selectDefaultName.maritalStatus" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                                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="religiousBelief ">
                            <u--input border="none" v-model="form.religiousBelief" placeholder="请输入">
                            <u--input border="none" v-model="form.religiousBelief" placeholder="请输入宗教信仰">
                            </u--input>
                        </u-form-item>
                        <u-form-item @click="showSelectBus('健康状态','healthStatus')" class="form-item" labelWidth="100"
                            label="健康状态" prop="healthStatus">
                            <u--input border="none" v-model="selectDefaultName.healthStatus" disabled
                                disabledColor="#ffffff" placeholder="请选择">
                                disabledColor="#ffffff" placeholder="请选择健康状态">
                            </u--input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </u-form-item>
                        <u-form-item v-if="selectDefaultIndex.healthStatus == 2" class="form-item" labelWidth="100"
                            label="疾病名称" prop="diseaseName">
                            <u--input border="none" v-model="form.diseaseName" placeholder="请输入">
                            <u--input border="none" v-model="form.diseaseName" placeholder="请输入疾病名称">
                            </u--input>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="外出详址" prop="goOutAddr">
                            <u--input border="none" v-model="form.goOutAddr" placeholder="请输入">
                            <u--input border="none" v-model="form.goOutAddr" placeholder="请输入外出详址">
                            </u--input>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="外出去向" prop="goOutWhere">
                            <u--input border="none" v-model="form.goOutWhere" placeholder="请输入">
                        <u-form-item class="form-item" labelWidth="100" label="外出原因" prop="goOutReason  ">
                            <u--input border="none" v-model="form.goOutReason" placeholder="请输入外出原因">
                            </u--input>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="外出时间" prop="goOutTime"
                            @click="showSelectDate = true">
                            <u--input border="none" v-model="form.goOutTime  " disabled disabledColor="#ffffff"
                                placeholder="请选择">
                                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="goOutReason  ">
                            <u--input border="none" v-model="form.goOutReason" placeholder="请输入">
                        <u-form-item class="form-item" labelWidth="100" label="外出去向" prop="goOutWhere">
                            <u--input border="none" v-model="form.goOutWhere" placeholder="请输入外出去向">
                            </u--input>
                        </u-form-item>
                        <u-form-item class="form-item" labelWidth="100" label="车牌号" prop="cardNumber">
@@ -291,7 +292,7 @@
            :show="typeShow" :columns="[selectBusList]" @close="typeShow = false" @cancel="typeShow = false"
            keyName="name" @confirm="typeSelect"></u-picker>
        <u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="patrolTime" mode="date"
        <u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="goOutTime" mode="date"
            :formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
        <u-picker :defaultIndex="[homeIndex]" :closeOnClickOverlay="true" :show="showRegion" :columns="[regionList]"
@@ -455,7 +456,8 @@
                isEdit: false,
                from: "",
                type: "",
                id: ""
                id: "",
                goOutTime: Number(new Date())
            }
        },
        created() {
@@ -474,20 +476,16 @@
                this.isEdit = false;
                this.addOrUpdateTitle = "保存"
                this.getAllBizDict()
                if (option.from) {
                    uni.setNavigationBarTitle({
                        title: "添加成员"
                    })
                }
                uni.setNavigationBarTitle({
                    title: "添加成员"
                })
            }
            if (data.type == 2) {
                this.isEdit = true;
                this.addOrUpdateTitle = "修改"
                if (option.from) {
                    uni.setNavigationBarTitle({
                        title: "编辑成员资料"
                    })
                }
                uni.setNavigationBarTitle({
                    title: "编辑成员资料"
                })
                this.getHouseholdInfo(data)
            }
            if (option.from) {
@@ -500,8 +498,6 @@
            if (this.id) {
                this.getHouseholdInfo()
            }
        },
        methods: {
@@ -660,6 +656,27 @@
            // 新增更新操作
            async saveOrUpdate() {
                this.form['houseCode'] = this.houseCode
                const idCardRegex = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; // 支持15位、18位或者17位加上最后一位为数字或小写"X"的身份证号码
                const telRegex = /^1[3456789]\d{9}$/;
                if (this.form.idCard) {
                    if (!idCardRegex.test(this.form.idCard)) {
                        uni.showToast({
                            title: "身份证号格式有误",
                            icon: "none"
                        })
                        return;
                    }
                }
                if (this.form.phoneNumber) {
                    if (!telRegex.test(this.form.phoneNumber)) {
                        uni.showToast({
                            title: "手机号格式有误",
                            icon: "none"
                        })
                        return;
                    }
                }
                const res = await saveOrUpdateHousehold(this.form)
                if (res.code !== 200) {
                    uni.showToast({
subPackage/house/roomDetails/index.vue
@@ -79,9 +79,9 @@
                            <u-icon name="/static/icon/selected.png" size="16"></u-icon>
                            <!-- u-icon name="photo"></u-icon> -->
                            <view class="owner-img-box" v-if="item.relationship == 1">主</view>
                            <view class="ml-20" v-if="item.householdLabelList.length">
                            <view class="flex flex-wrap ml-20" v-if="item.householdLabelList.length">
                                <block v-for="i in item.householdLabelList">
                                    <view class="mr-10" v-if="i.labelName">
                                    <view class=" mr-10" v-if="i.labelName">
                                        <u-tag :text="i.labelName" :bgColor="i.color" :borderColor="i.color"
                                            size="mini">
                                        </u-tag>
subPackage/workbench/components/actionBtn.vue
New file
@@ -0,0 +1,118 @@
<template>
    <view class="">
        <view class="footer flex a-i-c j-c-s-b">
            <button class="footer-btn" @click="submit(2)">通过</button>
            <button class="footer-btn" @click="open()">驳回</button>
        </view>
        <u-modal :show="isShowModal" title="备注" :showConfirmButton="false">
            <view class="modal-content">
                <u-textarea v-model="remark" placeholder="请输入驳回原因"></u-textarea>
                <view class="modal-btn flex j-c-s-b a-i-c" slot="confirmButton">
                    <button class="modal-btn-item c-main f-30" @click="isShowModal = false">取消</button>
                    <button class="modal-btn-item bgc-main f-30 c-ff" @click="submit(3)">确定</button>
                </view>
            </view>
        </u-modal>
    </view>
</template>
<script>
    export default {
        name: "auditAction",
        data() {
            return {
                isShowModal: false,
                remark: ""
            }
        },
        methods: {
            open() {
                this.isShowModal = true;
            },
            close() {
                this.isShowModal = false;
            },
            submit(type) {
                let data = {
                    type,
                    remark: this.remark
                }
                if (type == 3 && !this.remark) {
                    uni.showToast({
                        title: "请输入驳回原因",
                        icon: "none"
                    })
                    return
                }
                this.$emit("handle", data)
                if (type == 3) {
                    this.close()
                }
            }
        }
    }
</script>
<style lang="scss" scoped>
    .footer {
        width: 100%;
        padding: 20rpx 30rpx;
        box-sizing: border-box;
        position: fixed;
        bottom: 0;
        left: 0;
        background-color: #fff;
        z-index: 10;
        padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
        z-index: 999;
        background-color: #fff;
        box-shadow: 0rpx 0rpx 10rpx 1rpx rgba(0, 0, 0, 0.1);
        .footer-btn {
            width: 300rpx;
            height: 78rpx;
            border-radius: 8rpx;
            font-size: 32rpx;
            color: #fff;
            border: none;
            background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
        }
        .footer-btn:after {
            border: none;
        }
    }
    .modal-content {
        width: 100%;
        .modal-btn {
            width: 100%;
            padding: 40rpx 0 0;
            .modal-btn-item {
                width: 240rpx;
                height: 74rpx;
                line-height: 74rpx;
                border-radius: 35rpx;
                border: none;
                padding: 0;
                margin: 0;
            }
            .modal-btn-item:first-child {
                border: 1px solid currentColor;
                background: transparent;
            }
        }
    }
    /deep/ .u-modal__content {
        padding-bottom: 20rpx !important;
    }
</style>
subPackage/workbench/views/audit.vue
@@ -1,15 +1,24 @@
<template>
    <view>
        <view class="tab">
            <u-tabs :list="tabList" :current="tabIndex" @click="changeTab" :inactiveStyle="{color:'#999999'}"
                :activeStyle="{color:'#017BFC'}">
        <u-sticky>
            <view class="bgc-ff">
                <view class="tab">
                    <u-tabs :list="tabList" :current="tabIndex" @click="changeTab" :inactiveStyle="{color:'#999999'}"
                        :activeStyle="{color:'#017BFC'}" :scrollable="false">
                <view class="tab-filter flex j-c-c a-i-c" slot="right" @click="showDateModal">
                    <text class="f-28">时间筛选</text>
                    <u-icon name="arrow-down"></u-icon>
                    </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">
                            <text class="f-28">时间筛选</text>
                            <u-icon name="arrow-down"></u-icon>
                        </view>
                        <u-search placeholder="请输入需要查询信息的名称" v-model="keyWord" :clearabled="true" :showAction="true"
                            :animation="true" @search="searchConfirm" @clear="clearConfirm"></u-search>
                    </view>
                </view>
            </u-tabs>
        </view>
            </view>
        </u-sticky>
        <view class="list">
            <view class="list-item bgc-ff mb-20" v-for="(i,k) in list" :key="k"
                @click="navTo(i.name,i.id,i.reportType)">
@@ -74,7 +83,8 @@
                frequency: '',
                reportType: "",
                selectDate: [],
                houseCode: ""
                houseCode: "",
                keyword: ""
            }
        },
@@ -101,6 +111,16 @@
        },
        methods: {
            searchConfirm() {
                this.resetParams()
                this.getList()
            },
            clearConfirm() {
                this.keyWord = ''
                this.searchConfirm()
            },
            changeTab(e) {
                this.tabIndex = e.index;
                this.currentStatus = e.status;
@@ -113,7 +133,7 @@
            },
            getList() {
                this.$nextTick(() => {
                    this.loadingStatus = 'loadmore'
                    this.loadingStatus = 'loadingmore'
                    this.$refs.uToast.show({
                        type: 'loading',
                        message: '正在加载',
@@ -124,7 +144,7 @@
                    page: this.currentPage,
                    size: 20,
                    status: this.currentStatus,
                    frequency: this.frequency,
                    frequency: this.frequency
                }
                if (this.selectDate.length) {
                    params.startTime = this.selectDate[0]
@@ -136,6 +156,9 @@
                if (this.reportType) {
                    params.reportType = this.reportType
                }
                if (this.keyword) {
                    params.name = this.keyword;
                }
                getAuditReportingList(params).then(res => {
@@ -190,22 +213,15 @@
        background-color: #F5F5F5;
    }
    .tab {
        width: 100%;
        height: 88rpx;
        position: fixed;
        /*#ifdef H5*/
        top: 88rpx;
        /*#endif*/
        /*#ifdef MP-WEIXIN*/
        top: 0;
        /*#endif*/
        left: 0;
        background-color: #fff;
        padding: 0 30rpx;
        box-sizing: border-box;
        z-index: 999;
    }
    .search {
        padding: 20rpx 20rpx;
    }
    // .tab /deep/.u-tabs__wrapper__nav__item {
@@ -216,7 +232,7 @@
    }
    .list {
        margin: 118rpx 30rpx 0;
        margin: 20rpx 30rpx 0;
    }
    .list-item {
subPackage/workbench/views/bailReportDetail.vue
@@ -9,7 +9,8 @@
        <view class="licence" v-if="locationImageUrls.length">
            <box-title title="位置图片" class="box-title"></box-title>
            <view class="flex-wrap">
                <view v-for="(i,k) in locationImageUrls" :key="k" class="ml-20 mt-20"  @click="previewImg(i,locationImageUrls)">
                <view v-for="(i,k) in locationImageUrls" :key="k" class="ml-20 mt-20"
                    @click="previewImg(i,locationImageUrls)">
                    <u-image :src="i" width="80" height="80"></u-image>
                </view>
            </view>
@@ -18,15 +19,14 @@
        <view class="item mt-30">
            <u-form labelPosition="left" :model="info" ref="form" labelWidth="100" :labelStyle="{fontSize:'28rpx'}">
                <u-form-item label="审核结果" prop="confirmFlag" borderBottom @click="showPicker()">
                <u-form-item label="审核结果" prop="confirmFlag" borderBottom>
                    <u-input v-model="confirmFlag" disabled disabledColor="#ffffff" border="none" placeholder="请输入"
                        placeholderClass="f-28 c-99" inputAlign="right"></u-input>
                    <u-icon slot="right" name="arrow-right"></u-icon>
                </u-form-item>
                <u-form-item label="备注" borderBottom>
                    <u--input type="textarea" v-model="info.confirmNotion" :disabled="isDisabled"
                        disabledColor="#ffffff" placeholderClass="f-28 c-99" border="none"
                        inputAlign="right"></u--input>
                <u-form-item label="备注" borderBottom v-if="info.confirmNotion">
                    <u--input type="textarea" v-model="info.confirmNotion" :disabled="true" disabledColor="#ffffff"
                        placeholderClass="f-28 c-99" border="none" inputAlign="right"></u--input>
                </u-form-item>
                <u-form-item label="审核人员" prop="checkUserName" borderBottom>
@@ -88,7 +88,8 @@
                    <u-upload :fileList="startImageUrls" :previewFullImage="uploadConfig.previewFullImage"
                        :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                        :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
                        @afterRead="afterReadImgs($event,'startImageUrls')" @delete="deletePics($event,'startImageUrls')">
                        @afterRead="afterReadImgs($event,'startImageUrls')"
                        @delete="deletePics($event,'startImageUrls')">
                        <view class="upload-item upload-icon flex_base">
                            <u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
                        </view>
@@ -98,7 +99,8 @@
                    <u-upload :fileList="reachImageUrls" :previewFullImage="uploadConfig.previewFullImage"
                        :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                        :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
                        @afterRead="afterReadImgs($event,'reachImageUrls')" @delete="deletePics($event,'reachImageUrls')">
                        @afterRead="afterReadImgs($event,'reachImageUrls')"
                        @delete="deletePics($event,'reachImageUrls')">
                        <view class="upload-item upload-icon flex_base">
                            <u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
                        </view>
@@ -108,7 +110,8 @@
                    <u-upload :fileList="returnImageUrls" :previewFullImage="uploadConfig.previewFullImage"
                        :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                        :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
                        @afterRead="afterReadImgs($event,'returnImageUrls')" @delete="deletePics($event,'returnImageUrls')">
                        @afterRead="afterReadImgs($event,'returnImageUrls')"
                        @delete="deletePics($event,'returnImageUrls')">
                        <view class="upload-item upload-icon flex_base">
                            <u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
                        </view>
@@ -124,11 +127,14 @@
        <view class="bottom-btn" v-if="roleType == 2 && status == 2">
            <u-button type="primary" @click="submit">提交</u-button>
        </view> -->
        <footer-btn   v-if="roleType == 1 && status == 1" text="提交审核"  @click="submit" />
        <footer-btn   v-if="roleType == 2 && status == 2" text="提交" @click="submit"  />
        <!-- <footer-btn   v-if="roleType == 1 && status == 1" text="提交审核"  @click="submit" /> -->
        <audit-action @handle="submit" v-if="roleType == 1 && status == 1"></audit-action>
        <footer-btn v-if="roleType == 2 && status == 2" text="提交" @click="submit" />
        <u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="goOutDate[tabIndex]" mode="datetime"
            :formatter="formatter" @confirm="confirmDate" @cancel="cancelPickerDate"></u-datetime-picker>
        <u-picker :closeOnClickOverlay="true" @close="isPickerShow = false" :show="isPickerShow" ref="uPicker"
@@ -144,10 +150,12 @@
        getBailReportingDetail,
        setBailReporting
    } from '@/api/reporting/reporting'
    import auditAction from '../components/actionBtn.vue'
    export default {
        components: {
            boxTitle,
            lineItem
            lineItem,
            auditAction
        },
        mixins: [uploadMixin],
        data() {
@@ -268,7 +276,7 @@
                this.showSelectDate = false;
            },
            showPicker() {
                if (this.roleType == 1){
                if (this.roleType == 1) {
                    this.isPickerShow = true
                };
            },
@@ -353,13 +361,14 @@
                })
            },
            previewImg(current,urls){
            previewImg(current, urls) {
                uni.previewImage({
                    current,urls
                    current,
                    urls
                })
            },
            handleConfirm(e) {
                this.confirmFlag = e.value[0].name;
                this.info.confirmFlag = e.value[0].status;
@@ -386,8 +395,10 @@
                return urls.join(",")
            },
            submit() {
            submit(val) {
                if (this.roleType == 1) {
                    this.info.confirmFlag = val.type;
                    this.info.confirmNotion = val.remark;
                    this.submitRequest(this.info);
                } else {
                    this.checkImages()
subPackage/workbench/views/cshw.vue
@@ -3,24 +3,16 @@
        <u-sticky>
            <view class="hander">
                <view class="tab">
                    <u-tabs :list="tabList" :scrollable="true" :current="tabIndex" @click="changeTab"
                        :inactiveStyle="{color:'#999999'}" :activeStyle="{color:'#017BFC'}">
                        <view class="tab-filter flex j-c-c a-i-c" slot="right" @click="showDateModal">
                            <text class="f-28">时间筛选</text>
                            <u-icon name="arrow-down"></u-icon>
                        </view>
                    <u-tabs :list="tabList" :current="tabIndex" @click="changeTab" :inactiveStyle="{color:'#999999'}"
                        :activeStyle="{color:'#017BFC'}" :scrollable="false">
                    </u-tabs>
                </view>
                <view class="search">
                <view class="search flex j-c-s-b a-i-c">
                    <view class="tab-filter flex j-c-c a-i-c" slot="right" @click="showDateModal">
                        <text class="f-28">时间筛选</text>
                        <u-icon name="arrow-down"></u-icon>
                    </view>
                    <u-search placeholder="请输入场所名称" v-model="keyWord" :clearabled="true" :showAction="true"
                        :animation="true" @search="searchConfirm" @clear="clearConfirm"
                        @custom="searchConfirm"></u-search>
@@ -96,7 +88,7 @@
                        type: 'success'
                    },
                    {
                        name: "审核不通过",
                        name: "已拒绝",
                        status: 3,
                        type: 'error'
                    },
@@ -254,7 +246,7 @@
        .search {
            padding: 20rpx 70rpx;
            padding: 20rpx 30rpx;
        }
    }
subPackage/workbench/views/hotelReportDetail.vue
@@ -41,7 +41,15 @@
        <view class="examine">
            <box-title title="审核信息" class="box-title"></box-title>
            <view class="info">
            <view class="row flex j-c-s-b a-i-c">
                <text>审核状态</text>
                <text class="row-right">{{form.confirmFlag}}</text>
            </view>
            <view class="row flex j-c-s-b a-i-c" v-if="remark">
                <text class="f-28">审核状态</text>
                <text class="row-right">{{remark}}</text>
            </view>
            <!-- <view class="info">
                <u-form labelWidth="70" :model="form" ref="form" class="form">
                    <u-form-item label="审核状态" @click="showPicker()" class="form-item" :border-bottom="true">
                        <u--input v-model="form.confirmFlag" disabled disabledColor="#ffffff" placeholder="请选择审核状态"
@@ -52,11 +60,15 @@
                        <u--input type="textarea" v-model="remark"></u--input>
                    </u-form-item>
                </u-form>
            </view>
            </view> -->
        </view>
        <view class="bottom-btn" v-if="(roleType == 1 && status == 1) || (roleType == 2 && status == 2)">
        <!-- <view class="bottom-btn" v-if="(roleType == 1 && status == 1) || (roleType == 2 && status == 2)">
            <u-button type="primary" @click="submit">提交审核</u-button>
        </view>
        </view> -->
        <audit-action @handle="submit" v-if="roleType == 1 && status == 1"></audit-action>
        <u-picker :closeOnClickOverlay="true" @close="isPickerShow = false" :show="isPickerShow" ref="uPicker"
            :columns="columns" keyName="name" @cancel="isPickerShow = false" @confirm="handleConfirm"></u-picker>
    </view>
@@ -69,10 +81,13 @@
        getHotelReportingDetail,
        setHotelReporting
    } from '@/api/reporting/reporting'
    import auditAction from '../components/actionBtn.vue'
    export default {
        components: {
            boxTitle,
            lineItem
            lineItem,
            auditAction
        },
        data() {
            return {
@@ -204,9 +219,18 @@
        methods: {
            showPicker() {
                if (this.roleType == 1) {
                if (this.roleType == 2) {
                    this.isPickerShow = true;
                };
            },
            getIndex(type) {
                let list = this.columns[0];
                for (let i = 0, ii = list.length; i < ii; i++) {
                    if (type == list[i].status) {
                        this.$set(this.form, "confirmFlag", list[i].name)
                    }
                }
            },
            getDetailInfo(id) {
@@ -220,6 +244,8 @@
                        item.value = data[item.name]
                    })
                    this.status = data.confirmFlag;
                    this.remark = data.confirmNotion;
                    this.getIndex(data.confirmFlag)
                    this.fireImages = this.$setImageUrl(data.fireImageUrls);
                    this.scImageUrls = this.$setImageUrl(data.scImageUrls);
                    this.pfImageUrls = this.$setImageUrl(data.pfImageUrls);
@@ -240,20 +266,22 @@
                this.selectStatus = e.value[0].status;
                this.isPickerShow = false
            },
            submit() {
            submit(val) {
                let data = {
                    id: this.id,
                    taskId: this.taskId,
                    status: this.selectStatus,
                    remark: this.remark
                    // status: this.selectStatus,
                    status: val.type,
                    // remark: this.remark
                    remark: val.remark
                }
                if (this.selectStatus == 3 && !this.remark) {
                    uni.showToast({
                        title: "请输入拒绝原因",
                        icon: "none"
                    })
                    return;
                }
                // if (this.selectStatus == 3 && !this.remark) {
                //     uni.showToast({
                //         title: "请输入拒绝原因",
                //         icon: "none"
                //     })
                //     return;
                // }
                setHotelReporting(data).then(res => {
                    if (res.code !== 200) {
                        uni.showToast({
@@ -332,4 +360,15 @@
    /deep/ .uni-input-placeholder {
        font-size: 30rpx;
    }
    .row {
        padding: 20rpx 10rpx;
        font-size: 30rpx;
        border-bottom: 1px solid #eff1f3;
        .row-right {
            color: #969799;
        }
    }
</style>
subPackage/workbench/views/labelReportDetail.vue
@@ -24,7 +24,16 @@
        </view>
        <view class="examine">
            <box-title title="审核信息" class="box-title"></box-title>
            <view class="info">
            <view class="row flex j-c-s-b a-i-c">
                <text>审核状态</text>
                <text class="row-right">{{form.confirmFlag}}</text>
            </view>
            <view class="row flex j-c-s-b a-i-c" v-if="remark">
                <text class="f-28">审核状态</text>
                <text class="row-right">{{remark}}</text>
            </view>
            <!-- <view class="info">
                <u-form labelWidth="70" :model="form" ref="form" class="form">
                    <u-form-item label="审核状态" @click="showPicker()" class="form-item" :border-bottom="true">
                        <u--input v-model="form.confirmFlag" disabled disabledColor="#ffffff" placeholder="请选择审核状态"
@@ -35,13 +44,17 @@
                        <u--input type="textarea" v-model="remark"></u--input>
                    </u-form-item>
                </u-form>
            </view>
            </view> -->
        </view>
        <view class="bottom-btn" v-if="(roleType == 1 && status == 1) || (roleType == 2 && status == 2)">
        <!-- <view class="bottom-btn" v-if="(roleType == 1 && status == 1) || (roleType == 2 && status == 2)">
            <u-button type="primary" @click="submit">提交审核</u-button>
        </view>
        <u-picker :closeOnClickOverlay="true" @close="isPickerShow = false" :show="isPickerShow" ref="uPicker"
            :columns="columns" keyName="name" @cancel="isPickerShow = false" @confirm="handleConfirm"></u-picker>
        </view> -->
        <audit-action @handle="submit" v-if="roleType == 1 && status == 1"></audit-action>
        <u-picker :defaultIndex="defaultIndex" :closeOnClickOverlay="true" @close="isPickerShow = false"
            :show="isPickerShow" ref="uPicker" :columns="columns" keyName="name" @cancel="isPickerShow = false"
            @confirm="handleConfirm"></u-picker>
    </view>
</template>
@@ -52,10 +65,14 @@
        getLabelReportingDetail,
        setLabelReporting
    } from '@/api/reporting/reporting'
    import auditAction from '../components/actionBtn.vue'
    export default {
        components: {
            boxTitle,
            lineItem
            lineItem,
            auditAction
        },
        data() {
            return {
@@ -114,7 +131,8 @@
                remark: "",
                roleType: "",
                status: 1,
                id: ""
                id: "",
                defaultIndex: 0
            }
        },
@@ -134,9 +152,20 @@
        methods: {
            showPicker() {
                if (this.roleType == 1) {
                if (this.roleType == 2) {
                    this.isPickerShow = true;
                };
            },
            getIndex(type) {
                let list = this.columns[0];
                for (let i = 0, ii = list.length; i < ii; i++) {
                    if (type == list[i].status) {
                        this.$set(this.form, "confirmFlag", list[i].name)
                        this.defaultIndex = [i]
                    }
                }
            },
            getDetailInfo(id) {
@@ -146,7 +175,9 @@
                    console.log(res);
                    let data = res.data;
                    this.id = data.id;
                    this.status = res.confirmFlag;
                    this.status = data.confirmFlag;
                    this.remark = data.confirmNotion;
                    this.getIndex(data.confirmFlag)
                    this.basicData.forEach(item => {
                        item.value = data[item.name]
                    })
@@ -165,24 +196,27 @@
            },
            handleConfirm(e) {
                this.defaultIndex = e.indexs;
                this.form.confirmFlag = e.value[0].name;
                this.selectStatus = e.value[0].status;
                this.isPickerShow = false
            },
            submit() {
            submit(val) {
                let data = {
                    id: this.id,
                    taskId: this.taskId,
                    status: this.selectStatus,
                    remark: this.remark
                    // status: this.selectStatus,
                    status: val.type,
                    // remark: this.remark
                    remark: val.remark
                }
                if (this.selectStatus == 3 && !this.remark) {
                    uni.showToast({
                        title: "请输入拒绝原因",
                        icon: "none"
                    })
                    return;
                }
                // if (this.selectStatus == 3 && !this.remark) {
                //     uni.showToast({
                //         title: "请输入拒绝原因",
                //         icon: "none"
                //     })
                //     return;
                // }
                setLabelReporting(data).then(res => {
                    if (res.code !== 200) {
                        uni.showToast({
@@ -191,11 +225,10 @@
                        })
                    } else {
                        uni.showToast({
                            title: '提交成功',
                            title: '操作成功',
                        })
                        this.reLoadPrePage();
                    }
                })
            },
@@ -261,4 +294,14 @@
    /deep/ .uni-input-placeholder {
        font-size: 30rpx;
    }
    .row {
        padding: 20rpx 10rpx;
        font-size: 30rpx;
        border-bottom: 1px solid #eff1f3;
        .row-right {
            color: #969799;
        }
    }
</style>
subPackage/workbench/views/rental.vue
@@ -8,15 +8,16 @@
            <view class="tabs">
                <u-tabs :list="tabsList" :current="tabIndex" @click="tabClick" :inactiveStyle="{color:'#999999'}"
                    :activeStyle="{color:'#017BFC'}">
                    <view class="tab-filter flex j-c-c a-i-c" slot="right" @click="showDateModal">
                        <text class="f-28">时间筛选</text>
                        <u-icon name="arrow-down"></u-icon>
                    </view>
                </u-tabs>
            </view>
            <view class="search-box">
            <view class="search-box flex j-c-s-b a-i-c">
                <view class="tab-filter flex j-c-c a-i-c" @click="showDateModal">
                    <text class="f-28">时间筛选</text>
                    <u-icon name="arrow-down"></u-icon>
                </view>
                <u-search placeholder="请输入租户名" v-model="keyword" :clearabled="true" :showAction="true" :animation="true"
                    @search="search" @clear="clear"  @custom="search"></u-search>
                    @search="search" @clear="clear" @custom="search"></u-search>
            </view>
        </view>
@@ -70,7 +71,7 @@
        </view>
        <u-toast ref="uToast"></u-toast>
        <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="已经到底了" line />
         <date-range-modal  ref="dateRane"    @comfirm="handleComfirmDate"  @rest="handleRestDate"  />
        <date-range-modal ref="dateRane" @comfirm="handleComfirmDate" @rest="handleRestDate" />
    </view>
</template>
@@ -80,9 +81,9 @@
        getStatistics
    } from '@/api/houseRental/houseRental.js'
    import dateRangeModal from '@/components/dateRangeModal/modal.vue';
    export default {
        components:{
        components: {
            dateRangeModal
        },
        data() {
@@ -187,7 +188,7 @@
                    },
                ],
                tabIndex: 0,
                selectDate:[]
                selectDate: []
            }
        },
        computed: {
@@ -204,7 +205,7 @@
            }
        },
        onLoad(option) {
            if(option.from){
            if (option.from) {
                this.tabIndex = 1
                this.pagingParams.auditStatus = 0;
            }
@@ -220,17 +221,17 @@
            this.getRentalHouseInfo()
        },
        methods: {
            showStatus(status){
            showStatus(status) {
                let data = JSON.parse(JSON.stringify(this.tabsList))
                data.splice(0,1);
                for(let i of data){
                    if(i.value == status){
                data.splice(0, 1);
                for (let i of data) {
                    if (i.value == status) {
                        return i.name
                    }
                }
            },
            handleSelect(res) {
                const [auditStatus, floor] = res
                this.resetParams()
@@ -301,11 +302,11 @@
                const {
                    roleName
                } = this.currentRole
                if(this.selectDate.length){
                    this.pagingParams.startTime = this.selectDate[0],
                    this.pagingParams.endTime = this.selectDate[1]
                if (this.selectDate.length) {
                    this.pagingParams.startTime = this.selectDate[0],
                        this.pagingParams.endTime = this.selectDate[1]
                }
                const {
                    code,
@@ -353,15 +354,15 @@
                    size: 10
                }
            },
            showDateModal(){
            showDateModal() {
                this.$refs.dateRane.open();
            },
            handleRestDate(){
            handleRestDate() {
                this.selectDate = [];
                this.resetParams();
                this.getRentalHouseInfo()
            },
            handleComfirmDate(val){
            handleComfirmDate(val) {
                this.selectDate = val;
                this.resetParams();
                this.getRentalHouseInfo()
@@ -393,16 +394,18 @@
        height: 100rpx;
    }
    .tabs{
        width:100%;
    .tabs {
        width: 100%;
    }
    .tab-filter {
        padding: 0 20rpx;
    }
    .search-box {
        padding: 20rpx 24rpx 30rpx;
        padding: 20rpx 30rpx 30rpx;
    }
    .content {
@@ -470,4 +473,4 @@
            }
        }
    }
</style>
</style>
subPackage/workbench/views/report.vue
@@ -5,14 +5,12 @@
                <view class="tab">
                    <u-tabs :list="tabList" :scrollable="false" :current="tabIndex" @click="changeTab"
                        :inactiveStyle="{color:'#999999'}" :activeStyle="{color:'#017BFC'}">
                        <view class="tab-filter flex j-c-c a-i-c" slot="right" @click="showDateModal">
                    </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">
                            <text class="f-28">时间筛选</text>
                            <u-icon name="arrow-down"></u-icon>
                        </view>
                    </u-tabs>
                    <view class="search">
                        <u-search placeholder="请输入需要查询信息的姓名" v-model="keyWord" :clearabled="true" :showAction="true"
                            :animation="true" @search="searchConfirm" @clear="clearConfirm"></u-search>
                    </view>
@@ -239,7 +237,7 @@
        }
        .search {
            padding: 20rpx 70rpx;
            padding: 20rpx 30rpx;
        }
    }
subPackage/workbench/views/reportAudit.vue
@@ -29,13 +29,22 @@
            </view> -->
            <caption-row title="审核信息" />
            <view class="step-list " v-for="i in defaultData.taskRepairStepList"
                v-if="defaultData.taskRepairStepList.length">
                <view class="f-26 mb-10 c-99">{{i.createTime}} </view>
                <view class="f-28">{{i.content}}</view>
            <view class="step">
                <view class="step-list " v-for="i in defaultData.taskRepairStepList"
                    v-if="defaultData.taskRepairStepList.length">
                    <view class="flex j-c-s-b a-i-c mb-10">
                        <text class="f-30 fw">{{i.peopleType ==1?"转办":"已处理"}}</text>
                        <text class="f-26 c-99">{{i.createTime}} </text>
                    </view>
                    <view class="f-28">{{i.content}}</view>
                </view>
            </view>
            <view class="audit-form">
            <view class="audit-form" v-if="defaultData.confirmFlag == 1">
                <u-form labelWidth="70" :model="form" class="form" ref="form">
                    <!-- <u-form-item label="事件状态" @click="showPicker" class="form-item">
                        <u--input v-model="form.confirmFlag" disabled disabledColor="#ffffff" placeholder="请选择审核状态"
@@ -51,13 +60,14 @@
            </view>
        </view>
        <view class="upload bgc-ff">
        <view class="upload bgc-ff" v-if="(confirmFlag == 1) || (confirmFlag == 3 && form.imageList.length)">
            <view class="f-28">图片</view>
            <view class="mt-20">
                <u-upload :fileList="imageList" :previewFullImage="uploadConfig.previewFullImage"
                    :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
                    :capture="uploadConfig.capture" @afterRead="afterReadImg($event,'imageList')"
                    @delete="deletePics($event,'imageList')">
                <u-upload :fileList="form.imageList" :previewFullImage="uploadConfig.previewFullImage"
                    :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                    :maxCount="confirmFlag == 3 && form.imageList.length?form.imageList.length:uploadConfig.maxCount"
                    :capture="uploadConfig.capture" :deletable="confirmFlag == 3 && form.imageList.length?false:true"
                    @afterRead="afterReadImg($event,'imageList')" @delete="deletePics($event,'imageList')">
                    <view class="upload-item upload-icon flex_base">
                        <u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
                    </view>
@@ -65,13 +75,14 @@
            </view>
        </view>
        <view class="upload bgc-ff">
        <view class="upload bgc-ff" v-if="(confirmFlag == 1) || (confirmFlag == 3 && form.videoList.length)">
            <view class="f-28">视频</view>
            <view class="mt-20">
                <u-upload :fileList="videoList" :previewFullImage="uploadConfig.previewFullImage"
                    :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
                    :capture="uploadConfig.capture" @afterRead="afterReadImg($event,'videoList')"
                    @delete="deletePics($event,'videoList')">
                <u-upload :fileList="form.videoList" :previewFullImage="uploadConfig.previewFullImage"
                    :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                    :maxCount="confirmFlag == 3 && form.videoList.length?form.videoList.length:uploadConfig.maxCount"
                    :capture="uploadConfig.capture" :deletable="confirmFlag == 3 && form.videoList.length?false:true"
                    @afterRead="afterReadImg($event,'videoList')" @delete="deletePics($event,'videoList')">
                    <view class="upload-item upload-icon flex_base">
                        <u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
                    </view>
@@ -86,7 +97,7 @@
        <!-- <footer-btn  @click="submit"  v-if="from == 'list'"></footer-btn> -->
        <view class="footer flex a-i-c j-c-s-b" v-if="from == 'list'">
        <view class="footer flex a-i-c j-c-s-b" v-if="from == 'list' && confirmFlag == 1">
            <button class="footer-btn" @click="submit(0)">处置</button>
            <button class="footer-btn" @click="submit(1)">转办</button>
        </view>
@@ -173,13 +184,17 @@
                ],
                form: {
                    confirmFlag: '',
                    confirmNotion: ''
                    confirmNotion: '',
                    imageList: [],
                    videoList: []
                },
                defaultPlaceholder: "",
                defaultColums: 0,
                imgUrls: [],
                currentId: '',
                defaultData: {},
                defaultData: {
                    taskRepairStepList: []
                },
                isPickerShow: false,
                columns: [
                    [{
@@ -213,8 +228,8 @@
                isShowPeoplePicker: false,
                transferUserId: "",
                content: "",
                imageList: [],
                videoList: []
                confirmFlag: ""
            }
        },
        onLoad(option) {
@@ -223,10 +238,20 @@
            if (option.from) {
                this.from = option.from;
            }
            const {
                data
            } = option
            this.defaultData = JSON.parse(data)
            let data = JSON.parse(option.data)
            this.defaultData = data;
            this.confirmFlag = data.confirmFlag;
            if (data.confirmFlag == 3 && data.taskRepairStepList.length) {
                let {
                    imageList,
                    videoList
                } = data.taskRepairStepList[data.taskRepairStepList.length - 1];
                this.form.imageList = this.$setImageUrl(imageList, 2)
                this.form.videoList = this.$setImageUrl(videoList, 2)
            }
            this.getPeopleList(0)
        },
        onShow() {
@@ -259,6 +284,15 @@
                    confirmFlag,
                    confirmNotion
                } = this.form
                if (!confirmNotion) {
                    uni.showToast({
                        title: "请输入处理情况",
                        icon: "none"
                    })
                    return;
                }
                const res = await checkReportForRepairsData({
                    // id: this.currentId,
                    id: this.defaultData.id,
@@ -314,13 +348,13 @@
                    this.isShowPeoplePicker = true;
                } else {
                    let data = {
                        confirmFlag: 2,
                        confirmFlag: 3,
                        content: this.form.confirmNotion,
                        imageList: this.getFileName(this.imageList),
                        imageList: this.getFileName(this.form.imageList),
                        mobile: this.defaultData.mobile,
                        peopleType: 0,
                        repairId: this.defaultData.id,
                        videoList: this.getFileName(this.videoList)
                        videoList: this.getFileName(this.form.videoList)
                    }
                    this.submitRequest(data)
                }
@@ -330,7 +364,7 @@
            getFileName(urls) {
                if (urls.length) {
                    let arr = [];
                    for (let i of url) {
                    for (let i of urls) {
                        arr.push(i.name);
                    }
                    return arr.join(",");
@@ -532,6 +566,11 @@
        }
    }
    .step {
        margin-top: 20rpx;
        padding: 0 20rpx;
    }
    .step-list {
        padding: 15rpx 0;
    }
subPackage/workbench/views/schoolReportDetail.vue
@@ -17,14 +17,31 @@
        <view class="planegraph" v-if="goodsImageUrls.length">
            <box-title title="物品照片" class="box-title"></box-title>
            <view class="flex-wrap">
                <view v-for="(i,k) in goodsImageUrls" :key="k" class="ml-20 mt-20"   @click="previewImg(i,goodsImageUrls)">
                <view v-for="(i,k) in goodsImageUrls" :key="k" class="ml-20 mt-20"
                    @click="previewImg(i,goodsImageUrls)">
                    <u-image :src="i" width="80" height="80"></u-image>
                </view>
            </view>
        </view>
        <view class="examine">
            <box-title title="审核信息" class="box-title"></box-title>
            <view class="info">
            <view class="row flex j-c-s-b a-i-c">
                <text>审核状态</text>
                <text class="row-right">{{form.confirmFlag}}</text>
            </view>
            <view class="row flex j-c-s-b a-i-c" v-if="remark">
                <text class="f-28">审核状态</text>
                <text class="row-right">{{remark}}</text>
            </view>
            <view class="row flex j-c-s-b a-i-c">
                <text>审核状态</text>
                <text class="row-right">{{form.confirmFlag}}</text>
            </view>
            <view class="row flex j-c-s-b a-i-c" v-if="remark">
                <text class="f-28">审核状态</text>
                <text class="row-right">{{remark}}</text>
            </view>
            <!-- <view class="info">
                <u-form labelWidth="70" :model="form" ref="form" class="form">
                    <u-form-item label="审核状态" @click="isPickerShow = true" class="form-item" :border-bottom="true">
                        <u--input v-model="form.confirmFlag" disabled disabledColor="#ffffff" placeholder="请选择审核状态"
@@ -35,11 +52,14 @@
                        <u--input type="textarea" v-model="remark"></u--input>
                    </u-form-item>
                </u-form>
            </view>
            </view> -->
        </view>
        <view class="bottom-btn" v-if="(roleType == 1 && status == 1) || (roleType == 2 && status == 2)">
        <!-- <view class="bottom-btn" v-if="(roleType == 1 && status == 1) || (roleType == 2 && status == 2)">
            <u-button type="primary" @click="submit">提交审核</u-button>
        </view>
        </view> -->
        <audit-action @handle="submit" v-if="roleType == 1 && status == 1"></audit-action>
        <u-picker :closeOnClickOverlay="true" @close="isPickerShow = false" :show="isPickerShow" ref="uPicker"
            :columns="columns" keyName="name" @cancel="isPickerShow = false" @confirm="handleConfirm"></u-picker>
    </view>
@@ -52,10 +72,12 @@
        getSchoolReportingDetail,
        setShoolReporting
    } from '@/api/reporting/reporting'
    import auditAction from '../components/actionBtn.vue'
    export default {
        components: {
            boxTitle,
            lineItem
            lineItem,
            auditAction
        },
        data() {
            return {
@@ -166,23 +188,35 @@
                haImageUrls: [], //高空抛物监控照片
                selectStatus: "",
                remark: "",
                roleType:"",
                status:1,
                id:""
                roleType: "",
                status: 1,
                id: ""
            }
        },
        onLoad(option) {
            this.taskId = option.id;
            this.getDetailInfo(option.id);
            let roleName = uni.getStorageSync("activeRole").roleName
            if(roleName == "居民"){
            if (roleName == "居民") {
                this.roleType = 2
            }else {
            } else {
                this.roleType = 1
            }
        },
        methods: {
            getIndex(type) {
                let list = this.columns[0];
                for (let i = 0, ii = list.length; i < ii; i++) {
                    if (type == list[i].status) {
                        this.$set(this.form, "confirmFlag", list[i].name)
                        // this.defaultIndex = [i]
                    }
                }
            },
            getDetailInfo(id) {
                getSchoolReportingDetail({
                    taskId: id
@@ -194,6 +228,8 @@
                        item.value = data[item.name] || "未完善"
                    })
                    this.status = data.confirmFlag;
                    this.remark = data.confirmNotion;
                    this.getIndex(data.confirmFlag)
                    this.foImageUrls = this.$setImageUrl(data.foImageUrls);
                    this.fireFacsImageUrls = this.$setImageUrl(data.fireFacsImageUrls);
                    this.patrolImageUrls = this.$setImageUrl(data.patrolImageUrls);
@@ -201,10 +237,11 @@
                    this.haImageUrls = this.$setImageUrl(data.haImageUrls);
                })
            },
            previewImg(current,urls){
            previewImg(current, urls) {
                uni.previewImage({
                    current,urls
                    current,
                    urls
                })
            },
@@ -213,45 +250,46 @@
                this.selectStatus = e.value[0].status;
                this.isPickerShow = false
            },
            submit() {
            submit(val) {
                let data = {
                    id: this.id,
                    taskId:this.taskId,
                    status: this.selectStatus,
                    remark: this.remark
                    taskId: this.taskId,
                    // status: this.selectStatus,
                    status: val.type,
                    // remark: this.remark
                    remark: val.remark
                }
                if (this.selectStatus == 3 && !this.remark) {
                    uni.showToast({
                        title: "请输入拒绝原因",
                        icon: "none"
                    })
                    return;
                }
                // if (this.selectStatus == 3 && !this.remark) {
                //     uni.showToast({
                //         title: "请输入拒绝原因",
                //         icon: "none"
                //     })
                //     return;
                // }
                setSchoolReporting(data).then(res => {
                    if (res.code !== 200) {
                        uni.showToast({
                            title: '更新失败',
                            icon: 'error'
                        })
                    }else{
                    } else {
                        uni.showToast({
                            title: '提交成功',
                            title: '提交成功',
                        })
                        this.reLoadPrePage();
                    }
                    uni.navigateBack()
                })
            },
            //刷新上一页数据后返回
            reLoadPrePage() {
                let pages = getCurrentPages();
                let prePage = pages[pages.length - 2];
                prePage.$vm.currentPage = 1,
                prePage.$vm.list = [];
                prePage.$vm.currentPage = 1,
                    prePage.$vm.list = [];
                prePage.$vm.getList();
                uni.navigateBack();
            },
            },
        }
    }
</script>
@@ -304,4 +342,14 @@
    /deep/ .uni-input-placeholder {
        font-size: 30rpx;
    }
    .row {
        padding: 20rpx 10rpx;
        font-size: 30rpx;
        border-bottom: 1px solid #eff1f3;
        .row-right {
            color: #969799;
        }
    }
</style>