1、几个按钮控制checkbox系列操作
//批量全选或取消全选
function selectAll() {
if ($("#selectGoods").attr("checked")) {
$("table input[type=checkbox]").attr("checked", true);
} else {
$("table input[type=checkbox]").attr("checked", false);
}
}
// 合并生成发货单
function sellAllOrder() {
// 先判断checkbox是否选中
var obj = document.getElementsByName("ckbox");
var flag = false;
for (var i = 0;i < obj.length;i++){
if (obj [i].checked==true) {
flag= true;
break;
}
}
if (flag) {
// -----------------checkbox已选中状态下的操作--------------------
// 清除汇总checkbox
$('input:checkbox[name=ckbox2]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 显示发货checkbox
$('input:checkbox[name=ckbox]:checked').each(function() {
$(this).attr("checked", true);
$(this).css('display','inline');
document.getElementById("ck").value = 0;
});
// 清除接单checkbox
$('input:checkbox[name=ckbox3]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 提交数据
top.$.jBox.confirm("确认要合并生成发货单数据吗?", "系统提示", function(v, h, f) {
if (v == "ok") {
var orderId = "";
$('input:checkbox[name=ckbox]:checked').each(function() {
orderId += $(this).val() + "#"; //拼接成一个字符串
});
if(orderId ==null || orderId == ""){
alert("请选择订单!");
return;
}
//alert("合并发货单id-------------"+orderId);
$.ajax({
type : "POST",
url : ctx + '/order/orderSplitSellGood/sellOrder',
data : {
"orderId" : orderId
},
success : function(msg) {
if ("OK" != msg) {
alert("生成合并发货单失败!");
}else{
alert("生成合并发货单成功!");
}
location.href = ctx
+ '/order/orderSplitSellGood?repage';
},
error : function(e) {
alert("暂时无法生成合并发货单!");
}
});
}
}, {
buttonsFocus : 1
});
top.$('.jbox-body .jbox-icon').css('top', '55px');
} else {
document.getElementById("spanCk").style.display = 'inline';
// -----------------checkbox未选中状态下的操作--------------------
// 清除生成汇总单checkbox
var ck2 = document.getElementById("ck2").value;
if(ck2 == 0){
var cks2 = document.getElementsByName ('ckbox2');
for ( var i = 0; i < cks2.length; i++)
{
cks2[i].style.display = 'none';
}
}
// 清除接单checkbox
var ck3 = document.getElementById("ck3").value;
if(ck3 == 0){
var cks3 = document.getElementsByName ('ckbox3');
for ( var i = 0; i < cks3.length; i++)
{
cks3[i].style.display = 'none';
}
}
// 显示合并生成发货单checkbox
var cks = document.getElementsByName ('ckbox');
for ( var i = 0; i < cks.length; i++){
cks[i].style.display = 'inline';
document.getElementById("ck").value = 0;
}
// -----------------checkbox已选中状态下的操作--------------------
// 清除汇总checkbox
$('input:checkbox[name=ckbox2]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 显示发货checkbox
$('input:checkbox[name=ckbox]:checked').each(function() {
$(this).attr("checked", true);
$(this).css('display','inline');
document.getElementById("ck").value = 0;
});
// 清除接单checkbox
$('input:checkbox[name=ckbox3]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 全选
if ($("#selectGoods").attr("checked")) {
$("table input[name=ckbox]").attr("checked", true);
}
}
}
// 生成销售汇总单
function sellCollect() {
// 先判断checkbox是否选中
var obj = document.getElementsByName("ckbox2");
var flag = false;
for (var i = 0;i < obj.length;i++){
if (obj [i].checked==true) {
flag= true;
break;
}
}
if (flag) {
// -----------------checkbox已选中状态下的操作--------------------
// 清除发货checkbox
$('input:checkbox[name=ckbox]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 显示汇总checkbox
$('input:checkbox[name=ckbox2]:checked').each(function() {
$(this).attr("checked", true);
$(this).css('display','inline');
document.getElementById("ck2").value = 0;
});
// 清除接单checkbox
$('input:checkbox[name=ckbox3]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 提交数据
top.$.jBox.confirm("确认要生成销售汇总单数据吗?", "系统提示", function(v, h, f) {
if (v == "ok") {
var orderId = "";
$('input:checkbox[name=ckbox2]:checked').each(function() {
orderId += $(this).val() + "#"; //拼接成一个字符串
});
if(orderId ==null || orderId == ""){
alert("请选择订单!");
return;
}
//alert("汇总订单id--------------"+orderId);
$.ajax({
type : "POST",
url : ctx + '/order/orderSplitSellGood/sellCollect',
data : {
"orderId" : orderId
},
success : function(msg) {
if ("OK" != msg) {
alert("生成销售汇总单失败!");
}else{
alert("生成销售汇总单成功!");
}
location.href = ctx
+ '/order/orderSplitSellGood?repage';
},
error : function(e) {
alert("暂时无法生成销售汇总单!");
}
});
}
}, {
buttonsFocus : 1
});
top.$('.jbox-body .jbox-icon').css('top', '55px');
}else{
document.getElementById("spanCk").style.display = 'inline';
// -----------------checkbox未选中状态下的操作--------------------
// 清除合并生成发货单checkbox
var ck = document.getElementById("ck").value;
if(ck == 0){
var cks = document.getElementsByName ('ckbox');
for ( var i = 0; i < cks.length; i++)
{
cks[i].style.display = 'none';
}
}
// 清除接单checkbox
var ck3 = document.getElementById("ck3").value;
if(ck3 == 0){
var cks3 = document.getElementsByName ('ckbox3');
for ( var i = 0; i < cks3.length; i++)
{
cks3[i].style.display = 'none';
}
}
// 显示生成汇总单checkbox
var cks2 = document.getElementsByName ('ckbox2');
for ( var i = 0; i < cks2.length; i++)
{
cks2[i].style.display = 'inline';
document.getElementById("ck2").value = 0;
}
// -----------------checkbox已选中状态下的操作--------------------
// 清除发货checkbox
$('input:checkbox[name=ckbox]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 显示汇总checkbox
$('input:checkbox[name=ckbox2]:checked').each(function() {
$(this).attr("checked", true);
$(this).css('display','inline');
document.getElementById("ck2").value = 0;
});
// 清除接单checkbox
$('input:checkbox[name=ckbox3]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 全选
if ($("#selectGoods").attr("checked")) {
$("table input[name=ckbox2]").attr("checked", true);
}
}
}
// 批量接单
function getAllOrder(){
// 先判断checkbox是否选中
var obj = document.getElementsByName("ckbox3");
var flag = false;
for (var i = 0;i < obj.length;i++){
if (obj [i].checked==true) {
flag= true;
break;
}
}
if (flag) {
// -----------------checkbox已选中状态下的操作--------------------
// 清除汇总checkbox
$('input:checkbox[name=ckbox2]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 显示接单checkbox
$('input:checkbox[name=ckbox3]:checked').each(function() {
$(this).attr("checked", true);
$(this).css('display','inline');
document.getElementById("ck3").value = 0;
});
// 清除发货checkbox
$('input:checkbox[name=ckbox]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 提交数据
top.$.jBox.confirm("确认要批量接单吗?", "系统提示", function(v, h, f) {
if (v == "ok") {
var orderId = "";
$('input:checkbox[name=ckbox3]:checked').each(function() {
orderId += $(this).val() + "#"; //拼接成一个字符串
});
if(orderId ==null || orderId == ""){
alert("请选择订单!");
return;
}
//alert("合并发货单id-------------"+orderId);
$.ajax({
type : "POST",
url : ctx + '/order/orderSplitSellGood/changeAllOrderStatus',
data : {
"orderId" : orderId
},
success : function(msg) {
if ("OK" != msg) {
alert("批量接单失败!");
}else{
alert("批量接单成功!");
}
location.href = ctx
+ '/order/orderSplitSellGood?repage';
},
error : function(e) {
alert("暂时无法批量接单!");
}
});
}
}, {
buttonsFocus : 1
});
top.$('.jbox-body .jbox-icon').css('top', '55px');
} else {
document.getElementById("spanCk").style.display = 'inline';
// -----------------checkbox未选中状态下的操作--------------------
// 清除生成汇总单checkbox
var ck = document.getElementById("ck").value;
if(ck == 0){
var cks = document.getElementsByName ('ckbox');
for ( var i = 0; i < cks.length; i++)
{
cks[i].style.display = 'none';
}
}
// 清除生成发货单checkbox
var ck2 = document.getElementById("ck2").value;
if(ck2 == 0){
var cks = document.getElementsByName ('ckbox2');
for ( var i = 0; i < cks.length; i++)
{
cks[i].style.display = 'none';
}
}
// 显示接单checkbox
var cks = document.getElementsByName ('ckbox3');
for ( var i = 0; i < cks.length; i++){
cks[i].style.display = 'inline';
document.getElementById("ck3").value = 0;
}
// -----------------checkbox已选中状态下的操作--------------------
// 清除汇总checkbox
$('input:checkbox[name=ckbox2]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 显示接单checkbox
$('input:checkbox[name=ckbox3]:checked').each(function() {
$(this).attr("checked", true);
$(this).css('display','inline');
document.getElementById("ck").value = 0;
});
// 清除发货checkbox
$('input:checkbox[name=ckbox]:checked').each(function() {
$(this).attr("checked", false);
$(this).css('display','none');
});
// 全选
if ($("#selectGoods").attr("checked")) {
$("table input[name=ckbox3]").attr("checked", true);
}
}
}
<!-- 用作显示checkbox -->
<input id="ck" name="ck" type="hidden" />
<input id="ck2" name="ck2" type="hidden" />
<input id="ck3" name="ck3" type="hidden" />
<td><c:if
test="${1 == orderSplitSellGood.orderStatus and 0 == orderSplitSellGood.isSendOrder}">
<input class="ckbox" name="ckbox" id="ckbox" type="checkbox"
style="display: none;" value="${orderSplitSellGood.id}">
</c:if> <c:if test="${0 == orderSplitSellGood.isCollect}">
<input class="ckbox" name="ckbox2" id="ckbox2" type="checkbox"
style="display: none;" value="${orderSplitSellGood.id}">
</c:if> <c:if test="${0 == orderSplitSellGood.orderStatus}">
<input class="ckbox" name="ckbox3" id="ckbox3" type="checkbox"
style="display: none;" value="${orderSplitSellGood.id}">
</c:if></td>
<div style="display: inline;">
<div id="spanCk" name="spanCk" style="display: none;">
<input id="selectGoods" name="selectGoods" type="checkbox"
value="selectAll" "selectAll()">全选
</div>
<input id="sellAllOrder" name="sellAllOrder" class="btn btn-primary"
type="button" value="合并生成发货单" "sellAllOrder()"> <input
id="sellCollect" name="sellCollect" class="btn btn-primary"
type="button" value="生成销售汇总单" "sellCollect()"> <input
id="getAllOrder" name="getAllOrder" class="btn btn-primary"
type="button" value="批量接单" "getAllOrder()">
</div>
2、同一form添加、更新查重
//更新和添加商品时根据商品名称查询去重
function findName(){
var goodId =$("#id").val(); //商品的id
var goodName = $("#goodName").val(); //商品的名称
var partnerId = '${goodBaseInfo.cityPartnerId}'; //城市合伙人的id
if((goodName!=null && goodName!="")){
$.ajax({
type:"POST",
data:{"goodName":goodName,"partnerId":partnerId,"goodId":goodId},
url:ctx+"/good/goodBaseInfo/findNameById",
success:function(findNameById){
if(findNameById==goodName){ // 说明是更新
//alert("测试更新"+findNameById); // 测试
$.ajax({
type:"POST",
data:{"goodName":goodName,"partnerId":partnerId},
url:ctx+"/good/goodBaseInfo/findName",
success:function(findName){
if(findName==findNameById){ //查询到的商品名称与要更新的商品名称相同,不提醒
//alert("测试更新商品名称");
document.getElementById("flag").value = "";
document.getElementById("message").innerHTML = "";
}else{ //查询到的商品名称与要更新的商品名称不相同,提醒
if(findName==goodName){
document.getElementById("flag").value = "1";
document.getElementById("message").innerHTML = "商品已存在";
//alert("商品已存在!");
}else{
document.getElementById("flag").value = "";
document.getElementById("message").innerHTML = "";
}
}
},
error:function(e){ //错误信息提醒
document.getElementById("message").innerHTML = "查询失败";
document.getElementById("flag").value = "1";
}
});
}else{ //说明是添加
$.ajax({
type:"POST",
data:{"goodName":goodName,"partnerId":partnerId},
url:ctx+"/good/goodBaseInfo/findName",
success:function(findName){
//alert(findName); //测试
if(findName==goodName){
document.getElementById("flag").value = "1";
document.getElementById("message").innerHTML = "商品已存在";
//alert("商品已存在!");
}else{
document.getElementById("flag").value = "";
document.getElementById("message").innerHTML = "";
}
},
error:function(e){
document.getElementById("message").innerHTML = "查询失败";
document.getElementById("flag").value = "1";
}
});
}
},
error:function(e){
document.getElementById("message").innerHTML = "查询失败";
document.getElementById("flag").value = "1";
//alert("查询失败!");
}
});
}
}
//失去焦点清除提示信息
function clearInfo(){
document.getElementById("message").innerHTML = "";
}
-----java后台代码-----------------------------------------------------------------------------------------------------------------
controller
/**
* 根据商品名称查重
* @author zz
* 2017.1.20
* @return
* @throws IOException
* **/
@RequiresPermissions("good:goodBaseInfo:edit")
@RequestMapping(value = "findName")
@ResponseBody
public String findName(String goodName,String partnerId) {
return goodBaseInfoService.findName(goodName,partnerId);
}
/**
* 根据商品id查name
* @author zz
* 2017.1.23
* @return
* **/
@RequiresPermissions("good:goodBaseInfo:edit")
@RequestMapping(value = "findNameById")
@ResponseBody
public String findNameById(String goodName,String partnerId,String goodId) {
return goodBaseInfoService.findNameById(goodName,partnerId,goodId);
}
service
/**
*根据商品名称查重
*@author zz
*2017.1.20
* @param goodId
*
* */
@Transactional(readOnly = false)
public String findName(String goodName,String partnerId) {
String result = "";
if(goodName == null){
return null;
}
//查询数据库中有无对应的商品名称
String getName = goodBaseInfoDao.findName(goodName,partnerId);
if(StringUtils.isBlank(getName)){ //没有查询到名称
result = null;
}else{
result = getName;
}
return result;
}
/**
*根据商品id查name
*@author zz
*2017.1.23
*
* */
@Transactional(readOnly = false)
public String findNameById(String goodName, String partnerId, String goodId) {
String result = "";
if(goodName == null){
return null;
}
if(goodId == null){
return null;
}
//根据id查询数据库中有无对应得商品name
String getNameById = goodBaseInfoDao.findNameById(goodId, partnerId,goodName);
if(StringUtils.isBlank(getNameById)){ //说明是新增
result = null;
}else{ //说明是更新
result = getNameById;
}
return result;
}
dao
/**
* 根据商品名称查重
* @author zz
* @param name
* */
public String findName(String goodName,String partnerId);
/**
* 根据id称查重
* @author zz
* @param id
* */
public String findNameById(String goodId,String partnerId,String goodName);
mybatis xml
<!-- 添加商品时查询 -->
<select id="findName" resultType="java.lang.String">
SELECT
a.good_name
FROM good_base_info a
WHERE
a.good_name = #{param1}
AND a.city_partner_id = #{param2}
AND a.del_flag = 0
</select>
<!-- 更新商品时查询商品名用作前台判断 -->
<select id="findNameById" resultType="java.lang.String">
SELECT
a.good_name
FROM good_base_info a
WHERE
a.id = #{param1}
AND a.city_partner_id = #{param2}
AND a.good_name = #{param3}
AND a.del_flag = 0
</select>
3、模态框
<tbody id="contentTableTB"></tbody>
<div style="float: right;display: inline-block;width: 20%;">
<a class="btn btn-primary btn-small" href="javascript:void(0);"
style="float: right;margin: 0 10px 5px 0;" type="button" "showDiailg();">查看退货详情</a>
</div>
<div id="myModal" class="modal fade" tabindex="-1" role="dialog"
aria-hidden="true" style="width: 870px; height: 480px; display: none;margin-left: -450px">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<label style="margin-left: 350px;"><h4>退货详情</h4></label>
<span style="text-align: center; margin-left: 750px">
<button type="button" id="closeModal" class="btn btn-danger modal-title"
data-dismiss="modal" aria-hidden="true">关闭</button>
</span><br/>
<span style="font-size: 16px;font-weight: bold;">退货总金额:¥<span id="tuiGoodPrices"></span></span>
<span style="font-size: 16px;font-weight: bold;">退货商品:<span id="goodTypes"></span>种</span>
</div>
<div class="modal-body">
<table class="table table-bordered">
<thead>
<tr>
<th>商品编号</th>
<th>商品名称</th>
<th>商品分类</th>
<th>采购单价</th>
<th>采购数量</th>
<th>退货数量</th>
<th>退货金额</th>
</tr>
</thead>
<tbody id="showpictable">
</tbody>
</table>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var resultBackNumber;
function showDiailg() {
resultBackNumber = "";
var booleanfalt = false;
var trList = $("#contentTableTB").children("tr")
var listhtml = "";
var tuiGoodPrices = 0.00;// 退货总金额
var goodTypes = 0;
for (var i = 0; i < trList.length; i++) {
var tdArr = trList.eq(i).find("td");
var tuiGoodPrice = tdArr.eq(11).find("span").html().trim();// 退货金额
var signGoodCount = tdArr.eq(6).find("span").html().trim();// 签收数量
var settlementGoodCount = tdArr.eq(7).find("span").html().trim();// 结算数量
var tuiGoodCount = Number(signGoodCount) - Number(settlementGoodCount);
tuiGoodPrices = tuiGoodPrices + Number(tuiGoodPrice);
if("0.00" != tuiGoodPrice){
goodTypes++;
booleanfalt = true;
listhtml = listhtml + "<tr>";
listhtml = listhtml + "<td>" + tdArr.eq(1).html().trim() + "</td>"
+ "<td>" + tdArr.eq(2).html().trim() + "</td>"
+ "<td>" + tdArr.eq(3).html().trim() + "</td>"
+ "<td>" + tdArr.eq(4).html().trim() + "</td>"
+ "<td>" + tdArr.eq(5).html().trim() + "</td>"
+ "<td>" + tuiGoodCount + " " + tdArr.eq(5).find("span").html().trim() + "</td>"
+ "<td>" + tdArr.eq(11).html().trim() + "</td>";
listhtml = listhtml + "</tr>";
}
}
$("#tuiGoodPrices").html(tuiGoodPrices);
$("#goodTypes").html(goodTypes);
$("#showpictable").html(listhtml);
if (booleanfalt) {
//如果有退货,列出退货列表
$('#myModal').modal({
backdrop : 'static',
keyboard : false
});
$('#myModal').modal('show');
} else {
//如果没有退货,直接提示是否确认
confirmx('此订单没有退货', function() {
});
}
}
</script>