You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							392 lines
						
					
					
						
							15 KiB
						
					
					
				
			
		
		
	
	
							392 lines
						
					
					
						
							15 KiB
						
					
					
				| import { ryw_Event } from "../../FrameWork/Event/EventEnum";
 | |
| import EventMgr from "../../FrameWork/Event/EventMgr";
 | |
| 
 | |
| import User from "../../FrameWork/User/User";
 | |
| import AppPlatform from "../../FrameWork/Util/AppPlatform";
 | |
| import Common5 from "../../Platform/th/Common5";
 | |
| import UiBase from "../GameBase/UiBase";
 | |
| import TaskManager, { MainTaskIdEnum } from "../JuQingChat/TaskManager";
 | |
| 
 | |
| import BuyStockBox from "./BuyStockBox"
 | |
| import SaleStockBox from "./SaleStockBox"
 | |
| import StockManager from "./StockManager";
 | |
| 
 | |
| const {ccclass, property} = cc._decorator;
 | |
| enum StockMarketType{
 | |
|     StockMarket,
 | |
|     MyStocks,
 | |
|     TouTiao
 | |
| }
 | |
| enum StockRiskType{
 | |
|     LowRisk,
 | |
|     HighRisk
 | |
| }
 | |
| @ccclass
 | |
| export default class Stock extends UiBase{
 | |
|     @property(cc.Node)
 | |
|     stockMarketNode:cc.Node = null
 | |
|     @property(cc.Node)
 | |
|     stockContent:cc.Node = null
 | |
|     @property(cc.Node)
 | |
|     stockItem:cc.Node = null
 | |
| 
 | |
|     @property(cc.Node)
 | |
|     myStockNode:cc.Node = null
 | |
|     @property(cc.Node)
 | |
|     myStockContent:cc.Node = null
 | |
|     @property(cc.Node)
 | |
|     myStockItem:cc.Node = null
 | |
| 
 | |
| 
 | |
|     @property(cc.Node)
 | |
|     btn_buy:cc.Node = null
 | |
| 
 | |
|     @property(cc.Prefab)
 | |
|     buyStockPrefab:cc.Prefab = null
 | |
|     @property(cc.Prefab)
 | |
|     saleStockPrefab:cc.Prefab = null
 | |
|     @property(cc.Prefab)
 | |
|     jinRongTouTiaoPrefab:cc.Prefab = null
 | |
|     
 | |
|     curStockRiskType:StockRiskType.HighRisk
 | |
|     curStockMarketType:StockMarketType.StockMarket
 | |
|     buyStockNode:cc.Node = null
 | |
|     saleStockNode:cc.Node = null
 | |
|     jinRongTouTiaoBox:cc.Node = null
 | |
| 
 | |
|         
 | |
|     onLoad () {
 | |
|         super.onLoad()
 | |
| 
 | |
|     }
 | |
| 
 | |
|     onDestroy(){
 | |
|         super.onDestroy()
 | |
|     }
 | |
| 
 | |
|     start(){
 | |
|         EventMgr.onEvent_custom(ryw_Event.updateStockView,()=>{
 | |
|             this.setStockMarketContent(this.curStockRiskType)
 | |
|             this.setMyStockContent()
 | |
|         },this)
 | |
| 
 | |
|         let stocksStorageConfig = User.getStocksData()
 | |
|         if(stocksStorageConfig['巨富集团']){
 | |
|             stocksStorageConfig['巨富集团']["curPrice"] = 1500
 | |
|             User.setStocksData(stocksStorageConfig)
 | |
|         }
 | |
|  
 | |
| 
 | |
|         this.setStockMarketContent(StockRiskType.HighRisk)
 | |
| 
 | |
|         this.checkFinishTask()
 | |
|     }
 | |
|     //初始化股票市场
 | |
|     setStockMarketContent(riskType){
 | |
|         // console.log("初始化股票市场",riskType)
 | |
|         
 | |
|         this.curStockRiskType = riskType
 | |
|         let riskStr = ""
 | |
|         if(riskType == StockRiskType.LowRisk){
 | |
|             riskStr= "低"
 | |
|          
 | |
|         }else if(riskType == StockRiskType.HighRisk){
 | |
|             riskStr= "高"
 | |
|         
 | |
|        
 | |
|         }
 | |
| 
 | |
|         this.stockContent.removeAllChildren()
 | |
|         let stocksStorageConfig = User.getStocksData()
 | |
| 
 | |
|         //console.log(stocksStorageConfig,'stocksStorageConfig++++')
 | |
| 
 | |
| 
 | |
|         let objLength = 0
 | |
|         for(let key in stocksStorageConfig){
 | |
|             if(stocksStorageConfig[key].riskAttributes == riskStr && (key == '巨富集团')){
 | |
|                 objLength++
 | |
|                 let childItem = cc.instantiate(this.stockItem)
 | |
|                 childItem.getChildByName("stockName").getComponent(cc.Label).string = key
 | |
|                 // childItem.getChildByName("price").getComponent(cc.Label).string = StockManager.handPrice(riskStr,stocksStorageConfig[key].curPrice)
 | |
|                 childItem.getChildByName("price").getComponent(cc.Label).string = Common5.getNumberChangeHanzi(stocksStorageConfig[key].curPrice,'1',1)+""
 | |
|                 childItem.getChildByName("rateOfRise").getComponent(cc.Label).string = stocksStorageConfig[key].curRate + "%"
 | |
|                 //涨跌颜色区分
 | |
|                 if(stocksStorageConfig[key].curRate < 0){
 | |
|                     childItem.getChildByName("stockName").color = new cc.Color().fromHEX("#03A239")
 | |
|                     childItem.getChildByName("price").color = new cc.Color().fromHEX("#03A239")
 | |
|                     childItem.getChildByName("rateOfRise").color = new cc.Color().fromHEX("#03A239")
 | |
|                 }else{
 | |
|                     childItem.getChildByName("stockName").color = new cc.Color().fromHEX("#D20D00")
 | |
|                     childItem.getChildByName("price").color = new cc.Color().fromHEX("#D20D00")
 | |
|                     childItem.getChildByName("rateOfRise").color = new cc.Color().fromHEX("#D20D00")
 | |
|                 }
 | |
|                 childItem.active = true
 | |
|                 childItem.getChildByName("btn_buy").attr({stockConfig:stocksStorageConfig[key]})
 | |
|                 this.stockContent.addChild(childItem)
 | |
|                 break
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         let nameArray = []
 | |
|         Object.keys(stocksStorageConfig).forEach(name => {  
 | |
|             //console.log(name)
 | |
|             if(name!='巨富集团'){
 | |
|                 nameArray.push(name)
 | |
|             }
 | |
|           
 | |
|         });
 | |
|         let count = nameArray.length;
 | |
|         let i = 0
 | |
|         this.schedule(() => {
 | |
|             let key = nameArray[i]
 | |
|             if(stocksStorageConfig[key].riskAttributes == riskStr){
 | |
|                 let childItem = cc.instantiate(this.stockItem)
 | |
|                 childItem.getChildByName("stockName").getComponent(cc.Label).string = key
 | |
|                 // childItem.getChildByName("price").getComponent(cc.Label).string = StockManager.handPrice(riskStr,stocksStorageConfig[key].curPrice)
 | |
|                 childItem.getChildByName("price").getComponent(cc.Label).string = Common5.getNumberChangeHanzi(stocksStorageConfig[key].curPrice,'1',1)+""
 | |
|                 childItem.getChildByName("rateOfRise").getComponent(cc.Label).string = stocksStorageConfig[key].curRate + "%"
 | |
|                 //涨跌颜色区分
 | |
|                 if(stocksStorageConfig[key].curRate < 0){
 | |
|                     childItem.getChildByName("stockName").color = new cc.Color().fromHEX("#03A239")
 | |
|                     childItem.getChildByName("price").color = new cc.Color().fromHEX("#03A239")
 | |
|                     childItem.getChildByName("rateOfRise").color = new cc.Color().fromHEX("#03A239")
 | |
|                 }else{
 | |
|                     childItem.getChildByName("stockName").color = new cc.Color().fromHEX("#D20D00")
 | |
|                     childItem.getChildByName("price").color = new cc.Color().fromHEX("#D20D00")
 | |
|                     childItem.getChildByName("rateOfRise").color = new cc.Color().fromHEX("#D20D00")
 | |
|                 }
 | |
|                 childItem.active = true
 | |
|                 childItem.getChildByName("btn_buy").attr({stockConfig:stocksStorageConfig[key]})
 | |
|                 this.stockContent.addChild(childItem)
 | |
|             }
 | |
|             i++
 | |
|             
 | |
|         }, 0, count-1, 0)
 | |
| 
 | |
|         
 | |
|     }
 | |
|     
 | |
|     //股市-我的股票toggle
 | |
|     onSocketMarketTypeToggle(event,customData){
 | |
|         //Common5.playEffect("sound/按键点击")
 | |
|         if(this.curStockMarketType == customData){
 | |
|             return
 | |
|         }
 | |
|         this.changeMarketAndMyStock(customData)
 | |
|     }
 | |
|     //切换股市和我的股票
 | |
|     changeMarketAndMyStock(marketType){
 | |
|         this.curStockMarketType = marketType
 | |
|         //股市
 | |
|         if(marketType == StockMarketType.StockMarket){
 | |
|             // console.log("点击股市")
 | |
|         
 | |
|        
 | |
|             this.stockMarketNode.active = true
 | |
|             this.myStockNode.active = false
 | |
|     
 | |
|             this.btn_buy.active = true
 | |
|         //我的股票
 | |
|         }else if(marketType == StockMarketType.MyStocks){
 | |
|             // console.log("我的股票")
 | |
|      
 | |
|      
 | |
|             this.stockMarketNode.active = false
 | |
|             this.myStockNode.active = true
 | |
|     
 | |
|             this.btn_buy.active = true
 | |
|             this.setMyStockContent()
 | |
|         //金融头条
 | |
|         }else if(marketType == StockMarketType.TouTiao){
 | |
|             this.stockMarketNode.active = false
 | |
|             this.myStockNode.active = false
 | |
|             
 | |
|             this.btn_buy.active = false
 | |
|         }
 | |
|     }
 | |
|     //低风险-高风险toggle
 | |
|     onStockRiskTypeToggle(event,customData){
 | |
|         //Common5.playEffect("sound/按键点击")
 | |
|         if(this.curStockRiskType == customData){
 | |
|             return
 | |
|         }
 | |
|         this.setStockMarketContent(customData)
 | |
|     }
 | |
|     //初始化我的股票
 | |
|     setMyStockContent(){
 | |
|         this.myStockContent.removeAllChildren()
 | |
|         let stocksStorageConfig = User.getStocksData()
 | |
|         let myStockHistoryData = User.getMyStockData()
 | |
|         //console.log("myStockHistoryData==",myStockHistoryData)
 | |
|         let userHetong = User.getUserHeTong()
 | |
| 
 | |
|         let taskIdArray = User.getCurTaskId()
 | |
|         //let kuaidiGSKaiye = taskIdArray[0]>=MainTaskIdEnum.MainTask_548
 | |
|     
 | |
|         for(var key in myStockHistoryData){
 | |
|             let singleStockData = stocksStorageConfig[key]
 | |
|             let nowPrice = singleStockData["curPrice"]
 | |
|             let buyPrice = myStockHistoryData[key].buyPrice
 | |
|             let riskAttributes = singleStockData["riskAttributes"]
 | |
|             let childItem = cc.instantiate(this.myStockItem)
 | |
|             if(riskAttributes == "高"){
 | |
|                 childItem.getChildByName("icon_red").active = true
 | |
|             }else{
 | |
|                 childItem.getChildByName("icon_green").active = true
 | |
|             }
 | |
| 
 | |
|             if(key == '巨富集团'){
 | |
|                 childItem.getChildByName('btn_buy').active = false
 | |
|                 childItem.getChildByName('btn_sell').active = false
 | |
|                 childItem.getChildByName('无法卖出').active = true
 | |
|             }
 | |
|             let singConfig = StockManager.getSingleCompanyConfig(key)
 | |
| 
 | |
| 
 | |
|             childItem.getChildByName("stockName").getComponent(cc.Label).string = key
 | |
|             childItem.getChildByName("newPrice").getComponent(cc.Label).string = Common5.getNumberChangeHanzi(nowPrice,'1',1)+""
 | |
|             childItem.getChildByName("rateOfRise").getComponent(cc.Label).string = ((nowPrice/buyPrice - 1)*100).toFixed(1) + "%"
 | |
|             childItem.getChildByName("buyPrice").getComponent(cc.Label).string = Common5.getNumberChangeHanzi(myStockHistoryData[key].buyPrice,'1',1)+""
 | |
| 
 | |
| 
 | |
|             let numindex = (myStockHistoryData[key].prossess/singConfig.stockSum)*100
 | |
|      
 | |
|             let baoliuNum = null//numindex.toFixed(1).slice(0, -1)
 | |
| 
 | |
|             if(numindex<=1){
 | |
|                 baoliuNum = 1
 | |
|             }else if(numindex>1 && numindex<10){
 | |
|                 baoliuNum = numindex.toFixed(2).slice(0, -1)
 | |
|             }else  if(numindex>10 && numindex<100){
 | |
|                 baoliuNum = Math.floor(numindex)
 | |
|             }else{
 | |
|                 baoliuNum = 100
 | |
|             }
 | |
|             //console.log('(myStockHistoryData[key].prossess/singConfig.stockSum)*100',baoliuNum)
 | |
|             childItem.getChildByName("possess").getComponent(cc.Label).string = baoliuNum+'%'//myStockHistoryData[key].prossess//(myStockHistoryData[key].prossess/singConfig.stockSum)*100 + '%'
 | |
| 
 | |
|             childItem.getChildByName("btn_buy").attr({stockConfig:stocksStorageConfig[key]})
 | |
|             childItem.getChildByName("btn_sell").attr({stockConfig:stocksStorageConfig[key]})
 | |
|             childItem.active = true
 | |
|             if(nowPrice >= buyPrice){
 | |
|                 childItem.getChildByName("stockName").color = new cc.Color().fromHEX("#D20D00")
 | |
|                 childItem.getChildByName("newPrice").color = new cc.Color().fromHEX("#D20D00")
 | |
|                 childItem.getChildByName("rateOfRise").color = new cc.Color().fromHEX("#D20D00")
 | |
|                 childItem.getChildByName("buyPrice").color = new cc.Color().fromHEX("#D20D00")
 | |
|                 childItem.getChildByName("possess").color = new cc.Color().fromHEX("#D20D00")
 | |
|             }else{
 | |
|                 childItem.getChildByName("stockName").color = new cc.Color().fromHEX("#03A239")
 | |
|                 childItem.getChildByName("newPrice").color = new cc.Color().fromHEX("#03A239")
 | |
|                 childItem.getChildByName("rateOfRise").color = new cc.Color().fromHEX("#03A239")
 | |
|                 childItem.getChildByName("buyPrice").color = new cc.Color().fromHEX("#03A239")
 | |
|                 childItem.getChildByName("possess").color = new cc.Color().fromHEX("#03A239")
 | |
|             }
 | |
|             this.myStockContent.addChild(childItem)
 | |
|         }
 | |
|     }
 | |
|     //买入
 | |
|     onBtnBuy(event){
 | |
|         //Common5.playEffect("sound/按键点击")
 | |
| 
 | |
|     
 | |
|         if(this.buyStockNode){
 | |
|             this.buyStockNode.removeFromParent()
 | |
|         }
 | |
|         this.buyStockNode = cc.instantiate(this.buyStockPrefab)
 | |
|         this.node.addChild(this.buyStockNode)
 | |
|         this.buyStockNode.getComponent(BuyStockBox).initBoxContent(event.target.stockConfig)    
 | |
|     }
 | |
|     //卖出
 | |
|     onBtnSell(event){
 | |
|        
 | |
|    
 | |
| 
 | |
| 
 | |
| 
 | |
|         //Common5.playEffect("sound/按键点击")
 | |
|         if(this.saleStockNode){
 | |
|             this.saleStockNode.removeFromParent()
 | |
|         }
 | |
|         this.saleStockNode = cc.instantiate(this.saleStockPrefab)
 | |
|         this.node.addChild(this.saleStockNode)
 | |
|         this.saleStockNode.getComponent(SaleStockBox).initBoxContent(event.target.stockConfig)   
 | |
|     }
 | |
| 
 | |
| 
 | |
| 
 | |
|     //刷新
 | |
|     onBtnRefresh(){
 | |
|         //Common5.playEffect("sound/按键点击")
 | |
| 
 | |
|         let tab = {
 | |
|             onClose: (finish)=>{
 | |
|                 if (finish) {
 | |
|                     Common5.ReportDY("inLevel", '证券中心-AD-股票刷新');
 | |
|           
 | |
|                     StockManager.refreshAllStocksData(User.getDay()+1,true)
 | |
|                 }
 | |
|                 else{
 | |
|                     
 | |
|                     Common5.showTips_custom("广告未观看完");
 | |
|                 }
 | |
|             },onFailed:()=>{
 | |
| 
 | |
|             }
 | |
|         }
 | |
|         AppPlatform.playVideo_custom(tab)
 | |
|         
 | |
|     }
 | |
|     //查阅
 | |
|     onBtnView(event){
 | |
|         //Common5.playEffect("sound/按键点击")
 | |
| 
 | |
|         let tab = {
 | |
|             onClose: (finish)=>{
 | |
|                 if (finish) {
 | |
|                     Common5.ReportDY("inLevel", '证券中心-AD-查阅');
 | |
|                    
 | |
|                     if(this.jinRongTouTiaoBox){
 | |
|                         this.jinRongTouTiaoBox.removeFromParent()
 | |
|                     }
 | |
|                     this.jinRongTouTiaoBox = cc.instantiate(this.jinRongTouTiaoPrefab)
 | |
|                     this.node.addChild(this.jinRongTouTiaoBox)
 | |
|                     // this.jinRongTouTiaoBox.getComponent(JinRongTouTiaoBox).initBoxContent()  
 | |
|                 }
 | |
|                 else{
 | |
|                    
 | |
|                     Common5.showTips_custom("广告未观看完");
 | |
|                 }
 | |
|             },onFailed:()=>{
 | |
| 
 | |
|             }
 | |
|         }
 | |
|         AppPlatform.playVideo_custom(tab)
 | |
| 
 | |
|     }
 | |
| 
 | |
|     checkFinishTask(){
 | |
|         let myStockHistoryData = User.getMyStockData()
 | |
|         for(var key in myStockHistoryData){
 | |
|             let singConfig = StockManager.getSingleCompanyConfig(key)
 | |
|             let newProssess = myStockHistoryData[key].prossess
 | |
|             if(key == '巨富集团' && newProssess >= singConfig.stockSum){
 | |
|                 //完成任务526
 | |
|                 let mainTaskInfo:any = TaskManager.getCurUnLockMainTaskInfo()
 | |
|                 let mainId = mainTaskInfo.Id
 | |
|                 if(mainId == MainTaskIdEnum.MainTask_530){
 | |
|                     
 | |
|                     //EventMgr.emitEvent_custom(ryw_Event.RefreshUnLockGame);
 | |
|                     TaskManager.finishCurMainTask(MainTaskIdEnum.MainTask_530)
 | |
|                     this.node.removeFromParent()
 | |
|                     this.node.destroy()
 | |
|                     
 | |
|                 }
 | |
|                 
 | |
|             }
 | |
| 
 | |
| 
 | |
|         }
 | |
|        
 | |
|     }
 | |
| }
 | |
| 
 |