wjt
2024-06-20 f391ea2e402579ab8fc351232b83d21376386738
添加页面
18个文件已添加
1个文件已删除
9个文件已修改
658 ■■■■■ 已修改文件
pages.json 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/registerCompany/registerCompany.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/applyRecordDetails/applyRecordDetails.scss 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/applyRecordDetails/applyRecordDetails.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/components/index.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/components/mine.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/components/popup.vue 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/components/tabs.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/policyIndex/policyIndex.scss 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/policyIndex/policyIndex.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/translate/translate.scss 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/translate/translate.vue 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/translateRecord/translateRecord.scss 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/translateRecord/translateRecord.vue 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/index.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/checkbox.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/main-select.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/main.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/none-checkbox.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/refject.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/scode.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/user-select.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/user.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/zhi1.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/zhi2.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/zhi3.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/zhi4.png 补丁 | 查看 | 原始文档 | blame | 历史
static/policy/zhi5.png 补丁 | 查看 | 原始文档 | blame | 历史
pages.json
@@ -135,6 +135,20 @@
                        "navigationBarTitleText" : "申请详情",
                        "navigationStyle": "custom"
                    }
                },
                {
                    "path" : "translate/translate",
                    "style" :
                    {
                        "navigationBarTitleText" : "执法审批"
                    }
                },
                {
                    "path" : "translateRecord/translateRecord",
                    "style" :
                    {
                        "navigationBarTitleText" : ""
                    }
                }
            ]
        }
pages/registerCompany/registerCompany.vue
@@ -63,7 +63,7 @@
                <input type="text" placeholder="请输入" v-model="form.companyAddress"/>
            </view>
        </view> -->
        <u-button @click="register">
        <u-button @click="register" class="u-reset-button">
            注册
        </u-button>
    </view>
policy/applyRecordDetails/applyRecordDetails.scss
@@ -63,11 +63,20 @@
        }
        .view-step{
            padding: 0 24rpx;
            .step-content{
                position: relative;
                padding-left: 64rpx;
                &::after{
                height: 100rpx;
                padding-bottom: 64rpx;
                &::before{
                    content: '';
                    display: block;
                    height: 100%;
                    width: 4rpx;
                    background-color: #E7F8F0;
                    position: absolute;
                    left: 19rpx;
                }
                .icon{
                    position: absolute;
@@ -94,6 +103,12 @@
                
                }
            }
            .none{
                &::before{
                    display: none;
                }
                padding-bottom: 0;
            }
        
        }
    }
policy/applyRecordDetails/applyRecordDetails.vue
@@ -116,7 +116,27 @@
                <view class="view-step">
                    <view class="step-content">
                        <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image>
                        <view class="top-title">
                            提交申请
                        </view>
                        <view class="down-tips">
                            <view>提交人:<text>林小零</text></view>
                            <view class="time">2024-06-07 12:14</view>
                        </view>
                    </view>
                    <view class="step-content">
                        <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image>
                        <view class="top-title">
                            提交申请
                        </view>
                        <view class="down-tips">
                            <view>提交人:<text>林小零</text></view>
                            <view class="time">2024-06-07 12:14</view>
                        </view>
                    </view>
                    <view class="step-content none">
                        <!-- <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image> -->
                        <image src="/static/policy/refject.png" mode="widthFix" class="icon"></image>
                        <view class="top-title">
                            提交申请
                        </view>
policy/components/index.vue
@@ -2,11 +2,11 @@
    <view class="page-content">
    
        <view class="banner">
            <image src="https://picsum.photos/200/200" mode=""></image>
            <image src="/static/head.png" mode=""></image>
        </view>
        <view class="main-page-box">
            <view class="second-box">
                <image src="/static/index.png" class="icon"></image>
                <image src="/static/hqzc.png" class="icon"></image>
                <view class="driver"></view>
                <view class="right-box">
                    <view>
