1.7K Star 11.8K Fork 5.3K

GVP季圣华 / 华夏ERP

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
vendor.js 25.68 KB
一键复制 编辑 原始数据 按行查看 历史
乾坤平台 提交于 2019-05-06 17:02 . 拆分js,去掉不相关元素
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
//初始化界面
var listType = "供应商"; //类型
var listTypeEn = "Vendor"; //英文类型
$(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 += '<img title="编辑" src="/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editSupplier(\'' + index + '\');"/>&nbsp;&nbsp;&nbsp;';
str += '<img title="删除" src="/js/easyui-1.3.5/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteSupplier(\'' + rec.id + '\');"/>';
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','<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/>&nbsp;增加'+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','<img src="/js/easyui-1.3.5/themes/icons/pencil.png"/>&nbsp;编辑'+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 = "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; //期初应付
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;
}
});
}
Java
1
https://gitee.com/jishenghua/JSH_ERP.git
git@gitee.com:jishenghua/JSH_ERP.git
jishenghua
JSH_ERP
华夏ERP
9182e734fcf6c74f0a795c920c69e600fac754d2

搜索帮助