#include #include #include #include #include "vbusiness/vframe/maint.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) maintSupplierv3 : public maint { public: xdwtable dw_base; xdwtable dw_kpinfo; xdwtable dw_visitp; xdwtable dw_basegy; xdwgrid dw_supgoods; xlayersheet m_layer; xlayersheet xsheet; //string xpage; string m_diffstr; vcontrol vc; string str_replace(string s, string a, string b, int k) { int i = s.find(a,k); if (i > -1) { string tmp; if(i==0) tmp = b + s.mid(i + a.length(), s.length()); else if (i + a.length() == s.length()) tmp = s.mid(0, i) + b; else tmp = s.mid(0, i) + b + s.mid(i + a.length(), s.length()); str_replace(tmp, a, b, i + b.length() + 1); } else return ""+s; } string str_replace(string s, string a, string b) { return str_replace( s, a, b, 0); } int SetAttributeByxml(xml x,string nodename,string action,string status) { msxml::IXMLDOMElement e; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().selectNodes("//"+nodename+""); if(nlist) { int nlen = nlist.length; int i; for(i=0; i1) string AdvantageProduct = dw_base.GetItemString(1,"AdvantageProduct"); if(AdvantageProduct.rtrim()=="" ) { alert("优势产品为空!"); return -1; } string FactoryForPaperCard = dw_base.GetItemString(1,"FactoryForPaperCard"); string FactoryForPart = dw_base.GetItemString(1,"FactoryForPart"); string FactoryForPacking = dw_base.GetItemString(1,"FactoryForPacking"); string FactoryForItem = dw_base.GetItemString(1,"FactoryForItem"); string FactoryForMake = dw_base.GetItemString(1,"FactoryForMake"); if(FactoryForPaperCard !="Y" && FactoryForPart !="Y" && FactoryForPacking !="Y" && FactoryForItem !="Y" && FactoryForMake !="Y") { alert("供应商分组为空!"); return -1; } if(sStatus=="") { alert("供应商状态输入有误!"); return -1; } string sPartyNo = dw.GetItemString(1,"PartyNo",0); if (sPartyNo=="" ) { //sPartyNo = publiccode::GetIdentityNo("Party2"); sPartyNo = publiccode::GetIdentityNo("Party2"); dw.SetItemString(1,"PartyNo",sPartyNo); //alert("供应商编号为空!"); //return -1; } string ShortName = dw.GetItemString(1,"ShortName",0); if(ShortName.rtrim()=="" ) { alert("供应商简称为空!"); return -1; } string YearEstablished = dw_base.GetItemString(1,"YearEstablished"); if(YearEstablished.rtrim()=="" ) { alert("成立时间为空!"); return -1; } string LegalPerson = dw_base.GetItemString(1,"LegalPerson"); if(LegalPerson.rtrim()=="" ) { alert("法人代表为空!"); return -1; } string ThirdPartyReport = dw_base.GetItemString(1,"ThirdPartyReport"); if(ThirdPartyReport.rtrim()=="" ) { alert("验厂报告为空!"); return -1; } string SupplierSource = dw_base.GetItemString(1,"SupplierSource"); if(SupplierSource.rtrim()=="" ) { alert("供应商来源为空!"); return -1; } string Address = dw_base.GetItemString(1,"Address"); if(Address.rtrim()=="" ) { alert("供应商地址为空!"); return -1; } string bAddress = dw_base.GetItemString(1,"bAddress"); if(bAddress.rtrim()=="" ) { alert("寄件地址为空!"); return -1; } string sName = dw.GetItemString(1,"Name",0)+""; sName.rtrim(); //sName = str_replace(sName," ",""); if (sName=="") { alert("供应商名称为空!"); return -1; } else { xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("stype", "Party2"); arg.AddArg("svalue", sName); xml x = new xml; x.setNativePointer(x.CreateInstance()); msxml::IXMLDOMDocument xdoc = x.GetXmlDoc(); dw_base.DwUpdateAllTo(xdoc); //msxml::IXMLDOMElement e= x.GetXmlDoc().documentElement; //var n = x.GetXmlDoc().selectSingleNode("Supplier[@update.new='1']"); //if (n) if (!maint::m_EntityID) { arg.AddArg("operate", "update.new"); } else { arg.AddArg("operate", "update.modify"); } string sguid=x.GetXmlDoc().selectSingleNode("Supplier/@guid").text; arg.AddArg("sguid", sguid); //alert(sguid,"->",maint::m_EntityID); bool lbRepeated = publiccode::IsRepeated(arg); if (lbRepeated) { alert("供应商名称有重复!"); return -1; } } /*dw = dw_basegy.FindDwTable("Supplier",0); string suserid = xaserver::GetUserId();//publiccode::GetUserInfo().id; string susername = publiccode::GetUser(suserid).name; string sdate = publiccode::GetCurrentDate(); dw.SetItemString(1,"ModifierID",suserid);//Party dw.SetItemDisplayString(1,"ModifierID",susername);//Party dw.SetItemString(1,"ModifyDate",sdate);*/ int i; dw = dw_base.FindDwTable("item",0); for(i=1;i<=dw.GetRowCount();i++) { string aTemp; string aName = dw.GetItemString(i,"Name",0); if (aName=="" ) { aTemp=dw.GetItemString(i,"JobTitle",0)+dw.GetItemString(i,"Gender",0)+dw.GetItemString(i,"Mobile",0)+dw.GetItemString(i,"TEL",0)+dw.GetItemString(i,"Email",0)+dw.GetItemString(i,"IM",0)+dw.GetItemString(i,"Remark",0); if(aTemp !="") { alert("联系人名称必填!"); return -1; } } else { string aStatus; aStatus = dw.GetItemString(i,"Status",0); if (aStatus=="") { dw.SetItemString(i,"Status","1"); } } } /*dw.setNativePointer(dw_base.FindDwTable("item2",0)); for(i=1;i<=dw.GetRowCount();i++) { string bTemp; bTemp=dw.GetItemString(i,"AddressName",0)+dw.GetItemString(i,"Address",0); if(bTemp !="" && bTemp != nil) { if (dw.GetItemString(i,"Status",0)=="" || dw.GetItemString(i,"Status",0)==nil) dw.SetItemString(i,"Status","1"); if (dw.GetItemString(i,"IdentifyAddressFlag",0)=="" || dw.GetItemString(i,"IdentifyAddressFlag",0)==nil) dw.SetItemString(i,"IdentifyAddressFlag","N"); if (dw.GetItemString(i,"PrimaryFlag",0)=="" || dw.GetItemString(i,"PrimaryFlag",0)==nil) dw.SetItemString(i,"PrimaryFlag","N"); } }*/ dw = dw_kpinfo.FindDwTable("item3",0); for(i=1;i<=dw.GetRowCount();i++) { string cTemp; string cName = dw.GetItemString(i,"BankName",0); if (cName=="" ) { cTemp=dw.GetItemString(i,"BankAccountNo",0)+dw.GetItemString(i,"City",0); if(cTemp !="") { alert("银行名称必填!"); return -1; } } cName = dw.GetItemString(i,"BankAccountNo",0); if (cName=="" ) { cTemp=dw.GetItemString(i,"BankName",0)+dw.GetItemString(i,"City",0); if(cTemp !="" ) { alert("银行账号必填!"); return -1; } } else { if (dw.GetItemString(i,"Status",0)=="" ) dw.SetItemString(i,"Status","1"); } } dw = dw_kpinfo.FindDwTable("Party",0); if (dw) { xdwtable dw_b = dw_kpinfo.FindDwTable("item3",0); for(i=1;i<=dw.GetRowCount();i++) { string skName = dw.GetItemString(i,"Name",0); if (skName=="" ) { int j; for(j=1;j<=dw_b.GetRowCount();j++) { string kTemp = dw_b.GetItemString(j,"BankName",0)+dw_b.GetItemString(j,"BankAccountNo",0)+""; if(kTemp !="" ) { alert("开票单位名称为空!"); return -1; } } } } } xdwtable dw_pc = dw_base.FindDwTable("item"); for(int h =1; h <= dw_pc.GetRowCount();h++) { if(dw_pc.GetItemString(h,"Name")=="") { alert("请输入联系人姓名!"); return -1; } if(dw_pc.GetItemString(h,"Mobile")=="") { alert("请输入联系人手机号!"); return -1; } if(dw_pc.GetItemString(h,"IM")=="") { alert("请输入联系人QQ号!"); return -1; } } return 1; } int OnChangeRowNo(xdwtable dw,int row) { dw.SetItemString(1, "SeqNo", "1"); int i; for (i=row; i<=dw.GetRowCount(); i++) dw.SetItemString(i, "SeqNo", i.toString()); return 1; } int OnAddRow() { if (!m_layer) return 0; int h=m_layer.GetSheetIndex(); int nindex = h+1; msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview["+nindex.toString()+"]"); string sname= n.selectSingleNode("@name").text; string stype=n.selectSingleNode("@type").text; if (stype == "dwtable") { int row; int crow; xdwtable dw_obj = this.GetControl(sname); xdwtable dw = dw_obj.GetCurTable(); string dw_n=dw.GetDwName(); if(dw_n=="item" || dw_n=="item2" || dw_n=="item3" || dw_n=="item4") { row = dw.InsertRow(-1); if(dw_n=="item2" || dw_n=="item3" || dw_n=="item4") { OnChangeRowNo(dw,dw.GetRowCount()); } //alert(row.toString()); //dw.SetItemString(row,"Status","Y"); } if (dw_n=="item3ooo") { dw = dw_obj.FindDwTable("Party",0); crow = dw.GetRow(); string scName; if (crow >0) scName = dw.GetItemString(crow,"Name",0); row = dw.InsertRow(-1); if (scName !="" ) dw.SetItemString(dw.GetRowCount(),"Name",scName); } if (dw_n=="Party") { row = dw.InsertRow(-1); crow = dw.GetRow(); //alert(crow.toString()); dw.SetItemString(crow,"loadpic","上传图片"); dw.SetItemString(crow,"dispic","查看"); } } else if (stype=="dwgrid") { xdwgrid dw_objx = new xdwgrid; dw_objx = this.GetControl(sname); int xrow = dw_objx.InsertRow(-1); //dw_objx.SetItemString(xrow,"Status","Y"); } return 1; } int OnInsertRow() { if (!m_layer) return 0; int h=m_layer.GetSheetIndex(); int nindex = h+1; msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview["+nindex.toString()+"]"); string sname= n.selectSingleNode("@name").text; string stype=n.selectSingleNode("@type").text; if (stype=="dwtable") { int row; int crow; xdwtable dw_obj = this.GetControl(sname); xdwtable dw = dw_obj.GetCurTable(); string dw_n=dw.GetDwName(); if(dw_n=="item" || dw_n=="item2" || dw_n=="item3" || dw_n=="item4") { row=dw.GetRow(); if (row == 1) row = 0; crow = dw.InsertRow(row); //dw.SetItemString(crow,"Status","Y"); } if (dw_n=="Party") { row=dw.GetRow(); if (row == 1) row = 0; crow = dw.InsertRow(row); crow = dw.GetRow(); dw.SetItemString(crow,"loadpic","上传图片"); dw.SetItemString(crow,"dispic","查看"); } } return 1; } int OnDeleteRow() { if (!m_layer) return 0; int h=m_layer.GetSheetIndex(); int nindex = h+1; msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview["+nindex.toString()+"]"); string sname= n.selectSingleNode("@name").text; string stype=n.selectSingleNode("@type").text; if (stype=="dwtable") { int row; xdwtable dw_obj = this.GetControl(sname); xdwtable dw = dw_obj.GetCurTable(); string dw_n=dw.GetDwName(); if(dw_n=="item" || dw_n=="item2" || dw_n=="item3" || dw_n=="item4"|| dw_n=="Party") { row=dw.GetRow(); //if(row != 1) //{ dw.DeleteRow(row); //} } if (dw_n=="Party0") { row=dw.GetRow(); //if(row != 1) //{ dw.DeleteRow(row); //} } } return 1; } string onpartyadjust(string val) { xml x = new xml; x.setNativePointer(x.CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("content",val); //alert(val); //string sguid = xdoc.selectSingleNode("@guid").text; string suserid = xaserver::GetUserId(); string sdate = publiccode::GetCurrentDate(); //arg.AddArg("sguid",sguid); arg.AddArg("suserid",suserid); arg.AddArg("sdate",sdate); if (url::post("/sale/data/"+GetEntityName(1)+"/pref/partyadjust",arg.GetString(),x) != 1) { alert(x.GetXmlDoc().text); return val; }else { string s = x.GetXml(); //alert(s); return s; } } string GetEntityData(int pr) { string val; xml x = new xml; x.setNativePointer(x.CreateInstance()); msxml::IXMLDOMDocument xdoc = x.GetXmlDoc(); msxml::IXMLDOMNodeList nlist = maint::m_configDoc.SelectNodes("//maint/group[@for='dwviev']/dwview[@name !='dw_check' and @name !='dw_supgoods']"); int index; int nlen = nlist.length; if(nlen>0) { for(index=0;index"); msxml::IXMLDOMElement ele = x1.GetXmlDoc(); var root = xdoc.getElementsByTagName("Name").item(0); root.appendChild(ele);*/ val = xdoc.xml ; //alert(val); val = onpartyadjust(xdoc.xml); //alert(val); return val; } int SetEntityData(xaserverarg arg) { return 0; } int ProcessFlowAction0(string comdid, int pr) { string action = comdid.mid(comdid.find("action:",0)+7,9999); xaserverarg arg = new xaserverarg ; arg.setNativePointer(arg.CreateInstance()); xml x = new xml; x.setNativePointer(xml ::CreateInstance()); string aurl = "/workflow/query/actioninfo/"+action; if(url::get(aurl, "", x) != 1) return -1; int nlen ; int i = 0; string name; string worknode; string how; string state; msxml::IXMLDOMElement e; //参数要求 msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().selectNodes("//params/param"); nlen = nlist.length; for(i=0; i0) { for(index=0;index0) { for(index=0;index0) { for(index=0;index //string s = dw_kpinfo.GetGuid(1); //string s = dw_kpinfo.GetHtml(); ??? //int i = dw_kpinfo.GetId(); //int i = dw_kpinfo.GetXNode(); //dw_kpinfo.SetGuid(1,"5CF56D30-C02C-4CC0-971B-57894236816A"); } int OnMoveup() { test(); return 1; if (!m_layer) return 0; int h=m_layer.GetSheetIndex(); int nindex = h+1; msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview["+nindex.toString()+"]"); string sname= n.selectSingleNode("@name").text; string stype=n.selectSingleNode("@type").text; if (stype=="dwtable") { xdwtable dw_obj = this.GetControl(sname); xdwtable dw = dw_obj.GetCurTable(); string dw_n=dw.GetDwName(); if(dw_n=="item3") { int row=dw.GetRow(); if (row == 1) row = 0; int crow = dw.InsertRow(row); //dw. //dw.SetItemString(crow,"Status","Y"); } } return 1; } int OnMovedown() { return 1; } int xxx() { //msxml::IXMLDOMElement xframeElement = GetElement(); //msxml::IXMLDOMNode xpage = xframeElement.selectSingleNode("//xpage"); //alert(xframeElement.xml); /*string xfNodeAgentArea = "layers"; xnode__ anode = GetAgentNode(xfNodeAgentArea); msxml::IXMLDOMElement xframeElement = GetElement(); alert(anode.GetXml()); msxml::IXMLDOMNode layers = xframeElement.selectSingleNode("//layers"); msxml::IXMLDOMNodeList nlist; int index; int nlen; msxml::IXMLDOMElement ele; if(layers) { nlist = layers.SelectNodes(".//layer"); nlen = nlist.length; alert("nlen=",nlen.toString()); } //string tools; //SetAgentNodeContent(anode, tools);*/ return 1; } int DoUpdate(bool showSuccess = true) { int rec =OnPreSave(); if (rec== -1) return 0; ProcessFlowAction0("action:bill.update",1); return 1; } int PreOnCmdDispatch(string comdid) { if(comdid=="action:xxx") return xxx(); if(comdid=="retrieve") return r1(); if(comdid=="retrievediff") return r3(); if(comdid=="updatediff") return r2(); if(comdid=="test") return test(); // if(comdid.find("action:bill.update",0)>=0) { string suserid = xaserver::GetUserId(); PUser pp = publiccode::GetUser(suserid); string userno = pp.no; if(userno !="admin") { int rec =OnPreSave(); if (rec== -1) return 0;//返回0——不在执行以下代码;返回其他——执行以下代码。 } ProcessFlowAction0(comdid,1); return 1; } if(comdid.find("action:bill.addrow",0)>=0) OnAddRow(); if(comdid.find("action:bill.insertrow",0)>=0) OnInsertRow(); if(comdid.find("action:bill.deleterow",0)>=0) OnDeleteRow(); if(comdid.find("action:bill.moveup",0)>=0) OnMoveup(); if(comdid.find("action:bill.movedown",0)>=0) OnMovedown(); return 1; } int OnDoubleClicked(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = evt.pnmh; int row = hdr.row; /*if(row < 1 || row > list::dw_list.GetRowCount()) return 1; int hwnd = evt.lParam; int s = combobox::GetCount(cb_config.GetId()); int i; for (i=0; i < s; i++){ combobox cb = new combobox; cb.setNativePointer(this.GetControl("value"+i.ToString())); if(hwnd == cb.GetId()) break; }*/ return 1; } int OnItemChangedkp(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = evt.pnmh; string colname=hdr.colname; string coldata = hdr.data; int row = hdr.row; xdwtable dw = dw_kpinfo.FindDwTable("item3",0); if (dw) { row=dw.GetRow(); string sdate = publiccode::GetCurrentDate(); dw.SetItemString(row,"ModifyDate",sdate); } } int OnItemChanged3(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = evt.pnmh; string colname=hdr.colname; string coldata = hdr.data; int row = hdr.row; if(colname=="DeveloperID") { xml x = new xml; x.setNativePointer(xml ::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("guid",coldata); if (url::get("/sale/data/"+GetEntityName(1)+"/pref/getAssignment",arg.GetString(),x) == 1) { msxml::IXMLDOMElement e=x.GetXmlDoc().documentElement; string sOrgID = e.selectSingleNode("OrgID").text; string sOrgName = e.selectSingleNode("OrgName").text; dw_basegy.SetItemString(1,"devOrgID",sOrgID); dw_basegy.SetItemDisplayString(1,"devOrgID",sOrgName); } } if(colname=="CreatorID") { xml x2 = new xml; x2.setNativePointer(xml ::CreateInstance()); xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg2.CreateInstance()); arg2.AddArg("guid",coldata); if (url::get("/sale/data/"+GetEntityName(1)+"/pref/getAssignment",arg2.GetString(),x2) == 1) { msxml::IXMLDOMElement e2=x2.GetXmlDoc().documentElement; string sOrgID2 = e2.selectSingleNode("OrgID").text; string sOrgName2 = e2.selectSingleNode("OrgName").text; dw_basegy.SetItemString(1,"OrgID",sOrgID2); dw_basegy.SetItemDisplayString(1,"OrgID",sOrgName2); } } return 1; } int OnItemChanged(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = evt.pnmh; string colname=hdr.colname; string coldata = hdr.data; int row = hdr.row; if(colname=="DeveloperID") { xml x = new xml; x.setNativePointer(xml ::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("guid",coldata); if (url::get("/sale/data/"+GetEntityName(1)+"/pref/getAssignment",arg.GetString(),x) == 1) { msxml::IXMLDOMElement e=x.GetXmlDoc().documentElement; string sOrgID = e.selectSingleNode("OrgID").text; string sOrgName = e.selectSingleNode("OrgName").text; dw_base.SetItemString(1,"devOrgID",sOrgID); dw_base.SetItemDisplayString(1,"devOrgID",sOrgName); } } if(colname=="CreatorID") { xml x2 = new xml; x2.setNativePointer(xml ::CreateInstance()); xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg2.CreateInstance()); arg2.AddArg("guid",coldata); if (url::get("/sale/data/"+GetEntityName(1)+"/pref/getAssignment",arg2.GetString(),x2) == 1) { msxml::IXMLDOMElement e2=x2.GetXmlDoc().documentElement; string sOrgID2 = e2.selectSingleNode("OrgID").text; string sOrgName2 = e2.selectSingleNode("OrgName").text; dw_base.SetItemString(1,"OrgID",sOrgID2); dw_base.SetItemDisplayString(1,"OrgID",sOrgName2); } } if(colname=="isdeleted") { //xml xchk = new xml; //xchk.setNativePointer(xchk.CreateInstance()); //var xdoc = xchk.GetXmlDoc(); // dw_kpinfo.DwUpdateAllTo(xdoc); //SetAttributeByxml(xchk,"isdeleted","update.modify","1"); //dw_kpinfo.SetColumnProp("isdeleted","update.modify","1"); //xdwtable dw = new xdwtable; //dw.setNativePointer(dw_kpinfo.FindDwTable("item3",0)); //dw.SetItemString(row,"isdeleted",coldata); } if(colname == "ProvinceCode" || colname == "City" || colname == "District") { if(colname == "ProvinceCode") { dw_base.SetItemString(row,"City",""); dw_base.SetItemString(row,"District",""); dw_base.SetItemDisplayString(row,"City",""); dw_base.SetItemDisplayString(row,"District",""); } if(colname == "City") { dw_base.SetItemString(row,"District",""); dw_base.SetItemDisplayString(row,"District",""); } string provinceCode = dw_base.GetItemDisplayString(row,"ProvinceCode"); string city = dw_base.GetItemDisplayString(row,"City"); string district = dw_base.GetItemDisplayString(row,"District"); dw_base.SetItemString(row,"Address",provinceCode+city+district); dw_base.SetItemString(row,"bAddress",provinceCode+city+district); } if(colname == "Address") { dw_base.SetItemString(row,"bAddress",dw_base.GetItemString(1,"Address")); } xdwtable dw = dw_base.FindDwTable("Supplier",0); if (dw) { string suserid = xaserver::GetUserId();//publiccode::GetUserInfo().id; string susername = publiccode::GetUser(suserid).name; string sdate = publiccode::GetCurrentDate(); dw.SetItemString(1,"ModifierID",suserid);//Party dw.SetItemDisplayString(1,"ModifierID",susername);//Party dw.SetItemString(1,"ModifyDate",sdate); } return 1; } //--------- int UpLoad(string name) { string str = name.mid(0,2); str = str.upper(); //alert(str); int ret1 = xaserver::Upload("supplier"+str, name+".jpg", this.GetHWND(),"",false); //alert(ret1); return ret1; } int OnkpItemClick(ref TNotifyEvent evt,int p) { xdwtable dw = dw_kpinfo.FindDwTable("Party",0); /*xdwtable__ dw1 = new xdwtable__; dw1.setNativePointer(dw_base.FindDwTable("item3",0)); */ ref DWNMHDR hdr = evt.pnmh; string value = hdr.data; int row = dw.GetRow();// hdr.row; string xrow = row.toString(); xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if(value == "上传图片") { string strguid = publiccode::GetGuid(); //alert(strguid); int ret1 =UpLoad(strguid); if(ret1 == -1) return -1; if(ret1 == 0) { alert("上传图片失败"); return -1; } else { alert("上传图片成功"); string strimage=dw.GetItemString(row,"ImageList1"); //alert(strimage); if(strimage=="") strimage=""; xml y=new xml; y.setNativePointer(xml::CreateInstance()); y.LoadXml(strimage); msxml::IXMLDOMElement ele= y.GetXmlDoc().documentElement; xml x=new xml; x.setNativePointer(xml::CreateInstance()); string xx = ""+strguid+".jpg"; x.LoadXml(xx); msxml::IXMLDOMElement e= x.GetXmlDoc().selectSingleNode("//image"); ele.appendChild(e); dw.SetItemString(row,"ImageList1",ele.xml); //dw.Redraw(); } } if(value == "查看") { arg.AddArg("src",dw.GetItemString(row,"ImageList1")); int pa = arg.getNativePointer(); openUrl("/sale/view/"+GetEntityName(1)+"/xpage/supplierattachment/picture", pa); //alert(arg.GetArgString("src")); dw.SetItemString(row,"ImageList1",arg.GetArgString("src")); } return 1; } int OnItemClick(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr1 = trust(evt.pnmh as ref DWNMHDR); string colname1= hdr1.colname; ref DWNMHDR hdr = evt.pnmh; string value = hdr.data; //alert(value); //xdwtable dw = dw_base.FindDwTable("item2",0); //xdwtable dw1 = dw_base.FindDwTable("item3",0); xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); /*if(value == "上传附件") { string strguid = publiccode::GetGuid(); //alert(strguid); int ret1 = UpLoad(strguid); if(ret1 == -1) return -1; if(ret1 == 0) { alert("上传附件失败"); return -1; } else { alert("上传附件成功"); string strimage=dw_base.GetItemString(1,"ImageList1"); //alert(strimage); if(strimage=="") strimage=""; xml y=new xml; y.setNativePointer(xml::CreateInstance()); y.LoadXml(strimage); msxml::IXMLDOMElement ele= y.GetXmlDoc().documentElement; xml x=new xml; x.setNativePointer(xml::CreateInstance()); string xx = ""+strguid+".jpg"; x.LoadXml(xx); msxml::IXMLDOMElement e= x.GetXmlDoc().selectSingleNode("//image"); ele.appendChild(e); dw_base.SetItemString(1,"ImageList1",ele.xml); dw_base.Redraw(); //alert(ele.xml); } } if(value == "查看") { arg.AddArg("src",dw_base.GetItemString(1,"ImageList1")); //alert(dw_base.GetItemString(1,"ImageList1")); int pa = arg.getNativePointer(); //alert(GetEntityName(1)); openUrl("/sale/view/"+GetEntityName(1)+"/xpage/supplierattachment/picture", pa); //alert(arg.GetArgString("src")); arg.setNativePointer(pa); dw_base.SetItemString(1,"ImageList1",arg.GetArgString("src")); }*/ /*else if(value == "产品信息") { int start=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("MainProducts")); dw_base.ExpandCellRow(start,start + dw.GetRowCount() +1); } else if(value == "设备产能") { int start1=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("MainProducts")); int begin=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("DeveloperID")); dw_base.ExpandCellRow(start1 + dw.GetRowCount() +3,begin -2); //dw_base.ExpandMarginRow(-22,-20); }*/ if(value == "供应商资料附件") { arg.AddArg("entityid",dw_base.GetGuid(1)); arg.AddArg("ApplyStatus",dw_base.GetItemString(1,"ApplyStatus")); int p3=cast(arg as int) ; OpenWindow("dev:xpage[maint.Document.Supplier.v3.vx]", p3); } if(value == "验厂报告附件") { arg.AddArg("entityid",dw_base.GetGuid(1)); arg.AddArg("ApplyStatus",dw_base.GetItemString(1,"ApplyStatus")); int p7=cast(arg as int) ; OpenWindow("dev:xpage[maint.Document.SupplierEx.v3.vx]", p7); } else if(value == "合作信息") { int start2=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("Status")); dw_base.ExpandCellRow(start2,start2 +1); //dw_base.ExpandMarginRow(-22,-20); } if (colname1 == "ThirdPartyReport") { xaserverarg arg1 = new xaserverarg; arg1.setNativePointer(arg.CreateInstance()); int p2=cast(arg1 as int) ; dw_base.SetItemString(1,"ThirdPartyReport",""); OpenWindow("dev:xpage[Inspection.Supplie.vx]", p2); string str1 = arg1.GetArgString("ThirdPartyReport"); if(str1 != ""){ dw_base.SetItemString(1,"ThirdPartyReport",str1); dw_base.Redraw(); } } if (colname1 == "PayType") { xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg.CreateInstance()); int p1=cast(arg2 as int) ; OpenWindow("dev:xpage[paymen.Supplier.vx]", p1); string str = arg2.GetArgString("PayType"); if(str != ""){ dw_base.SetItemString(1,"PayType",str); dw_base.Redraw(); } } return 1; } int OnSheetChanged(ref TNotifyEvent evt,int p) { string suserid = xaserver::GetUserId(); PUser pp = publiccode::GetUser(suserid); string userno = pp.no; if (userno == "admin" ) { dw_base.SetReadOnly(false); dw_kpinfo.SetReadOnly(false); dw_visitp.SetReadOnly(false); }else { dw_base.SetReadOnly(true); dw_kpinfo.SetReadOnly(true); //dw_visitp.SetReadOnly(true); } } int OnItemClickExS(ref TNotifyEvent evt,int p) { xdwtable dw = dw_visitp.FindDwTable("item4",0); ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); string value = hdr.data; int row = hdr.row; //alert(value); xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if(value == "附件上传") { if(dw.GetGuid(dw.GetRow())=="") { alert("保存后在上传!"); return 1; } arg.AddArg("entityid",dw.GetGuid(dw.GetRow())); //arg.AddArg("ApplyStatus",dw_base.GetItemString(1,"ApplyStatus")); int p4=cast(arg as int) ; OpenWindow("dev:xpage[maint.Document.Customer.v3.vx]", p4); return 1; } if(value == "人员") { xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg2.CreateInstance()); xaserverarg parg2 = GetParam(); OpenWindow("dev:xpage[SupplierUserGroupPersonSelect.vx]",cast(arg2 as int)); if(arg2.GetArgString("comdid")=="xmOk") { string data = arg2.GetArgString("data"); xml x2 = new xml; x2.setNativePointer(xml::CreateInstance()); x2.LoadXml(data); msxml::IXMLDOMNodeList nodes = x2.GetXmlDoc().selectNodes("/root/item"); trace(x2.GetXml()); int len = nodes.length; string Names = ""; for(int i=0;i