@@ -19,11 +19,12 @@
                </view>
            </view>
            <view class="policy-list">
                <u-button @click="applyPulicy">执法申请</u-button>
                <u-button v-if="isJudge">执法审批</u-button>
                <u-button @click="report">执法结果上报</u-button>
                <u-button @click="applyRecord">记录查询</u-button>
                <u-button @click="goDataLook">数据看板</u-button>
                <!-- v-if="isJudge" -->
                <image src="/static/policy/zhi1.png"  @click="applyPulicy" mode="widthFix"></image>
                <image src="/static/policy/zhi2.png"  @click="recordZhifa" mode="widthFix"></image>
                <image src="/static/policy/zhi3.png" @click="report" mode="widthFix"></image>
                <image src="/static/policy/zhi4.png" @click="applyRecord" mode="widthFix"></image>
                <image src="/static/policy/zhi5.png" @click="goDataLook" mode="widthFix"></image>
            </view>
        </view>
    </view>
@@ -70,6 +71,11 @@
                uni.navigateTo({
                    url: '/policy/applyRecord/applyRecord'
                })
            },
            recordZhifa() {
                uni.navigateTo({
                    url: '/policy/translate/translate'
                })
            }
        }
    }
@@ -79,7 +85,7 @@
    .page-content{
        .banner{
            width: 100%;
            height: 400rpx;
            height: 520rpx;
            image{
                width: 100%;
                height: 100%;
@@ -127,6 +133,14 @@
        }
        .policy-list{
            margin: 22rpx 32rpx;
            image{
                width: 100%;
                height: 160rpx;
                margin-bottom: 20rpx;
            }
            image::last-child{
                margin-bottom: 0;
            }
        }
    }
</style>
policy/components/mine.vue
@@ -125,7 +125,7 @@
            width: calc(100% - 64rpx);
            left: 32rpx;
            position: fixed;
            bottom: 140rpx;
            bottom: 180rpx;
        }
    }
</style>
policy/components/popup.vue
New file
@@ -0,0 +1,89 @@
<template>
    <u-popup  :show="show" @close="close" @open="open" mode="bottom" round="10" closeable>
        <view class="page-box">
            <view class="title">
                执法申请审批
            </view>
            <view class="border"></view>
            <view class="padding">
                <view>
                    <u-radio-group  placement="row">
                        <u-radio active-color="#3EB47A" label="通过" name="3"></u-radio>
                        <u-radio active-color="#3EB47A" label="拒绝" name="3"></u-radio>
                    </u-radio-group>
                </view>
                <view class="margin-top">
                    <u-textarea  placeholder="请输入拒绝理由..."></u-textarea>
                </view>
            </view>
            <view class="down">
                <view class="cancel button" @click="close">取消</view>
                <view class="enter" @entery="entery">确认</view>
            </view>
        </view>
    </u-popup>
</template>
<script>
    export default {
        data() {
            return {
                show: false
            }
        },
        methods: {
            open() {
                this.show = true
            },
            close(){
                this.show = false
                this.$emit('cancel')
            },
            entery(){
                this.$emit('entery')
            }
        }
    }
</script>
<style scoped lang="scss">
    .page-box{
        padding: 24rpx 0;
        .title{
            font-size: 36rpx;
            font-weight: 700;
            padding: 0 32rpx;
            border-bottom: 2rpx solid #F4F4F4;
            padding-bottom: 24rpx;
            margin-bottom: 48rpx;
        }
        .padding{
            padding: 0 24rpx;
        }
        .margin-top{
            margin-top: 50rpx;
        }
        .down{
            padding: 34rpx 30rpx 30rpx;
            display: flex;
            justify-content: space-between;
            >view{
                display: inline-block;
            }
            .button{
                padding: 20rpx 40rpx;
                background: #F7F7F7;
                border-radius: 20rpx;
            }
            .enter{
                width: 65%;
                background: #1171E0;
                color: white;
                border-radius: 20rpx;
                padding: 20rpx 40rpx;
                text-align: center;
            }
        }
    }
</style>
policy/components/tabs.vue
@@ -1,12 +1,16 @@
<template>
    <view class="fixed-down">
        <view  @click="activeClick(0)" :class="{ active: active == 0}">
            <image src="/static/policy/main.png" mode="heightFix" v-if="active != 0"></image>
            <image src="/static/policy/main-select.png" mode="heightFix" v-if="active == 0"></image>
            <view>工作台</view>
        </view>
        <view @click="scode">
            扫码
        <view @click="scode" class="relative">
            <image class="code" src="/static/policy/scode.png" mode="heightFix"></image>
        </view>
        <view @click="activeClick(1)" :class="{ active: active == 1}">
            <image src="/static/policy/user.png" mode="heightFix" v-if="active != 1"></image>
            <image src="/static/policy/user-select.png" mode="heightFix" v-if="active == 1"></image>
            <view>我的</view>
        </view>
    </view>
