From 350de19704298b8d1d3d427dfe0c0d9ae218c5ee Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Thu, 18 Sep 2025 18:08:47 +0800
Subject: [PATCH] 1

---
 src/views/main.vue | 1254 +++++++++++++++++++++++++++++++----------------------------
 1 files changed, 651 insertions(+), 603 deletions(-)

diff --git a/src/views/main.vue b/src/views/main.vue
index d610ad6..1348710 100644
--- a/src/views/main.vue
+++ b/src/views/main.vue
@@ -1,636 +1,684 @@
 <template>
-  <div
-    class="site-wrapper"
-    :class="{ 'site-sidebar--fold': sidebarFold }"
-    v-loading.fullscreen.lock="loading"
-    element-loading-text="拼命加载中">
-    <template v-if="!loading">
-      <main-navbar />
-      <main-sidebar v-if="!isShowService"/>
-      <div class="site-content__wrapper" :style="{ 'min-height': documentClientHeight + 'px' }" v-if="!isShowService">
-        <main-content />
-      </div>
-      <div class="site-content__wrapper" :style="{
+	<div class="site-wrapper" :class="{ 'site-sidebar--fold': sidebarFold }" v-loading.fullscreen.lock="loading"
+		element-loading-text="拼命加载中">
+		<template v-if="!loading">
+			<main-navbar />
+			<main-sidebar v-if="!isShowService" />
+			<div class="site-content__wrapper" :style="{ 'min-height': documentClientHeight + 'px' }"
+				v-if="!isShowService">
+				<main-content />
+			</div>
+			<div class="site-content__wrapper" :style="{
             'min-height': documentClientHeight + 'px',
             'margin-left': '0px' 
           }" v-if="isShowService">
-        <MainService />
-      </div>
-      <audio src="" id="eventAudio" muted="muted"></audio>
-    </template>
-  </div>
+				<MainService />
+			</div>
+			<audio src="" id="eventAudio" muted="muted"></audio>
+		</template>
+	</div>
 </template>
 
 <script>
