rationBrokerConfig.js 11.5 KB
/**
 * 经纪人配售规则
 */

var RationBrokerConfig = function() {

	return {

		search : function() {
			$("#data-grid").datagrid("clearSelections");
			$("#data-grid").datagrid({
				url : "/ration/broker/search",
				queryParams : App.dataGridQueryParams('search-form')
			});
		},
		
		formatConfig : function(value, row, index){
			if(row.rationStatus != null){
				return "<a href='javascript:RationBrokerConfig.showDetail()'>查看规则</a>";
			}
		},
		
		showDetail : function(){
			var row = $("#data-grid").datagrid("getSelected");
			$("#detail-grid").datagrid({
				url : '/ration/broker/detail',
				queryParams : {id : row.id}
			});
			$("#detail-dialog").dialog("open");
		},
        
		beforeAdd : function() {
			$("#add-dialog").dialog("setTitle", "添加配售规则");
			shtml = "<ul id='add-ul0' class='simple-ul'><li><input type='hidden' class='ration' id='user_Id0' " +
			"name='users[0].id' /></li><li><label style='width:120px;'>配售机构(1):</label> " +
			"<input name='users[0].userId' id='userId0' class='easyui-textbox add-input ration' data-options='required:true'></li><li>" +
			"<label style='width:120px;'>参与配售总额度:</label> <input name='users[0].totalAmount' id='totalAmount0' " +
			"class='easyui-textbox add-input ration' data-options='required:true'><label style='text-align: left;padding-left:10px;width:10px;'></label> " +
			"<a href='javascript:RationBrokerConfig.delUser(\"add-ul0\")' class='easyui-linkbutton'>删除配售机构</a></ul>";
			
			$("#add-div").html(shtml);
			$.parser.parse($("#add-div"));
			$("#add-dialog").dialog("open");
		},

		/**增加配售机构*/
		addUser : function(){
			for (var i = 0; i < 30; i++) {
				if($("#userId"+i).length == 0){
					shtml = "<ul id='add-ul"+i+"' class='simple-ul'><li><input type='hidden' class='ration' id='user_Id"+i+"' " +
					"name='users["+i+"].id' /></li><li><label style='width:120px;'>配售机构("+(i+1)+"):</label> " +
					"<input name='users["+i+"].userId' id='userId"+i+"' class='easyui-textbox add-input ration' data-options='required:true'></li><li>" +
					"<label style='width:120px;'>参与配售总额度:</label> <input name='users["+i+"].totalAmount' id='totalAmount"+i+"' " +
					"class='easyui-textbox add-input ration' data-options='required:true'><label style='text-align: left;padding-left:10px;width:10px;'></label> " +
					"<a href='javascript:RationBrokerConfig.delUser(\"add-ul"+i+"\")' class='easyui-linkbutton'>删除配售机构</a></ul>";
					break;
				}
			}
			$("#add-div").append(shtml);
			//渲染动态添加模块
			$.parser.parse($("#add-div"));
		},
		
		/**删除配售机构*/
		delUser : function(delId){
			$("#"+delId).remove();
			$("#add-dialog").panel("resize");
		},
		
		/**关闭弹窗时候重置页面*/
		clearDialog : function(){
			//清空动态添加div
			$("#add-div").html("");
			//清空表单
			$("#add-form").form("clear");
		},
		
		add : function() {
			$("#add-form").form('submit', {
				url : "/ration/broker/save",
				onSubmit : function(param) {
					return $(this).form('validate');
				},
				success : function(data) {
					var result = $.parseJSON(data);
					if (result.resultCode == "1") {
						$.messager.show({
							title : '信息',
							msg : '设置成功'
						});
						$('#data-grid').datagrid('reload');
						$("#add-dialog").dialog("close");
						RationBrokerConfig.clearDialog();
					} else {
						$.messager.alert("错误", result.resultMsg);
					}
				}
			});
		},

		beforeUpdate : function() {
			var row = $("#data-grid").datagrid("getSelected");
			if (row) {
				if (row.rationStatus != '1') {
					$.messager.alert('Warning', '非待配售状态不可修改');
					return;
				}
				var result = "";
				var shtml = "";
				$.ajax({
					url : "/ration/broker/users",
					type : "post",
					async: false,
					dataType : "json",
					data : {rationBrokerConfigId : row.id},
					success : function(data){
						result = data;
					},
					
					error:function(){
	
					}
				});
				
				for (var i = 0; i < result.users.length; i++) {
					shtml += "<ul id='add-ul"+i+"' class='simple-ul'><li><input type='hidden' class='ration' id='user_Id"+i+"' " +
					"name='users["+i+"].id' /></li><li><label style='width:120px;'>配售机构("+(i+1)+"):</label> " +
					"<input name='users["+i+"].userId' id='userId"+i+"' class='easyui-textbox add-input ration' data-options='required:true'></li><li>" +
					"<label style='width:120px;'>参与配售总额度:</label> <input name='users["+i+"].totalAmount' id='totalAmount"+i+"' " +
					"class='easyui-textbox add-input ration' data-options='required:true'><label style='text-align: left;padding-left:10px;width:10px;'></label> " +
					"<a href='javascript:RationBrokerConfig.delUser(\"add-ul"+i+"\")' class='easyui-linkbutton'>删除配售机构</a></ul>";
				}
				$("#add-div").html(shtml);
				//渲染动态添加模块
				$.parser.parse($("#add-div"));
				$("#add-form").form("load", result);
				for (var i = 0; i < result.users.length; i++) {
					$("#user_Id"+i).val(result.users[i].id);
					$("#userId"+i).textbox("setText", result.users[i].userId);
					$("#userId"+i).textbox("setValue", result.users[i].userId);
					$("#totalAmount"+i).textbox("setText", result.users[i].totalAmount);
					$("#totalAmount"+i).textbox("setValue", result.users[i].totalAmount);
				}
				
				$("#otcCode").textbox("readonly",true);
				$("#add-dialog").dialog("setTitle", "修改配售规则");
				$("#add-dialog").dialog('open');
			} else {
				$.messager.alert('Warning', '请选择要修改的数据');
			}
		},

		cancel : function() {
			var row = $("#data-grid").datagrid("getSelected");
			if(row){
				if(row.rationStatus != '1'){
					$.messager.alert('Warning', '只有待配售状态可以作废');
					return;
				}
				$.messager.confirm("提示框", "确认要作废此规则吗?", function(ok) {
					if (ok) {
						$.ajax({
							url : "/ration/broker/cancel",
							dataType : "json",
							type : "POST",
							data : {
								id : row.id,
							},
							success : function(data) {
								if (data.resultCode == 1) {
									$.messager.show({
										title : '信息',
										msg : '操作完毕'
									});
									RationBrokerConfig.closeCancel();
									$('#data-grid').datagrid('reload');
								} else {
									$.messager.alert("Warning",
											data.resultMsg);
								}
							}
						});
					}
				});
			}else{
				$.messager.alert('Warning', '请选择要修改的数据');
			}
		},

		/** 根据藏品代码查询藏品名称 */
		otcCodeChange : function(newValue, oldValue) {
			if (newValue.length == 6) {
				$.ajax({
					url : '/quota/config/getOtcName',
					type : 'post',
					dataType : 'json',
					data : {
						otcCode : newValue
					},
					success : function(data) {
						$("#otcName").textbox('setValue', data.otcName);
					}
				});
			}
		},

		/** 关闭弹窗时候重置页面 */
		clearDialog : function() {
			// 清空表单
			$("#otcCode").textbox("readonly",false);
			$("#add-form").form("clear");
		},

		closeCancel : function(){
			$("#cancel-dialog").dialog('close');
			$("#cancel-form").form('clear');
		},
		
		formatStatus : function(value, row, index) {
			var status;
			switch (value) {
			case '0':
				status = '已作废';
				break;
			case '1':
				status = '待配售';
				break;
			case '2':
				status = '配售中';
				break;
			case '3':
				status = "配售成功";
				break;
			case '4':
				status = "配售失败";
				break;
			}
			return status;
		},
		
		upload : function(){
			var file = $("#upBtn").filebox('getValue');
			if(file == null){
				$.messager.alert('Warning', '错误,请选择文件');
				return;
			}
			var file_typename = file.substring(file.lastIndexOf("."), file.length);
			if(file_typename == '.xlsx' || file_typename == '.xls'){
				var options = {
					dataType : "json",
	            	beforeSubmit : function() {
			        	$.messager.progress({
			        		title:'请稍后',
			        		msg:'正在处理中...',
		        		});
		            },
		            complete:function(){
		            	$.messager.progress('close');
		            },
		            success : function(data) {
		            	if(data.success){
		            		$.messager.alert('提示', data.resultMsg);
		        		    $('#upload-form').form("reset");
		        		    $("#upload-dialog").dialog('close');
		        		    if(data.diff != null){
		        		    	console.log(data.diff);
		        		    	$("#diff-grid").datagrid({data : data.diff});
		        		    	$("#diff-dialog").dialog('open');
		        		    }
		        	    }else{
		        	    	$("#msg").html(data.errorMsg);
		        	    	$("#msg-dialog").dialog("open");
		        	    }
		            },
		            error : function(result) {
		            	$.messager.alert('提示', "服务器发生错误!", 'info');
		            }
		        };
		        $('#upload-form').ajaxSubmit(options);
			}else{
				$.messager.alert('Warning', '上传文件不是.xlsx或.xls格式');
			}
		},
		
		
		import : function(){
			var row = $("#data-grid").datagrid("getSelected");
			if(row){
				if(row.rationStatus != '1'){
					$.messager.alert('Warning', '只有待配售状态可以导入用户数据');
					return;
				}
				$("#upId").val(row.id);
				$("#upload-dialog").dialog('open');
			}else{
				$.messager.alert('Warning', '请选择要导入数据的规则');
			}
		},
		
		ration : function(){
			var row = $("#data-grid").datagrid("getSelected");
			if(row){
				if(row.rationStatus != '1'){
					$.messager.alert('Warning', '非待配售状态不可进行交割');
					return;
				}
				$.messager.confirm("提示框", "确认要进行交割吗?", function(ok) {
					if (ok) {
						$.messager.progress({
			        		title:'请稍后',
			        		msg:'正在处理中...',
		        		});
						var flag = false;
						$.ajax({
							url : '/ration/broker/status',
							type : 'post',
							dataType : 'json',
							data : {id : row.id},
							async : false,
							success : function(data){
								if(data.resultCode == "1"){
									flag = true;
								}else{
									$.messager.progress('close');
									$.messager.alert('错误', data.resultMsg);
								}
							}
						});
						if(flag){
							$.post('/ration/broker/ration', {id : row.id}, function(data){
								$.messager.progress('close');
								if(data.resultCode == '1'){
									$.messager.alert('信息', data.resultMsg);
									$("#data-grid").datagrid('reload');
								}else{
									$.messager.alert('错误', data.resultMsg);
								}
							}, 'json');
						}
					}
				});
			}else{
				$.messager.alert('Warning', '请选择要交割的规则');
			}
		},
		
		costPrice : function(){
			var row = $("#data-grid").datagrid("getSelected");
			if(row){
				if(row.rationStatus == '3' || row.rationStatus == '4'){
					$.messager.confirm("提示框", "确定要修改成本价吗?", function(ok) {
						if(ok){
							$.messager.progress({
				        		title:'请稍后',
				        		msg:'正在处理中...',
			        		});
							$.post("/ration/broker/costPrice", {id : row.id}, function(data){
								$.messager.progress('close');
								if(data.resultCode == '1'){
									$.messager.show({
										title : '信息',
										msg : data.resultMsg
									});
								}else{
									$.messager.alert("错误", "成本价修改失败");
								}
							}, 'json');
						}else{
							
						}
					});
				}else{
					$.messager.alert('Warning', '只有“配售成功”“配售失败”状态的规则可以修改开盘价');
				}
			}else{
				$.messager.alert('Warning', '请选择要修改成本价的数据');
			}
		},
	}

}();