@@ -46,12 +50,30 @@
        justify-content: space-around;
        align-items: center;
        padding-bottom: 29rpx;
        padding-top: 20rpx;
        background-color: white;
        font-size: 20rpx;
        color: #7E8596FF;
        &>view{
            text-align: center;
        }
        .active{
            color: #1171E0FF;
        }
        image{
            height: 58rpx;
            width: 58rpx;
        }
        .code{
            width: 108rpx;
            height: 108rpx;
            position: absolute;
            top: -20rpx;
            left: 0;
        }
        .relative{
            position: relative;
            width: 108rpx;
            height: 108rpx;
        }
    }
</style>
policy/policyIndex/policyIndex.scss
@@ -0,0 +1,3 @@
.padding-bottom{
    padding-bottom: 100rpx;
}
policy/policyIndex/policyIndex.vue
@@ -1,5 +1,5 @@
<template>
    <view>
    <view class="padding-bottom">
        <policyIndexVue v-if="activeNumber == 0"></policyIndexVue>
        <minePage v-if="activeNumber == 1"></minePage>
        <tabsCom :activeNumber.sync="activeNumber"></tabsCom>
policy/translate/translate.scss
New file
@@ -0,0 +1,125 @@
.page-box{
    .list{
        margin: 20rpx 32rpx;
        .select-image{
            margin-right: 28rpx;
        }
        image{
            width: 40rpx;
            height: 40rpx;
        }
        .select-box{
            display: flex;
            justify-content: flex-start;
            align-items: center;
        }
        .start{
            .list-item{
                width: calc(100% - 68rpx);
            }
        }
        .list-item{
            width: 100%;
            padding: 24rpx;
            background-color: white;
            border-radius: 10rpx;
            margin-bottom: 20rpx;
            .top-title{
                display: flex;
                justify-content: space-between;
                align-items: center;
                font-size: 32rpx;
                margin-bottom: 28rpx;
                .status{
                    font-size: 28rpx;
                    color: #FE7B32;
                }
            }
            .user-info{
                font-size: 28rpx;
                color: #4A4E60;
                display: flex;
                justify-content: flex-start;
                align-items: center;
                .driver{
                    width: 2rpx;
                    height: 20rpx;
                    background: #F1F1F1;
                    margin: 0 20rpx;
                }
            }
            .set-line{
                font-size: 26rpx;
                color: #4A4E60;
                margin-top: 12rpx;
                text{
                    color: #C3C6CD;
                }
            }
            .line{
                border-bottom: 3rpx dotted #F4F4F4;
                margin: 24rpx 0;
            }
            .set-line1{
                font-size: 24rpx;
                color: #4A4E60;
                margin-top: 12rpx;
                text{
                    color: #C3C6CD;
                }
            }
            .button{
                background-color: #1171E0;
                display: inline-block;
                color: white;
                padding: 10rpx 36rpx;
                border-radius: 10rpx;
            }
            .set-start{
                align-items: flex-end;
            }
        }
    }
    .down{
        position: fixed;
        background: white;
        width: 100%;
        bottom: 0;
        padding: 32rpx 22rpx 40rpx;
        text-align: center;
        box-sizing: border-box;
        display: flex;
        justify-content: space-between;
        align-items: center;
        .button{
            border-radius: 20rpx;
            border: 2rpx solid #ABD2FF;
            background: #F0F8FF;
            color: #1171E0;
            padding: 20rpx 30rpx;
        }
        .more-options{
            width: 60%;
            background: #1171E0;
            color: #F0F8FF;
        }
        .start-option{
            width: calc(100% - 98rpx) !important;
        }
    }
    .show-check{
        font-size: 26rpx;
        color: #202D44;
    }
    .judge{
        .select-image{
            margin-right: 28rpx;
            width: 70rpx;
        }
        image{
            width: 40rpx;
            height: 40rpx;
        }
    }
}
policy/translate/translate.vue
New file
@@ -0,0 +1,144 @@
<template>
    <view class="page-box">
        <view class="list">
            <view class="select-box" v-for="(item,index) in list" :key="index" :class="{start: isJudege}">
                <view class="select-image" v-if="isJudege" @click="setIsSelect(index)">
                    <image src="/static/policy/checkbox.png" mode="widthFix" v-show="item.isSelect"></image>
                    <image src="/static/policy/none-checkbox.png" mode="widthFix" v-show="!item.isSelect"></image>
                </view>
                <view class="list-item">
                    <view class="top-title">
                        <text>24年5月突击检查消防安全</text>
                        <text class="status">待审批</text>
                    </view>
                    <view class="user-info">
                        <text>王思雨</text>
                        <view class="driver"></view>
                        <text>执法一大队</text>
                    </view>
                    <view class="set-line">
                        <text>执法对象:</text>河南觉醒科技有限公司
                    </view>
                    <view class="line"></view>
                    <view class="set-flex set-start set-flex-content-between">
                        <view>
                            <view class="set-line1">
                                <text>执法时间:</text>2024-05-12 12:00
                            </view>
                            <view class="set-line1">
                                <text>申请时间:</text>2024-05-12 12:00:12
                            </view>
                        </view>
                        <view class="button" v-if="!isJudege" @click="goStartJudeg">
                            审批
                        </view>
                    </view>
                </view>
            </view>
        </view>
        <view class="down" v-if="!isJudege">
            <view class="button" @click="goRecord">审批记录</view>
            <view class="button more-options" @click="moreJudeg">批量审批</view>
        </view>
        <view class="down judge" v-else>
            <view class="select-image"  @click="allSelect()">
                <image src="/static/policy/checkbox.png" mode="widthFix" v-show="isAllSelect"></image>
                <image src="/static/policy/none-checkbox.png" mode="widthFix" v-show="!isAllSelect"></image>
                <view class="show-check">全选</view>
            </view>
            <view class="button more-options start-option" @click="moreStart">立即审批</view>
        </view>
        <popupCom ref="popup" @entery="entery" @cancel="cancelSelect"></popupCom>
    </view>