-  import MainNavbar from './main-navbar'
-  import MainSidebar from './main-sidebar'
-  import MainContent from './main-content'
-  import MainService from './main-service.vue'
-  import {menuTipAdd} from '../config'
-  export default {
-    data () {
-      return {
-        loading: true,
-        isShowService: false,
-        tips:[]
-      }
-    },
-    components: {
-      MainNavbar,
-      MainSidebar,
-      MainContent,
-      MainService
-    },
-    computed: {
-      documentClientHeight: {
-        get () { return this.$store.state.common.documentClientHeight },
-        set (val) { this.$store.commit('common/updateDocumentClientHeight', val) }
-      },
-      sidebarFold: {
-        get () { return this.$store.state.common.sidebarFold }
-      },
-      userId: {
-        get () { return this.$store.state.user.id },
-        set (val) { this.$store.commit('user/updateId', val) }
-      },
-      userName: {
-        get () { return this.$store.state.user.name },
-        set (val) { this.$store.commit('user/updateName', val) }
-      },
-      googleAuthBind:{
-        get () { return this.$store.state.user.googleAuthBind },
-        set (val) { this.$store.commit('user/googleAuthBind', val) }
-      },
-      kefuInfo: {
-        get () { 
-          return this.$store.state.common.kefuInfo 
-        },
-        set (val) { this.$store.commit('common/updateKefuInfo', val) }
-      },
-    },
-    created () {
-      Vue.prototype.main = this;
+	import MainNavbar from './main-navbar'
+	import MainSidebar from './main-sidebar'
+	import MainContent from './main-content'
+	import MainService from './main-service.vue'
+	import {
+		menuTipAdd
+	} from '../config'
+	export default {
+		data() {
+			return {
+				loading: true,
+				isShowService: false,
+				tips: []
+			}
+		},
+		components: {
+			MainNavbar,
+			MainSidebar,
+			MainContent,
+			MainService
+		},
+		computed: {
+			documentClientHeight: {
+				get() {
+					return this.$store.state.common.documentClientHeight
+				},
+				set(val) {
+					this.$store.commit('common/updateDocumentClientHeight', val)
+				}
+			},
+			sidebarFold: {
+				get() {
+					return this.$store.state.common.sidebarFold
+				}
+			},
+			userId: {
+				get() {
+					return this.$store.state.user.id
+				},
+				set(val) {
+					this.$store.commit('user/updateId', val)
+				}
+			},
+			userName: {
+				get() {
+					return this.$store.state.user.name
+				},
+				set(val) {
+					this.$store.commit('user/updateName', val)
+				}
+			},
+			googleAuthBind: {
+				get() {
+					return this.$store.state.user.googleAuthBind
+				},
+				set(val) {
+					this.$store.commit('user/googleAuthBind', val)
+				}
+			},
+			kefuInfo: {
+				get() {
+					return this.$store.state.common.kefuInfo
+				},
+				set(val) {
+					this.$store.commit('common/updateKefuInfo', val)
+				}
+			},
+		},
+		created() {
+			Vue.prototype.main = this;
 
-      this.getUserInfo()
-      if(!this.IS_DEBUG){
-     setTimeout(()=>{
-        this.getNewTips()
-      },500);
-      this.getTips()
-      }
- 
-      
-      // setTimeout(()=>{
-      //   // this.getTips()
-      // },500);
-
-    },
-    mounted () {
-      this.resetDocumentClientHeight()
-      
-    },
-    methods: {
-      // 重置窗口可视高度
-      resetDocumentClientHeight () {
-        this.documentClientHeight = document.documentElement['clientHeight']
-        window.onresize = () => {
-          this.documentClientHeight = document.documentElement['clientHeight']
-        }
-      },
-      // 获取当前管理员信息
-      getUserInfo () {
-        this.$http({
-          url: this.$http.adornUrl('/sys/user/info'),
-          method: 'get',
-          params: this.$http.adornParams()
-        }).then(({data}) => {
-          this.loading = false
-          this.userId = data.userId
-          this.userName = data.username
-          this.googleAuthBind = data.googleAuthBind
-          this.$login = true;
-
-          console.log("data.roleName = " + JSON.stringify(data.roleName));
-          this.kefuInfo = {};
-          this.kefuInfo.isOnline = null;
-          if(data.roleName.indexOf("客服") >= 0){
-            Vue.prototype.$isKefu = true;
-            //请求客服信息
-            console.log("客服");
-            console.log("this isKe = " + Vue.prototype.$isKefu);
-            this.personalCustomer();
-          }else{
-            this.kefuInfo = {};
-            Vue.prototype.$isKefu = false;
-            console.log("不是客服");
-          }
-        })
-      },
-      personalCustomer() {
-        this.$http({
-          url: this.$http.adornUrl("/normal/adminPersonalCustomerAction!personalCustomer.action"),
-          method: "get",
-          data: this.$http.adornData({}),
-        }).then(({ data }) => {
-          console.log("personalCustomer = " + JSON.stringify(data));
-          if(data.code == 0){
-            let dataForm = data.data;
-            if(dataForm.online_state == 1){
-              this.kefuInfo.isOnline = true;
-            }else{
-              this.kefuInfo.isOnline = false;
-            }
-            console.log("kefuInfo = " + JSON.stringify(this.kefuInfo));
-            this.$bus.$emit("updateKefuInfo",this.kefuInfo);
-          }else{
-            this.$message(data.msg);
-            this.kefuInfo.isOnline = null;
-          }
- 
-        });
-      },
-      getNewTips(){
-
-        //getNewTips
-        if(this.$login){
-          try{
-            this.getNewTips2();
-          }catch(e){
-            console.log(JSON.stringify(e));
-          }
-          
-        }
-        setTimeout(()=>{
-          this.getNewTips()
-        },3000)
-      },
-      getNewTips2(){
-        var time_stamp = localStorage.getItem("timeStamp");
-        var params = {"timeStamp":time_stamp};//1688432842000
-        localStorage.setItem("timeStamp",new Date().getTime());
-        //start
-        this.$http({
-          url: this.$http.adornUrl('/tip/getNewTips'),
-          method: 'get',
-          params: this.$http.adornParams(Object.assign(
-            {
-            },
-            params
-        ))
-        }).then(({data}) => {
-          // console.log("getNewTips data = " + JSON.stringify(data));
-          if(data.code == 0){
-            for(let i = 0 ; i < data.data.length ; i++){
-              if(data.data[i].tip_message != null){
-                setTimeout(()=>{
-                  let type = data.data[i].tip_type;
-                  switch(type)
-                  {
-                    case "1": //充值
-                      this.playAudioOfRecharge();
-                      break;
-                    case "2": //提现
-                    this.playAudioOfWithdraw();
-                      break;
-                    case "3": //认证
-                    this.playAudioOfRzzt();
-                      break;
-                  }
-                  this.openNewURL(data.data[i].tip_content_num,data.data[i].tip_url,data.data[i].tip_message);
-                },100*i)
-                //this.openURL(data.data[i]);
-              }
-              
-            }
-          
-          }else{
-            console.log("getNewTips catch1 = ");  
-          }
-     
-        }).catch((e) => {
-          // console.log("getNewTips catch = "+JSON.stringify(e));  
-          this.$login = false
-        })
-
-        // 交割单 OP_ADMIN_FUTURES_ORDER_TIP
-        // 区块链充值模块 OP_ADMIN_RECHARGE_BLOCKCHAIN_TIP
-        // 三方充值模块 OP_ADMIN_RECHARGE_TIP
-        // 提现模块 OP_ADMIN_WITHDRAW_TIP
-        // 认证模块 OP_ADMIN_KYC_TIP
-        // 高级认证模块 OP_ADMIN_KYC_HIGH_LEVEL_TIP
-        // OTC订单模块 OP_ADMIN_OTC_ORDER_TIP
-        // OTC订单聊天模块 OP_ADMIN_OTC_ORDER_ONLINECHAT_TIP
-        // 银行卡订单模块 OP_ADMIN_BANK_CARD_ORDER_TIP
-        // 用户资金密码申请模块 OP_ADMIN_USER_SAFEWORD_APPLY_TIP
-        // 永续合约持仓单 OP_ADMIN_CONTRACT_ORDER_TIP
-        // 用户客服模块 OP_ADMIN_ONLINECHAT
-
-      },
-      openURL(item) {
-        var test1 = window.location.protocol+"//";
-        var test2 = window.location.host;
-        var url = test1+test2+item.tip_url;
-        console.log('<a href="'+url+'">'+item.tip_message+'</a>');
-        this.$notify({
-          title: item.tip_message,
-          dangerouslyUseHTMLString: true,
-          message: '<a href="'+url+'">'+item.tip_message+'</a>',
-          position: 'bottom-right'
-        });
-        // function toUser(url){
-        //   window.open(url);
-        // }
-        // this.$notify({
-        //   title: item.tip_message,
-        //   dangerouslyUseHTMLString: true,
-        //   message: '<a onclick="function(){window.loaction.href = url;}" style="cursor: pointer;">'+item.tip_message+'</a>',
-        //   position: 'bottom-right'
-        // });
-
-      },
-      getTips(){
-        //getNewTips
-        if(this.$login){
-          // console.log("this.$login2  = " + this.$login);
-          this.getTips2();
-        }
-        
-        setTimeout(()=>{
-          this.getTips()
-        },5000)
-      },
-      getTips2(){
-        //start
-        this.$http({
-          url: this.$http.adornUrl('/tip/getTips'),
-          method: 'get',
-          params: this.$http.adornParams()
-        }).then(({data}) => {
-          // console.log("getTips data = " + JSON.stringify(data));
-
-          var temp = data.data;
-
-          var businessNum = 0;
-          var userNum = 0;
-          var moneyNum = 0;	
-          var c2cNum = 0;
-          this.tips = {};
-          this.initTipCountHandle();
-          
-          // 遍历tip
-          if (temp.tipList.length > 0) {
-            temp.tipList.forEach((ele) => {
-              this.countHandle(ele.tip_dom_name,ele.tip_content_sum);
-              // if (ele.tip_dom_name == ".automonitor_threshold_order_untreated_cout"
-              //   || ele.tip_dom_name == ".automonitor_approve_order_untreated_cout"
-              //   || ele.tip_dom_name == ".contract_order_untreated_cout"
-              //   || ele.tip_dom_name == ".futures_order_untreated_cout") {
-              //   // 业务
-              //   businessNum = businessNum + ele.tip_content_sum;
-              // } else if (ele.tip_dom_name == ".kyc_untreated_cout"
-              //   || ele.tip_dom_name == ".kyc_high_level_untreated_cout"
-              //   || ele.tip_dom_name == ".user_safeword_apply_untreated_cout") {
-              //   // 用户
-              //   userNum = userNum + ele.tip_content_sum;
-              // } else if (ele.tip_dom_name == ".automonitor_withdraw_order_untreated_cout"
-              //   || ele.tip_dom_name == ".withdraw_order_untreated_cout"
-              //   || ele.tip_dom_name == ".recharge_blockchain_order_untreated_cout"
-              //   || ele.tip_dom_name == ".bank_card_order_untreated_cout") {
-              //   // 财务
-              //   moneyNum = moneyNum + ele.tip_content_sum;
-              // }
-            });
-
-            //
-            
-            menuTipAdd.forEach((value,key) =>	{
-              // console.log(key+":"+value);
-              let all = 0;
-              for(let i = 0 ; i < value.length ; i++){
-                let num = this.tips[value[i]] || 0;
-                all += num;
-              }
-              this.countHandle(key,all);
-            });
+			this.getUserInfo()
+			if (!this.IS_DEBUG) {
+				setTimeout(() => {
+					this.getNewTips()
+				}, 500);
+				this.getTips()
+			}
 
 
-            // console.log("this.tips = " + JSON.stringify(this.tips));
+			// setTimeout(()=>{
+			//   // this.getTips()
+			// },500);
 
-          }
+		},
+		mounted() {
+			this.resetDocumentClientHeight()
+
+		},
+		methods: {
+			// 重置窗口可视高度
+			resetDocumentClientHeight() {
+				this.documentClientHeight = document.documentElement['clientHeight']
+				window.onresize = () => {
+					this.documentClientHeight = document.documentElement['clientHeight']
+				}
+			},
+			// 获取当前管理员信息
+			getUserInfo() {
+				this.$http({
+					url: this.$http.adornUrl('/sys/user/info'),
+					method: 'get',
+					params: this.$http.adornParams()
+				}).then(({
+					data
+				}) => {
+					this.loading = false
+					this.userId = data.userId
+					this.userName = data.username
+					this.googleAuthBind = data.googleAuthBind
+					this.$login = true;
+
+					console.log("data.roleName = " + JSON.stringify(data.roleName));
+					this.kefuInfo = {};
+					this.kefuInfo.isOnline = null;
+					if (data.roleName.indexOf("客服") >= 0) {
+						Vue.prototype.$isKefu = true;
+						//请求客服信息
+						console.log("客服");
+						console.log("this isKe = " + Vue.prototype.$isKefu);
+						this.personalCustomer();
+					} else {
+						this.kefuInfo = {};
+						Vue.prototype.$isKefu = false;
+						console.log("不是客服");
+					}
+				})
+			},
+			personalCustomer() {
+				this.$http({
+					url: this.$http.adornUrl("/normal/adminPersonalCustomerAction!personalCustomer.action"),
+					method: "get",
+					data: this.$http.adornData({}),
+				}).then(({
+					data
+				}) => {
+					console.log("personalCustomer = " + JSON.stringify(data));
+					if (data.code == 0) {
+						let dataForm = data.data;
+						if (dataForm.online_state == 1) {
+							this.kefuInfo.isOnline = true;
+						} else {
+							this.kefuInfo.isOnline = false;
+						}
+						console.log("kefuInfo = " + JSON.stringify(this.kefuInfo));
+						this.$bus.$emit("updateKefuInfo", this.kefuInfo);
+					} else {
+						this.$message(data.msg);
+						this.kefuInfo.isOnline = null;
+					}
+
+				});
+			},
+			getNewTips() {
+
+				//getNewTips
+				if (this.$login) {
+					try {
+						this.getNewTips2();
+					} catch (e) {
+						console.log(JSON.stringify(e));
+					}
+
+				}
+				setTimeout(() => {
+					this.getNewTips()
+				}, 3000)
+			},
+			getNewTips2() {
+				var time_stamp = localStorage.getItem("timeStamp");
+				var params = {
+					"timeStamp": time_stamp
+				}; //1688432842000
+				localStorage.setItem("timeStamp", new Date().getTime());
+				//start
+				this.$http({
+					url: this.$http.adornUrl('/tip/getNewTips'),
+					method: 'get',
+					params: this.$http.adornParams(Object.assign({},
+						params
+					))
+				}).then(({
+					data
+				}) => {
+					// console.log("getNewTips data = " + JSON.stringify(data));
+					if (data.code == 0) {
+						for (let i = 0; i < data.data.length; i++) {
+							if (data.data[i].tip_message != null) {
+								setTimeout(() => {
+									let type = data.data[i].tip_type;
+									switch (type) {
+										case "1": //充值
+											this.playAudioOfRecharge();
+											break;
+										case "2": //提现
+											this.playAudioOfWithdraw();
+											break;
+										case "3": //认证
+											this.playAudioOfRzzt();
+											break;
+										case "5": //合约
+											this.playAudioOfContract();
+											break;
+									}
+									this.openNewURL(data.data[i].tip_content_num, data.data[i].tip_url,
+										data.data[i].tip_message);
+								}, 100 * i)
+								//this.openURL(data.data[i]);
+							}
+
+						}
+
+					} else {
+						console.log("getNewTips catch1 = ");
+					}
+
+				}).catch((e) => {
+					// console.log("getNewTips catch = "+JSON.stringify(e));  
+					this.$login = false
+				})
+
+				// 交割单 OP_ADMIN_FUTURES_ORDER_TIP
+				// 区块链充值模块 OP_ADMIN_RECHARGE_BLOCKCHAIN_TIP
+				// 三方充值模块 OP_ADMIN_RECHARGE_TIP
+				// 提现模块 OP_ADMIN_WITHDRAW_TIP
+				// 认证模块 OP_ADMIN_KYC_TIP
+				// 高级认证模块 OP_ADMIN_KYC_HIGH_LEVEL_TIP
+				// OTC订单模块 OP_ADMIN_OTC_ORDER_TIP
+				// OTC订单聊天模块 OP_ADMIN_OTC_ORDER_ONLINECHAT_TIP
+				// 银行卡订单模块 OP_ADMIN_BANK_CARD_ORDER_TIP
+				// 用户资金密码申请模块 OP_ADMIN_USER_SAFEWORD_APPLY_TIP
+				// 永续合约持仓单 OP_ADMIN_CONTRACT_ORDER_TIP
+				// 用户客服模块 OP_ADMIN_ONLINECHAT
+
+			},
+			openURL(item) {
+				var test1 = window.location.protocol + "//";
+				var test2 = window.location.host;
+				var url = test1 + test2 + item.tip_url;
+				console.log('<a href="' + url + '">' + item.tip_message + '</a>');
+				this.$notify({
+					title: item.tip_message,
+					dangerouslyUseHTMLString: true,
+					message: '<a href="' + url + '">' + item.tip_message + '</a>',
+					position: 'bottom-right'
+				});
+				// function toUser(url){
+				//   window.open(url);
+				// }
+				// this.$notify({
+				//   title: item.tip_message,
+				//   dangerouslyUseHTMLString: true,
+				//   message: '<a onclick="function(){window.loaction.href = url;}" style="cursor: pointer;">'+item.tip_message+'</a>',
+				//   position: 'bottom-right'
+				// });
+
+			},
+			getTips() {
+				//getNewTips
+				if (this.$login) {
+					// console.log("this.$login2  = " + this.$login);
+					this.getTips2();
+				}
+
+				setTimeout(() => {
+					this.getTips()
+				}, 5000)
+			},
+			getTips2() {
+				//start
+				this.$http({
+					url: this.$http.adornUrl('/tip/getTips'),
+					method: 'get',
+					params: this.$http.adornParams()
+				}).then(({
+					data
+				}) => {
+					// console.log("getTips data = " + JSON.stringify(data));
+
+					var temp = data.data;
+
+					var businessNum = 0;
+					var userNum = 0;
+					var moneyNum = 0;
+					var c2cNum = 0;
+					this.tips = {};
+					this.initTipCountHandle();
+
+					// 遍历tip
+					if (temp.tipList.length > 0) {
+						temp.tipList.forEach((ele) => {
+							this.countHandle(ele.tip_dom_name, ele.tip_content_sum);
+							// if (ele.tip_dom_name == ".automonitor_threshold_order_untreated_cout"
+							//   || ele.tip_dom_name == ".automonitor_approve_order_untreated_cout"
+							//   || ele.tip_dom_name == ".contract_order_untreated_cout"
+							//   || ele.tip_dom_name == ".futures_order_untreated_cout") {
+							//   // 业务
+							//   businessNum = businessNum + ele.tip_content_sum;
+							// } else if (ele.tip_dom_name == ".kyc_untreated_cout"
+							//   || ele.tip_dom_name == ".kyc_high_level_untreated_cout"
+							//   || ele.tip_dom_name == ".user_safeword_apply_untreated_cout") {
+							//   // 用户
+							//   userNum = userNum + ele.tip_content_sum;
+							// } else if (ele.tip_dom_name == ".automonitor_withdraw_order_untreated_cout"
+							//   || ele.tip_dom_name == ".withdraw_order_untreated_cout"
+							//   || ele.tip_dom_name == ".recharge_blockchain_order_untreated_cout"
+							//   || ele.tip_dom_name == ".bank_card_order_untreated_cout") {
+							//   // 财务
+							//   moneyNum = moneyNum + ele.tip_content_sum;
+							// }
+						});
+
+						//
+
+						menuTipAdd.forEach((value, key) => {
+							let all = 0;
+							for (let i = 0; i < value.length; i++) {
+								let num = this.tips[value[i]] || 0;
+								// let num =  0;
+								all += num;
+							}
+							this.countHandle(key, all);
+						});
 
 
-          // // 业务
-          // this.countHandle(".business_untreated_count",businessNum);
-          // // 用户
-          // this.countHandle(".user_untreated_count",userNum);
-          // // 财务
-          // this.countHandle(".money_untreated_count",moneyNum);
+						// console.log("this.tips = " + JSON.stringify(this.tips));
+
+					}
 
 
-        })
-        // console.log("this.menuMap => " + JSON.stringify(this.menuMap));
+					// // 业务
+					// this.countHandle(".business_untreated_count",businessNum);
+					// // 用户
+					// this.countHandle(".user_untreated_count",userNum);
+					// // 财务
+					// this.countHandle(".money_untreated_count",moneyNum);
 
-        // 交割单 OP_ADMIN_FUTURES_ORDER_TIP
-        // 区块链充值模块 OP_ADMIN_RECHARGE_BLOCKCHAIN_TIP
-        // 三方充值模块 OP_ADMIN_RECHARGE_TIP
-        // 提现模块 OP_ADMIN_WITHDRAW_TIP
-        // 认证模块 OP_ADMIN_KYC_TIP
-        // 高级认证模块 OP_ADMIN_KYC_HIGH_LEVEL_TIP
-        // OTC订单模块 OP_ADMIN_OTC_ORDER_TIP
-        // OTC订单聊天模块 OP_ADMIN_OTC_ORDER_ONLINECHAT_TIP
-        // 银行卡订单模块 OP_ADMIN_BANK_CARD_ORDER_TIP
-        // 用户资金密码申请模块 OP_ADMIN_USER_SAFEWORD_APPLY_TIP
-        // 永续合约持仓单 OP_ADMIN_CONTRACT_ORDER_TIP
-        // 用户客服模块 OP_ADMIN_ONLINECHAT
 
-      },
-      initTipCountHandle() {
-        // 目录
-        this.countHandle(".business_untreated_count", 0);
-        this.countHandle(".user_untreated_count", 0);
-        this.countHandle(".money_untreated_count", 0);
-        
-        // 业务
-        this.countHandle(".automonitor_approve_order_untreated_cout", 0);
-        this.countHandle(".automonitor_threshold_order_untreated_cout", 0);
-        this.countHandle(".contract_order_untreated_cout", 0);
-        // 用户
-        this.countHandle(".kyc_untreated_cout", 0);
-        this.countHandle(".kyc_high_level_untreated_cout", 0);
-        this.countHandle(".user_safeword_apply_untreated_cout", 0);
-        // 财务
-        this.countHandle(".automonitor_withdraw_order_untreated_cout",0);
-        this.countHandle(".withdraw_order_untreated_cout", 0);
-        this.countHandle(".recharge_blockchain_order_untreated_cout", 0);
-        this.countHandle(".bank_card_order_untreated_cout", 0);
-      },
-      //展示处理
-      countHandle(ele, count) {
-        if (isNaN(count)) {
-          count = 0
-        }
-        if (ele == null) {
-          count = 0
-        }
-        this.tips[ele] = count;
-      },
-      openNewURL(num,url,message) {
-        let title = "新消息";
-        // let num = 21;
-        // let url = "home"
-        this.$notify({
-          dangerouslyUseHTMLString: true,
-          showClose: true, // 关闭自带的关闭按钮
-          // duration: 500, 
-          position: 'bottom-right',
-          customClass: 'notifyClass',// 这个样式只能放在无scoped的style中才能生效
-          message: this.$createElement(
-            'div',
-            {class: 'notify_parent'},
-            [
-              this.$createElement(
-                'div',
-                { class: 'notify_div' },
-                [
-                  this.$createElement(
-                    'div',
-                    { class: 'notify_title' },
-                    [
-                      this.$createElement(
-                        'div',
-                        { class: 'circle' },
-                        [
-                          this.$createElement(
-                            'span',
-                            {class: num < 10 ? 'text_num0' :  'text_num1'},
-                            num
-                          )
-                        ]
-                      ),
-                      // this.$createElement(
-                      //   'el-badge',
-                      //   // { class: 'circle' },
-                      //   {class: 'badge'},
-                      //   num
-                      // ),
-                      this.$createElement(
-                        'span',
-                        {class:'text'},
-                        title
-                      )
-                    ]
-                  )
-                  // this.$createElement(
-                  //   'i',
-                  //   { class: 'el-icon-close', on: { click: this.closeNotify } }
-                  // )
-                ]
-              ),
-              this.$createElement(
-                'div',
-                {
-                  // domProps: {
-                  //   innerHTML: '<em>你好啊</em>' // htmlString就是带HTML格式的字符串'<em>你好啊</em>'
-                  // },
-                  class: 'notifyContent'
-                },
-                [
-                  this.$createElement('img', 
-                  { 
-                    style: 'width: 46px;height: 46px;margin-top:20px; margin-left: 18px;',
-                    attrs: {src: '/admin/new.png'}
-                  }),
-                  this.$createElement('div',
-                    {
-                      class: 'notifyContent1',
-                    },
-                    [
-                      this.$createElement('div',
-                      {
-                        class: 'notifyContent2',
-                        domProps: {
-                          // innerHTML: '你<span style="color:#E05561">好啊</span>asasasss'
-                          innerHTML: message
-                        }
-                      }),
-                      this.$createElement('a',
-                      {
-                        class: 'notifyContent3',
-                        style:"cursor:pointer;",
-                        domProps: {
-                          innerHTML: '点击前往' // 显示的值
-                        },
-                        on: {
-                          click: () => {
-                            this.handleTitleClick(url);
-                          }
-                        }
-                        
-                      })
-                    ]
-                  )
-                ]
-              )
-            ]
-          )
-        })
-      },
-      // 点击事件,跳转到另一个页面
-      handleTitleClick(url) {
-        this.$router.push({
-          path: url
-        });
-        this.$bus.$emit('updateOfBasics',{flag:true});
-        this.$bus.$emit('updateOfSenior',{flag:true});
-        this.$bus.$emit('updateOfReset',{flag:true});
-        this.$bus.$emit('updateOfRechange',{flag:true});
-        this.$bus.$emit('updateOfWithdraw',{flag:true});
-        // this.$router.push({ path: "/user-relation-senior" });
-      },
-    }
-  }
+				})
+				// console.log("this.menuMap => " + JSON.stringify(this.menuMap));
+
+				// 交割单 OP_ADMIN_FUTURES_ORDER_TIP
+				// 区块链充值模块 OP_ADMIN_RECHARGE_BLOCKCHAIN_TIP
+				// 三方充值模块 OP_ADMIN_RECHARGE_TIP
+				// 提现模块 OP_ADMIN_WITHDRAW_TIP
+				// 认证模块 OP_ADMIN_KYC_TIP
+				// 高级认证模块 OP_ADMIN_KYC_HIGH_LEVEL_TIP
+				// OTC订单模块 OP_ADMIN_OTC_ORDER_TIP
+				// OTC订单聊天模块 OP_ADMIN_OTC_ORDER_ONLINECHAT_TIP
+				// 银行卡订单模块 OP_ADMIN_BANK_CARD_ORDER_TIP
+				// 用户资金密码申请模块 OP_ADMIN_USER_SAFEWORD_APPLY_TIP
+				// 永续合约持仓单 OP_ADMIN_CONTRACT_ORDER_TIP
+				// 用户客服模块 OP_ADMIN_ONLINECHAT
+
+			},
+			initTipCountHandle() {
+				// 目录
+				this.countHandle(".business_untreated_count", 0);
+				this.countHandle(".user_untreated_count", 0);
+				this.countHandle(".money_untreated_count", 0);
+
+				// 业务
+				this.countHandle(".automonitor_approve_order_untreated_cout", 0);
+				this.countHandle(".automonitor_threshold_order_untreated_cout", 0);
+				this.countHandle(".contract_order_untreated_cout-0", 0);
+				// 用户
+				this.countHandle(".kyc_untreated_cout", 0);
+				this.countHandle(".kyc_high_level_untreated_cout", 0);
+				this.countHandle(".user_safeword_apply_untreated_cout", 0);
+				// 财务
+				this.countHandle(".automonitor_withdraw_order_untreated_cout", 0);
+				this.countHandle(".withdraw_order_untreated_cout", 0);
+				this.countHandle(".recharge_blockchain_order_untreated_cout", 0);
+				this.countHandle(".bank_card_order_untreated_cout", 0);
+			},
+			//展示处理
+			countHandle(ele, count) {
+				if (isNaN(count)) {
+					count = 0
+				}
+				if (ele == null) {
+					count = 0
+				}
+				this.tips[ele] = count;
+				// this.tips[ele] = '10';
+			},
+			openNewURL(num, url, message) {
+				let title = "新消息";
+				// let num = 21;
+				// let url = "home"
+				this.$notify({
+					dangerouslyUseHTMLString: true,
+					showClose: true, // 关闭自带的关闭按钮
+					// duration: 500, 
+					position: 'bottom-right',
+					customClass: 'notifyClass', // 这个样式只能放在无scoped的style中才能生效
+					message: this.$createElement(
+						'div', {
+							class: 'notify_parent'
+						},
+						[
+							this.$createElement(
+								'div', {
+									class: 'notify_div'
+								},
+								[
+									this.$createElement(
+										'div', {
+											class: 'notify_title'
+										},
+										[
+											this.$createElement(
+												'div', {
+													class: 'circle'
+												},
+												[
+													this.$createElement(
+														'span', {
+															class: num < 10 ? 'text_num0' : 'text_num1'
+														},
+														num
+													)
+												]
+											),
+											// this.$createElement(
+											//   'el-badge',
+											//   // { class: 'circle' },
+											//   {class: 'badge'},
+											//   num
+											// ),
+											this.$createElement(
+												'span', {
+													class: 'text'
+												},
+												title
+											)
+										]
+									)
+									// this.$createElement(
+									//   'i',
+									//   { class: 'el-icon-close', on: { click: this.closeNotify } }
+									// )
+								]
+							),
+							this.$createElement(
+								'div', {
+									// domProps: {
+									//   innerHTML: '<em>你好啊</em>' // htmlString就是带HTML格式的字符串'<em>你好啊</em>'
+									// },
+									class: 'notifyContent'
+								},
+								[
+									this.$createElement('img', {
+										style: 'width: 46px;height: 46px;margin-top:20px; margin-left: 18px;',
+										attrs: {
+											src: '/admin/new.png'
+										}
+									}),
+									this.$createElement('div', {
+											class: 'notifyContent1',
+										},
+										[
+											this.$createElement('div', {
+												class: 'notifyContent2',
+												domProps: {
+													// innerHTML: '你<span style="color:#E05561">好啊</span>asasasss'
+													innerHTML: message
+												}
+											}),
+											this.$createElement('a', {
+												class: 'notifyContent3',
+												style: "cursor:pointer;",
+												domProps: {
+													innerHTML: '点击前往' // 显示的值
+												},
+												on: {
+													click: () => {
+														this.handleTitleClick(url);
+													}
+												}
+
+											})
+										]
+									)
+								]
+							)
+						]
+					)
+				})
+			},
+			// 点击事件,跳转到另一个页面
+			handleTitleClick(url) {
+				this.$router.push({
+					path: url
+				});
+				this.$bus.$emit('updateOfBasics', {
+					flag: true
+				});
+				this.$bus.$emit('updateOfSenior', {
+					flag: true
+				});
+				this.$bus.$emit('updateOfReset', {
+					flag: true
+				});
+				this.$bus.$emit('updateOfRechange', {
+					flag: true
+				});
+				this.$bus.$emit('updateOfWithdraw', {
+					flag: true
+				});
+				// this.$router.push({ path: "/user-relation-senior" });
+			},
+		}
+	}
 </script>
 
 <style lang="scss">
