| | |
| | | return false; |
| | | } |
| | | } |
| | | // 定时拉取H撤数据 |
| | | setInterval(function() { |
| | | if (app.code != '000000' && app.trade_data) { |
| | | if (is_trade_time()) { |
| | | http_util.get_h_cancel_data(app.code, function(res) { |
| | | res = JSON.parse(res); |
| | | console.log("结果:", res) |
| | | if (res.code == 0) { |
| | | app.$set(app.trade_data, 'h_cancel', res.data) |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }, 3000) |
| | | |
| | | new VConsole(); |
| | | app = new Vue({ |
| | |
| | | data: { |
| | | code: "000000", |
| | | code_name: "测试代码", |
| | | origin_code:null, |
| | | trade_data: {}, |
| | | trade_record: { |
| | | open_limit_up: "", |
| | | records: [] |
| | | }, |
| | | same_reason_codes: null |
| | | same_reason_codes: null, |
| | | initiative_buy_codes: null, |
| | | passive_buy_codes: null, |
| | | data_type: 0, |
| | | trade_progress_index: -1, |
| | | latest_real_order_index: -1, |
| | | hidden_canceled: false, |
| | | //隐藏撤单 |
| | | hidden_cancel:true, |
| | | hidden_little_money:false, |
| | | hidden_sell:true, |
| | | l2_datas: [], |
| | | l2_colors_class: ["color-single-start", "color-single-exec", "color-cancel", |
| | | "color-real-order" |
| | | ], |
| | | kpl_code_info: null, |
| | | l_up_cancel_indexes: [], |
| | | l_down_cancel_indexes: [], |
| | | h_cancel_indexes: [], |
| | | buy_single_indexes: [], |
| | | l2_code_name: '', |
| | | operate_index: -1, |
| | | // 已经委托的买代码信息 |
| | | delegated_buy_code_infos:[], |
| | | layui_element:null |
| | | }, |
| | | watch:{ |
| | | delegated_buy_code_infos:function(){ |
| | | if(app.layui_element){ |
| | | setTimeout(()=>{ |
| | | app.layui_element.render(); |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | mounted:function(){ |
| | | layui.use('element', function(){ |
| | | var element = layui.element; |
| | | app.layui_element=element; |
| | | }); |
| | | |
| | | setInterval(function(){ |
| | | app.get_delegated_buy_code_infos(); |
| | | },1000*600*5); |
| | | }, |
| | | methods: { |
| | | change_data_type: function(type) { |
| | | if (app.data_type == type) { |
| | | return; |
| | | } |
| | | app.data_type = type; |
| | | window.scrollTo(0,0); |
| | | }, |
| | | refresh_trade_progress: function() { |
| | | if (app.code == "000000") { |
| | | alert("没有获取到代码") |
| | | return; |
| | | } |
| | | http_util.get_trade_progress(app.code, function(res) { |
| | | res = JSON.parse(res); |
| | | if (res.code == 0) { |
| | | console.log("成交进度", res.data); |
| | | if (!res.data.is_default) { |
| | | app.trade_progress_index = res.data.trade_progress; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | refresh_l_cancel_data: function(type_) { |
| | | // 刷新L撤 |
| | | if (app.code == "000000") { |
| | | alert("没有获取到代码") |
| | | return; |
| | | } |
| | | http_util.get_l2_l_cancel_datas(app.code, app.operate_index, function(res) { |
| | | console.log("L撤结果",res); |
| | | res = JSON.parse(res); |
| | | if (res.code == 0) { |
| | | if (type_ == 0) { |
| | | app.l_up_cancel_indexes = res.data.up; |
| | | } else { |
| | | app.l_down_cancel_indexes = res.data.down; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | refresh_h_cancel_data: function() { |
| | | // 刷新h撤 |
| | | if (app.code == "000000") { |
| | | alert("没有获取到代码") |
| | | return; |
| | | } |
| | | http_util.get_l2_h_cancel_datas(app.code, app.operate_index, function(res) { |
| | | res = JSON.parse(res); |
| | | if (res.code == 0) { |
| | | app.h_cancel_indexes = res.data; |
| | | } |
| | | }); |
| | | }, |
| | | refresh_l2_data: function() { |
| | | if (app.code == "000000") { |
| | | alert("没有获取到代码") |
| | | return; |
| | | } |
| | | http_util.get_l2_datas(app.code, function(res) { |
| | | console.log("获取到数据:",res) |
| | | res = JSON.parse(res); |
| | | if (res.code == 0) { |
| | | var real_order_index = -1; |
| | | var buy_singles = []; |
| | | res.data.data.forEach(function(e) { |
| | | if (e[1] != null) { |
| | | if (e[1][0] == 3) { |
| | | //真实下单位置 |
| | | real_order_index = e[2][0]; |
| | | } else if (e[1][0] == 0) { |
| | | // 信号位置 |
| | | buy_singles.push(e[2][0]) |
| | | } |
| | | e[1] = app.l2_colors_class[e[1][0]] |
| | | } else { |
| | | e[1] = ''; |
| | | } |
| | | e[2][3] = e[2][3].slice(0, e[2][3].length - 1) |
| | | }); |
| | | console.log("最近真实下单位置:", real_order_index); |
| | | app.latest_real_order_index = real_order_index; |
| | | app.l2_datas = res.data.data; |
| | | var code_name = res.data.code_name; |
| | | var code_ = res.data.code; |
| | | app.l2_code_name = code_ + " " + code_name; |
| | | // 清除成交进度,L撤, H撤 |
| | | app.trade_progress_index = -1; |
| | | app.l_up_cancel_indexes = []; |
| | | app.l_down_cancel_indexes = []; |
| | | app.h_cancel_indexes = []; |
| | | app.buy_single_indexes = buy_singles; |
| | | }else{ |
| | | alert(res.msg); |
| | | } |
| | | }); |
| | | |
| | | }, |
| | | get_delegated_buy_code_infos:function(){ |
| | | // 获取数据 |
| | | http_util.get_delegated_buy_code_infos(function(result){ |
| | | if (result.code == 0) { |
| | | console.log("已挂买单数据:",result.data); |
| | | result.data.forEach(function(e){ |
| | | if(e.total_num>0){ |
| | | e.percent = e.finish_num*100/e.total_num; |
| | | }else{ |
| | | e.percent = 0; |
| | | } |
| | | }); |
| | | app.delegated_buy_code_infos = result.data |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | |
| | | clear_cancel_mark: function() { |
| | | //清除撤单标记 |
| | | app.l_up_cancel_indexes = []; |
| | | app.l_down_cancel_indexes = []; |
| | | app.h_cancel_indexes = []; |
| | | }, |
| | | get_last_trade_day_reasons: function(code) { |
| | | http_util.get_last_trade_day_reasons(code, function(res) { |
| | | res= JSON.parse(res); |
| | | console.log("返回内容",res); |
| | | if(res.code==0){ |
| | | app.same_reason_codes = res.data; |
| | | }else{ |
| | | app.same_reason_codes = null; |
| | | } |
| | | res = JSON.parse(res); |
| | | console.log("返回内容", res); |
| | | if (res.code == 0) { |
| | | app.same_reason_codes = res.data; |
| | | } else { |
| | | app.same_reason_codes = null; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | hidden_canceled_check: function(e) { |
| | | |
| | | app.hidden_canceled = e.currentTarget.checked; |
| | | }, |
| | | |
| | | hidden_cancel_check: function(e) { |
| | | |
| | | app.hidden_cancel = e.currentTarget.checked; |
| | | }, |
| | | |
| | | hidden_sell_check: function(e) { |
| | | app.hidden_sell = e.currentTarget.checked; |
| | | }, |
| | | |
| | | hidden_little_money_check:function(e){ |
| | | app.hidden_little_money = e.currentTarget.checked; |
| | | }, |
| | | |
| | | select_row: function(index) { |
| | | console.log("点击事件", index); |
| | | if (app.buy_single_indexes.includes(index)) { |
| | | app.operate_index = index; |
| | | } else { |
| | | app.operate_index = -1; |
| | | } |
| | | }, |
| | | show_operate: function(event, index) { |
| | | console.log("位置", event.clientX, event.clientY); |
| | | }, |
| | | set_trade_info: function(code, code_name, trade_data, trade_record, initiative_buy_codes, |
| | | passive_buy_codes) { |
| | | console.log("交易数据", code, code_name, trade_data, trade_record) |
| | | console.log("主动买入", initiative_buy_codes) |
| | | console.log("被动买入", passive_buy_codes) |
| | | app.code = code; |
| | | app.get_last_trade_day_reasons(code); |
| | | app.code_name = code_name; |
| | | if (trade_data) { |
| | | var trade_data = JSON.parse(trade_data); |
| | | app.trade_data = trade_data |
| | | } else { |
| | | app.trade_data = { |
| | | "star": { |
| | | "desc": "----", |
| | | "count": 0 |
| | | }, |
| | | "safe_count": { |
| | | "base": 0, |
| | | "now": 0 |
| | | }, |
| | | "m_val": { |
| | | "base": 0, |
| | | "now": 0 |
| | | }, |
| | | "big_num": { |
| | | "base": 0, |
| | | "now": 0 |
| | | }, |
| | | "trade_progress": { |
| | | "time": "00:00:00", |
| | | "num": 0, |
| | | "money": 0 |
| | | }, |
| | | "trade_state": { |
| | | "order": false, |
| | | "desc": "未交易" |
| | | try { |
| | | console.log("交易数据", trade_data) |
| | | console.log("交易记录数据", trade_record) |
| | | app.code = code; |
| | | // app.get_last_trade_day_reasons(code); |
| | | app.code_name = code_name; |
| | | if (trade_data) { |
| | | console.log("交易数据类型", typeof trade_data) |
| | | try { |
| | | // trade_data = trade_data.replace("/\n/g", " ") |
| | | // var trade_data = JSON.parse(trade_data); |
| | | app.trade_data = trade_data |
| | | } catch (e) { |
| | | console.log(e) |
| | | } |
| | | }; |
| | | console.log("----有交易数据") |
| | | } else { |
| | | app.trade_data = { |
| | | "star": { |
| | | "desc": "----", |
| | | "count": 0 |
| | | }, |
| | | "safe_count": { |
| | | "base": 0, |
| | | "now": 0 |
| | | }, |
| | | "m_val": { |
| | | "base": 0, |
| | | "now": 0 |
| | | }, |
| | | "big_num": { |
| | | "base": 0, |
| | | "now": 0 |
| | | }, |
| | | "trade_progress": [{ |
| | | "time": "00:00:00", |
| | | "num": 0, |
| | | "money": 0 |
| | | }], |
| | | "trade_state": { |
| | | "order": false, |
| | | "desc": "未交易" |
| | | } |
| | | }; |
| | | } |
| | | if (trade_record) { |
| | | console.log("----有交易记录") |
| | | app.trade_record = trade_record; |
| | | } else { |
| | | console.log("----无交易记录") |
| | | app.trade_record = null; |
| | | } |
| | | } catch (ee) { |
| | | console.log("处理出错") |
| | | console.log(e) |
| | | } |
| | | if (trade_record) { |
| | | app.trade_record = JSON.parse(trade_record); |
| | | } else { |
| | | app.trade_record = null; |
| | | } |
| | | if (initiative_buy_codes) { |
| | | app.initiative_buy_codes = JSON.parse(initiative_buy_codes); |
| | | } else { |
| | | app.initiative_buy_codes = null; |
| | | } |
| | | }, |
| | | show_more_records: function(items) { |
| | | var str_ = "" |
| | | items.forEach(function(item) { |
| | | str_ += item; |
| | | str_ += "\n"; |
| | | }); |
| | | alert(str_); |
| | | }, |
| | | test: function() { |
| | | |
| | | if (passive_buy_codes) { |
| | | app.passive_buy_codes = JSON.parse(passive_buy_codes); |
| | | } else { |
| | | app.passive_buy_codes = null; |
| | | }, |
| | | need_show:function(item){ |
| | | if(app.hidden_canceled&&(item[2][6].indexOf('买撤')>=0||(item[2][8]!=null&&item[2][8].indexOf("-")>0))){ |
| | | return false; |
| | | } |
| | | |
| | | |
| | | |
| | | if(app.hidden_sell&&item[2][6].indexOf('卖')>=0){ |
| | | return false; |
| | | } |
| | | |
| | | if(app.hidden_cancel&&(item[2][6].indexOf('买撤')>=0)){ |
| | | return false; |
| | | } |
| | | if(app.hidden_little_money&&parseFloat(item[2][3])<50&&item[2][0]!=app.latest_real_order_index){ |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | }, |
| | | get_score_data: function(code, name, callback) { |
| | | console.log("获取分数数据:", code, name); |
| | | http_util.get_score_data(code, name, function(res) { |
| | | res = JSON.parse(res) |
| | | console.log("分数请求结果:", res) |
| | | if (res.code == 0) { |
| | | console.log("获取分数", res) |
| | | app.code = res.data.code |
| | | app.code_name = res.data.code_name |
| | | if (res.data.score_data) { |
| | | app.score_data = res.data.score_data; |
| | | } else { |
| | | app.score_data = app.default_score_data; |
| | | } |
| | | if (res.data.trade_data) { |
| | | app.trade_data = { |
| | | order: res.data.trade_data.trade_state.order |
| | | } |
| | | } else { |
| | | res.data.trade_data= { |
| | | order: false |
| | | }; |
| | | app.trade_data = res.data.trade_data |
| | | } |
| | | app.kpl_code_info = res.data.kpl_code_info; |
| | | //通知副屏改变内容 |
| | | app.set_trade_info(app.code, app.code_name, |
| | | res.data.trade_data, |
| | | res.data.trade_record, |
| | | res.data.initiative_buy_codes, |
| | | res.data.passive_buy_codes); |
| | | |
| | | if (callback) { |
| | | callback() |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | set_target_code: function(code) { |
| | | console.log("设置目标代码", code); |
| | | app.origin_code = code; |
| | | app.code_name = code; |
| | | }, |
| | | load_data:function(){ |
| | | if(app.origin_code){ |
| | | app.get_score_data(app.origin_code,null,null); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | }) |
| | | |