dedsudiyu 1 år sedan
förälder
incheckning
114626c2c9

+ 10 - 14
component/homeConfigurationSlot.vue

@@ -14,20 +14,16 @@
 	
 	homeConfigData: [],
 	
-	demo() {
-		let data = [
-			{
-				type: 'stripBox', //容器类型 minBox-小按钮 bigBox-大按钮 threeBox-三格按钮 stripBox-条形按钮
-				layout: [
-					{
-						limits: "system:post:list", //权限字段
-						route: "grading", //路由名称
-						name: "分级管控", //名称
-					}, 
-				],
-			},
-		];
-		this.$set(this,'homeConfigData',getHomeConfig(data));
+	
+	async systemAppletLayoutSelect() {
+		const {data} = await systemAppletLayoutSelect({module:'home'})
+		if(data.code == 200){
+		  let list = JSON.parse(JSON.stringify(data.data))
+		  for(let i=0;i<list.length;i++){
+			list[i].layout = JSON.parse(list[i].layout);
+		  }
+		  this.$set(this,'homeConfigData',getHomeConfig(list));
+		}
 	},
  -->
 <template>

+ 15 - 13
component/mineConfigurationSlot.vue

@@ -11,21 +11,23 @@
 	
 	mineConfigData: [],
 	
-	demo() {
-		let data = [
-			{
-				limits: "system:post:list", //权限字段
-				route: "alarm", //路由名称
-				name: "预警记录", //名称
-			}, 
-		];
-		this.$set(this,'mineConfigData',getMineConfig(data));
+	//获取菜单配置
+	async systemAppletLayoutSelect() {
+		const {data} = await systemAppletLayoutSelect({module:'mine'})
+		if(data.code == 200){
+		  let list = JSON.parse(JSON.stringify(data.data))
+		  for(let i=0;i<list.length;i++){
+			list[i].layout = JSON.parse(list[i].layout);
+		  }
+		  this.$set(this,'mineConfigData',getMineConfig(list));
+		  console.log('mineConfigData',this.mineConfigData)
+		}
 	},
  -->
 <template>
 	<view class="mineConfigurationSlot">
 		<view class="button-max-big-box">
-			<permissionsSlot class="button-for-box" v-for="(item,index) in mineConfig" :key="index" :hasPermi="item.limits">
+			<permissionsSlot class="button-for-box" v-for="(item,index) in mineConfig.layout" :key="index" :hasPermi="item.limits">
 				<view class="button-max-box" @click="buttonClick(item)">
 					<img class="left-img" :src="item.img">
 					<view>{{item.name}}</view>
@@ -38,7 +40,7 @@
 					</view>
 					<view class="view-three-type" v-if="item.route === 'signature'" :class="!isUpload?'colorA':'marginType'">{{!isUpload?'未上传':'已上传'}}</view>
 					<view class="view-three-type" v-if="item.route === 'fingerprint'" :class="Quantity>0?'marginType':'colorA'">{{Quantity>0?'已配置'+Quantity+'个':''}}</view>
-					<img class="right-img" src="@/images/icon_04.png">
+					<img class="right-img" src="@/images/basicsModules/icon_04.png">
 				</view>
 			</permissionsSlot>
 		</view>
@@ -48,7 +50,7 @@
 <script>
 	import {
 		fingerprintQueryList
-	} from '@/api/index.js'
+	} from '@/api/basicsModules/index.js'
 	export default {
 		name: "mineConfigurationSlot",
 		props: {
@@ -75,7 +77,7 @@
 
 		},
 		mounted() {
-			
+			console.log('mineConfig',this.mineConfig)
 		},
 		methods: {
 			//按钮点击事件

+ 2 - 3
component/permissionsSlot.vue

@@ -17,10 +17,9 @@ export default {
     }
   },
   created() {
-	console.log('12312321123132123123')
+	  
   },
   mounted(){
-	console.log('657575466446')
 	  this.permissionVerification();
   },
   methods:{
@@ -28,7 +27,7 @@ export default {
 		let self = this;
 		console.log('self.objStore',self.objStore)
 		console.log('self.hasPermi',self.hasPermi)
-		if(this.objStore[0] == "*:*:*"){
+		if(this.objStore[0] == "*:*:*" || self.hasPermi === ""){
 			this.$set(self,'permissionType',true);
 			return
 		}

+ 2 - 2
component/tabBar.vue

@@ -53,11 +53,11 @@
 		},
 
 		onShow(){
-			// this.getTotalList();
+			this.getTotalList();
 		},
 		mounted(){
 
-			// this.getTotalList();
+			this.getTotalList();
 			this.totalCount=uni.getStorageSync('totalCount')
             // 获取当前路由
             let pages = getCurrentPages();

+ 2 - 2
component/topWarn.vue

@@ -30,8 +30,8 @@
 
 		},
 		mounted(){
-			// this.getWarn();
-			// getApp().watch(this.lineDataFunction,'lineData');
+			this.getWarn();
+			getApp().watch(this.lineDataFunction,'lineData');
 		},
 		methods: {
 			//应急变更

BIN
images/basicsModules/icon_001.png


BIN
images/basicsModules/icon_002.png


BIN
images/basicsModules/icon_003.png


BIN
images/basicsModules/icon_004.png


BIN
images/basicsModules/icon_01.png


BIN
images/basicsModules/icon_wd_dh.png


BIN
images/basicsModules/icon_wd_dzqm.png


BIN
images/basicsModules/icon_wd_jlf.png


BIN
images/basicsModules/icon_wd_xyf.png


BIN
images/basicsModules/icon_wd_zw.png


BIN
images/basicsModules/img_wd_bg.png


+ 8 - 9
pages.json

@@ -8,15 +8,14 @@
 				"navigationStyle":"custom"  //关闭原生导航
 			}
 		},
-		// ,
-		// {
-		// 	"path": "pages/mine/mine",//我的
-		// 	"style": {
-		// 		"navigationBarTitleText": "我的",
-		// 		"navigationBarTextStyle": "white", //导航文字颜色
-		// 		"navigationBarBackgroundColor": "#0183FA" //导航背景色
-		// 	}
-		// },
+		{
+			"path": "pages/mine/mine",//我的
+			"style": {
+				"navigationBarTitleText": "我的",
+				"navigationBarTextStyle": "white", //导航文字颜色
+				"navigationBarBackgroundColor": "#0183FA" //导航背景色
+			}
+		},
 		// {
 		// 	"path": "pages/information/information",//消息
 		// 	"style": {

+ 1 - 1
pages/home/home.vue

@@ -29,7 +29,7 @@ export default {
   },
   onShow(){
     if(uni.getStorageSync('token')&&uni.getStorageSync('userId')&&uni.getStorageSync('userType')){
-      this.userType = uni.getStorageSync('userType')
+		this.userType = uni.getStorageSync('userType')
     }else{
       uni.removeStorageSync('token');
       uni.removeStorageSync('userId');

+ 13 - 21
pages/home/manageWorkbench.vue

@@ -5,10 +5,7 @@
     <img class="top-big-img" :src="homepageBanner">
     <top-warn></top-warn>
 	
-	<homeConfigurationSlot v-if="homeConfigData[0]" :homeConfig="homeConfigData[0]"></homeConfigurationSlot>
-	<homeConfigurationSlot v-if="homeConfigData[1]" :homeConfig="homeConfigData[1]"></homeConfigurationSlot>
-	<homeConfigurationSlot v-if="homeConfigData[2]" :homeConfig="homeConfigData[2]"></homeConfigurationSlot>
-	<homeConfigurationSlot v-if="homeConfigData[3]" :homeConfig="homeConfigData[3]"></homeConfigurationSlot>
+	<homeConfigurationSlot v-for="(item,index) in homeConfigData" :key="index" :homeConfig="item"></homeConfigurationSlot>
 	
 	<view class="for-max-box-one" v-if="alarmList[0]">
       <view class="for-box" v-for="(item,index) in alarmList" :key="index">
@@ -70,7 +67,6 @@
 	import { tabBar } from '@/component/tabBar.vue'
 	import { topWarn } from '@/component/topWarn.vue'
 	import { navBar } from '@/component/navbar.vue'
-	
 	import { homeConfigurationSlot } from '@/component/homeConfigurationSlot'
 	import { getHomeConfig } from '@/utils/homeConfig'
 export default {
@@ -113,9 +109,9 @@ export default {
     }
   },
   created() {
-	this.systemAppletLayoutSelect();
   },
   mounted(){
+	this.systemAppletLayoutSelect();
     this.appReceivePhotoNote();
     this.getApprovalCount();
     this.subject_class();
@@ -128,21 +124,17 @@ export default {
     getApp().watch(this.getSafeWarnList,'mqttAlarmData');
   },
   methods: {
-	  
-	  	async systemAppletLayoutSelect() {
-			const {data} = await systemAppletLayoutSelect({module:'home'})
-			if(data.code == 200){
-				let list = JSON.parse(JSON.stringify(data.data))
-				for(let i=0;i<list.length;i++){
-				  list[i].layout = JSON.parse(list[i].layout);
-				}
-				this.$set(this,'homeConfigData',getHomeConfig(list));
-				console.log('homeConfigData======>',this.homeConfigData)
-			}
-	  	},
-	  
-	  
-	  
+	  //获取菜单配置
+	  async systemAppletLayoutSelect() {
+		const {data} = await systemAppletLayoutSelect({module:'home'})
+		if(data.code == 200){
+		  let list = JSON.parse(JSON.stringify(data.data))
+		  for(let i=0;i<list.length;i++){
+			list[i].layout = JSON.parse(list[i].layout);
+		  }
+		  this.$set(this,'homeConfigData',getHomeConfig(list));
+		}
+	  },
 	  //查询控制记录触发方式
 	  async getListData() {
 		let _this = this;

+ 5 - 2
pages/login/login.vue

@@ -39,7 +39,9 @@ export default {
   data() {
     return {
       identityStatus:1,
-      username:"superadmin",
+      // username:"superadmin",
+      // password:"zd123456",
+      username:"xiongmiao",
       password:"zd123456",
       checkedType:false,
       loginBanner:uni.getStorageSync('loginBanner'),
@@ -198,8 +200,9 @@ export default {
         //MQTT密码
         uni.setStorageSync('mqttPassword',Decrypt(obj.mqttExtranetPassword))
 		uni.redirectTo({
-			url: '/pages/home/home',
+			url: '/pages/mine/mine',
 		});
+		
       }
     },
     checkboxChange() {

+ 33 - 48
pages/mine/mine.vue

@@ -6,7 +6,7 @@
       <view class="top-max-box-two" v-if="userType==1&&certification.auditStatus">
         <view class="user-img-box" @click="selectImage">
           <img v-if="userData.avatar" :src="userData.avatarUrl">
-          <img v-else  src="@/images/icon_01.png">
+          <img v-else  src="@/images/basicsModules/icon_01.png">
           <view>{{userData.avatar?'编辑':'未上传'}}</view>
         </view>
         <view class="name-box">
@@ -20,7 +20,7 @@
         <view class="top-max-box-one">
           <view class="user-img-box" @click="selectImage">
             <img v-if="userData.avatar" :src="userData.avatarUrl">
-            <img v-else  src="@/images/icon_01.png">
+            <img v-else  src="@/images/basicsModules/icon_01.png">
             <view>{{userData.avatar?'编辑':'未上传'}}</view>
           </view>
           <view class="name-box">
@@ -35,7 +35,7 @@
           <view class="min-num-box" @click="goUserPage('none')">
             <view class="min-num-view color-one">{{creditScore}}</view>
             <view class="bottom-min-num-view">
-              <img class="img-one" src="@/images/icon_wd_xyf.png">
+              <img class="img-one" src="@/images/basicsModules/icon_wd_xyf.png">
               <view>信用分</view>
             </view>
           </view>
@@ -43,7 +43,7 @@
           <view class="min-num-box" @click="goUserPage('none')">
             <view class="min-num-view color-two">{{bonusPoints}}</view>
             <view class="bottom-min-num-view">
-              <img class="img-two" src="@/images/icon_wd_jlf.png">
+              <img class="img-two" src="@/images/basicsModules/icon_wd_jlf.png">
               <view>奖励分</view>
             </view>
           </view>
@@ -51,66 +51,38 @@
           <view class="min-num-box" @click="goUserPage(3)">
             <view class="min-num-view">扫一扫</view>
             <view class="bottom-min-num-view">
-              <img class="img-two" src="@/images/icon_wd_dh.png">
+              <img class="img-two" src="@/images/basicsModules/icon_wd_dh.png">
               <view>兑换礼品</view>
             </view>
           </view>
         </view>
       </view>
-      <view class="button-max-big-box">
-        <view class="button-max-box" @click="goPage('alarm')" v-if="userType==1">
-          <img class="left-img" src="@/images/icon_003.png">
-          <view>预警记录</view>
-          <view class="view-three-one" v-if="securityAlertNum>0">{{securityAlertNum}}</view>
-          <img class="right-img" src="@/images/icon_04.png">
-        </view>
-        <view class="button-max-box" @click="goPage('laboratory')" v-if="userType==1">
-          <img class="left-img" src="@/images/icon_002.png">
-          <view>我的实验室</view>
-          <view class="view-three-two" v-if="adminSubCount>0">{{adminSubCount}}</view>
-          <img class="right-img" src="@/images/icon_04.png">
-        </view>
-        <view class="button-max-box" @click="goPage('record')" v-if="userType==1">
-          <img class="left-img" src="@/images/icon_004.png">
-          <view>预案执行记录</view>
-          <view class="view-three-two" v-if="wranDoCount>0">{{wranDoCount}}</view>
-          <img class="right-img" src="@/images/icon_04.png">
-        </view>
-        <view class="button-max-box" @click="goPage('faceImage')">
-          <img class="left-img" src="@/images/icon_001.png">
-          <view>身份验证</view>
-          <view class="view-three-type" :class="!ifFaceFeature?'colorA':'marginType'">{{!ifFaceFeature?'去认证':'已认证'}}</view>
-          <img class="right-img" src="@/images/icon_04.png">
-        </view>
-        <view class="button-max-box" @click="goPage('signature')">
-          <img class="left-img" src="@/images/icon_wd_dzqm.png">
-          <view>电子签名</view>
-          <view class="view-three-type" :class="!isUpload?'colorA':'marginType'">{{!isUpload?'未上传':'已上传'}}</view>
-          <img class="right-img" src="@/images/icon_04.png">
-        </view>
-        <view class="button-max-box" @click="fingerprintClick()">
-          <img class="left-img" src="@/images/icon_wd_zw.png">
-          <view>指纹</view>
-          <view class="view-three-type" :class="Quantity>0?'marginType':'colorA'">{{Quantity>0?'已配置'+Quantity+'个':''}}</view>
-          <img class="right-img" src="@/images/icon_04.png">
-        </view>
-      </view>
+
     </view>
-    <view class="out-button" @click="clickOut">退出登录</view>
+    
+    <mineConfigurationSlot v-for="(item,index) in mineConfigData" :key="index" :mineConfig="item"></mineConfigurationSlot>
+	<view class="out-button" @click="clickOut">退出登录</view>
     <tab-bar></tab-bar>
   </view>
 </template>
 
 <script>
 import { config } from '@/api/request/config.js'
-import { logout,studentinfoFacemy,simpleInfo,getSafeWarnList,getMyPointsLogInfo,querySignature,fingerprintQuantity,fingerprintQueryList} from '@/api/index.js'
+import { logout,studentinfoFacemy,simpleInfo,getSafeWarnList,getMyPointsLogInfo,
+		querySignature,fingerprintQuantity,fingerprintQueryList,systemAppletLayoutSelect} from '@/api/basicsModules/index.js'
 import { tabBar } from '@/component/tabBar.vue'
+
+	import { mineConfigurationSlot } from '@/component/mineConfigurationSlot'
+	import { getMineConfig } from '@/utils/mineConfig'
+	
 export default {
   components: {
-    tabBar
+    tabBar,
+	mineConfigurationSlot,
   },
   data() {
     return {
+	  mineConfigData: [],
       //页面状态
       pageType:false,
       //认证数据
@@ -145,6 +117,7 @@ export default {
   },
   onShow(){
 
+	this.systemAppletLayoutSelect();
     if(uni.getStorageSync('token')&&uni.getStorageSync('userId')&&uni.getStorageSync('userType')){
       this.userType = uni.getStorageSync('userType')
       this.studentinfoFacemy();
@@ -161,6 +134,18 @@ export default {
   },
 
   methods: {
+	//获取菜单配置
+	async systemAppletLayoutSelect() {
+		const {data} = await systemAppletLayoutSelect({module:'mine'})
+		if(data.code == 200){
+		  let list = JSON.parse(JSON.stringify(data.data))
+		  for(let i=0;i<list.length;i++){
+			list[i].layout = JSON.parse(list[i].layout);
+		  }
+		  this.$set(this,'mineConfigData',getMineConfig(list));
+		  console.log('mineConfigData',this.mineConfigData)
+		}
+	},
     //学生端-信用分/奖励分/扫一扫按钮
     goUserPage(type){
       let self = this;
@@ -399,7 +384,7 @@ export default {
     /*background:#ffffff;*/
     .user-top-max-box-one{
       overflow hidden
-      background url("@/images/img_wd_bg.png") no-repeat
+      background url("@/images/basicsModules/img_wd_bg.png") no-repeat
       background-size:100%;
       height:350rpx;
       .top-max-box-one{
@@ -519,7 +504,7 @@ export default {
       }
     }
     .top-max-box-two{
-      background url("@/images/img_wd_bg.png")
+      background url("@/images/basicsModules/img_wd_bg.png")
       background-size:100%;
       height:245rpx;
       display flex

+ 0 - 0
utils/buttonConfig.js


+ 3 - 3
utils/homeConfig.js

@@ -2,7 +2,7 @@ let routeDataList = [
 	//原教职工
 	{
 		name: "随手拍",
-		limits:"",
+		limits:"1",
 		route: "casuallyPat",
 		routeUrl: "/pages/casuallyPat",
 		img: require('@/images/basicsModules/icon_sy_ssp.png'),
@@ -10,7 +10,7 @@ let routeDataList = [
 	},
 	{
 		name: "安全检查",
-		limits:"",
+		limits:"2",
 		route: "safetyInspect",
 		routeUrl: "/pages_manage/workbench/securityCheck/inspectionRecords",
 		img: require('@/images/basicsModules/icon_sy_aqjc.png'),
@@ -18,7 +18,7 @@ let routeDataList = [
 	},
 	{
 		name: "离开检查",
-		limits:"123123123",
+		limits:"",
 		route: "photoInspection",
 		routeUrl: "",
 		img: require('@/images/basicsModules/icon_dzt_pzjc.png'),

+ 29 - 21
utils/mineConfig.js

@@ -1,26 +1,26 @@
 let routeDataList = [
 	{
 		name: "预警记录",
-		limits:"",
+		limits:"7",
 		route: "mineAlarm",
 		routeUrl: "/pages/earlyWarningManage/earlyWarningList",
-		img: require('@/images/icon_003.png'),
+		img: require('@/images/basicsModules/icon_003.png'),
 		buttonType:"page",
 	},
 	{
 		name: "我的实验室",
-		limits:"",
+		limits:"8",
 		route: "laboratory",
 		routeUrl: "/pages_manage/workbench/laboratory/meLaboratory",
-		img: require('@/images/icon_002.png'),
+		img: require('@/images/basicsModules/icon_002.png'),
 		buttonType:"page",
 	},
 	{
 		name: "预案执行记录",
-		limits:"",
+		limits:"9",
 		route: "record",
 		routeUrl: "/pages_manage/workbench/plan/planList",
-		img: require('@/images/icon_004.png'),
+		img: require('@/images/basicsModules/icon_004.png'),
 		buttonType:"page",
 	},
 	{
@@ -28,7 +28,7 @@ let routeDataList = [
 		limits:"",
 		route: "faceImage",
 		routeUrl: "/pages/faceImage",
-		img: require('@/images/icon_001.png'),
+		img: require('@/images/basicsModules/icon_001.png'),
 		buttonType:"page",
 	},
 	{
@@ -36,7 +36,7 @@ let routeDataList = [
 		limits:"",
 		route: "signature",
 		routeUrl: '',
-		img: require('@/images/icon_wd_dzqm.png'),
+		img: require('@/images/basicsModules/icon_wd_dzqm.png'),
 		buttonType:"button",
 	},
 	{
@@ -44,7 +44,7 @@ let routeDataList = [
 		limits:"",
 		route: "fingerprint",
 		routeUrl: "",
-		img: require('@/images/icon_wd_zw.png'),
+		img: require('@/images/basicsModules/icon_wd_zw.png'),
 		buttonType:"button",
 	},
 ];
@@ -53,20 +53,28 @@ export function getMineConfig(data) {
 	let list = JSON.parse(JSON.stringify(data));
 	let mineList = [];
 	for(let i=0 ; i<list.length; i++){
-		for(let o=0 ; o<routeDataList.length; o++){
-			console.log('list[i].route',list[i].route)
-			console.log('routeDataList[o].route',routeDataList[o].route)
-			if(list[i].route === routeDataList[o].route){
-				mineList.push({
-					limits:routeDataList[o].limits,
-					route:routeDataList[o].route,
-					routeUrl:routeDataList[o].routeUrl,
-					name:routeDataList[o].name,
-					img:routeDataList[o].img,
-					buttonType:routeDataList[o].buttonType,
-				})
+		let bigObj = {
+			type:list[i].type,
+			layout:[],
+		};
+		for(let l=0 ; l<list[i].layout.length; l++){
+		console.log('list',list[i].layout[l])
+			for(let o=0 ; o<routeDataList.length; o++){
+				if(list[i].layout[l].path === routeDataList[o].route){
+					bigObj.layout.push({
+						limits:routeDataList[o].limits,
+						route:routeDataList[o].route,
+						routeUrl:routeDataList[o].routeUrl,
+						name:routeDataList[o].name,
+						img:routeDataList[o].img,
+						buttonType:routeDataList[o].buttonType,
+					})
+				}
 			}
 		}
+		if(bigObj.layout[0]){
+			mineList.push(bigObj);
+		}
 	}
   return mineList;
 }