- 
-.notifyClass {
-  background-color: #4F5158;
-  border-radius: 10px;
-  width: 360px;
-  height: 116px;
-}
-.notify_title {
-  margin-top: 5px;
-  font-weight: bold;
-  display: flex;
-  justify-content: space-between;
-}
-.notifyContent {
-  display: flex;
-  justify-content: space-between;
-  color: #666666;
-  height: 100px;
-  overflow-y: auto;
-  padding-right: 6px;
-  &::-webkit-scrollbar {
-    width: 5px;
-    height: 7px;
-    background-color: #fff;
-  }
-  &::-webkit-scrollbar-track {
-    border-radius: 10px;
-    background-color: #fff;
-  }
-  &::-webkit-scrollbar-thumb {
-    height: 20px;
-    border-radius: 10px;
-    background-color: #cccdd1;
-  }
-}
+	.notifyClass {
+		background-color: #4F5158;
+		border-radius: 10px;
+		width: 360px;
+		height: 116px;
+	}
 
-.notifyContent1 {
-  color: #666666;
-  min-width: 260px;
-  height: 100px;
-  margin-left: -60px;
-  // background-color: yellowgreen;
-}
+	.notify_title {
+		margin-top: 5px;
+		font-weight: bold;
+		display: flex;
+		justify-content: space-between;
+	}
 
