| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456 | <!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0" /><meta name="author" content="siweiyong 2602812659@qq.com"/><title>收银台</title><link rel="stylesheet" href="scripts/miniui/themes/default/miniui.css"><link rel="stylesheet" href="layui/css/layui.css" /><link rel="stylesheet" href="css/common.css"></head><body style="background: #F6F7F9;"><div class="main">	<div class="layui-row">		<div class="main_left layui-col-xs12 layui-col-md3">			<div class="layui-row">				<div class="top">					<i class="layui-icon layui-icon-app"></i>商品列表				</div>				<div class="left_main">					<input id="key" class="mini-textbox" placeholder="请输入商品名称" onenter="onKeyEnter"/>    				<a class="mini-button" onclick="search()">查询</a>     				<ul id="tree1" class="mini-tree" url="data/tree.json" showTreeIcon="true" textField="name" idField="id" expandOnLoad="true" onNodeClick="onNodeClick">					</ul>				</div>			</div>		</div>		<div class="main_right layui-col-xs12 layui-col-md9">			<div class="layui-row">				<div class="top">					<label>商品编码:</label>					<div class="layui-input-inline">						<input type="text" name="title" required lay-verify="required" placeholder="扫码或手动输入商品编码" autocomplete="off" class="layui-input">					</div>					<div class="layui-input-inline">						<button class="layui-btn layui-btn-primary" style="vertical-align: middle;margin-bottom: 2px;">添加</button>					</div>				</div>				<div class="goods_list">					<table class="layui-table">						<thead>							<tr>								<th lay-data="{field:'id'}">商品编码</th>								<th lay-data="{field:'name'}">商品名称</th>								<th lay-data="{field:'price', edit: 'text'}">零售价(元)</th>								<th lay-data="{field:'number', edit: 'text'}">数量</th>								<th lay-data="{field:'integral'}">积分</th>								<!--<th lay-data="{field:'staff', edit: 'text'}">提成员工</th>-->								<th lay-data="{field:'remarks', edit: 'text'}">备注</th>								<th lay-data="{field:'operation'}">操作</th>							</tr>						</thead>						<tbody id="myTbody">													</tbody>					</table>				</div>				<div class="total ft16">					合计:【<span> 消费总金额:<i class="totalMoney">0.00</i> </span>】【<span> 消费总数量:<i class="totalQuantity">0</i> </span>】【 <span> 总积分:<i class="totalIntegral">0</i> </span>】				</div>				<table class="reading layui-table" lay-even="">					<tbody>						<tr>							<td>会员查找</td>							<td colspan="3">								<div class="layui-input-inline">									<input type="text" class="layui-input" placeholder="扫描或者手动输入会员卡号" />								</div>								<button class="card_reading layui-btn">读卡</button>								<a href="#" class="registration layui-btn layui-btn-primary">会员登记</a>							</td>						</tr>						<tr>							<td>会员卡号:</td>							<td></td>							<td>会员姓名:</td>							<td></td>						</tr>						<tr>							<td>会员级别:</td>							<td></td>							<td>有效期:</td>							<td></td>						</tr>						<tr>							<td>可用积分:</td>							<td></td>							<td>可用储值:</td>							<td></td>						</tr>					</tbody>				</table>				<div class="towbtn">					<input type="submit" id="settlement" value="结算">					<input type="reset" value="清空" />				</div>			</div>		</div>	</div></div><div class="mask_box">	<div class="mask"></div>	<div class="box">		<div class="box_top">结算</div>		<div class="box_block box_block1">			<div class="block_left"><label for="">应付金额:</label></div>			<div class="block_right"><input type="text" class="layui-input" value="23131" readonly style="border: none;" /></div>		</div>		<div class="box_block box_block2">			<div class="block_left"><input type="checkbox" name="" />优惠券:</div>			<div class="block_right">				<select class="layui-select" name="" id="">					<option value="0">请选择</option>					<option value="1">1</option>					<option value="2">2</option>					<option value="3">3</option>					<option value="4">4</option>				</select>			</div>			<div class="block_left">还需支付:</div>			<div class="block_right"><input type="text" class="layui-input" value="32432" readonly style="border: none;" /></div>		</div>		<div class="box_block box_block3">			<div class="block_left"><input type="radio" name="payment" /><label for="use_coupon">现金支付:</label></div>			<div class="block_right">				<input type="text" class="layui-input" />			</div>			<br style="clear: both;">			<div class="block_left"><input type="radio" name="payment" /><label for="use_coupon">移动支付:</label></div>			<div class="block_right">				<input type="text" class="layui-input" />			</div>			<br style="clear: both;">			<div class="block_left"><input type="radio" name="payment" /><label for="use_coupon">其他支付:</label></div>			<div class="block_right">				<input type="text" class="layui-input" />			</div>		</div>		<div class="remark_mess">			<div class="block_left">				备注:			</div>			<div class="block_right">				<textarea class="layui-textarea" name="" rows="" cols="" maxlength="200" placeholder="最多输入200字符"></textarea>			</div>			<br style="clear: both;">			<div class="block_left">				交易时间:			</div>			<div class="block_right">				<input type="text" value="2018-11-23 08:23:43" class="layui-input" readonly style="border: none;" />			</div>		</div>		<div class="bot">			<input type="submit" value="提交">			<input type="text" value="取消">		</div>	</div></div><script src="http://www.jq22.com/jquery/jquery-2.1.1.js"></script><script src="scripts/miniui/miniui.js"></script><script src="layui/layui.js"></script><script>	$(function() {		$("#settlement").click(function(){			$(".mask_box").show();		})		$(".bot input:nth-child(2)").click(function(){			$(".mask_box").hide();		})	})		/*miniui - tree 插件 - 开始*/	mini.parse();    var tree = mini.get("tree1");    function search() {        var key = mini.get("key").getValue();        if (key == "") {            tree.clearFilter();        } else {            key = key.toLowerCase();                            tree.filter(function (node) {                var name = node.name ? node.name.toLowerCase() : "";                if (name.indexOf(key) != -1) {                    return true;                }            });        }    }    function onKeyEnter(e) {        search();    }    var totalQuantity = 0;    //总数量	var totalMoney = 0;       //总金额	var totalIntegral = 0;    //总积分	function onNodeClick(){  		//获取选中节点的值		var flag = false;  		var tree=mini.get("tree1");        node=tree.getSelectedNode();  		  		if(node.end){  			/*树结构选中商品,table列表变化 - 开始*/	        totalQuantity++;	        $('.totalQuantity').html(totalQuantity);	        	        this_price = node.price; //获取单价	        this_price = parseFloat(this_price);	        totalMoney += this_price;	        $('.totalMoney').html(totalMoney.toFixed(2));	        	        this_integral = node.integral; //获取积分  	        this_integral = parseFloat(this_integral);	        totalIntegral += this_integral;	        $('.totalIntegral').html(totalIntegral.toFixed(0));  			/*树结构选中商品,table列表变化 - 结束*/  			  			if($("#myTbody tr").length <= 0){  				var addtr = '<tr class="mytr">';				addtr += '<td>'+node.id+'</td>';				addtr += '<td>'+node.name+'</td>'	;									addtr += '<td class="kbj danjia">'+node.price+'</td>';				addtr += '<td class="numberTd"><div class="jiajian"><span class="jian" onclick="num_sub(this)">-</span><input type="text" value="1" class="num"><span class="jia" onclick="num_add(this)">+</span></div></td>';				addtr += '<td class="jifen">'+node.integral+'</td>';										addtr += '<td class="kbj remarks"></td>';										addtr += '<td><button class="delete_btn">删除</button></td>';										addtr += '</tr>';				$("#myTbody").append(addtr);				return;  			}else{          				$("#myTbody tr").each(function () {                    //找到商品的名称与上面获取到的商品名称进行对比                    if ($(this).children("td:eq(0)").html() == node.id) {                        //找到此商品的数量                        var count = parseInt($(this).children("td:eq(3)").find("input").val());                        count++;                        $(this).children("td:eq(3)").find("input").val(count); //对商品的数量进行重新赋值						flag = true;                        return false;                    }else {                        flag = false;                    }                })  			}			//如果为默认值也就是说里面没有此商品,所以添加此商品。			if (flag == false) {				var addtr = '<tr class="mytr">';				addtr += '<td>'+node.id+'</td>';				addtr += '<td>'+node.name+'</td>'	;									addtr += '<td class="danjia">'+node.price+'</td>';				addtr += '<td><div class="jiajian"><span class="jian" onclick="num_sub(this)">-</span><input type="text" value="1" class="num"><span class="jia" onclick="num_add(this)">+</span></div></td>';				addtr += '<td class="jifen">'+node.integral+'</td>';										addtr += '<td class="remarks"></td>';										addtr += '<td><button class="delete_btn">删除</button></td>';										addtr += '</tr>';				$("#myTbody").append(addtr);			}  		}	}	/*miniui - tree 插件 - 结束*/		//加的效果 	function num_add(on_this){				var totalQuantity = 0;    //总数量		var totalMoney = 0;       //总金额		var totalIntegral = 0;    //总积分		$("#myTbody tr").each(function(){				        //获取当前行的单价	        this_price = $(this).children(".danjia").text();	        this_price = parseFloat(this_price);	        	        //获取当前行的积分	        this_integral = $(this).children(".jifen").text();        	this_integral = parseFloat(this_integral);        	        	//获取当前行的数量        	this_num = $(this).find(".num").val();        	this_num = parseInt(this_num);        	        	//获取当前行的总价格、总积分        	var trmoney = this_price*this_num;        	var trIntegral = this_integral*this_num;        	        	//总金额、总数量、总积分        	totalQuantity += this_num*1;   //总数量        	totalMoney += trmoney*1        //总金额        	totalIntegral += trIntegral*1  //总积分		}) 		$(".totalQuantity").html(totalQuantity);		$(".totalMoney").html(totalMoney); 		$(".totalIntegral").html(totalIntegral);		        this_price = $(on_this).parents("td").siblings("td.danjia").text();//获取单价        this_price = parseFloat(this_price);        console.log(totalMoney);        totalMoney += this_price;        $('.totalMoney').html(totalMoney.toFixed(2));        console.log(totalMoney);                this_integral = $(on_this).parents("td").siblings("td.jifen").text();//获取积分          this_integral = parseFloat(this_integral);        totalIntegral += this_integral;        $('.totalIntegral').html(totalIntegral.toFixed(0));				//当前商品数量        this_num = $(on_this).siblings('.num');        var get_this_num = parseInt(this_num.val())+1;        this_num.val(get_this_num);                totalQuantity++;        $('.totalQuantity').html(totalQuantity);    }		//减的效果  	function num_sub(on_this){                var totalQuantity = 0;    //总数量		var totalMoney = 0;       //总金额		var totalIntegral = 0;    //总积分		$("#myTbody tr").each(function(){				        //获取当前行的单价	        this_price = $(this).children(".danjia").text();	        this_price = parseFloat(this_price);	        	        //获取当前行的积分	        this_integral = $(this).children(".jifen").text();        	this_integral = parseFloat(this_integral);        	        	//获取当前行的数量        	this_num = $(this).find(".num").val();        	this_num = parseInt(this_num);        	        	//获取当前行的总价格、总积分        	var trmoney = this_price*this_num;        	var trIntegral = this_integral*this_num;        	        	//总金额、总数量、总积分        	totalQuantity += this_num*1;   //总数量        	totalMoney += trmoney*1        //总金额        	totalIntegral += trIntegral*1  //总积分		}) 		$(".totalQuantity").html(totalQuantity);		$(".totalMoney").html(totalMoney); 		$(".totalIntegral").html(totalIntegral);                //当前商品数量        this_num = $(on_this).siblings('.num');        if(this_num.val() <= 1){            this_num.siblings('.jian').removeAttr('onclick');            return;        }else{        	var get_this_num = this_num.val()-1;	        this_num.val(get_this_num);	        	        this_price = $(on_this).parents("td").siblings("td.danjia").text();//获取单价	        totalMoney -= this_price;	        $('.totalMoney').html(totalMoney.toFixed(2));	        	        this_integral = $(on_this).parents("td").siblings("td.jifen").text();//获取积分  	        totalIntegral -= this_integral;	        $('.totalIntegral').html(totalIntegral.toFixed(0));	        	        totalQuantity--;	        $('.totalQuantity').html(totalQuantity);	        }    }		//输入商品数量时改变合计的内容	$("#myTbody").on("keyup",".num",function(){		if($(this).val()==''){            $(this).val('1');        }        $(this).val($(this).val().replace(/\D|^0/g,''));		setTotal();		})		//点击 - 备注 - 可编辑	$("#myTbody").on("click","td.remarks",function(){		if(!$(this).is('.bj')){       			$(this).addClass('bj').html('<textarea class="layui-textarea" value="'+$(this).val()+'" />').find('textarea').focus().blur(function(){$(this).parent().removeClass('bj').html($(this).val())});    		} 	})		//点击 - 单价 - 可编辑	$("#myTbody").on("click","td.danjia",function(){		if(!$(this).is('.bj')){   			var currentPrice = $(this).html();			$(this).focus();			$(this).addClass('bj').html('<input type="tel" class="layui-input" value="'+$(this).text()+'" />').find('input').focus().blur();    		} 	})	//输入商品价格时改变合计的内容	$("#myTbody").on("change",".danjia input",function(){		var $this = $(this).val();		var reg = /^(([1-9]+)|([0-9]+\.[0-9]{1,2}))$/;		if(!reg.test($this)){			alert("请输入非负浮点数");			$(this).parent().removeClass('bj').html($this||"1.00");			$(this).val(currentPrice);	    }else{	    	$(this).parent().removeClass('bj').html($this||"1.00");		 	setTotal();		}	})		//table tr 点击删除	$("#myTbody").on("click",".delete_btn",function(){		if($("#myTbody tr").length < 1){			$(".totalQuantity").html("0");			$(".totalMoney").html("0"); 			$(".totalIntegral").html("0");			return;		}				$(this).parents("#myTbody tr").remove();		setTotal();	})		function setTotal(){		var totalQuantity = 0;    //总数量		var totalMoney = 0;       //总金额		var totalIntegral = 0;    //总积分		$("#myTbody tr").each(function(){				        //获取当前行的单价	        this_price = $(this).children(".danjia").text();	        this_price = parseFloat(this_price);	        	        //获取当前行的积分	        this_integral = $(this).children(".jifen").text();        	this_integral = parseFloat(this_integral);        	        	//获取当前行的数量        	this_num = $(this).find(".num").val();        	this_num = parseInt(this_num);        	        	//获取当前行的总价格、总积分        	var trmoney = this_price*this_num;        	var trIntegral = this_integral*this_num;        	        	//总金额、总数量、总积分        	totalQuantity += this_num*1;   //总数量        	totalMoney += trmoney*1        //总金额        	totalIntegral += trIntegral*1  //总积分		}) 		$(".totalQuantity").html(totalQuantity);		$(".totalMoney").html(totalMoney); 		$(".totalIntegral").html(totalIntegral);	}</script></body></html>
 |