From 904e6a53f3e7c8e80f9156727c7be6ab9ad87d92 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Wed, 01 Nov 2023 20:10:50 +0800
Subject: [PATCH] 首页样式修改
---
pages/home/index.vue.bak | 440 ++++++++++++++++++++++++
pages.json | 12
static/icon/change-icon.png | 0
static/icon/nav-02.png | 0
static/icon/nav-04.png | 0
static/img/tabbar-01-selected.png | 0
static/icon/nav-bg-03.png | 0
static/base.css | 33 +
static/img/tabbar-03.png | 0
static/icon/tel-green.png | 0
static/icon/nav-03.png | 0
static/icon/tel-orange.png | 0
static/icon/nav-bg-01.png | 0
manifest.json | 2
pages/home/index.vue | 533 +++++++----------------------
static/icon/nav-01.png | 0
static/icon/nav-bg-02.png | 0
static/icon/tel-blue.png | 0
static/img/tabbar-03-selected.png | 0
static/img/tabbar-02.png | 0
subPackage/workbench/components/lineItem.vue | 2
21 files changed, 616 insertions(+), 406 deletions(-)
diff --git a/manifest.json b/manifest.json
index 4cbe5f4..b98a356 100644
--- a/manifest.json
+++ b/manifest.json
@@ -142,7 +142,7 @@
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
- "appid" : "wx521ae71bcde281bc",
+ "appid" : "wxdc5675f4df850da6",
"setting" : {
"urlCheck" : false,
"minified" : true,
diff --git a/pages.json b/pages.json
index 7146f3f..2812e75 100644
--- a/pages.json
+++ b/pages.json
@@ -177,16 +177,22 @@
"backgroundColor": "#4586FE"
},
"tabBar": {
- "custom": true,
+ // "custom": true,
"color": "#AFB8C3",
"selectedColor": "#5086FA",
"borderStyle": "white",
"backgroundColor": "#ffffff",
"list": [{
- "pagePath": "pages/home/index"
+ "pagePath": "pages/home/index",
+ "selectedIconPath": "static/img/tabbar-01-selected.png",
+ "iconPath": "static/img/tabbar-01-selected.png",
+ "text": "首页"
},
{
- "pagePath": "pages/user/center"
+ "pagePath": "pages/user/center",
+ "iconPath": "static/img/tabbar-03.png",
+ "selectedIconPath": "static/img/tabbar-03-selected.png",
+ "text": "我的"
}
]
}
diff --git a/pages/home/index.vue b/pages/home/index.vue
index 7c720ab..6f7be6c 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -1,440 +1,171 @@
<template>
- <view class="container">
- <u-navbar height="48" bgColor="#5887f9" :autoBack="false" safeAreaInsetTop placeholder>
- <view slot="left">
- <u--text color="#ffffff" text="基层智治" size="18" />
+ <view class="">
+ <u-navbar height="48" :autoBack="false" safeAreaInsetTop placeholder>
+ <view slot="left" class="flex">
+ <text class="top">万达华府26栋1903室</text>
+ <u-icon name="/static/icon/change-icon.png"></u-icon>
</view>
</u-navbar>
-
- <view class="main">
- <view class="main-bg">
-
+ <view class="content">
+ <view class="swiper">
+ <u-swiper :list="swiperList"></u-swiper>
</view>
-
- <view class="main-select" @click="selectBoxShow = !selectBoxShow">
- <u-icon name="map" color="#fff"></u-icon>
- <view>
- 当前场所:{{curSelectSite.name?curSelectSite.name:'暂无绑定场所信息'}}
- </view>
-
- <u-picker title="场所" :show="selectBoxShow" keyName="name" ref="uPicker" :columns="siteColumns"
- @confirm="confirm" @change="changeHandler"></u-picker>
- </view>
-
- <view class="main-btn">
- <menu-list :menuData="btnList"></menu-list>
- </view>
-
- <view class="main-phone-house">
- <view v-if="gridDataList.length>0" class="phone-box">
- <grid-menu :gridData='item' v-for="(item, index) in gridDataList" :key='index'></grid-menu>
- </view>
-
- <view v-if="hasMenu('楼盘表').length>0" class="house-box">
- <box-title :title="'楼盘表'"></box-title>
- <view class="content">
- <grid-menu :gridData='item' v-for="(item, index) in houseDataList.slice(0, 6)" :key='index'
- @click.native="pushPage(item)"></grid-menu>
- </view>
- </view>
- </view>
-
- <view class="main-bt pb-40">
- <view v-if="liveList.length>0" class="mt-20">
- <box-title :title="'生活'">
- <template slot="titleMore">
- <view style="color: red;">titleMore</view>
- </template>
- </box-title>
- <view class="mt-20">
- <view class="mt-20 b-c-w">
- <menu-list :menuData="liveList"></menu-list>
- </view>
- </view>
- </view>
-
- <view v-if="jobList.length>0" class="mt-20">
- <box-title :title="'工作台'"></box-title>
-
- <view class="mt-20 b-c-w">
- <menu-list :border='true' :menuData="jobList"></menu-list>
- </view>
- </view>
-
- <view class="mt-20 main-taska">
- <box-title :title="'我的任务'"></box-title>
-
- <view class="mt-20 b-c-w">
- <view class="flex">
- <view class="flex-1" v-for="(item, index) in taskTypeList" :key='index'>
- <cur-menu class='boder-f7f8f9-1 p-all-16' :curMenu="item" :imgShow="false"
- :textShow="true"></cur-menu>
+ <view class="">
+ <u-grid :border="false" col="4">
+ <u-grid-item v-for="(i,k) in menuList" :key="k" >
+ <u-icon :name="i.icon" :size="45"></u-icon>
+ <text class="f-26 mt-20">{{i.text}}</text>
+ </u-grid-item>
+ </u-grid>
+ <view class="section flex j-c-s-b mt-40">
+ <view class="section-item" v-for="i in navList">
+ <image class="section-item-bg" src="/static/icon/nav-bg-01.png" mode="aspectFill"></image>
+ <view class="item-box">
+ <view class="f-28">{{i.title}}</view>
+ <view class="flex j-c-s-b">
+ <text class="f-22">{{i.name}}</text>
+ <u-icon :name="i.icon"></u-icon>
</view>
</view>
- <u-cell-group :border='false'>
- <u-cell class="boder-f7f8f9-1" :border='false' :title="item.title"
- v-for="(item, index) in taskList" :key="index">
- <view slot="right-icon">待处理 {{item.num}}</view>
- </u-cell>
- </u-cell-group>
</view>
-
</view>
</view>
+
+ <view class="notic">
+ <view class="notic-caption flex a-i-c j-c-s-b">
+ <view class="flex a-i-c">
+ <view class="line"></view>
+ <text class="f-32">通知公告</text>
+ </view>
+ <u-icon name="arrow-right"></u-icon>
+ </view>
+ <view class="notic-list" v-for="i in 3">
+ <view class="f-28 mb-30">
+ 新业态新就业群体现状调查问卷
+ </view>
+ <view class="flex a-i-c j-c-s-b">
+ <view class="f-28 flex a-i-c">
+ <view class="flex a-i-c mr-30">
+ <u-icon name="thumb-up-fill" size="24" color="#CECECE"></u-icon>
+ <text class="f-24 c-99 ml-10">121</text>
+ </view>
+ <view class="flex a-i-c">
+ <u-icon name="eye-fill" size="24" color="#CECECE"></u-icon>
+ <text class="f-24 c-99 ml-10">121</text>
+ </view>
+ </view>
+ <text class="f-24 c-99">2023-08-21</text>
+ </view>
+
+ </view>
+ </view>
+
</view>
- <tabBar @change='change' :currentTab="0"></tabBar>
</view>
</template>
<script>
- import tabBar from "@/components/tabBar/tabBar.vue";
- import curMenu from "@/components/curMenu/index.vue";
- import menuList from "@/components/menuList/index.vue";
- import gridMenu from "@/components/gridMenu/index.vue";
- import {
- getFuncList,
- getHouseList
- } from "@/api/doorplateAddress/doorplateAddress";
-
export default {
- components: {
- tabBar,
- curMenu,
- menuList,
- gridMenu
- },
-
data() {
return {
- menuList: [],
- selectRole: {},
- selectBoxShow: false,
- siteColumns: [],
- curSelectSite: {},
- columnData: [],
- btnList: [{
- imgUrl: '/static/img/sys.png',
- title: '扫一扫',
- imgWidth: 54,
- imgHeight: 54
+ swiperList: [
+ 'https://cdn.uviewui.com/uview/swiper/swiper1.png',
+ 'https://cdn.uviewui.com/uview/swiper/swiper2.png',
+ 'https://cdn.uviewui.com/uview/swiper/swiper3.png',
+ ],
+ menuList: [{
+ icon: "/static/icon/nav-01.png",
+ text: "扫一扫"
},
{
- imgUrl: '/static/img/bs.png',
- title: '报事',
- imgWidth: 54,
- imgHeight: 54
+ icon: "/static/icon/nav-02.png",
+ text: "报事报修"
+ },
+ {
+ icon: "/static/icon/nav-03.png",
+ text: "便民热线"
+ },
+ {
+ icon: "/static/icon/nav-04.png",
+ text: "租客上报"
}
],
- gridDataList: [],
- houseDataList: [{
- title: '-',
- useSlot: true
- }],
-
- liveList: [],
-
- jobList: [],
-
- taskTypeList: [{
- title: '一次性',
- num: 1,
+ navList: [
+ {
+ title:"物业",
+ name:"张三",
+ icon:"/static/icon/tel-green.png",
+ bgImg:"/static/nav-bg-01.png"
},
{
- title: '周期性',
- num: 0,
- }
- ],
-
- taskList: [{
- title: '综治任务',
- num: 0
+ title:"综治网格",
+ name:"张三",
+ icon:"/static/icon/tel-orange.png",
+ bgImg:"/static/nav-bg-02.png"
},
{
- title: '住建任务',
- num: 0
+ title:"公安网格",
+ name:"张三",
+ icon:"/static/icon/tel-blue.png",
+ bgImg:"/static/nav-bg-03.png"
},
- {
- title: '公安任务',
- num: 0
- },
- ],
- }
- },
-
- onShow() {
- this.init()
- },
-
- computed: {
- hasMenu() {
- return (name) => {
- let resultArr = []
- resultArr = this.getMenu(name, this.menuList, resultArr)
- if (resultArr.length > 0) {
- return resultArr
- } else {
- return []
- }
-
- }
- }
- },
-
- methods: {
- //初始化
- init() {
- this.curSelectSite = {}
- this.menuList = uni.getStorageSync("menu")
- this.selectRole = uni.getStorageSync("activeRole")
- this.getMenuList()
- this.getSiteList()
- uni.hideTabBar()
- },
- //获取场所列表
- async getSiteList() {
- console.log(this.selectRole)
- let type = null
- let roleName = this.selectRole.roleName
- console.log("roleName", roleName)
- if (roleName == '网格员' || roleName == '系统管理员') {
- type = 1
- } else if (roleName == '场所负责人') {
- type = 2
- } else if (roleName == '居民') {
- type = 3
- }
-
- const res = await getFuncList(type, roleName)
- console.log(res, "-----------")
- let data = res.data
- this.siteColumns = []
-
- this.buildSiteColumn(data, 0)
- console.log(this.siteColumns)
-
- },
-
- buildSiteColumn(dataList, index) {
- if (dataList.length > 0) {
- this.siteColumns[index] = dataList
- if (dataList[0].children && dataList[0].children.length > 0) {
- this.buildSiteColumn(dataList[0].children, index + 1)
- }
- }
- },
-
- //获取首页菜单
- getMenuList() {
- console.log("当前角色菜单", this.menuList)
- this.getPhoneList()
- this.getLiveList()
- this.getWorkbenchList()
- },
- getPhoneList() {
- this.gridDataList = []
- const resultArr = this.hasMenu('快捷拨号')
- if (resultArr.length == 0) {
- return
- }
-
- const topMenu = resultArr[0]
-
- topMenu.children.forEach(menu => {
- this.gridDataList.push({
- title: menu.name,
- data: "无数据",
- phone: "无"
- })
- })
- },
-
- //获取生活菜单
- getLiveList() {
- this.liveList = []
- const resultArr = this.hasMenu('生活')
- if (resultArr.length == 0) {
- return
- }
-
- const topMenu = resultArr[0]
-
- topMenu.children.forEach(menu => {
- this.liveList.push({
- imgUrl: menu.source,
- title: menu.name,
- })
- })
- },
-
- //获取工作台菜单
- getWorkbenchList() {
- this.jobList = []
- const resultArr = this.hasMenu('工作台')
- if (resultArr.length == 0) {
- return
- }
-
- const topMenu = resultArr[0]
-
- topMenu.children.forEach(menu => {
- this.jobList.push({
- imgUrl: menu.source,
- title: menu.name,
- })
- })
- },
-
- // 获取楼盘表
- async getHouseDataList(name) {
- const res = await getHouseList(1, name)
- // 数据处理
- res.data.forEach(item => {
- item.title = item.name
- item.useSlot = true
- delete item.name
- })
- this.houseDataList = res.data || [{
- title: '-',
- useSlot: true
- }]
- },
-
-
-
- getMenu(menuName, menuList, resultArr) {
- // console.log(menuList, menuName)
- for (var i = 0; i < menuList.length; i++) {
- if (menuList[i].name == menuName) {
- resultArr.push(menuList[i])
- } else {
- if (menuList[i].children && menuList[i].children.length) {
- this.getMenu(menuName, menuList[i].children, resultArr);
- }
- }
- }
-
- return resultArr
-
- },
-
- change(index) {
- let url = index
- this.$u.func.globalNavigator(url, "switchTab")
- },
- changeHandler(e) {
- const {
- columnIndex,
- value,
- values, // values为当前变化列的数组内容
- index,
- // 微信小程序无法将picker实例传出来,只能通过ref操作
- picker = this.$refs.uPicker
- } = e
- // 当第一列值发生变化时,变化第二列(后一列)对应的选项
- if (columnIndex === 0 && this.columnData.length > 0) {
- // picker为选择器this实例,变化第二列对应的选项
- picker.setColumnValues(1, this.columnData[index])
- }
- },
- // 回调参数为包含columnIndex、value、values
- confirm(e) {
- console.log('confirm', e)
- this.curSelectSite = e.value[e.value.length - 1]
- this.selectBoxShow = false
- this.getHouseDataList(e.value[1].name)
- },
-
- // 页面跳转
- pushPage({id, title}) {
- if (id !== void 0) {
- let url = `/subPackage/house/list/index?id=${id}&title=${title}`
- this.$u.func.globalNavigator(url, "navTo")
- }
+ ]
}
}
}
</script>
<style lang="scss" scoped>
- .container {
- width: 100%;
- height: 100%;
-
- display: flex;
- flex-direction: column;
- background: #F9F9FA;
- color: #fff;
+ .top {
+ margin-right: 20rpx;
font-size: 32rpx;
+ font-weight: bold;
+ }
- .main {
+ .swiper {
+ width: 100%;
+ height: 320rpx;
+ }
+
+ .content {
+ padding: 0 30rpx;
+ }
+ .section{
+ .section-item{
+ width: 216rpx;
+ height:120rpx;
position: relative;
- height: 0;
- flex: 1;
- overflow-y: auto;
-
- .main-bg {
- height: 36%;
- background: royalblue;
- }
-
- .main-select {
- margin: 0 6%;
- position: absolute;
- bottom: 74%;
- display: flex;
- align-items: center;
- }
-
- .main-btn {
- margin: 0 6%;
- position: absolute;
- top: 28%;
- width: 88%;
- height: 20%;
- background: #fff;
- border-radius: 10rpx;
- color: #000;
- }
-
- .main-phone-house {
- margin-top: 180rpx;
- width: 100%;
-
- .phone-box {
- display: flex;
-
- &>view {
- margin: 0 16rpx;
- height: 116rpx;
- flex: 1;
- background: linear-gradient(to right, #407BE9, #73A2F9);
- border-radius: 10rpx;
- }
- }
-
- .house-box {
- .content {
- display: flex;
- flex-wrap: wrap;
-
- &>view {
- margin: 0 16rpx;
- margin-top: 20rpx;
- min-width: calc((100% - 16rpx * 6) / 3);
- height: 66rpx;
- background: linear-gradient(to right, #407BE9, #73A2F9);
- border-radius: 33rpx;
- }
- }
- }
- }
-
- .main-bt {
- margin-top: 2%;
- width: 100%;
- color: #000;
- }
+ }
+ .section-item-bg{
+ width: 216rpx;
+ height:120rpx;
+ }
+ .item-box{
+ width:216rpx;
+ height:120rpx;
+ position: absolute;
+ top:0;
+ left:0;
+ padding:20rpx 20rpx 0;
+ box-sizing: border-box;
+ }
+ }
+ .notic{
+ width:100%;
+ .notic-caption{
+ width:100%;
+ padding:40rpx 0 0;
+ }
+ .line{
+ width:6rpx;
+ height:29rpx;
+ background-color:#017BFC;
+ margin-right:14rpx;
+ }
+ .notic-list{
+ padding:30rpx 0;
+ border-bottom:1px solid #f5f5f5;
}
}
</style>
\ No newline at end of file
diff --git a/pages/home/index.vue.bak b/pages/home/index.vue.bak
new file mode 100644
index 0000000..2dd97fc
--- /dev/null
+++ b/pages/home/index.vue.bak
@@ -0,0 +1,440 @@
+<template>
+ <view class="container">
+ <u-navbar height="48" bgColor="#5887f9" :autoBack="false" safeAreaInsetTop placeholder>
+ <view slot="left">
+ <u--text color="#ffffff" text="基层智治" size="18" />
+ </view>
+ </u-navbar>
+
+ <view class="main">
+ <view class="main-bg">
+
+ </view>
+
+ <view class="main-select" @click="selectBoxShow = !selectBoxShow">
+ <u-icon name="map" color="#fff"></u-icon>
+ <view>
+ 当前场所:{{curSelectSite.name?curSelectSite.name:'暂无绑定场所信息'}}
+ </view>
+
+ <u-picker title="场所" :show="selectBoxShow" keyName="name" ref="uPicker" :columns="siteColumns"
+ @confirm="confirm" @change="changeHandler"></u-picker>
+ </view>
+
+ <view class="main-btn">
+ <menu-list :menuData="btnList"></menu-list>
+ </view>
+
+ <view class="main-phone-house">
+ <view v-if="gridDataList.length>0" class="phone-box">
+ <grid-menu :gridData='item' v-for="(item, index) in gridDataList" :key='index'></grid-menu>
+ </view>
+
+ <view v-if="hasMenu('楼盘表').length>0" class="house-box">
+ <box-title :title="'楼盘表'"></box-title>
+ <view class="content">
+ <grid-menu :gridData='item' v-for="(item, index) in houseDataList.slice(0, 6)" :key='index'
+ @click.native="pushPage(item)"></grid-menu>
+ </view>
+ </view>
+ </view>
+
+ <view class="main-bt pb-40">
+ <view v-if="liveList.length>0" class="mt-20">
+ <box-title :title="'生活'">
+ <template slot="titleMore">
+ <view style="color: red;">titleMore</view>
+ </template>
+ </box-title>
+ <view class="mt-20">
+ <view class="mt-20 b-c-w">
+ <menu-list :menuData="liveList"></menu-list>
+ </view>
+ </view>
+ </view>
+
+ <view v-if="jobList.length>0" class="mt-20">
+ <box-title :title="'工作台'"></box-title>
+
+ <view class="mt-20 b-c-w">
+ <menu-list :border='true' :menuData="jobList"></menu-list>
+ </view>
+ </view>
+
+ <view class="mt-20 main-taska">
+ <box-title :title="'我的任务'"></box-title>
+
+ <view class="mt-20 b-c-w">
+ <view class="flex">
+ <view class="flex-1" v-for="(item, index) in taskTypeList" :key='index'>
+ <cur-menu class='boder-f7f8f9-1 p-all-16' :curMenu="item" :imgShow="false"
+ :textShow="true"></cur-menu>
+ </view>
+ </view>
+ <u-cell-group :border='false'>
+ <u-cell class="boder-f7f8f9-1" :border='false' :title="item.title"
+ v-for="(item, index) in taskList" :key="index">
+ <view slot="right-icon">待处理 {{item.num}}</view>
+ </u-cell>
+ </u-cell-group>
+ </view>
+
+ </view>
+ </view>
+ </view>
+
+ <tabBar @change='change' :currentTab="0"></tabBar>
+ </view>
+</template>
+
+<script>
+ import tabBar from "@/components/tabBar/tabBar.vue";
+ import curMenu from "@/components/curMenu/index.vue";
+ import menuList from "@/components/menuList/index.vue";
+ import gridMenu from "@/components/gridMenu/index.vue";
+ import {
+ getFuncList,
+ getHouseList
+ } from "@/api/doorplateAddress/doorplateAddress";
+
+ export default {
+ components: {
+ tabBar,
+ curMenu,
+ menuList,
+ gridMenu
+ },
+
+ data() {
+ return {
+ menuList: [],
+ selectRole: {},
+ selectBoxShow: false,
+ siteColumns: [],
+ curSelectSite: {},
+ columnData: [],
+ btnList: [{
+ imgUrl: '/static/img/sys.png',
+ title: '扫一扫',
+ imgWidth: 54,
+ imgHeight: 54
+ },
+ {
+ imgUrl: '/static/img/bs.png',
+ title: '报事',
+ imgWidth: 54,
+ imgHeight: 54
+ }
+ ],
+ gridDataList: [],
+ houseDataList: [{
+ title: '-',
+ useSlot: true
+ }],
+
+ liveList: [],
+
+ jobList: [],
+
+ taskTypeList: [{
+ title: '一次性',
+ num: 1,
+ },
+ {
+ title: '周期性',
+ num: 0,
+ }
+ ],
+
+ taskList: [{
+ title: '综治任务',
+ num: 0
+ },
+ {
+ title: '住建任务',
+ num: 0
+ },
+ {
+ title: '公安任务',
+ num: 0
+ },
+ ],
+ }
+ },
+
+ onShow() {
+ this.init()
+ },
+
+ computed: {
+ hasMenu() {
+ return (name) => {
+ let resultArr = []
+ resultArr = this.getMenu(name, this.menuList, resultArr)
+ if (resultArr.length > 0) {
+ return resultArr
+ } else {
+ return []
+ }
+
+ }
+ }
+ },
+
+ methods: {
+ //初始化
+ init() {
+ this.curSelectSite = {}
+ this.menuList = uni.getStorageSync("menu")
+ this.selectRole = uni.getStorageSync("activeRole")
+ this.getMenuList()
+ this.getSiteList()
+ uni.hideTabBar()
+ },
+ //获取场所列表
+ async getSiteList() {
+ console.log(this.selectRole)
+ let type = null
+ let roleName = this.selectRole.roleName
+ console.log("roleName", roleName)
+ if (roleName == '网格员' || roleName == '系统管理员') {
+ type = 1
+ } else if (roleName == '场所负责人') {
+ type = 2
+ } else if (roleName == '居民') {
+ type = 3
+ }
+
+ const res = await getFuncList(type, roleName)
+ console.log(res, "-----------")
+ let data = res.data
+ this.siteColumns = []
+
+ this.buildSiteColumn(data, 0)
+ console.log(this.siteColumns)
+
+ },
+
+ buildSiteColumn(dataList, index) {
+ if (dataList.length > 0) {
+ this.siteColumns[index] = dataList
+ if (dataList[0].children && dataList[0].children.length > 0) {
+ this.buildSiteColumn(dataList[0].children, index + 1)
+ }
+ }
+ },
+
+ //获取首页菜单
+ getMenuList() {
+ console.log("当前角色菜单", this.menuList)
+ this.getPhoneList()
+ this.getLiveList()
+ this.getWorkbenchList()
+ },
+ getPhoneList() {
+ this.gridDataList = []
+ const resultArr = this.hasMenu('快捷拨号')
+ if (resultArr.length == 0) {
+ return
+ }
+
+ const topMenu = resultArr[0]
+
+ topMenu.children.forEach(menu => {
+ this.gridDataList.push({
+ title: menu.name,
+ data: "无数据",
+ phone: "无"
+ })
+ })
+ },
+
+ //获取生活菜单
+ getLiveList() {
+ this.liveList = []
+ const resultArr = this.hasMenu('生活')
+ if (resultArr.length == 0) {
+ return
+ }
+
+ const topMenu = resultArr[0]
+
+ topMenu.children.forEach(menu => {
+ this.liveList.push({
+ imgUrl: menu.source,
+ title: menu.name,
+ })
+ })
+ },
+
+ //获取工作台菜单
+ getWorkbenchList() {
+ this.jobList = []
+ const resultArr = this.hasMenu('工作台')
+ if (resultArr.length == 0) {
+ return
+ }
+
+ const topMenu = resultArr[0]
+
+ topMenu.children.forEach(menu => {
+ this.jobList.push({
+ imgUrl: menu.source,
+ title: menu.name,
+ })
+ })
+ },
+
+ // 获取楼盘表
+ async getHouseDataList(name) {
+ const res = await getHouseList(1, name)
+ // 数据处理
+ res.data.forEach(item => {
+ item.title = item.name
+ item.useSlot = true
+ delete item.name
+ })
+ this.houseDataList = res.data || [{
+ title: '-',
+ useSlot: true
+ }]
+ },
+
+
+
+ getMenu(menuName, menuList, resultArr) {
+ // console.log(menuList, menuName)
+ for (var i = 0; i < menuList.length; i++) {
+ if (menuList[i].name == menuName) {
+ resultArr.push(menuList[i])
+ } else {
+ if (menuList[i].children && menuList[i].children.length) {
+ this.getMenu(menuName, menuList[i].children, resultArr);
+ }
+ }
+ }
+
+ return resultArr
+
+ },
+
+ change(index) {
+ let url = index
+ this.$u.func.globalNavigator(url, "switchTab")
+ },
+ changeHandler(e) {
+ const {
+ columnIndex,
+ value,
+ values, // values为当前变化列的数组内容
+ index,
+ // 微信小程序无法将picker实例传出来,只能通过ref操作
+ picker = this.$refs.uPicker
+ } = e
+ // 当第一列值发生变化时,变化第二列(后一列)对应的选项
+ if (columnIndex === 0 && this.columnData.length > 0) {
+ // picker为选择器this实例,变化第二列对应的选项
+ picker.setColumnValues(1, this.columnData[index])
+ }
+ },
+ // 回调参数为包含columnIndex、value、values
+ confirm(e) {
+ console.log('confirm', e)
+ this.curSelectSite = e.value[e.value.length - 1]
+ this.selectBoxShow = false
+ this.getHouseDataList(e.value[1].name)
+ },
+
+ // 页面跳转
+ pushPage({id, title}) {
+ if (id !== void 0) {
+ let url = `/subPackage/house/list/index?id=${id}&title=${title}`
+ this.$u.func.globalNavigator(url, "navTo")
+ }
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .container {
+ width: 100%;
+ height: 100%;
+
+ display: flex;
+ flex-direction: column;
+ background: #F9F9FA;
+ color: #fff;
+ font-size: 32rpx;
+
+ .main {
+ position: relative;
+ height: 0;
+ flex: 1;
+ overflow-y: auto;
+
+ .main-bg {
+ height: 36%;
+ background: royalblue;
+ }
+
+ .main-select {
+ margin: 0 6%;
+ position: absolute;
+ bottom: 74%;
+ display: flex;
+ align-items: center;
+ }
+
+ .main-btn {
+ margin: 0 6%;
+ position: absolute;
+ top: 28%;
+ width: 88%;
+ height: 20%;
+ background: #fff;
+ border-radius: 10rpx;
+ color: #000;
+ }
+
+ .main-phone-house {
+ margin-top: 180rpx;
+ width: 100%;
+
+ .phone-box {
+ display: flex;
+
+ &>view {
+ margin: 0 16rpx;
+ height: 116rpx;
+ flex: 1;
+ background: linear-gradient(to right, #407BE9, #73A2F9);
+ border-radius: 10rpx;
+ }
+ }
+
+ .house-box {
+ .content {
+ display: flex;
+ flex-wrap: wrap;
+
+ &>view {
+ margin: 0 16rpx;
+ margin-top: 20rpx;
+ min-width: calc((100% - 16rpx * 6) / 3);
+ height: 66rpx;
+ background: linear-gradient(to right, #407BE9, #73A2F9);
+ border-radius: 33rpx;
+ }
+ }
+ }
+ }
+
+ .main-bt {
+ margin-top: 2%;
+ width: 100%;
+ color: #000;
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/static/base.css b/static/base.css
index 7813a2c..446be63 100644
--- a/static/base.css
+++ b/static/base.css
@@ -51,4 +51,37 @@
.boder-f7f8f9-1 {
border: 1rpx solid #F7F8F9;
+}
+.f-20{
+ font-size:20rpx;
+}
+.f-22{
+ font-size:22rpx;
+}
+.f-24{
+ font-size:24rpx;
+}
+.f-26{
+ font-size:26rpx;
+}
+.f-28{
+ font-size:28rpx;
+}
+.f-30{
+ font-size:30rpx;
+}
+.f-32{
+ font-size:32rpx;
+}
+.f-34{
+ font-size:34rpx;
+}
+.f-36{
+ font-size:36rpx;
+}
+.c-66{
+ color:#666;
+}
+.c-99{
+ color:#999;
}
\ No newline at end of file
diff --git a/static/icon/change-icon.png b/static/icon/change-icon.png
new file mode 100644
index 0000000..4c7124d
--- /dev/null
+++ b/static/icon/change-icon.png
Binary files differ
diff --git a/static/icon/nav-01.png b/static/icon/nav-01.png
new file mode 100644
index 0000000..3746db4
--- /dev/null
+++ b/static/icon/nav-01.png
Binary files differ
diff --git a/static/icon/nav-02.png b/static/icon/nav-02.png
new file mode 100644
index 0000000..614a47f
--- /dev/null
+++ b/static/icon/nav-02.png
Binary files differ
diff --git a/static/icon/nav-03.png b/static/icon/nav-03.png
new file mode 100644
index 0000000..7c83745
--- /dev/null
+++ b/static/icon/nav-03.png
Binary files differ
diff --git a/static/icon/nav-04.png b/static/icon/nav-04.png
new file mode 100644
index 0000000..e8f5ecd
--- /dev/null
+++ b/static/icon/nav-04.png
Binary files differ
diff --git a/static/icon/nav-bg-01.png b/static/icon/nav-bg-01.png
new file mode 100644
index 0000000..be3ddcd
--- /dev/null
+++ b/static/icon/nav-bg-01.png
Binary files differ
diff --git a/static/icon/nav-bg-02.png b/static/icon/nav-bg-02.png
new file mode 100644
index 0000000..0ccbcc1
--- /dev/null
+++ b/static/icon/nav-bg-02.png
Binary files differ
diff --git a/static/icon/nav-bg-03.png b/static/icon/nav-bg-03.png
new file mode 100644
index 0000000..a9081bd
--- /dev/null
+++ b/static/icon/nav-bg-03.png
Binary files differ
diff --git a/static/icon/tel-blue.png b/static/icon/tel-blue.png
new file mode 100644
index 0000000..0a0bbd8
--- /dev/null
+++ b/static/icon/tel-blue.png
Binary files differ
diff --git a/static/icon/tel-green.png b/static/icon/tel-green.png
new file mode 100644
index 0000000..ac0ac8d
--- /dev/null
+++ b/static/icon/tel-green.png
Binary files differ
diff --git a/static/icon/tel-orange.png b/static/icon/tel-orange.png
new file mode 100644
index 0000000..fc998c2
--- /dev/null
+++ b/static/icon/tel-orange.png
Binary files differ
diff --git a/static/img/tabbar-01-selected.png b/static/img/tabbar-01-selected.png
new file mode 100644
index 0000000..e482cc4
--- /dev/null
+++ b/static/img/tabbar-01-selected.png
Binary files differ
diff --git a/static/img/tabbar-02.png b/static/img/tabbar-02.png
new file mode 100644
index 0000000..84c4c1b
--- /dev/null
+++ b/static/img/tabbar-02.png
Binary files differ
diff --git a/static/img/tabbar-03-selected.png b/static/img/tabbar-03-selected.png
new file mode 100644
index 0000000..6486289
--- /dev/null
+++ b/static/img/tabbar-03-selected.png
Binary files differ
diff --git a/static/img/tabbar-03.png b/static/img/tabbar-03.png
new file mode 100644
index 0000000..c264d7f
--- /dev/null
+++ b/static/img/tabbar-03.png
Binary files differ
diff --git a/subPackage/workbench/components/lineItem.vue b/subPackage/workbench/components/lineItem.vue
index ad3b70e..b4faaa6 100644
--- a/subPackage/workbench/components/lineItem.vue
+++ b/subPackage/workbench/components/lineItem.vue
@@ -10,7 +10,7 @@
</view>
<view class="r" v-else>
- <slot :name="item.useSlot" :scope="item"></slot>
+ <slot name="item.useSlot" scope="item"></slot>
</view>
</view>
</view>
--
Gitblit v1.9.3