</template>
<script>
    import popupCom from '@/policy/components/popup.vue'
    export default {
        components: {
            popupCom
        },
        data() {
            return {
                list1: [{
                    name: '待上报',
                }, {
                    name: '已上报',
                }],
                isJudege: false,
                list: [
                    {
                        isSelect: false
                    }
                ],
            }
        },
        computed: {
            isAllSelect(){
                const value = this.list.every(item => item.isSelect)
                return value
            }
        },
        methods: {
            goRecord() {
                uni.navigateTo({
                    url: `/policy/translateRecord/translateRecord`
                })
            },
            click() {
            },
            goStartJudeg() {
                this.$refs.popup.open()
            },
            // 批量审批
            moreJudeg() {
                if(!this.list.length){
                    return
                }
                this.isJudege = true
            },
            setIsSelect(index){
                this.list[index].isSelect = !this.list[index].isSelect
            },
            allSelect() {
                this.list.map(item => item.isSelect = !this.isAllSelect)
            },
            moreStart() {
                const value = this.list.some(item => item.isSelect)
                if(value) {
                    this.goStartJudeg()
                } else {
                    uni.showToast({
                        title: '请选择审批',
                        icon: 'none'
                    })
                }
            },
            entery() {
                this.isJudege = false
            },
            cancelSelect() {
                this.isJudege = false
                this.list.map(item => item.isSelect = false)
            }
        }
    }
</script>
<style>
    page {
        background-color: #F4F4F4;
    }
</style>
<style lang="scss" scoped>
    @import "./translate.scss";
    /deep/ .u-radio {
        margin-right: 84rpx !important;
    }
    /deep/ .u-textarea {
        background-color: #F4F4F4 !important;
        border: none;
    }
