hejianhao
2025-03-17 816b0cd5708aceb205c0124e2427967ab8d1200f
党员审核、评价
9个文件已修改
367 ■■■■ 已修改文件
H5/config/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/index.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/manifest.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/certificationAudit/certificationAudit.vue 185 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/certificationAudit/service.js 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/evaluate/evaluate.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/evaluate/service.js 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/index/index.vue 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/index/service.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/config/index.js
@@ -1,5 +1,5 @@
export default {
    BASE_URL: 'https://huacheng.psciio.com',
    // BASE_URL: 'http://192.168.110.188:6194',
    // BASE_URL: 'https://huacheng.psciio.com',
    BASE_URL: 'http://192.168.110.188:6194',
    imageUrl: 'https://huacheng.psciio.com/api/huacheng-applets/common/uploadimages',
}
H5/index.html
@@ -19,5 +19,6 @@
        <div id="app"><!--app-html--></div>
        <script type="module" src="/main.js"></script>
        <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&type=webgl&ak=5CVivDODPGwsWoqqrDxplq9hkfX5OEzs"></script>
        <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
    </body>
</html>
H5/manifest.json
@@ -1,6 +1,6 @@
{
    "name" : "三个身边",
    "appid" : "__UNI__4B73B99",
    "appid" : "__UNI__DB035F5",
    "description" : "",
    "versionName" : "1.0.0",
    "versionCode" : "100",
H5/pages/certificationAudit/certificationAudit.vue
@@ -1,17 +1,17 @@
<template>
    <view>
        <view v-if="list.length == 0 && status == 'noMore'" class="mt-200">
        <view v-if="list.length == 0" class="mt-200">
            <image src="../../static/空空如也@2x.png" mode="widthFix" class="w100"></image>
            <view class="txt-center mt-94 fs-27 color9">
                暂无数据
            </view>
        </view>
        <view v-else class="px-31">
            <view class="mt-38 br-19 bgColor3 shadow2 oh pb-31" v-for="(item,index) in list" :key="item.id">
            <view class="mt-38 br-19 bgColor3 shadow2 oh pb-31" v-for="(item,index) in list" :key="item.idNumber">
                <view class="pt-21 px-31 flex a-center j-between font-bold">
                    <view class="flex a-center">
                        <view class="fs-31 mr-23">习婕海</view>
                        <view v-if="!index" class="flex a-center pr-19 border3">
                        <view class="fs-31 lh-38 mr-23">{{item.name}}</view>
                        <view v-if="!item.gender" class="flex a-center pr-19 border3">
                            <image src="@/static/man.png" class="w-38 h-38 shrink0" />
                            <view class="fs-23 ml-12">
                                男
@@ -25,32 +25,38 @@
                        </view>
                    </view>
                    <view class="color3 flex a-center fs-31">
                        待审核
                        {{['待审核','审核通过','审核不通过'][item.auditStatus]}}
                    </view>
                </view>
                <view class="mt-38 mx-31 pt-12 pb-23 px-31 br-19 bgColor8">
                    <view class="flex a-center j-between lh-38 mt-19 fs-27 color11">
                        <view class="font-w400">身份证号</view>
                        <view class="font-bold">500000000000000000</view>
                        <view class="font-bold">{{item.idNumber}}</view>
                    </view>
                    <view class="flex a-center j-between lh-38 mt-19 fs-27 color11">
                        <view class="font-w400">联系电话</view>
                        <view class="font-bold">15729765305</view>
                        <view class="font-bold">{{item.phone}}</view>
                    </view>
                    <view class="flex j-between lh-38 mt-19 fs-27 color11">
                        <view class="font-w400">服务社区</view>
                        <view class="font-bold">仁和区-仁和镇-仁和街社区</view>
                        <view class="font-bold">
                            {{item.districts}}
                            <span v-if="item.street">-</span>
                            {{item.street}}
                            <span v-if="item.community">-</span>
                            {{item.community}}
                        </view>
                    </view>
                    <view class="flex j-between lh-38 mt-19 fs-27 color11">
                        <view class="font-w400">服务对象</view>
                        <view class="font-bold">文化小区一栋一单元</view>
                        <view class="font-bold">{{item.serviceTarget}}</view>
                    </view>
                    <view class="flex j-between lh-38 mt-19 fs-27 color11">
                        <view class="font-w400">所在党组织</view>
                        <view class="font-bold max-w1">中共攀枝花市委组织部机关中共11攀枝花市委组织部机关</view>
                        <view class="font-bold max-w1 txt-aligin-r">{{item.partyOrganization}}</view>
                    </view>
                    <view class="flex wrap mt-19">
                        <image src="/static/logo.png" class="w-142 h-142 mr-12 shrink0 br-19 mb-12" />
                        <image :src="item.avatar" class="w-142 h-142 mr-12 shrink0 br-19 mb-12" />
                    </view>
                </view>
                <view class="mt-37 border1">
@@ -60,10 +66,11 @@
                        申请时间:{{ item.createTime | formatTime }}
                    </view>
                    <view class="flex a-center j-center fs-23 mt-29 txt-center">
                        <view @click.stop="refuse" class="h-58 lh-58 bgColor5 w-192 br-29 color10 border2">
                        <view @click.stop="auditPopup(item.idNumber,2)"
                            class="h-58 lh-58 bgColor5 w-192 br-29 color10 border2">
                            拒绝
                        </view>
                        <view @click.stop="pass" class="ml-38 h-58 lh-58 bgColor6 w-192 br-29 color8">
                        <view @click.stop="auditPopup(item.idNumber,1)" class="ml-38 h-58 lh-58 bgColor6 w-192 br-29 color8">
                            通过
                        </view>
                    </view>
@@ -71,17 +78,17 @@
            </view>
        </view>
        <view class="h-safe-b"></view>
        <CustomPopup ref="tipPoput" @close="closePopup" @comfirm="comfirmPopup">
            <view class="mt-50" :class="suditStatus ? 'mb-38' : 'mb-60'">
                <view class="txt-center fs-31 lh-42 color12">确认审核{{suditStatus ? '拒绝' : '通过'}}所选信息吗?</view>
                <view v-if="suditStatus" class="mt-38">
            <view class="mt-50" :class="form.result == 2 ? 'mb-38' : 'mb-60'">
                <view class="txt-center fs-31 lh-42 color12">确认审核{{form.result == 2 ? '拒绝' : '通过'}}所选信息吗?</view>
                <view v-if="form.result == 2" class="mt-38">
                    <view class="flex">
                        <image src="/static/required.png" class="w-10 h-10 mt-12 mr-15 shrink0" />
                        <view class="fs-31 lh-42 font-bold">拒绝理由:</view>
                    </view>
                    <view class="border5 br-19 mt-13 px-35 py-27 ">
                        <textarea v-model="reasonsRefusal" placeholder="请输入拒绝理由" class="fs-27 h-178 w100"></textarea>
                        <textarea v-model="form.reason" placeholder="请输入拒绝理由" class="fs-27 h-178 w100"></textarea>
                        <view v-if="showRequiredTip" class="fs-23 lh-33 color3">拒绝理由必填</view>
                    </view>
                </view>
@@ -93,7 +100,8 @@
<script>
    import dayjs from '@/uni_modules/uview-ui/libs/util/dayjs.js'
    import {
        getList
        getList,
        audit
    } from './service.js'
    export default {
        data() {
@@ -102,11 +110,15 @@
                    pageNum: 1,
                    pageSize: 10,
                },
                list: [{}, {}],
                status: 'loadMore',
                suditStatus: false,
                reasonsRefusal: '',
                showRequiredTip: false,
                list: [],
                isLoading: false,
                showRequiredTip: false, //必填校验状态
                form: {
                    id: '', //党员id
                    reason: '', //原因
                    result: null, //1 通过 2 不通过
                },
                clickAgain: false,
            }
        },
        filters: {
@@ -116,61 +128,78 @@
            }
        },
        onReachBottom() {
            if (this.status == 'loadMore') {
                this.searchParams.pageNum += 1
                this.fetchList(this.searchParams, (e) => {
                    this.list = [...this.list, ...e.records]
                    if (this.list.length == e.total) {
                        this.status = 'noMore'
                    } else {
                        this.status = 'loadMore'
                    }
                })
            if (!this.isLoading) {
                this.searchParams.pageNum = this.searchParams.pageNum + 1;
                this.fetchList();
            } else {
                return uni.showToast({
                    title: "没有更多了",
                    duration: 2000,
                    icon: "none",
                });
            }
        },
        onShow() {
            this.searchParams.pageNum = 1
            this.list = []
            this.fetchList()
        },
        onReady() {},
        methods: {
            comfirmPopup() {
                if (this.suditStatus) {
                    if (!this.reasonsRefusal) {
                        this.showRequiredTip = true
                        return
                    }
                if (this.clickAgain) return
                if (this.form.result == 2 && !this.form.reason) {
                    this.showRequiredTip = true
                    return
                }
                this.closePopup()
                this.clickAgain = true
                audit(this.form).then(res => {
                    uni.showToast({
                        icon: 'none',
                        title: this.form.result == 1 ? '当前党员信息审核已通过。' : '当前党员信息审核已拒绝。',
                        mask: true,
                    })
                    this.searchParams.pageNum = 1
                    this.list = []
                    setTimeout(() => {
                        this.fetchList()
                        this.closePopup()
                    }, 1500)
                }).catch(err => {
                    this.clickAgain = false
                })
            },
            refuse() {
                this.suditStatus = true
            auditPopup(id, type) {
                this.form.id = id
                this.form.result = type
                this.$refs.tipPoput.showPopup()
            },
            pass() {
                this.$refs.tipPoput.showPopup()
            },
            fetchList(params, callback) {
                if (this.status == 'loading') return
                this.status = 'loading'
                getList(params).then(res => {
            fetchList() {
                getList(this.searchParams).then(res => {
                    if (res.code == 200) {
                        res.data.records.map(item => {
                            if (item.images) {
                                item.images = item.images.split(',')
                            }
                        })
                        callback(res.data)
                        if (res.data.records.length < 10) {
                            this.isLoading = true;
                        } else {
                            this.isLoading = false;
                        }
                        this.list = [...this.list, ...res.data.records];
                        if (res.data.total == this.list.length) {
                            this.isLoading = true
                        }
                    }
                })
            },
            closePopup() {
                this.$refs.tipPoput.closePopup()
                this.$nextTick(() => {
                    this.suditStatus = false
                    this.showRequiredTip = false
                    this.reasonsRefusal = ''
                    this.form = {
                        id: '', //党员id
                        reason: '', //原因
                        result: null, //1 通过 2 不通过
                    }
                    this.showRequiredTip = false //必填校验状态
                    this.clickAgain = false
                })
            },
        }
    }
@@ -185,16 +214,8 @@
        color: #4C4C4C;
    }
    .color2 {
        color: #232323;
    }
    .color3 {
        color: #FF4948;
    }
    .color4 {
        color: #929191;
    }
    .color5 {
@@ -203,10 +224,6 @@
    .color6 {
        color: #666666;
    }
    .color7 {
        color: #727272;
    }
    .color8 {
@@ -229,28 +246,8 @@
        color: rgba(0, 0, 0, 0.6);
    }
    .bgColor1 {
        background: linear-gradient(270deg, #FFB318 0%, #FF330D 100%);
        width: 58rpx;
        height: 12rpx;
        border-radius: 6rpx;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -5rpx;
        margin: auto;
    }
    .bgColor2 {
        background-color: #fff;
    }
    .bgColor3 {
        background: linear-gradient(180deg, #FFDCDB 0%, rgba(255, 255, 255, 0) 138rpx, #fff 100%);
    }
    .bgColor4 {
        background: linear-gradient( 270deg, rgba(255,241,0,0.5) 0%, rgba(255,249,172,0.25) 48%, rgba(255,255,255,0.2) 100%, #FFFFFF 100%);
    }
    .bgColor5 {
@@ -259,10 +256,6 @@
    .bgColor6 {
        background: linear-gradient(270deg, #FC8D55 0%, #FF4948 100%);
    }
    .bgColor7 {
        background: #FF4948;
    }
    .bgColor8 {
H5/pages/certificationAudit/service.js
@@ -1,5 +1,11 @@
import request from '@/utils/request.js'
// 工单列表
export const getList =(params)=>{
    return request.post(`/api/huacheng-sangeshenbian/applet/complaint/list`,params)
}
// 党员待审核列表
export const getList = (params) => {
    return request.post(`/api/huacheng-sangeshenbian/applet/party-member/pre-audit-list`, params)
}
// 党员申请审核
export const audit = (params) => {
    return request.post(`/api/huacheng-sangeshenbian/applet/party-member/audit`, params)
}
H5/pages/evaluate/evaluate.vue
@@ -5,19 +5,18 @@
        <view class="allContent">
            <view class="fs-27 lh-38 font-bold">评价打分</view>
            <view class="mt-25 flex j-between">
                <view class="evaluateItem" v-for="(item,index) in list" :key="index" @click="activeType=item.value"
                    :class="activeType==item.value && 'activeBg'">
                <view class="evaluateItem" v-for="(item,index) in list" :key="index" @click="rate=item.value"
                    :class="rate==item.value && 'activeBg'">
                    <image :src="item.img" class="statusImg" />
                    <view class="title">{{item.tit}}</view>
                </view>
            </view>
            <view class="mt-38">
                <view class="fs-27 lh-38 font-bold">评价内容</view>
                <textarea v-model="describe" class="pt-25 pl-31 mt-27 fs-27 br-8 bgcolor4"
                    :class="(rulsFlag && !describe) && 'bgcolor-border'"
                <textarea v-model="content" class="pt-25 pl-31 mt-27 fs-27 br-8 bgcolor4"
                    :class="(rulsFlag && !content) && 'bgcolor-border'"
                    style="height: 365rpx;width: calc(100% - 31rpx);" placeholder="请输入不超过200字评价" />
                <view v-if="rulsFlag && !describe" class="flex a-center mt-19">
                <view v-if="rulsFlag && !content" class="flex a-center mt-19">
                    <image src="@/static/noNull.png" class="w-35 h-35 mr-13 shrink0" />
                    <view class="fs-23 color99">评价内容不能为空</view>
                </view>
@@ -72,47 +71,39 @@
<script>
    import {
        saveProcess,
        getComplaintDetail
    } from './service'
    import config from '@/config/index.js'
    export default {
        data() {
            return {
                complaintId: '', //诉求id
                info: {}, //工单详情
                describe: '', //办理进度描述
                content: '', //评价内容
                localImageUrls: [], //本地回显的图片
                imgUrls: [], //传给后端的url
                video: [],
                againCklicFlag: true,
                rulsFlag: false,
                activeType: 1,
                rate: null, //评价打分
                list: [{
                    img: '../../static/detailImg/img1.png',
                    tit: '不满意',
                    value: 1
                    value: 0
                }, {
                    img: '../../static/detailImg/img2.png',
                    tit: '一般',
                    value: 2
                    value: 1
                }, {
                    img: '../../static/detailImg/img3.png',
                    tit: '满意',
                    value: 3
                    value: 2
                }, {
                    img: '../../static/detailImg/img4.png',
                    tit: '非常满意',
                    value: 4
                    value: 3
                }],
            }
        },
        onLoad(params) {
            // this.complaintId = params.id
            // getComplaintDetail({
            //     id: params.id
            // }).then(res => {
            //     this.info = res.data
            // })
            this.complaintId = params.id
        },
        methods: {
            back() {
@@ -121,16 +112,17 @@
                })
            },
            submit() {
                if (!this.describe) {
                    this.rulsFlag = true
                    return uni.showToast({
                if (!this.rate) {
                    uni.showToast({
                        icon: 'none',
                        title: '请输入办理进度描述'
                        title: '请评价打分',
                    })
                    return
                }
                let obj = {
                    complaintId: this.complaintId,
                    describe: this.describe,
                    content: this.content,
                    rate: this.rate,
                    imgUrl: this.imgUrls.join(','),
                    video: this.video.join(',')
                }
@@ -166,14 +158,11 @@
                })
            },
            uploadImg(type) {
                // if (!this.againCklicFlag) return
                this.againCklicFlag = false
                if (type == 1) {
                    uni.chooseImage({
                        count: 1,
                        count: 9 - this.imgUrls.length,
                        success: (chooseImageRes) => {
                            this.imgUrls.push('loading')
                            this.againCklicFlag = true
                            let imgPathList = chooseImageRes.tempFilePaths;
                            if (imgPathList.length > 0) {
                                uni.uploadFile({
@@ -194,7 +183,6 @@
                                                this.localImageUrls.push(imgPathList[0])
                                            })
                                        } else {
                                            this.againCklicFlag = true
                                            this.imgUrls = this.imgUrls.filter(
                                                item => item != 'loading')
                                            uni.showToast({
@@ -205,7 +193,6 @@
                                        }
                                    },
                                    fail: (err) => {
                                        this.againCklicFlag = true
                                        this.imgUrls = this.imgUrls.filter(
                                            item => item != 'loading')
                                        uni.showToast({
@@ -217,16 +204,12 @@
                                })
                            }
                        },
                        fail: () => {
                            this.againCklicFlag = true
                        }
                    })
                } else {
                    uni.chooseVideo({
                        camera: 'back',
                        count: 9 - this.video.length,
                        success: (res) => {
                            this.video.push('loading')
                            this.againCklicFlag = true
                            const tempFilePath = res.tempFilePath;
                            uni.uploadFile({
                                url: config.imageUrl,
@@ -234,7 +217,7 @@
                                timeout: 1000 * 45,
                                name: 'file',
                                header: {
                                    Authorization: cuni.getStorageSync('token')
                                    Authorization: uni.getStorageSync('token')
                                },
                                success: (res) => {
                                    if (JSON.parse(res.data).code == 200) {
@@ -244,7 +227,6 @@
                                            this.video.push(JSON.parse(res.data).data)
                                        })
                                    } else {
                                        this.againCklicFlag = true
                                        this.video = this.video.filter(
                                            item => item != 'loading')
                                        uni.showToast({
@@ -255,7 +237,6 @@
                                    }
                                },
                                fail: (err) => {
                                    this.againCklicFlag = true
                                    this.video = this.video.filter(
                                        item => item != 'loading')
                                    uni.showToast({
@@ -266,9 +247,6 @@
                                }
                            })
                        },
                        fail: () => {
                            this.againCklicFlag = true
                        }
                    })
                }
            },
H5/pages/evaluate/service.js
@@ -1,12 +1,7 @@
import request from '@/utils/request.js'
// 办理进度录入
// 添加评论
export const saveProcess = (params) => {
    return request.post(`/api/huacheng-sangeshenbian/applet/complaint/save-process`, params, )
}
// 工单详情
export const getComplaintDetail = (params) => {
    return request.get('/api/huacheng-sangeshenbian/applet/complaint/detail', params)
    return request.post(`/api/huacheng-sangeshenbian/applet/complaint/commentComplaint`, params, )
}
H5/pages/index/index.vue
@@ -9,7 +9,7 @@
                    <image src="/static/home/img5.png" mode="widthFix"></image>
                </view>
                <swiper class="swiper " :indicator-dots="false" :autoplay="true" :interval="3000">
                    <swiper-item v-for="item,index in bannerlist" :key="index">
                    <swiper-item v-for="item, index in bannerlist" :key="index">
                        <image style="height: 270rpx;width: 688rpx;border-radius: 19rpx;" :src="item.url" mode="">
                        </image>
                    </swiper-item>
@@ -26,7 +26,7 @@
                <image src="/static/home/角色管理@2x.png" mode="aspectFill" class="w-31 h-31 mr-12"></image>
                当前角色:沙沟社区管理员
            </view>
            <view class="fs-23 flex a-center border1 w-154 h-38 j-center br-29">
            <view @tap.stop="closeH5" class="fs-23 flex a-center border1 w-154 h-38 j-center br-29">
                <image src="/static/home/切换@2x.png" mode="aspectFill" class="w-19 h-19 mr-8"></image>
                切换角色
            </view>
@@ -35,7 +35,7 @@
        <view class="pt-38 pl-31 pr-31 flex flex-column">
            <view class="flex j-between a-center">
                <text class="color1 fs-31 font-bold">工作台</text>
                <text class="color2 fs-27" @click="showData =!showData">查看更多</text>
                <text class="color2 fs-27" @click="showData = !showData">查看更多</text>
            </view>
            <view class="flex flex-wrap j-between">
                <view class="pt-38 pb-38 bg1 w-333 br-19 mt-19 flex a-center relative" :class="true ? 'bg2' : 'bg1'"
@@ -61,7 +61,8 @@
                    <image class="w-81 h-77 ml-38" src="/static/home/img8.png" mode=""></image>
                    <text class="ml-37 font-bold">统计分析</text>
                </view>
                <view class="pt-38 pb-38 bg1 w-333 br-19 mt-19 flex a-center" v-if="showData">
                <view class="pt-38 pb-38 bg1 w-333 br-19 mt-19 flex a-center" v-if="showData"
                    @tap.stop="toCertificationAudit">
                    <image class="w-81 h-77 ml-38" src="/static/home/Group 2@2x.png" mode=""></image>
                    <text class="ml-37 font-bold">党员审核</text>
                </view>
@@ -71,53 +72,54 @@
            </view>
            <view class=" mt-15">
                <view class="flex a-center">
                    <view class="msg mr-19" @click="changeActive(1)" :class="isactive==1? 'active':''">
                    <view class="msg mr-19" @click="changeActive(1)" :class="isactive == 1 ? 'active' : ''">
                        消息
                        <view class="tips">
                            {{noreadlist.length}}
                            {{ noreadlist.length }}
                        </view>
                    </view>
                    <view class="representative" @click="changeActive(2)" :class="isactive==2? 'active':''">
                    <view class="representative" @click="changeActive(2)" :class="isactive == 2 ? 'active' : ''">
                        待办
                        <view class="tips">
                            {{noreadlists.length}}
                            {{ noreadlists.length }}
                        </view>
                    </view>
                </view>
                <view class="list mt-29">
                    <view v-if="isactive==1?msgList.length == 0:msgLists.length == 0" class="txt-center">
                    <view v-if="isactive == 1 ? msgList.length == 0 : msgLists.length == 0" class="txt-center">
                        <image src="../../static/空空如也@2x.png" mode="widthFix" class="w80"></image>
                        <view class="fs-23 mt-20 mb-20 color4">暂无数据</view>
                    </view>
                    <view class="flex a-center mb-27" v-for="item in isactive==1?msgList:msgLists" :key="item.id">
                    <view class="flex a-center mb-27" v-for="item in isactive == 1 ? msgList : msgLists" :key="item.id">
                        <view class="avater pb-33">
                            <image class="w-85 h-85 br50" src="/static/home/img9.png" mode=""></image>
                            <view class="tips" v-if="item.readStatus==2">
                            <view class="tips" v-if="item.readStatus == 2">
                            </view>
                        </view>
                        <view class="border-b flex1 ml-18 pb-33">
                            <view class="fs-31  font-w500 flex  flex1 j-between">
                                <text>{{item.title}}</text>
                                <text class="fs-23 font-w400">{{item.time}}</text>
                                <text>{{ item.title }}</text>
                                <text class="fs-23 font-w400">{{ item.time }}</text>
                            </view>
                            <view class="fs-27 flex j-between mt-8">
                                <text style="color: rgba(102, 102, 102, 1);">{{item.promptType==1?'临期提醒':'超时提醒'}}</text>
                                <view class="read" v-if="item.readStatus==1">已读</view>
                                <text style="color: rgba(102, 102, 102, 1);">{{ item.promptType == 1 ? '临期提醒' : '超时提醒'
                                    }}</text>
                                <view class="read" v-if="item.readStatus == 1">已读</view>
                                <view class="noread" v-else>未读</view>
                            </view>
                        </view>
                    </view>
                    <text v-if="isactive==1?msgList.length > 0:msgLists.length > 0"
                    <text v-if="isactive == 1 ? msgList.length > 0 : msgLists.length > 0"
                        class="flex j-center fs-27 color4 pb-48" @click="Allread">全部已读</text>
                </view>
            </view>
        </view>
        <popupCertificate :show="isClick" @onCancel="isClick=false"></popupCertificate>
        <popupCertificate :show="isClick" @onCancel="isClick = false"></popupCertificate>
        <!-- 用户多个角色时切换角色弹窗 -->
        <u-popup :show="changeRolePopup" round="16rpx" @close="changeRolePopup = false">
@@ -127,7 +129,7 @@
                <view class="txt-center pt-38 pb-40 fs-35 lh-48 font-bold">选择角色</view>
                <view class="lineBox mb-10"></view>
                <view style="height: 546rpx;overflow-y: auto;">
                    <view @tap.stop="changeRole(item)" v-for="(item,index) in 10" :key="index"
                    <view @tap.stop="changeRole(item)" v-for="(item, index) in 10" :key="index"
                        :class="index == activeRole && 'bgcolor2'"
                        class="mt-38 bgcolor1 br-58 fs-31 ml-54 mr-62 py-37 txt-center">
                        <view>XXXXXXXX管理员</view>
@@ -145,7 +147,8 @@
        getBanner,
        getMessagelist,
        getappletcinfo,
        getread
        getread,
        getSignature
    } from './service.js'
    export default {
        components: {
@@ -184,6 +187,36 @@
        },
        onLoad(e) {
            getSignature().then(res => {
                wx.config({
                    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来
                    appld: 'wx118de8a734d269f0',
                    timestamp: res.data.timestamp, // 必填,生成签名的 时间戳
                    noncestr: res.data.nonceStr, // 必填,生成签名的随机串
                    signature: res.data.signature, // 必填,签名
                    jsApiList: [
                        'miniProgram.navigateBack',
                        'miniProgram.navigateTo',
                        'miniProgram.postMessage',
                    ] // 必填,需要使用的JS接口列表
                })
                wx.ready(() => {
                    // 在这里调用任何你需要的JS-SDK功能
                    uni.showToast({
                        title: '配置成功!'
                    })
                });
                wx.error((err) => {
                    // 处理错误情况
                    uni.showToast({
                        title: '配置失败'
                    });
                    uni.setClipboardData({
                        data: JSON.stringify(err)
                    })
                })
            })
            if (e.token) {
                uni.setStorageSync('token', 'Bearer ' + e.token)
            }
@@ -192,6 +225,9 @@
            this.getappletcinfo()
        },
        methods: {
            closeH5() {
                wx.miniProgram.navigateBack()
            },
            changeRole(item) {
                this.activeRole = item - 1
                this.changeRolePopup = false
@@ -273,12 +309,14 @@
            changeActive(value) {
                this.isactive = value
                if (value == 1) {
                    this.msgList = JSON.parse(JSON.stringify(this.msgListTotal)).filter(item => item.promptType ==
                    this.msgList = JSON.parse(JSON.stringify(this.msgListTotal)).filter(item => item
                        .promptType ==
                        2)
                    this.noreadlist = this.msgList.filter(item => item.readStatus === 0)
                } else {
                    this.msgLists = JSON.parse(JSON.stringify(this.msgListTotal)).filter(item => item.promptType ==
                    this.msgLists = JSON.parse(JSON.stringify(this.msgListTotal)).filter(item => item
                        .promptType ==
                        1)
                    this.noreadlists = this.msgLists.filter(item => item.readStatus === 0)
                }
@@ -312,6 +350,11 @@
                uni.navigateTo({
                    url: '/pages/list/list'
                })
            },
            toCertificationAudit() {
                uni.navigateTo({
                    url: '/pages/certificationAudit/certificationAudit'
                })
            }
        }
    }
H5/pages/index/service.js
@@ -12,3 +12,6 @@
export const getread=(params)=>{
    return request.post(`/api/huacheng-sangeshenbian/applet/home/read`,params)
export const getSignature=(params)=>{
    return request.get(`/api/huacheng-sangeshenbian/systemUser/getSignature`,params)
}