From 8ff4f704c43f98078f7d7b151d41411c73f031bf Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期二, 29 十月 2024 09:50:33 +0800
Subject: [PATCH] update
---
jrj/project/business/Affair/Business5.cpp | 669 ++++++++++++++++++++++++++
jrj/project/business/Affair/message.business.cpp | 416 ++++++++++++++++
jrj/project/business/Affair/ProcessManagement.cpp | 171 ++++++
jrj/project/business/Affair/message.supplier.cpp | 218 ++++++++
jrj/ext-jrj/ext-jrj.vcxproj | 12
jrj/ext-jrj/ext-jrj.vcxproj.filters | 12
6 files changed, 1,498 insertions(+), 0 deletions(-)
diff --git a/jrj/ext-jrj/ext-jrj.vcxproj b/jrj/ext-jrj/ext-jrj.vcxproj
index 7d78754..ce6f236 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj
+++ b/jrj/ext-jrj/ext-jrj.vcxproj
@@ -282,6 +282,18 @@
<ItemGroup>
<ClCompile Include="..\jarch.impl\JStringImpl.cpp" />
<ClCompile Include="..\project\analysis\DataVanalysisWin.cpp" />
+ <ClCompile Include="..\project\business\Affair\Business5.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Affair\message.business.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Affair\message.supplier.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Affair\ProcessManagement.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
<ClCompile Include="..\project\business\AP\APBank.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
</ClCompile>
diff --git a/jrj/ext-jrj/ext-jrj.vcxproj.filters b/jrj/ext-jrj/ext-jrj.vcxproj.filters
index dd68d4f..70d5b1d 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj.filters
+++ b/jrj/ext-jrj/ext-jrj.vcxproj.filters
@@ -1442,6 +1442,18 @@
<ClCompile Include="..\project\business\PO\paymentmethod.cpp">
<Filter>project\business\PO</Filter>
</ClCompile>
+ <ClCompile Include="..\project\business\Affair\Business5.cpp">
+ <Filter>project\business\Affair</Filter>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Affair\message.business.cpp">
+ <Filter>project\business\Affair</Filter>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Affair\message.supplier.cpp">
+ <Filter>project\business\Affair</Filter>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Affair\ProcessManagement.cpp">
+ <Filter>project\business\Affair</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="ext-jrj.def">
diff --git a/jrj/project/business/Affair/Business5.cpp b/jrj/project/business/Affair/Business5.cpp
new file mode 100644
index 0000000..524778f
--- /dev/null
+++ b/jrj/project/business/Affair/Business5.cpp
@@ -0,0 +1,669 @@
+use "xcontrol.vframe.vbusiness.vd"
+use "xbase.vframe.vbusiness.vd"
+use "saleorder.view.vd"
+use "publiccode.vutil.vbusiness.vd"
+
+unit trade
+[
+ class Business5Win : public xframe
+ {
+ xdwgrid dw_list;
+ xdwgrid dw_processed;
+ xdwgrid dw_message;
+ xdwgrid dw_outbox;
+ xdwgrid dw_Recovery;
+ xnode m_agentNode; //Agent Condition
+ xtreeview tv_folder;
+
+ int hMessage;
+ int hTask;
+
+ string agentFor;
+ string selectname;
+ xwin sheet;
+
+ int SetAgent()
+ {
+ string xfNodeAgentArea = "agentarea";
+ xnode anode = GetAgentNode(xfNodeAgentArea);
+ if(m_agentNode)
+ {
+ SetAgentNodeContent (anode,m_agentNode);
+ }
+ else
+ {
+ msxml::IXMLDOMElement xframeElement = GetElement();
+ msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[@for='"+agentFor+"']/*");
+ if(agent)
+ {
+ string s = agent.xml;
+ m_agentNode = SetAgentNodeContent (anode,s);
+ //FillGoodsCarList();
+ }
+ }
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(ref TEvent evt,int param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+ int RetrieveData()
+ {
+ if(selectname == "已处理任务")
+ {
+ xml x = ViewObject::RetrieveData("/sale/data/business/list/processedtask");
+ dw_processed.Retrieve(x);
+ dw_processed.Redraw();
+ dw_processed.SetReadOnly(true);
+ }else if(selectname == "收件箱")
+ {
+ string UserNO= publiccode::GetUser().no;
+
+ x = ViewObject::RetrieveData("/sale/data/business/list/inbox");
+
+ dw_message.Retrieve(x);
+ dw_message.Redraw();
+ dw_message.SetReadOnly(true);
+ }
+ else if(selectname == "发件箱")
+ {
+ x = ViewObject::RetrieveData("/sale/data/business/list/outbox");
+ dw_outbox.Retrieve(x);
+ dw_outbox.Redraw();
+ dw_outbox.SetReadOnly(true);
+ }
+ else if(selectname == "回收箱")
+ {
+ x = ViewObject::RetrieveData("/sale/data/business/list/Recovery");
+ dw_Recovery.Retrieve(x);
+ dw_Recovery.Redraw();
+ dw_Recovery.SetReadOnly(true);
+ }
+ AdjustTip();
+ return 1;
+ }
+ int OnDelete()
+ {
+ int MB_OKCANCEL = 1;
+ int IDOK = 1;
+ int ret = win32::MessageBox(GetHWND(),"确认删除消息?","提示",MB_OKCANCEL);
+ if(ret == IDOK)
+ {
+ msxml::IXMLDOMElement ele = dw_message.GetRowElement(dw_message.GetRow());
+ string TaskID = ele.getAttribute("guid");
+ xml x = ViewObject::RetrieveData("/sale/data/business/message/delete","TaskID",TaskID);
+ string status = x.GetXml();
+ if(status.find("ok") == 1)
+ {
+ alert("删除成功");
+ RetrieveData();
+ }else
+ {
+ alert("删除失败");
+ }
+
+ }
+ return 1;
+ }
+
+ int OnUpdateRecovery()
+ {
+ int MB_OKCANCEL = 1;
+ int IDOK = 1;
+ int ret = win32::MessageBox(GetHWND(),"确认恢复消息?","提示",MB_OKCANCEL);
+ if(ret == IDOK)
+ {
+ msxml::IXMLDOMElement ele = dw_Recovery.GetRowElement(dw_Recovery.GetRow());
+ string TaskID = ele.getAttribute("guid");
+ xml x = ViewObject::RetrieveData("/sale/data/business/Recovery/UpdateRecovery","TaskID",TaskID);
+ string status = x.GetXml();
+ if(status.find("ok") == 1)
+ {
+ alert("恢复成功");
+ RetrieveData();
+ }else
+ {
+ alert("恢复失败");
+ }
+
+ }
+ return 1;
+ }
+
+ int OnDeleteRecovery()
+ {
+ int MB_OKCANCEL = 1;
+ int IDOK = 1;
+ int ret = win32::MessageBox(GetHWND(),"确认彻底删除消息?","提示",MB_OKCANCEL);
+ if(ret == IDOK)
+ {
+ msxml::IXMLDOMElement ele = dw_Recovery.GetRowElement(dw_Recovery.GetRow());
+ string TaskID = ele.getAttribute("guid");
+ xml x = ViewObject::RetrieveData("/sale/data/business/Recovery/DeleteRecovery","TaskID",TaskID);
+ string status = x.GetXml();
+ if(status.find("ok") == 1)
+ {
+ alert("删除成功");
+ RetrieveData();
+ }else
+ {
+ alert("删除失败");
+ }
+
+ }
+ return 1;
+ }
+
+ int OnAdd()
+ {
+ OpenWindow("dev:xpage[message.business.vx]");
+ if(selectname == "发件箱" || selectname == "草稿箱") RetrieveData();
+ return 1;
+ }
+
+
+ //命令发布函数
+ int OnCmdDispatch(string comdid)
+ {
+ int ret = 0;
+ if(comdid.find("action:",0)>=0)
+ {
+ ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0);
+ }
+ if(comdid=="xmRefreshTask")
+ {
+ trace("\r\n----refresh task--------");
+ win32::SendMessage(sheet.GetHWND(),0x401,comdid,0);
+ return 1;
+ }
+ if(comdid=="xmRefresh")
+ {
+ trace("\r\n----refresh--------");
+ ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0);
+ }
+ if(comdid == "xmRertieve")
+ {
+ RetrieveData();
+ ret = 1;
+ }
+ if(comdid=="xmAdd")
+ {
+ OnAdd();
+ ret = 1;
+ }
+ if(comdid == "xmDelete")
+ {
+ OnDelete();
+ ret = 1;
+ }
+ if(comdid == "UpdateRecovery")
+ {
+ OnUpdateRecovery();
+ ret = 1;
+ }
+ if(comdid == "DeleteRecovery")
+ {
+ OnDeleteRecovery();
+ ret = 1;
+ }
+ if(comdid == "xmImage")
+ {
+ int row = dw_message.GetRow();
+ string PriceID = dw_message.GetItemString(row,"EntityID");
+ xml x = ViewObject::RetrieveData("/sale/data/Enquiry/PriceList/GetSkunoByPriceID","PriceID",PriceID);
+ msxml::IXMLDOMNodeList items = x.GetXmlDoc().selectNodes("data/Item");
+ msxml::IXMLDOMNode t = items.item(0);
+ string skunos = t.selectSingleNode("skuno").text;
+ xaserverarg arg_pic=new xaserverarg;
+ arg_pic.setNativePointer(arg_pic.CreateInstance());
+ arg_pic.AddArg("SKUNoList",skunos);
+ arg_pic.AddArg("ParentWindow",GetHWND().toString());
+ arg_pic.AddArg("OpenFlag","1");
+ OpenWindow("dev:xpage[SKU.PictureView.Product3.vx]",cast(arg_pic as int));
+ return 1;
+ }
+ else if(comdid == "xmSearchOne")
+ {
+ OnSearchOne();
+ return 1;
+ }
+ else if(comdid == "xmSearchTwo")
+ {
+ OnSearchTwo();
+ return 1;
+ }
+ else if(comdid=="Lognew")
+ {
+ string EntityID = dw_processed.GetItemString(dw_processed.GetRow(),"EntityID");
+ //alert(EntityID);
+
+ xaserverarg args=new xaserverarg;
+ args.setNativePointer(args.CreateInstance());
+ args.AddArg("EntityID",EntityID);
+ //OpenWindow("dev:xpage[workflow.actionlog.vx]",cast(args as int));
+ OpenWindow("dev:xpage[workflow.actionlog_vd.vx]",args.getNativePointer());
+
+
+
+ }
+ return ret;
+ }
+
+
+ int OnSearchOne()
+ {
+ string searchStr="";
+ xaserverarg arg=new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+ arg.AddArg("text", searchStr);
+ OpenWindow("dev:xpage[search.dialog.vx]", cast(arg as int));
+ string str = arg.GetArgString("text");
+ if(str != searchStr)
+ {
+ searchStr = str;
+ dw_message.Filter("*",searchStr);
+ return 1;
+ }
+ return 1;
+ }
+
+ int OnSearchTwo()
+ {
+ string searchStr="";
+ xaserverarg arg=new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+ arg.AddArg("text", searchStr);
+ OpenWindow("dev:xpage[search.dialog.vx]", cast(arg as int));
+ string str = arg.GetArgString("text");
+ if(str != searchStr)
+ {
+ searchStr = str;
+ dw_Recovery.Filter("*",searchStr);
+ return 1;
+ }
+ return 1;
+ }
+
+ //命令处理事件
+ int OnXCommand(ref TXCommandEvent evt,int param)
+ {
+ return OnCmdDispatch(evt.pStrID);
+ }
+
+
+ //查找当前树项的顶级目录
+ int LookupTopFolder(int hItem)
+ {
+ int hRoot = tv_folder.GetRootItem();
+ while(tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem);
+ return hItem;
+ }
+
+ int ResetAgent(string agentAsk)
+ {
+ if(agentFor != agentAsk)
+ {
+ agentFor = agentAsk;
+ m_agentNode = 0;
+ SetAgent();
+ }
+ return 1;
+ }
+
+ int OnTreeSelChanged(ref TNotifyEvent evt,int p)
+ {
+ ref NMTREEVIEW nmtv = cast(evt.pnmh as NMTREEVIEW);
+ int hItem = nmtv.itemNew.hItem;
+ int hTopItem = LookupTopFolder(hItem);
+
+ string data = tv_folder.GetItemData(hItem);
+ trace("\r\n"+data);
+ //msxml::IXMLDOMElement e = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement);
+ //if(e)trace(e.xml);
+
+ string name = tv_folder.GetItemLabel(hTopItem);
+ selectname = tv_folder.GetItemLabel(hItem);
+ if(selectname == "待处理任务")
+ {
+ SwitchLayer("sheet2","frame");
+ sheet = GetChildWin("sheet2");
+ ResetAgent("business1");
+ }else if(selectname == "已处理任务")
+ {
+ SwitchLayer("sheet3","frame");
+ RetrieveData();
+ ResetAgent("business2");
+ }else if(selectname == "收件箱")
+ {
+ SwitchLayer("sheet4","frame");
+ RetrieveData();
+ ResetAgent("business3");
+ }else if(selectname == "发件箱")
+ {
+ SwitchLayer("sheet5","frame");
+ RetrieveData();
+ ResetAgent("business2");
+ }
+ else if(selectname == "事务")
+ {
+ SwitchLayer("sheet1","frame");
+ }else if(selectname == "回收箱")
+ {
+ SwitchLayer("sheet6","frame");
+ RetrieveData();
+ ResetAgent("business5");
+ }
+ return 1;
+ }
+ int OnRowChanged(ref TNotifyEvent evt,int p)
+ {
+ //fixed one event only one process
+ ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
+ int row = hdr.row;
+ if(selectname == "已处理任务")
+ msxml::IXMLDOMElement ele = dw_processed.GetRowElement(row);
+ else if(selectname == "收件箱")
+ {
+ ele = dw_message.GetRowElement(row);
+ string Subject = dw_message.GetItemString(row,"Subject");
+ if(Subject.find("价格单") == -1)
+ {
+ ResetAgent("business3");
+ }else{
+ ResetAgent("business4");
+ }
+ }
+ else if(selectname == "回收箱")
+ {
+ ele = dw_Recovery.GetRowElement(row);
+ string SubjectOne = dw_Recovery.GetItemString(row,"Subject");
+ }
+ else if(selectname == "发件箱")
+ ele = dw_outbox.GetRowElement(row);
+ xaserverarg arg=new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+ trace(ele.xml);
+ arg.AddArg("content",ele.xml);
+ xml doc=new xml;
+ doc.setNativePointer(xml::CreateInstance());
+ if(getUrl("/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1)
+ {
+ trace("error->:"+doc.GetXml());
+ return 0;
+ }
+ if(doc.GetXml() == "")
+ return -1;
+ //trace(doc.GetXml());
+ htmlctrl ht = GetControl("taskinfo");
+ ht.SetContent(doc.GetXml());
+ ht.Redraw();
+ return 1;
+ }
+ int OnItemAskStyle(ref TNotifyEvent evt,int p)
+ {
+ int DMS_CSSSTYLE = 0x8;
+ ref DWASKSTYLENMHDR hdr = trust(evt.pnmh as ref DWASKSTYLENMHDR);
+ int row = hdr.row;
+ int col = hdr.col;
+ string colname = hdr.colname;
+ int rows = dw_message.GetRowCount();
+ if(row < 1 || row > rows)
+ {
+ return 1;
+ }
+ if(colname=="flowName" || colname=="Process" || colname=="sender" ||
+ colname=="SendDate"||colname=="processer"||colname=="ProcessedDate"||
+ colname=="Subject"||colname=="Content")
+ {
+ string ReadedFlag = dw_message.GetItemString(row,"ReadedFlag");
+ if(ReadedFlag != "Y")
+ {
+ hdr.mask = DMS_CSSSTYLE;
+ //hdr.cssstyle = "color:#cccccc";
+ hdr.cssstyle = "font-weight:700";
+
+ }
+ }
+
+ return 1;
+ }
+
+ int OnDWClick(ref TNotifyEvent evt,int p)
+ {
+ string UserNO=publiccode::GetUser().no;
+ if(UserNO !="00701")
+ {
+ ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
+ string value = hdr.data;
+ string colname = hdr.colname;
+ int row = hdr.row;
+ msxml::IXMLDOMElement ele = dw_message.GetRowElement(row);
+ string TaskID = ele.getAttribute("guid");
+ string ReadedFlag = dw_message.GetItemString(row,"ReadedFlag");
+ string flowName = dw_message.GetItemString(row,"flowName");
+ if(ReadedFlag != "Y")
+ {
+ xml x = ViewObject::RetrieveData("/sale/data/business/message/read","TaskID",TaskID);
+ dw_message.SetItemString(row,"ReadedFlag","Y");
+ if(ReadedFlag != "Y" && flowName == "价格单共享")
+ {
+ xml x1 = ViewObject::RetrieveData("/sale/data/business/Recovery/MessageStatus","TaskID",TaskID);
+ }
+ dw_message.Redraw();
+ //RetrieveData();
+ }
+ AdjustTip();
+ }
+ return 1;
+ }
+
+ int OpenShowroom1(ref TNotifyEvent evt,int p)
+ {
+ ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
+ string value = hdr.data;
+ string colname = hdr.colname;
+ int row = hdr.row;
+ msxml::IXMLDOMElement ele = dw_outbox.GetRowElement(row);
+ string TaskID = ele.getAttribute("guid");
+ string Category = dw_outbox.GetItemString(row,"flowName");
+ if(Category=="普通"){
+ xaserverarg arg2 = new xaserverarg;
+ arg2.setNativePointer(arg2.CreateInstance());
+ if(dw_outbox.GetRowCount() < 1) return 1;
+ msxml::IXMLDOMElement ele1 = dw_outbox.GetRowElement(dw_outbox.GetRow());
+ arg2.AddArg("EntityID",dw_outbox.GetItemString(dw_outbox.GetRow(),"EntityID"));
+ arg2.AddArg("id",ele1.getAttribute("guid"));
+ OpenWindow("dev:xpage[message.business.vx]", cast(arg2 as int));
+ return 1;
+ }
+ return 1;
+ }
+
+ int OpenShowroom(ref TNotifyEvent evt,int p)
+ {
+ ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
+ string value = hdr.data;
+ string colname = hdr.colname;
+ int row = hdr.row;
+ msxml::IXMLDOMElement ele = dw_message.GetRowElement(row);
+ string TaskID = ele.getAttribute("guid");
+ string Category = dw_message.GetItemString(row,"Category");
+ if(Category=="货号申请"){
+ int p1="" ;
+ OpenWindow("dev:xpage[UserProductApply.vx]", p1);
+ }
+ if(Category=="普通"){
+ xaserverarg arg2 = new xaserverarg;
+ arg2.setNativePointer(arg2.CreateInstance());
+ if(dw_message.GetRowCount() < 1) return 1;
+ msxml::IXMLDOMElement ele1 = dw_message.GetRowElement(dw_message.GetRow());
+ arg2.AddArg("EntityID",dw_message.GetItemString(dw_message.GetRow(),"EntityID"));
+ arg2.AddArg("id",ele1.getAttribute("guid"));
+ OpenWindow("dev:xpage[message.business.vx]", cast(arg2 as int));
+ return 1;
+ }
+ else if(Category=="报价单共享")
+ {
+ if(dw_message.GetRowCount() < 1) return 1;
+ string No = dw_message.GetItemString(dw_message.GetRow(),"No");
+ OpenWindow("dev:xpage[EnquiryEx.quote.vx]",cast(No as int));
+ }
+ if(Category=="SupplierV3")
+ {
+ xaserverarg arg = new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+ if(dw_message.GetRowCount() < 1) return 1;
+ arg.AddArg("EntityID",dw_message.GetItemString(dw_message.GetRow(),"EntityID"));
+ //OpenWindow("dev:xpage[maint.Owner.Supplier.v3.vx]",cast(arg as int));
+ arg.AddArg("config","/sale/view/SupplierV3/config/supplier/open");
+ OpenWindow("dev:xpage[maintex.Owner.Supplier.v3.vx]",arg.getNativePointer());
+ }
+ if(Category=="供应商回退")
+ {
+ xaserverarg arg1 = new xaserverarg;
+ arg1.setNativePointer(arg1.CreateInstance());
+ if(dw_message.GetRowCount() < 1) return 1;
+ arg1.AddArg("EntityID",dw_message.GetItemString(dw_message.GetRow(),"EntityID"));
+ OpenWindow("dev:xpage[maint.Owner.Supplier.v3.vx]",cast(arg1 as int));
+ }
+ return 1;
+ }
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent("WM_XCOMMAND",OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent("WM_SETFOCUS",OnSetFocus);
+ //树选择
+ AttachEvent("tv_folder", "TVN_SELCHANGED",OnTreeSelChanged);
+ AttachEvent("dw_processed","DWV_ROWFOCUSCHANGED",OnRowChanged);
+ AttachEvent("dw_message","DWV_ROWFOCUSCHANGED",OnRowChanged);
+ AttachEvent("dw_outbox","DWV_ROWFOCUSCHANGED",OnRowChanged);
+ AttachEvent("dw_Recovery","DWV_ROWFOCUSCHANGED",OnRowChanged);
+ AttachEvent("dw_message","DWV_ASKSTYLE",OnItemAskStyle);
+ AttachEvent("dw_message","DWV_CLICKED",OnDWClick);
+ AttachEvent("dw_message","DWV_DOUBLECLICKED",OpenShowroom);
+ AttachEvent("dw_outbox","DWV_DOUBLECLICKED",OpenShowroom1);
+
+ return 1;
+ }
+
+
+ int OnRetrieve()
+ {
+
+ return 1;
+ }
+
+ int InitialFolder()
+ {
+ msxml::IXMLDOMElement xframeElement = GetElement();
+ msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial");
+
+ //msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/data/item[@name='"+"']");
+ //trace(e.xml);
+ if(e)
+ ExpandChildFolder(0,e);
+ return 1;
+ }
+
+ int ExpandChildFolder(int hItem, msxml::IXMLDOMElement pElement)
+ {
+ msxml::IXMLDOMNodeList nlist = pElement.SelectNodes("Item");
+ int len = nlist.length;
+ for (int i = 0; i < len; i++)
+ {
+ msxml::IXMLDOMElement e = nlist.item(i);
+ string name = e.getAttribute("name");
+ string sImage = e.getAttribute("image");
+ string child = e.getAttribute("child");
+ int image = 15;
+ if(sImage) image = sImage.toInt();
+ int h= tv_folder.InsertChildItem(tv_folder.GetId(),hItem,name, trust(e as int),image);
+ if(child !="no" ) tv_folder.SetItemChild(h,1);
+ ExpandChildFolder(h,e);
+ }
+ return 1;
+ }
+
+ int AdjustTip()
+ {
+ xml x = ViewObject::RetrieveData("/sale/data/business/list/AdjustTipNotify");
+ msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/Item");
+ msxml::IXMLDOMNode t = nlist.item(0);
+ string informationQuantity =t.selectSingleNode("informationQuantity").text;
+ tv_folder.SetItemLabel(hMessage, "消息"+"("+informationQuantity+")");
+
+ xml x1 = ViewObject::RetrieveData("/sale/data/business/list/AdjustTipTask");
+ //alert(x1.GetXml());
+ msxml::IXMLDOMNodeList nlist1 = x1.GetXmlDoc().SelectNodes("/data/Item");
+ msxml::IXMLDOMNode t1= nlist1.item(0);
+ string informationQuantityTask =t1.selectSingleNode("informationQuantityTask").text;
+ tv_folder.SetItemLabel(hTask, "任务"+"("+informationQuantityTask+")");
+
+ /*select count(*) from bpm_task where typ='notify' and process='N'
+ and charindex('|'+'00303'+'|','|' + rtrim(receiver) +'|')>=1*/
+ return 1;
+ }
+
+ int onload()
+ {
+ agentFor = "business";
+ OnAttachEvent();
+ dw_list = GetControl("dw_list");
+ dw_processed = GetControl("dw_processed");
+ dw_processed.openUrl("/sale/view/Business3/template/processedtask");
+ dw_processed.SetColumnState("EntityID",false);
+ dw_processed.SetColumnState("Category",false);
+
+ dw_message = GetControl("dw_message");
+ dw_message.openUrl("/sale/view/Business3/template/message");
+ dw_message.SetAskStyle(true);
+ dw_message.SetColumnState("EntityID",false);
+ dw_message.SetColumnState("Category",false);
+ dw_message.SetColumnState("ReadedFlag",false);
+
+ dw_outbox = GetControl("dw_outbox");
+ dw_outbox.openUrl("/sale/view/Business3/template/outbox");
+ dw_outbox.SetColumnState("EntityID",false);
+
+ dw_Recovery = GetControl("dw_Recovery");
+ dw_Recovery.openUrl("/sale/view/Business3/template/message");
+ dw_Recovery.SetColumnState("EntityID",false);
+ dw_Recovery.SetColumnState("Category",false);
+ dw_Recovery.SetColumnState("ReadedFlag",false);
+ dw_Recovery.SetColumnState("No",false);
+
+
+ tv_folder = GetControl("tv_folder");
+ tv_folder.SetLineAtRoot(true);
+ sheet = GetChildWin("sheet1");
+
+ int hItem = tv_folder.GetRootItem();
+ tv_folder.ExpandItem(hItem);
+ int hcItem =tv_folder.GetChildItem(hItem);
+ hTask = hcItem;
+ tv_folder.ExpandItemAll(hcItem);
+ tv_folder.ItemFocus(tv_folder.GetChildItem(hcItem));
+ hcItem = tv_folder.GetNextItem(hcItem);
+ hMessage = hcItem;
+ tv_folder.ExpandItemAll(hcItem);
+
+ AdjustTip();
+
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+
+ return 1;
+ }
+ };
+]
\ No newline at end of file
diff --git a/jrj/project/business/Affair/ProcessManagement.cpp b/jrj/project/business/Affair/ProcessManagement.cpp
new file mode 100644
index 0000000..25d1132
--- /dev/null
+++ b/jrj/project/business/Affair/ProcessManagement.cpp
@@ -0,0 +1,171 @@
+use "xcontrol.vframe.vbusiness.vd"
+use "xbase.vframe.vbusiness.vd"
+use "base.view.vd"
+
+unit trade
+[
+ class ProcessManagement : public xframe
+ {
+ xdwgrid dw_list;
+ xnode m_agentNode; //Agent Condition
+
+
+ int SetAgent()
+ {
+ string xfNodeAgentArea = "agentarea";
+ xnode anode = GetAgentNode(xfNodeAgentArea);
+ if(m_agentNode)
+ {
+ SetAgentNodeContent (anode,m_agentNode);
+ }
+ else
+ {
+ msxml::IXMLDOMElement xframeElement = GetElement();
+ msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
+ if(agent)
+ {
+ string s = agent.xml;
+ m_agentNode = SetAgentNodeContent (anode,s);
+ }
+ }
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(ref TEvent evt,int param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(string comdid)
+ {
+
+ if(comdid == "xmDelete")
+ {
+ int MB_OKCANCEL = 1;
+ int IDOK = 1;
+ int ret = win32::MessageBox(GetHWND(),"确认删除流程?","提示",MB_OKCANCEL);
+ if(ret == IDOK)
+ {
+ int row = dw_list.GetRow();
+ string TaskID = dw_list.GetItemString(row,"TaskID");
+
+
+ xml x = ViewObject::RetrieveData("/sale/data/business/DelProcessManagement","TaskID",TaskID);
+ string status = x.GetXml();
+ if(status.find("ok") == 1)
+ {
+ alert("删除成功");
+ dw_list.DeleteRow(row);
+ }else
+ {
+ alert("删除失败");
+ }
+
+ }
+ return 1;
+
+ }
+ else if (comdid == "xmRefresh")
+ {
+ OnRetrieve();
+ }
+ else if (comdid == "AA")
+ {
+ AA();
+ }
+ return 0;
+ }
+ int AA()
+ {
+
+ //string FobUnitPriceEx=dw_cell.GetItemString(row,colFOBPrice);
+ string FobUnitPriceEx="$123.0";
+ if(FobUnitPriceEx=="$") FobUnitPriceEx="123";
+ //alert(FobUnitPriceEx.find("$").toString());
+ if(FobUnitPriceEx.find("$") >=0) FobUnitPriceEx=FobUnitPriceEx.right(FobUnitPriceEx.length() - 1);
+ trace(FobUnitPriceEx);
+ }
+ //触发鼠标离开后tran事件,通过查找某个参数得到对应的列
+ int OnBaseItemChanged(ref TNotifyEvent evt,int p)
+ {
+ ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
+ string colname=hdr.colname;
+ string value = hdr.data;
+
+ string dwname = "dw_list";
+ if(value != "")
+ {
+ msxml::IXMLDOMNodeList nlist = GetElement().selectNodes("//*[@name='"+dwname+"']/trans[@for='"+colname+"']");
+ ViewObject::TransData(nlist, dw_list, hdr.row, colname, value);
+ }
+
+ return 1;
+ }
+
+
+ //命令处理事件
+ int OnXCommand(ref TXCommandEvent evt,int param)
+ {
+ return OnCmdDispatch(evt.pStrID);
+ }
+
+
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent("WM_XCOMMAND",OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent("WM_SETFOCUS",OnSetFocus);
+ AttachEvent("dw_list","DWV_ITEMCHANGED",OnBaseItemChanged);
+ }
+
+
+ int OnRetrieve()
+ {
+ xml x = new xml;
+ x.setNativePointer(xml::CreateInstance());
+ xaserverarg arg = new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+
+ if (getUrl("/sale/data/business/ProcessManagement",arg.GetString(),x)!=1)
+ {
+ trace(x.GetXmlDoc().text);
+ return -1;
+ }else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ dw_list.SetReadOnly(true);
+ dw_list.SetSelectionMode(1);
+ }
+ return 1;
+ }
+
+ int onload()
+ {
+ dw_list = GetControl("dw_list");
+ dw_list.openUrl("/sale/view/Business3/template/ProcessManagement");
+ dw_list.SetColumnState("TaskID",false);
+
+ OnRetrieve();
+
+ OnAttachEvent();
+
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+
+
+ return 1;
+ }
+ };
+]
\ No newline at end of file
diff --git a/jrj/project/business/Affair/message.business.cpp b/jrj/project/business/Affair/message.business.cpp
new file mode 100644
index 0000000..9d85ecd
--- /dev/null
+++ b/jrj/project/business/Affair/message.business.cpp
@@ -0,0 +1,416 @@
+use "xcontrol.vframe.vbusiness.vd"
+use "xbase.vframe.vbusiness.vd"
+use "base.view.vd"
+
+unit trade
+[
+ class MessageBusinessWin : public xframe
+ {
+ //xdwgrid dw_list;
+ xdwtable dw_base;
+ xnode m_agentNode; //Agent Condition
+ xwin sheet;
+ bool readonly;
+ string MessageID;
+ string bill;
+
+ int SetAgent()
+ {
+ return 1;
+
+ string xfNodeAgentArea = "agentarea";
+ xnode anode = GetAgentNode(xfNodeAgentArea);
+ if(m_agentNode)
+ {
+ SetAgentNodeContent (anode,m_agentNode);
+ }
+ else
+ {
+ msxml::IXMLDOMElement xframeElement = GetElement();
+ msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
+ if(agent)
+ {
+ string s = agent.xml;
+ m_agentNode = SetAgentNodeContent (anode,s);
+ }
+ }
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(ref TEvent evt,int param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ int OnItemChanged(ref TNotifyEvent evt,int p)
+ {
+ ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
+ string colname=hdr.colname;
+ string value = hdr.data;
+ int row = hdr.row;
+
+ if(colname=="Category")
+ {
+ if(value=="供应商申请")
+ {
+ dw_base.SetItemString(1,"Receiver","fdp-011");
+ dw_base.SetItemString(1,"Subject","请添加");
+ }
+ return 1;
+
+ bool changed = false;
+ xml x = ViewObject::RetrieveData("/sale/data/business/message/maint","typ",value);
+ if(x)
+ {
+ string xpage_ = x.GetXmlDoc().documentElement.getAttribute("xpage");
+ string templaterpt = x.GetXmlDoc().documentElement.getAttribute("template");
+ if(xpage_ !="")
+ {
+ string s = "<hbox name='agent'>";
+ s += "<xpage url='" + xpage_ + "' name='contentex'/>";
+ s += "</hbox>";
+ SetAgentNodeContent (GetAgentNode("agent"),s);
+ SwitchLayer("sheet2","frame");
+ sheet = GetChildWin("contentex");
+ changed = true;
+ }
+ }
+ if(!changed)
+ {
+ sheet = 0;
+ SwitchLayer("sheet1","frame");
+ }
+ }
+
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(string comdid)
+ {
+ if(comdid=="xmSend")
+ {
+ if(!readonly) OnSend();
+ return 1;
+ }
+ else if(comdid=="xmSave")
+ {
+ if(!readonly) OnSave();
+ return 1;
+ }
+ else if(comdid=="xmCancel")
+ {
+ CloseWindow();
+ return 1;
+ }
+ if(sheet && comdid !="")
+ {
+ int ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0);
+ if(ret) return ret;
+ }
+
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(ref TXCommandEvent evt,int param)
+ {
+ return OnCmdDispatch(evt.pStrID);
+ }
+
+
+ int OnDWClick(ref TNotifyEvent evt,int p)
+ {
+ ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
+ string value = hdr.data;
+ string colname = hdr.colname;
+ if (value == "收件人:")
+ {
+
+ xaserverarg arg2 = new xaserverarg;
+ arg2.setNativePointer(arg2.CreateInstance());
+ xaserverarg parg2 = GetParam();
+ OpenWindow("dev:xpage[UserGroupPersonSelect.vx]",cast(arg2 as int));
+
+ if(arg2.GetArgString("comdid")=="xmOk")
+ {
+ string data = arg2.GetArgString("data");
+ xml x2 = new xml;
+ x2.setNativePointer(xml::CreateInstance());
+ x2.LoadXml(data);
+ msxml::IXMLDOMNodeList nodes = x2.GetXmlDoc().selectNodes("/root/item");
+ trace(x2.GetXml());
+
+ int len = nodes.length;
+
+ string Names = "";
+ for(int i=0;i<len; i++)
+ {
+ msxml::IXMLDOMElement t= nodes.item(i);
+
+ if(t.getAttribute("Name"))
+ {
+ string Name = t.getAttribute("Name");
+ if(Names=="")
+ Names = Name;
+ else if(Names.find(Name) < 0) Names+=";"+Name;
+ }
+ }
+ dw_base.SetItemString(1,"Receiver",Names);
+ }
+ return 1;
+ }
+
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent("WM_XCOMMAND",OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent("WM_SETFOCUS",OnSetFocus);
+
+ AttachEvent("dw_base","DWV_ITEMCHANGED",OnItemChanged);
+ AttachEvent("dw_base","DWV_CLICKED",OnDWClick);
+
+ return 1;
+ }
+
+ int OnSave()
+ {
+ xml x = new xml;
+ x.setNativePointer(xml::CreateInstance());
+ xaserverarg arg1 = MakeArg("scriptbox");
+ string murl = "/sale/data/Business/message/update";
+ if(MessageID=="") murl = "/sale/data/Business/message/add2";
+ if(url::get(murl, arg1.GetString(),x)!=1)
+ {
+ alert("error1:\r\n"+x.GetXmlDoc().text);
+ return 1;
+ }
+ if(MessageID=="") MessageID= dw_base.GetGuid(1);
+ alert("已保存到草稿箱");
+ return 1;
+
+ xaserverarg arg = new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+ if(sheet)
+ {
+ int val = cast(arg as int);
+ win32::SendMessage(sheet.GetHWND(),0x401,"GetEntityData:"+val.toString(),0);
+ string data = arg.GetArgString("EntityData");
+ murl = "/sale/data/Business/message/attach/update";
+ arg1.AddArg("url","message/attach");
+ arg1.AddArg("content",data);
+ arg1.AddArg("param",MessageID);
+ if(url::get(murl, arg1.GetString(),x)!=1)
+ {
+ alert("error2:\r\n"+x.GetXmlDoc().text);
+ return 1;
+ }
+ }
+ return 1;
+ }
+
+ int OnSend()
+ {
+ xml x = new xml;
+ x.setNativePointer(xml::CreateInstance());
+ //xaserverarg arg1 = MakeArg("outbox");
+ xaserverarg arg1 = MakeArg("inbox");
+ string murl = "/sale/data/Business/message/update";
+ if(MessageID=="") murl = "/sale/data/Business/message/add2";
+
+ trace(arg1.GetString());
+
+ if(url::get(murl, arg1.GetString(),x)!=1)
+ {
+ alert("error1:\r\n"+x.GetXmlDoc().text);
+ return 1;
+ }
+ if(MessageID=="") MessageID= dw_base.GetGuid(1);
+ alert("发送完成");
+ CloseWindow();
+
+ return 1;
+
+ xaserverarg arg = new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+ if(sheet)
+ {
+ int val = cast(arg as int);
+ win32::SendMessage(sheet.GetHWND(),0x401,"GetEntityData:"+val.toString(),0);
+ string data = arg.GetArgString("EntityData");
+ murl = "/sale/data/Business/message/attach/update";
+ arg1.AddArg("url","message/attach");
+ arg1.AddArg("content",data);
+ arg1.AddArg("param",MessageID);
+ if(url::get(murl, arg1.GetString(),x)!=1)
+ {
+ alert("error2:\r\n"+x.GetXmlDoc().text);
+ return 1;
+ }
+ }
+ return 1;
+ }
+
+ xaserverarg MakeArg(string folder)
+ {
+ //ThingImpl:AddMessage($MessageID,$Folder,$EntityNo, $EntityID, $Subject, $Category, $Reciever, $Content)
+ //ThingImpl:UpdateMessage($MessageID,$Folder,$EntityNo, $EntityID, $Subject, $Category, $Reciever, $Content)
+
+ xaserverarg arg = new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+
+ if(MessageID=="")
+ {
+ dw_base.SetGuid(1,ViewObject::GetGuid());
+ arg.AddArg("MessageID", dw_base.GetGuid(1));
+ arg.AddArg("EntityID", dw_base.GetGuid(1));
+ }
+ else
+ {
+ arg.AddArg("MessageID", MessageID);
+ arg.AddArg("EntityID", MessageID);
+ }
+
+ arg.AddArg("Folder", folder);
+ arg.AddArg("EntityNo", dw_base.GetItemString(1,"EntityNo"));
+ arg.AddArg("Subject", dw_base.GetItemString(1,"Subject"));
+ arg.AddArg("Category", dw_base.GetItemString(1,"Category"));
+ arg.AddArg("Reciever", dw_base.GetItemString(1,"Receiver"));
+ arg.AddArg("Note", dw_base.GetItemString(1,"Note"));
+ //arg.AddArg("Content", dw_base.GetItemString(1,"Content"));
+ arg.AddArg("Content",GetControl("content").GetText());
+ arg.AddArg("Content2",bill);
+ return arg;
+ }
+
+ int OnRetrieve()
+ {
+ xml x = new xml;
+ x.setNativePointer(xml::CreateInstance());
+ xaserverarg arg = new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+ arg.AddArg("id",MessageID);
+ if (getUrl("/sale/data/business/list/fetch",arg.GetString(),x)!=1)
+ {
+ trace(x.GetXmlDoc().text);
+ return -1;
+ }else
+ {
+ dw_base.Retrieve(x);
+ dw_base.Redraw();
+ if(readonly) dw_base.SetReadOnly(true);
+
+ if(x.GetXmlDoc().selectSingleNode("root/Content"))
+ {
+ string str = x.GetXmlDoc().selectSingleNode("root/Content").text;
+ str = str.replace("\n","\r\n");
+ GetControl("content").SetText(str);
+ }
+ //alert(x.GetXml());
+ if(x.GetXmlDoc().selectSingleNode("root/Content2"))
+ {
+
+ string str2 = x.GetXmlDoc().selectSingleNode("root/Content2").text;
+ string tm="";
+ string EntityID="";
+ string Category="";
+ int pos = str2.find("EntityID=");
+ if(pos >= 0)
+ {
+ tm = str2.mid(pos+"EntityID=".length(),64);
+ if(tm.find(" ")>0) tm = tm.left(tm.find(" "));
+ EntityID=tm;
+ }
+ pos = str2.find("Category=");
+ if(pos >= 0)
+ {
+ tm = str2.mid(pos+"Category=".length(),64);
+ if(tm.find(" ")>0) tm = tm.left(tm.find(" "));
+ Category=tm;
+ }
+ trace("EntityID:"+EntityID);
+ trace("Category:"+Category);
+ if(EntityID != "" && Category != "")
+ {
+ string eleStr = "<row EntityID='"+EntityID+"'";
+ eleStr += " category='" + Category + "'/>";
+ bill = "EntityID="+EntityID+" Category=" + Category;
+ ShowDetail(eleStr);
+ }
+ }
+ }
+ return 1;
+ }
+
+ int ShowDetail(string eleStr)
+ {
+ xaserverarg arg=new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+ arg.AddArg("content",eleStr);
+ xml doc=new xml;
+ doc.setNativePointer(xml::CreateInstance());
+ if(getUrl("/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1)
+ {
+ trace("error->:"+doc.GetXml());
+ return 0;
+ }
+ if(doc.GetXml() == "")
+ return -1;
+
+ htmlctrl ht = GetControl("taskinfo");
+ ht.SetContent(doc.GetXml());
+ ht.Redraw();
+
+ return 1;
+ }
+
+ int onload()
+ {
+ dw_base = GetControl("dw_base");
+ dw_base.openUrl("/sale/view/business3/template/message/maint");
+ dw_base.SetColHeaderHeight(0);
+ dw_base.SetRowSelectorWidth(0);
+ dw_base.SetHScrollState(false);
+ dw_base.SetVScrollState(false);
+
+ dw_base.SetItemString(1,"Category","普通");
+
+ OnAttachEvent();
+
+ readonly = false;
+ MessageID = "";
+ bill = "";
+
+ SetAgent();
+ if(GetParam())
+ {
+ xaserverarg arg = GetParam();
+ MessageID = arg.GetArgString("id");
+ if(arg.GetArgString("readonly")=="1") readonly=true;
+ OnRetrieve();
+
+ if(arg.GetArgString("EntityID")!="")
+ {
+ string str = "<row EntityID='"+arg.GetArgString("EntityID")+"'";
+ str += " category='" + arg.GetArgString("EntityName")+"'/>";
+ bill = "EntityID="+arg.GetArgString("EntityID")+" Category=" + arg.GetArgString("EntityName");
+ ShowDetail(str);
+ }
+ }
+
+ return 1;
+ }
+
+ int onloaded()
+ {
+
+ return 1;
+ }
+ };
+]
\ No newline at end of file
diff --git a/jrj/project/business/Affair/message.supplier.cpp b/jrj/project/business/Affair/message.supplier.cpp
new file mode 100644
index 0000000..e4a74ab
--- /dev/null
+++ b/jrj/project/business/Affair/message.supplier.cpp
@@ -0,0 +1,218 @@
+use "xcontrol.vframe.vbusiness.vd"
+use "xbase.vframe.vbusiness.vd"
+
+unit trade
+[
+ class SupplierMessageWin : public xframe
+ {
+ xdwtable dw_base;
+ //xdwgrid dw_list;
+ xnode m_agentNode; //Agent Condition
+
+ int SetAgent()
+ {
+ return 1;
+
+ string xfNodeAgentArea = "agentarea";
+ xnode anode = GetAgentNode(xfNodeAgentArea);
+ if(m_agentNode)
+ {
+ SetAgentNodeContent (anode,m_agentNode);
+ }
+ else
+ {
+ msxml::IXMLDOMElement xframeElement = GetElement();
+ msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
+ if(agent)
+ {
+ string s = agent.xml;
+ m_agentNode = SetAgentNodeContent (anode,s);
+ }
+ }
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(ref TEvent evt,int param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ int UpLoad(string name)
+ {
+ string str = name.mid(0,2);
+ str = str.upper();
+ int ret1 = xaserver::Upload("supplier"+str, name+".jpg", this.GetHWND(),"",false);
+ return ret1;
+ }
+
+ int OnItemClick(ref TNotifyEvent evt,int p)
+ {
+ ref DWNMHDR hdr1 = trust(evt.pnmh as ref DWNMHDR);
+ string colname1= hdr1.colname;
+
+ ref DWNMHDR hdr = evt.pnmh;
+ string value = hdr.data;
+ xaserverarg arg=new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+
+ if(value == "上传附件")
+ {
+ string strguid = publiccode::GetGuid();
+ //alert(strguid);
+ int ret1 = UpLoad(strguid);
+ if(ret1 == -1)
+ return -1;
+
+ if(ret1 == 0)
+ {
+ alert("上传附件失败");
+ return -1;
+ }
+ else
+ {
+ alert("上传附件成功");
+ string strimage=dw_base.GetItemString(1,"ImageList1");
+ //alert(strimage);
+ if(strimage=="")
+ strimage="<ImageList></ImageList>";
+ xml y=new xml;
+ y.setNativePointer(xml::CreateInstance());
+ y.LoadXml(strimage);
+
+ msxml::IXMLDOMElement ele= y.GetXmlDoc().documentElement;
+
+ xml x=new xml;
+ x.setNativePointer(xml::CreateInstance());
+ string xx = "<ImageList><image>"+strguid+".jpg</image></ImageList>";
+ x.LoadXml(xx);
+ msxml::IXMLDOMElement e= x.GetXmlDoc().selectSingleNode("//image");
+ ele.appendChild(e);
+ dw_base.SetItemString(1,"ImageList1",ele.xml);
+ dw_base.Redraw();
+ }
+ }
+
+ if(value == "查看")
+ {
+ arg.AddArg("src",dw_base.GetItemString(1,"ImageList1"));
+ int pa = arg.getNativePointer();
+ openUrl("/sale/view/SupplierV3/xpage/supplierattachment/picture", pa);
+ arg.setNativePointer(pa);
+ dw_base.SetItemString(1,"ImageList1",arg.GetArgString("src"));
+ }
+
+ return 1;
+ }
+
+ int GetEntityData(xaserverarg arg)
+ {
+ xml x = new xml;
+ x.setNativePointer(xml::CreateInstance());
+ dw_base.DwUpdateAllTo(x.GetXmlDoc());
+ arg.AddArg("EntityData",x.GetXml());
+
+ return 1;
+ }
+
+ xaserverarg GetArg(string comdid)
+ {
+ if(comdid.find(":")>=0)
+ {
+ xaserverarg arg = comdid.mid(comdid.find(":")+1,64).toInt();
+ return arg;
+ }
+ return 0;
+ }
+
+ int GetEntityInfo(xaserverarg arg)
+ {
+ arg.AddArg("EntityName","Supplier");
+ arg.AddArg("EntityID",dw_base.GetGuid(1));
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(string comdid)
+ {
+ if(comdid.find("GetEntityInfo:")==0) return GetEntityInfo(GetArg(comdid));
+ else if(comdid.find("GetEntityData:")==0) return GetEntityData(GetArg(comdid));
+ else if(comdid=="xmAddRow") return OnAddRow();
+ else if(comdid=="xmDeleteRow") return OnDeleteRow();
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(ref TXCommandEvent evt,int param)
+ {
+ return OnCmdDispatch(evt.pStrID);
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent("WM_XCOMMAND",OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent("WM_SETFOCUS",OnSetFocus);
+ AttachEvent("dw_base","DWV_CLICKED",OnItemClick);
+ }
+
+ int OnAddRow()
+ {
+ xdwtable dw_obj = dw_base.FindDwTable("item");
+ dw_obj.InsertRow(0);
+ return 1;
+ }
+
+ int OnDeleteRow()
+ {
+ xdwtable dw_obj = dw_base.GetCurTable();
+ dw_obj.DeleteRow(0);
+ return 1;
+ }
+
+ /*
+ int OnRetrieve()
+ {
+ xml x = new xml;
+ x.setNativePointer(xml::CreateInstance());
+ xaserverarg arg = new xaserverarg;
+ arg.setNativePointer(arg.CreateInstance());
+ arg.AddArg("xxx","xxx");
+ if (getUrl("",arg.GetString(),x)!=1)
+ {
+ trace(x.GetXmlDoc().text);
+ return -1;
+ }else
+ {
+ //dw_list.Retrieve(x);
+ //dw_list.Redraw();
+ }
+ return 1;
+ }
+ */
+
+ int onload()
+ {
+ dw_base = GetControl("dw_base");
+ dw_base.openUrl("/sale/view/SupplierV3/template/supplier/simplebase");
+ dw_base.SetColHeaderHeight(0);
+ dw_base.SetRowSelectorWidth(0);
+ //dw_base.SetHScrollState(false);
+ //dw_base.SetVScrollState(false);
+
+ OnAttachEvent();
+
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
+]
\ No newline at end of file
--
Gitblit v1.9.3