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