Lou
2023-11-13 68581746a52fbe291302ac39d27744e9122332cf
标签报事详情修改
3 files modified
783 ■■■■■ changed files
subPackage/workbench/views/hotelReportDetail.vue 6 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/labelReportDetail.vue 501 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/schoolReportDetail.vue 276 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/hotelReportDetail.vue
@@ -43,7 +43,7 @@
            <box-title title="审核信息" class="box-title"></box-title>
            <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-form-item label="审核状态"  @click="showPicker()" class="form-item" :border-bottom="true">
                        <u--input v-model="form.confirmFlag" disabled disabledColor="#ffffff" placeholder="请选择审核状态"
                            :border="false"></u--input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
@@ -195,6 +195,10 @@
        },
        methods: {
            showPickerDate() {
                if (this.roleType == 2 && this.status != 2) return;
                this.isPickerShow = true;
            },
            getDetailInfo(id) {
                getHotelReportingDetail({
subPackage/workbench/views/labelReportDetail.vue
@@ -1,282 +1,231 @@
<template>
    <view class="container">
        <view class="basic">
            <box-title title="基本信息" class="box-title"></box-title>
            <view class="info">
                <lineItem :dataInfo="basicData"></lineItem>
            </view>
        </view>
        <view class="licence" v-if="imageUrls.length">
            <box-title title="手持身份证" class="box-title"></box-title>
            <view class="flex-wrap">
                <view v-for="(i,k) in imageUrls" :key="k" class="ml-20 mt-20">
                    <u-image :src="i" width="80" height="80"></u-image>
                </view>
            </view>
        </view>
        <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">
                    <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">
                <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="请选择审核状态"
                            :border="false"></u--input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
                    </u-form-item>
                    <u-form-item label="备注" class="form-item" v-if="selectStatus == 3">
                        <u--input type="textarea" v-model="remark"></u--input>
                    </u-form-item>
                </u-form>
            </view>
        </view>
        <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>
    <view class="container">
        <view class="basic">
            <box-title title="基本信息" class="box-title"></box-title>
            <view class="info">
                <lineItem :dataInfo="basicData"></lineItem>
            </view>
        </view>
        <view class="licence" v-if="imageUrls.length">
            <box-title title="手持身份证" class="box-title"></box-title>
            <view class="flex-wrap">
                <view v-for="(i,k) in imageUrls" :key="k" class="ml-20 mt-20">
                    <u-image :src="i" width="80" height="80"></u-image>
                </view>
            </view>
        </view>
        <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">
                    <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">
                <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="请选择审核状态"
                            :border="false"></u--input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
                    </u-form-item>
                    <u-form-item label="备注" class="form-item" v-if="selectStatus == 3">
                        <u--input type="textarea" v-model="remark"></u--input>
                    </u-form-item>
                </u-form>
            </view>
        </view>
        <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>
</template>
<script>
    import boxTitle from "@/subPackage/workbench/components/boxTitle/index.vue"
    import lineItem from '../components/lineItem.vue'
    import {
        getSchoolReportingDetail,
        setShoolReporting
    } from '@/api/reporting/reporting'
    export default {
        components: {
            boxTitle,
            lineItem
        },
        data() {
            return {
                basicData: [{
                        label: '社区名称',
                        name: "districtName",
                        value: '未完善'
                    },
                    {
                        label: '校园名称',
                        name: 'campusName',
                        value: '未完善'
                    },
                    {
                        label: '自查时间',
                        name: 'checkTime',
                        value: '未完善'
                    },
                    {
                        label: '自查人姓名',
                        name: 'checkUserName',
                        value: '未完善'
                    },
                    {
                        label: '自查位置',
                        name: 'localtion',
                        value: '未完善'
                    },
                    {
                        label: '四个一工程',
                        name: 'fourOne',
                        value: '未完善'
                    },
                    {
                        label: '消防设施种类',
                        name: 'fireFacsType',
                        value: '未完善'
                    },
                    {
                        label: '消防器材数量',
                        name: 'fireFacsNums',
                        value: '未完善'
                    },
                    {
                        label: '安全通道状态',
                        name: 'scStatus',
                        value: '未完善'
                    },
                    {
                        label: '大门是否装备防撞装置',
                        name: 'antiCollision',
                        value: '未完善'
                    },
                    {
                        label: '专职保安人员',
                        name: 'fullSoNums',
                        value: '未完善'
                    },
                    {
                        label: '兼职保安人员',
                        name: 'partSoNums',
                        value: '未完善'
                    },
                    {
                        label: '学校监控总数',
                        name: 'monitorNums',
                        value: '未完善'
                    },
                    {
                        label: '监控是否全覆盖',
                        name: 'monitorOver',
                        value: '未完善'
                    },
                    {
                        label: '高空抛物监控',
                        name: 'highAltitudeMonitor',
                        value: '未完善'
                    },
                ],
                form: {
                    confirmFlag: '待审核',
                    confirmNotion: ''
                },
                isPickerShow: false,
                columns: [
                    [{
                            name: "待审核",
                            status: 1
                        },
                        {
                            name: "审核通过",
                            status: 2
                        },
                        {
                            name: "审核不通过",
                            status: 3
                        },
                    ]
                ],
                currentId: '',
                currentData: {},
                id: "",
                foImageUrls: [], //四个一工程照片
                fireFacsImageUrls: [], //灭火器图片
                scImageUrls: [], // 安全通道图片
                patrolImageUrls: [], //周边巡查照片
                antiCollisionImageUrls: [], //防撞装置照片
                haImageUrls: [], //高空抛物监控照片
                selectStatus: "",
                remark: ""
            }
        },
        onLoad(option) {
            this.id = option.id;
            this.getDetailInfo(option.id);
        },
        methods: {
            getDetailInfo(id) {
                getSchoolReportingDetail({
                    taskId: id
                }).then(res => {
                    console.log(res);
                    let data = res.data;
                    this.basicData.forEach(item => {
                        item.value = data[item.name] || "未完善"
                    })
                    this.foImageUrls = this.setImages(data.foImageUrls);
                    this.fireFacsImageUrls = this.setImages(data.fireFacsImageUrls);
                    this.patrolImageUrls = this.setImages(data.patrolImageUrls);
                    this.antiCollisionImageUrls = this.setImages(data.antiCollisionImageUrls);
                    this.haImageUrls = this.setImages(data.haImageUrls);
                })
    import boxTitle from "@/subPackage/workbench/components/boxTitle/index.vue"
    import lineItem from '../components/lineItem.vue'
    import {
        getLabelReportingDetail,
        setLabelReporting
    } from '@/api/reporting/reporting'
    export default {
        components: {
            boxTitle,
            lineItem
        },
        data() {
            return {
                basicData: [{
                        label: '对象电话',
                        name: "transactionObjectTel",
                        value: '未完善'
                    },
                    {
                        label: '交易金额',
                        name: 'transactionMoney',
                        value: '未完善'
                    },
                    {
                        label: '物品数量',
                        name: 'goodsNums',
                        value: '未完善'
                    },
                    {
                        label: '交易位置',
                        name: 'localtion',
                        value: '未完善'
                    },
                    {
                        label: '交易过程',
                        name: 'transactionProcess',
                        value: '未完善'
                    }
                ],
                form: {
                    confirmFlag: '待审核',
                    confirmNotion: ''
                },
                isPickerShow: false,
                columns: [
                    [{
                            name: "待审核",
                            status: 1
                        },
                        {
                            name: "审核通过",
                            status: 2
                        },
                        {
                            name: "审核不通过",
                            status: 3
                        },
                    ]
                ],
                currentId: '',
                currentData: {},
                id: "",
                imageUrls: [],
                goodsImageUrls: [],
                selectStatus: "",
                remark: ""
            }
        },
        onLoad(option) {
            this.id = option.id;
            this.getDetailInfo(option.id);
        },
        methods: {
            showPickerDate() {
                if (this.roleType == 2 && this.status != 2) return;
                this.isPickerShow = true;
            },
            setImages(str) {
                if (str) {
                    return str.split(",")
                } else {
                    return []
                }
            },
            handleConfirm(e) {
                this.form.confirmFlag = e.value[0].name;
                this.selectStatus = e.value[0].status;
                this.isPickerShow = false
            },
            submit() {
                let data = {
                    id: this.id,
                    status: this.selectStatus,
                    remark: this.remark
                }
                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'
                        })
                        return
                    }
                    uni.navigateBack()
                })
            },
        }
    }
            getDetailInfo(id) {
                getLabelReportingDetail({
                    taskId: id
                }).then(res => {
                    console.log(res);
                    let data = res.data;
                    this.basicData.forEach(item => {
                        item.value = data[item.name]
                    })
                    this.imageUrls = this.setImages(data.imageUrls);
                    this.goodsImageUrls = this.setImages(data.goodsImageUrls);
                })
            },
            setImages(str) {
                if (str) {
                    return str.split(",")
                } else {
                    return []
                }
            },
            handleConfirm(e) {
                this.form.confirmFlag = e.value[0].name;
                this.selectStatus = e.value[0].status;
                this.isPickerShow = false
            },
            submit() {
                let data = {
                    id: this.id,
                    status: this.selectStatus,
                    remark: this.remark
                }
                if (this.selectStatus == 3 && !this.remark) {
                    uni.showToast({
                        title: "请输入拒绝原因",
                        icon: "none"
                    })
                    return;
                }
                setLabelReporting(data).then(res => {
                    if (res.code !== 200) {
                        uni.showToast({
                            title: '更新失败',
                            icon: 'error'
                        })
                        return
                    }
                    uni.navigateBack()
                })
            },
        }
    }
