落日与鲸
2025-02-24 50cf67713055866c894dd6c4b4d7a6866ec5a348
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/H5/threeSide
4个文件已修改
1个文件已添加
182 ■■■■ 已修改文件
H5/pages/delay/delay.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/list/list.vue 119 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/list/service.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/work-detail/work-detail.vue 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/static/detailImg/right.png 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/delay/delay.vue
@@ -5,11 +5,21 @@
                说明内容
            </view>
            <view class="mt-27 bgColor1 pt-25 pl-31 pr-31 pb-29 lh-38 fs-27">
                1、处理措施:记录为解决该问题所采取的具体措施,包括政策宣传、处理沟通、现场处理等方式。
                2、处理时间:记录处理该问题的时间节点,包括开始处理时间、处理完成时间等。
                3、参与人员:记录参与处理该问题的人员名单,包括走访人员、相关部门工作人员等。
                4、结果概述:简要描述问题的处理结果,是否得到有效解决,是否达到走访对象的期望等。
                5、后续跟进:如需进一步跟进或处理,记录后续跟进的计划、时间节点及责任人员。
                <view class="">
                    1、处理措施:记录为解决该问题所采取的具体措施,包括政策宣传、处理沟通、现场处理等方式。
                </view>
                <view class="">
                    2、处理时间:记录处理该问题的时间节点,包括开始处理时间、处理完成时间等。
                </view>
                <view class="">
                    3、参与人员:记录参与处理该问题的人员名单,包括走访人员、相关部门工作人员等。
                </view>
                <view class="">
                    4、结果概述:简要描述问题的处理结果,是否得到有效解决,是否达到走访对象的期望等。
                </view>
                <view class="">
                    5、后续跟进:如需进一步跟进或处理,记录后续跟进的计划、时间节点及责任人员。
                </view>
            </view>
            <view class="fs-27 font-bold mt-38">
                图片
@@ -21,7 +31,10 @@
                视频
            </view>
            <view class="flex a-center j-between mt-27 wrap">
                <image src="../../static/logo.png" mode="aspectFill" class="w-140 h-140 mr-15 shrink0 mb-10" v-for="item in 4" :key="item"></image>
                <view class="relative mr-15 shrink0 mb-10" v-for="item in 4" :key="item">
                    <image src="../../static/logo.png" mode="aspectFill" class="w-140 h-140" ></image>
                    <image src="../../static/detailImg/open.png" mode="aspectFill" class="w100 h100 absolute top0 left0"></image>
                </view>
            </view>
        </view>
        <view class="h-10 safe-b">
H5/pages/list/list.vue
@@ -21,32 +21,32 @@
            </view>
        </view>
        <view class="pl-31 pr-31">
            <view class="mt-31 br-19 bgColor3 shadow2 oh pb-31" v-for="(item,index) in 10" :key="index">
            <view class="mt-31 br-19 bgColor3 shadow2 oh pb-31" v-for="(item,index) in list" :key="item.id">
                <view class="pt-21 pl-27 pr-27 flex a-center j-between fs-27 font-bold">
                    <view class="">
                        诉求号:7843523454
                        诉求号:{{ item.serialNumber || '' }}
                    </view>
                    <view class="color3">
                        上级驳回
                        {{ statusObj[item.status] }}
                    </view>
                </view>
                <view class="mt-40 fs-23 pl-40 pr-40">
                    <view class="flex j-between a-center">
                        <view class="color4">
                            上报人:<text class="color5">李雷</text>
                            上报人:<text class="color5">{{ item.reporter || '' }}</text>
                        </view>
                        <view class="color4">
                            所属部门:<text class="color5">部门AA</text>
                            所属部门:<text class="color5">{{ item.departmentName || '' }}</text>
                        </view>
                    </view>
                    <view class="mt-15">
                        <view class="color4">
                            提交时间:<text class="color5">2025-2-11 11:09:09</text>
                            提交时间:<text class="color5">{{ item.reportTime | formatTime }}</text>
                        </view>
                    </view>
                </view>
                <view class="mt-27 ml-40 mr-40 br-19 bgColor4 pt-34 pb-34 fs-27 pl-27 pr-27 flex a-center j-between">
                    <text>江苏省常州市溧阳市牛顿大道172号</text>
                    <text>{{ item.location || '' }}</text>
                    <image src="../../static/location.png" mode="aspectFill" class="w-31 h-31 ml-10 shrink0"></image>
                </view>
                <view class="ml-40 mr-40 mt-31 flex j-between a-center fs-27 txt-center">
@@ -55,7 +55,7 @@
                            问题类型
                        </view>
                        <view class="tip">
                            教育
                            {{ item.problemType || '' }}
                        </view>
                    </view>
                    <view class="">