-.notifyContent2 {
-  color: #666666;
-  font-family: PingFang HK;
-  font-size: 14px;
-  font-weight: 600;
-  line-height: 20px;
-  letter-spacing: 0em;
-  text-align: left;
-  margin-top: 20px;
+	.notifyContent {
+		display: flex;
+		justify-content: space-between;
+		color: #666666;
+		height: 100px;
+		overflow-y: auto;
+		padding-right: 6px;
 
-}
+		&::-webkit-scrollbar {
+			width: 5px;
+			height: 7px;
+			background-color: #fff;
+		}
 
-.notifyContent3 {
-  color: #333333;
-  font-family: PingFang HK;
-  font-size: 14px;
-  font-weight: 600;
-  line-height: 20px;
-  letter-spacing: 0em;
-  text-align: left;
-  text-decoration:underline;
-  margin-top: 20px;
-}
+		&::-webkit-scrollbar-track {
+			border-radius: 10px;
+			background-color: #fff;
+		}
 
-.notifyIcon {
-  color: #f75343;
-  margin-right: 5px;
-}
-.notify_div {
-  display: flex;
-  justify-content: space-between;
-  background-color: #4F5158;
-  width: 360px;
-  height: 36px;
-}
+		&::-webkit-scrollbar-thumb {
+			height: 20px;
+			border-radius: 10px;
+			background-color: #cccdd1;
+		}
+	}
 
