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