</script>
<style lang="scss">
    .container {
        padding: 0 20rpx 130rpx;
        .box-title {
            margin-bottom: 15rpx;
        }
        .info {
            .title {
                font-size: 30rpx;
                padding-left: 10rpx;
            }
            .images-box {
                padding: 20rpx;
                min-height: 100rpx;
                background-color: #fff;
            }
        }
        .form {
            background-color: #fff;
            .form-item {
                padding: 0 20rpx;
                &:first-child {
                    border-bottom: 1rpx solid #f6f6ff;
                }
            }
        }
        .bottom-btn {
            position: fixed;
            left: 0;
            bottom: 0;
            padding: 20rpx;
            width: calc(100% - 40rpx);
            background-color: #fff;
            z-index: 9999;
        }
    }
    /deep/ .u-form-item__body__left__content__label,
    /deep/ .uni-input-placeholder {
        font-size: 30rpx;
    }
</style>
    .container {
        padding: 0 20rpx 130rpx;
        .box-title {
            margin-bottom: 15rpx;
        }
        .info {
            .title {
                font-size: 30rpx;
                padding-left: 10rpx;
            }
            .images-box {
                padding: 20rpx;
                min-height: 100rpx;
                background-color: #fff;
            }
        }
        .form {
            background-color: #fff;
            .form-item {
                padding: 0 20rpx;
                &:first-child {
                    border-bottom: 1rpx solid #f6f6ff;
                }
            }
        }
        .bottom-btn {
            position: fixed;
            left: 0;
            bottom: 0;
            padding: 20rpx;
            width: calc(100% - 40rpx);
            background-color: #fff;
            z-index: 9999;
        }
    }
    /deep/ .u-form-item__body__left__content__label,
    /deep/ .uni-input-placeholder {
        font-size: 30rpx;
    }
