Browse Source

页面修改

lilei 10 months ago
parent
commit
1ccb9f7708
2 changed files with 173 additions and 74 deletions
  1. 173 73
      pages/morePage/morePage.vue
  2. 0 1
      static/iconfont/iconfont.css

+ 173 - 73
pages/morePage/morePage.vue

@@ -17,81 +17,22 @@
 				</view>
 			</view>
 		</view>
-		<view class="list-box" v-if="$hasPermissions('M_stockQueryList_mini')||$hasPermissions('M_stockPut_mini')">
+		<view class="list-box" v-for="item in itemList" :key="item.id">
 			<view class="list-title">
-				<u-icon size="38" name="bag"></u-icon> <text>货品管理</text>
+				<u-icon size="35" :name="item.icon"></u-icon> <text>{{item.text}}</text>
 			</view>
-			<u-cell-group :border="false">
-				<u-cell-item title="库存查询" v-if="$hasPermissions('M_stockQueryList_mini')" @click="toPage('/pagesB/stockQuery/stockQuery')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-				<u-cell-item title="补货记录" v-if="$hasPermissions('M_stockPut_mini')" @click="toPage('/pagesA/digitalShelf/stockPut')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-			</u-cell-group>
-		</view>
-		<view class="list-box" v-if="$hasPermissions('M_shelfOrder_mini')||$hasPermissions('M_tempShelfOrder_mini')||$hasPermissions('M_procureOrder_mini')">
-			<view class="list-title">
-				<u-icon size="34" name="order"></u-icon> <text>订单管理</text>
-			</view>
-			<u-cell-group :border="false">
-				<u-cell-item title="货架订单" v-if="$hasPermissions('M_shelfOrder_mini')" @click="toPage('/pagesA/digitalShelf/orderList')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-				<u-cell-item title="急送订单" v-if="$hasPermissions('M_tempShelfOrder_mini')" @click="toPage('/pagesA/digitalShelf/tempOrderList/tempOrderList')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-				<u-cell-item title="采购订单" v-if="$hasPermissions('M_procureOrder_mini')" @click="toPage('/pagesB/procureOrderList')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-			</u-cell-group>
-		</view>
-		<view class="list-box" v-if="$hasPermissions('M_creatWarranty_mini')||$hasPermissions('M_searchWarranty_mini')">
-			<view class="list-title">
-				<u-icon size="38" name="file-text"></u-icon> <text>电子质保单</text>
-			</view>
-			<u-cell-group :border="false">
-				<u-cell-item title="创建质保单" v-if="$hasPermissions('M_creatWarranty_mini')" @click="toPage('/pagesA/qualityPolicy/creatOrder')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-				<u-cell-item title="质保单查询" v-if="$hasPermissions('M_searchWarranty_mini')" @click="toPage('/pagesA/qualityPolicy/searchOrder')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-			</u-cell-group>
-		</view>
-		<view class="list-box" v-if="$hasPermissions('M_settlementRecord_mini')||$hasPermissions('M_settlementManage_mini')">
-			<view class="list-title">
-				<u-icon size="36" name="rmb-circle"></u-icon> <text>结算管理</text>
-			</view>
-			<u-cell-group :border="false">
-				<u-cell-item title="结算记录" v-if="$hasPermissions('M_settlementRecord_mini')" @click="toPage('/pagesA/digitalShelf/settlementRecord/settlementRecord')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-				<u-cell-item title="付款结算" v-if="$hasPermissions('M_settlementManage_mini')" @click="toPage('/pagesA/digitalShelf/settlementManage/settlementManage')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-			</u-cell-group>
-		</view>
-		<view class="list-box" v-if="$hasPermissions('M_employee_mini')||$hasPermissions('M_roleSetting_mini')||($hasPermissions('M_priceShow_mini')&&showPriceSet)">
-			<view class="list-title">
-				<u-icon size="32" name="home"></u-icon> <text>基础设置</text>
+			<view class="list-body">
+				<uni-grid :column="4" :highlight="true" :show-border="false" :square="false" @change="e=>openPage(e,item.child)">
+					<uni-grid-item v-for="(sub, idx) in item.child" :index="idx" :key="idx">
+						<view class="grid-item-box">
+							<u-icon class="icons" :color="sub.color" :name="sub.icon" custom-prefix="custom-icon"></u-icon>
+							<text class="text">{{sub.text}}</text>
+						</view>
+					</uni-grid-item>
+				</uni-grid>
 			</view>
-			<u-cell-group :border="false">
-				<u-cell-item title="员工管理" v-if="$hasPermissions('M_employee_mini')" @click="toPage('/pages/storeManage/personnel')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-			</u-cell-group>
-			<u-cell-group :border="false">
-				<u-cell-item title="岗位权限" v-if="$hasPermissions('M_roleSetting_mini')" @click="toPage('/pages/storeManage/roleSetting/roleSetting')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-			</u-cell-group>
-			<u-cell-group :border="false">
-				<u-cell-item title="价格权限/显示设置" v-if="$hasPermissions('M_priceShow_mini')&&showPriceSet" @click="toPage('/pages/storeManage/priceSetting/priceSetting')" :title-style="{fontSize:'1em'}">
-					<text slot="icon"></text>
-				</u-cell-item>
-			</u-cell-group>
 		</view>
+		
 		<view class="list-box" v-if="hasLogin&&dealerPhone">
 			<view class="list-title flex justify_center phone" @click="call">
 				<u-icon size="36" name="phone"></u-icon> <text>联系汽配商</text>
@@ -128,7 +69,7 @@
 				dealerPhone: null,
 				showPopup: false,
 				showPriceSet: false,