@@ -63,7 +63,7 @@
                            群众
                        </view>
                        <view class="mt-10">
                            沙振
                            {{ item.name || '' }}
                        </view>
                    </view>
                    <view class="">
@@ -71,7 +71,7 @@
                            联系电话
                        </view>
                        <view class="mt-10">
                            14225874426
                            {{ item.contactNumber || '' }}
                        </view>
                    </view>
                </view>
@@ -80,7 +80,7 @@
                        问题描述
                    </view>
                    <view class="mt-10 lh-38">
                        说出来的是你想的,做出来的是你说的,交出来的是你做的
                        {{ item.descriptionContent || '' }}
                    </view>
                </view>
                <view class="fs-27 mt-31 ml-40">
@@ -88,14 +88,15 @@
                        描述图片
                    </view>
                    <view class="mt-19 flex wrap a-center">
                        <image v-for="(item,index) in 4" :key="index" src="../../static/logo.png" class="br-19 w-142 h-154 mr-13 mb-10 shrink0" mode=""></image>
                        <image v-for="(item1,index) in item.images" :key="index" :src="item1"
                            class="br-19 w-142 h-154 mr-13 mb-10 shrink0" mode="aspectFill"></image>
                    </view>
                </view>
                <view class="mt-31 border1">
                    <view class="left"></view>
                    <view class="right"></view>
                    <view class="txt-center fs-23 mt-27 color6">
                        创建时间:2025-9-11 11:01:09
                        创建时间:{{ item.createTime | formatTime }}
                    </view>
                    <view class="flex a-center j-center fs-23 mt-29 txt-center">
                        <view class="h-58 lh-58 bgColor5 w-192 br-29 color7">
@@ -106,7 +107,7 @@
                        </view>
                    </view>
                </view>
            </view>
        </view>
        <view class="safe-b pt-20"></view>
