Lou
2024-04-11 af3f883c100133b4993202b5ce25c233c4075319
更新
12 files modified
2 files added
759 ■■■■ changed files
api/counterfraud/counterfraud.js 18 ●●●●● patch | view | raw | blame | history
common/setting.js 4 ●●●● patch | view | raw | blame | history
pages.json 21 ●●●●● patch | view | raw | blame | history
pages/home/index.scss 3 ●●●● patch | view | raw | blame | history
pages/home/index.vue 137 ●●●● patch | view | raw | blame | history
subPackage/counterfraud/addReport.vue 115 ●●●● patch | view | raw | blame | history
subPackage/counterfraud/reportAuditList.vue 290 ●●●●● patch | view | raw | blame | history
subPackage/counterfraud/reportRecord.vue 3 ●●●● patch | view | raw | blame | history
subPackage/search/index.vue 8 ●●●●● patch | view | raw | blame | history
subPackage/task/index.vue 2 ●●●●● patch | view | raw | blame | history
subPackage/user/district/index.vue 67 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/counterfraudReportDetail.vue 45 ●●●● patch | view | raw | blame | history
subPackage/workbench/views/cscj.vue 3 ●●●●● patch | view | raw | blame | history
subPackage/workbench/views/editCscj.vue 43 ●●●●● patch | view | raw | blame | history
api/counterfraud/counterfraud.js
@@ -90,4 +90,22 @@
            ...params
        }
    })
}
//无诈审核
export const auditCounterfraudReport = (params) => {
    return http.request({
        url: '/blade-task/task/examine',
        method: 'POST',
        data: params
    })
}
//无诈上报修改
export const updateCounterfraudReport = (params) => {
    return http.request({
        url: '/blade-taskNoFraudReporting/taskNoFraudReporting/updateTwo',
        method: 'POST',
        data: params
    })
}
common/setting.js
@@ -10,8 +10,8 @@
    version: '2.0.0',
    // 开发环境接口Url
    // devUrl: 'http://z4042833u6.wicp.vip',
    // devUrl: 'http://192.168.2.111:9528',
    devUrl: 'https://srgdjczzxtpt.com:2080/api',
    devUrl: 'http://192.168.2.111:9528',
    // devUrl: 'https://srgdjczzxtpt.com:2080/api',
    // devUrl: 'https://kt39592615.goho.co',
    minioBaseUrl: "https://srgdjczzxtpt.com:2080/gminio/jczz/",
    // minioBaseUrl: "http://192.168.0.101:9528/",
pages.json
@@ -1141,6 +1141,15 @@
                        "navigationBarTextStyle": "black",
                        "enablePullDownRefresh": false
                    }
                },
                {
                    "path": "reportAuditList",
                    "style": {
                        "navigationBarTitleText": "无诈申请",
                        "navigationBarBackgroundColor": "#fff",
                        "navigationBarTextStyle": "black",
                        "enablePullDownRefresh": false
                    }
                }
            ]
        },
@@ -1207,6 +1216,18 @@
                    "enablePullDownRefresh": false
                }
            }]
        },
        {
            "root": "subPackage/search",
            "pages": [{
                "path": "index",
                "style": {
                    "navigationBarTitleText": "搜索 ",
                    "navigationBarBackgroundColor": "#fff",
                    "navigationBarTextStyle": "black",
                    "enablePullDownRefresh": false
                }
            }]
        }
