📄 lgxform.vbs
字号:
sub LoadShow()'初始化表格
on error resume next
'定义数据列
lgxgrid.hadd "逻辑",2,800,true
lgxgrid.hadd "",2,600,true
lgxgrid.hadd "条件项",2,1250,true
lgxgrid.hadd "比较符",2,700,true
lgxgrid.hadd "条件值",1,1200,true
lgxgrid.hadd "",2,600,true
'定义下拉列表项
lgxgrid.comadd 1,"text","And"
lgxgrid.comadd 1,"text","Or"
lgxgrid.comadd 2,"text","("
lgxgrid.comadd 2,"text","(("
lgxgrid.comadd 2,"text","((("
lgxgrid.comadd 3,"text","班组"
lgxgrid.comadd 3,"text","年度"
lgxgrid.comadd 4,"text","="
lgxgrid.comadd 4,"text",">"
lgxgrid.comadd 4,"text",">="
lgxgrid.comadd 4,"text","<"
lgxgrid.comadd 4,"text","<="
lgxgrid.comadd 4,"text","<>"
lgxgrid.comadd 4,"text","包含"
lgxgrid.comadd 4,"text","不包含"
lgxgrid.comadd 4,"text","is"
lgxgrid.comadd 4,"text","not is"
lgxgrid.comadd 6,"text",")"
lgxgrid.comadd 6,"text","))"
lgxgrid.comadd 6,"text",")))"
'定义数据列和表头格式
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
lgxgrid2.hadd "",1,0,false
lgxgrid2.hadd "编号",1,1200,false
lgxgrid2.hadd "姓名",1,1200,false
lgxgrid2.hadd "年度",1,1200,false
lgxgrid2.hadd "班组",1,1380,false
lgxgrid2.hadd "工种",1,1200,false
lgxgrid2.hadd "工时数",1,1200,false
lgxgrid2.hadd "单价",1,1000,true
lgxgrid2.hadd "应付工资",1,1300,false
lgxgrid2.hadd "已付工资",1,1300,false
lgxgrid2.hadd "对比",1,1280,false
lgxgrid3.hadd "",1,0,false
lgxgrid3.hadd "班组",1,1800,false
lgxgrid3.hadd "年度",1,1500,false
lgxgrid3.hadd "工种",1,1500,false
lgxgrid3.hadd "工时数",1,1500,false
lgxgrid3.hadd "总产值",1,1500,false
lgxgrid3.hadd "应付工资",1,1500,true
lgxgrid3.hadd "已付工资",1,1500,false
lgxgrid3.hadd "实际应付工资",1,1500,false
Call MyAddcom()'加载工种和班组下拉项目,此过程的代码由aspx初始化时生成
call CzSumx()'显示产值数据
'使表格可见
databf.style.visibility ="visible"
datab.style.visibility ="visible"
databx2.style.visibility ="visible"
end sub
Sub SetData2(OldData,NewData,Row,List)'修改某员工的单价,使这位员工的单价不是默认值,而是特定的值
on error resume next
err.Clear
if Olddata<>NewData and lgxgrid2.getdata(row,6)<>"小计" then '修改模式
dim webFileUrl
dim SetOk
dim SetMode
rx=lgxgrid2.GetURow(row,2)
SetOK=true
if lgxgrid2.getdata(rx,2)="" then SetOK=false
if SetOK=true then
if lgxgrid2.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
MyXml="<Root>"
MyXml=MyXml+"<Record><![CDATA[" & lgxgrid2.getdata(rx,2) & "]]><![CDATA[" & lgxgrid2.getdata(rx,5) & "]]><![CDATA[" & lgxgrid2.getdata(rx,6) & "]]><![CDATA[" & lgxgrid2.getdata(rx,4) & "]]><![CDATA[" & lgxgrid2.getdata(row,list) & "]]></Record>"
MyXml=MyXml+"</Root>"
webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=N&Mode="+SetMode+"&TableName=Udj&AutoKey=True&TextKey=False&UpList=0"
end if
if SetMode="Update" then
MyXml="<Root>"
MyXml=MyXml+"<Record><![CDATA[" & lgxgrid2.getdata(row,list) & "]]></Record>"
MyXml=MyXml+"</Root>"
Key=lgxgrid2.getdata(row,1)
UID=5
webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=" & Key & "&Mode="+SetMode+"&TableName=Udj&AutoKey=True&TextKey=False&UpList=" & UID
end if
set reXml=lgxgrid.ToGetWeb(webFileUrl,"Xml","Text",MyXml)
reTxt=reXml.SelectSingleNode("string").text
if Val(reTxt)>0 then
lgxgrid2.setdata row,1,reTxt
else
if Val(reTxt)=0 then
lgxgrid2.setdata row,list,Olddata
msgbox(reTxt)
end if
end if
if Val(reTxt)<>0 then '修改成功
lgxgrid2.setdata row,9, val(NewData)*val(lgxgrid2.getdata(row,7))
lgxgrid2.setdata row,lgxgrid2.lists, val(lgxgrid2.getdata(row,9))-val(lgxgrid2.getdata(row,10))
for i=row to lgxgrid2.rows
if lgxgrid2.getdata(i,6)="小计" then
lgxgrid2.setdata i,9,val(lgxgrid2.getdata(i,9))+(val(NewData)-val(Olddata))*val(lgxgrid2.getdata(row,7))
lgxgrid2.setdata i,lgxgrid2.lists, val(lgxgrid2.getdata(i,lgxgrid2.lists))+(val(NewData)-val(Olddata))*val(lgxgrid2.getdata(row,7))
exit for
end if
next
end if'修改成功
else
lgxgrid2.setdata row,list,olddata
end if '修改许可
else
lgxgrid2.setdata row,list,olddata
end if '修改模式
end sub
Sub SetData3(OldData,NewData,Row,List)'修改某班组的应发工资,使它不是默认的值,而是修改的特定的值
on error resume next
err.Clear
if Olddata<>NewData and lgxgrid3.getdata(row,4)<>"小计" then '修改模式
dim webFileUrl
dim SetOk
dim SetMode
rx=lgxgrid3.GetURow(row,2)
SetOK=true
if lgxgrid3.getdata(rx,2)="" then SetOK=false
if SetOK=true then
if lgxgrid3.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
set myXml=lgxgrid3.GetXmlDoc(row,row,2,7)'获得数据的XML文档
webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=N&Mode="+SetMode+"&TableName=CzGz&AutoKey=True&TextKey=False&UpList=0"
end if
if SetMode="Update" then
set MyXml=lgxgrid3.GetXmlDoc(row,row,list,list)'获得数据的XML文档
Key=lgxgrid3.getdata(row,1)
UID=6
webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=" & Key & "&Mode="+SetMode+"&TableName=CzGz&AutoKey=True&TextKey=False&UpList=" & UID
end if
set reXml=lgxgrid.ToGetWeb(webFileUrl,"Xml","Xml",MyXml)
reTxt=reXml.SelectSingleNode("string").text
if Val(reTxt)>0 then
lgxgrid3.setdata row,1,reTxt
else
if Val(reTxt)=0 then
lgxgrid3.setdata row,list,Olddata
msgbox(reTxt)
end if
end if
if Val(reTxt)<>0 then '修改成功
lgxgrid3.setdata row,9, val(lgxgrid3.getdata(row,7))-val(lgxgrid3.getdata(row,8))
for i=row to lgxgrid2.rows
if lgxgrid3.getdata(i,4)="小计" then
lgxgrid3.setdata i,7,val(lgxgrid3.getdata(i,7))+(val(NewData)-val(Olddata))
lgxgrid3.setdata i,lgxgrid3.lists, val(lgxgrid3.getdata(i,lgxgrid3.lists))+(val(NewData)-val(Olddata))
exit for
end if
next
end if'修改成功
else
lgxgrid3.setdata row,list,olddata
end if '修改许可
else
lgxgrid3.setdata row,list,olddata
end if '修改模式
end sub
sub CzSum()'查询产值数据
on error resume next
if setc.checked<>true then
exit sub
end if
err.Clear
lgxgrid1.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=CzSum"
'生成一条服务请求字符串
set reXml=lgxgrid.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
lgxgrid1.XmlToGrid "Xml","",reXml
GridU lgxgrid1,2,4,3
end if
end if
end sub
sub CzSumx()'显示产值数据
on error resume next
err.Clear
lgxgrid1.clear
MyXml="<Root>"
MyXml=MyXml & "<Record><![CDATA[]]><![CDATA[]]><![CDATA[ID]]><![CDATA[>]]><![CDATA[0]]><![CDATA[]]></Record>"
MyXml=MyXml & "<Record><![CDATA[and]]><![CDATA[]]><![CDATA[年度]]><![CDATA[=]]><![CDATA[" & year(now()) & "]]><![CDATA[]]></Record>"
MyXml=MyXml & "</Root>"
UrlT=Split(window.document.url,"/")
for i=0 to UBound(UrlT)-1
UrlD=UrlD & UrlT(i) & "/"
next
'获取http地址路径
webFileUrl=UrlD+"DataService.asmx/FindData?FName=CzSum"
'生成一条服务请求字符串
set reXml=lgxgrid.ToGetWeb(webFileUrl,"Xml","text",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
lgxgrid1.XmlToGrid "Xml","",reXml
GridU lgxgrid1,2,4,3
end if
end sub
sub CzSumE()'显示单价数据
on error resume next
err.Clear
lgxgrid1.clear
MyXml="<Root>"
MyXml=MyXml & "<Record><![CDATA[]]><![CDATA[]]><![CDATA[ID]]><![CDATA[>]]><![CDATA[0]]><![CDATA[]]></Record>"
MyXml=MyXml & "</Root>"
UrlT=Split(window.document.url,"/")
for i=0 to UBound(UrlT)-1
UrlD=UrlD & UrlT(i) & "/"
next
'获取http地址路径
webFileUrl=UrlD+"DataService.asmx/FindData?FName=Dj"
'生成一条服务请求字符串
set reXml=lgxgrid.ToGetWeb(webFileUrl,"Xml","text",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
lgxgrid1.XmlToGrid "Xml","",reXml
end if
end sub
Sub SetDataBj(OldData,NewData,Row,List)'设置班组产值或工种单价数据,当setc.checked=true时,为修改产值数据,否则为单价数据
if (list=2 or list=3 or list=4) and setc.checked=true then '自动合并
if lgxgrid1.GetURow(row+1,list)=row then
'不许修改
lgxgrid1.setdata row,list,olddata
msgbox("对不起,不能修改已保存且合并了的“班组”或“工种”的数据,要修改这些记录,请先把它们删除,重新刷新数据后再输入新的记录。")
exit sub
end if
rx=lgxgrid1.GetURow(row-1,2)
if lgxgrid1.getdata(row,2)=lgxgrid1.getdata(rx,2) and lgxgrid1.getdata(row,3)=lgxgrid1.getdata(rx,3) and lgxgrid1.getdata(row,4)=lgxgrid1.getdata(rx,4) and NewData<>"" then
if lgxgrid1.getdata(row,6)="" and lgxgrid1.GetURow(row+1,2)<>row then
'已合并了的和产值列不为空的不会自动向上合并
lgxgrid1.SetExitEdit
if rx=row-1 then
for i=2 to 4
lgxgrid1.GridUnite row-1,i,row,i,0
next
lgxgrid1.GridUnite row-1,7,row,7,0
else
lgxgrid1.inrow row-1
for i=1 to 6
lgxgrid1.setdata row-1,i,lgxgrid1.getdata(row,i)
lgxgrid1.setdata row,i,lgxgrid1.getdata(row+1,i)
lgxgrid1.setdata row+1,i,""
next
lgxgrid1.setdata row+1,7,""
lgxgrid1.SetNowGrid row,4
end if
end if
end if
end if '自动合并
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -