📄 lgxform.vbs
字号:
if (list=5 or list=6) and setc.checked=true then '不允许输入无效值
rx=lgxgrid1.GetURow(row,2)
if lgxgrid1.getdata(rx,2)="" or lgxgrid1.getdata(rx,3)="" or lgxgrid1.getdata(rx,4)="" then
if newdata<>"" then
lgxgrid1.setdata row,list,olddata
end if
end if
end if
dim webFileUrl
dim SetOk
dim SetMode
rx=lgxgrid1.GetURow(row,2)
SetOK=true
if setc.checked=true then
for i=2 to 4
if lgxgrid1.getdata(rx,i)="" then SetOK=false
next
if lgxgrid1.getdata(row,6)="" then SetOK=false
else
for i=2 to 4
if lgxgrid1.getdata(rx,i)="" then SetOK=false
next
end if
if SetOK=true then
if lgxgrid1.getdata(row,1)="" then
SetMode="Add"
else
SetMode="Update"
end if
end if
UrlT=Split(window.document.url,"/")
for i=0 to UBound(UrlT)-1
UrlD=UrlD & UrlT(i) & "/"
next
if SetOk=true then '修改许可
if SetMode="Add" then
if setc.checked=true then
set DataXml=lgxgrid1.GetXmlDoc(row,row,2,lgxgrid1.lists-1)'获得数据的XML文档
webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=N&Mode="+SetMode+"&TableName=Cz&AutoKey=True&TextKey=False&UpList=0"
else
set DataXml=lgxgrid1.GetXmlDoc(row,row,2,lgxgrid1.lists)'获得数据的XML文档
webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=N&Mode="+SetMode+"&TableName=Dj&AutoKey=True&TextKey=False&UpList=0"
end if
end if
if SetMode="Update" then
if setc.checked=true then
set DataXml=lgxgrid1.GetXmlDoc(row,row,list,list)'获得数据的XML文档
Key=lgxgrid1.getdata(row,1)
UID=list-1
webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=" & Key & "&Mode="+SetMode+"&TableName=Cz&AutoKey=True&TextKey=False&UpList=" & UID
else
set DataXml=lgxgrid1.GetXmlDoc(row,row,list,list)'获得数据的XML文档
Key=lgxgrid1.getdata(row,1)
UID=list-1
webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=" & Key & "&Mode="+SetMode+"&TableName=Dj&AutoKey=True&TextKey=False&UpList=" & UID
end if
end if
set reXml=lgxgrid.ToGetWeb(webFileUrl,"Xml","Xml",DataXml)
reTxt=reXml.SelectSingleNode("string").text
if Val(reTxt)<>0 then '修改成功
if Val(reTxt)>0 then lgxgrid1.setdata row,1,reTxt
if setc.checked=true then '按组结算
if list=5 or list=6 then
rx=lgxgrid1.GetURow(row,2)
if lgxgrid1.getdata(rx,2)<>"" and lgxgrid1.getdata(rx,3)<>"" and lgxgrid1.getdata(rx,4)<>"" then
if list=6 then
rSum=val(lgxgrid1.getdata(rx,7))+val(newdata)-val(olddata)
lgxgrid1.setdata rx,7,rSum
end if
else
lgxgrid1.setdata row,list,olddata
end if
end if
end if '按组结算
else '修改不成功
if Val(reTxt)=0 then
lgxgrid1.setdata row,list,Olddata
msgbox(reTxt)
end if
end if '修改成功
else
if lgxgrid1.getdata(row,1)<>"" then '恢复数据
lgxgrid1.setdata row,list,olddata
end if
end if '修改许可
end Sub
sub databxShow1()'切换到按班组结算
databx.style.visibility ="hidden"
databx2.style.visibility ="visible"
lgxgrid.clear
lgxgrid.Comboclear 3
lgxgrid.comadd 3,"text","班组"
lgxgrid.comadd 3,"text","年度"
lgxgrid2.clear
lgxgrid3.clear
lgxgrid1.SetLists 0,1,10,false
lgxgrid1.hadd "",1,0,false
lgxgrid1.unite "ID",0,0,1,0,1
lgxgrid1.hadd "",2,850,true
lgxgrid1.unite "班组",0,1,1,1,1
lgxgrid1.hadd "",2,750,true
lgxgrid1.unite "工种",0,2,1,2,1
lgxgrid1.hadd "",1,600,true
lgxgrid1.unite "年度",0,3,1,3,1
lgxgrid1.hadd "",1,1000,true
lgxgrid1.unite "项目名称",1,4,1,4,1
lgxgrid1.hadd "",1,900,true
lgxgrid1.unite "产值明细",1,5,1,5,1
lgxgrid1.unite "产 值",0,4,0,5,1
lgxgrid1.hadd "",1,1020,false
lgxgrid1.unite "总产值",0,6,1,6,1
Call MyAddcom()
Call CzSumx()
end sub
sub databxShow2()'切换到按个人结算
databx.style.visibility ="visible"
databx2.style.visibility ="hidden"
lgxgrid.clear
lgxgrid.Comboclear 3
lgxgrid.comadd 3,"text","编号"
lgxgrid.comadd 3,"text","姓名"
lgxgrid.comadd 3,"text","年度"
lgxgrid.comadd 3,"text","班组"
lgxgrid2.clear
lgxgrid3.clear
lgxgrid1.SetLists 0,1,10,false
lgxgrid1.hadd "ID",1,0,false
lgxgrid1.hadd "班组",2,1800,true
lgxgrid1.hadd "工种",2,1700,true
lgxgrid1.hadd "单价",1,1700,true
Call MyAddcom2()
Call CzSumE()
end sub
sub InR()'插入行
if window.parent.Axgrid=1 then
lgxgrid1.inrow lgxgrid1.nrow
end if
end sub
function Val(Data)'字符串转换为数值
on error resume next
if Data="" then
Val=0
else
if mid(Data,len(Data),1)="%" then
Val=mid(Data,1,len(Data)-1)/100
else
Val=CDbl(Data)
end if
end if
if err.number<>0 then
Val=0
end if
end function
sub SNyear()'当前年度选项被点击
lgxgrid.clear
lgxgrid2.clear
end sub
sub SelectSett()'进行工资结算
if SetC.checked =true then
SettC'按班组工资结算
else
SettW'按个人工资结算
end if
end sub
sub SettC()'按班组工资结算
on error resume next
err.Clear
lgxgrid3.clear
if lgxgrid.getdata(1,3)<>"" then
set MyXml=lgxgrid.GetXml(1,lgxgrid.rows)
UrlT=Split(window.document.url,"/")
for i=0 to UBound(UrlT)-1
UrlD=UrlD & UrlT(i) & "/"
next
'获取http地址路径
'webFileUrl=UrlD+"DataService.asmx/FindData?FName=JsbSum"
if Nyear.checked=true then
FNyear="T"
else
FNyear="F"
end if
webFileUrl=UrlD+"DataService.asmx/FindDataE?FName=JsbSum&Fmd=A" & "&FNyear=" & FNyear
'生成一条服务请求字符串
set reXml=lgxgrid3.ToGetWeb(webFileUrl,"Xml","Xml",Myxml)
reT=reXml.SelectSingleNode("Root/Record").ChildNodes(0).Text
if reT="" then reT=" "
reTxt=Split(reT,",")
if reTxt(0)="Error" then
ETxt=Split(reTxt(1),"。")
if ETxt(0)<>"没有查到任何记录" then
msgbox(reTxt(1))
end if
else
lgxgrid3.XmlToGrid "Xml","",reXml
GridUx lgxgrid3,2,3,2
end if
end if
end sub
sub SettW()'按个人进行工资结算
on error resume next
err.Clear
lgxgrid2.clear
if lgxgrid.getdata(1,3)<>"" then
set MyXml=lgxgrid.GetXml(1,lgxgrid.rows)
UrlT=Split(window.document.url,"/")
for i=0 to UBound(UrlT)-1
UrlD=UrlD & UrlT(i) & "/"
next
'获取http地址路径
if Nyear.checked=true then
FNyear="T"
else
FNyear="F"
end if
webFileUrl=UrlD+"DataService.asmx/FindDataE?FName=JseSum&Fmd=A" & "&FNyear=" & FNyear
'生成一条服务请求字符串
set reXml=lgxgrid2.ToGetWeb(webFileUrl,"Xml","Xml",Myxml)
reT=reXml.SelectSingleNode("Root/Record").ChildNodes(0).Text
if reT="" then reT=" "
reTxt=Split(reT,",")
if reTxt(0)="Error" then
ETxt=Split(reTxt(1),"。")
if ETxt(0)<>"没有查到任何记录" then
msgbox(reTxt(1))
end if
else
lgxgrid2.XmlToGrid "Xml","",reXml
GridUx lgxgrid2,2,5,4
end if
end if
end sub
sub GridU(GridObj,Blist,Elist,Uns)'自动识别和合并单元格,用于产值表
redim Dk1(Uns-1)
redim Dk(Uns-1)
for i=0 to Uns-1
Dk1(i)=GridObj.getdata(1,Blist+i) '比较的初值
next
Bk=1 '行初值
Ek=Bk
for i=2 to GridObj.rows
for j=0 to Uns-1
Dk(j)=GridObj.getdata(i,Blist+j)
next
DkT=true
if Dk(0)="" then DkT=false
Dk1T=true
if Dk1(0)="" then Dk1T=false
OkT=true
for j=0 to Uns-1
if Dk1(j)<>Dk(j) then OkT=false
next
if DkT=true and OkT=true then
Ek=Ek+1
else
if Dk1T=true then
for j=0 to Uns-1
Dk1(j)=Dk(j)
next
for Ui=Blist to Elist
GridObj.GridUnite Bk,Ui,Ek,Ui,0
next
GridObj.GridUnite Bk,7,Ek,7,0
Bk=Ek+1
Ek=Ek+1
end if
end if
next
if Dk1T=true and Ek>Bk then
for Ui=Blist to Elist
GridObj.GridUnite Bk,Ui,Ek,Ui,0
next
GridObj.GridUnite Bk,7,Ek,7,0
end if
end sub
sub GridUx(GridObj,Blist,Elist,Uns)'自动识别和合并单元格,用于工资结算表
redim Dk1(Uns-1)
redim Dk(Uns-1)
for i=0 to Uns-1
Dk1(i)=GridObj.getdata(1,Blist+i) '比较的初值
next
Bk=1 '行初值
Ek=Bk
for i=2 to GridObj.rows
for j=0 to Uns-1
Dk(j)=GridObj.getdata(i,Blist+j)
next
DkT=true
if Dk(0)="" then DkT=false
Dk1T=true
if Dk1(0)="" then Dk1T=false
OkT=true
for j=0 to Uns-1
if Dk1(j)<>Dk(j) then OkT=false
next
if DkT=true and OkT=true then
Ek=Ek+1
else
if Dk1T=true then
for j=0 to Uns-1
Dk1(j)=Dk(j)
next
for Ui=Blist to Elist
GridObj.GridUnite Bk,Ui,Ek,Ui,0
next
Bk=Ek+1
Ek=Ek+1
end if
end if
next
if Dk1T=true and Ek>Bk then
for Ui=Blist to Elist
GridObj.GridUnite Bk,Ui,Ek,Ui,0
next
end if
end sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -