jrj/ext-jrj/ext-jrj.vcxproj
@@ -127,7 +127,7 @@ <SubSystem>Windows</SubSystem> <GenerateDebugInformation>true</GenerateDebugInformation> <EnableUAC>false</EnableUAC> <AdditionalDependencies>xarch.shape.lib;xarch.base.lib;xarch.util.lib;xarch.network.lib;xarch.xframe.lib;xarch.xcontrol.lib;xoffice.xcell.lib;xoffice.xgrid.lib;xoffice.xreport.lib;shlwapi.lib;xoffice.xflow.lib;comsuppw.lib;%(AdditionalDependencies);$(CoreLibraryDependencies)</AdditionalDependencies> <AdditionalDependencies>xarch.shape.lib;xarch.base.lib;xarch.util.lib;xarch.network.lib;xarch.xframe.lib;xarch.xcontrol.lib;xoffice.xcell.lib;xoffice.xgrid.lib;xoffice.xreport.lib;xoffice.frame.lib;shlwapi.lib;xoffice.xflow.lib;comsuppw.lib;%(AdditionalDependencies);$(CoreLibraryDependencies)</AdditionalDependencies> <AdditionalLibraryDirectories>D:\xclient64</AdditionalLibraryDirectories> </Link> <PostBuildEvent> @@ -224,6 +224,7 @@ <ClInclude Include="..\xframe\wobject\xview.hpp" /> <ClInclude Include="..\xframe\wobject\xwin.hpp" /> <ClInclude Include="..\xframe\xcontrol\xcell.hpp" /> <ClInclude Include="..\xframe\xcontrol\xcheckbox.hpp" /> <ClInclude Include="..\xframe\xcontrol\xcombobox.hpp" /> <ClInclude Include="..\xframe\xcontrol\xdwgrid.hpp" /> <ClInclude Include="..\xframe\xcontrol\xdwpages.hpp" /> @@ -249,28 +250,29 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AP\APNew3.warizd.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AP\list.ap.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AP\maint.ap.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AP\Select.AP.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AR\CustomerTran.AR.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AR\Deduction.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AR\ExchageFile.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AR\ExchageInput3.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AR\ExchangeBankTran.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> @@ -279,10 +281,10 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AR\ExchangeSignFast.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AR\maint.SettlementExchange.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Customer3.list.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> @@ -291,7 +293,7 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Enquiry.list.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\EnquiryEx3.list.cpp" /> jrj/ext-jrj/ext-jrj.vcxproj.filters
@@ -342,6 +342,9 @@ <ClInclude Include="..\xframe\kobject\koffice.hpp"> <Filter>xframe\kobject</Filter> </ClInclude> <ClInclude Include="..\xframe\xcontrol\xcheckbox.hpp"> <Filter>xframe\xcontrol</Filter> </ClInclude> </ItemGroup> <ItemGroup> <ClCompile Include="dllmain.cpp"> jrj/project/business/AP/APNew3.warizd.cpp
@@ -2,6 +2,7 @@ #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <wobject/xdouble.hpp> #include <xcontrol/xlayersheet.hpp> #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" @@ -430,8 +431,8 @@ int row = hdr.row; OnPrepayRetrieve(row, bstart); xml x = ViewObject::RetrieveData( L"/sale/data/AP/list/invoice/supplier", L"InvoiceNo", dw_1.GetItemString(row, L"InvoiceNo"), "SupplierID", dw_1.GetItemString(row, L"SupplierID")); xml x = ViewObject::RetrieveData(GetServerUrl(), L"/sale/data/AP/list/invoice/supplier", L"InvoiceNo", dw_1.GetItemString(row, L"InvoiceNo"), L"SupplierID", dw_1.GetItemString(row, L"SupplierID")); if (x) dw_101.Retrieve(x); dw_2.Redraw(); @@ -548,13 +549,9 @@ KXMLDOMElement e = lst.item(i); docElement.appendChild(e); KXMLDOMElement fe = x1.createElement(L"FilterColumn"); fe.text = filterStr; fe.settext(filterStr); e.appendChild(fe); fe.Release(); e.Release(); } docElement.Release(); lst.Release(); dw_2.Retrieve(x1); } else jrj/project/business/AP/list.ap.cpp
@@ -188,10 +188,10 @@ { xstring id = L""; xstring name = L""; int h = xcombobox::GetCurSel(evt.hCtrl); int h = xcombobox::GetCurSel(evt->command.hCtrl); if (h > -1) { xstring txt = xcombobox::GetLBText(evt.hCtrl, h); xstring txt = xcombobox::GetLBText(evt->command.hCtrl, h); apType = L"---"; if (txt == L"已付货款") { @@ -297,10 +297,10 @@ xstring payTypeTwo = GetPayType(); if (payTypeTwo == L"已付货款" || payTypeTwo == L"待付货款") { int h = xcombobox::GetCurSel(evt.hCtrl); int h = xcombobox::GetCurSel(evt->command.hCtrl); if (h > -1) { xstring txt = xcombobox::GetLBText(evt.hCtrl, h); xstring txt = xcombobox::GetLBText(evt->command.hCtrl, h); if (txt == L"出运日期") { apType = L"000"; @@ -323,10 +323,10 @@ } else if (payTypeTwo == L"预付货款") { int h1 = xcombobox::GetCurSel(evt.hCtrl); int h1 = xcombobox::GetCurSel(evt->command.hCtrl); if (h1 > -1) { xstring txt1 = xcombobox::GetLBText(evt.hCtrl, h1); xstring txt1 = xcombobox::GetLBText(evt->command.hCtrl, h1); if (txt1 == L"出运日期") { apType = L"001"; @@ -349,10 +349,10 @@ } else if (payTypeTwo == L"预付货款(已冲)L") { int h2 = xcombobox::GetCurSel(evt.hCtrl); int h2 = xcombobox::GetCurSel(evt->command.hCtrl); if (h2 > -1) { xstring txt2 = xcombobox::GetLBText(evt.hCtrl, h2); xstring txt2 = xcombobox::GetLBText(evt->command.hCtrl, h2); if (txt2 == L"出运日期") { apType = L"001"; @@ -476,8 +476,7 @@ xaserverarg arg; arg.AddArg(L"html", str); int obj = cast(dw_list as int); arg.AddArg(L"obj", obj.toString()); arg.SetParam(L"obj", &dw_list); OpenWindow(L"dev:xpage[data.vanalysis.vx]", arg); xutil::RestoreCursor(hCursor); return 1; jrj/project/business/AP/maint.ap.cpp
@@ -58,9 +58,9 @@ xstring ChargeOffDate = dw_base.GetItemString(1, L"APDate"); xstring PayedAmount = dw_base.GetItemString(1, L"PayedAmount"); xstring val = L"<data><PO><item guid='" + AdvanceID + L"' update.modify='1'>" + "<ChargeOffState update.modify='1'>" + ChargeOffState + L"</ChargeOffState>" + "<ChargeOffMoney update.modify='1'>" + PayedAmount + L"</ChargeOffMoney>" + "<ChargeOffDate update.modify='1'>" + ChargeOffDate + L"</ChargeOffDate></item></PO></data>"; L"<ChargeOffState update.modify='1'>" + ChargeOffState + L"</ChargeOffState>" + L"<ChargeOffMoney update.modify='1'>" + PayedAmount + L"</ChargeOffMoney>" + L"<ChargeOffDate update.modify='1'>" + ChargeOffDate + L"</ChargeOffDate></item></PO></data>"; xaserverarg arg; arg.AddArg(L"content", val); jrj/project/business/AR/Deduction.cpp
@@ -161,7 +161,7 @@ xaserverarg arg ; arg.AddArg(L"InvoiceNo", InvoiceNo); arg.AddArg(L"InvoiceNoEx", GetControl(L"search").GetText()); arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText()); arg.AddArg(L"EntityID", EntityID); //trace(GetControl(L"search").GetText()); jrj/project/business/AR/ExchageFile.cpp
@@ -73,7 +73,7 @@ const xstring data; int anchorrow; int anchorcol;*/ if (hdr.currentcol == 1 && hdr.data != L"") if (hdr.col == 1 && hdr.data != L"") { //dw_exchangefile.SetItemString(hdr.currentrow,hdr.currentcol, L""); } jrj/project/business/AR/ExchageInput3.cpp
@@ -18,7 +18,7 @@ xnode m_agentNode; //Agent Condition xstring tabname; xstring tabagent; int hSignWin; HWND hSignWin; ///sale/data/AR/list public: @@ -147,7 +147,7 @@ int OnSign() { OpenWindow(L"dev:xpage[ExchangeSignFast.vx]", cast(dw_list as int)); OpenWindow(L"dev:xpage[ExchangeSignFast.vx]", (WPARAM) & dw_list); return 1; } @@ -272,8 +272,8 @@ else if (comdid == L"xmExchangeFile") { //if(iswindow(hSignWin) & 0x1) return 1; xwin xw = OpenWindow(L"dev:xpage[ExchageFile.vx]", 0); hSignWin = xw.GetHWND(); xwin* xw = OpenWindow(L"dev:xpage[ExchageFile.vx]", 0); hSignWin = xw->GetHWND(); return 1; } else if (comdid == L"xmRefresh") @@ -306,14 +306,14 @@ } if (frow > dw_list.GetRowCount()) return 1; dw_list.SetRow(frow); OpenWindow(L"dev:xpage[ExchangeSignFast.vx]", cast(dw_list as int)); OpenWindow(L"dev:xpage[ExchangeSignFast.vx]", (WPARAM)&dw_list); return 1; } else if (comdid == L"xmAdd") { xaserverarg arg ; arg.AddArg(L"HWND", GetHWND()); arg.SetParam(L"HWND", GetHWND()); OpenWindow(L"dev:xpage[maint.SettlementExchange.vx]", arg); } @@ -321,7 +321,7 @@ { xaserverarg arg1 ; arg1.AddArg(L"HWND", GetHWND().toString()); arg1.SetParam(L"HWND", GetHWND()); arg1.AddArg(L"SettlementExchangeID", dw_list.GetGuid(dw_list.GetRow())); OpenWindow(L"dev:xpage[maint.SettlementExchange.vx]", arg1); @@ -353,15 +353,15 @@ } int OnCombboChanged(ref TCommandEvent evt, int lParam) int OnCombboChanged(TEvent* evt, int lParam) { xstring id = L""; xstring name = L""; int h = xcombobox::GetCurSel(evt.hCtrl); int h = xcombobox::GetCurSel(evt->command.hCtrl); if (h > -1) { tabname = xcombobox::GetItemData(evt.hCtrl, h); SwitchLayer(L"sheet" + (h + 1).toString(), L"frame"); tabname = xcombobox::GetItemData(evt->command.hCtrl, h); SwitchLayer(L"sheet" + xstring(h + 1), L"frame"); RetrieveData(); SetAgent(); } @@ -428,7 +428,7 @@ xaserverarg arg ; arg.setNativePointer(arg.CreateInstance()); arg.AddArg(L"QueryTxt", GetControl(L"sle_search").GetText()); arg.AddArg(L"QueryTxt", xcontrol(GetControl(L"sle_search")).GetText()); arg.AddArg(L"QueryArg", GetQueryArg()); //trace(L"QueryArg======L"+GetQueryArg()); if (getUrl(dataUrl, arg.GetString(), x) != 1) jrj/project/business/AR/ExchangeSignFast.cpp
@@ -75,7 +75,7 @@ dw_list.DwUpdateAllToEx(x); //trace(x.xml()); xml x0 = ViewObject::MakeXml(); xml x0; x0.loadXML(L"<data/>"); KXMLDOMNodeList t = x.selectNodes(L"data/Item[@update.modify or @update.delete]"); @@ -85,7 +85,7 @@ { e1.appendChild(t.item(i)); } xaserverarg arg = ViewObject::MakeArg(); xaserverarg arg; arg.AddArg(L"content", x0.xml()); if (xurl::get(L"/sale/data/AR/update/item", arg.GetString(), x) != 1) @@ -127,14 +127,14 @@ return 0; } int OnCombboChanged(ref TCommandEvent evt, int lParam) int OnCombboChanged(TEvent * evt, int lParam) { xstring id = L""; xstring name = L""; int h = xcombobox::GetCurSel(evt.hCtrl); int h = xcombobox::GetCurSel(evt->command.hCtrl); if (h > -1) { xstring txt = xcombobox::GetLBText(evt.hCtrl, h); xstring txt = xcombobox::GetLBText(evt->command.hCtrl, h); if (txt == L"限定客户") { OnRetrieve(1); @@ -152,7 +152,7 @@ dw_unexch.AcceptText(); int row = dw_unexch.GetRow(); int hCursor = xutil::SetCursorWait(); HCURSOR hCursor = xutil::SetCursorWait(); double AdjustAmount = dw_unexch.GetItemDouble(row, L"AdjustAmount");//调整数 double amted = dw_unexch.GetItemDouble(row, L"实收汇金额");//往次 double samt = dw_unexch.GetItemDouble(row, L"应收汇金额");//应收汇金额 @@ -166,8 +166,8 @@ } double amt1 = dw_obj.GetItemDouble(dw_obj.GetRow(), L"BalanceAmt"); int v1 = (amt * 100.0).toString().toInt(); int v2 = (amt1 * 100.0).toString().toInt(); int v1 = xstring(amt * 100.0).toInt(); int v2 = xstring(amt1 * 100.0).toInt(); if (v2 > v1) { dw_unexch.ItemChangeTo(row, L"Amount", xstring(amt)); @@ -348,9 +348,9 @@ xstring path1 = L"/sale/data/AR/item/exch/listwithcustomer"; if (customer == 0) path1 = L"/sale/data/AR/item/exch/list"; arg.AddArg(L"QueryTxt", GetControl(L"sle_search").GetText()); arg.AddArg(L"QueryTxt", xcontrol(GetControl(L"sle_search")).GetText()); arg.AddArg(L"QueryArg", GetQueryArg()); trace(L"SEID+++L" + SEID + L"+++QueryTxt+++L" + GetControl(L"sle_search").GetText() + L"+++QueryArg+++L" + GetQueryArg()); trace(L"SEID+++L" + SEID + L"+++QueryTxt+++L" + xcontrol(GetControl(L"sle_search")).GetText() + L"+++QueryArg+++L" + GetQueryArg()); if (getUrl(path, arg.GetString(), x) != 1) { trace(L"错误信息1=L" + xstring(x.text())); @@ -406,7 +406,7 @@ /*xaserverarg arg = GetParam(); xstring CustomerIDOne = arg.GetArgString(L"CustomerID"); xstring SEIDOne = arg.GetArgString(L"SEID");*/ if (GetWinParam())dw_obj = GetParam(); if (GetWinParam())dw_obj = *(xdwgrid*)GetWinParam(); OnAttachEvent(); return 1; jrj/project/business/AR/maint.SettlementExchange.cpp
@@ -138,7 +138,7 @@ } arg.AddArg(L"CustomerID", dw_base.GetItemString(1, L"CustomerID")); arg.AddArg(L"SEID", dw_base.GetGuid(1)); SendMessage(hObject, 0x401, L"xmSignEx:" + dw_base.GetGuid(1), 0); SendMessage(hObject, 0x401, (WPARAM)((xstring)L"xmSignEx:" + dw_base.GetGuid(1)).c_str(), 0); return 1; } @@ -215,7 +215,7 @@ { xaserverarg arg =GetArg(); SettlementExchangeID = arg.GetArgString(L"SettlementExchangeID"); hObject = arg.GetArgString(L"HWND").toInt(); hObject = (HWND)arg.GetParam(L"HWND"); } if (SettlementExchangeID != L"") { jrj/project/business/Enquiry.list.cpp
@@ -1,6 +1,7 @@ #include <wobject/xstring.hpp> #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <xcontrol/xcheckbox.hpp> #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" @@ -60,7 +61,7 @@ if(agent) { xstring s = agent.xml(); m_agentNode = SetAgentNodeContent (anode,s); m_agentNode = SetAgentNode(anode,s); } //} return 1; @@ -131,7 +132,7 @@ }*/ tools +=L"</vbox>"; //trace(tools); SetAgentNodeContent(anode, tools); SetAgentNode(anode, tools); return 1; } @@ -295,7 +296,6 @@ alert(L"保存失败!"); } } if(x) x.Free(); return 1; } @@ -309,7 +309,7 @@ xstring Subject = L"价格单已共享["+CName+L"]"; xstring Category = L"价格单共享"; xstring Content = L""; KXMLDOMDocument x = ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content); ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content); return 1; } int SendNotice(xml content) @@ -390,16 +390,14 @@ dw_pricelist.DwUpdateAllToEx(x0); if(x0.xml() !=L"") { xml x1 = xml::Make(); xml x1; dw_priceitem.DwUpdateAllToEx(x1); if(x0.documentElement()) { if(x1.documentElement()) x0.documentElement().appendChild(x1.documentElement()); } x1.Free(); arg.AddArg(L"content", x0.xml() ); x0.Free(); if(xurl::get(L"/sale/data/Enquiry/update/pricelist", arg.GetString(),x)!=1) { error = x.text(); @@ -440,13 +438,11 @@ alert(L"保存成功!"); OnProductPriceShareRetrieve();//刷新数据 SendNotice(x2);//发送通知 x2.Free(); }else { alert(L"共享数据保存失败!"); } } x.Free(); return 1; } @@ -495,11 +491,11 @@ int OnPreRetrieve() { int hItem = tv_folder.GetSelectedItem(); HTREEITEM hItem = tv_folder.GetSelectedItem(); if(hItem <=0) return 1; int hCursor = xutil::SetCursorWait(); KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement); HCURSOR hCursor = xutil::SetCursorWait(); KXMLDOMElement e1 = tv_folder.GetItemData(hItem); xstring no = e1.getAttribute(L"no"); xml x = 0; if(!(no ==L"Category:All" && IsEmptyQueryStr(m_QueryTxt))) @@ -510,9 +506,9 @@ dw_list.Redraw(); }else { dw_list.ResetEx(); dw_list.Reset(); dw_list.Redraw(); dw_goods.ResetEx(); dw_goods.Reset(); dw_goods.Redraw(); } @@ -524,9 +520,9 @@ dw_list2.Redraw(); }else { dw_list2.ResetEx(); dw_list2.Reset(); dw_list2.Redraw(); dw_goods2.ResetEx(); dw_goods2.Reset(); dw_goods2.Redraw(); } @@ -536,9 +532,9 @@ dw_list1.Redraw(); }else { dw_list1.ResetEx(); dw_list1.Reset(); dw_list1.Redraw(); dw_goods1.ResetEx(); dw_goods1.Reset(); dw_goods1.Redraw(); } x = ViewObject::RetrieveData(myDataUrl1,L"no",no,L"QueryTxt", m_QueryTxt); @@ -548,9 +544,9 @@ dw_list1.Redraw(); }else { dw_list1.ResetEx(); dw_list1.Reset(); dw_list1.Redraw(); dw_goods1.ResetEx(); dw_goods1.Reset(); dw_goods1.Redraw(); } dw_list1.SetReadOnly(true); @@ -568,29 +564,25 @@ if(row>0) { KXMLDOMElement e =dw_list.GetRowElement(row); xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xaserverarg arg; xstring sCustomerID = e.selectSingleNode(L"CustomerID").text(); arg.AddArg(L"CustomerID",sCustomerID,L""); xstring sCustomerName = e.selectSingleNode(L"CustomerName").text(); arg.AddArg(L"CustomerName",sCustomerName,L""); arg.AddArg(L"EntityName",GetEntityName(1),L""); arg.AddArg(L"EntityID",GetEntityID(1),L""); int p = arg.ptr_native_; openUrl(L"/sale/view/Enquiry3/xpage/histroydata", p); openUrl(L"/sale/view/Enquiry3/xpage/histroydata", &arg); } return 1; } int OnPrint() { xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xaserverarg arg; arg.AddArg(L"EntityName",L"Enquiry",L""); arg.AddArg(L"EntityID",GetEntityID(1),L""); arg.AddArg(L"EntityNo",GetEntityNo(1),L""); int p = arg.ptr_native_; openUrl(L"/sale/view/view.base/xpage/Template/PrintViewEx", p); openUrl(L"/sale/view/view.base/xpage/Template/PrintViewEx", &arg); return 0; } @@ -598,15 +590,14 @@ { dw_priceitem.Reset(); xaserverarg arg = xaserverarg::Make(); xaserverarg arg; arg.AddArg(L"action",L"AddPriceList"); OpenWindow(L"dev:xpage[ProductSchemaSelect.vx]",cast(arg as int)); OpenWindow(L"dev:xpage[ProductSchemaSelect.vx]",arg); if(arg.GetArgString(L"process") == L"ok") { xml x.setNativePointer(xml::CreateInstance()); xml x; if (getUrl(L"/sale/data/Enquiry/PriceListEx/SKU",arg.GetString(),x)!=1) return 1; KXMLDOMNodeList nodes = x.selectNodes(L"data/Item"); int len = nodes.length(); @@ -634,13 +625,8 @@ } KXMLDOMNodeList items = ele.selectNodes(L"data/Item"); AddItems(id,items); items.Release(); ele.Release(); } x.Free(); nodes.Release(); } arg.Free(); //OnRetrieveItem(dw_pricelist.GetGuid(row)); return 1; } @@ -652,9 +638,8 @@ dw_priceitem.Reset(); xaserverarg arg = xaserverarg::Make(); xml x.setNativePointer(xml::CreateInstance()); xaserverarg arg ; xml x; arg.AddArg(L"SKUID",dw_pricelist.GetItemString(row,L"SKUID")); arg.AddArg(L"SchemaNo",dw_pricelist.GetItemString(row,L"BOMSchema")); if (getUrl(L"/sale/data/Enquiry/PriceListEx/SKU",arg.GetString(),x)!=1) return 1; @@ -683,12 +668,7 @@ } KXMLDOMNodeList items = ele.selectNodes(L"data/Item"); AddItems(id,items); items.Release(); ele.Release(); } nodes.Release(); x.Free(); arg.Free(); //OnRetrieveItem(dw_pricelist.GetGuid(row)); return 1; @@ -727,11 +707,10 @@ if(dw_pricelist.GetRow() < 1) return 1; int row = dw_pricelist.GetRow(); xaserverarg arg= new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xaserverarg arg; arg.AddArg(L"SKUID",dw_pricelist.GetItemString(row,L"SKUID")); arg.AddArg(L"SchemaNo",dw_pricelist.GetItemString(row,L"BOMSchema")); OpenWindow(L"dev:xpage[PriceList.PurcharItemSelect.vx]",cast(arg as int)); OpenWindow(L"dev:xpage[PriceList.PurcharItemSelect.vx]",arg); xstring id = dw_pricelist.GetGuid(dw_pricelist.GetRow()); if(id==L"") { @@ -741,11 +720,10 @@ if(arg.GetArgString(L"process")==L"ok") { xstring content = arg.GetArgString(L"result"); xml x = xml::Make(); x.LoadXml(content); xml x; x.loadXML(content); KXMLDOMNodeList nodes = x.selectNodes(L"data/Item"); AddItems(id,nodes); nodes.Release(); xstring PriceInfo = L""; for(int i=1;i<=dw_pricelist.GetRowCount();i++) { @@ -787,14 +765,14 @@ return 1; } int OnRowChanged(ref TNotifyEvent evt,int p) int OnRowChanged(TEvent* evt,LPARAM p) { listwin::OnRowChanged(evt,p); ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; int hCursor = xutil::SetCursorWait(); HCURSOR hCursor = xutil::SetCursorWait(); xstring EnquiryNo = dw_list.GetItemString(row,L"EnquiryNo"); xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/maint",L"id",EnquiryNo); if(x) @@ -807,12 +785,12 @@ return 1; } int OnRowChanged2(ref TNotifyEvent evt,int p) int OnRowChanged2(TEvent* evt,LPARAM p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; int hCursor = xutil::SetCursorWait(); HCURSOR hCursor = xutil::SetCursorWait(); xstring EnquiryNo = dw_list2.GetItemString(row,L"EnquiryNo"); xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/maint",L"id",EnquiryNo); if(x) @@ -826,18 +804,18 @@ return 1; } int OnRowChanged1(ref TNotifyEvent evt,int p) int OnRowChanged1(TEvent* evt, LPARAM p) { //fixed one event only one process //listwin::OnRowChanged(evt,p); ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; int hCursor = xutil::SetCursorWait(); HCURSOR hCursor = xutil::SetCursorWait(); xstring ItemID = dw_list1.GetItemString(row,L"ItemID"); //alert(ItemID); xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/folder/listitemsex",L"itemID",ItemID,L"type",state2.toString()); xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/folder/listitemsex",L"itemID",ItemID,L"type",xstring(state2)); if(x) dw_goods1.Retrieve(x); else @@ -851,20 +829,19 @@ int OnShare() { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xaserverarg arg; OpenWindow(L"dev:xpage[UserGroupShareEx.vx]",cast(arg as int)); OpenWindow(L"dev:xpage[UserGroupShareEx.vx]",arg); if(arg.GetArgString(L"process")==L"ok") { xdwgrid dw_obj = dw_pricelistex; if(sheetname==L"tab_pricebillex") dw_obj = dw_pricelist; sheetname=L"tab_pricebillshare"; SetAgent(L"list"); xframe::SetAgent(L"list"); SwitchLayer(L"sheet5",L"frame"); xml x = xml::Make(); x.LoadXml(arg.GetArgString(L"result")); xml x; x.loadXML(arg.GetArgString(L"result")); KXMLDOMNodeList nodes = x.selectNodes(L"root/item"); int count = nodes.length(); int row = dw_obj.GetNextSelectRow(1); @@ -915,26 +892,23 @@ int OnShare2() { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xaserverarg arg ; OpenWindow(L"dev:xpage[UserGroupShareEx.vx]",cast(arg as int)); OpenWindow(L"dev:xpage[UserGroupShareEx.vx]",arg); return 1; } int OnTransPriceBillEx() { xaserverarg arg= new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xaserverarg arg; arg.AddArg(L"no",L"Category:All"); arg.AddArg(L"QueryTxt",L""); OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",cast(arg as int)); OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",arg); if(arg.GetArgString(L"process") == L"ok") { xml x.setNativePointer(xml::CreateInstance()); x.LoadXml(arg.GetArgString(L"result")); xml x; x.loadXML(arg.GetArgString(L"result")); KXMLDOMNodeList nodes = x.selectNodes(L"data/Item"); int len = nodes.length(); for(int i=0; i<len;i++) @@ -973,24 +947,20 @@ if(ele.selectSingleNode(L"EnquiryLineID")) dw_pricelistex.SetItemString(row,L"EnquiryLineID",ele.selectSingleNode(L"EnquiryLineID").text()); ele.Release(); } x.Free(); nodes.Release(); } return 1; } int OnTransPriceBill() { xaserverarg arg= new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xaserverarg arg; arg.AddArg(L"no",L"Category:All"); arg.AddArg(L"QueryTxt",L""); OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",cast(arg as int)); OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",arg); if(arg.GetArgString(L"process") == L"ok") { xml x.setNativePointer(xml::CreateInstance()); x.LoadXml(arg.GetArgString(L"result")); xml x; x.loadXML(arg.GetArgString(L"result")); KXMLDOMNodeList nodes = x.selectNodes(L"data/Item"); int len = nodes.length(); for(int i=0; i<len;i++) @@ -1047,21 +1017,18 @@ //items.Release(); ele.Release(); } x.Free(); nodes.Release(); } return 1; } int OnTech(xdwgrid dw_term) { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xaserverarg arg; int row = dw_term.GetRow(); if(row < 1) return 0; xstring str = dw_term.GetItemString(row,L"TechNote"); arg.AddArg(L"value",str); OpenWindow(L"dev:xpage[memo.edit.new.vx]",arg.getNativePointer()); OpenWindow(L"dev:xpage[memo.edit.new.vx]",arg); if(arg.GetArgString(L"comdid")==L"xmOK") { str = arg.GetArgString(L"value"); @@ -1074,8 +1041,7 @@ int OnCopy() { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xaserverarg arg ; int row = dw_pricelistex.GetRow(); if(row < 1) return 0; @@ -1105,15 +1071,13 @@ arg.AddArg(L"PayTerm",PayTerm); arg.AddArg(L"CustomerContactName",CustomerContactName); arg.AddArg(L"ContactTel",ContactTel); int pa = arg.getNativePointer(); openUrl(L"/sale/view/Enquiry3/xpage/maint", pa); openUrl(L"/sale/view/Enquiry3/xpage/maint", &arg); return 1; } int OnGroupCopy() { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xaserverarg arg ; int row = dw_priceitem.GetRow(); int row1 = dw_pricelist.GetRow(); if(row < 1) return 0; @@ -1146,8 +1110,7 @@ arg.AddArg(L"ContactTel",ContactTel); int pa = arg.getNativePointer(); openUrl(L"/sale/view/Enquiry3/xpage/maint", pa); openUrl(L"/sale/view/Enquiry3/xpage/maint", &arg); return 1; } @@ -1174,7 +1137,7 @@ if(comdid==L"tab_pricebill") { sheetname=L"tab_pricebill"; SetAgent(L"list"); xframe::SetAgent(L"list"); SwitchLayer(L"tv_folder_pricebill",L"folder_frame"); if(dw_pricelistex.GetRowCount() < 1) OnProductPriceBillRetrieve(); @@ -1183,7 +1146,7 @@ else if(comdid==L"tab_pricebillex") { sheetname=L"tab_pricebillex"; SetAgent(L"list"); xframe::SetAgent(L"list"); SwitchLayer(L"tv_folder_pricebill",L"folder_frame"); if(dw_pricelist.GetRowCount() < 1) OnPriceBillRetrieve(); return 0; @@ -1191,7 +1154,7 @@ { dw_list = GetControl(L"dw_list2"); sheetname = L"tab_list2"; SetAgent(L"list"); xframe::SetAgent(L"list"); } else if(comdid.left(4)==L"tab_") @@ -1206,7 +1169,7 @@ else SwitchLayer(L"tv_folder",L"folder_frame"); sheetname=comdid; SetAgent(L"list"); xframe::SetAgent(L"list"); return 0; } @@ -1253,7 +1216,7 @@ xml supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType",L"id", s); if(supplier_x) { if(supplier_x.text == L"采购经理") if((xstring)supplier_x.text() == L"采购经理") { alert(L"当前角色不是采购员不能新增单子,请重新选择角色"); return 0; @@ -1319,17 +1282,17 @@ } //xcombobox下拉 int OnSelectDdlb(ref TNotifyEvent evt,int p) int OnSelectDdlb(TEvent* evt,int p) { changeddlb=1; int wid = ddlb_1.GetId(); HWND wid = ddlb_1.GetHWND(); int CB_GETCURSEL = 0x0147; int nIndex = win32::SendMessage(wid,CB_GETCURSEL,0,0); int nIndex = SendMessage(wid,CB_GETCURSEL,0,0); KXMLDOMElement e = ddlb_1.GetElement(); KXMLDOMElement e2 = e.selectSingleNode(L"item["+(nIndex+1).toString()+L"]"); KXMLDOMElement e2 = e.selectSingleNode(L"item["+xstring(nIndex+1)+L"]"); xstring no=e2.selectSingleNode(L"@element").text(); int hItem = tv_folder.GetRootItem(); HTREEITEM hItem = tv_folder.GetRootItem(); while(tv_folder.GetChildItem(hItem)) tv_folder.DeleteItem(tv_folder.GetChildItem(hItem)); ExpandFolderItem(tv_folder,hItem, no); @@ -1339,25 +1302,25 @@ } int OnCkbCLick(ref TEvent evt,int p) int OnCkbCLick(TEvent* evt,int p) { xcheckbox cbx_1 = GetControl(L"cbx1"); int state=cbx_1.GetCheck(cbx_1.GetId()); if(evt.lParam == GetControl(L"cbx1").GetId()) int state=cbx_1.GetCheck(cbx_1.GetHWND()); if(evt->lParam == (LPARAM)GetControl(L"cbx1")->GetHWND()) { if (state== -1) SwitchLayer(L"sheet1",L"frame"); else SwitchLayer(L"sheet2",L"frame"); return 1; }else if(evt.lParam == GetControl(L"cbx2").GetId()) }else if(evt->lParam == (LPARAM)GetControl(L"cbx2")->GetHWND()) { cbx_1 = GetControl(L"cbx2"); state=cbx_1.GetCheck(cbx_1.GetId()); int hCursor = xutil::SetCursorWait(); state=cbx_1.GetCheck(cbx_1.GetHWND()); HCURSOR hCursor = xutil::SetCursorWait(); xstring ItemID = dw_list1.GetItemString(dw_list1.GetRow(),L"ItemID"); xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/folder/listitemsex",L"itemID",ItemID,L"type",state.toString()); xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/folder/listitemsex",L"itemID",ItemID,L"type",xstring(state)); if(x) dw_goods1.Retrieve(x); else @@ -1370,21 +1333,21 @@ } } int OnPriceListRowChanged(ref TNotifyEvent evt,int p) int OnPriceListRowChanged(TEvent* evt,LPARAM p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; int hCursor = xutil::SetCursorWait(); HCURSOR hCursor = xutil::SetCursorWait(); OnRetrieveItem(dw_pricelist.GetGuid(row)); return 1; } int OnItemAskStyle(ref TNotifyEvent evt,int p) int OnItemAskStyle(TEvent* evt,LPARAM p) { int DMS_CSSSTYLE = 0x8; ref DWASKSTYLENMHDR hdr = trust(evt.pnmh as ref DWASKSTYLENMHDR); DWASKSTYLENMHDR& hdr = *(DWASKSTYLENMHDR*)evt->notify.pnmh; int row = hdr.row; int col = hdr.col; xstring colname = hdr.colname; @@ -1402,14 +1365,14 @@ if(days < 0) { hdr.mask = DMS_CSSSTYLE; hdr.cssstyle = L"color:#cccccc"; hdr.pCssStyle = (LPTSTR)L"color:#cccccc"; } } return 1; } int OnFilter() { xstring str = GetControl(L"sl_search").GetText(); xstring str = xcontrol(GetControl(L"sl_search")).GetText(); xdwgrid dw_obj; if(sheetname==L"tab_goods") dw_obj = dw_list1; else if(sheetname==L"tab_pricebill") dw_obj = dw_pricelistex; @@ -1420,53 +1383,51 @@ return 1; } int OnPriceListDoubleClicked(ref TNotifyEvent evt,int p) int OnPriceListDoubleClicked(TEvent* evt, LPARAM pr) { int hCursor = xutil::SetCursorWait(); HCURSOR hCursor = xutil::SetCursorWait(); int row = dw_pricelistex.GetRow(); if(row > 0) OnTech(dw_pricelistex); xutil::RestoreCursor(hCursor); return 1; } int OnDoubleClicked(ref TNotifyEvent evt,int p) int OnDoubleClicked(TEvent* evt, LPARAM) { int hCursor = xutil::SetCursorWait(); HCURSOR hCursor = xutil::SetCursorWait(); int row = dw_list2.GetRow(); xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xaserverarg arg; xstring EnquiryNo = dw_list2.GetItemString(row,L"EnquiryNo"); arg.AddArg(L"EnquiryNo",EnquiryNo); int pa = arg.getNativePointer(); openUrl(L"/sale/view/Enquiry3/xpage/maint", pa); openUrl(L"/sale/view/Enquiry3/xpage/maint",&arg); xutil::RestoreCursor(hCursor); return 1; } int OnDoubleClicked(ref TNotifyEvent evt,int p) int OnDoubleClicked(TEvent* evt, LPARAM pr) { int hCursor = xutil::SetCursorWait(); HCURSOR hCursor = xutil::SetCursorWait(); OnCmdDispatch(L"action:bill.open"); xutil::RestoreCursor(hCursor); return 1; } int AttachEvent() int AttachListon() { AttachEvent(L"tv_folder", L"TVN_SELCHANGED",OnTreeSelChanged); //树选择 AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",OnTreeExpanding); //树展开 AttachEvent(L"dw_list",L"DWV_ROWFOCUSCHANGED",OnRowChanged); AttachEvent(L"dw_list2",L"DWV_ROWFOCUSCHANGED",OnRowChanged2); AttachEvent(L"dw_list1",L"DWV_ROWFOCUSCHANGED",OnRowChanged1); AttachEvent(L"cbx_1",L"CBN_SELCHANGE",OnSelectDdlb); AttachEvent(L"WM_COMMAND",OnCkbCLick); AttachEvent(L"dw_list",L"DWV_ASKSTYLE",OnItemAskStyle); AttachEvent(L"dw_pricelist",L"DWV_ROWFOCUSCHANGED",OnPriceListRowChanged); AttachEvent(L"tv_folder_pricebill", L"TVN_SELCHANGED",OnPriceBillTreeSelChanged); //树选择 AttachEvent(L"tv_folder_pricebill", L"TVN_ITEMEXPANDING",OnPriceBillTreeExpanding); AttachEvent(L"tv_folder", L"TVN_SELCHANGED",(FEvent)&Enquiry3list::OnTreeSelChanged); //树选择 AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING", (FEvent)&Enquiry3list::OnTreeExpanding); //树展开 AttachEvent(L"dw_list",L"DWV_ROWFOCUSCHANGED", (FEvent)&Enquiry3list::OnRowChanged); AttachEvent(L"dw_list2",L"DWV_ROWFOCUSCHANGED", (FEvent)&Enquiry3list::OnRowChanged2); AttachEvent(L"dw_list1",L"DWV_ROWFOCUSCHANGED", (FEvent)&Enquiry3list::OnRowChanged1); AttachEvent(L"cbx_1",L"CBN_SELCHANGE", (FEvent)&Enquiry3list::OnSelectDdlb); AttachEvent(L"WM_COMMAND", (FEvent)&Enquiry3list::OnCkbCLick); AttachEvent(L"dw_list",L"DWV_ASKSTYLE", (FEvent)&Enquiry3list::OnItemAskStyle); AttachEvent(L"dw_pricelist",L"DWV_ROWFOCUSCHANGED", (FEvent)&Enquiry3list::OnPriceListRowChanged); AttachEvent(L"tv_folder_pricebill", L"TVN_SELCHANGED", (FEvent)&Enquiry3list::OnPriceBillTreeSelChanged); //树选择 AttachEvent(L"tv_folder_pricebill", L"TVN_ITEMEXPANDING", (FEvent)&Enquiry3list::OnPriceBillTreeExpanding); AttachEvent(L"dw_pricelistex",L"DWV_DOUBLECLICKED",OnPriceListDoubleClicked); AttachEvent(L"dw_list2",L"DWV_DOUBLECLICKED",OnDoubleClicked); AttachEvent(L"dw_pricelistex",L"DWV_DOUBLECLICKED", (FEvent)&Enquiry3list::OnPriceListDoubleClicked); AttachEvent(L"dw_list2",L"DWV_DOUBLECLICKED", (FEvent)&Enquiry3list::OnDoubleClicked); return 1; } @@ -1475,10 +1436,8 @@ int OnRetrieveItem(xstring EnquiryPriceListID) { xml x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xml x; xaserverarg arg ; arg.AddArg(L"EnquiryPriceListID",EnquiryPriceListID); if (getUrl(L"/sale/data/Enquiry/fetch/PriceList/item",arg.GetString(),x)!=1) { @@ -1495,14 +1454,12 @@ int OnPriceBillRetrieve() { int hItem = tv_folder_pricebill.GetSelectedItem(); KXMLDOMElement e1 = cast(tv_folder_pricebill.GetItemData(hItem) as KXMLDOMElement); HTREEITEM hItem = tv_folder_pricebill.GetSelectedItem(); KXMLDOMElement e1 = tv_folder_pricebill.GetItemData(hItem); xstring no = e1.getAttribute(L"no"); xml x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xml x; xaserverarg arg; arg.AddArg(L"no",no); if (getUrl(L"/sale/data/Enquiry/fetch/PriceList",arg.GetString(),x)!=1) { @@ -1525,14 +1482,12 @@ int OnProductPriceBillRetrieve() { int hItem = tv_folder_pricebill.GetSelectedItem(); KXMLDOMElement e1 = cast(tv_folder_pricebill.GetItemData(hItem) as KXMLDOMElement); HTREEITEM hItem = tv_folder_pricebill.GetSelectedItem(); KXMLDOMElement e1 = tv_folder_pricebill.GetItemData(hItem); xstring no = e1.getAttribute(L"no"); xml x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xml x; xaserverarg arg ; arg.AddArg(L"no",no); if (getUrl(L"/sale/data/Enquiry/ProductPriceList/nobom",arg.GetString(),x)!=1) { @@ -1550,10 +1505,8 @@ int OnProductPriceShareRetrieve() { xml x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xml x; xaserverarg arg ; if (getUrl(L"/sale/data/Enquiry/ProductPriceList/share",arg.GetString(),x)!=1) { trace(x.text()); @@ -1669,7 +1622,7 @@ { listwin::onloaded(); AttachEvent(); AttachListon(); dw_list.SetColumnState(L"EnquiryID",false); dw_list.SetColumnState(L"Days",false); @@ -1683,7 +1636,7 @@ OnProductPriceShareRetrieve(); int hItem = tv_folder.GetRootItem(); HTREEITEM hItem = tv_folder.GetRootItem(); tv_folder.ExpandItem(hItem); tv_folder.ItemFocus(hItem); @@ -1708,7 +1661,7 @@ int ProcessUsedArg(xaserverarg arg) { int hItem = tv_folder.GetCaretItem(); HTREEITEM hItem = tv_folder.GetCaretItem(); arg.AddArg(L"sheetname",sheetname); if(hItem > 0) { jrj/project/start.vframe.vbusiness.cpp
@@ -4,111 +4,978 @@ #include "wobject/xstring.hpp" #include "wobject/xurl.hpp" #include "xcontrol/xshtml.hpp" #include "vbusiness/vframe/frame.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" #include "xcontrol/xshtml.hpp" class __declspec(dllexport) startvframevbusiness: public xwin using xml = Hxsoft::XFrame::KXMLDOMDocument; class __declspec(dllexport) startvframevbusiness : public xframe { public: xreport dw_list; xreport dw_list; public: startvframevbusiness(void* implPtr,HWND hWnd):xwin(implPtr,hWnd){} startvframevbusiness(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static startvframevbusiness * CreateInstance(void* implPtr,void* hWnd) static startvframevbusiness* CreateInstance(void* implPtr, void* hWnd) { return new startvframevbusiness(implPtr,(HWND)hWnd); return new startvframevbusiness(implPtr, (HWND)hWnd); } public: int OnCmdDispatch(const wchar_t* comd) int init() { //alert(comd); return 0; } int OnXCommand(TEvent* evt,int p) { return OnCmdDispatch(evt->xcommand.pStrID); } xaserverarg arg; KXMLDOMDocument doc; if (xurl::get(GetServerUrl(), L"/sale/data/vpage/vstart/list", arg.GetString(), doc) != 1) { alert(((xstring)L"error:" + doc.xml()).c_str()); return 0; } if (!doc.xml()) return 0; int ShowDetail(int row) { if(row<0 || row>dw_list.GetRowCount()) return 1; if(!dw_list.GetRowElement(row)) return 1; Hxsoft::XFrame::KXMLDOMElement ele = dw_list. GetRowElement(row); //alert(ele.xml()); dw_list.SetRow(row); dw_list.Retrieve(doc); dw_list.CreateTree((LPCWSTR)L"node()", 1, 15, 16); string EntityID=ele.getAttribute(L"EntityID"); if(!EntityID || !EntityID[0]) return -1; //SetAgent("letter",GetEntityID(1)); xaserverarg arg; arg.AddArg(L"content",ele.xml()); Hxsoft::XFrame::KXMLDOMDocument doc; if(xurl::get(GetServerUrl(),L"/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1) { alert(((xstring)L"error:"+doc.xml()).c_str()); return 0; } //alert(doc.xml()); xshtml ht(GetControl(L"taskinfo")); ht.SetContent(doc.xml()); ht.Redraw(); return 1; } //#include <tchar.h> int OnClicked(TEvent* evt,int p) { DWNMHDR* hdr = (DWNMHDR*)evt->notify.pnmh; int row = hdr->row; if(row<1 || row>dw_list.GetRowCount()) return 1; ShowDetail(row); //SetAgent(); return 1; } int init() { xaserverarg arg; KXMLDOMDocument doc; if(xurl::get(GetServerUrl(),L"/sale/data/vpage/vstart/list",arg.GetString(),doc)!=1) { alert(((xstring)L"error:"+doc.xml()).c_str()); return 0; } if(!doc.xml()) return 0; dw_list.Retrieve(doc); dw_list.CreateTree((LPCWSTR)L"node()", 1, 15, 16); /* dw_list.Redraw(); dw_list.SetReadOnly(true); */ return 1; } int OnAttachListon() { AttachEvent(L"WM_XCOMMAND",(FEvent)&startvframevbusiness::OnXCommand,this); AttachEvent(L"tasklist",L"DWV_CLICKED",(FEvent)&startvframevbusiness::OnClicked,this); //AttachEvent("mdilayer", "LYSN_SELECTEDSHEET",OnSheetChanged); ////AttachEvent("mdilayer", "LYSN_CLOSESHEET",OnCloseSheet); /* dw_list.Redraw(); dw_list.SetReadOnly(true); */ return 1; } xstring GetEntityIDName(LPARAM pr) { return L"@EntityID"; } xstring GetEntityName(LPARAM pr) { int nRow = dw_list.GetRow(); if (nRow < 0) return L""; KXMLDOMElement ele = dw_list.GetRowElement(nRow); xstring x = ele.getAttribute(L"category"); return x; } xstring GetEntityID(LPARAM pr) { int row = dw_list.GetRow(); if (row<1 || row>dw_list.GetRowCount()) return 0; KXMLDOMElement ele = dw_list.GetRowElement(row); if (!ele) return L""; xstring id = GetEntityIDName(pr); if (!ele.selectSingleNode(id)) return L""; xstring d = ele.selectSingleNode(id).text(); return d; } xstring GetTaskID() { int row = dw_list.GetRow(); if (row<1 || row>dw_list.GetRowCount()) return 0; KXMLDOMElement ele = dw_list.GetRowElement(row); if (!ele) return L""; xstring taskid = ele.getAttribute(L"taskid"); return taskid; } xstring GetReason(LPARAM pr, xstring comd) { xaserverarg arg; if (GetEntityName(pr) == L"DeliveryDelay") { xstring ls_cmdid = comd;//pr; int row = dw_list.GetRow(); if (row < 1) return 1; KXMLDOMElement ele = dw_list.GetRowElement(row); xstring ls_status = ele.selectSingleNode(L"@status").text(); if (ls_status == L"货源部待确认" && ls_cmdid == L"action:bill.check.agree") { arg.AddArg(L"DDID", GetEntityID(2)); arg.AddArg(L"_ModuelPage", L"dev:xpage[DeliveryDelay.supmancheck.vx]"); OpenWindow(L"dev:xpage[vindexforold.vx]", arg); //openUrl(L"/sale/view/DeliveryDelay/xpage/DeliveryDelay/supmancheck", arg); if (arg.GetArgString(L"ret") == L"Sucess") { return L"Auto..."; } return L""; } else { //return frame::GetReason(pr); arg.AddArg(L"EntityID", GetEntityID(2)); arg.AddArg(L"_ModuelPage", L"dev:xpage[workflow.chkdlg.vx]"); OpenWindow(L"dev:xpage[vindexforold.vx]", arg); //int newArg2 = arg.ptr_native_; //openUrl(L"/sale/view/workflow.view/xpage/chkdlg_vd", newArg2); xstring comdid = arg.GetArgString(L"comdid"); if (comdid == L"xmOK") { xstring value = arg.GetArgString(L"content") + L" "; return value; } return L""; } } else { //return frame::GetReason(pr); arg.AddArg(L"EntityID", GetEntityID(2)); arg.AddArg(L"_ModuelPage", L"dev:xpage[workflow.chkdlg.vx]"); OpenWindow(L"dev:xpage[vindexforold.vx]", arg); //openUrl(L"/sale/view/workflow.view/xpage/chkdlg", arg); xstring comdid2 = arg.GetArgString(L"comdid"); if (comdid2 == L"xmOK") { xstring value2 = arg.GetArgString(L"content") + L" "; return value2; } return L""; } } int ViewUpdate(LPARAM pr, xstring updateItem, xaserverarg arg) { init(); return 1; } xstring GetEntityWorkNode(LPARAM pr, xstring what) { if (what == L"open") { int row = dw_list.GetRow(); if (row<0 || row>dw_list.GetRowCount()) return 0; KXMLDOMElement ele = dw_list.GetRowElement(row); xstring aurl = ele.selectSingleNode(L"@url").text(); return aurl; } return L""; } int SetAgent() { if (dw_list) { //init(); xstring id = GetEntityID(1); if (id != L"") xframe::SetAgent((xstring)L"letter", id); } return 1; } int openUrl(xstring aurl, /*param */ LPARAM para) { //alert(aurl); xml x; xurl::get(aurl, L"", x); KXMLDOMDocument doc = x; KXMLDOMNode n = doc.selectSingleNode(L"//resource/@src"); //alert(x.xml()); if (n) { /* xstring xq = n.text(); OpenWindow(xq, para); return 1; */ xstring xq = n.text(); if (doc.selectSingleNode(L"//resource/@argnative")) { OpenWindow(xq, para); } //alert(xq); else if (xq.find(L"upplier", 0) > 0 and xq != L"dev:xpage[Maint.SupplierStatusModify.vx]" and xq != L"dev:xpage[Maint.SupplierSubmit.vx]") OpenWindow(xq, para); else { xq = xq.replace(L"dev:xpage[", L""); xq = xq.replace(L"]", L""); xaserverarg args; args.AddArg(L"_ModuelPage", xq); //alert(args.GetString()); OpenWindow(L"dev:xpage[vindexforold.vx]", args); } return 1; } else { xaserverarg arg; n = doc.selectSingleNode(L"//resource[@vface!='' and @view!='']"); if (n) { xstring vface = n.selectSingleNode(L"@vface").text(); xstring view = n.selectSingleNode(L"@view").text(); xstring config = n.selectSingleNode(L"@config").text(); if (config != L"") { arg.AddArg(L"config", config, L"xs:xstring"); } if (vface == L"." || vface == L"") { xstring v = n.selectSingleNode(L"@url").text(); xstring burl = aurl.mid(0, aurl.find(v, 0)); //alert(burl); return openUrl(burl + view, arg); } else return openUrl(vface + L"/" + view, arg); } } return -1; } int SetTaskProcessed() { int row = dw_list.GetRow(); if (row<0 || row>dw_list.GetRowCount()) return 1; if (!dw_list.GetRowElement(row)) return 1; KXMLDOMElement ele = dw_list.GetRowElement(row); xaserverarg arg; xstring taskid = ele.getAttribute(L"taskid"); arg.AddArg(L"TaskID", taskid); xml x = ViewObject::RetrieveData(L"/sale/data/business/update/taskprocessed", L"TaskID", taskid); if (x) alert(x.text()); dw_list.DeleteRow(row); return 1; } int ProcessFlowAction(xstring comdid, LPARAM pr1) { if (comdid == L"__ModifyRows") { OnModifyRows(); return 1; } int pr = pr1; xstring action = comdid.mid(comdid.find(L"action:", 0) + 7, 9999); if (action == L"bill.delete" || action == L"bill.deleteEx") { if (MessageBox(GetHWND(), L"是否确定删除记录!", L"提示", 1) == 2) return 1; } if (action == L"bill.processed") { if (MessageBox(GetHWND(), L"是否确定选中的任务转已处理?", L"提示", 1) == 2) return 1; return SetTaskProcessed(); } xaserverarg arg; arg.AddArg(L"Action", action, L"xs:xstring"); 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 = L""; xstring billstatus = L""; KXMLDOMElement e; arg.AddArg(L"EntityName", GetEntityName(pr), L"xs:xstring"); //参数要求 KXMLDOMNodeList nlist = x.selectNodes(L"//params/param"); nlen = nlist.length(); for (i = 0; i < nlen; i++) { e = nlist.item(i); name = e.selectSingleNode(L"@name").text(); how = e.selectSingleNode(L"@how").text(); xstring content = L""; if (how == L"Entity" || how == L"EntityData") { content = GetEntityData(pr); } if (e.selectSingleNode(L"@valid")) { if (content.find(L"update.modify", 0) > 0 || content.find(L"update.delete", 0) > 0) {} else return 0; if (CheckEntityValidity(pr) < 0) return -1; } if (how == L"EntityID") arg.AddArg(name, GetEntityID(pr), L"xs:xstring"); else if (how == L"Entity" || how == L"EntityData") arg.AddArg(name, content, L"xs:xstring"); else if (how == L"EntityRowData") arg.AddArg(name, GetEntityRowData(pr), L"xs:xstring"); else if (how == L"Reason") { arg.AddArg(name, GetReason(1, L""), L"xs:xstring"); } else if (how == L"EntityNo") arg.AddArg(name, GetEntityNo(pr), L"xs:xstring"); else if (how == L"EntityTitle") arg.AddArg(name, GetEntityTitle(pr), L"xs:xstring"); else if (how == L"GetParam") arg.AddArg(name, GetParamValue(name), L"xs:xstring"); else if (how == L"UserID") arg.AddArg(name, xaserver::GetUserId(), L"xs:xstring"); //"CHeckAskMsg" //"CHeckMsg if (how == L"Reason" && arg.GetArgString(name) == L"") return -1; //if(how==L"EntityData" && arg.GetArgString(name)==L"") return -1; if (e.selectSingleNode(L"@check")) { xstring doCheck = e.selectSingleNode(L"@check").text(); if (doCheck == L"Y") { xstring value = arg.GetArgString(name); if (value == L"") { alert(name + L" 参数值不能为空,事件终止!"); return -1; } } } } arg.AddArg(L"action.entity", GetEntityName(pr), L"xs:xstring"); ProcessUsedArg(arg); //动作 KXMLDOMNode n = x.selectSingleNode(L"//view.action[1]"); bool execResult = true; //处理结果 if (n) { name = n.selectSingleNode(L"@name").text(); if (n.selectSingleNode(L"@worknode")) worknode = n.selectSingleNode(L"@worknode").text(); else worknode = GetEntityWorkNode(pr, name); arg.AddArg(L"do", name, L"xs:xstring"); if (worknode != L"") { if (worknode.find(L"dev:xpage") == 0) OpenWindow(worknode, arg); else openUrl(worknode, arg); //---openUrl(worknode,arg); } else { alert(L"Warn: Please configure worknode for action " + name + L"."); return -1; } } else { //url::post(GetEntityName(pr)+L"/workflow/action",arg.GetString(),x); xml x1; int retxx = xurl::post(L"/workflow/action/" + GetEntityName(pr) + L"/" + action, arg.GetString(), x1); //alert(L"/workflow/action/"+GetEntityName(pr)+L"/"+action+L"\r\n"+arg.GetString()+L"\r\n"+x1.xml()); if (retxx != 1) execResult = false; if (x1.selectSingleNode(L"//process")) { KXMLDOMElement e1 = x1.selectSingleNode(L"//process"); xstring valid = e1.getAttribute(L"valid"); xstring finished = e1.getAttribute(L"finished"); xstring errInfo = L""; if (valid == L"0") { errInfo = e1.getAttribute(L"errInfo"); alert(errInfo); execResult = false; } else if (finished == L"0") { errInfo = e1.getAttribute(L"errInfo"); errInfo = L"处理失败!\r\n" + errInfo; alert(errInfo); execResult = false; } } else if (x1.selectSingleNode(L"//process-check-list")) { KXMLDOMElement e2 = x1.selectSingleNode(L"//process-check-list"); xstring val = e2.getAttribute(L"process"); if (val == L"ok") { alert(L"处理成功"); PostMessage(GetHWND(), 0x401, (WPARAM)L"action:bill.refresh", 0); } else if (val == L"part") { alert(L"有部分数据处理未成功,提交成功的已处理。"); PostMessage(GetHWND(), 0x401, (WPARAM)L"action:bill.refresh", 0); } else alert((xstring)L"数据处理不成功\r\n" + x1.xml()); return 1; } else if (x1.selectSingleNode(L"//msg")) { xstring aStr = x1.selectSingleNode(L"//msg[1]").text(); //if(aStr.find(L"理成功",0) < 0) // alert(aStr); if (aStr.find(L"失败", 0) >= 0) execResult = false; alert(aStr); } if (x1.selectSingleNode(L"//msg/@state")) { state = x1.selectSingleNode(L"//msg[1]/@state").text(); arg.AddArg(L"state", state, L"xs:xstring"); billstatus = x1.selectSingleNode(L"//msg[1]/@billstatus").text(); arg.AddArg(L"billstatus", billstatus, L"xs:xstring"); } } //更新要求 if (execResult) { nlist = x.selectNodes(L"//view/update"); nlen = nlist.length(); for (i = 0; i < nlen; i++) { e = nlist.item(i); how = e.selectSingleNode(L"@do").text(); if (how == L"setstate") { if (state != L"") { arg.AddArg(L"state", state, L"xs:xstring"); arg.AddArg(L"billstatus", billstatus, L"xs:xstring"); ViewUpdate(pr, how, arg); } } else ViewUpdate(pr, how, arg); } } return 1; } /*int ProcessFlowAction(xstring comdid, int pr1) { //trace(L"comdid---> %s\r\n", comdid); if(comdid == L"__ModifyRows") { OnModifyRows(); return 1; } int pr = pr1; xstring action = comdid.mid(comdid.find(L"action:",0)+7,9999); if(action == L"bill.delete" || action == L"bill.deleteEx") { if (MessageBox(GetHWND(),L"是否确定删除记录!",L"提示1",1) == 2) return 1; } xaserverarg arg = new xaserverarg ; arg.AddArg(L"Action", action,L"xs:xstring"); xml x ; x.setNativePointer(xml ::CreateInstance()); xstring aurl = L"/workflow/query/actioninfo/"+action; //trace(L"abc---",aurl); if(xurl::get(aurl, L"", x) != 1) return -1; //alert(x.xml()); int nlen ; int i = 0; xstring name; xstring worknode; xstring how; xstring state; KXMLDOMElement e; arg.AddArg(L"EntityName", GetEntityName(pr),L"xs:xstring"); //参数要求 KXMLDOMNodeList nlist = x.selectNodes(L"//params/param"); nlen = nlist.length; //trace(L"xxx"); for(i=0; i<nlen; i++) { //trace(L"yyy"); e = nlist.item(i); //trace(e.xml); name = e.selectSingleNode(L"@name").text(); how = e.selectSingleNode(L"@how").text(); //trace(how); //trace(name); xstring content = L""; if(how==L"Entity" || how == L"EntityData") content = GetEntityData(pr); if(e.selectSingleNode(L"@valid")) { if(content.find(L"update.modify", 0) > 0 || content.find(L"update.delete",0) > 0) {} else return 0; if(CheckEntityValidity(pr) < 0) return -1; } if(how==L"EntityID") arg.AddArg(name, GetEntityID(pr),L"xs:xstring"); else if(how==L"Entity" || how == L"EntityData") arg.AddArg(name, content,L"xs:xstring"); else if(how==L"EntityRowData") arg.AddArg(name, GetEntityRowData(pr),L"xs:xstring"); else if(how==L"Reason") arg.AddArg(name, GetReason(pr, comdid),L"xs:xstring"); else if(how==L"EntityNo") arg.AddArg(name, GetEntityNo(pr),L"xs:xstring"); else if(how==L"EntityTitle") arg.AddArg(name, GetEntityTitle(pr),L"xs:xstring"); else if(how==L"GetParam") arg.AddArg(name, GetParamValue(name),L"xs:xstring"); else if(how==L"UserID") arg.AddArg(name, xaserver::GetUserId(),L"xs:xstring"); //"CHeckAskMsg" //"CHeckMsg //trace(arg.GetString()); //trace(arg.GetArgString(name)); if(how==L"Reason" && arg.GetArgString(name)==L"") return -1; //trace(L"cky1"); //if(how==L"EntityData" && arg.GetArgString(name)==L"") return -1; if(e.selectSingleNode(L"@check")) { xstring doCheck = e.selectSingleNode(L"@check").text(); if(doCheck == L"Y") { xstring value = arg.GetArgString(name); if(value == L"") { alert(name + L" 参数值不能为空,事件终止!"); return -1; } } } } arg.AddArg(L"action.entity",GetEntityName(pr),L"xs:xstring"); //trace(L"zzz"); //trace(arg.GetString()); //动作 KXMLDOMNode n = x.selectSingleNode(L"//view.action[1]"); //trace(x.xml()); bool execResult = true; //处理结果 if(n) { name = n.selectSingleNode(L"@name").text(); if(n.selectSingleNode(L"@worknode")) worknode = n.selectSingleNode(L"@worknode").text(); else worknode = GetEntityWorkNode(pr,name); arg.AddArg(L"do",name,L"xs:xstring"); if(worknode !=L"") { //trace(L"do:"+worknode); int p = arg.ptr_native_; openUrl(worknode,p); //---openUrl(worknode,arg); } else { alert(L"Warn: Please configure worknode for action "+ name +L"."); return -1; } } else { //url::post(GetEntityName(pr)+L"/workflow/action",arg.GetString(),x); //trace(L"/workflow/action/"+GetEntityName(pr)+L"/"+action); //trace(L"=====L"); //trace(arg.GetString()); xml x1 ; x1.setNativePointer(xml::CreateInstance()); int retxx = url::post(L"/workflow/action/"+GetEntityName(pr)+L"/"+action,arg.GetString(),x1); if(retxx != 1) execResult = false; //trace(x1.xml()); if(x1.selectSingleNode(L"//msg")) { xstring aStr = L""+x1.selectSingleNode(L"//msg[1]").text(); if(aStr.find(L"理成功",0) < 0) alert(aStr); if(aStr.find(L"失败",0) >= 0) execResult = false; trace(aStr); } if(x1.selectSingleNode(L"//msg/@state")) { state = x1.selectSingleNode(L"//msg[1]/@state").text(); arg.AddArg(L"state",state,L"xs:xstring"); } } //更新要求 if(execResult) { nlist = x.selectNodes(L"//view/update"); nlen = nlist.length; for(i=0; i<nlen; i++) { e = nlist.item(i); how = e.selectSingleNode(L"@do").text(); //trace(how+L"444"+state); if(how==L"setstate") { if(state != L"") { arg.AddArg(L"state",state,L"xs:xstring"); ViewUpdate(pr,how,arg); } } else ViewUpdate(pr,how,arg); } } return 1; } */ int BillPurchor() { int row1 = dw_list.GetRow(); if (row1<0 || row1>dw_list.GetRowCount()) return 1; if (!dw_list.GetRowElement(row1)) return 1; KXMLDOMElement ele1 = dw_list.GetRowElement(row1); xstring id1 = GetEntityIDName(1); xstring d1 = ele1.selectSingleNode(id1).text(); xstring name1 = GetEntityName(row1); xaserverarg arg1; xstring templ = ele1.getAttribute(L"content2"); xstring taskid = ele1.getAttribute(L"taskid"); arg1.AddArg(L"template", templ); arg1.AddArg(L"TaskID", taskid); arg1.AddArg(L"EntityID", d1); arg1.AddArg(L"bill.purchor", L"1"); OpenWindow(L"dev:xpage[QuoteFile.vx]", arg1); return 1; } //命令发布函数 int OnCmdDispatch(xstring comdid) { //alert(comdid); xstring userno = publiccode::GetUser().no; if (comdid == L"action:bill.purchor") return BillPurchor(); if (comdid == L"action:bill.check.agree") { int row3 = dw_list.GetRow(); if (row3<0 || row3>dw_list.GetRowCount()) return 1; if (!dw_list.GetRowElement(row3)) return 1; KXMLDOMElement ele3 = dw_list.GetRowElement(row3); xstring id3 = GetEntityIDName(1); xstring d3 = ele3.selectSingleNode(id3).text(); xstring name3 = GetEntityName(row3); if (name3 == L"SaleItem3") { xml x3; xaserverarg arg3; arg3.AddArg(L"SOLineID", d3); if (getUrl(L"/sale/data/SaleOrder/UpdateSOLineTypeExS", arg3.GetString(), x3) != 1) { xstring error3 = x3.text(); alert(L"err:" + error3); return 1; } ProcessFlowAction(L"action:bill.check.agree", 1); return 1; } } if (userno == L"00601" || userno == L"00701" || userno == L"admin") { if (comdid == L"SourceRemark") { OnSourceRemark(); return 1; } } if (comdid == L"action:bill.check.agreeEx") { int row2 = dw_list.GetRow(); if (row2<0 || row2>dw_list.GetRowCount()) return 1; if (!dw_list.GetRowElement(row2)) return 1; KXMLDOMElement ele2 = dw_list.GetRowElement(row2); xstring id2 = GetEntityIDName(1); xstring d2 = ele2.selectSingleNode(id2).text(); xstring name2 = GetEntityName(row2); if (name2 == L"SaleItem3") { if (MessageBox(GetHWND(), L"是否确认 工厂付款?", L"提示1", 1) == 2) return 1; xml x5; xaserverarg arg5; arg5.AddArg(L"SOLineID", d2); if (getUrl(L"/sale/data/SaleOrder/UpdateSOLineTypeEx", arg5.GetString(), x5) != 1) { xstring error = x5.text(); alert(L"err:" + error); return 1; } alert(x5.text()); ProcessFlowAction(L"action:bill.check.agree", 1); return 1; } } if (comdid && comdid.find(L"hand!", 0) == 0) { if (comdid == L"hand!toleft") { ProcessFlowAction(L"action:bill.check.unagree", 1); return 1; } if (comdid == L"hand!toright") { ProcessFlowAction(L"action:bill.check.agree", 1); return 1; } if (comdid == L"hand!toupright") { int row = dw_list.GetRow(); if (row<0 || row>dw_list.GetRowCount()) return 1; if (!dw_list.GetRowElement(row)) return 1; KXMLDOMElement ele = dw_list.GetRowElement(row); xstring id = GetEntityIDName(1); xstring d = ele.selectSingleNode(id).text(); if (d == L"") return 1; ProcessFlowAction(L"action:bill.open", 1); return 1; } if (comdid == L"hand!round") { ProcessFlowAction(L"action:bill.note", 1); return 1; } } if (comdid == L"xmIconNotifyClicked") { //OpenWindow(L"dev:xpage[/]",0); init(); return 1; } if (comdid == L"xmRefresh" || comdid == L"xmRefreshTask") { init(); return 1; } if (ProcessFlowAction(comdid, 1) == 0) return 0; if (comdid == L"action:bill.open") { int row1 = dw_list.GetRow(); if (row1<0 || row1>dw_list.GetRowCount()) return 1; if (!dw_list.GetRowElement(row1)) return 1; KXMLDOMElement ele1 = dw_list.GetRowElement(row1); xstring id1 = GetEntityIDName(1); xstring d1 = ele1.selectSingleNode(id1).text(); xstring name1 = GetEntityName(row1); if (name1 == L"QuoteEnquiry") { xaserverarg arg1; xstring templ = ele1.getAttribute(L"content2"); xstring taskid = ele1.getAttribute(L"taskid"); arg1.AddArg(L"template", templ); arg1.AddArg(L"TaskID", taskid); arg1.AddArg(L"EntityID", d1); OpenWindow(L"dev:xpage[QuoteFile.vx]", arg1); return 1; } if (name1 == L"SampleFee") { xaserverarg arg; arg.AddArg(L"SampleFeeID", d1); //arg.AddArg(L"HWND",GetHWND().toString()); OpenWindow(L"dev:xpage[maint.samplefee.vx]", arg); return 1; } } return 0; } int OnSourceRemark() { xstring name = L"事务处理"; xml x = ViewObject::RetrieveData(L"/sale/data/TradeFinance3/GetSetUpRemarks", L"Type", name); KXMLDOMNodeList items = x.selectNodes(L"data/Item"); KXMLDOMNode t = items.item(0); xstring Content = L""; if (t.selectSingleNode(L"Content")) { Content = t.selectSingleNode(L"Content").text(); } xaserverarg arg1; arg1.AddArg(L"value", Content); OpenWindow(L"dev:xpage[memo.edit.new.vx]", arg1); return 1; } int OnDoubleClicked(TEvent* evt, LPARAM p) { DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; if (row<0 || row>dw_list.GetRowCount()) return 1; if (!dw_list.GetRowElement(row)) return 1; KXMLDOMElement ele = dw_list.GetRowElement(row); xstring id = GetEntityIDName(1); xstring d = ele.selectSingleNode(id).text(); if (d == L"") return 1; xstring name1 = GetEntityName(1); if (name1 == L"QuoteEnquiry") { xaserverarg arg1; xstring templ = ele.getAttribute(L"content2"); xstring taskid = ele.getAttribute(L"taskid"); //trace(templ); arg1.AddArg(L"template", templ); arg1.AddArg(L"TaskID", taskid); arg1.AddArg(L"EntityID", d); OpenWindow(L"dev:xpage[QuoteFile.vx]", arg1); return 1; } ProcessFlowAction(L"action:bill.open", 1); return 1; } //焦点激活处理函数 int OnSetFocus(TEvent* evt, LPARAM param) { SetAgent(); //重置工具条 return 1; } //命令处理事件 int OnXCommand(TEvent* evt, LPARAM p) { return OnCmdDispatch(evt->xcommand.pStrID); } int ShowDetail(int row) { if (row<0 || row>dw_list.GetRowCount()) return 1; if (!dw_list.GetRowElement(row)) return 1; KXMLDOMElement ele = dw_list.GetRowElement(row); trace((xstring)L"\r\n====113======L" + ele.xml()); dw_list.SetRow(row); if (GetEntityID(1) == L"") return -1; xframe::SetAgent((xstring)L"letter", GetEntityID(1)); //trace(ele.xml); xaserverarg arg; arg.AddArg(L"content", ele.xml()); xml doc; if (getUrl(L"/sale/data/vpage/vstart/task", arg.GetString(), doc) != 1) { trace((xstring)L"error->:" + doc.xml()); return 0; } //trace(L"----1111----"); if (doc.xml() == L"") return -1; //trace(doc.xml()); xshtml ht = GetControl(L"taskinfo"); ht.SetContent(doc.xml()); ht.Redraw(); return 1; } int OnClicked(TEvent* evt, LPARAM p) { DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; trace(L"count:" + (xstring)dw_list.GetRowCount()); if (row<1 || row>dw_list.GetRowCount()) return 1; trace(L"\r\n-------" + (xstring)row); ShowDetail(row); SetAgent(); return 1; } int OnRowChanged(TEvent* evt, LPARAM p) { DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; if (row<0 || row>dw_list.GetRowCount()) return 0; trace(L"\r\n-----222------"); ShowDetail(row); SetAgent(); return 1; } int onload() { dw_list = GetControl(L"tasklist"); init(); { //alert(L"xxxxxxxxxxx"); //SetAgent(); AttachEvent(L"WM_SETFOCUS", (FEvent)&startvframevbusiness::OnSetFocus); //绑定工具条点击事件 AttachEvent(L"WM_XCOMMAND", (FEvent)&startvframevbusiness::OnXCommand); //AttachEvent(L"WM_TIMER",OnTimer); AttachEvent(L"tasklist", L"DWV_ROWFOCUSCHANGED", (FEvent)&startvframevbusiness::OnRowChanged); AttachEvent(L"tasklist", L"DWV_DOUBLECLICKED", (FEvent)&startvframevbusiness::OnDoubleClicked); AttachEvent(L"tasklist", L"DWV_CLICKED", (FEvent)&startvframevbusiness::OnClicked); OnAttachListon(); dw_list = GetControl(L"tasklist"); init(); SetAgent(); return 1; } int onloaded() { return 1; } }; @@ -116,3 +983,4 @@ jrj/project/total3/ViewTotalWin.cpp
@@ -193,7 +193,7 @@ xstring colname = dw.GetColumnName(i); if (str.find(L"!" + colname + L",L") >= 0) { dw.SetColumnState(colname, false); dw.SetColumnState((LPCTSTR)colname.c_str(), false); } } return 1; @@ -391,6 +391,8 @@ AttachEvent(L"dw_report", L"DWV_CLICKED", (FEvent)&ViewTotalWin::OnDWClick); AttachEvent(L"dw_report", L"DWV_ROWFOCUSCHANGED", (FEvent)&ViewTotalWin::OnRowChanged);//绑定行更改触发事件OnRowChanged AttachEvent(L"dw_report", xstring(0x400 + 81), (FEvent)&ViewTotalWin::OnRetrieveFinished); return 1; } int OnRetrieve(xstring dataurl, xstring argstr) jrj/xframe/vbusiness/vframe/frame.vframe.vbusiness.hpp
@@ -337,7 +337,7 @@ } } //更新要求 if (execResult & 0xf) if (execResult) { nlist = x.selectNodes(L"//view/update"); nlen = nlist.length(); @@ -384,7 +384,7 @@ return 1; } virtual string GetTaskID() virtual xstring GetTaskID() { return L""; } jrj/xframe/xcontrol/xcombobox.hpp
@@ -16,11 +16,6 @@ return *this; } public: static int GetCurSel(HWND hWnd) { int CB_GETCURSEL_ = 0x0147; return SendMessage(hWnd, CB_GETCURSEL_, 0, 0); } int GetCurSel() {