pages/home/index.scss
@@ -52,6 +52,7 @@
    .search-scroll{
        width:100%;
        height:100%;
        overflow: hidden;
    }
    .search-content-row{
        padding:20rpx 0;
@@ -203,7 +204,7 @@
        border-radius: 8rpx;
        margin-right: 20rpx;
        margin-top: 30rpx;
        background-color:#2652A8;
        // background-color:#2652A8;
        // opacity: .8;
        .cell-text {
pages/home/index.vue
@@ -74,8 +74,6 @@
                            </view>
                        </view>
                    </view> -->
                </view>
@@ -172,9 +170,6 @@
                    </view>
                </view>
                <view v-if="roleType == 2 && curSelectSite.addressType == 2">
                    <view class="tabs flex">
                        <view class="tabs-item" :class="k == tabIndex?'tabs-active':''" v-for="(i,k) in tabs2"
@@ -223,18 +218,15 @@
                            </block>
                        </u-grid>
                    </view>
                </view>
            </view>
            <view class="house-nav bgc-ff p-20 mb-20" v-if="isShowHouse">
                <u-collapse accordion :border="false" ref="myCollapse">
                    <u-collapse-item name="1" title="楼盘表"></uni-title>
                        <view class="flex flex-wrap">
                            <view class="cell  flex a-i-c" v-for="(item, index) in houseDataList.slice(0, 6)"
                                @click.native="pushPage(item)" :key="index">
                                @click.native="pushPage(item)" :key="index" :style="{backgroundColor:background.top}">
                                <u-icon name="/static/icon/floor.png" width="32rpx" height="32rpx"></u-icon>
                                <text class="cell-text f-26 fw c-ff">{{item.title}}</text>
                            </view>
@@ -259,10 +251,6 @@
                                <view class="grid-icon flex a-ic j-c-c" :style="{background:item.background}">
                                    <u-icon :name="item.pictureImg" width="64rpx" height="64rpx"></u-icon>
                                </view>
                                <text class="grid-text f-24 fw mt-10">{{item.name}}</text>
                            </view>
                        </u-grid-item>
@@ -271,40 +259,6 @@
            </view>
            <!-- <view class="bgc-ff mb-20 p-20 pb-20" v-if="jobList.length">
                <caption-row title="工作台" />
                <u-grid :border="false" col="4">
                    <u-grid-item @click="navigatorPage(item.path)" v-for="(item, index) in jobList" :index="index"
                        :key="index" :customStyle="{paddingTop:20+'rpx'}">
                        <view class="grid-item flex f-d-c a-i-c" :style="{background:item.background}">
                            <u-icon :name="item.pictureImg" width="60rpx" height="60rpx"></u-icon>
                            <text class="grid-text f-24 fw mt-10">{{item.name}}</text>
                        </view>
                    </u-grid-item>
                </u-grid>
            </view> -->
            <!-- <view class="bgc-ff mb-20 p-20 pb-20" v-if="(roleType == 2) && (curSelectSite.addressType == 2)">
                <caption-row title="工作台" />
                <u-grid :border="false" col="4">
                    <u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')"
                        :customStyle="{paddingTop:20+'rpx'}">
                        <view class="grid-item flex f-d-c a-i-c"
                            style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
                            <u-icon name="/static/icon/menu-05.png" width="60rpx" height="60rpx"></u-icon>
                            <text class="grid-text f-24 fw mt-10">场所维护</text>
                        </view>
                    </u-grid-item>
                    <u-grid-item @click="navToSiteList()" :customStyle="{paddingTop:20+'rpx'}">
                        <view class="grid-item flex f-d-c a-i-c"
                            style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
                            <u-icon name="/static/icon/menu-02.png" width="60rpx" height="60rpx"></u-icon>
                            <text class="grid-text f-24 fw mt-10">场所任务</text>
                        </view>
                    </u-grid-item>
                </u-grid>
            </view> -->
            <view class="bgc-ff mb-20 notice" v-if="isShowNotice">
                <caption-row title="通知公告" font-size="34rpx" :is-link="true" url="/subPackage/article/list" />
                <view class="mt-20">
@@ -312,9 +266,6 @@
                </view>
            </view>
            <u-picker :title="roleTypeName" :defaultIndex="selectSiteIndex" :closeOnClickOverlay="true"
                @close="selectBoxShow = false" :show="selectBoxShow" keyName="name" ref="uPicker" :columns="siteColumns"
                @confirm="confirmSite" @change="changeSite" @cancel="selectBoxShow = false"></u-picker>
        </view>
        <tabBar :current="0" :list="tabList" />
    </view>
@@ -378,7 +329,6 @@
                curSelectSite: {
                    addressType: 1
                },
                columnData: [],
                houseDataList: [{
                    title: '-',
                    useSlot: true
@@ -799,7 +749,7 @@
                })
            },
            //搜索内容跳转
            searchLink(item) {
                //通知公告,经营场所,房屋,住户
                switch (item.typeName) {
@@ -807,16 +757,28 @@
                        uni.navigateTo({
                            url: "/subPackage/article/detail?id=${item.tableId}&type=${item.type}"
                        })
                        break;
                    case "经营场所":
                        uni.navigateTo({
                            url: `/subPackage/house/houseNumber/index?stdId=${item.tableId}`
                        })
                        break;
                    case "房屋":
                        uni.navigateTo({
                            url: `/subPackage/house/roomDetails/index?id=${item.tableId}`
                        })
                        break;
                    default:
                        break;
                }
            },
            navToSearchList(val) {
                uni.navigateTo({
                    url: `/subPackage/search/index?keyword=${val}`
                })
            },
            //获取待办事项数量
@@ -828,15 +790,13 @@
                    neiCode: this.curSelectSite.id,
                    roleType: this.selectRole.roleName == "网格员" ? 1 : 0
                }).then(res => {
                    // console.log(res);
                    let data = res.data;
                    let count = 0;
                    count += Number(data.bqsj) + Number(data.xfzc) + Number(data.xfyhzg) + Number(data.qbhs) +
                        Number(data.cssh) + Number(data.czsh) + Number(data.jzzsq);
                        Number(data.cssh) + Number(data.czsh) + Number(data.jzzsq) + Number(data.wztj);
                    this.taskCount = count
                })
            },
            changeTabs(e) {
                // console.log(item);
@@ -847,8 +807,6 @@
            changeMenuTabs(e) {
                this.menuTabIndex = e;
            },
            //初始化
            init() {
@@ -940,7 +898,6 @@
                    this.$set(this.background, "top", "#017BFC");
                    this.$set(this.background, "banner",
                        "linear-gradient(180deg, #017BFC 0%, rgba(1, 123, 252, 0) 100%)");
                } else if (roleName == '居民') {
                    this.tabList = getTabbarList(1);
                    type = 2
@@ -949,7 +906,6 @@
                    this.$set(this.background, "top", "#017BFC");
                    this.$set(this.background, "banner",
                        "linear-gradient(180deg, #017BFC 0%, rgba(1, 123, 252, 0) 99%)");
                } else if (roleName == '无诈') {
                    this.tabList = getTabbarList(1);
                    type = 2
@@ -964,26 +920,27 @@
                    this.roleType = 3
                    this.roleTypeName = "街道社区"
                    this.$set(this.background, "top", "#0D3C9B");
                    // this.$set(this.background, "top", "#0d257E");
                    // this.$set(this.background, "banner",
                    //     "linear-gradient( 180deg, #00176C 0%, rgba(1,97,203,0) 99%)");
                    this.$set(this.background, "banner",
                        "linear-gradient( 180deg, #0A3A9A 70%,#0940A3 30%,  rgba(1,97,203,0) 99%)");
                    // this.$set(this.background, "banner",
                    //     "background: linear-gradient( 180deg, #0A3A9A 0%, rgba(10,58,154,0) 100%);")
                } else {
                    this.tabList = getTabbarList(1);
                }
                const res = await getFuncList(type, roleName)
                this.columnData = res.data;
                if (res.data.length) {
                    uni.setStorageSync("curStreet", res.data[0].name);
                }
                let data = res.data
                this.siteColumns = []
                this.buildSiteColumn(data, 0)
                if (data.length) {
                    let site = data[0].children[0];
                    this.curSelectSite = site;
                    if (data[0].children && data[0].children.length) {
                        this.curSelectSite = data[0].children[0];
                        this.getHouseDataList(data[0].children[0].id)
                        uni.setStorageSync("curHouseCode", data[0].children[0].id)
                    } else {
                        this.curSelectSite = data[0];
                        uni.setStorageSync("curHouseCode", data[0].children[0].id)
                    }
                    uni.setStorageSync("curStreet", data[0].name);
                }
                // this.buildSiteColumn(data, 0)
            },
            buildSiteColumn(dataList, index) {
@@ -1018,34 +975,6 @@
                    title: '-',
                    useSlot: true
                }]
            },
            changeSite(e) {
                const {
                    columnIndex,
                    value,
                    values, // values为当前变化列的数组内容
                    index,
                    // 微信小程序无法将picker实例传出来,只能通过ref操作
                    picker = this.$refs.uPicker
                } = e
                // 当第一列值发生变化时,变化第二列(后一列)对应的选项
                if (columnIndex === 0 && this.columnData.length > 0) {
                    // picker为选择器this实例,变化第二列对应的选项
                    picker.setColumnValues(1, this.columnData[index])
                    // this.siteColumns[1] = this.columnData[index].children
                    this.$set(this.siteColumns, 1, this.columnData[index].children)
                };
            },
            // 回调参数为包含columnIndex、value、values
            confirmSite(e) {
                // console.log('confirm', e)
                this.selectSiteIndex = e.indexs;
                this.curSelectSite = e.value[e.value.length - 1]
                this.selectBoxShow = false
                this.getHouseDataList(e.value[1]?.id)
                this.curHouseCode = e.value[0].id
                // console.log("curSite=>", this.curSelectSite);
            },
            getMenu(menuName) {
@@ -1109,10 +1038,6 @@
                        }
                    }
                }, 200)
            },
            getContactMenu() {
@@ -1339,8 +1264,6 @@
                        unitCode,
                        buildingCode
                    } = res.data;
                    if (isJur == 1) {
                        if (doorplateType == "户室牌") {
subPackage/counterfraud/addReport.vue
@@ -70,7 +70,9 @@
    } from "@/api/reporting/reporting.js"
    import {
        addCounterfraudReport
        addCounterfraudReport,
        getCounterfraudReportDetail,
        updateCounterfraudReport
    } from "@/api/counterfraud/counterfraud.js"
@@ -83,9 +85,7 @@
                    images: []
                },
                info: {
                    remark: "",
                    imageUrls: "",
                    signaturePath: ""
                },
                desc: "",