@@ -114,14 +115,64 @@
</template>
<script>
    import dayjs from '@/uni_modules/uview-ui/libs/util/dayjs.js'
    import {
        getList
    } from './service.js'
    export default {
        data() {
            return {
                active: 1
                active: 1,
                searchParams: {
                    pageNum: 1,
                    pageSize: 10,
                    type: 0
                },
                list:[],
                status: 'loadMore',
                statusObj: {
                    // 0-正在办理 1-延期办理 2-超时办理 3-已办结 4-群众撤销 5-上报待审核 6-上级驳回
                    '0': '正在办理',
                    '1': '延期办理',
                    '2': '超时办理',
                    '3': '已办结',
                    '4': '群众撤销',
                    '5': '上报待审核',
                    '6': '上级驳回'
                }
            }
        },
        methods: {
        onReachBottom() {
        },
        filters: {
            formatTime(val) {
                return dayjs(val).format('YYYY-MM-DD HH:mm:ss')
            }
        },
        onShow() {
            this.fetchList(this.searchParams,(e)=>{
                this.list = e.records || []
                if (this.list.length == e.total) {
                    this.status = 'noMore'
                } else {
                    this.status = 'loadMore'
                }
            })
        },
        methods: {
            fetchList(params,callback) {
                if (this.status == 'loading') return
                this.status = 'loading'
                getList(params).then(res=>{
                    if (res.code == 200) {
                        res.data.records.map(item=>{
                            item.images = item.images.split(',')
                        })
                        callback(res.data)
                    }
                })
            }
        }
    }
</script>
@@ -131,7 +182,7 @@
        min-height: 100vh;
        background-color: #f7f7f7;
    }
    .tip {
        height: 40rpx;
        background-color: #FFFBE6;
@@ -148,7 +199,7 @@
    .shadow1 {
        box-shadow: 0rpx 12rpx 15rpx 0rpx rgba(0, 0, 0, 0.1);
    }
    .shadow2 {
        box-shadow: 0rpx 0rpx 27rpx 0rpx rgba(0, 0, 0, 0.1);
    }
@@ -160,27 +211,27 @@
    .color2 {
        color: #232323;
    }
    .color3 {
        color: #FF4948;
    }
    .color4 {
        color: #929191;
    }
    .color5 {
        color: #000;
    }
    .color6 {
        color: #666666;
    }
    .color7 {
        color: #727272;
    }
    .color8 {
        color: #fff;
    }
@@ -196,30 +247,31 @@
        bottom: -5rpx;
        margin: auto;
    }
    .bgColor2 {
        background-color: #fff;
    }
    .bgColor3 {
        background: linear-gradient( 180deg, #FFDCDB 0%, rgba(255,255,255,0) 138rpx, #fff 100%);
        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%);
        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 {
        background: #F3F3F3;
    }
    .bgColor6 {
        background: linear-gradient( 270deg, #FC8D55 0%, #FF4948 100%);
        background: linear-gradient(270deg, #FC8D55 0%, #FF4948 100%);
    }
    .border1 {
        border-top: 2rpx solid #EDEEEF;
        position: relative;
        .left {
            width: 40rpx;
            height: 40rpx;
@@ -229,6 +281,7 @@
            left: -20rpx;
            top: -20rpx;
        }
        .right {
            width: 40rpx;
            height: 40rpx;
H5/pages/list/service.js
New file
@@ -0,0 +1,5 @@
import request from '@/utils/request.js'
// 工单列表
export const getList =(params)=>{
    return request.post(`/api/huacheng-sangeshenbian/applet/complaint/list`,params)
}
H5/pages/work-detail/work-detail.vue
@@ -225,7 +225,7 @@
            </view>
            <!-- 详情/办理进度 --正在办理-延期-超时  显示-->
            <view class="progress" v-if="['0','1','2'].includes(orderInfo.status)">
            <view class="progress" v-if="[0,1,2].includes(orderInfo.status) &&progressesList.length>0">
                <view class="title">当前办理进度</view>
                <view class="proCard">
                    <view class="proItem" v-for="(item,index) in progressesList">
@@ -263,7 +263,7 @@
            </view>
            <!-- 详情/诉求流转 --正在办理显示-->
            <view class="careRequire" v-if="orderInfo.status==0">
            <view class="careRequire" v-if="orderInfo.status==0 &&flowsList.length>0">
                <view class="title">诉求流转</view>
                <view class="proCard">
                    <view class="proItem" v-for="(item,index) in flowsList">
@@ -296,11 +296,11 @@
        </view>
        <!-- 上级显示 -->
        <view class="btnButtom" v-if="['0','1','2'].includes(orderInfo.status)">
        <view class="btnButtom" v-if="[0,1,2].includes(orderInfo.status)">
            <view class="btnDown" @click.stop="toUp">问题上报</view>
            <view class="btnDown" @click.stop="toDown">诉求下派</view>
            <view class="btnAdd">添加办理进度</view>
            <view class="btnAdd">办理结果录入</view>
            <view class="btnAdd" @click="addProgress">添加办理进度</view>
            <view class="btnAdd" @click="resultEntery">办理结果录入</view>
        </view>
        <view class="btnButtom" v-if="orderInfo.status==5">
            <view class="cancel" @click.stop="showPop=true">驳回</view>
@@ -309,10 +309,10 @@
        <!-- 上级显示 -->
        <!-- 党员显示 -->
        <view class="btnButtom" v-if="['0','1','2'].includes(orderInfo.status)">
        <view class="btnButtom" v-if="[0,1,2].includes(orderInfo.status)">
            <view class="btnDown partyUp" @click.stop="toUp">问题上报</view>
            <view class="btnAdd partyDown">添加办理进度</view>
            <view class="btnAdd partyDown">办理结果录入</view>
            <view class="btnAdd partyDown" @click="addProgress">添加办理进度</view>
            <view class="btnAdd partyDown" @click="resultEntery">办理结果录入</view>
        </view>
        <!-- 党员显示 -->
@@ -342,7 +342,7 @@
    export default {
        data() {
            return {
                id: "", //工单详情ID
                id: "1", //工单详情ID
                orderInfo: {}, //工单详情
                problemVideos: [], //描述视频
                problemImg: [], //描述图片
@@ -368,6 +368,7 @@
            }).then(res => {
            })
            this.getDetailInfo()
        },
        methods: {
            open() {},
@@ -396,7 +397,7 @@
                        this.resultVideos = res.data.completionVideos.split(',')
                    }
                    // 办理进度
                    if (res.data.complaintProgresses.length > 0) {
                    if (res.data.complaintProgresses && res.data.complaintProgresses.length > 0) {
                        this.progressesList = res.data.complaintProgresses.map((item) => {
                            return {
                                ...item,
@@ -406,7 +407,7 @@
                        })
                    }
                    // 诉求流转记录
                    if (res.data.complaintFlows.length > 0) {
                    if (res.data.complaintFlows && res.data.complaintFlows.length > 0) {
                        this.flowsList = res.data.complaintFlows
                    }
@@ -438,6 +439,16 @@
                    url: `/pages/dispatchWorkOrder/dispatchWorkOrder?id=${this.id}`
                })
            },
            addProgress() {
                uni.navigateTo({
                    url: `/pages/add-progress/index?id=${this.id}`
                })
            },
            resultEntery() {
                uni.navigateTo({
                    url: `/pages/result-entry/index?id=${this.id}`
                })
            }
        }
    }
</script>
H5/static/detailImg/right.png