From 7a91c3a1ed37b0332d4ff0ebeae60bd6da3665c0 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期二, 16 七月 2024 18:28:58 +0800 Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/mis-prj --- jrj/project/business/BasicCode/CartermList.cpp | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 170 insertions(+), 0 deletions(-) diff --git a/jrj/project/business/BasicCode/CartermList.cpp b/jrj/project/business/BasicCode/CartermList.cpp new file mode 100644 index 0000000..01afbee --- /dev/null +++ b/jrj/project/business/BasicCode/CartermList.cpp @@ -0,0 +1,170 @@ +#include <wobject/xstring.hpp> +#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" + +using xml = KXMLDOMDocument; +class __declspec(dllexport) CartermList : public xwin +{ +public: + xdwgrid dw_list; + xdwpages dw_pages; + xstring m_QueryTxt; + KXMLDOMDocument m_configDoc; + static int dw_hWnd; + +public: + CartermList(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} +public: + static CartermList* CreateInstance(void* implPtr, void* hWnd) + { + CartermList* pWin = new CartermList(implPtr, (HWND)hWnd); + return pWin; + } + int alert(xstring str) + { + //win::MessageBox(GetHWND(),str,L"提示22:",0); + TApp::alert(this, str); + return 0; + } + + + xstring GetGuid() { + return publiccode::GetGuid(); + } + int OnAddrow() + { + dw_list.InsertRow(0); + int rows = dw_list.GetRowCount(); + dw_list.SetRow(rows); + dw_list.SetItemString(rows, L"PartyID", GetGuid()); + dw_list.SetItemString(rows, L"ContactID", GetGuid()); + dw_list.SetItemString(rows, L"PAStatus", L"1"); + dw_list.SetItemString(rows, L"PStatus", L"1"); + dw_list.SetItemString(rows, L"PCStatus", L"1"); + dw_list.SetItemString(rows, L"Type", L"7"); + } + int OnInsertRow() + { + int row = dw_list.GetRow(); + if (row<1 || row>dw_list.GetRowCount()) return 0; + dw_list.InsertRow(row); + dw_list.SetItemString(row, L"PartyID", GetGuid()); + dw_list.SetItemString(row, L"ContactID", GetGuid()); + dw_list.SetItemString(row, L"PAStatus", L"1"); + dw_list.SetItemString(row, L"PStatus", L"1"); + dw_list.SetItemString(row, L"PCStatus", L"1"); + dw_list.SetItemString(row, L"Type", L"7"); + } + + int ViewUpdate(param pr, xstring updateItem, xaserverarg arg) + { + if (updateItem == L"del") + { + int DelRow = dw_list.GetRow(); + dw_list.DeleteRow(DelRow); + + } + + return 1; + } + + int OnDeleteRow() + { + int rows = dw_list.GetRowCount(); + int row2 = dw_list.GetPrevSelectRow(rows); + while (row2 > 0) { + dw_list.DeleteRow(row2); + row2 = dw_list.GetPrevSelectRow(row2 - 1); + } + dw_list.SelectRow(0, false); + } + + int OnSave() + { + /*xstring no = dw_list.GetItemString(1,L"CarTermNo"); + if(no==L""){ + alert(L"请输入车队编码!"); + return -1; + } + xstring SName = dw_list.GetItemString(1,L"Name"); + if(SName==L""){ + alert(L"请输入车队名称!"); + return -1; + } + xstring ContacterName = dw_list.GetItemString(1,L"ContacterName"); + if(ContacterName==L""){ + alert(L"请输入联系人名称!"); + return -1; + } */ + xml x; + + dw_list.AcceptText(); + dw_list.DwUpdateAllToEx(x); + trace(x.xml()); + xaserverarg arg; + + arg.AddArg(L"content", x.xml()); + arg.AddArg(L"dbmap", L"CarTerm.dbmap"); + if (xurl::get(L"/sale/data/CarTerm/entity/carterm/save", arg.GetString(), x) != 1) + { + trace(L"error:" + (xstring)x.xml()); + alert(L"保存失败!"); + return 0; + } + else + { + trace(x.xml()); + if (x.selectSingleNode(L"error")) + { + alert(L"保存出错2!"); + return 0; + } + alert(L"保存成功!"); + dw_list.ResetUpdateStatus(); + } + dw_list.Redraw(); + return 0; + } + int OnCmdDispatch(xstring comdid) + { + if (comdid.find(L"action:bill.row.add", 0) >= 0) { + OnAddrow(); + } + else if (comdid.find(L"bill.row.insert", 0) >= 0) { + OnInsertRow(); + } + else if (comdid.find(L"bill.row.delete", 0) >= 0) { + OnDeleteRow(); + } + else if (comdid.find(L"bill.save", 0) >= 0) { + //trace(1); + OnSave(); + } + return 0; + } + + int OnXCommand(TEvent* evt, LPARAM param) + { + return OnCmdDispatch(evt->xcommand.pStrID); + } + + int OnAttachEvent() + { + AttachEvent(L"WM_XCOMMAND", (FEvent)&CartermList::OnXCommand); + return 1; + } + + int onload() + { + OnAttachEvent(); + list::onload(); + dw_list.SetReadOnly(false); + return -1; + } + +}; \ No newline at end of file -- Gitblit v1.9.3