@@ -130,9 +130,9 @@
        },
        async onLoad(option) {
            await this.getItem();
            if (option.taskId) {
            if (option.id) {
                this.isEdit = true;
                this.getDetail(option.taskId)
                this.getDetail(option.id)
            } else {
                this.info.houseCode = uni.getStorageSync("siteInfo").houseCode;
                this.info.placeName = uni.getStorageSync("siteInfo").name;
@@ -145,8 +145,8 @@
        methods: {
            getDetail(id) {
                getPlaceCheckDetail({
                    taskId: id
                getCounterfraudReportDetail({
                    id: id
                }).then(res => {
                    let data = res.data;
                    for (let i = 0, ii = this.questionList.length; i < ii; i++) {
@@ -154,12 +154,12 @@
                            for (let j = 0, jj = data.taskPlaceRecordVOList.length; j < jj; j++) {
                                if (this.questionList[i].children[k].id == data.taskPlaceRecordVOList[j].itemId) {
                                    let children = this.questionList[i]
                                    children.children[k].state = data.taskPlaceRecordVOList[j].state;
                                    // children.children[k].state = data.taskPlaceRecordVOList[j].state;
                                    if (data.taskPlaceRecordVOList[j].imageUrls) {
                                        children.children[k].urls = this.$setImageUrl(data.taskPlaceRecordVOList[j]
                                            .imageUrls, 2);
                                    }
                                    children.children[k].remark = data.taskPlaceRecordVOList[j].remark || "";
                                    // children.children[k].remark = data.taskPlaceRecordVOList[j].remark || "";
                                    this.$set(this.questionList, i, children)
                                }
                            }
@@ -167,12 +167,12 @@
                    }
                    this.info.id = data.id;
                    this.info.taskId = data.taskId;
                    this.info.remark = data.remark;
                    if (data.signaturePath) {
                        this.signatureUrl = this.$setFullUrl(data.signaturePath);
                        this.info.signaturePath = data.signaturePath;
                    }
                    this.form.images = this.$setImageUrl(data.imageUrls, 2)
                    // this.info.remark = data.remark;
                    // if (data.signaturePath) {
                    //     this.signatureUrl = this.$setFullUrl(data.signaturePath);
                    //     this.info.signaturePath = data.signaturePath;
                    // }
                    // this.form.images = this.$setImageUrl(data.imageUrls, 2)
                })
            },
@@ -290,53 +290,6 @@
                // this.getSelected()
            },
            signatureChange(e) {
                // this.signatureUrl = e;
                this.uploadSignImg(e)
            },
            showSignPopup() {
                // if (this.getSelected().length < this.count) {
                //     this.$showTips("还有内容还未完善");
                //     return;
                // }
                let data = this.getSelected();
                for (let i of data) {
                    if (i.state == 1) {
                        if (i.imageUrls || i.remark) {
                            i.imageUrls = "";
                            i.remark = "";
                        }
                    } else {
                        if (!i.imageUrls && !i.remark) {
                            this.$showTips("请上传隐患照片或填写隐患描述");
                            return;
                        }
                    }
                }
                this.showSignature = true;
            },
            uploadSignImg(url) {
                uni.uploadFile({
                    url: this.uploadConfig.url,
                    filePath: url,
                    name: 'file',
                    header: this.uploadConfig.header,
                    success: (res) => {
                        console.log(res);
                        let data = JSON.parse(res.data);
                        if (res.statusCode == 200 && data.code == 200) {
                            // this.handleSubmit(data.data.name);
                            this.showSignature = false;
                            this.signatureUrl = data.data.link;
                            this.info.signaturePath = data.data.name;
                            // this.sumitInfo()
                        }
                    }
                })
            },
            sumitInfo() {
                uni.showLoading({
@@ -350,33 +303,29 @@
                //     this.info.imageUrls = urls.join(",")
                // }
                this.info.taskPlaceRecordVOList = this.getSelected()
                // this.info.status = 1;
                console.log("data===>", this.getSelected());
                if (this.isEdit) {
                    auditPlaceCheck(this.info).then(res => {
                    this.info.status = 1;
                    updateCounterfraudReport(this.info).then(res => {
                        uni.hideLoading();
                        uni.showToast({
                            icon: 'success',
                            title: '提交成功',
                            success() {
                                setTimeout(() => {
                                    uni.navigateBack();
                                }, 300)
                            }
                        })
                        if (res.code == 200) {
                            this.$showTips("提交成功", "success");
                            setTimeout(() => {
                                uni.navigateBack();
                            }, 300)
                        }
                    })
                } else {
                    addCounterfraudReport(this.info).then(res => {
                        uni.hideLoading();
                        uni.showToast({
                            icon: 'success',
                            title: '提交成功',
                            success() {
                                setTimeout(() => {
                                    uni.navigateBack();
                                }, 300)
                            }
                        })
                        if (res.code == 200) {
                            this.$showTips("提交成功", "success");
                            setTimeout(() => {
                                uni.navigateBack();
                            }, 300)
                        }
                    })
                }
            },
subPackage/counterfraud/reportAuditList.vue
New file
@@ -0,0 +1,290 @@
<template>
    <view>
        <u-sticky>
            <view class="hander">
                <view class="tab">
                    <u-tabs :list="tabList" :current="tabIndex" @click="changeTab" :inactiveStyle="{color:'#999999'}"
                        :activeStyle="{color:'#017BFC'}" :scrollable="false">
                    </u-tabs>
                </view>
                <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>
                </view>
            </view>
        </u-sticky>
        <view class="list">
            <view class="list-item bgc-ff mb-20" v-for="item in siteList" :key="item.id" @click="pushPage(item.id)">
                <view class="item-title flex a-i-c j-c-s-b mb-20">
                    <text class="f-32 fw">{{ item.placeName}}</text>
                    <!-- <u-tag text="待审批" type="warning" plain plainFill></u-tag> -->
                    <u-tag class="u_tag" size="mini" :text="findObjValue(item.status, tabList).name"
                        :type="findObjValue(item.status, tabList).type" plain plainFill></u-tag>
                    <!-- <u-tag text="审核拒绝" type="error" plain plainFill></u-tag> -->
                </view>
                <!-- <view class="item-row flex a-i-c j-c-s-b">
                    <text class="f-28">电话号码</text>
                    <text class="address f-28 c-66">{{ item.phone}}</text>
                </view>
                <view class="item-row flex a-i-c j-c-s-b">
                    <text class="f-28">地址</text>
                    <text class="address f-28 c-66">{{ item.address}}</text>
                </view> -->
                <!-- <view class="item-row flex a-i-c j-c-s-b">
                    <text class="f-28">法人信息</text>
                    <text class="f-28 c-66">{{ item.legalPerson  ? item.legalPerson : '未完善'}}</text>
                </view> -->
                <view class="item-row flex a-i-c j-c-s-b f-28">
                    <text>时间</text>
                    <text class="c-66">{{item.createTime}}</text>
                </view>
            </view>
        </view>
        <u-toast ref="uToast"></u-toast>
        <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line />
        <date-range-modal ref="dateRane" @comfirm="handleComfirmDate" @rest="handleRestDate" />
    </view>
</template>
<script>
    import dateRangeModal from '@/components/dateRangeModal/modal.vue';
    import {
        getResideApplyList
    } from '@/api/reside/reside.js'
    import {
        getCounterfraudReportList
    } from "@/api/counterfraud/counterfraud.js"
    export default {
        components: {
            dateRangeModal
        },
        data() {
            return {
                siteList: [],
                pagingParams: {
                    current: 1,
                    size: 10
                },
                tabList: [{
                        name: "全部",
                        status: "",
                    },
                    {
                        name: "待审核",
                        status: 1,
                        type: 'warning'
                    },
                    {
                        name: "审核通过",
                        status: 2,
                        type: 'success'
                    },
                    {
                        name: "已拒绝",
                        status: 3,
                        type: 'error'
                    },
                ],
                tabIndex: 0,
                tabStatus: "",
                keyWord: '',
                loadingStatus: 'nomore',
                clickInfo: {},
                currentRole: {},
                selectDate: [],
            }
        },
        onLoad(option) {
            if (option.from) {
                this.tabIndex = 1;
                this.tabStatus = 1;
            }
            if (option.placeId) {
                this.pagingParams.placeId = option.placeId
            }
        },
        onShow() {
            this.currentRole = uni.getStorageSync("activeRole")
            this.resetParams()
            this.getSiteList()
        },
        onReachBottom() {
            this.pagingParams.current++
            this.getSiteList()
        },
        methods: {
            async getSiteList() {
                this.$nextTick(() => {
                    this.$refs.uToast.show({
                        type: 'loading',
                        message: '正在加载',
                        duration: 9999999
                    })
                    this.loadingStatus = 'loadingmore'
                })
                const params = {
                    placeName: this.keyWord,
                    status: this.tabStatus
                }
                if (this.selectDate.length) {
                    params.startTime = this.selectDate[0],
                        params.endTime = this.selectDate[1]
                }
                const {
                    roleName
                } = this.currentRole
                const res = await getCounterfraudReportList({
                    ...params,
                    roleName,
                    ...this.pagingParams
                })
                console.log(res);
                const {
                    code,
                    data: {
                        records
                    }
                } = res
                if (code !== 200) {
                    uni.showToast({
                        title: '数据请求失败',
                        icon: 'error'
                    })
                    return
                }
                this.siteList = [...this.siteList, ...records]
                this.$nextTick(() => {
                    this.$refs.uToast.isShow = false
                })
                this.loadingStatus = 'nomore'
            },
            changeTab(e) {
                this.tabStatus = e.status;
                this.resetParams()
                this.getSiteList()
            },
            searchConfirm() {
                this.resetParams()
                this.getSiteList()
            },
            clearConfirm() {
                this.keyWord = ''
                this.resetParams()
                this.searchConfirm()
            },
            showDateModal() {
                this.$refs.dateRane.open();
            },
            resetParams() {
                this.siteList = []
                this.pagingParams.current = 1
            },
            findObjValue(value, obj) {
                const res = obj.find(item => {
                    return item.status == value
                })
                return res
            },
            pushPage(id) {
                const {
                    roleAlias
                } = this.currentRole
                if (roleAlias === "inhabitant") {
                    return
                }
                uni.navigateTo({
                    url: `/subPackage/workbench/views/counterfraudReportDetail?id=${id}`
                })
                // this.$u.func.globalNavigator(`/subPackage/workbench/views/examine?id=${id}&placeId=${placeId}`)
            },
            handleRestDate() {
                this.selectDate = [];
                this.resetParams();
                this.getSiteList()
            },
            handleComfirmDate(val) {
                this.selectDate = val;
                this.resetParams();
                this.getSiteList()
            }
        }
    }
</script>
<style lang="scss">
    page {
        background-color: #F5F5F5;
    }
    .hander {
        background-color: #fff;
        .tab {
            width: 100%;
        }
        .tab-filter {
            padding: 0 20rpx;
        }
        .search {
            padding: 20rpx 30rpx;
        }
    }
    .list {
        margin: 20rpx 30rpx 0;
    }
    .list-item {
        padding: 0 30rpx 20rpx;
        border-radius: 8rpx;
        .item-title {
            padding: 30rpx 0;
            border-bottom: 1px solid #F5F5F5;
        }
        .item-row {
            padding: 10rpx 0;
            .address {
                width: 65%;
                text-align: right;
            }
        }
    }
</style>
subPackage/counterfraud/reportRecord.vue
@@ -49,9 +49,10 @@
        methods: {
            getList() {
                getCounterfraudReportList({
                    userId: uni.getStorageSync("userInfo").user_id,
                    createUser: uni.getStorageSync("userInfo").user_id,
                    current: this.currentPage,
                    size: 10,
                    houseCode: uni.getStorageSync("curHouseCode")
                    // reportType: 2
                    // eventType: type
                }).then(res => {
subPackage/search/index.vue
New file
@@ -0,0 +1,8 @@
<template>
</template>
<script>
</script>
<style>
</style>
subPackage/task/index.vue
@@ -233,6 +233,8 @@
                                i.count = data.jzzsq;
                            } else if (i.name.trim() == "从业人员审核") {
                                i.count = data.cssh;
                            } else if (i.name.trim() == "无诈申请") {
                                i.count = data.wztj;
                            } else {
                                i.count = data.qbhs;
                            }
subPackage/user/district/index.vue
@@ -13,6 +13,26 @@
                <text>房屋住址</text>
                <text class="address">{{detail.address}}</text>
            </view>
            <view class="item-row flex j-c-s-b a-i-c">
                <text>党组织名称</text>
                <text class="address">{{detail.organizationName}}</text>
            </view>
            <view class="item-row flex j-c-s-b a-i-c">
                <text>党组织类型</text>
                <text class="address">{{organizationTypeName}}</text>
            </view>
            <view class="item-row flex j-c-s-b a-i-c">
                <text>支部类型</text>
                <text class="address">{{branchTypeName}}</text>
            </view>
            <view class="item-row flex j-c-s-b a-i-c">
                <text>负责人姓名</text>
                <text class="address">{{detail.chargePerson}}</text>
            </view>
            <view class="item-row flex j-c-s-b a-i-c">
                <text>负责人手机号</text>
                <text class="address">{{detail.phone}}</text>
            </view>
        </view>
        <view class="box bgc-ff" v-if="detail.remark">
            <view class="caption f-28">
@@ -39,11 +59,16 @@
    import {
        minioBaseUrl
    } from "@/common/setting.js"
    import {
        bizDictionary,
    } from '@/api/system/dict.js'
    export default {
        data() {
            return {
                detail: {},
                images: []
                images: [],
                branchTypeName: "",
                organizationTypeName: ""
            }
        },
@@ -60,6 +85,12 @@
                    if (res.data.picUrl) {
                        this.images = this.setImageUrl(res.data.picUrl);
                    }
                    if (res.data.branchType) {
                        this.getBranchType(res.data.branchType);
                    }
                    if (res.data.organizationType) {
                        this.getOrganizationType(res.data.organizationType)
                    }
                })
            },
@@ -70,7 +101,41 @@
                    temp.push(`${minioBaseUrl}${i}`)
                }
                return temp
            },
            getBranchType(val) {
                bizDictionary({
                    code: "branchType"
                }).then(res => {
                    if (res.code == 200) {
                        this.branchTypeName = this.getName(res.data, val)
                    }
                })
            },
            getOrganizationType(val) {
                bizDictionary({
                    code: "organizationType"
                }).then(res => {
                    if (res.code == 200) {
                        this.organizationTypeName = this.getName(res.data, val)
                    }
                })
            },
            getName(data, val) {
                for (let i of data) {
                    if (i.dictKey == val) {
                        return i.dictValue
                    }
                }
            }
        }
    }
</script>
subPackage/workbench/views/counterfraudReportDetail.vue
@@ -8,7 +8,7 @@
            <text>标签</text>
            <text>{{label || "未完善"}}</text>
        </view> -->
        <!-- <view class="item-row flex j-c-s-b a-i-c">
        <view class="item-row flex j-c-s-b a-i-c">
            <text>场所负责人</text>
            <text>{{info.principal || "未完善"}}</text>
        </view>
@@ -17,18 +17,17 @@
            <text>{{info.principalPhone || "未完善"}}</text>
        </view>
        <view class="item-row flex j-c-s-b a-i-c">
            <text>检查人</text>
            <text>上报人</text>
            <text>{{info.name}}</text>
        </view> -->
        </view>
        <view class="item-row flex j-c-s-b a-i-c">
            <text>地址</text>
            <text class="item-content">{{info.location}}</text>
        </view>
        <view class="item-row flex j-c-s-b a-i-c">
            <text>时间</text>
            <text>{{info.createTime}}</text>
        </view>
        <!-- <view class="item-row flex j-c-s-b a-i-c">
            <text>地址</text>
            <text class="item-content">{{info.location}}</text>
        </view> -->
        <view class="item-row flex j-c-s-b a-i-c">
            <text>状态</text>
            <text v-if="info.status == 1">待审核</text>
@@ -36,15 +35,10 @@
            <text v-if="info.status == 3">审核驳回</text>
            <text v-if="info.status == 4">待完成</text>
        </view>
        <view class="item-row flex j-c-s-b a-i-c" v-if="info.status == 3 && info.reasonFailure">
        <view class="item-row flex j-c-s-b a-i-c" v-if="info.status == 3 && info.remark">
            <text>驳回原因</text>
            <text class="item-content">{{info.reasonFailure}}</text>
            <text class="item-content">{{info.remark}}</text>
        </view>
        <view class="mt-20 bgc-ff">
            <block v-for="(item,index) in itemList">
@@ -133,7 +127,8 @@
        auditPlaceCheck
    } from '@/api/reporting/reporting.js'
    import {
        getCounterfraudReportDetail
        getCounterfraudReportDetail,
        auditCounterfraudReport
    } from "@/api/counterfraud/counterfraud.js"
    import auditAction from '../components/actionBtn.vue'
    export default {
@@ -306,13 +301,17 @@
                uni.showLoading({
                    title: "加载中..."
                })
                auditPlaceCheck({
                    id: this.info.id,
                    taskId: this.info.taskId,
                let data = {
                    id: this.info.taskId,
                    status: val.type,
                    rectificationFlag: val.type == 3 ? 1 : 2,
                    reasonFailure: val.remark
                }).then(res => {
                    reportType: 6
                }
                if (val.type == 3) {
                    data.remark = val.remark;
                }
                auditCounterfraudReport(data).then(res => {
                    uni.hideLoading()
                    if (res.code == 200) {
                        this.$showTips("操作成功", "success");
@@ -325,7 +324,7 @@
            navTo() {
                uni.navigateTo({
                    url: `/subPackage/label/check?taskId=${this.info.taskId}`
                    url: `/subPackage/counterfraud/addReport?id=${this.info.id}`
                })
            },
subPackage/workbench/views/cscj.vue
@@ -457,9 +457,7 @@
                pickerLoading: false,
                pickColumns: [],
                defaultIndex: [0, 0, 0, 0, 0],
                selectValue: [],
                form: {
                    // buildingCode: "",
                    images: [],
@@ -1301,7 +1299,6 @@
                this.form.noExplosionCategory = e.value[0].value;
                this.showNotSwindleTypePicker = false;
            },
            //弹出层打开
            popup() {
subPackage/workbench/views/editCscj.vue
@@ -73,13 +73,20 @@
                    </view> -->
                    <u-form-item label="三级消防单位" labelWidth="100" prop="threeFireProtection" :required="isRequired">
                        <u-radio-group v-model="form.threeFireProtection" v-if="!currentId">
                        <u-radio-group v-model="form.threeFireProtection">
                            <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList"
                                :key="index" :label="item.name" :name="item.id">
                            </u-radio>
                        </u-radio-group>
                        <view class="f-30" v-if="currentId">
                            {{form.threeFireProtection == 1?"否":"是"}}
                    </u-form-item>
                    <u-form-item class="form-item" labelWidth="100" label="无诈类别:" :required="isRequired"
                        :disabled="isDisabled" prop="noExplosionCategory">
                        <view class="flex j-c-s-b a-i-c" @click="showNotSwindleTypePicker= true">
                            <u-input border="none" v-model="notSwindleValue" disabled disabledColor="#ffffff"
                                placeholder="请选择">
                            </u-input>
                            <u-icon slot="right" name="arrow-right"></u-icon>
                        </view>
                    </u-form-item>
                    <u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark">
@@ -115,7 +122,7 @@
                        <view class="box-title" style="width:50%;">
                            <box-title title="负责人信息"></box-title>
                        </view>
                        <ocr-navigator @onSuccess="recognizeSuccess($event,'legal')" certificateType="idCard"
                        <ocr-navigator @onSuccess="recognizeSuccess($event,'principal')" certificateType="idCard"
                            :opposite="false">
                            <view class="recognize-btn flex a-i-c">
                                <u-icon name="scan" color="#fff" size="24"></u-icon>
@@ -343,6 +350,10 @@
            @close="showGenderPicker = false" @cancel="showGenderPicker = false" keyName="name"
            @confirm="confirmGender"></u-picker>
        <u-picker :defaultIndex="notSwindleTypeIndex" :closeOnClickOverlay="true" :show="showNotSwindleTypePicker"
            :columns="[notSwindleTypeList]" @close="showNotSwindleTypePicker = false"
            @cancel="showNotSwindleTypePicker = false" keyName="name" @confirm="confirmNotSwindleType"></u-picker>
        <cate-selector ref="selector" @comfirm="comfirmNineType" />
    </view>
</template>
@@ -418,6 +429,7 @@
                    frontType: "",
                    nineType: "",
                    threeFireProtection: "",
                    noExplosionCategory: "",
                    placeExtEntity: {
                        landlordName: "",
                        landlordIdCard: "",
@@ -656,6 +668,10 @@
                showGenderPicker: false,
                personNum: 0,
                personNumArr: [],
                notSwindleTypeList: [],
                notSwindleIndex: [0],
                notSwindleValue: "",
                showNotSwindleTypePicker: false
            }
        },
        options: {
@@ -711,6 +727,8 @@
                await this.getBizDict('frontType', this.frontTypeList)
                // 获取民族
                await this.getBizDict('nationType', this.nationTypeList);
                //反诈类别
                await this.getBizDict('noExplosionCategory', this.notSwindleTypeList);
            },
            // 获取业务字典
@@ -955,6 +973,15 @@
                            this.nationTypeIndex = index;
                            this.nationValue = name;
                        }
                        if (key == "noExplosionCategory" && data.noExplosionCategory) {
                            let {
                                index,
                                name
                            } = this.$getIndex(this.notSwindleTypeList, data.noExplosionCategory, "value",
                                "name")
                            this.notSwindleIndex = [index];
                            this.notSwindleValue = name;
                        }
                    })
@@ -1196,6 +1223,14 @@
                this.showGenderPicker = false;
            },
            //选择无诈类别
            confirmNotSwindleType(e) {
                this.notSwindleIndex = e.indexs;
                this.notSwindleValue = e.value[0].name;
                this.form.noExplosionCategory = e.value[0].value;
                this.showNotSwindleTypePicker = false;
            },
            //弹出层打开
            popup() {
                // this.$refs.uniPopup.open()