From 568c763084b926a6f2d632b7ac65b9ec8280752f Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 10 六月 2025 15:41:34 +0800 Subject: [PATCH] 网页功能完善 --- kp_html/kp/js/code_list.js | 712 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 639 insertions(+), 73 deletions(-) diff --git a/kp_html/kp/js/code_list.js b/kp_html/kp/js/code_list.js index 8fdf6b1..d356838 100644 --- a/kp_html/kp/js/code_list.js +++ b/kp_html/kp/js/code_list.js @@ -23,107 +23,673 @@ 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({ el: "#app", data: { + element: null, code: "000000", code_name: "娴嬭瘯浠g爜", + account_available_money: 0, + 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, + trade_progress_percent: 0, + real_order_indexes: new Array(), + hidden_canceled: true, + //闅愯棌鎾ゅ崟 + hidden_cancel: true, + hidden_little_money: true, + hidden_sell: true, + // 涓嶉殣钘忓凡鎾ゅぇ鍗� + not_hidden_canceled_big_money: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, + // 宸茬粡濮旀墭鐨勪拱浠g爜淇℃伅 + delegated_buy_code_infos: [], + layui_element: null, + l2_cant_buy_reasons: [], + latest_cancel_orders: [], + l2_min_volume:'', + l2_max_volume:'', + kpl_open_limit_up_count_rank:[], + // 澶у崟涔板崠鏁伴噺 + big_buy_order_count:0, + big_sell_order_count:0, + // 杩囨护鐨勭储寮� + filter_indexes:[], + // 璐圭敤鏁版嵁 + commission_data:{"total_commission":0, "month_commission":0}, + // L2鏁版嵁缁撴潫绱㈠紩 + l2_end_index: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; + }); + + layui.use('laydate', function(){ + var laydate = layui.laydate; + + //鎵ц涓�涓猯aydate瀹炰緥 + laydate.render({ + elem: '#date' ,//鎸囧畾鍏冪礌 + type: 'date', + position:'abolute' + }); + }); + + setInterval(function() { + if (is_trade_time()) { + app.get_latest_cancel_orders(); + } + }, 1000 * 3); + + layui.use(function() { + app.element = layui.element; + }); + }, methods: { - 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; - } + change_data_type: function(type) { + // if (app.data_type == type) { + // return; + // } + // app.data_type = type; + // window.scrollTo(0,0); + app.element.tabChange('test-handle', type); + }, + 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; + + app.trade_progress_percent = res.data.percent; + } + } + }); + }, + refresh_l_cancel_data: function(type_) { + // 鍒锋柊L鎾� + if (app.code == "000000") { + alert("娌℃湁鑾峰彇鍒颁唬鐮�") + return; + } + var date = $("#date").val(); + + http_util.get_l2_l_cancel_datas(app.code, app.operate_index, date, 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); + console.log("H鎾ゆ暩鎿�",res) + if (res.code == 0) { + app.h_cancel_indexes = res.data; + } + }); + }, + refresh_l2_data: function() { + if (app.code == "000000") { + alert("娌℃湁鑾峰彇鍒颁唬鐮�") + return; + } + + var index = layer.load(1, { + shade: [0.1, '#fff'], //0.1閫忔槑搴︾殑鐧借壊鑳屾櫙 + shadeClose:true + }); + + var date = $("#date").val(); + + http_util.get_l2_datas(app.code, date, app.l2_end_index, function(res) { + layer.close(index); + res = JSON.parse(res); + if (res.code == 0) { + var real_order_indexes = new Array(); + var buy_singles = []; + var big_buy_order=0; + var big_sell_order=0; + res.data.data.delegates.forEach(function(e) { + if (e[1] != null) { + if (e[1][0] == 3) { + //鐪熷疄涓嬪崟浣嶇疆 + real_order_indexes.push(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) + + if(parseFloat(e[2][3])>=299&&e[2][6]=='涔癟'&&e[2][8]&&e[2][8].indexOf(":")>=0&&e[2][8].indexOf("-")<0&&e[2][8].indexOf("鎴愪氦")<0){ + // 澶у崟鏁伴噺 + big_buy_order+=1; + } + + if(e[2][5] == 6){ + console.log("灏忓崟锛�", e) + } + + }); + res.data.data.transactions.forEach(function(e) { + if(parseFloat(e[2][3])>=299){ + // 澶у崟鏁伴噺 + big_sell_order+=1; + } + + }); + + app.big_buy_order_count = big_buy_order; + app.big_sell_order_count = big_sell_order; + + console.log("澶у崟淇℃伅锛�","涔帮細"+big_buy_order,"鍗栵細"+big_sell_order); + + console.log("鏈�杩戠湡瀹炰笅鍗曚綅缃細", real_order_indexes); + app.real_order_indexes = real_order_indexes; + app.l2_datas = res.data.data; + + console.log("绗�1鏉2鏁版嵁锛�", res.data.data[0]) + + // console.log("L2鏁版嵁:", app.l2_datas); + var code_name = res.data.code_name; + var code_ = res.data.code; + app.l2_code_name = code_ + " " + code_name; + // 娓呴櫎鎴愪氦杩涘害锛孡鎾�, 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.delegates.forEach(function(e) { + if (e.total_num > 0) { + e.percent = e.finish_num * 100 / e.total_num; + } else { + e.percent = 0; + } + }); + + result.data.delegates.forEach(function(e){ + if(e.buy1_money.indexOf("涓�")&&parseFloat(e.buy1_money.substring(0,e.buy1_money.indexOf("涓�")))<2000){ + //灏佸崟2000w浠ヤ笅鎻愰啋 + e.buy1_money_warning = 1; + }else{ + e.buy1_money_warning = 0; + } + }); + + + app.delegated_buy_code_infos = result.data.delegates; + app.account_available_money = result.data.account_available_money; + app.reset_l2_height(); + + } }); }, + get_latest_cancel_orders: function() { + http_util.get_latest_cancel_orders(function(res) { + res = JSON.parse(res); + console.log("鏈�杩戠殑鎾ゅ崟", res); + if (res.code == 0) { + app.latest_cancel_orders = res.data; + app.reset_l2_height(); + } + }); + + }, + + reset_l2_height: function() { + var height = document.documentElement.clientHeight; + console.log("灞忓箷锛�", height); + $(".l2-content").eq(0).css("height", (height - 390 - 76 * app + .delegated_buy_code_infos.length - 24 * app.latest_cancel_orders.length + ) + "px"); + }, + clear_cancel_mark: function() { + //娓呴櫎鎾ゅ崟鏍囪 + app.l_up_cancel_indexes = []; + app.l_down_cancel_indexes = []; + app.h_cancel_indexes = []; + }, + + 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; + }, + + hidden_canceled_big_money_check: function(e) { + app.not_hidden_canceled_big_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.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); + app.get_l2_cant_buy_reasons(code); + }, + show_more_records: function(items) { + var str_ = "" + items.forEach(function(item) { + str_ += item; + str_ += "\n"; + }); + alert(str_); + }, + set_real_place_order_index: function() { + // 璁剧疆鐪熷疄涓嬪崟浣� + if (app.code) { + layer.prompt({ + formType: 0, + value: '', + title: '璁剧疆鐪熷疄涓嬪崟浣�-' + app.code, + area: ['800px', '350px'] //鑷畾涔夋枃鏈煙瀹介珮 + }, function(value, index, elem) { + try { + if (isNaN(value)) { + layer.msg("璇疯緭鍏ユ暟瀛�"); + return; + } else { + http_util.set_real_place_order_index(app.code, parseInt( + value), function(res) { + // 鑾峰彇鍒扮粨鏋� + console.log(res); + if (res.code != 0) { + layer.msg(res.msg, { + icon: 5 + }); + } else { + layer.msg("璁剧疆鎴愬姛", { + icon: 1 + }); + } + }) + } + } catch (e) {} + layer.close(index); + }); + + //set_real_place_order_index + } else { - app.trade_record = null; - } - if (initiative_buy_codes) { - app.initiative_buy_codes = JSON.parse(initiative_buy_codes); - } else { - app.initiative_buy_codes = null; + layer.msg("璇峰厛鍔犺浇鏁版嵁"); } - 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.filter_indexes.length>0){ + if(app.filter_indexes.indexOf(item[2][0])>=0) + { + return true; + }else{ + return false; + } + } + + + if(app.real_order_indexes.includes( item[2][0])){ + return true; + } + + + + if (app.hidden_canceled && (item[2][6].indexOf('涔版挙') >= 0 || (item[2][8] != null && + item[2][8].indexOf("-") > 0))) { + if(!app.not_hidden_canceled_big_money){ + // 闅愯棌宸叉挙澶у崟 + return false; + }else{ + // 涓嶉殣钘忓凡鎾ゅぇ鍗� + if(parseFloat(item[2][3])<299) + { + 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]) < 5) { + return false; + } + + if(app.l2_min_volume!=null&&!isNaN(app.l2_min_volume)&&parseInt(app.l2_min_volume) > parseInt(item[2][5])){ + return false; + } + + if(app.l2_max_volume!=null&&!isNaN(app.l2_max_volume)&&parseInt(app.l2_max_volume) < parseInt(item[2][5])){ + return false; + } + + + + return true; + }, + get_score_data: function(code, name, callback) { + console.log("鑾峰彇鍒嗘暟鏁版嵁锛�", code, name); + var date = $("#date").val(); + http_util.get_score_data(code, name,date, 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("璁剧疆鐩爣浠g爜", code); + app.origin_code = code; + app.code_name = code; + }, + load_data: function(refresh_l2) { + if (app.origin_code) { + app.get_score_data(app.origin_code, null, function(e) { + // if (refresh_l2) { + // app.refresh_l2_data(); + // } + }); + + app.get_l2_cant_buy_reasons(app.origin_code); + http_util.get_open_limit_up_count_rank(null,function(res){ + res = JSON.parse(res); + if(res.code ==0){ + app.kpl_open_limit_up_count_rank = res.data; + } + }); + } + }, + cancel_order: function(code) { + http_util.cancel_order(code, function(res) { + layer.msg("鎾ゅ崟鎴愬姛"); + }); + }, + + view_details: function(code, need_l2) { + pyjs.add_code_to_ths(code); + // 璁剧疆鐩爣浠g爜 + app.set_target_code(code); + // 灏嗙洰鏍囩エ浼犻�掑埌棣栭〉 + pyjs.set_target_code(code); + if (need_l2) { + // 鐐瑰嚮閫夋嫨L2閫夐」 + app.change_data_type(1); + app.load_data(true); + } else { + app.change_data_type(0); + app.load_data(false); + } + }, + + get_l2_cant_buy_reasons: function(code) { + http_util.get_l2_cant_buy_reasons(code, function(res) { + res = JSON.parse(res); + if (res.code == 0) { + app.l2_cant_buy_reasons = res.data; + } else { + app.l2_cant_buy_reasons = [] + } + }); + }, + screen_l2_data:function(code){ + // 绛涢�塴2鏁版嵁 + layer.open({ + title: 'L2鏁版嵁绛涢��', + type: 1, + content: $("#l2_screen"), + }); + + + }, + l2_screen_click:function(){ + + // L2绛涢�� + if(!isNaN($("#min-volume").val())){ + app.l2_min_volume=$("#min-volume").val(); + }else{ + app.l2_min_volume=null; + } + + if(!isNaN($("#max-volume").val())){ + app.l2_max_volume=$("#max-volume").val(); + }else{ + app.l2_max_volume=null; + } + + + if(!isNaN($("#end-index").val())){ + app.l2_end_index=$("#end-index").val(); + }else{ + app.l2_end_index=null; + } + + watch_indexes_str = $("#watch_indexes").val(); + if(watch_indexes_str!=null&&watch_indexes_str.length>0){ + var final_indexes=[]; + var indexes = watch_indexes_str.split(","); + indexes.forEach(function(e){ + final_indexes.push(parseInt(e)); + }); + app.filter_indexes = final_indexes; + console.log("閫変腑绱㈠紩锛�",final_indexes); + }else{ + app.filter_indexes =[]; + } + layer.msg("璁剧疆鎴愬姛") + + + }, + fordbidden_buy:function(code){ + // 鍔犲叆榛戝悕鍗� + http_util.do_action_for_code(code,null,0,function(res){ + if(res.code!=0){ + layer.msg(res.msg); + } + }); + }, + get_account_commission_detail:function(){ + + http_util.get_account_commission_detail(function(res){ + + res = JSON.parse(res); + console.log(res); + if(res.code!=0){ + layer.msg(res.msg); + }else{ + let commission_data ={}; + // commission_data.commission = =res.data.commission; + commission_data.delegates =res.data.delegates ; + commission_data.deals =res.data.deals; + var total_money = 0; + for(let k in commission_data.delegates){ + total_money -=commission_data.delegates[k]["money"]; + } + for(let k in commission_data.deals){ + total_money +=commission_data.deals[k]["money"]; + } + commission_data.total_commission = total_money.toFixed(2); + commission_data.commission = res.data.commission; + commission_data.month_commission = res.data.month_commission; + console.log(commission_data) + app.commission_data = commission_data; + } + }); } - } }) -- Gitblit v1.8.0