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