/***********************
* 说明:单据审批和基础档案审批主页共用模版
* 创建人:龚宇超
* 创建日期:2017-12-27
* 修改人:
* 修改日期:
* 修改备注:
* 版本:1.0.0.0
***********************/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Lskj.Control.Model;
using Lskj.Business.Impl;
using Lskj.Data;
using Lskj.Model;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraTab;
using DevExpress.Utils;
using DevExpress.XtraEditors.Controls;
using Lskj.Business;
using DevExpress.XtraGrid.Columns;
using Lskj.PubAccraditation2;
using Lskj.Util;
using DevExpress.XtraBars;
using Lskj.Core;
using System.Diagnostics;
using System.Text.RegularExpressions;
using DevExpress.Data;
using DevExpress.XtraGrid;
using System.Collections;
using System.Threading.Tasks;
namespace Lskj.Control
{
public partial class AuditPanelEx : UserControl
{
private bool mResourcesReleased;
private readonly AltButtonShortcutManager mAltButtonShortcuts =
new AltButtonShortcutManager();
public AuditPanelEx()
{
InitializeComponent();
InitializeAltButtonShortcuts();
}
private void InitializeAltButtonShortcuts()
{
mAltButtonShortcuts.Register(btnOkAudit, Keys.Y);
mAltButtonShortcuts.Register(btnBackAudit, Keys.B);
mAltButtonShortcuts.Register(btnRefresh, Keys.R);
mAltButtonShortcuts.Register(btnBack, Keys.W);
mAltButtonShortcuts.Register(btnSearch, Keys.Q);
}
protected override bool ProcessCmdKey(
ref System.Windows.Forms.Message msg, Keys keyData)
{
return mAltButtonShortcuts.ProcessKey(keyData) ||
base.ProcessCmdKey(ref msg, keyData);
}
internal void ReleaseResourcesForDispose()
{
if (mResourcesReleased)
{
return;
}
mResourcesReleased = true;
MyControl searchControl = _searchContrl;
_searchContrl = null;
if (searchControl != null)
{
searchControl.Dispose();
}
try
{
if (gridFinish != null && gridFinish.GridView != null)
{
gridFinish.GridView.SelectionChanged -= GvFinish_SelectionChangedClick;
gridFinish.GridView.DoubleClick -= GvFinish_DoubleClick;
}
foreach (TabPageObj tabPage in _tabPageObjs)
{
foreach (TabPageItemObj item in tabPage.TabPageItemObjs)
{
if (item.GridControlObj != null &&
item.GridControlObj.GridView != null)
{
item.GridControlObj.GridView.DoubleClick -=
OnGridViewDoubleClick;
item.GridControlObj.Model = null;
}
}
tabPage.TabPageItemObjs.Clear();
}
}
catch
{
// A partially disposed DevExpress view must not stop cleanup.
}
try
{
if (SysModel != null && SysModel.DataCaches != null)
{
SysModel.DataCaches.RemoveCache(this);
}
}
catch
{
// Cache cleanup must not interrupt control disposal.
}
_tabPageObjs.Clear();
_tabPageCount.Clear();
OnGridViewDoubleCallBack = null;
OnGridFinshViewDoubleCallBack = null;
OnBtnSearchCallBack = null;
SectionAccradit = null;
AuditComModelObj = null;
BaseAccraditModelObj = null;
PubSysModel = null;
SysModel = null;
}
#region 公有变量
///
/// 默认查询框
///
public bool PanelCondVisible;
///
/// 主键
///
public string KeyValue;
///
/// model的key值模块
///
public string modelkeyName = string.Empty;
///
/// 单据前缀
///
public string TmpPrefix = string.Empty;
///
/// 分段审批
///
public DataRow SectionAccradit;
///
/// 审批公用模型
///
public AuditCommonModel AuditComModelObj;
///
/// 基础审批模型
///
public BaseAccraditationModel BaseAccraditModelObj;
///
/// 模型
///
public DynamicModel SysModel;
///
/// 单据入口参数模型
///
public DynamicPubAccraditionPopModel PubSysModel;
///
/// 批量返退意见
///
public string _auditAdvice = "批量返退";
///
/// 是否单据
///
public bool isBill = true;
///
/// 已完成表格
///
/// The finish grid object.
public GridControlEx FinishGridObj { get { return this.gridFinish; } }
///
/// 说明:审批表格双击弹出模块回调
/// 创建人:龚宇超
/// 创建日期:2017-12-21
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
public event EventHandler OnGridViewDoubleCallBack;
///
/// 说明:已完成表格双击弹出模块回调
/// 创建人:龚宇超
/// 创建日期:2017-12-21
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
public event EventHandler OnGridFinshViewDoubleCallBack;
///
/// 说明:已完成表格搜索回调
/// 创建人:龚宇超
/// 创建日期:2017-12-21
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
public event BtnSearchGridFinishEventHandler OnBtnSearchCallBack;
#endregion
#region 私有变量
///
/// tabpages集合
///
private List _tabPageObjs = new List();
///
/// 自定义搜索控件
///
private MyControl _searchContrl;
///
/// tabpages集合
///
private List _tabPageCount = new List();
///
/// 已完成表格
///
/// The finish grid object.
public XtraTabControl FinishTabMain { get { return this.tabMain; } }
#endregion
#region 初始化系统配置
///
/// 说明:初始化系统配置
/// 创建人:龚宇超
/// 创建日期:2017-11-30
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The menu code.
public void InitializeSetting(AuditCommonModel auditComModel, DynamicModel model, BaseAccraditationModel baseAccraditModel)
{
try
{
this.AuditComModelObj = auditComModel;
this.isBill = AuditComModelObj.Moduletype == "bill" ? true : false;
this.modelkeyName = isBill ? GridCustomColumnStruct.AuditMainGridView : GridCustomColumnStruct.BaseAuditMainGridView;
this.SysModel = model;
Dictionary