-.notify_parent{
-  background-color: #FFFFFF;
-  margin-left: -26px;
-  margin-top: -17px;
-}
+	.notifyContent1 {
+		color: #666666;
+		min-width: 260px;
+		height: 100px;
+		margin-left: -60px;
+		// background-color: yellowgreen;
+	}
 
-.badge {
-  background: #E05561;
-  border: 1px solid #E05561;
-  border-radius: 50%;
-  min-height: 20px;
-  min-width: 20px;
-  margin-left: 20px;
-  color: #FFFFFF;
-}
+	.notifyContent2 {
+		color: #666666;
+		font-family: PingFang HK;
+		font-size: 14px;
+		font-weight: 600;
+		line-height: 20px;
+		letter-spacing: 0em;
+		text-align: left;
+		margin-top: 20px;
 
-.circle {
-  background: #E05561;
-  border: 1px solid #E05561;
-  border-radius: 50%;
-  height: 20px;
-  width: 20px;
-  margin-left: 20px;
-  color: #FFFFFF;
-  text-align: left;
-}
+	}
 
-.text_num0{
-  color: #FFFFFF;
-  font-family: PingFang HK;
-  font-size: 14px;
-  font-weight: 600;
-  line-height: 20px;
-  letter-spacing: 0em;
-  text-align: center;
-  margin-left: 5px;
-}
+	.notifyContent3 {
+		color: #333333;
+		font-family: PingFang HK;
+		font-size: 14px;
+		font-weight: 600;
+		line-height: 20px;
+		letter-spacing: 0em;
+		text-align: left;
+		text-decoration: underline;
+		margin-top: 20px;
+	}
 
