From 47fc1aeda476de4f019d6aa3fd8ef1897156392e Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Mon, 6 May 2019 18:07:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=86=E5=88=86js=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E4=B8=8D=E7=9B=B8=E5=85=B3=E5=85=83=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/manage/customer.js | 706 ++++++++++++++++++++++++++ erp_web/js/pages/manage/member.js | 715 +++++++++++++++++++++++++++ erp_web/js/pages/manage/supplier.js | 735 ---------------------------- erp_web/pages/manage/customer.html | 2 +- erp_web/pages/manage/member.html | 2 +- 5 files changed, 1423 insertions(+), 737 deletions(-) create mode 100644 erp_web/js/pages/manage/customer.js create mode 100644 erp_web/js/pages/manage/member.js delete mode 100644 erp_web/js/pages/manage/supplier.js diff --git a/erp_web/js/pages/manage/customer.js b/erp_web/js/pages/manage/customer.js new file mode 100644 index 00000000..8b3ebb95 --- /dev/null +++ b/erp_web/js/pages/manage/customer.js @@ -0,0 +1,706 @@ +var listType = "客户"; //类型 +var listTypeEn ="Customer"; //英文类型 +//初始化界面 +$(function() { + initTableData(); + ininPager(); + bindEvent(); +}); + + + +//初始化表格数据 +function initTableData() { + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + $('#tableData').datagrid({ + //title:'单位列表', + //iconCls:'icon-save', + //width:700, + height:heightInfo, + nowrap: false, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + checkOnSelect : false, + //交替出现背景 + striped : true, + pagination: true, + //自动截取数据 + //nowrap : true, + //loadFilter: pagerFilter, + pageSize: initPageSize, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:60,formatter:function(value, rec,index) + { + /** + * create by: qiankunpingtai + * create time: 2019/5/6 9:33 + * website:https://qiankunpingtai.cn + * description: + * 修改效率低下的js实现 + */ + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.supplier +'AaBb' + rec.contacts + 'AaBb'+ rec.phonenum + 'AaBb'+ rec.email + 'AaBb'+ rec.beginneedget + 'AaBb'+ rec.beginneedpay + 'AaBb' + rec.isystem + 'AaBb' + rec.description+ 'AaBb' + rec.type + // + 'AaBb' + rec.fax + 'AaBb' + rec.telephone + 'AaBb' + rec.address + 'AaBb' + rec.taxnum + 'AaBb' + rec.bankname + 'AaBb' + rec.accountnumber + 'AaBb' + rec.taxrate; + str += '   '; + str += ''; + return str; + } + }, + { title: '名称',field: 'supplier',width:150}, + { title: '联系人', field: 'contacts',width:50,align:"center"}, + { title: '手机号码', field: 'telephone',width:100,align:"center"}, + { title: '电子邮箱',field: 'email',width:80,align:"center"}, + { title: '联系电话', field: 'phonenum',width:100,align:"center"}, + { title: '传真', field: 'fax',width:100,align:"center"}, + { title: '预付款',field: 'advancein',width:70,align:"center"}, + { title: '期初应收',field: 'beginneedget',width:70,align:"center"}, + { title: '期初应付',field: 'beginneedpay',width:70,align:"center"}, + { title: '税率(%)', field: 'taxrate',width:50,align:"center"}, + { title: '状态',field: 'enabled',width:70,align:"center",formatter:function(value){ + return value? "启用":"禁用"; + }} + ]], + toolbar:[ + { + id:'addSupplier', + text:'增加', + iconCls:'icon-add', + handler:function() { + addSuppler(); + } + },'-', + { + id:'deleteSupplier', + text:'删除', + iconCls:'icon-remove', + handler:function() { + batDeleteSupplier(); + } + },'-', + { + id:'setEnable', + text:'启用', + iconCls:'icon-ok', + handler:function() { + setEnableFun(); + } + },'-', + { + id:'setDisEnable', + text:'禁用', + iconCls:'icon-no', + handler:function() { + setDisEnableFun(); + } + },'-', + { + id:'setInput', + text:'导入', + iconCls:'icon-excel', + handler:function() { + setInputFun(); + } + },'-', + { + id:'setOutput', + text:'导出', + iconCls:'icon-excel', + handler:function() { + setOutputFun(); + } + } + ], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + showSupplierDetails(1,initPageSize); +} + + +//分页信息处理 +function ininPager() { + try { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', { + pageNumber:pageNum, + pageSize:pageSize + }); + showSupplierDetails(pageNum,pageSize); + } + }); + } + catch (e) { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除信息 +function deleteSupplier(id) { + $.messager.confirm('删除确认','确定要删除此条信息吗?',function(r) { + if (r) { + // var supplierTotalInfo = supplierInfo.split("AaBb"); + $.ajax({ + type:"post", + url: "/supplier/batchDeleteSupplierByIds", + dataType: "json", + data: ({ + ids : id + }), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=id; + jsondata.deleteType='2'; + var type='single'; + batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); + return; + } + }); + } + }); +} + +//批量删除单位 +function batDeleteSupplier() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) + { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchDeleteSupplierByIds", + dataType: "json", + async : false, + data: ({ + ids : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=ids; + jsondata.deleteType='2'; + var type='batch'; + batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} +/** + * 确认强制删除 + * */ +function batDeleteSupplierForceConfirm(res,url,jsondata) { + $.messager.confirm('删除确认', res.msg, function (r) { + if (r) { + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: (jsondata), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + if(type=='batch'){ + $(":checkbox").attr("checked", false); + } + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else { + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + }); + } + }); +} + +//批量启用 +function setEnableFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('启用提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('启用确认','确定要启用选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchSetEnable", + dataType: "json", + async : false, + data: ({ + enabled: true, + supplierIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('启用提示', '启用信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('启用提示','启用信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} + +//批量禁用 +function setDisEnableFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('禁用提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('禁用确认','确定要禁用选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchSetEnable", + dataType: "json", + async : false, + data: ({ + enabled: false, + supplierIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('禁用提示', '禁用信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('禁用提示','禁用信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} + +//导入数据 +function setInputFun(){ + //IE下不允许编辑 input=file的值 解决思路:重新克隆input=file,把这个input元素复制一个,然后将原来的删除。 + //在IE下复制元素的时候,其中的值是不会被复制的,所以就达到了清空文件域的目的了。 + //而在Firefox下,其中的值也会被一同复制,清空一下就做到兼容 + var fileUploadInput = $("#supplierFile"); + fileUploadInput.after(fileUploadInput.clone().val("")); + fileUploadInput.remove(); + $("#isCheck").val(1); + $('#importExcelDlg').dialog('open').dialog('setTitle','导入' + listType + '信息'); + $(".window-mask").css({ width: webW-20 ,height: webH}); + $("#supplierFile").focus(); +} + +//导出数据 +function setOutputFun(){ + var supplier = $.trim($("#searchSupplier").val()); + var phonenum = $.trim($("#searchPhonenum").val()); + var telephone = $.trim($("#searchTelephone").val()); + var description = $.trim($("#searchDesc").val()); + var browserType=getOs(); + window.location.href = "/supplier/exportExcel?browserType=" + browserType + + "&supplier=" + supplier + "&type=" + listType + "&phonenum=" + phonenum + "&telephone=" + telephone + "&description=" + description; +} + +//增加单位 +var url; +var supplierID = 0; +//保存编辑前的名称 +var oldSupplier = ""; + +function addSuppler() { + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加'+listType+"信息"); + $(".window-mask").css({ width: webW ,height: webH}); + $("#supplier").focus(); + $('#supplierFM').form('clear'); + oldSupplier = ""; + supplierID = 0; + url = '/supplier/add'; +} + +function bindEvent(){ + //导入excel对话框 + $('#importExcelDlg').dialog({ + width: 400, + closed: true, + cache: false, + modal: true, + collapsible:false, + closable: true, + buttons:'#dlg-buttons5' + }); + //导入excel表格 + $("#saveimport").unbind().bind({ + click:function() { + if($("#supplierFile").val().length == 0) + { + $.messager.alert('提示','请选择文件!','info'); + return; + } + $("#importExcelFM").submit(); + $('#importExcelDlg').dialog('close'); + + $.messager.progress({ + title:'请稍候', + msg:'数据处理ing...' + }); + setTimeout(function(){ + $.messager.progress('close'); + var opts = $("#tableData").datagrid('options'); + showSupplierDetails(opts.pageNumber,opts.pageSize); + },3300); + } + }); + //保存信息 + $("#saveSupplier").off("click").on("click", function () { + if(validateForm("supplierFM")) { + return; + } + if (checkSupplierName()) { + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + + var obj = $("#supplierFM").serializeObject(); + obj.type = listType; + obj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(obj) + }, + success: function(res) { + if(res && res.code === 200) { + $('#supplierDlg').dialog('close'); + //加载完以后重新初始化 + var opts = $("#tableData").datagrid('options'); + showSupplierDetails(opts.pageNumber, opts.pageSize); + } + } + }); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event) { + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 + if(k == "13"&&(obj.id=="supplier" || obj.id=="contacts"|| obj.id=="phonenum" + || obj.id=="email" || obj.id=="description" )) + { + $("#saveSupplier").click(); + } + + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchSupplier" || obj.id=="searchContacts"|| obj.id=="searchPhonenum" + || obj.id=="searchEmail" || obj.id=="searchDesc" )) + { + $("#searchBtn").click(); + } + }); + + //搜索处理 + $("#searchBtn").unbind().bind({ + click:function() { + showSupplierDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', { + pageNumber:1, + pageSize:initPageSize + }); + } + }); + + $("#searchBtn").click(); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + $("#searchSupplier").val(""); + $("#searchType").val(""); + $("#searchPhonenum").val(""); + $("#searchTelephone").val(""); + $("#searchDesc").val(""); + + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + +} + + +//编辑信息 +function editSupplier(index) { + // var supplierInfo = supplierTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var beginNeedGet = rowsdata.beginneedget; + var beginNeedPay = rowsdata.beginneedpay; + var row = { + supplier : rowsdata.supplier, + contacts : (rowsdata.contacts).replace("undefined",""), + phonenum : (rowsdata.phonenum).replace("undefined",""), + email : (rowsdata.email).replace("undefined",""), + BeginNeedGet : beginNeedGet == "0"? "":beginNeedGet, + BeginNeedPay : beginNeedPay == "0"? "":beginNeedPay, + AllNeedGet: "", + AllNeedPay: "", + description : (rowsdata.description).replace("undefined",""), + type : rowsdata.type, + fax : (rowsdata.fax).replace("undefined",""), + telephone : (rowsdata.telephone).replace("undefined",""), + address : (rowsdata.address).replace("undefined",""), + taxNum : (rowsdata.taxnum).replace("undefined",""), + bankName : (rowsdata.bankname).replace("undefined",""), + accountNumber : (rowsdata.accountnumber).replace("undefined",""), + taxRate : rowsdata.taxrate==undefined?"":rowsdata.taxrate + }; + oldSupplier = rowsdata.supplier; + $('#supplierDlg').dialog('open').dialog('setTitle',' 编辑'+listType +"信息"); + $(".window-mask").css({ width: webW ,height: webH}); + $('#supplierFM').form('load',row); + supplierID = rowsdata.id; + //焦点在名称输入框==定焦在输入文字后面 + $("#supplier").val("").focus().val(rowsdata.supplier); + url = '/supplier/update?id=' + rowsdata.id; + + //显示累计应收和累计应付 + var thisDateTime = getNowFormatDateTime(); //当前时间 + var supType = "customer"; + $.ajax({ + type:"get", + url: "/depotHead/findTotalPay", + dataType: "json", + async: false, + data: ({ + supplierId: rowsdata.id, + endTime:thisDateTime, + supType: supType + }), + success: function(res){ + if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { + var moneyA = res.data.rows.getAllMoney.toFixed(2)-0; + $.ajax({ + type:"get", + url: "/accountHead/findTotalPay", + dataType: "json", + async: false, + data: ({ + supplierId: rowsdata.id, + endTime:thisDateTime, + supType: supType + }), + success: function(res){ + if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { + var moneyB = res.data.rows.getAllMoney.toFixed(2)-0; + var money = moneyA+moneyB; + var moneyBeginNeedGet = $("#BeginNeedGet").val()-0; //期初应收 + var moneyBeginNeedPay = $("#BeginNeedPay").val()-0; //期初应付 + money = (money + moneyBeginNeedGet - moneyBeginNeedPay).toFixed(2); + $("#AllNeedGet").val(money); //累计应收 + } + }, + error: function(){ + $.messager.alert('提示','网络异常请稍后再试!','error'); + return; + } + }); + } + }, + error: function(){ + $.messager.alert('提示','网络异常请稍后再试!','error'); + return; + } + }); +} + + +//检查单位名称是否存在 ++ 重名无法提示问题需要跟进 +function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( oldSupplier.length ==0 || supplierName != oldSupplier)) { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : supplierID, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; +} + + +function showSupplierDetails(pageNo,pageSize) { + var supplier = $.trim($("#searchSupplier").val()); + var phonenum = $.trim($("#searchPhonenum").val()); + var telephone = $.trim($("#searchTelephone").val()); + var description = $.trim($("#searchDesc").val()); + $.ajax({ + type:"get", + url: "/supplier/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + supplier: supplier, + type: listType, + phonenum: phonenum, + telephone: telephone, + description: description + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + diff --git a/erp_web/js/pages/manage/member.js b/erp_web/js/pages/manage/member.js new file mode 100644 index 00000000..1ffdd2b5 --- /dev/null +++ b/erp_web/js/pages/manage/member.js @@ -0,0 +1,715 @@ +var listType = "会员"; //类型 +var listTypeEn = "Member"; //英文类型 +//初始化界面 +$(function() { + initTableData(); + ininPager(); + bindEvent(); +}); + + +//初始化表格数据 +function initTableData() { + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + $('#tableData').datagrid({ + //title:'单位列表', + //iconCls:'icon-save', + //width:700, + height:heightInfo, + nowrap: false, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + checkOnSelect : false, + //交替出现背景 + striped : true, + pagination: true, + //自动截取数据 + //nowrap : true, + //loadFilter: pagerFilter, + pageSize: initPageSize, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:60,formatter:function(value, rec,index) + { + /** + * create by: qiankunpingtai + * create time: 2019/5/6 9:33 + * website:https://qiankunpingtai.cn + * description: + * 修改效率低下的js实现 + */ + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.supplier +'AaBb' + rec.contacts + 'AaBb'+ rec.phonenum + 'AaBb'+ rec.email + 'AaBb'+ rec.beginneedget + 'AaBb'+ rec.beginneedpay + 'AaBb' + rec.isystem + 'AaBb' + rec.description+ 'AaBb' + rec.type + // + 'AaBb' + rec.fax + 'AaBb' + rec.telephone + 'AaBb' + rec.address + 'AaBb' + rec.taxnum + 'AaBb' + rec.bankname + 'AaBb' + rec.accountnumber + 'AaBb' + rec.taxrate; + str += '   '; + str += ''; + return str; + } + }, + { title: '名称',field: 'supplier',width:150}, + { title: '联系人', field: 'contacts',width:50,align:"center"}, + { title: '手机号码', field: 'telephone',width:100,align:"center"}, + { title: '电子邮箱',field: 'email',width:80,align:"center"}, + { title: '联系电话', field: 'phonenum',width:100,align:"center"}, + { title: '传真', field: 'fax',width:100,align:"center"}, + { title: '预付款',field: 'advancein',width:70,align:"center"}, + { title: '期初应收',field: 'beginneedget',width:70,align:"center"}, + { title: '期初应付',field: 'beginneedpay',width:70,align:"center"}, + { title: '税率(%)', field: 'taxrate',width:50,align:"center"}, + { title: '状态',field: 'enabled',width:70,align:"center",formatter:function(value){ + return value? "启用":"禁用"; + }} + ]], + toolbar:[ + { + id:'addSupplier', + text:'增加', + iconCls:'icon-add', + handler:function() { + addSuppler(); + } + },'-', + { + id:'deleteSupplier', + text:'删除', + iconCls:'icon-remove', + handler:function() { + batDeleteSupplier(); + } + },'-', + { + id:'setEnable', + text:'启用', + iconCls:'icon-ok', + handler:function() { + setEnableFun(); + } + },'-', + { + id:'setDisEnable', + text:'禁用', + iconCls:'icon-no', + handler:function() { + setDisEnableFun(); + } + },'-', + { + id:'setInput', + text:'导入', + iconCls:'icon-excel', + handler:function() { + setInputFun(); + } + },'-', + { + id:'setOutput', + text:'导出', + iconCls:'icon-excel', + handler:function() { + setOutputFun(); + } + } + ], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + showSupplierDetails(1,initPageSize); +} + + +//分页信息处理 +function ininPager() { + try { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', { + pageNumber:pageNum, + pageSize:pageSize + }); + showSupplierDetails(pageNum,pageSize); + } + }); + } + catch (e) { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除信息 +function deleteSupplier(id) { + $.messager.confirm('删除确认','确定要删除此条信息吗?',function(r) { + if (r) { + // var supplierTotalInfo = supplierInfo.split("AaBb"); + $.ajax({ + type:"post", + url: "/supplier/batchDeleteSupplierByIds", + dataType: "json", + data: ({ + ids : id + }), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=id; + jsondata.deleteType='2'; + var type='single'; + batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); + return; + } + }); + } + }); +} + +//批量删除单位 +function batDeleteSupplier() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) + { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchDeleteSupplierByIds", + dataType: "json", + async : false, + data: ({ + ids : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=ids; + jsondata.deleteType='2'; + var type='batch'; + batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} +/** + * 确认强制删除 + * */ +function batDeleteSupplierForceConfirm(res,url,jsondata) { + $.messager.confirm('删除确认', res.msg, function (r) { + if (r) { + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: (jsondata), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + if(type=='batch'){ + $(":checkbox").attr("checked", false); + } + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else { + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + }); + } + }); +} + +//批量启用 +function setEnableFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('启用提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('启用确认','确定要启用选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchSetEnable", + dataType: "json", + async : false, + data: ({ + enabled: true, + supplierIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('启用提示', '启用信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('启用提示','启用信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} + +//批量禁用 +function setDisEnableFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('禁用提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('禁用确认','确定要禁用选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchSetEnable", + dataType: "json", + async : false, + data: ({ + enabled: false, + supplierIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('禁用提示', '禁用信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('禁用提示','禁用信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} + +//导入数据 +function setInputFun(){ + //IE下不允许编辑 input=file的值 解决思路:重新克隆input=file,把这个input元素复制一个,然后将原来的删除。 + //在IE下复制元素的时候,其中的值是不会被复制的,所以就达到了清空文件域的目的了。 + //而在Firefox下,其中的值也会被一同复制,清空一下就做到兼容 + var fileUploadInput = $("#supplierFile"); + fileUploadInput.after(fileUploadInput.clone().val("")); + fileUploadInput.remove(); + $("#isCheck").val(1); + $('#importExcelDlg').dialog('open').dialog('setTitle','导入' + listType + '信息'); + $(".window-mask").css({ width: webW-20 ,height: webH}); + $("#supplierFile").focus(); +} + +//导出数据 +function setOutputFun(){ + var supplier = $.trim($("#searchSupplier").val()); + var phonenum = $.trim($("#searchPhonenum").val()); + var telephone = $.trim($("#searchTelephone").val()); + var description = $.trim($("#searchDesc").val()); + var browserType=getOs(); + window.location.href = "/supplier/exportExcel?browserType=" + browserType + + "&supplier=" + supplier + "&type=" + listType + "&phonenum=" + phonenum + "&telephone=" + telephone + "&description=" + description; +} + +//增加单位 +var url; +var supplierID = 0; +//保存编辑前的名称 +var oldSupplier = ""; + +function addSuppler() { + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加'+listType+"信息"); + $(".window-mask").css({ width: webW ,height: webH}); + $("#supplier").focus(); + $('#supplierFM').form('clear'); + oldSupplier = ""; + supplierID = 0; + url = '/supplier/add'; +} + +function bindEvent(){ + //导入excel对话框 + $('#importExcelDlg').dialog({ + width: 400, + closed: true, + cache: false, + modal: true, + collapsible:false, + closable: true, + buttons:'#dlg-buttons5' + }); + //导入excel表格 + $("#saveimport").unbind().bind({ + click:function() { + if($("#supplierFile").val().length == 0) + { + $.messager.alert('提示','请选择文件!','info'); + return; + } + $("#importExcelFM").submit(); + $('#importExcelDlg').dialog('close'); + + $.messager.progress({ + title:'请稍候', + msg:'数据处理ing...' + }); + setTimeout(function(){ + $.messager.progress('close'); + var opts = $("#tableData").datagrid('options'); + showSupplierDetails(opts.pageNumber,opts.pageSize); + },3300); + } + }); + //保存信息 + $("#saveSupplier").off("click").on("click", function () { + if(validateForm("supplierFM")) { + return; + } + if (checkSupplierName()) { + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + + var obj = $("#supplierFM").serializeObject(); + obj.type = listType; + obj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(obj) + }, + success: function(res) { + if(res && res.code === 200) { + $('#supplierDlg').dialog('close'); + //加载完以后重新初始化 + var opts = $("#tableData").datagrid('options'); + showSupplierDetails(opts.pageNumber, opts.pageSize); + } + } + }); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event) { + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 + if(k == "13"&&(obj.id=="supplier" || obj.id=="contacts"|| obj.id=="phonenum" + || obj.id=="email" || obj.id=="description" )) + { + $("#saveSupplier").click(); + } + + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchSupplier" || obj.id=="searchContacts"|| obj.id=="searchPhonenum" + || obj.id=="searchEmail" || obj.id=="searchDesc" )) + { + $("#searchBtn").click(); + } + }); + + //搜索处理 + $("#searchBtn").unbind().bind({ + click:function() { + showSupplierDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', { + pageNumber:1, + pageSize:initPageSize + }); + } + }); + + $("#searchBtn").click(); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + $("#searchSupplier").val(""); + $("#searchType").val(""); + $("#searchPhonenum").val(""); + $("#searchTelephone").val(""); + $("#searchDesc").val(""); + + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + +} + + +//编辑信息 +function editSupplier(index) { + // var supplierInfo = supplierTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var beginNeedGet = rowsdata.beginneedget; + var beginNeedPay = rowsdata.beginneedpay; + var row = { + supplier : rowsdata.supplier, + contacts : (rowsdata.contacts).replace("undefined",""), + phonenum : (rowsdata.phonenum).replace("undefined",""), + email : (rowsdata.email).replace("undefined",""), + BeginNeedGet : beginNeedGet == "0"? "":beginNeedGet, + BeginNeedPay : beginNeedPay == "0"? "":beginNeedPay, + AllNeedGet: "", + AllNeedPay: "", + description : (rowsdata.description).replace("undefined",""), + type : rowsdata.type, + fax : (rowsdata.fax).replace("undefined",""), + telephone : (rowsdata.telephone).replace("undefined",""), + address : (rowsdata.address).replace("undefined",""), + taxNum : (rowsdata.taxnum).replace("undefined",""), + bankName : (rowsdata.bankname).replace("undefined",""), + accountNumber : (rowsdata.accountnumber).replace("undefined",""), + taxRate : rowsdata.taxrate==undefined?"":rowsdata.taxrate + }; + oldSupplier = rowsdata.supplier; + $('#supplierDlg').dialog('open').dialog('setTitle',' 编辑'+listType +"信息"); + $(".window-mask").css({ width: webW ,height: webH}); + $('#supplierFM').form('load',row); + supplierID = rowsdata.id; + //焦点在名称输入框==定焦在输入文字后面 + $("#supplier").val("").focus().val(rowsdata.supplier); + url = '/supplier/update?id=' + rowsdata.id; + + //显示累计应收和累计应付 + var thisDateTime = getNowFormatDateTime(); //当前时间 + var supType = "customer"; + $.ajax({ + type:"get", + url: "/depotHead/findTotalPay", + dataType: "json", + async: false, + data: ({ + supplierId: rowsdata.id, + endTime:thisDateTime, + supType: supType + }), + success: function(res){ + if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { + var moneyA = res.data.rows.getAllMoney.toFixed(2)-0; + $.ajax({ + type:"get", + url: "/accountHead/findTotalPay", + dataType: "json", + async: false, + data: ({ + supplierId: rowsdata.id, + endTime:thisDateTime, + supType: supType + }), + success: function(res){ + if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { + var moneyB = res.data.rows.getAllMoney.toFixed(2)-0; + var money = moneyA+moneyB; + var moneyBeginNeedGet = $("#BeginNeedGet").val()-0; //期初应收 + var moneyBeginNeedPay = $("#BeginNeedPay").val()-0; //期初应付 + /** + * 会员该做什么操作呢? + * + * */ + if(listType === "客户"){ + money = (money + moneyBeginNeedGet - moneyBeginNeedPay).toFixed(2); + $("#AllNeedGet").val(money); //累计应收 + } + else if(listType === "供应商"){ + money = (money + moneyBeginNeedPay - moneyBeginNeedGet).toFixed(2); + $("#AllNeedPay").val(money); //累计应付 + } + } + }, + error: function(){ + $.messager.alert('提示','网络异常请稍后再试!','error'); + return; + } + }); + } + }, + error: function(){ + $.messager.alert('提示','网络异常请稍后再试!','error'); + return; + } + }); +} + + +//检查单位名称是否存在 ++ 重名无法提示问题需要跟进 +function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( oldSupplier.length ==0 || supplierName != oldSupplier)) { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : supplierID, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; +} + + +function showSupplierDetails(pageNo,pageSize) { + var supplier = $.trim($("#searchSupplier").val()); + var phonenum = $.trim($("#searchPhonenum").val()); + var telephone = $.trim($("#searchTelephone").val()); + var description = $.trim($("#searchDesc").val()); + $.ajax({ + type:"get", + url: "/supplier/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + supplier: supplier, + type: listType, + phonenum: phonenum, + telephone: telephone, + description: description + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + diff --git a/erp_web/js/pages/manage/supplier.js b/erp_web/js/pages/manage/supplier.js deleted file mode 100644 index 1099ef3e..00000000 --- a/erp_web/js/pages/manage/supplier.js +++ /dev/null @@ -1,735 +0,0 @@ - //初始化界面 - $(function() { - var listTitle = ""; //单据标题 - var listType = ""; //类型 - var listTypeEn = ""; //英文类型 - getType(); - initTableData(); - ininPager(); - bindEvent(); - }); - - //根据名称获取类型 - function getType(){ - listTitle = $("#tablePanel").prev().text(); - if(listTitle === "供应商信息列表"){ - listType = "供应商"; - listTypeEn = "Vendor"; - } - else if(listTitle === "客户信息列表"){ - listType = "客户"; - listTypeEn = "Customer"; - } - else if(listTitle === "会员信息列表"){ - listType = "会员"; - listTypeEn = "Member"; - } - } - - //初始化表格数据 - function initTableData() { - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - $('#tableData').datagrid({ - //title:'单位列表', - //iconCls:'icon-save', - //width:700, - height:heightInfo, - nowrap: false, - rownumbers: false, - //动画效果 - animate:false, - //选中单行 - singleSelect : true, - collapsible:false, - selectOnCheck:false, - //fitColumns:true, - //单击行是否选中 - checkOnSelect : false, - //交替出现背景 - striped : true, - pagination: true, - //自动截取数据 - //nowrap : true, - //loadFilter: pagerFilter, - pageSize: initPageSize, - pageList: initPageNum, - columns:[[ - { field: 'id',width:35,align:"center",checkbox:true}, - { title: '操作',field: 'op',align:"center",width:60,formatter:function(value, rec,index) - { - /** - * create by: qiankunpingtai - * create time: 2019/5/6 9:33 - * website:https://qiankunpingtai.cn - * description: - * 修改效率低下的js实现 - */ - var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.supplier +'AaBb' + rec.contacts + 'AaBb'+ rec.phonenum + 'AaBb'+ rec.email + 'AaBb'+ rec.beginneedget + 'AaBb'+ rec.beginneedpay + 'AaBb' + rec.isystem + 'AaBb' + rec.description+ 'AaBb' + rec.type - // + 'AaBb' + rec.fax + 'AaBb' + rec.telephone + 'AaBb' + rec.address + 'AaBb' + rec.taxnum + 'AaBb' + rec.bankname + 'AaBb' + rec.accountnumber + 'AaBb' + rec.taxrate; - str += '   '; - str += ''; - return str; - } - }, - { title: '名称',field: 'supplier',width:150}, - { title: '联系人', field: 'contacts',width:50,align:"center"}, - { title: '手机号码', field: 'telephone',width:100,align:"center"}, - { title: '电子邮箱',field: 'email',width:80,align:"center"}, - { title: '联系电话', field: 'phonenum',width:100,align:"center"}, - { title: '传真', field: 'fax',width:100,align:"center"}, - { title: '预付款',field: 'advancein',width:70,align:"center"}, - { title: '期初应收',field: 'beginneedget',width:70,align:"center"}, - { title: '期初应付',field: 'beginneedpay',width:70,align:"center"}, - { title: '税率(%)', field: 'taxrate',width:50,align:"center"}, - { title: '状态',field: 'enabled',width:70,align:"center",formatter:function(value){ - return value? "启用":"禁用"; - }} - ]], - toolbar:[ - { - id:'addSupplier', - text:'增加', - iconCls:'icon-add', - handler:function() { - addSuppler(); - } - },'-', - { - id:'deleteSupplier', - text:'删除', - iconCls:'icon-remove', - handler:function() { - batDeleteSupplier(); - } - },'-', - { - id:'setEnable', - text:'启用', - iconCls:'icon-ok', - handler:function() { - setEnableFun(); - } - },'-', - { - id:'setDisEnable', - text:'禁用', - iconCls:'icon-no', - handler:function() { - setDisEnableFun(); - } - },'-', - { - id:'setInput', - text:'导入', - iconCls:'icon-excel', - handler:function() { - setInputFun(); - } - },'-', - { - id:'setOutput', - text:'导出', - iconCls:'icon-excel', - handler:function() { - setOutputFun(); - } - } - ], - onLoadError:function() { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - return; - } - }); - showSupplierDetails(1,initPageSize); - } - - - //分页信息处理 - function ininPager() { - try { - var opts = $("#tableData").datagrid('options'); - var pager = $("#tableData").datagrid('getPager'); - pager.pagination({ - onSelectPage:function(pageNum, pageSize) - { - opts.pageNumber = pageNum; - opts.pageSize = pageSize; - pager.pagination('refresh', { - pageNumber:pageNum, - pageSize:pageSize - }); - showSupplierDetails(pageNum,pageSize); - } - }); - } - catch (e) { - $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); - } - } - - //删除信息 - function deleteSupplier(id) { - $.messager.confirm('删除确认','确定要删除此条信息吗?',function(r) { - if (r) { - // var supplierTotalInfo = supplierInfo.split("AaBb"); - $.ajax({ - type:"post", - url: "/supplier/batchDeleteSupplierByIds", - dataType: "json", - data: ({ - ids : id - }), - success: function (res) { - if(res && res.code == 200) { - $("#searchBtn").click(); - } else { - if(res && res.code == 601){ - var jsondata={}; - jsondata.ids=id; - jsondata.deleteType='2'; - var type='single'; - batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); - }else if(res && res.code == 600){ - $.messager.alert('删除提示', res.msg, 'error'); - }else{ - $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); - return; - } - }); - } - }); - } - - //批量删除单位 - function batDeleteSupplier() { - var row = $('#tableData').datagrid('getChecked'); - if(row.length == 0) { - $.messager.alert('删除提示','没有记录被选中!','info'); - return; - } - if(row.length > 0) { - $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条信息吗?',function(r) { - if (r) { - var ids = ""; - for(var i = 0;i < row.length; i ++) { - if(i == row.length-1) - { - ids += row[i].id; - break; - } - ids += row[i].id + ","; - } - $.ajax({ - type:"post", - url: "/supplier/batchDeleteSupplierByIds", - dataType: "json", - async : false, - data: ({ - ids : ids - }), - success: function (res) { - if(res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - if(res && res.code == 601){ - var jsondata={}; - jsondata.ids=ids; - jsondata.deleteType='2'; - var type='batch'; - batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); - }else if(res && res.code == 600){ - $.messager.alert('删除提示', res.msg, 'error'); - }else{ - $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); - return; - } - }); - } - }); - } - } - /** - * 确认强制删除 - * */ - function batDeleteSupplierForceConfirm(res,url,jsondata) { - $.messager.confirm('删除确认', res.msg, function (r) { - if (r) { - $.ajax({ - type: "post", - url: url, - dataType: "json", - data: (jsondata), - success: function (res) { - if(res && res.code == 200) { - $("#searchBtn").click(); - if(type=='batch'){ - $(":checkbox").attr("checked", false); - } - }else if(res && res.code == 600){ - $.messager.alert('删除提示', res.msg, 'error'); - }else { - $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); - return; - } - }); - } - }); - } - - //批量启用 - function setEnableFun() { - var row = $('#tableData').datagrid('getChecked'); - if(row.length == 0) { - $.messager.alert('启用提示','没有记录被选中!','info'); - return; - } - if(row.length > 0) { - $.messager.confirm('启用确认','确定要启用选中的' + row.length + '条信息吗?',function(r) { - if (r) { - var ids = ""; - for(var i = 0;i < row.length; i ++) { - if(i == row.length-1) { - ids += row[i].id; - break; - } - ids += row[i].id + ","; - } - $.ajax({ - type:"post", - url: "/supplier/batchSetEnable", - dataType: "json", - async : false, - data: ({ - enabled: true, - supplierIDs : ids - }), - success: function (res) { - if(res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - $.messager.alert('启用提示', '启用信息失败,请稍后再试!', 'error'); - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('启用提示','启用信息异常,请稍后再试!','error'); - return; - } - }); - } - }); - } - } - - //批量禁用 - function setDisEnableFun() { - var row = $('#tableData').datagrid('getChecked'); - if(row.length == 0) { - $.messager.alert('禁用提示','没有记录被选中!','info'); - return; - } - if(row.length > 0) { - $.messager.confirm('禁用确认','确定要禁用选中的' + row.length + '条信息吗?',function(r) { - if (r) { - var ids = ""; - for(var i = 0;i < row.length; i ++) { - if(i == row.length-1) { - ids += row[i].id; - break; - } - ids += row[i].id + ","; - } - $.ajax({ - type:"post", - url: "/supplier/batchSetEnable", - dataType: "json", - async : false, - data: ({ - enabled: false, - supplierIDs : ids - }), - success: function (res) { - if(res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - $.messager.alert('禁用提示', '禁用信息失败,请稍后再试!', 'error'); - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('禁用提示','禁用信息异常,请稍后再试!','error'); - return; - } - }); - } - }); - } - } - - //导入数据 - function setInputFun(){ - //IE下不允许编辑 input=file的值 解决思路:重新克隆input=file,把这个input元素复制一个,然后将原来的删除。 - //在IE下复制元素的时候,其中的值是不会被复制的,所以就达到了清空文件域的目的了。 - //而在Firefox下,其中的值也会被一同复制,清空一下就做到兼容 - var fileUploadInput = $("#supplierFile"); - fileUploadInput.after(fileUploadInput.clone().val("")); - fileUploadInput.remove(); - $("#isCheck").val(1); - $('#importExcelDlg').dialog('open').dialog('setTitle','导入' + listType + '信息'); - $(".window-mask").css({ width: webW-20 ,height: webH}); - $("#supplierFile").focus(); - } - - //导出数据 - function setOutputFun(){ - var supplier = $.trim($("#searchSupplier").val()); - var phonenum = $.trim($("#searchPhonenum").val()); - var telephone = $.trim($("#searchTelephone").val()); - var description = $.trim($("#searchDesc").val()); - var browserType=getOs(); - window.location.href = "/supplier/exportExcel?browserType=" + browserType - + "&supplier=" + supplier + "&type=" + listType + "&phonenum=" + phonenum + "&telephone=" + telephone + "&description=" + description; - } - - //增加单位 - var url; - var supplierID = 0; - //保存编辑前的名称 - var oldSupplier = ""; - - function addSuppler() { - $('#supplierDlg').dialog('open').dialog('setTitle',' 增加'+listType+"信息"); - $(".window-mask").css({ width: webW ,height: webH}); - $("#supplier").focus(); - $('#supplierFM').form('clear'); - oldSupplier = ""; - supplierID = 0; - url = '/supplier/add'; - } - - function bindEvent(){ - //导入excel对话框 - $('#importExcelDlg').dialog({ - width: 400, - closed: true, - cache: false, - modal: true, - collapsible:false, - closable: true, - buttons:'#dlg-buttons5' - }); - //导入excel表格 - $("#saveimport").unbind().bind({ - click:function() { - if($("#supplierFile").val().length == 0) - { - $.messager.alert('提示','请选择文件!','info'); - return; - } - $("#importExcelFM").submit(); - $('#importExcelDlg').dialog('close'); - - $.messager.progress({ - title:'请稍候', - msg:'数据处理ing...' - }); - setTimeout(function(){ - $.messager.progress('close'); - var opts = $("#tableData").datagrid('options'); - showSupplierDetails(opts.pageNumber,opts.pageSize); - },3300); - } - }); - //保存信息 - $("#saveSupplier").off("click").on("click", function () { - if(validateForm("supplierFM")) { - return; - } - if (checkSupplierName()) { - return; - } - var reg = /^([0-9])+$/; - var phonenum = $.trim($("#phonenum").val()); - if(phonenum.length>0 && !reg.test(phonenum)) { - $.messager.alert('提示','电话号码只能是数字','info'); - $("#phonenum").val("").focus(); - return; - } - var beginNeedGet = $.trim($("#BeginNeedGet").val()); - var beginNeedPay = $.trim($("#BeginNeedPay").val()); - if(beginNeedGet && beginNeedPay) { - $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); - return; - } - - var obj = $("#supplierFM").serializeObject(); - obj.type = listType; - obj.enabled = 1; - $.ajax({ - url: url, - type:"post", - dataType: "json", - data:{ - info: JSON.stringify(obj) - }, - success: function(res) { - if(res && res.code === 200) { - $('#supplierDlg').dialog('close'); - //加载完以后重新初始化 - var opts = $("#tableData").datagrid('options'); - showSupplierDetails(opts.pageNumber, opts.pageSize); - } - } - }); - }); - - //初始化键盘enter事件 - $(document).keydown(function(event) { - //兼容 IE和firefox 事件 - var e = window.event || event; - var k = e.keyCode||e.which||e.charCode; - //兼容 IE,firefox 兼容 - var obj = e.srcElement ? e.srcElement : e.target; - //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 - if(k == "13"&&(obj.id=="supplier" || obj.id=="contacts"|| obj.id=="phonenum" - || obj.id=="email" || obj.id=="description" )) - { - $("#saveSupplier").click(); - } - - //搜索按钮添加快捷键 - if(k == "13"&&(obj.id=="searchSupplier" || obj.id=="searchContacts"|| obj.id=="searchPhonenum" - || obj.id=="searchEmail" || obj.id=="searchDesc" )) - { - $("#searchBtn").click(); - } - }); - - //搜索处理 - $("#searchBtn").unbind().bind({ - click:function() { - showSupplierDetails(1,initPageSize); - var opts = $("#tableData").datagrid('options'); - var pager = $("#tableData").datagrid('getPager'); - opts.pageNumber = 1; - opts.pageSize = initPageSize; - pager.pagination('refresh', { - pageNumber:1, - pageSize:initPageSize - }); - } - }); - - $("#searchBtn").click(); - - //重置按钮 - $("#searchResetBtn").unbind().bind({ - click:function(){ - $("#searchSupplier").val(""); - $("#searchType").val(""); - $("#searchPhonenum").val(""); - $("#searchTelephone").val(""); - $("#searchDesc").val(""); - - //加载完以后重新初始化 - $("#searchBtn").click(); - } - }); - - } - - - //编辑信息 - function editSupplier(index) { - // var supplierInfo = supplierTotalInfo.split("AaBb"); - //获取当前行 - var rowsdata = $("#tableData").datagrid("getRows")[index]; - var beginNeedGet = rowsdata.beginneedget; - var beginNeedPay = rowsdata.beginneedpay; - var row = { - supplier : rowsdata.supplier, - contacts : (rowsdata.contacts).replace("undefined",""), - phonenum : (rowsdata.phonenum).replace("undefined",""), - email : (rowsdata.email).replace("undefined",""), - BeginNeedGet : beginNeedGet == "0"? "":beginNeedGet, - BeginNeedPay : beginNeedPay == "0"? "":beginNeedPay, - AllNeedGet: "", - AllNeedPay: "", - description : (rowsdata.description).replace("undefined",""), - type : rowsdata.type, - fax : (rowsdata.fax).replace("undefined",""), - telephone : (rowsdata.telephone).replace("undefined",""), - address : (rowsdata.address).replace("undefined",""), - taxNum : (rowsdata.taxnum).replace("undefined",""), - bankName : (rowsdata.bankname).replace("undefined",""), - accountNumber : (rowsdata.accountnumber).replace("undefined",""), - taxRate : rowsdata.taxrate==undefined?"":rowsdata.taxrate - }; - oldSupplier = rowsdata.supplier; - $('#supplierDlg').dialog('open').dialog('setTitle',' 编辑'+listType +"信息"); - $(".window-mask").css({ width: webW ,height: webH}); - $('#supplierFM').form('load',row); - supplierID = rowsdata.id; - //焦点在名称输入框==定焦在输入文字后面 - $("#supplier").val("").focus().val(rowsdata.supplier); - url = '/supplier/update?id=' + rowsdata.id; - - //显示累计应收和累计应付 - var thisDateTime = getNowFormatDateTime(); //当前时间 - var supType = "customer"; - if(listType === "客户"){ - supType = "customer" - } - else if(listType === "供应商"){ - supType = "vendor" - } - $.ajax({ - type:"get", - url: "/depotHead/findTotalPay", - dataType: "json", - async: false, - data: ({ - supplierId: rowsdata.id, - endTime:thisDateTime, - supType: supType - }), - success: function(res){ - if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { - var moneyA = res.data.rows.getAllMoney.toFixed(2)-0; - $.ajax({ - type:"get", - url: "/accountHead/findTotalPay", - dataType: "json", - async: false, - data: ({ - supplierId: rowsdata.id, - endTime:thisDateTime, - supType: supType - }), - success: function(res){ - if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { - var moneyB = res.data.rows.getAllMoney.toFixed(2)-0; - var money = moneyA+moneyB; - var moneyBeginNeedGet = $("#BeginNeedGet").val()-0; //期初应收 - var moneyBeginNeedPay = $("#BeginNeedPay").val()-0; //期初应付 - if(listType === "客户"){ - money = (money + moneyBeginNeedGet - moneyBeginNeedPay).toFixed(2); - $("#AllNeedGet").val(money); //累计应收 - } - else if(listType === "供应商"){ - money = (money + moneyBeginNeedPay - moneyBeginNeedGet).toFixed(2); - $("#AllNeedPay").val(money); //累计应付 - } - } - }, - error: function(){ - $.messager.alert('提示','网络异常请稍后再试!','error'); - return; - } - }); - } - }, - error: function(){ - $.messager.alert('提示','网络异常请稍后再试!','error'); - return; - } - }); - } - - - //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 - function checkSupplierName() { - var supplierName = $.trim($("#supplier").val()); - //表示是否存在 true == 存在 false = 不存在 - var flag = false; - //开始ajax名称检验,不能重名 - if(supplierName.length > 0 &&( oldSupplier.length ==0 || supplierName != oldSupplier)) { - $.ajax({ - type:"get", - url: "/supplier/checkIsNameExist", - dataType: "json", - async : false, - data: ({ - id : supplierID, - name : supplierName - }), - success: function (res) { - if(res && res.code === 200) { - if(res.data && res.data.status) { - flag = res.data.status; - if (flag) { - $.messager.alert('提示', '单位名称已经存在', 'info'); - return; - } - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); - return; - } - }); - } - return flag; - } - - - function showSupplierDetails(pageNo,pageSize) { - var supplier = $.trim($("#searchSupplier").val()); - var phonenum = $.trim($("#searchPhonenum").val()); - var telephone = $.trim($("#searchTelephone").val()); - var description = $.trim($("#searchDesc").val()); - $.ajax({ - type:"get", - url: "/supplier/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - supplier: supplier, - type: listType, - phonenum: phonenum, - telephone: telephone, - description: description - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); - return; - } - }); - } - diff --git a/erp_web/pages/manage/customer.html b/erp_web/pages/manage/customer.html index 4448e41b..c96a693e 100644 --- a/erp_web/pages/manage/customer.html +++ b/erp_web/pages/manage/customer.html @@ -13,7 +13,7 @@ - + diff --git a/erp_web/pages/manage/member.html b/erp_web/pages/manage/member.html index b6680d80..a5acea2f 100644 --- a/erp_web/pages/manage/member.html +++ b/erp_web/pages/manage/member.html @@ -13,7 +13,7 @@ - +