</style>
policy/translateRecord/translateRecord.scss
New file
@@ -0,0 +1,104 @@
.page-box{
    padding-bottom: 40rpx;
    .list{
        margin: 20rpx 32rpx;
        .list-item{
            padding: 24rpx;
            background-color: white;
            border-radius: 10rpx;
            margin-bottom: 20rpx;
            .top-title{
                display: flex;
                justify-content: space-between;
                align-items: center;
                font-size: 32rpx;
                margin-bottom: 28rpx;
                .status{
                    font-size: 28rpx;
                    color: #B4B9BF;
                }
                .status1{
                    color: #FE7B32;
                }
                .status2{
                    color: #3EB47A;
                }
                .status3{
                    color: #1171E0;
                }
                .status4{
                    color: #EB4746;
                }
            }
            .user-info{
                font-size: 28rpx;
                color: #4A4E60;
                display: flex;
                justify-content: flex-start;
                align-items: center;
                .driver{
                    width: 2rpx;
                    height: 20rpx;
                    background: #F1F1F1;
                    margin: 0 20rpx;
                }
            }
            .set-line{
                font-size: 26rpx;
                color: #4A4E60;
                margin-top: 12rpx;
                text{
                    color: #C3C6CD;
                }
            }
            .line{
                border-bottom: 3rpx dotted #F4F4F4;
                margin: 24rpx 0;
            }
            .set-line1{
                font-size: 24rpx;
                color: #4A4E60;
                margin-top: 12rpx;
                text{
                    color: #C3C6CD;
                }
            }
            .button{
                background-color: #1171E0;
                display: inline-block;
                color: white;
                padding: 10rpx 36rpx;
                border-radius: 10rpx;
            }
            .set-start{
                align-items: flex-end;
            }
        }
    }
    .down{
        position: fixed;
        background: white;
        width: 100%;
        bottom: 0;
        padding: 32rpx 22rpx 40rpx;
        text-align: center;
        box-sizing: border-box;
        .button{
            border-radius: 20rpx;
            border: 2rpx solid #ABD2FF;
            background: #F0F8FF;
            color: #1171E0;
            padding: 20rpx 0;
        }
    }
    .set-search{
        margin: 0 32rpx 0;
        padding-top: 26rpx;
    }
    .border{
        border-bottom: 2rpx solid #F6F6F6;
        margin: 20rpx 0 0;
    }
}
policy/translateRecord/translateRecord.vue
New file
@@ -0,0 +1,74 @@
<template>
    <view class="page-box">
        <u-sticky bgColor="white">
            <view class="set-search">
                <u-search placeholder="请输入执法主题 "  shape="square" :showAction="false"></u-search>
            </view>
            <view class="border"></view>
            <u-tabs :list="list1" @click="click" :scrollable="false" bgColor="white"></u-tabs>
        </u-sticky>
        <view class="list">
            <view class="list-item" @click="goReport">
                <view class="top-title">
                    <text>24年5月突击检查消防安全</text>
                    <text class="status status2">通过</text>
                    <text class="status status4">拒绝</text>
                </view>
                <view class="user-info">
                    <text>王思雨</text>
                    <view class="driver"></view>
                    <text>执法一大队</text>
                </view>
                <view class="set-line">
                    <text>执法对象:</text>河南觉醒科技有限公司
                </view>
                <view class="line"></view>
                <view class="set-flex set-start set-flex-content-between">
                    <view>
                        <view class="set-line1">
                            <text>执法时间:</text>2024-05-12 12:00
                        </view>
                        <view class="set-line1">
                            <text>申请时间:</text>2024-05-12 12:00:12
                        </view>
                    </view>
                </view>
            </view>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                list1: [{
                    name: '全部',
                }, {
                    name: '通过',
                }, {
                    name: '拒绝',
                }]
            }
        },
        methods: {
            goReport() {
            },
            click() {
            }
        }
    }
</script>
<style>
    page {
        background-color: #F4F4F4;
    }
</style>
<style lang="scss" scoped>
    @import "./translateRecord.scss";
</style>
static/index.png
Binary files differ
static/policy/checkbox.png
static/policy/main-select.png
static/policy/main.png
static/policy/none-checkbox.png
static/policy/refject.png
static/policy/scode.png
static/policy/user-select.png
static/policy/user.png
static/policy/zhi1.png
static/policy/zhi2.png
static/policy/zhi3.png
static/policy/zhi4.png
static/policy/zhi5.png