Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
JSH ERP
Commits
67252622
Commit
67252622
authored
Jan 17, 2019
by
cjl
Browse files
1、修复批量删除时,前端获取id为undefined的问题
2、修复后端,查询列表为空时,程序异常问题
parent
4a47e254
Changes
2
Hide whitespace changes
Inline
Side-by-side
erp_web/js/pages/financial/financial_base.js
View file @
67252622
//初始化界面
$
(
function
(){
var
accountList
=
null
;
var
accountID
=
null
;
var
supplierList
=
null
;
var
supplierID
=
null
;
var
personList
=
null
;
var
personID
=
null
;
var
ProjectSearch
=
null
;
var
accountHeadMaxId
=
null
;
//获取最大的Id
var
accepId
=
null
;
//保存的主表id
var
url
;
var
accountHeadID
=
0
;
var
preTotalPrice
=
0
;
//前一次加载的金额
var
orgAccountHead
=
""
;
//保存编辑前的名称
var
editIndex
=
undefined
;
var
listTitle
=
""
;
//单据标题
var
payTypeTitle
=
""
;
//收入 支出
var
organUrl
=
""
;
//组织数据接口地址
var
amountNum
=
""
;
//单据编号开头字符
var
itemType
=
true
;
//隐藏当前列
var
moneyType
=
true
;
//隐藏当前列
var
inOrOut
=
""
;
//链接类型为收入或者支出
getType
();
initSystemData_person
();
//经手人数据
initSelectInfo_person
();
//经手人信息
initSystemData_account
();
//账户数据
initSelectInfo_account
();
//账户信息
initSupplier
();
//供应商
initTableData
();
ininPager
();
initForm
();
bindEvent
();
//绑定操作事件
$
(
"
#searchBtn
"
).
click
();
});
//根据单据名称获取类型
function
getType
(){
listTitle
=
$
(
"
#tablePanel
"
).
prev
().
text
();
var
supUrl
=
"
/supplier/findBySelect_sup
"
;
//供应商接口
var
cusUrl
=
"
/supplier/findBySelect_cus
"
;
//客户接口
var
retailUrl
=
"
/supplier/findBySelect_retail
"
;
//散户接口
if
(
listTitle
===
"
收入单列表
"
){
listType
=
"
收入
"
;
itemType
=
false
;
//显示当前列
moneyType
=
true
;
//隐藏当前列
payTypeTitle
=
"
收入项目
"
;
inOrOut
=
"
in
"
;
organUrl
=
cusUrl
;
amountNum
=
"
SR
"
;
}
else
if
(
listTitle
===
"
支出单列表
"
){
listType
=
"
支出
"
;
itemType
=
false
;
//显示当前列
moneyType
=
true
;
//隐藏当前列
payTypeTitle
=
"
支出项目
"
;
inOrOut
=
"
out
"
;
organUrl
=
supUrl
;
amountNum
=
"
ZC
"
;
}
else
if
(
listTitle
===
"
收款单列表
"
){
listType
=
"
收款
"
;
itemType
=
true
;
//隐藏当前列
moneyType
=
false
;
//显示当前列
payTypeTitle
=
"
无标题
"
;
inOrOut
=
""
;
organUrl
=
cusUrl
;
amountNum
=
"
SK
"
;
}
else
if
(
listTitle
===
"
付款单列表
"
){
listType
=
"
付款
"
;
itemType
=
true
;
//隐藏当前列
moneyType
=
false
;
//显示当前列
payTypeTitle
=
"
无标题
"
;
inOrOut
=
""
;
organUrl
=
supUrl
;
amountNum
=
"
FK
"
;
}
else
if
(
listTitle
===
"
转账单列表
"
){
listType
=
"
转账
"
;
itemType
=
true
;
//隐藏当前列
moneyType
=
false
;
//显示当前列
payTypeTitle
=
"
无标题
"
;
inOrOut
=
""
;
organUrl
=
supUrl
;
amountNum
=
"
ZZ
"
;
}
else
if
(
listTitle
===
"
收预付款列表
"
){
listType
=
"
收预付款
"
;
itemType
=
true
;
//隐藏当前列
moneyType
=
false
;
//显示当前列
payTypeTitle
=
"
无标题
"
;
inOrOut
=
""
;
organUrl
=
retailUrl
;
amountNum
=
"
SYF
"
;
}
}
//获取账户信息
function
initSystemData_account
(){
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/account/getAccount
"
,
//设置为同步
async
:
false
,
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
if
(
res
.
data
)
{
accountList
=
res
.
data
.
accountList
;
}
}
}
});
}
//获取账户信息
function
initSelectInfo_account
(){
var
options
=
""
;
if
(
accountList
!=
null
)
{
options
=
""
;
for
(
var
i
=
0
;
i
<
accountList
.
length
;
i
++
)
{
var
account
=
accountList
[
i
];
options
+=
'
<option value="
'
+
account
.
id
+
'
">
'
+
account
.
name
+
'
</option>
'
;
}
$
(
"
#AccountId
"
).
empty
().
append
(
options
);
}
}
//初始化单位信息
function
initSupplier
(){
$
(
'
#OrganId
'
).
combobox
({
url
:
organUrl
,
valueField
:
'
id
'
,
textField
:
'
supplier
'
,
formatter
:
function
(
row
){
var
opts
=
$
(
this
).
combobox
(
'
options
'
);
if
(
row
[
opts
.
textField
]
!==
"
非会员
"
)
{
return
row
[
opts
.
textField
];
}
}
});
}
//获取财务员
function
initSystemData_person
(){
var
type
=
"
财务员
"
;
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/person/getPersonByType
"
,
data
:
{
type
:
type
},
//设置为同步
async
:
false
,
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
personList
=
res
.
data
.
personList
;
}
}
});
}
//获取财务员
function
initSelectInfo_person
(){
var
options
=
""
;
if
(
personList
!=
null
)
{
for
(
var
i
=
0
;
i
<
personList
.
length
;
i
++
)
{
var
person
=
personList
[
i
];
if
(
0
==
i
)
{
personID
=
person
.
id
;
}
if
(
person
.
type
==
"
财务员
"
)
{
options
+=
'
<option value="
'
+
person
.
id
+
'
">
'
+
person
.
name
+
'
</option>
'
;
}
}
$
(
"
#HandsPersonId
"
).
empty
().
append
(
options
);
}
}
//防止表单提交重复
function
initForm
(){
$
(
'
#accountHeadFM
'
).
form
({
onSubmit
:
function
(){
return
false
;
}
});
}
//初始化表格数据
function
initTableData
(){
var
organNameTitle
=
""
;
var
organNameHidden
=
false
;
if
(
listType
===
"
收入
"
||
listType
===
"
支出
"
)
{
organNameTitle
=
"
往来单位
"
;
}
else
if
(
listType
===
"
收款
"
)
{
organNameTitle
=
"
付款单位
"
;
}
else
if
(
listType
===
"
付款
"
)
{
organNameTitle
=
"
收款单位
"
;
}
else
if
(
listType
===
"
收预付款
"
)
{
organNameTitle
=
"
付款会员
"
;
}
if
(
listType
===
"
转账
"
)
{
organNameHidden
=
true
;
}
$
(
'
#tableData
'
).
datagrid
({
//width:700,
height
:
heightInfo
,
rownumbers
:
false
,
//动画效果
animate
:
false
,
//选中单行
singleSelect
:
true
,
collapsible
:
false
,
selectOnCheck
:
false
,
//fitColumns:true,
//单击行是否选中
//checkOnSelect : false,
pagination
:
true
,
//交替出现背景
striped
:
true
,
//loadFilter: pagerFilter,
pageSize
:
5
,
pageList
:
initPageNum
,
columns
:[[
{
field
:
'
id
'
,
width
:
35
,
align
:
"
center
"
,
checkbox
:
true
},
{
title
:
'
操作
'
,
field
:
'
op
'
,
align
:
"
center
"
,
width
:
90
,
formatter
:
function
(
value
,
rec
)
{
var
str
=
''
;
var
rowInfo
=
rec
.
id
+
'
AaBb
'
+
rec
.
billno
+
'
AaBb
'
+
rec
.
billtime
+
'
AaBb
'
+
rec
.
remark
+
'
AaBb
'
+
rec
.
accountid
+
'
AaBb
'
+
rec
.
accountname
+
'
AaBb
'
+
rec
.
organid
+
'
AaBb
'
+
rec
.
organname
+
'
AaBb
'
+
rec
.
handspersonid
+
'
AaBb
'
+
rec
.
handspersonname
+
'
AaBb
'
+
rec
.
changeamount
+
'
AaBb
'
+
rec
.
totalprice
;
var
orgId
=
rec
.
organid
?
rec
.
organid
:
0
;
str
+=
'
<img title="查看" src="/js/easyui-1.3.5/themes/icons/list.png" style="cursor: pointer;" onclick="showAccountHead(
\'
'
+
rowInfo
+
'
\'
);"/>
'
;
str
+=
'
<img title="编辑" src="/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editAccountHead(
\'
'
+
rowInfo
+
'
\'
);"/>
'
;
str
+=
'
<img title="删除" src="/js/easyui-1.3.5/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteAccountHead(
'
+
rec
.
id
+
'
,
'
+
orgId
+
'
,
'
+
rec
.
totalprice
+
'
);"/>
'
;
return
str
;
}
},
{
field
:
'
organid
'
,
width
:
5
,
hidden
:
true
},
{
title
:
organNameTitle
,
field
:
'
organname
'
,
width
:
140
,
hidden
:
organNameHidden
},
{
title
:
'
单据编号
'
,
field
:
'
billno
'
,
width
:
140
},
{
title
:
'
经手人
'
,
field
:
'
handspersonname
'
,
width
:
80
},
{
title
:
'
单据时间
'
,
field
:
'
billtime
'
,
width
:
140
},
{
title
:
'
合计
'
,
field
:
'
totalprice
'
,
width
:
80
},
{
title
:
'
备注
'
,
field
:
'
remark
'
,
width
:
100
}
]],
toolbar
:[
{
id
:
'
addAccountHead
'
,
text
:
'
增加
'
,
iconCls
:
'
icon-add
'
,
handler
:
function
()
{
addAccountHead
();
}
},
{
id
:
'
deleteAccountHead
'
,
text
:
'
删除
'
,
iconCls
:
'
icon-remove
'
,
handler
:
function
()
{
batDeleteAccountHead
();
}
}
],
onLoadError
:
function
()
{
$
.
messager
.
alert
(
'
页面加载提示
'
,
'
页面加载异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
//初始化表格数据-明细列表-编辑状态
function
initTableData_account
(
type
,
TotalPrice
){
$
(
'
#accountData
'
).
datagrid
({
height
:
280
,
rownumbers
:
false
,
//动画效果
animate
:
false
,
//选中单行
singleSelect
:
true
,
collapsible
:
false
,
selectOnCheck
:
false
,
//单击行是否选中
checkOnSelect
:
false
,
pagination
:
false
,
//交替出现背景
striped
:
true
,
showFooter
:
true
,
//loadFilter: pagerFilter,
onClickRow
:
onClickRow
,
columns
:[[
{
field
:
'
Id
'
,
width
:
35
,
align
:
"
center
"
,
checkbox
:
true
},
{
title
:
payTypeTitle
,
field
:
'
InOutItemId
'
,
width
:
230
,
hidden
:
itemType
,
formatter
:
function
(
value
,
row
,
index
){
return
row
.
InOutItemName
;
},
editor
:{
type
:
'
combobox
'
,
options
:{
valueField
:
'
Id
'
,
textField
:
'
InOutItemName
'
,
method
:
'
get
'
,
url
:
"
/inOutItem/findBySelect?type=
"
+
inOrOut
}
}
},
{
title
:
'
账户名称
'
,
field
:
'
AccountId
'
,
width
:
230
,
hidden
:
moneyType
,
formatter
:
function
(
value
,
row
,
index
){
return
row
.
AccountName
;
},
editor
:{
type
:
'
combobox
'
,
options
:{
valueField
:
'
Id
'
,
textField
:
'
AccountName
'
,
method
:
'
get
'
,
url
:
"
/account/findBySelect
"
}
}
},
{
title
:
'
金额
'
,
field
:
'
EachAmount
'
,
editor
:
'
validatebox
'
,
width
:
70
},
{
title
:
'
备注
'
,
field
:
'
Remark
'
,
editor
:
'
validatebox
'
,
width
:
150
}
]],
toolbar
:[
{
id
:
'
append
'
,
text
:
'
新增
'
,
iconCls
:
'
icon-add
'
,
handler
:
function
()
{
append
();
//新增
}
},
{
id
:
'
delete
'
,
text
:
'
删除
'
,
iconCls
:
'
icon-remove
'
,
handler
:
function
()
{
removeit
();
//删除
}
},
{
id
:
'
reject
'
,
text
:
'
撤销
'
,
iconCls
:
'
icon-undo
'
,
handler
:
function
()
{
reject
();
//撤销
}
}
],
onLoadError
:
function
()
{
$
.
messager
.
alert
(
'
页面加载提示
'
,
'
页面加载异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
$
.
ajax
({
type
:
"
get
"
,
url
:
'
/accountItem/getDetailList
'
,
data
:
{
headerId
:
accountHeadID
},
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
var
data
=
res
.
data
;
var
EachAmount
=
0
;
if
(
type
===
"
edit
"
)
{
EachAmount
=
TotalPrice
;
}
var
array
=
[];
array
.
push
({
"
EachAmount
"
:
EachAmount
});
data
.
footer
=
array
;
$
(
"
#accountData
"
).
datagrid
(
'
loadData
'
,
data
);
}
},
error
:
function
()
{
$
.
messager
.
alert
(
'
查询提示
'
,
'
查询数据后台异常,请稍后再试!
'
,
'
error
'
);
}
});
}
//初始化表格数据-明细列表-查看状态
function
initTableData_account_show
(
TotalPrice
){
$
(
'
#accountDataShow
'
).
datagrid
({
height
:
280
,
rownumbers
:
true
,
//动画效果
animate
:
false
,
//选中单行
singleSelect
:
true
,
collapsible
:
false
,
selectOnCheck
:
false
,
//单击行是否选中
checkOnSelect
:
false
,
pagination
:
false
,
//交替出现背景
striped
:
true
,
showFooter
:
true
,
//loadFilter: pagerFilter,
onClickRow
:
onClickRow
,
columns
:[[
{
title
:
payTypeTitle
,
field
:
'
InOutItemName
'
,
width
:
230
,
hidden
:
itemType
},
{
title
:
'
账户名称
'
,
field
:
'
AccountName
'
,
width
:
230
,
hidden
:
moneyType
},
{
title
:
'
金额
'
,
field
:
'
EachAmount
'
,
width
:
70
},
{
title
:
'
备注
'
,
field
:
'
Remark
'
,
width
:
150
}
]],
onLoadError
:
function
()
{
$
.
messager
.
alert
(
'
页面加载提示
'
,
'
页面加载异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
$
.
ajax
({
type
:
"
get
"
,
url
:
'
/accountItem/getDetailList
'
,
data
:
{
headerId
:
accountHeadID
},
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
var
data
=
res
.
data
;
var
EachAmount
=
TotalPrice
;
var
array
=
[];
array
.
push
({
"
EachAmount
"
:
EachAmount
});
data
.
footer
=
array
;
$
(
"
#accountDataShow
"
).
datagrid
(
'
loadData
'
,
data
);
}
},
error
:
function
()
{
$
.
messager
.
alert
(
'
查询提示
'
,
'
查询数据后台异常,请稍后再试!
'
,
'
error
'
);
}
});
}
//分页信息处理
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
});
showAccountHeadDetails
(
pageNum
,
pageSize
);
}
});
}
catch
(
e
)
{
$
.
messager
.
alert
(
'
异常处理提示
'
,
"
分页信息异常 :
"
+
e
.
name
+
"
:
"
+
e
.
message
,
'
error
'
);
}
}
//删除财务信息
function
deleteAccountHead
(
accountHeadID
,
thisOrganId
,
totalPrice
){
$
.
messager
.
confirm
(
'
删除确认
'
,
'
确定要删除此财务信息吗?
'
,
function
(
r
)
{
if
(
r
)
{
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/accountHead/
"
+
accountHeadID
+
"
/delete
"
,
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
==
200
)
{
$
(
"
#searchBtn
"
).
click
();
}
else
{
$
.
messager
.
alert
(
'
删除提示
'
,
'
删除财务信息失败,请稍后再试!
'
,
'
error
'
);
}
},
//此处添加错误处理
error
:
function
()
{
$
.
messager
.
alert
(
'
删除提示
'
,
'
删除财务信息异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
//更新会员的预收款信息
if
(
listType
===
"
收预付款
"
){
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/supplier/updateAdvanceIn
"
,
dataType
:
"
json
"
,
data
:{
supplierID
:
thisOrganId
,
//会员id
advanceIn
:
0
-
totalPrice
//删除时同时删除用户的预付款信息
},
success
:
function
(
res
){
if
(
res
&&
res
.
code
===
200
)
{
//保存会员预收款成功
}
},
error
:
function
(){
$
.
messager
.
alert
(
'
提示
'
,
'
保存信息异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
}
});
}
//批量删除财务信息
function
batDeleteAccountHead
(){
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
].
I
d
;
break
;
}
ids
+=
row
[
i
].
I
d
+
"
,
"
;
}
//批量更新会员的预收款信息
for
(
var
i
=
0
;
i
<
row
.
length
;
i
++
)
{
if
(
listType
===
"
收预付款
"
){
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/supplier/updateAdvanceIn
"
,
dataType
:
"
json
"
,
data
:{
supplierID
:
row
[
i
].
OrganId
,
//会员id
advanceIn
:
0
-
row
[
i
].
TotalPrice
//删除时同时删除用户的预付款信息
},
success
:
function
(
res
){
if
(
res
&&
res
.
code
===
200
)
{
//保存会员预收款成功
}
},
error
:
function
(){
$
.
messager
.
alert
(
'
提示
'
,
'
保存信息异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
}
//批量删除
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/accountHead/batchDelete
"
,
dataType
:
"
json
"
,
async
:
false
,
data
:
({
ids
:
ids
}),
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
$
(
"
#searchBtn
"
).
click
();
$
(
"
:checkbox
"
).
attr
(
"
checked
"
,
false
);
}
else
{
$
.
messager
.
alert
(
'
删除提示
'
,
'
删除财务信息失败,请稍后再试!
'
,
'
error
'
);
}
},
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
addAccountHead
(){
$
(
"
#clientIp
"
).
val
(
clientIp
);
$
(
'
#accountHeadFM
'
).
form
(
'
clear
'
);
var
thisDateTime
=
getNowFormatDateTime
();
//当前时间
$
(
"
#BillTime
"
).
val
(
thisDateTime
);
var
thisNumber
=
getNowFormatDateNum
();
//根据时间生成编号
$
(
"
#BillNo
"
).
val
(
amountNum
+
thisNumber
).
focus
();
var
addTitle
=
listTitle
.
replace
(
"
列表
"
,
"
信息
"
);
$
(
'
#accountHeadDlg
'
).
dialog
(
'
open
'
).
dialog
(
'
setTitle
'
,
'
<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加
'
+
addTitle
);
$
(
"
.window-mask
"
).
css
({
width
:
webW
,
height
:
webH
});
orgAccountHead
=
""
;
accountHeadID
=
0
;
initTableData_account
(
"
add
"
);
//明细列表
reject
();
//撤销下、刷新材料列表
url
=
'
/accountHead/add
'
;
//收预付款单据支持刷卡功能
if
(
listType
==
"
收预付款
"
)
{
//当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器
$
(
"
#OrganId
"
).
next
().
find
(
"
input
"
).
off
(
"
keyup
"
).
on
(
"
keyup
"
,
function
(){
if
(
$
(
this
).
val
().
length
===
10
){
setTimeout
(
function
(){
$
(
"
.combo-panel .combobox-item-selected
"
).
click
();
},
500
);
}
});
}
}
//编辑信息
function
editAccountHead
(
accountHeadTotalInfo
){
var
accountHeadInfo
=
accountHeadTotalInfo
.
split
(
"
AaBb
"
);
$
(
"
#clientIp
"
).
val
(
clientIp
);
$
(
"
#BillNo
"
).
val
(
accountHeadInfo
[
1
]);
$
(
"
#BillTime
"
).
val
(
accountHeadInfo
[
2
]);
$
(
"
#Remark
"
).
val
(
accountHeadInfo
[
3
]);
$
(
"
#AccountId
"
).
val
(
accountHeadInfo
[
4
]);
$
(
'
#OrganId
'
).
combobox
(
'
setValue
'
,
accountHeadInfo
[
6
]);
$
(
"
#HandsPersonId
"
).
val
(
accountHeadInfo
[
8
]);
$
(
"
#ChangeAmount
"
).
val
(
accountHeadInfo
[
10
]);
var
TotalPrice
=
accountHeadInfo
[
11
];
preTotalPrice
=
accountHeadInfo
[
11
];
//记录前一次合计金额,用于收预付款
var
editTitle
=
listTitle
.
replace
(
"
列表
"
,
"
信息
"
);
$
(
'
#accountHeadDlg
'
).
dialog
(
'
open
'
).
dialog
(
'
setTitle
'
,
'
<img src="
'
+
'
/js/easyui-1.3.5/themes/icons/pencil.png"/> 编辑
'
+
editTitle
);
$
(
"
.window-mask
"
).
css
({
width
:
webW
,
height
:
webH
});
accountHeadID
=
accountHeadInfo
[
0
];
initTableData_account
(
"
edit
"
,
TotalPrice
);
//明细列表
reject
();
//撤销下、刷新列表
url
=
'
/accountHead/update?id=
'
+
accountHeadInfo
[
0
];
}
//查看信息
function
showAccountHead
(
accountHeadTotalInfo
){
var
accountHeadInfo
=
accountHeadTotalInfo
.
split
(
"
AaBb
"
);
$
(
"
#BillNoShow
"
).
text
(
accountHeadInfo
[
1
]);
$
(
"
#BillTimeShow
"
).
text
(
accountHeadInfo
[
2
]);
$
(
"
#RemarkShow
"
).
text
(
accountHeadInfo
[
3
]);
$
(
"
#AccountIdShow
"
).
text
(
accountHeadInfo
[
5
]);
$
(
'
#OrganIdShow
'
).
text
(
accountHeadInfo
[
7
]);
$
(
"
#HandsPersonIdShow
"
).
text
(
accountHeadInfo
[
9
]);
$
(
"
#ChangeAmountShow
"
).
text
(
accountHeadInfo
[
10
]);
var
TotalPrice
=
accountHeadInfo
[
11
];
var
showTitle
=
listTitle
.
replace
(
"
列表
"
,
"
信息
"
);
$
(
'
#accountHeadDlgShow
'
).
dialog
(
'
open
'
).
dialog
(
'
setTitle
'
,
'
<img src="/js/easyui-1.3.5/themes/icons/list.png"/> 查看
'
+
showTitle
);
$
(
"
.window-mask
"
).
css
({
width
:
webW
,
height
:
webH
});
accountHeadID
=
accountHeadInfo
[
0
];
initTableData_account_show
(
TotalPrice
);
//明细列表-查看状态
}
//绑定操作事件
function
bindEvent
(){
//搜索处理
$
(
"
#searchBtn
"
).
unbind
().
bind
({
click
:
function
()
{
showAccountHeadDetails
(
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
});
}
});
//重置按钮
$
(
"
#searchResetBtn
"
).
unbind
().
bind
({
click
:
function
(){
$
(
"
#searchBillNo
"
).
val
(
""
);
$
(
"
#searchBeginTime
"
).
val
(
""
);
$
(
"
#searchEndTime
"
).
val
(
""
);
//加载完以后重新初始化
$
(
"
#searchBtn
"
).
click
();
}
});
//保存信息
$
(
"
#saveAccountHead
"
).
off
(
"
click
"
).
on
(
"
click
"
,
function
()
{
if
(
!
$
(
'
#accountHeadFM
'
).
form
(
'
validate
'
)){
return
;
}
else
{
if
(
listTitle
===
"
收入单列表
"
)
{
if
(
!
$
(
'
#AccountId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择收款账户!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
))
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择往来单位!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
}
else
if
(
listTitle
===
"
支出单列表
"
)
{
if
(
!
$
(
'
#AccountId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择付款账户!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
))
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择往来单位!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
}
else
if
(
listTitle
===
"
收款单列表
"
)
{
if
(
!
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
))
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择付款单位!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
}
else
if
(
listTitle
===
"
付款单列表
"
)
{
if
(
!
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
))
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择收款单位!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
}
else
if
(
listTitle
===
"
转账单列表
"
)
{
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#AccountId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择付款账户!
'
,
'
warning
'
);
return
;
}
}
else
if
(
listTitle
===
"
收预付款列表
"
)
{
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
))
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择付款会员!
'
,
'
warning
'
);
return
;
}
}
var
OrganId
=
null
;
var
ChangeAmount
=
$
.
trim
(
$
(
"
#ChangeAmount
"
).
val
());
var
TotalPrice
=
$
(
"
#accountHeadFM .datagrid-footer [field='EachAmount'] div
"
).
text
();
if
(
listType
!==
"
转账
"
)
{
OrganId
=
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
);
}
if
(
listType
===
"
支出
"
||
listType
===
"
转账
"
)
{
//支出为负数
ChangeAmount
=
0
-
ChangeAmount
;
}
if
(
listType
===
"
支出
"
||
listType
===
"
付款
"
||
listType
===
"
转账
"
)
{
//支出和付款为负数
TotalPrice
=
0
-
TotalPrice
;
}
//更新会员的预收款信息
if
(
listType
===
"
收预付款
"
)
{
var
advanceIn
=
0
;
//预付款金额
if
(
accountHeadID
)
{
advanceIn
=
TotalPrice
-
preTotalPrice
;
//修改时,预付款=合计金额-加载金额
}
else
{
advanceIn
=
TotalPrice
;
//新增时,预付款=合计金额
}
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/supplier/updateAdvanceIn
"
,
dataType
:
"
json
"
,
data
:
{
supplierID
:
OrganId
,
advanceIn
:
advanceIn
},
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
//保存会员预收款成功
}
},
error
:
function
()
{
$
.
messager
.
alert
(
'
提示
'
,
'
保存信息异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
//保存单位信息
$
.
ajax
({
type
:
"
post
"
,
url
:
url
,
dataType
:
"
json
"
,
async
:
false
,
data
:
({
info
:
JSON
.
stringify
({
Type
:
listType
,
BillNo
:
$
.
trim
(
$
(
"
#BillNo
"
).
val
()),
BillTime
:
$
.
trim
(
$
(
"
#BillTime
"
).
val
()),
AccountId
:
$
.
trim
(
$
(
"
#AccountId
"
).
val
()),
ChangeAmount
:
ChangeAmount
,
//付款/收款/优惠/实付
TotalPrice
:
TotalPrice
,
//合计
OrganId
:
OrganId
,
HandsPersonId
:
$
.
trim
(
$
(
"
#HandsPersonId
"
).
val
()),
Remark
:
$
.
trim
(
$
(
"
#Remark
"
).
val
())
})
}),
success
:
function
(
tipInfo
)
{
if
(
tipInfo
)
{
//保存明细记录
if
(
accountHeadID
==
0
)
{
getMaxId
();
//查找最大的Id
accept
(
accountHeadMaxId
,
listType
);
//新增
}
else
{
accept
(
accountHeadID
,
listType
);
//修改
}
$
(
'
#accountHeadDlg
'
).
dialog
(
'
close
'
);
var
opts
=
$
(
"
#tableData
"
).
datagrid
(
'
options
'
);
showAccountHeadDetails
(
opts
.
pageNumber
,
opts
.
pageSize
);
}
else
{
$
.
messager
.
show
({
title
:
'
错误提示
'
,
msg
:
'
保存信息失败,请稍后重试!
'
});
}
},
//此处添加错误处理
error
:
function
()
{
$
.
messager
.
alert
(
'
提示
'
,
'
保存信息异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
});
//初始化键盘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键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
if
(
k
==
"
13
"
&&
(
obj
.
id
==
"
BillNo
"
||
obj
.
id
==
"
BillTime
"
))
{
$
(
"
#saveAccountHead
"
).
click
();
}
//搜索按钮添加快捷键
if
(
k
==
"
13
"
&&
(
obj
.
id
==
"
searchBillNo
"
))
{
$
(
"
#searchBtn
"
).
click
();
}
});
}
function
showAccountHeadDetails
(
pageNo
,
pageSize
){
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/accountHead/list
"
,
dataType
:
"
json
"
,
data
:
({
search
:
JSON
.
stringify
({
type
:
listType
,
billNo
:
$
.
trim
(
$
(
"
#searchBillNo
"
).
val
()),
beginTime
:
$
(
"
#searchBeginTime
"
).
val
(),
endTime
:
$
(
"
#searchEndTime
"
).
val
()
}),
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
;
}
});
}
//自动计算事件
function
autoReckon
()
{
//延时绑定事件
setTimeout
(
function
(){
var
body
=
$
(
"
#accountHeadFM .datagrid-body
"
);
var
footer
=
$
(
"
#accountHeadFM .datagrid-footer
"
);
var
input
=
"
.datagrid-editable-input
"
;
//修改金额,自动计算单价和合计
body
.
find
(
"
[field='EachAmount']
"
).
find
(
input
).
off
(
"
keyup
"
).
on
(
"
keyup
"
,
function
(){
var
TotalPrice
=
0
;
var
EachAmount
=
$
(
this
).
val
()
-
0
;
//金额
body
.
find
(
"
[field='EachAmount']
"
).
each
(
function
(){
if
(
$
(
this
).
find
(
"
div
"
).
text
()
!==
""
){
TotalPrice
=
TotalPrice
+
parseFloat
(
$
(
this
).
find
(
"
div
"
).
text
().
toString
());
}
});
TotalPrice
=
TotalPrice
+
EachAmount
;
footer
.
find
(
"
[field='EachAmount']
"
).
find
(
"
div
"
).
text
((
TotalPrice
).
toFixed
(
2
));
});
},
500
);
}
//结束编辑
function
endEditing
()
{
var
edField
=
""
;
if
(
!
itemType
){
edField
=
"
InOutItemId
"
;
edName
=
"
InOutItemName
"
;
}
else
{
edField
=
"
AccountId
"
;
edName
=
"
AccountName
"
;
}
if
(
editIndex
==
undefined
)
{
return
true
}
if
(
$
(
'
#accountData
'
).
datagrid
(
'
validateRow
'
,
editIndex
))
{
var
ed
=
$
(
'
#accountData
'
).
datagrid
(
'
getEditor
'
,
{
index
:
editIndex
,
field
:
edField
});
var
textName
=
$
(
ed
.
target
).
combobox
(
'
getText
'
);
$
(
'
#accountData
'
).
datagrid
(
'
getRows
'
)[
editIndex
][
edName
]
=
textName
;
$
(
'
#accountData
'
).
datagrid
(
'
endEdit
'
,
editIndex
);
editIndex
=
undefined
;
return
true
;
}
else
{
return
false
;
}
}
//单击
function
onClickRow
(
index
)
{
if
(
editIndex
!=
index
)
{
if
(
endEditing
())
{
$
(
'
#accountData
'
).
datagrid
(
'
selectRow
'
,
index
)
.
datagrid
(
'
beginEdit
'
,
index
);
editIndex
=
index
;
autoReckon
();
}
else
{
$
(
'
#accountData
'
).
datagrid
(
'
selectRow
'
,
editIndex
);
}
}
}
//新增
function
append
()
{
if
(
endEditing
())
{
$
(
'
#accountData
'
).
datagrid
(
'
appendRow
'
,
{});
editIndex
=
$
(
'
#accountData
'
).
datagrid
(
'
getRows
'
).
length
-
1
;
$
(
'
#accountData
'
).
datagrid
(
'
selectRow
'
,
editIndex
).
datagrid
(
'
beginEdit
'
,
editIndex
);
autoReckon
();
}
}
//删除
function
removeit
()
{
if
(
editIndex
==
undefined
)
{
return
}
$
(
'
#accountData
'
).
datagrid
(
'
cancelEdit
'
,
editIndex
)
.
datagrid
(
'
deleteRow
'
,
editIndex
);
editIndex
=
undefined
;
}
//撤销
function
reject
()
{
$
(
'
#accountData
'
).
datagrid
(
'
rejectChanges
'
);
editIndex
=
undefined
;
}
//判断
function
CheckData
()
{
var
row
=
$
(
'
#accountData
'
).
datagrid
(
'
getRows
'
);
var
totalRowNum
=
""
;
for
(
var
i
=
0
;
i
<
row
.
length
;
i
++
)
{
if
(
!
itemType
){
if
(
row
[
i
].
InOutItemId
==
""
)
{
totalRowNum
+=
(
i
+
1
)
+
"
、
"
;
}
}
else
{
if
(
row
[
i
].
AccountId
==
""
)
{
totalRowNum
+=
(
i
+
1
)
+
"
、
"
;
}
}
}
if
(
totalRowNum
!=
""
)
{
var
totalRowNum
=
totalRowNum
.
substring
(
0
,
totalRowNum
.
length
-
1
);
$
.
messager
.
alert
(
'
提示
'
,
"
第
"
+
totalRowNum
+
"
行数据填写不完整!
"
,
'
info
'
);
return
false
;
}
return
true
;
}
//保存
function
accept
(
accepId
,
listType
)
{
append
();
removeit
();
if
(
$
(
"
#accountData
"
).
datagrid
(
'
getChanges
'
).
length
)
{
if
(
!
CheckData
())
return
false
;
var
inserted
=
$
(
"
#accountData
"
).
datagrid
(
'
getChanges
'
,
"
inserted
"
);
var
deleted
=
$
(
"
#accountData
"
).
datagrid
(
'
getChanges
'
,
"
deleted
"
);
var
updated
=
$
(
"
#accountData
"
).
datagrid
(
'
getChanges
'
,
"
updated
"
);
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/accountItem/saveDetials
"
,
data
:
{
inserted
:
JSON
.
stringify
(
inserted
),
deleted
:
JSON
.
stringify
(
deleted
),
updated
:
JSON
.
stringify
(
updated
),
headerId
:
accepId
,
listType
:
listType
},
success
:
function
(
tipInfo
)
{
if
(
tipInfo
)
{
$
.
messager
.
alert
(
'
提示
'
,
'
保存成功!
'
,
'
info
'
);
}
else
$
.
messager
.
alert
(
'
提示
'
,
'
保存失败!
'
,
'
error
'
);
},
error
:
function
(
XmlHttpRequest
,
textStatus
,
errorThrown
)
{
$
.
messager
.
alert
(
'
提示
'
,
XmlHttpRequest
.
responseText
,
'
error
'
);
}
});
}
if
(
endEditing
())
{
$
(
'
#accountData
'
).
datagrid
(
'
acceptChanges
'
);
}
}
//获取MaxId
function
getMaxId
(){
var
accountHeadMax
=
null
;
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/accountHead/getMaxId
"
,
//设置为同步
async
:
false
,
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
if
(
res
.
data
)
{
accountHeadMax
=
res
.
data
.
maxId
;
}
}
}
});
if
(
accountHeadMax
!=
null
)
{
accountHeadMaxId
=
accountHeadMax
;
}
//初始化界面
$
(
function
(){
var
accountList
=
null
;
var
accountID
=
null
;
var
supplierList
=
null
;
var
supplierID
=
null
;
var
personList
=
null
;
var
personID
=
null
;
var
ProjectSearch
=
null
;
var
accountHeadMaxId
=
null
;
//获取最大的Id
var
accepId
=
null
;
//保存的主表id
var
url
;
var
accountHeadID
=
0
;
var
preTotalPrice
=
0
;
//前一次加载的金额
var
orgAccountHead
=
""
;
//保存编辑前的名称
var
editIndex
=
undefined
;
var
listTitle
=
""
;
//单据标题
var
payTypeTitle
=
""
;
//收入 支出
var
organUrl
=
""
;
//组织数据接口地址
var
amountNum
=
""
;
//单据编号开头字符
var
itemType
=
true
;
//隐藏当前列
var
moneyType
=
true
;
//隐藏当前列
var
inOrOut
=
""
;
//链接类型为收入或者支出
getType
();
initSystemData_person
();
//经手人数据
initSelectInfo_person
();
//经手人信息
initSystemData_account
();
//账户数据
initSelectInfo_account
();
//账户信息
initSupplier
();
//供应商
initTableData
();
ininPager
();
initForm
();
bindEvent
();
//绑定操作事件
$
(
"
#searchBtn
"
).
click
();
});
//根据单据名称获取类型
function
getType
(){
listTitle
=
$
(
"
#tablePanel
"
).
prev
().
text
();
var
supUrl
=
"
/supplier/findBySelect_sup
"
;
//供应商接口
var
cusUrl
=
"
/supplier/findBySelect_cus
"
;
//客户接口
var
retailUrl
=
"
/supplier/findBySelect_retail
"
;
//散户接口
if
(
listTitle
===
"
收入单列表
"
){
listType
=
"
收入
"
;
itemType
=
false
;
//显示当前列
moneyType
=
true
;
//隐藏当前列
payTypeTitle
=
"
收入项目
"
;
inOrOut
=
"
in
"
;
organUrl
=
cusUrl
;
amountNum
=
"
SR
"
;
}
else
if
(
listTitle
===
"
支出单列表
"
){
listType
=
"
支出
"
;
itemType
=
false
;
//显示当前列
moneyType
=
true
;
//隐藏当前列
payTypeTitle
=
"
支出项目
"
;
inOrOut
=
"
out
"
;
organUrl
=
supUrl
;
amountNum
=
"
ZC
"
;
}
else
if
(
listTitle
===
"
收款单列表
"
){
listType
=
"
收款
"
;
itemType
=
true
;
//隐藏当前列
moneyType
=
false
;
//显示当前列
payTypeTitle
=
"
无标题
"
;
inOrOut
=
""
;
organUrl
=
cusUrl
;
amountNum
=
"
SK
"
;
}
else
if
(
listTitle
===
"
付款单列表
"
){
listType
=
"
付款
"
;
itemType
=
true
;
//隐藏当前列
moneyType
=
false
;
//显示当前列
payTypeTitle
=
"
无标题
"
;
inOrOut
=
""
;
organUrl
=
supUrl
;
amountNum
=
"
FK
"
;
}
else
if
(
listTitle
===
"
转账单列表
"
){
listType
=
"
转账
"
;
itemType
=
true
;
//隐藏当前列
moneyType
=
false
;
//显示当前列
payTypeTitle
=
"
无标题
"
;
inOrOut
=
""
;
organUrl
=
supUrl
;
amountNum
=
"
ZZ
"
;
}
else
if
(
listTitle
===
"
收预付款列表
"
){
listType
=
"
收预付款
"
;
itemType
=
true
;
//隐藏当前列
moneyType
=
false
;
//显示当前列
payTypeTitle
=
"
无标题
"
;
inOrOut
=
""
;
organUrl
=
retailUrl
;
amountNum
=
"
SYF
"
;
}
}
//获取账户信息
function
initSystemData_account
(){
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/account/getAccount
"
,
//设置为同步
async
:
false
,
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
if
(
res
.
data
)
{
accountList
=
res
.
data
.
accountList
;
}
}
}
});
}
//获取账户信息
function
initSelectInfo_account
(){
var
options
=
""
;
if
(
accountList
!=
null
)
{
options
=
""
;
for
(
var
i
=
0
;
i
<
accountList
.
length
;
i
++
)
{
var
account
=
accountList
[
i
];
options
+=
'
<option value="
'
+
account
.
id
+
'
">
'
+
account
.
name
+
'
</option>
'
;
}
$
(
"
#AccountId
"
).
empty
().
append
(
options
);
}
}
//初始化单位信息
function
initSupplier
(){
$
(
'
#OrganId
'
).
combobox
({
url
:
organUrl
,
valueField
:
'
id
'
,
textField
:
'
supplier
'
,
formatter
:
function
(
row
){
var
opts
=
$
(
this
).
combobox
(
'
options
'
);
if
(
row
[
opts
.
textField
]
!==
"
非会员
"
)
{
return
row
[
opts
.
textField
];
}
}
});
}
//获取财务员
function
initSystemData_person
(){
var
type
=
"
财务员
"
;
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/person/getPersonByType
"
,
data
:
{
type
:
type
},
//设置为同步
async
:
false
,
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
personList
=
res
.
data
.
personList
;
}
}
});
}
//获取财务员
function
initSelectInfo_person
(){
var
options
=
""
;
if
(
personList
!=
null
)
{
for
(
var
i
=
0
;
i
<
personList
.
length
;
i
++
)
{
var
person
=
personList
[
i
];
if
(
0
==
i
)
{
personID
=
person
.
id
;
}
if
(
person
.
type
==
"
财务员
"
)
{
options
+=
'
<option value="
'
+
person
.
id
+
'
">
'
+
person
.
name
+
'
</option>
'
;
}
}
$
(
"
#HandsPersonId
"
).
empty
().
append
(
options
);
}
}
//防止表单提交重复
function
initForm
(){
$
(
'
#accountHeadFM
'
).
form
({
onSubmit
:
function
(){
return
false
;
}
});
}
//初始化表格数据
function
initTableData
(){
var
organNameTitle
=
""
;
var
organNameHidden
=
false
;
if
(
listType
===
"
收入
"
||
listType
===
"
支出
"
)
{
organNameTitle
=
"
往来单位
"
;
}
else
if
(
listType
===
"
收款
"
)
{
organNameTitle
=
"
付款单位
"
;
}
else
if
(
listType
===
"
付款
"
)
{
organNameTitle
=
"
收款单位
"
;
}
else
if
(
listType
===
"
收预付款
"
)
{
organNameTitle
=
"
付款会员
"
;
}
if
(
listType
===
"
转账
"
)
{
organNameHidden
=
true
;
}
$
(
'
#tableData
'
).
datagrid
({
//width:700,
height
:
heightInfo
,
rownumbers
:
false
,
//动画效果
animate
:
false
,
//选中单行
singleSelect
:
true
,
collapsible
:
false
,
selectOnCheck
:
false
,
//fitColumns:true,
//单击行是否选中
//checkOnSelect : false,
pagination
:
true
,
//交替出现背景
striped
:
true
,
//loadFilter: pagerFilter,
pageSize
:
5
,
pageList
:
initPageNum
,
columns
:[[
{
field
:
'
id
'
,
width
:
35
,
align
:
"
center
"
,
checkbox
:
true
},
{
title
:
'
操作
'
,
field
:
'
op
'
,
align
:
"
center
"
,
width
:
90
,
formatter
:
function
(
value
,
rec
)
{
var
str
=
''
;
var
rowInfo
=
rec
.
id
+
'
AaBb
'
+
rec
.
billno
+
'
AaBb
'
+
rec
.
billtime
+
'
AaBb
'
+
rec
.
remark
+
'
AaBb
'
+
rec
.
accountid
+
'
AaBb
'
+
rec
.
accountname
+
'
AaBb
'
+
rec
.
organid
+
'
AaBb
'
+
rec
.
organname
+
'
AaBb
'
+
rec
.
handspersonid
+
'
AaBb
'
+
rec
.
handspersonname
+
'
AaBb
'
+
rec
.
changeamount
+
'
AaBb
'
+
rec
.
totalprice
;
var
orgId
=
rec
.
organid
?
rec
.
organid
:
0
;
str
+=
'
<img title="查看" src="/js/easyui-1.3.5/themes/icons/list.png" style="cursor: pointer;" onclick="showAccountHead(
\'
'
+
rowInfo
+
'
\'
);"/>
'
;
str
+=
'
<img title="编辑" src="/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editAccountHead(
\'
'
+
rowInfo
+
'
\'
);"/>
'
;
str
+=
'
<img title="删除" src="/js/easyui-1.3.5/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteAccountHead(
'
+
rec
.
id
+
'
,
'
+
orgId
+
'
,
'
+
rec
.
totalprice
+
'
);"/>
'
;
return
str
;
}
},
{
field
:
'
organid
'
,
width
:
5
,
hidden
:
true
},
{
title
:
organNameTitle
,
field
:
'
organname
'
,
width
:
140
,
hidden
:
organNameHidden
},
{
title
:
'
单据编号
'
,
field
:
'
billno
'
,
width
:
140
},
{
title
:
'
经手人
'
,
field
:
'
handspersonname
'
,
width
:
80
},
{
title
:
'
单据时间
'
,
field
:
'
billtime
'
,
width
:
140
},
{
title
:
'
合计
'
,
field
:
'
totalprice
'
,
width
:
80
},
{
title
:
'
备注
'
,
field
:
'
remark
'
,
width
:
100
}
]],
toolbar
:[
{
id
:
'
addAccountHead
'
,
text
:
'
增加
'
,
iconCls
:
'
icon-add
'
,
handler
:
function
()
{
addAccountHead
();
}
},
{
id
:
'
deleteAccountHead
'
,
text
:
'
删除
'
,
iconCls
:
'
icon-remove
'
,
handler
:
function
()
{
batDeleteAccountHead
();
}
}
],
onLoadError
:
function
()
{
$
.
messager
.
alert
(
'
页面加载提示
'
,
'
页面加载异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
//初始化表格数据-明细列表-编辑状态
function
initTableData_account
(
type
,
TotalPrice
){
$
(
'
#accountData
'
).
datagrid
({
height
:
280
,
rownumbers
:
false
,
//动画效果
animate
:
false
,
//选中单行
singleSelect
:
true
,
collapsible
:
false
,
selectOnCheck
:
false
,
//单击行是否选中
checkOnSelect
:
false
,
pagination
:
false
,
//交替出现背景
striped
:
true
,
showFooter
:
true
,
//loadFilter: pagerFilter,
onClickRow
:
onClickRow
,
columns
:[[
{
field
:
'
Id
'
,
width
:
35
,
align
:
"
center
"
,
checkbox
:
true
},
{
title
:
payTypeTitle
,
field
:
'
InOutItemId
'
,
width
:
230
,
hidden
:
itemType
,
formatter
:
function
(
value
,
row
,
index
){
return
row
.
InOutItemName
;
},
editor
:{
type
:
'
combobox
'
,
options
:{
valueField
:
'
Id
'
,
textField
:
'
InOutItemName
'
,
method
:
'
get
'
,
url
:
"
/inOutItem/findBySelect?type=
"
+
inOrOut
}
}
},
{
title
:
'
账户名称
'
,
field
:
'
AccountId
'
,
width
:
230
,
hidden
:
moneyType
,
formatter
:
function
(
value
,
row
,
index
){
return
row
.
AccountName
;
},
editor
:{
type
:
'
combobox
'
,
options
:{
valueField
:
'
Id
'
,
textField
:
'
AccountName
'
,
method
:
'
get
'
,
url
:
"
/account/findBySelect
"
}
}
},
{
title
:
'
金额
'
,
field
:
'
EachAmount
'
,
editor
:
'
validatebox
'
,
width
:
70
},
{
title
:
'
备注
'
,
field
:
'
Remark
'
,
editor
:
'
validatebox
'
,
width
:
150
}
]],
toolbar
:[
{
id
:
'
append
'
,
text
:
'
新增
'
,
iconCls
:
'
icon-add
'
,
handler
:
function
()
{
append
();
//新增
}
},
{
id
:
'
delete
'
,
text
:
'
删除
'
,
iconCls
:
'
icon-remove
'
,
handler
:
function
()
{
removeit
();
//删除
}
},
{
id
:
'
reject
'
,
text
:
'
撤销
'
,
iconCls
:
'
icon-undo
'
,
handler
:
function
()
{
reject
();
//撤销
}
}
],
onLoadError
:
function
()
{
$
.
messager
.
alert
(
'
页面加载提示
'
,
'
页面加载异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
$
.
ajax
({
type
:
"
get
"
,
url
:
'
/accountItem/getDetailList
'
,
data
:
{
headerId
:
accountHeadID
},
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
var
data
=
res
.
data
;
var
EachAmount
=
0
;
if
(
type
===
"
edit
"
)
{
EachAmount
=
TotalPrice
;
}
var
array
=
[];
array
.
push
({
"
EachAmount
"
:
EachAmount
});
data
.
footer
=
array
;
$
(
"
#accountData
"
).
datagrid
(
'
loadData
'
,
data
);
}
},
error
:
function
()
{
$
.
messager
.
alert
(
'
查询提示
'
,
'
查询数据后台异常,请稍后再试!
'
,
'
error
'
);
}
});
}
//初始化表格数据-明细列表-查看状态
function
initTableData_account_show
(
TotalPrice
){
$
(
'
#accountDataShow
'
).
datagrid
({
height
:
280
,
rownumbers
:
true
,
//动画效果
animate
:
false
,
//选中单行
singleSelect
:
true
,
collapsible
:
false
,
selectOnCheck
:
false
,
//单击行是否选中
checkOnSelect
:
false
,
pagination
:
false
,
//交替出现背景
striped
:
true
,
showFooter
:
true
,
//loadFilter: pagerFilter,
onClickRow
:
onClickRow
,
columns
:[[
{
title
:
payTypeTitle
,
field
:
'
InOutItemName
'
,
width
:
230
,
hidden
:
itemType
},
{
title
:
'
账户名称
'
,
field
:
'
AccountName
'
,
width
:
230
,
hidden
:
moneyType
},
{
title
:
'
金额
'
,
field
:
'
EachAmount
'
,
width
:
70
},
{
title
:
'
备注
'
,
field
:
'
Remark
'
,
width
:
150
}
]],
onLoadError
:
function
()
{
$
.
messager
.
alert
(
'
页面加载提示
'
,
'
页面加载异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
$
.
ajax
({
type
:
"
get
"
,
url
:
'
/accountItem/getDetailList
'
,
data
:
{
headerId
:
accountHeadID
},
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
var
data
=
res
.
data
;
var
EachAmount
=
TotalPrice
;
var
array
=
[];
array
.
push
({
"
EachAmount
"
:
EachAmount
});
data
.
footer
=
array
;
$
(
"
#accountDataShow
"
).
datagrid
(
'
loadData
'
,
data
);
}
},
error
:
function
()
{
$
.
messager
.
alert
(
'
查询提示
'
,
'
查询数据后台异常,请稍后再试!
'
,
'
error
'
);
}
});
}
//分页信息处理
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
});
showAccountHeadDetails
(
pageNum
,
pageSize
);
}
});
}
catch
(
e
)
{
$
.
messager
.
alert
(
'
异常处理提示
'
,
"
分页信息异常 :
"
+
e
.
name
+
"
:
"
+
e
.
message
,
'
error
'
);
}
}
//删除财务信息
function
deleteAccountHead
(
accountHeadID
,
thisOrganId
,
totalPrice
){
$
.
messager
.
confirm
(
'
删除确认
'
,
'
确定要删除此财务信息吗?
'
,
function
(
r
)
{
if
(
r
)
{
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/accountHead/
"
+
accountHeadID
+
"
/delete
"
,
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
==
200
)
{
$
(
"
#searchBtn
"
).
click
();
}
else
{
$
.
messager
.
alert
(
'
删除提示
'
,
'
删除财务信息失败,请稍后再试!
'
,
'
error
'
);
}
},
//此处添加错误处理
error
:
function
()
{
$
.
messager
.
alert
(
'
删除提示
'
,
'
删除财务信息异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
//更新会员的预收款信息
if
(
listType
===
"
收预付款
"
){
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/supplier/updateAdvanceIn
"
,
dataType
:
"
json
"
,
data
:{
supplierID
:
thisOrganId
,
//会员id
advanceIn
:
0
-
totalPrice
//删除时同时删除用户的预付款信息
},
success
:
function
(
res
){
if
(
res
&&
res
.
code
===
200
)
{
//保存会员预收款成功
}
},
error
:
function
(){
$
.
messager
.
alert
(
'
提示
'
,
'
保存信息异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
}
});
}
//批量删除财务信息
function
batDeleteAccountHead
(){
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
].
i
d
;
break
;
}
ids
+=
row
[
i
].
i
d
+
"
,
"
;
}
//批量更新会员的预收款信息
for
(
var
i
=
0
;
i
<
row
.
length
;
i
++
)
{
if
(
listType
===
"
收预付款
"
){
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/supplier/updateAdvanceIn
"
,
dataType
:
"
json
"
,
data
:{
supplierID
:
row
[
i
].
OrganId
,
//会员id
advanceIn
:
0
-
row
[
i
].
TotalPrice
//删除时同时删除用户的预付款信息
},
success
:
function
(
res
){
if
(
res
&&
res
.
code
===
200
)
{
//保存会员预收款成功
}
},
error
:
function
(){
$
.
messager
.
alert
(
'
提示
'
,
'
保存信息异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
}
//批量删除
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/accountHead/batchDelete
"
,
dataType
:
"
json
"
,
async
:
false
,
data
:
({
ids
:
ids
}),
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
$
(
"
#searchBtn
"
).
click
();
$
(
"
:checkbox
"
).
attr
(
"
checked
"
,
false
);
}
else
{
$
.
messager
.
alert
(
'
删除提示
'
,
'
删除财务信息失败,请稍后再试!
'
,
'
error
'
);
}
},
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
addAccountHead
(){
$
(
"
#clientIp
"
).
val
(
clientIp
);
$
(
'
#accountHeadFM
'
).
form
(
'
clear
'
);
var
thisDateTime
=
getNowFormatDateTime
();
//当前时间
$
(
"
#BillTime
"
).
val
(
thisDateTime
);
var
thisNumber
=
getNowFormatDateNum
();
//根据时间生成编号
$
(
"
#BillNo
"
).
val
(
amountNum
+
thisNumber
).
focus
();
var
addTitle
=
listTitle
.
replace
(
"
列表
"
,
"
信息
"
);
$
(
'
#accountHeadDlg
'
).
dialog
(
'
open
'
).
dialog
(
'
setTitle
'
,
'
<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加
'
+
addTitle
);
$
(
"
.window-mask
"
).
css
({
width
:
webW
,
height
:
webH
});
orgAccountHead
=
""
;
accountHeadID
=
0
;
initTableData_account
(
"
add
"
);
//明细列表
reject
();
//撤销下、刷新材料列表
url
=
'
/accountHead/add
'
;
//收预付款单据支持刷卡功能
if
(
listType
==
"
收预付款
"
)
{
//当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器
$
(
"
#OrganId
"
).
next
().
find
(
"
input
"
).
off
(
"
keyup
"
).
on
(
"
keyup
"
,
function
(){
if
(
$
(
this
).
val
().
length
===
10
){
setTimeout
(
function
(){
$
(
"
.combo-panel .combobox-item-selected
"
).
click
();
},
500
);
}
});
}
}
//编辑信息
function
editAccountHead
(
accountHeadTotalInfo
){
var
accountHeadInfo
=
accountHeadTotalInfo
.
split
(
"
AaBb
"
);
$
(
"
#clientIp
"
).
val
(
clientIp
);
$
(
"
#BillNo
"
).
val
(
accountHeadInfo
[
1
]);
$
(
"
#BillTime
"
).
val
(
accountHeadInfo
[
2
]);
$
(
"
#Remark
"
).
val
(
accountHeadInfo
[
3
]);
$
(
"
#AccountId
"
).
val
(
accountHeadInfo
[
4
]);
$
(
'
#OrganId
'
).
combobox
(
'
setValue
'
,
accountHeadInfo
[
6
]);
$
(
"
#HandsPersonId
"
).
val
(
accountHeadInfo
[
8
]);
$
(
"
#ChangeAmount
"
).
val
(
accountHeadInfo
[
10
]);
var
TotalPrice
=
accountHeadInfo
[
11
];
preTotalPrice
=
accountHeadInfo
[
11
];
//记录前一次合计金额,用于收预付款
var
editTitle
=
listTitle
.
replace
(
"
列表
"
,
"
信息
"
);
$
(
'
#accountHeadDlg
'
).
dialog
(
'
open
'
).
dialog
(
'
setTitle
'
,
'
<img src="
'
+
'
/js/easyui-1.3.5/themes/icons/pencil.png"/> 编辑
'
+
editTitle
);
$
(
"
.window-mask
"
).
css
({
width
:
webW
,
height
:
webH
});
accountHeadID
=
accountHeadInfo
[
0
];
initTableData_account
(
"
edit
"
,
TotalPrice
);
//明细列表
reject
();
//撤销下、刷新列表
url
=
'
/accountHead/update?id=
'
+
accountHeadInfo
[
0
];
}
//查看信息
function
showAccountHead
(
accountHeadTotalInfo
){
var
accountHeadInfo
=
accountHeadTotalInfo
.
split
(
"
AaBb
"
);
$
(
"
#BillNoShow
"
).
text
(
accountHeadInfo
[
1
]);
$
(
"
#BillTimeShow
"
).
text
(
accountHeadInfo
[
2
]);
$
(
"
#RemarkShow
"
).
text
(
accountHeadInfo
[
3
]);
$
(
"
#AccountIdShow
"
).
text
(
accountHeadInfo
[
5
]);
$
(
'
#OrganIdShow
'
).
text
(
accountHeadInfo
[
7
]);
$
(
"
#HandsPersonIdShow
"
).
text
(
accountHeadInfo
[
9
]);
$
(
"
#ChangeAmountShow
"
).
text
(
accountHeadInfo
[
10
]);
var
TotalPrice
=
accountHeadInfo
[
11
];
var
showTitle
=
listTitle
.
replace
(
"
列表
"
,
"
信息
"
);
$
(
'
#accountHeadDlgShow
'
).
dialog
(
'
open
'
).
dialog
(
'
setTitle
'
,
'
<img src="/js/easyui-1.3.5/themes/icons/list.png"/> 查看
'
+
showTitle
);
$
(
"
.window-mask
"
).
css
({
width
:
webW
,
height
:
webH
});
accountHeadID
=
accountHeadInfo
[
0
];
initTableData_account_show
(
TotalPrice
);
//明细列表-查看状态
}
//绑定操作事件
function
bindEvent
(){
//搜索处理
$
(
"
#searchBtn
"
).
unbind
().
bind
({
click
:
function
()
{
showAccountHeadDetails
(
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
});
}
});
//重置按钮
$
(
"
#searchResetBtn
"
).
unbind
().
bind
({
click
:
function
(){
$
(
"
#searchBillNo
"
).
val
(
""
);
$
(
"
#searchBeginTime
"
).
val
(
""
);
$
(
"
#searchEndTime
"
).
val
(
""
);
//加载完以后重新初始化
$
(
"
#searchBtn
"
).
click
();
}
});
//保存信息
$
(
"
#saveAccountHead
"
).
off
(
"
click
"
).
on
(
"
click
"
,
function
()
{
if
(
!
$
(
'
#accountHeadFM
'
).
form
(
'
validate
'
)){
return
;
}
else
{
if
(
listTitle
===
"
收入单列表
"
)
{
if
(
!
$
(
'
#AccountId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择收款账户!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
))
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择往来单位!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
}
else
if
(
listTitle
===
"
支出单列表
"
)
{
if
(
!
$
(
'
#AccountId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择付款账户!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
))
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择往来单位!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
}
else
if
(
listTitle
===
"
收款单列表
"
)
{
if
(
!
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
))
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择付款单位!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
}
else
if
(
listTitle
===
"
付款单列表
"
)
{
if
(
!
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
))
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择收款单位!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
}
else
if
(
listTitle
===
"
转账单列表
"
)
{
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#AccountId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择付款账户!
'
,
'
warning
'
);
return
;
}
}
else
if
(
listTitle
===
"
收预付款列表
"
)
{
if
(
!
$
(
'
#HandsPersonId
'
).
val
())
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择经手人!
'
,
'
warning
'
);
return
;
}
if
(
!
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
))
{
$
.
messager
.
alert
(
'
提示
'
,
'
请选择付款会员!
'
,
'
warning
'
);
return
;
}
}
var
OrganId
=
null
;
var
ChangeAmount
=
$
.
trim
(
$
(
"
#ChangeAmount
"
).
val
());
var
TotalPrice
=
$
(
"
#accountHeadFM .datagrid-footer [field='EachAmount'] div
"
).
text
();
if
(
listType
!==
"
转账
"
)
{
OrganId
=
$
(
'
#OrganId
'
).
combobox
(
'
getValue
'
);
}
if
(
listType
===
"
支出
"
||
listType
===
"
转账
"
)
{
//支出为负数
ChangeAmount
=
0
-
ChangeAmount
;
}
if
(
listType
===
"
支出
"
||
listType
===
"
付款
"
||
listType
===
"
转账
"
)
{
//支出和付款为负数
TotalPrice
=
0
-
TotalPrice
;
}
//更新会员的预收款信息
if
(
listType
===
"
收预付款
"
)
{
var
advanceIn
=
0
;
//预付款金额
if
(
accountHeadID
)
{
advanceIn
=
TotalPrice
-
preTotalPrice
;
//修改时,预付款=合计金额-加载金额
}
else
{
advanceIn
=
TotalPrice
;
//新增时,预付款=合计金额
}
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/supplier/updateAdvanceIn
"
,
dataType
:
"
json
"
,
data
:
{
supplierID
:
OrganId
,
advanceIn
:
advanceIn
},
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
//保存会员预收款成功
}
},
error
:
function
()
{
$
.
messager
.
alert
(
'
提示
'
,
'
保存信息异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
//保存单位信息
$
.
ajax
({
type
:
"
post
"
,
url
:
url
,
dataType
:
"
json
"
,
async
:
false
,
data
:
({
info
:
JSON
.
stringify
({
Type
:
listType
,
BillNo
:
$
.
trim
(
$
(
"
#BillNo
"
).
val
()),
BillTime
:
$
.
trim
(
$
(
"
#BillTime
"
).
val
()),
AccountId
:
$
.
trim
(
$
(
"
#AccountId
"
).
val
()),
ChangeAmount
:
ChangeAmount
,
//付款/收款/优惠/实付
TotalPrice
:
TotalPrice
,
//合计
OrganId
:
OrganId
,
HandsPersonId
:
$
.
trim
(
$
(
"
#HandsPersonId
"
).
val
()),
Remark
:
$
.
trim
(
$
(
"
#Remark
"
).
val
())
})
}),
success
:
function
(
tipInfo
)
{
if
(
tipInfo
)
{
//保存明细记录
if
(
accountHeadID
==
0
)
{
getMaxId
();
//查找最大的Id
accept
(
accountHeadMaxId
,
listType
);
//新增
}
else
{
accept
(
accountHeadID
,
listType
);
//修改
}
$
(
'
#accountHeadDlg
'
).
dialog
(
'
close
'
);
var
opts
=
$
(
"
#tableData
"
).
datagrid
(
'
options
'
);
showAccountHeadDetails
(
opts
.
pageNumber
,
opts
.
pageSize
);
}
else
{
$
.
messager
.
show
({
title
:
'
错误提示
'
,
msg
:
'
保存信息失败,请稍后重试!
'
});
}
},
//此处添加错误处理
error
:
function
()
{
$
.
messager
.
alert
(
'
提示
'
,
'
保存信息异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
});
//初始化键盘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键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
if
(
k
==
"
13
"
&&
(
obj
.
id
==
"
BillNo
"
||
obj
.
id
==
"
BillTime
"
))
{
$
(
"
#saveAccountHead
"
).
click
();
}
//搜索按钮添加快捷键
if
(
k
==
"
13
"
&&
(
obj
.
id
==
"
searchBillNo
"
))
{
$
(
"
#searchBtn
"
).
click
();
}
});
}
function
showAccountHeadDetails
(
pageNo
,
pageSize
){
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/accountHead/list
"
,
dataType
:
"
json
"
,
data
:
({
search
:
JSON
.
stringify
({
type
:
listType
,
billNo
:
$
.
trim
(
$
(
"
#searchBillNo
"
).
val
()),
beginTime
:
$
(
"
#searchBeginTime
"
).
val
(),
endTime
:
$
(
"
#searchEndTime
"
).
val
()
}),
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
;
}
});
}
//自动计算事件
function
autoReckon
()
{
//延时绑定事件
setTimeout
(
function
(){
var
body
=
$
(
"
#accountHeadFM .datagrid-body
"
);
var
footer
=
$
(
"
#accountHeadFM .datagrid-footer
"
);
var
input
=
"
.datagrid-editable-input
"
;
//修改金额,自动计算单价和合计
body
.
find
(
"
[field='EachAmount']
"
).
find
(
input
).
off
(
"
keyup
"
).
on
(
"
keyup
"
,
function
(){
var
TotalPrice
=
0
;
var
EachAmount
=
$
(
this
).
val
()
-
0
;
//金额
body
.
find
(
"
[field='EachAmount']
"
).
each
(
function
(){
if
(
$
(
this
).
find
(
"
div
"
).
text
()
!==
""
){
TotalPrice
=
TotalPrice
+
parseFloat
(
$
(
this
).
find
(
"
div
"
).
text
().
toString
());
}
});
TotalPrice
=
TotalPrice
+
EachAmount
;
footer
.
find
(
"
[field='EachAmount']
"
).
find
(
"
div
"
).
text
((
TotalPrice
).
toFixed
(
2
));
});
},
500
);
}
//结束编辑
function
endEditing
()
{
var
edField
=
""
;
if
(
!
itemType
){
edField
=
"
InOutItemId
"
;
edName
=
"
InOutItemName
"
;
}
else
{
edField
=
"
AccountId
"
;
edName
=
"
AccountName
"
;
}
if
(
editIndex
==
undefined
)
{
return
true
}
if
(
$
(
'
#accountData
'
).
datagrid
(
'
validateRow
'
,
editIndex
))
{
var
ed
=
$
(
'
#accountData
'
).
datagrid
(
'
getEditor
'
,
{
index
:
editIndex
,
field
:
edField
});
var
textName
=
$
(
ed
.
target
).
combobox
(
'
getText
'
);
$
(
'
#accountData
'
).
datagrid
(
'
getRows
'
)[
editIndex
][
edName
]
=
textName
;
$
(
'
#accountData
'
).
datagrid
(
'
endEdit
'
,
editIndex
);
editIndex
=
undefined
;
return
true
;
}
else
{
return
false
;
}
}
//单击
function
onClickRow
(
index
)
{
if
(
editIndex
!=
index
)
{
if
(
endEditing
())
{
$
(
'
#accountData
'
).
datagrid
(
'
selectRow
'
,
index
)
.
datagrid
(
'
beginEdit
'
,
index
);
editIndex
=
index
;
autoReckon
();
}
else
{
$
(
'
#accountData
'
).
datagrid
(
'
selectRow
'
,
editIndex
);
}
}
}
//新增
function
append
()
{
if
(
endEditing
())
{
$
(
'
#accountData
'
).
datagrid
(
'
appendRow
'
,
{});
editIndex
=
$
(
'
#accountData
'
).
datagrid
(
'
getRows
'
).
length
-
1
;
$
(
'
#accountData
'
).
datagrid
(
'
selectRow
'
,
editIndex
).
datagrid
(
'
beginEdit
'
,
editIndex
);
autoReckon
();
}
}
//删除
function
removeit
()
{
if
(
editIndex
==
undefined
)
{
return
}
$
(
'
#accountData
'
).
datagrid
(
'
cancelEdit
'
,
editIndex
)
.
datagrid
(
'
deleteRow
'
,
editIndex
);
editIndex
=
undefined
;
}
//撤销
function
reject
()
{
$
(
'
#accountData
'
).
datagrid
(
'
rejectChanges
'
);
editIndex
=
undefined
;
}
//判断
function
CheckData
()
{
var
row
=
$
(
'
#accountData
'
).
datagrid
(
'
getRows
'
);
var
totalRowNum
=
""
;
for
(
var
i
=
0
;
i
<
row
.
length
;
i
++
)
{
if
(
!
itemType
){
if
(
row
[
i
].
InOutItemId
==
""
)
{
totalRowNum
+=
(
i
+
1
)
+
"
、
"
;
}
}
else
{
if
(
row
[
i
].
AccountId
==
""
)
{
totalRowNum
+=
(
i
+
1
)
+
"
、
"
;
}
}
}
if
(
totalRowNum
!=
""
)
{
var
totalRowNum
=
totalRowNum
.
substring
(
0
,
totalRowNum
.
length
-
1
);
$
.
messager
.
alert
(
'
提示
'
,
"
第
"
+
totalRowNum
+
"
行数据填写不完整!
"
,
'
info
'
);
return
false
;
}
return
true
;
}
//保存
function
accept
(
accepId
,
listType
)
{
append
();
removeit
();
if
(
$
(
"
#accountData
"
).
datagrid
(
'
getChanges
'
).
length
)
{
if
(
!
CheckData
())
return
false
;
var
inserted
=
$
(
"
#accountData
"
).
datagrid
(
'
getChanges
'
,
"
inserted
"
);
var
deleted
=
$
(
"
#accountData
"
).
datagrid
(
'
getChanges
'
,
"
deleted
"
);
var
updated
=
$
(
"
#accountData
"
).
datagrid
(
'
getChanges
'
,
"
updated
"
);
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/accountItem/saveDetials
"
,
data
:
{
inserted
:
JSON
.
stringify
(
inserted
),
deleted
:
JSON
.
stringify
(
deleted
),
updated
:
JSON
.
stringify
(
updated
),
headerId
:
accepId
,
listType
:
listType
},
success
:
function
(
tipInfo
)
{
if
(
tipInfo
)
{
$
.
messager
.
alert
(
'
提示
'
,
'
保存成功!
'
,
'
info
'
);
}
else
$
.
messager
.
alert
(
'
提示
'
,
'
保存失败!
'
,
'
error
'
);
},
error
:
function
(
XmlHttpRequest
,
textStatus
,
errorThrown
)
{
$
.
messager
.
alert
(
'
提示
'
,
XmlHttpRequest
.
responseText
,
'
error
'
);
}
});
}
if
(
endEditing
())
{
$
(
'
#accountData
'
).
datagrid
(
'
acceptChanges
'
);
}
}
//获取MaxId
function
getMaxId
(){
var
accountHeadMax
=
null
;
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/accountHead/getMaxId
"
,
//设置为同步
async
:
false
,
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
if
(
res
.
data
)
{
accountHeadMax
=
res
.
data
.
maxId
;
}
}
}
});
if
(
accountHeadMax
!=
null
)
{
accountHeadMaxId
=
accountHeadMax
;
}
}
\ No newline at end of file
src/main/java/com/jsh/erp/controller/DepotItemController.java
View file @
67252622
...
...
@@ -53,13 +53,16 @@ public class DepotItemController {
try
{
List
<
DepotItemVo4HeaderId
>
depotItemList
=
depotItemService
.
getHeaderIdByMaterial
(
materialParam
,
depotIds
);
String
allReturn
=
""
;
if
(
depotItemList
!=
null
)
{
if
(
depotItemList
!=
null
&&
depotItemList
.
size
()>
0
)
{
for
(
DepotItemVo4HeaderId
d
:
depotItemList
)
{
Long
dl
=
d
.
getHeaderid
();
//获取对象
allReturn
=
allReturn
+
dl
.
toString
()
+
","
;
}
/**
* 2019-01-17修复depotItemList集合为空时,程序异常
* */
allReturn
=
allReturn
.
substring
(
0
,
allReturn
.
length
()
-
1
);
}
allReturn
=
allReturn
.
substring
(
0
,
allReturn
.
length
()
-
1
);
if
(
allReturn
.
equals
(
"null"
))
{
allReturn
=
""
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment