Lou
2024-03-19 d22d9ef9f8c595598fc98bec7f4fb187ceb8831a
更新
8 files modified
1 files deleted
12 files added
395 ■■■■■ changed files
common/common.js 13 ●●●● patch | view | raw | blame | history
components/index/header.vue 39 ●●●●● patch | view | raw | blame | history
components/tabBar/tabBar.vue 14 ●●●●● patch | view | raw | blame | history
pages/home/index.scss 81 ●●●● patch | view | raw | blame | history
pages/home/index.vue 56 ●●●●● patch | view | raw | blame | history
pages/statistics/index.vue 103 ●●●● patch | view | raw | blame | history
pages/user/center.vue 89 ●●●●● patch | view | raw | blame | history
static/icon/nav-15.png patch | view | raw | blame | history
static/icon/nav-16.png patch | view | raw | blame | history
static/icon/nav-17.png patch | view | raw | blame | history
static/icon/nav-bg-15.png patch | view | raw | blame | history
static/icon/nav-bg-16.png patch | view | raw | blame | history
static/icon/nav-bg-17.png patch | view | raw | blame | history
static/icon/nav-bg-18.png patch | view | raw | blame | history
static/img/block-bg.png patch | view | raw | blame | history
static/img/tabbar-04-selected.png patch | view | raw | blame | history
static/img/tabbar-04.png patch | view | raw | blame | history
static/img/tabbar-05-selected.png patch | view | raw | blame | history
static/img/tabbar-05.png patch | view | raw | blame | history
static/img/tabbar-06-selected.png patch | view | raw | blame | history
static/img/tabbar-06.png patch | view | raw | blame | history
common/common.js
@@ -100,24 +100,23 @@
    if (roleType == 2) {
        return [{
                name: '首页',
                iconPathSelected: '/static/img/tabbar-01-selected.png',
                iconPath: '/static/img/tabbar-01.png',
                iconPathSelected: '/static/img/tabbar-04-selected.png',
                iconPath: '/static/img/tabbar-04.png',
                url: '/pages/home/index'
            },
            {
                name: '驾驶舱',
                iconPathSelected: '/static/img/tabbar-02-selected.png',
                iconPath: '/static/img/tabbar-02.png',
                iconPathSelected: '/static/img/tabbar-05-selected.png',
                iconPath: '/static/img/tabbar-05.png',
                url: '/pages/statistics/index'
            },
            {
                name: '个人中心',
                iconPathSelected: '/static/img/tabbar-03-selected.png',
                iconPath: '/static/img/tabbar-03.png',
                iconPathSelected: '/static/img/tabbar-06-selected.png',
                iconPath: '/static/img/tabbar-06.png',
                url: '/pages/user/center'
            }
components/index/header.vue
File was deleted
components/tabBar/tabBar.vue
@@ -25,6 +25,7 @@
                tabbarList: [],
                inactiveColor: '#AFB8C3',
                activeColor: '#5086FA',
                // activeColor: '#003399'
            }
        },
        watch: {
@@ -37,6 +38,15 @@
                deep: true,
                immediate: true
            }
        },
        created() {
            if (uni.getStorageSync("activeRole").roleName == "民警") {
                this.activeColor = "#003399";
            } else {
                this.activeColor = "#5086FA";
            }
        },
        methods: {
@@ -56,4 +66,8 @@
        width: 56rpx;
        height: 56rpx;
    }
    /deep/.u-tabbar {
        box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(107, 134, 159, 0.2);
    }
