//点击30天内OA数字后展示案件列表 private void TxtblkOAin30_MouseDown(object sender, MouseButtonEventArgs e) { AttorneyStatus ats = (AttorneyStatus)spStatus.DataContext; TaskList tl = new TaskList(ats.TdsOAin30); tl.Show(); }
private AttorneyStatus GetAttorneyStatusofOne(MemberTree mt) { DataRow[] drs = ds.Tables[0].Select("承办人 LIKE '" + mt.Name + "'"); DataSet dstemp = new DataSet(); dstemp = ds.Clone(); foreach (DataRow dr in drs) { dstemp.Tables[0].Rows.Add(dr.ItemArray); } AttorneyStatus ats = new AttorneyStatus(dstemp); return(ats); }
/// <summary> /// 点击节点的处理逻辑:获取该节点下的所有人名,并生成指标数据填入【详情列表】中。 /// 同时将汇总数据填入【指标详情区】 /// 同时将案件情况填入【案件情况区】 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MemberTree_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { //生成指标数据填入【详情列表】中 List <MemberTree> leafs = new List <MemberTree>(); //创建叶子列表用于保存所有的叶子节点 MemberTree mt = new MemberTree(); //创建成员树对象,用于保存所选择的节点数实例 List <ViewModel.AttorneyIndex> indices = new List <ViewModel.AttorneyIndex>(); //创建指标详情列表,用于保存所选择的节点下的所有叶子节点的指标详情 List <AttorneyStatus> atss = new List <AttorneyStatus>(); //创建案件情况列表,用于保存所选择的节点下的所有叶子节点的案件情况 mt = (MemberTree)memberTree.SelectedItem; leafs = GetAllLeafofOneNode(mt); foreach (MemberTree leaf in leafs) { indices.Add(GetAttorneyIndexofOne(leaf)); atss.Add(GetAttorneyStatusofOne(leaf)); } dgDetail.ItemsSource = indices; //将汇总数据填入【指标详情区】 ViewModel.AttorneyIndex indextotal = new ViewModel.AttorneyIndex(); foreach (ViewModel.AttorneyIndex index in indices) { indextotal.FirstVirsionWeight += index.FirstVirsionWeight; indextotal.DoneWeight += index.DoneWeight; indextotal.NumofDoneOA += index.NumofDoneOA; indextotal.NumofHandled += index.NumofHandled; indextotal.NumofExceedlimit += index.NumofExceedlimit; indextotal.NumofExceedOutsidelimit += index.NumofExceedOutsidelimit; indextotal.NumofEntrusted += index.NumofEntrusted; indextotal.DaysofExceedlimit += index.DaysofExceedlimit; indextotal.DaysofExceedOutsidelimit += index.DaysofExceedOutsidelimit; indextotal.TdsFirstVirsions = indextotal.TdsFirstVirsions.Concat(index.TdsFirstVirsions).ToList(); indextotal.TdsDone = indextotal.TdsDone.Concat(index.TdsDone).ToList(); indextotal.TdsDoneOA = indextotal.TdsDoneOA.Concat(index.TdsDoneOA).ToList(); indextotal.TdsEntrusted = indextotal.TdsEntrusted.Concat(index.TdsEntrusted).ToList(); indextotal.TdsExceedOutsidelimit = indextotal.TdsExceedlimit.Concat(index.TdsExceedOutsidelimit).ToList(); indextotal.TdsExceedlimit = indextotal.TdsExceedlimit.Concat(index.TdsExceedlimit).ToList(); indextotal.TdsHandled = indextotal.TdsHandled.Concat(index.TdsHandled).ToList(); } indextotal.PercentofExceed = (double)indextotal.NumofExceedlimit / indextotal.NumofHandled; indextotal.PercentofExceedOutside = (double)indextotal.NumofExceedOutsidelimit / indextotal.NumofHandled; spIndex.DataContext = indextotal; //将汇总数据填入【案件情况区】 AttorneyStatus atstotal = new AttorneyStatus(); foreach (AttorneyStatus ats in atss) { atstotal.IntCN += ats.IntCN; atstotal.IntForeign += ats.IntForeign; atstotal.IntTodo += ats.IntTodo; atstotal.IntFirstVirsion += ats.IntFirstVirsion; atstotal.IntAllOA += ats.IntAllOA; atstotal.IntOAin30 += ats.IntOAin30; atstotal.TdsCN = atstotal.TdsCN.Concat(ats.TdsCN).ToList(); atstotal.TdsForeign = atstotal.TdsForeign.Concat(ats.TdsForeign).ToList(); atstotal.TdsFirstVirsions = atstotal.TdsFirstVirsions.Concat(ats.TdsFirstVirsions).ToList(); atstotal.TdsTodo = atstotal.TdsTodo.Concat(ats.TdsTodo).ToList(); atstotal.TdsAllOA = atstotal.TdsAllOA.Concat(ats.TdsAllOA).ToList(); atstotal.TdsOAin30 = atstotal.TdsOAin30.Concat(ats.TdsOAin30).ToList(); } spStatus.DataContext = atstotal; }
private void BtnAttorney_Click(object sender, RoutedEventArgs e) { //获取代理人状态数据保存在ats对象实例中 ats = new AttorneyStatus(ds, "舒丁"); spStatus.DataContext = ats; }