-				shelfSn: null
+				shelfSn: null,
 			}
 		},
 		computed: {
@@ -146,6 +87,136 @@
 				const rule = this.$store.state.vuex_rewardRule
 				return rule&&rule.ruleStatus == 'release'
 			},
+			itemList(){
+				const list = [
+					{
+						text: '货品管理',
+						icon: 'bag',
+						auth: true,
+						child:[
+							{
+								text: '库存查询',
+								icon: 'stockquery',
+								auth: this.$hasPermissions('M_stockQueryList_mini'),
+								path: '/pagesB/stockQuery/stockQuery',
+								color: '#00aaff'
+							},
+							{
+								text: '补货记录',
+								icon: 'replenishment',
+								auth: this.$hasPermissions('M_stockPut_mini'),
+								path: '/pagesA/digitalShelf/stockPut',
+								color: '#aa55ff'
+							}
+						],
+					},
+					{
+						text: '订单管理',
+						icon: 'order',
+						auth: true,
+						child:[
+							{
+								text: '货架订单',
+								icon: 'shelforder',
+								auth: this.$hasPermissions('M_shelfOrder_mini'),
+								path: '/pagesA/digitalShelf/orderList',
+								color: '#0055ff'
+							},
+							{
+								text: '急送订单',
+								icon: 'yijianshansong',
+								auth: this.$hasPermissions('M_tempShelfOrder_mini'),
+								path: '/pagesA/digitalShelf/tempOrderList/tempOrderList',
+								color: '#ff7b1c'
+							},
+							{
+								text: '采购订单',
+								icon: 'purchaseorder',
+								auth: this.$hasPermissions('M_procureOrder_mini'),
+								path: '/pagesB/procureOrderList',
+								color: '#00aa00'
+							}
+						],
+					},
+					{
+						text: '电子质保单',
+						icon: 'file-text',
+						auth: true,
+						child:[
+							{
+								text: '创建质保单',
+								icon: 'zhibaodan',
+								auth: this.$hasPermissions('M_creatWarranty_mini'),
+								path: '/pagesA/qualityPolicy/creatOrder',
+								color: '#5555ff'
+							},
+							{
+								text: '质保单查询',
+								icon: 'ordersearch',
+								auth: this.$hasPermissions('M_searchWarranty_mini'),
+								path: '/pagesA/qualityPolicy/searchOrder',
+								color: '#ff557f'
+							},
+						],
+					},
+					{
+						text: '结算管理',
+						icon: 'rmb-circle',
+						auth: true,
+						child:[
+							{
+								text: '结算记录',
+								icon: 'settlement',
+								auth: this.$hasPermissions('M_settlementRecord_mini'),
+								path: '/pagesA/digitalShelf/settlementRecord/settlementRecord',
+								color: '#00aaff'
+							},
+							{
+								text: '付款结算',
+								icon: 'payrecord',
+								auth: this.$hasPermissions('M_settlementManage_mini'),
+								path: '/pagesA/digitalShelf/settlementManage/settlementManage',
+								color: '#ff5500'
+							},
+						],
+					},
+					{
+						text: '基础设置',
+						icon: 'setting',
+						auth: true,
+						child:[
+							{
+								text: '员工管理',
+								icon: 'employee',
+								auth: this.$hasPermissions('M_employee_mini'),
+								path: '/pages/storeManage/personnel',
+								color: '#0055ff'
+							},
+							{
+								text: '岗位权限',
+								icon: 'job',
+								auth: this.$hasPermissions('M_roleSetting_mini'),
+								path: '/pages/storeManage/roleSetting/roleSetting',
+								color: '#55aa00'
+							},
+							{
+								text: '价格显示设置',
+								icon: 'permission',
+								auth: this.$hasPermissions('M_priceShow_mini')&&this.showPriceSet,
+								path: '/pages/storeManage/priceSetting/priceSetting',
+								color: '#ff5500'
+							},
+						],
+					}
+				]
+				// 计算父节点,权限
+				list.forEach(item => {
+					item.id = this.$u.guid()
+					item.child = item.child.filter(c => c.auth)
+					item.auth = item.child.length > 0
+				})
+				return list
+			}
 		},
 		onShow() {
 				const shelfInfo = this.$store.state.vuex_storeShelf
@@ -171,6 +242,13 @@
 					return true
 				}
 			},
+			// 打开页面
+			openPage(e,child){
+				const item = child[e.detail.index]
+				uni.navigateTo({
+					url: item.path
+				})
+			},
 			// 获取价格配置
 			getPriceCofig(){
 				queryQplsConfig({shelfSn: this.shelfSn}).then(res => {
@@ -301,7 +379,6 @@
 		.list-title{
 			padding: 25rpx 20rpx;
 			font-size: 30rpx;
-			border-bottom: 2rpx solid #f8f8f8;
 			> text{
 				margin-left: 10rpx;
 			}
@@ -309,6 +386,29 @@
 		&:first-child{
 			box-shadow: 2rpx 2rpx 5rpx #cdeff9;
 		}
+		.list-body{
+			padding: 0 20rpx 25rpx;
+		}
+		.grid-item-box{
+			display: flex;
+			flex-direction: column;
+			align-items:center;
+			justify-content: center;
+			.text{
+				text-align:center;
+				color: #666;
+			}
+			.icons{
+				font-size: 70rpx;
+				width: 100rpx;
+				height: 100rpx;
+				text-align:center;
+				display: flex;
+				align-items: center;
+				flex-direction: column;
+				justify-content: center;
+			}
+		}
 	}
 	.phone{
 		color: #00aaff;

File diff suppressed because it is too large
+ 0 - 1
static/iconfont/iconfont.css


Some files were not shown because too many files changed in this diff