</style>
pages/home/index.scss
@@ -2,7 +2,8 @@
        color: #333;
        width: 100%;
        height: 100%;
        background-color: #f5f5f5;
        // background-color: #f5f5f5;
        background-color:#fff;
    }
    .layout {
@@ -12,7 +13,6 @@
    .top {
        width: 530rpx;
        .top-text {
            max-width: 85%;
            margin-right: 20rpx;
@@ -24,14 +24,17 @@
    .swiper {
        width: 100%;
        height: 340rpx;
        height: 400rpx;
        // background: linear-gradient(180deg, #017BFC 0%, rgba(1, 123, 252, 0) 100%);
        padding: 0 30rpx;
        box-sizing: border-box;
    }
    .content {
        padding: 0 30rpx;
        padding: 20rpx 30rpx 0;
        border-radius: 50rpx 50rpx 0 0;
        position:relative;
        top:-52rpx;
    }
    // .grid {
@@ -78,10 +81,10 @@
        }
    }
    .block {
        .block-item {
        .block-item,.module-item {
            position: relative;
        }
@@ -102,6 +105,27 @@
            left: 0;
        }
        .module-item,
        .module-item-bg,
        .module-item-box {
            width: 330rpx;
            height: 160rpx;
            border-radius: 20rpx;
        }
        .module-item-box {
            padding: 0 12rpx;
            box-sizing: border-box;
            position: absolute;
            top: 0;
            left: 0;
            border-radius: 20rpx;
        }
        .badge{
            position:absolute;
            top:10rpx;
@@ -111,6 +135,11 @@
        .item-text {
            height: 70rpx;
            margin-left: 20rpx;
            color: #fff;
        }
        .module-text{
            height:90rpx;
            margin-left:20rpx;
            color: #fff;
        }
@@ -132,12 +161,18 @@
    }
    .grid-item {
        width: 153rpx;
        height: 153rpx;
        border-radius: 16rpx 16rpx 16rpx 16rpx;
        justify-content: center;
        background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)
        // width: 153rpx;
        // height: 153rpx;
        // border-radius: 16rpx 16rpx 16rpx 16rpx;
        // justify-content: center;
        // background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)
        
    }
    .grid-icon{
        width:100rpx;
        height:100rpx;
        border-radius: 24rpx;
        background: linear-gradient( 180deg, #FFFFFF 6%, #E3EFF9 99%);
    }
    .row {
@@ -163,20 +198,26 @@
    .tabs {
        border-radius: 10rpx 10rpx 0 0;
           border-radius: 10rpx;
        // border-radius: 10rpx 10rpx 0 0;
        // margin-bottom: 4rpx;
        background-color: rgb(236, 244, 255);
        margin-bottom:30rpx;
        padding:5rpx;
        .tabs-item {
            // padding: 12rpx 24rpx;
            height:70rpx;
            line-height: 70rpx;
            flex: 1;
            text-align: center;
            padding: 20rpx 0;
            font-size:34rpx;
            font-size:32rpx;
            color:#333;
        }
        .tabs-active {
            border-radius: 10rpx 10rpx 0 0;
            border-radius:4rpx ;
            // border-radius: 10rpx 10rpx 0 0;
            // background-color: rgb(236, 244, 255);
            // color: #017BFC;
            // color: rgb(236, 244, 255);
@@ -185,6 +226,10 @@
            font-weight: bold;
        }
    }
    .house-nav{
        box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(107,134,159,0.2);
        margin-bottom:30rpx;
    }
    .menu-tabs {
        padding: 20rpx 0;
@@ -192,10 +237,11 @@
    .menu {
        border-radius: 0 0 10rpx 10rpx;
        box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(107,134,159,0.2);
    }
    /deep/.u-cell__title-text {
        font-size: 34rpx !important;
        font-size: 32rpx !important;
        font-weight: bold;
        color: #000;
        position: relative;
@@ -205,7 +251,8 @@
        content: '';
        width: 6rpx;
        height: 28rpx;
        background-color: #017BFC;
        background-color: #003399;
        // background-color: #017BFC;
        // margin-right: 14rpx;
        position:absolute;
        left:-20rpx;
pages/home/index.vue
@@ -11,7 +11,7 @@
        <view class="swiper" :style="{background:background.banner}">
            <u-swiper :list="bannerList" height="320rpx" radius="10"></u-swiper>
        </view>
        <view class="content">
        <view class="content bgc-ff">
            <view class="">
                <view class="section flex j-c-s-a a-i-c mb-20" v-if="isShowContact && curSelectSite.addressType == 1">
                    <view class="section-item" v-for="(i,k) in contactList" :key="k" v-if="i.name"
@@ -65,28 +65,25 @@
                <view class="block flex a-i-c j-c-s-b mb-20" v-if="roleType == 3">
                    <view @click="scan" class="block-item">
                        <!--     <image class="block-item-bg" src="/static/img/block-bg.png" mode="aspectFill"
                            style="width:390rpx; height:227rpx;" /> -->
                    <view @click="scan" class="module-item">
                        <image class="module-item-bg" src="/static/img/block-bg.png" mode="aspectFill" />
                        <view class="block-item-box flex a-i-c j-c-c " style="width:100%;">
                            <u-icon name="/static/icon/nav-05.png" width="72rpx" height="72rpx"></u-icon>
                            <view class="item-text flex f-d-c j-c-s-b" style="margin-left: 20rpx;">
                                <text class="f-28 fw">扫一扫</text>
                                <text class="f-24 opacity">场所采集</text>
                        <view class="module-item-box flex a-i-c j-c-c ">
                            <u-icon name="/static/icon/nav-16.png" width="90rpx" height="90rpx"></u-icon>
                            <view class="module-text flex f-d-c j-c-s-b" style="margin-left: 20rpx;">
                                <text class="f-32 fw">扫一扫</text>
                                <text class="f-26 opacity">场所采集</text>
                            </view>
                        </view>
                    </view>
                    <view class="block-item" @click="navigatorPage('/subPackage/task/index')"
                        style="width:47%;background:linear-gradient( #00176C 0%, rgba(1,97,203,0.2) 99%)">
                        <!-- <image class="block-item-bg" src="/static/img/block-bg.png" mode="aspectFill"
                            style="width:100%;" /> -->
                        <view class="block-item-box flex a-i-c j-c-c" style="width:100%;">
                            <u-icon name="/static/icon/nav-12.png" width="72rpx" height="72rpx"></u-icon>
                            <view class="item-text flex f-d-c j-c-s-b" style="margin-left: 20rpx;">
                                <text class="f-26 fw">待办事项</text>
                                <text class="f-24 opacity">我的任务</text>
                    <view class="module-item" @click="navigatorPage('/subPackage/task/index')">
                        <image class="module-item-bg" src="/static/img/block-bg.png" mode="aspectFill" />
                        <view class="module-item-box flex a-i-c j-c-c">
                            <u-icon name="/static/icon/nav-17.png" width="90rpx" height="90rpx"></u-icon>
                            <view class="module-text flex f-d-c j-c-s-b" style="margin-left: 20rpx;">
                                <text class="f-32 fw">待办事项</text>
                                <text class="f-26 opacity">我的任务</text>
                            </view>
                            <view class="badge" v-if="taskCount > 0">
                                <u-badge type="error" max="99" :value="taskCount"></u-badge>
@@ -184,7 +181,7 @@
            </view>
            <view class="bgc-ff p-20 mb-20" v-if="isShowHouse">
            <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">
@@ -211,8 +208,14 @@
                            v-for="(item, index) in sectionList[menuTabIndex].children" :index="index" :key="index"
                            :customStyle="{paddingTop:20+'rpx'}">
                            <view class="grid-item flex f-d-c a-i-c">
                                <u-icon :name="item.pictureImg" width="64rpx" height="64rpx"></u-icon>
                                <text class="grid-text f-26 fw mt-10">{{item.name}}</text>
                                <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>
                    </u-grid>
@@ -756,17 +759,22 @@
                    this.$set(this.background, "top", "#017BFC");
                    this.$set(this.background, "banner",
                        "linear-gradient(180deg, #017BFC 0%, rgba(1, 123, 252, 0) 100%)");
                        "linear-gradient(180deg, #017BFC 0%, rgba(1, 123, 252, 0) 99%)");
                } else if (roleName == '民警') {
                    this.tabList = getTabbarList(2);
                    type = 1
                    this.roleType = 3
                    this.roleTypeName = "街道社区"
                    this.$set(this.background, "top", "#0d257E");
                    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, #00176C 0%, rgba(1,97,203,0) 99%)");
                        "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%);")
                }
                const res = await getFuncList(type, roleName)
                this.columnData = res.data;
pages/statistics/index.vue
@@ -4,24 +4,40 @@
            <caption-row title="社区概况"></caption-row>
            <view class="cell flex j-c-s-b flex-wrap ">
                <view class="cell-item">
                    <text class="f-28 mb-20 c-99">楼栋数(幢)</text>
                    <text class="f-30 fw">{{houseData.result1}}</text>
                    <image class="cell-item-icon" src="/static/icon/statistics-nav-01.png" mode="aspectFill"></image>
                    <image class="cell-bg" src="/static/icon/nav-bg-15.png" mode="aspectFill"></image>
                    <view class="cell-item-inner flex f-d-c">
                        <text class="f-28 mb-20 c-99">楼栋数(幢)</text>
                        <text class="f-36 fw c-green">{{houseData.result1}}</text>
                    </view>
                    <!-- <image class="cell-item-icon" src="/static/icon/statistics-nav-01.png" mode="aspectFill"></image> -->
                </view>
                <view class="cell-item">
                    <text class="f-28 mb-20 c-99">房屋数(套)</text>
                    <text class="f-30 fw">{{houseData.result2}}</text>
                    <image class="cell-item-icon" src="/static/icon/statistics-nav-02.png" mode="aspectFill"></image>
                    <image class="cell-bg" src="/static/icon/nav-bg-16.png" mode="aspectFill"></image>
                    <view class="cell-item-inner flex f-d-c">
                        <text class="f-28 mb-20 c-99">房屋数(套)</text>
                        <text class="f-36 fw  c-blue">{{houseData.result2}}</text>
                    </view>
                    <!-- <image class="cell-item-icon" src="/static/icon/statistics-nav-02.png" mode="aspectFill"></image> -->
                </view>
                <view class="cell-item">
                    <text class="f-28 mb-20 c-99">住户数(人)</text>
                    <text class="f-30 fw">{{houseData.result3}}</text>
                    <image class="cell-item-icon" src="/static/icon/statistics-nav-03.png" mode="aspectFill"></image>
                    <image class="cell-bg" src="/static/icon/nav-bg-17.png" mode="aspectFill"></image>
                    <view class="cell-item-inner flex f-d-c">
                        <text class="f-28 mb-20 c-99">住户数(人)</text>
                        <text class="f-36 fw c-orange">{{houseData.result3}}</text>
                    </view>
                    <!-- <image class="cell-item-icon" src="/static/icon/statistics-nav-03.png" mode="aspectFill"></image> -->
                </view>
                <view class="cell-item">
                    <text class="f-28 mb-20 c-99">单元数</text>
                    <text class="f-30 fw">{{houseData.result4}}</text>
                    <image class="cell-item-icon" src="/static/icon/statistics-nav-01.png" mode="aspectFill"></image>
                    <image class="cell-bg" src="/static/icon/nav-bg-18.png" mode="aspectFill"></image>
                    <view class="cell-item-inner flex f-d-c">
                        <text class="f-28 mb-20 c-99">单元数</text>
                        <text class="f-36 fw c-cyan">{{houseData.result4}}</text>
                    </view>
                    <!-- <image class="cell-item-icon" src="/static/icon/statistics-nav-01.png" mode="aspectFill"></image> -->
                </view>
            </view>
        </view>
@@ -163,7 +179,7 @@
            </view>
        </view>
        <tabBar :current="1" :list="tabList" @change="changeTabbar" />
        <tabBar :current="1" :list="tabList" />
    </view>
</template>
@@ -242,7 +258,7 @@
                    padding: [5, 5, 5, 5],
                    enableScroll: false,
                    extra: {
                        pie: {
                        ring: {
                            customRadius: 55,
                            activeOpacity: 0.5,
                            activeRadius: 10,
@@ -416,7 +432,7 @@
    }
    .container {
        padding: 0 20rpx;
        padding: 0 30rpx;
    }
    // .section {
@@ -424,22 +440,24 @@
    // }
    .cell {
        padding: 20rpx 0;
        padding: 30rpx 30rpx 0;
        background-color: #fff;
        margin-top: 30rpx;
        border-radius: 16rpx;
        .cell-item {
            // width: 220rpx;
            width: calc(50% - 20rpx);
            height: 190rpx;
            // width: calc(50% - 20rpx);
            width: 300rpx;
            height: 167rpx;
            border-radius: 10rpx;
            margin-bottom: 20rpx;
            display: flex;
            flex-direction: column;
            justify-content: center;
            background-color: #fff;
            padding: 0 20rpx;
            box-sizing: border-box;
            margin-bottom: 30rpx;
            // display: flex;
            // flex-direction: column;
            // justify-content: center;
            // background-color: #fff;
            position: relative;
            box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.1);
            // box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.1);
        }
        .cell-item-icon {
@@ -449,6 +467,39 @@
            right: 20rpx;
            top: 20rpx;
        }
        .c-green {
            color: #0FA429;
        }
        .c-blue {
            color: #1B76D6;
        }
        .c-orange {
            color: #FF9905;
        }
        .c-cyan {
            color: #13C6C7;
        }
        .cell-bg {
            width: 300rpx;
            height: 167rpx;
        }
        .cell-item-inner {
            width: 300rpx;
            height: 167rpx;
            position: absolute;
            top: 0;
            left: 0;
            padding: 30rpx 30rpx 0;
            box-sizing: border-box;
        }
    }
    .menu {
pages/user/center.vue
@@ -36,37 +36,48 @@
                </navigator>
            </view>
        </view>
        <view class="cell-box" v-if="isLogin">
            <u-cell-group :border="false" icon="star" :customStyle="{fontSize:'26rpx',color:'#585b61'}">
                <u-cell title="切换角色" isLink url="/subPackage/user/role/index">
                    <image slot="icon" src="/static/icon/menu-center-02.png" class="icon" mode=""></image>
                </u-cell>
                <u-cell v-if="siteInfo.addressType == 1" title="我的事件" isLink
                    url="/subPackage/bs/views/repairList?from=center">
                    <image slot="icon" src="/static/icon/menu-center-01.png" class="icon" mode=""></image>
                </u-cell>
                <u-cell v-if="siteInfo.addressType == 2" title="我的事件" isLink url="/subPackage/user/event/event">
                    <image slot="icon" src="/static/icon/menu-center-01.png" class="icon" mode=""></image>
                </u-cell>
                <u-cell v-if="roleType == 1" title="我的评价" isLink url="/subPackage/user/commentList/evaluateList">
                    <image slot="icon" src="/static/icon/menu-center-01.png" class="icon" mode=""></image>
                </u-cell>
                <u-cell v-if="roleType == 1" title="我的评论" isLink url="/subPackage/user/commentList/commentList">
                    <image slot="icon" src="/static/icon/menu-center-01.png" class="icon" mode=""></image>
                </u-cell>
                <u-cell title="修改密码" :border="false" isLink url="/subPackage/user/password/index">
                    <image slot="icon" src="/static/icon/menu-center-03.png" class="icon" mode=""></image>
                </u-cell>
            </u-cell-group>
        <view class="main">
            <view class="cell-box" v-if="isLogin">
                <u-cell-group :border="false" icon="star" :customStyle="{fontSize:'26rpx',color:'#585b61'}">
                    <u-cell title="切换角色" isLink url="/subPackage/user/role/index" :border="false">
                        <image slot="icon" src="/static/icon/menu-center-02.png" class="icon" mode=""></image>
                    </u-cell>
                    <u-cell v-if="siteInfo.addressType == 1" title="我的事件" isLink
                        url="/subPackage/bs/views/repairList?from=center" :border="false">
                        <image slot="icon" src="/static/icon/menu-center-01.png" class="icon" mode=""></image>
                    </u-cell>
                    <u-cell v-if="siteInfo.addressType == 2" title="我的事件" :border="false" isLink
                        url="/subPackage/user/event/event">
                        <image slot="icon" src="/static/icon/menu-center-01.png" class="icon" mode=""></image>
                    </u-cell>
                    <u-cell v-if="roleType == 1" :border="false" title="我的评价" isLink
                        url="/subPackage/user/commentList/evaluateList">
                        <image slot="icon" src="/static/icon/menu-center-01.png" class="icon" mode=""></image>
                    </u-cell>
                    <u-cell v-if="roleType == 1" :border="false" title="我的评论" isLink
                        url="/subPackage/user/commentList/commentList">
                        <image slot="icon" src="/static/icon/menu-center-01.png" class="icon" mode=""></image>
                    </u-cell>
                    <u-cell title="修改密码" :border="false" isLink url="/subPackage/user/password/index">
                        <image slot="icon" src="/static/icon/menu-center-03.png" class="icon" mode=""></image>
                    </u-cell>
                </u-cell-group>
            </view>
            <!-- <view class="cell-box" v-if="isLogin">
                <u-cell-group :border="false">
                    <u-cell title="退出登录" :border="false" @click="logOut" isLink>
                        <image slot="icon" src="/static/icon/menu-center-04.png" class="icon" mode=""></image>
                    </u-cell>
                </u-cell-group>
            </view> -->
        </view>
        <view class="cell-box" v-if="isLogin">
            <u-cell-group :border="false">
                <u-cell title="退出登录" :border="false" @click="logOut" isLink>
                    <image slot="icon" src="/static/icon/menu-center-04.png" class="icon" mode=""></image>
                </u-cell>
            </u-cell-group>
        </view>
        <tabBar :current="2" :list="tabList" @change="changeTabbar" />
    </view>
</template>
@@ -202,7 +213,8 @@
<style lang="scss">
    .container {
        background-color: #f7f7f7;
        background-color: #fff;
        // background-color: #f7f7f7;
        min-height: 100vh;
        overflow: hidden;
    }
@@ -337,14 +349,25 @@
        }
    }
    .main {
        border-radius: 30rpx 30rpx 0 0;
        position: relative;
        top: -40rpx;
        z-index: 10;
        padding: 30rpx 30rpx 0;
        background-color: #fff;
    }
    .cell-box {
        background: #ffffff;
        margin: 18rpx;
        // background: #ffffff;
        // margin: 18rpx;
        border-radius: 20rpx;
        box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(107, 134, 159, 0.2);
        .icon {
            width: 52rpx;
            height: 52rpx;
            margin-right: 22rpx;
            margin-right: 12rpx;
        }
    }
static/icon/nav-15.png

static/icon/nav-16.png
static/icon/nav-17.png
static/icon/nav-bg-15.png
static/icon/nav-bg-16.png
static/icon/nav-bg-17.png
static/icon/nav-bg-18.png
static/img/block-bg.png

static/img/tabbar-04-selected.png
static/img/tabbar-04.png
static/img/tabbar-05-selected.png
static/img/tabbar-05.png
static/img/tabbar-06-selected.png
static/img/tabbar-06.png