-.text_num1{
-  color: #FFFFFF;
-  font-family: PingFang HK;
-  font-size: 14px;
-  font-weight: 600;
-  line-height: 20px;
-  letter-spacing: 0em;
-  text-align: center;
-  // margin-left: 5px;
-}
+	.notifyIcon {
+		color: #f75343;
+		margin-right: 5px;
+	}
 
-.text{
-  color: #FFFFFF;
-  font-family: PingFang HK;
-  font-size: 14px;
-  font-weight: 600;
-  line-height: 20px;
-  letter-spacing: 0em;
-  text-align: left;
-  margin-left: 10px;
-}
+	.notify_div {
+		display: flex;
+		justify-content: space-between;
+		background-color: #4F5158;
+		width: 360px;
+		height: 36px;
+	}
 
-</style>
+	.notify_parent {
+		background-color: #FFFFFF;
+		margin-left: -26px;
+		margin-top: -17px;
+	}
 
+	.badge {
+		background: #E05561;
+		border: 1px solid #E05561;
+		border-radius: 50%;
+		min-height: 20px;
+		min-width: 20px;
+		margin-left: 20px;
+		color: #FFFFFF;
+	}
+
+	.circle {
+		background: #E05561;
+		border: 1px solid #E05561;
+		border-radius: 50%;
+		height: 20px;
+		width: 20px;
+		margin-left: 20px;
+		color: #FFFFFF;
+		text-align: left;
+	}
+
+	.text_num0 {
+		color: #FFFFFF;
+		font-family: PingFang HK;
+		font-size: 14px;
+		font-weight: 600;
+		line-height: 20px;
+		letter-spacing: 0em;
+		text-align: center;
+		margin-left: 5px;
+	}
+
+	.text_num1 {
+		color: #FFFFFF;
+		font-family: PingFang HK;
+		font-size: 14px;
+		font-weight: 600;
+		line-height: 20px;
+		letter-spacing: 0em;
+		text-align: center;
+		// margin-left: 5px;
+	}
+
+	.text {
+		color: #FFFFFF;
+		font-family: PingFang HK;
+		font-size: 14px;
+		font-weight: 600;
+		line-height: 20px;
+		letter-spacing: 0em;
+		text-align: left;
+		margin-left: 10px;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3