</style>
subPackage/workbench/views/schoolReportDetail.vue
@@ -1,8 +1,282 @@
<template>
    <view class="container">
        <view class="basic">
            <box-title title="基本信息" class="box-title"></box-title>
            <view class="info">
                <lineItem :dataInfo="basicData"></lineItem>
            </view>
        </view>
        <view class="licence" v-if="imageUrls.length">
            <box-title title="手持身份证" class="box-title"></box-title>
            <view class="flex-wrap">
                <view v-for="(i,k) in imageUrls" :key="k" class="ml-20 mt-20">
                    <u-image :src="i" width="80" height="80"></u-image>
                </view>
            </view>
        </view>
        <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">
                    <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">
                <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="请选择审核状态"
                            :border="false"></u--input>
                        <u-icon slot="right" name="arrow-right"></u-icon>
                    </u-form-item>
                    <u-form-item label="备注" class="form-item" v-if="selectStatus == 3">
                        <u--input type="textarea" v-model="remark"></u--input>
                    </u-form-item>
                </u-form>
            </view>
        </view>
        <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>
</template>
<script>
    import boxTitle from "@/subPackage/workbench/components/boxTitle/index.vue"
    import lineItem from '../components/lineItem.vue'
    import {
        getSchoolReportingDetail,
        setShoolReporting
    } from '@/api/reporting/reporting'
    export default {
        components: {
            boxTitle,
            lineItem
        },
        data() {
            return {
                basicData: [{
                        label: '社区名称',
                        name: "districtName",
                        value: '未完善'
                    },
                    {
                        label: '校园名称',
                        name: 'campusName',
                        value: '未完善'
                    },
                    {
                        label: '自查时间',
                        name: 'checkTime',
                        value: '未完善'
                    },
                    {
                        label: '自查人姓名',
                        name: 'checkUserName',
                        value: '未完善'
                    },
                    {
                        label: '自查位置',
                        name: 'localtion',
                        value: '未完善'
                    },
                    {
                        label: '四个一工程',
                        name: 'fourOne',
                        value: '未完善'
                    },
                    {
                        label: '消防设施种类',
                        name: 'fireFacsType',
                        value: '未完善'
                    },
                    {
                        label: '消防器材数量',
                        name: 'fireFacsNums',
                        value: '未完善'
                    },
                    {
                        label: '安全通道状态',
                        name: 'scStatus',
                        value: '未完善'
                    },
                    {
                        label: '大门是否装备防撞装置',
                        name: 'antiCollision',
                        value: '未完善'
                    },
                    {
                        label: '专职保安人员',
                        name: 'fullSoNums',
                        value: '未完善'
                    },
                    {
                        label: '兼职保安人员',
                        name: 'partSoNums',
                        value: '未完善'
                    },
                    {
                        label: '学校监控总数',
                        name: 'monitorNums',
                        value: '未完善'
                    },
                    {
                        label: '监控是否全覆盖',
                        name: 'monitorOver',
                        value: '未完善'
                    },
                    {
                        label: '高空抛物监控',
                        name: 'highAltitudeMonitor',
                        value: '未完善'
                    },
                ],
                form: {
                    confirmFlag: '待审核',
                    confirmNotion: ''
                },
                isPickerShow: false,
                columns: [
                    [{
                            name: "待审核",
                            status: 1
                        },
                        {
                            name: "审核通过",
                            status: 2
                        },
                        {
                            name: "审核不通过",
                            status: 3
                        },
                    ]
                ],
                currentId: '',
                currentData: {},
                id: "",
                foImageUrls: [], //四个一工程照片
                fireFacsImageUrls: [], //灭火器图片
                scImageUrls: [], // 安全通道图片
                patrolImageUrls: [], //周边巡查照片
                antiCollisionImageUrls: [], //防撞装置照片
                haImageUrls: [], //高空抛物监控照片
                selectStatus: "",
                remark: ""
            }
        },
        onLoad(option) {
            this.id = option.id;
            this.getDetailInfo(option.id);
        },
        methods: {
            getDetailInfo(id) {
                getSchoolReportingDetail({
                    taskId: id
                }).then(res => {
                    console.log(res);
                    let data = res.data;
                    this.basicData.forEach(item => {
                        item.value = data[item.name] || "未完善"
                    })
                    this.foImageUrls = this.setImages(data.foImageUrls);
                    this.fireFacsImageUrls = this.setImages(data.fireFacsImageUrls);
                    this.patrolImageUrls = this.setImages(data.patrolImageUrls);
                    this.antiCollisionImageUrls = this.setImages(data.antiCollisionImageUrls);
                    this.haImageUrls = this.setImages(data.haImageUrls);
                })
            },
            setImages(str) {
                if (str) {
                    return str.split(",")
                } else {
                    return []
                }
            },
            handleConfirm(e) {
                this.form.confirmFlag = e.value[0].name;
                this.selectStatus = e.value[0].status;
                this.isPickerShow = false
            },
            submit() {
                let data = {
                    id: this.id,
                    status: this.selectStatus,
                    remark: this.remark
                }
                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'
                        })
                        return
                    }
                    uni.navigateBack()
                })
            },
        }
    }
</script>
<style>
<style lang="scss">
    .container {
        padding: 0 20rpx 130rpx;
        .box-title {
            margin-bottom: 15rpx;
        }
        .info {
            .title {
                font-size: 30rpx;
                padding-left: 10rpx;
            }
            .images-box {
                padding: 20rpx;
                min-height: 100rpx;
                background-color: #fff;
            }
        }
        .form {
            background-color: #fff;
            .form-item {
                padding: 0 20rpx;
                &:first-child {
                    border-bottom: 1rpx solid #f6f6ff;
                }
            }
        }
        .bottom-btn {
            position: fixed;
            left: 0;
            bottom: 0;
            padding: 20rpx;
            width: calc(100% - 40rpx);
            background-color: #fff;
            z-index: 9999;
        }
    }
    /deep/ .u-form-item__body__left__content__label,
    /deep/ .uni-input-placeholder {
        font-size: 30rpx;
    }
</style>