using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using DeiNiu.Wms.CE.Util; namespace DeiNiu.Wms.CE { public partial class TaskList : basicForm { // WmsOutPickRequestClient client { get; set; } //v_stockOutBatchPickOrder4Wince //v_stockOutBatchPickDetail4Wince public TaskList() { InitializeComponent(); //client = new WmsOutPickRequestClient(WcfHelp.getBasicBinding(), WcfHelp.getEndpoint("WmsOutPickRequestService")); } public static string custor_name=""; public static string taskNo = ""; private void Tasks_Load(object sender, EventArgs e) { initialTimer(); lbStatus.Text = custor_name; lbTask.Text = taskNo; // InitDataGridColumnHeader(dg1);未开始 = 0, 进行中, 暂停, 取消, 已完成 Dictionary dic = new Dictionary(); dic[0] = enumFlowTaskStatus.未开始.ToString(); dic[1] = enumFlowTaskStatus.进行中.ToString(); ; dic[2] = enumFlowTaskStatus.暂停.ToString(); ; dic[3] = enumFlowTaskStatus.取消.ToString(); ; dic[4] = enumFlowTaskStatus.已完成.ToString(); ; Utils.initialComboBoxs(comStatus, dic); if (!string.IsNullOrEmpty(taskNo)) { tb1.SelectedIndex =1; GetTaskData(lbTask.Text.Trim().ToString()); }else{ bindBg1(); } } public void GetTaskData(string taskNo) { if(taskNo=="") { return; } Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { DataTable dt = client.getTaskDetails(taskNo,LoginInfo.UserId,LoginInfo.Token); Cursor.Current = System.Windows.Forms.Cursors.Default; dg2.DataSource = dt; bindBg2(dt); } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; showErrorMsg(er); return; } //tb1.SelectedIndex = 1; } private void dg1_DoubleClick(object sender, EventArgs e) { setTaskDetail(); } void setTaskDetail() { if (dg1.DataSource == null) { return; } if (dg1.CurrentRowIndex < 0) { return; } //string sale_order = dg1[dg1.CurrentRowIndex, 0].ToString(); //string custor_name = dg1[dg1.CurrentRowIndex, 1].ToString(); lbTask.Text = dg1[dg1.CurrentRowIndex, 7].ToString(); lbStatus.Text = dg1[dg1.CurrentRowIndex, 2].ToString(); // lbFinished.Text = dg1[dg1.CurrentRowIndex, 11].ToString(); // btnStart.Enabled = (lbStatus.Text == enumFlowTaskStatus.未开始.ToString()); Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; DataTable dt = null; try { dt = client.getTaskDetails(lbTask.Text, LoginInfo.UserId, LoginInfo.Token); Cursor.Current = System.Windows.Forms.Cursors.Default; } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; showErrorMsg(er); return; } bindBg2(dt); tb1.SelectedIndex = 1; } private void tb1_SelectedIndexChanged(object sender, EventArgs e) { if (tb1.SelectedIndex == 0) { bindBg1(); /* dg1.TableStyles[0].GridColumnStyles["出库单"].Width = 80; dg1.TableStyles[0].GridColumnStyles["客户"].Width = 140; dg1.TableStyles[0].GridColumnStyles["状态"].Width = 60; */ } btnStart.Enabled = (lbStatus.Text == enumFlowTaskStatus.未开始.ToString()); } private void bindBg1() { Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; DataTable dt; try { dt = client.getTasks(comStatus.SelectedIndex, -1, LoginInfo.UserId, LoginInfo.UserId, LoginInfo.Token); dg1.DataSource = dt; } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; showErrorMsg(er); return; } Cursor.Current = System.Windows.Forms.Cursors.Default; dg1.TableStyles.Clear(); DataGridTableStyle ts = new DataGridTableStyle(); ts.MappingName = dt.TableName; dg1.TableStyles.Add(ts); ts.GridColumnStyles[0].Width = 0; ts.GridColumnStyles[4].Width = 0; ts.GridColumnStyles[6].Width = 0; ts.GridColumnStyles[11].Width = 0; ts.GridColumnStyles[1].Width = 60; ts.GridColumnStyles[2].Width = 60; ts.GridColumnStyles[3].Width = 90; } private void bindBg2(DataTable dt) { dg2.DataSource = dt; dg2.TableStyles.Clear(); DataGridTableStyle dgts = new DataGridTableStyle(); dgts.MappingName = dt.TableName; // 必须用 ds.TableName, dt.TableSpace 不行!!!! dg2.TableStyles.Add(dgts); /* dg2.TableStyles[0].GridColumnStyles["商品"].Width = 80; dg2.TableStyles[0].GridColumnStyles["数量"].Width = 60; dg2.TableStyles[0].GridColumnStyles["货位"].Width = 70; dg2.TableStyles[0].GridColumnStyles["批号"].Width = 80; dg2.TableStyles[0].GridColumnStyles["厂家"].Width = 150; */ // dg2.TableStyles[0].GridColumnStyles["pickOrderNo"].Width = 0; // dg2.TableStyles[0].GridColumnStyles["state"].Width = 0; // dg2.TableStyles[0].GridColumnStyles["状态"].Width = 70; /* dgts.GridColumnStyles[0].Width = 80; dgts.GridColumnStyles[1].Width = 35; dgts.GridColumnStyles[2].Width = 20; dgts.GridColumnStyles[3].Width = 0; //状态 dgts.GridColumnStyles[4].Width = 65; dgts.GridColumnStyles[5].Width = 60; dgts.GridColumnStyles[6].Width = 140; dgts.GridColumnStyles[7].Width = 0; dgts.GridColumnStyles[8].Width = 0; dgts.GridColumnStyles[9].Width = 0; dgts.GridColumnStyles[10].Width = 0; dgts.GridColumnStyles[11].Width = 0; DataGridTableStyle dts = new DataGridTableStyle(); //注意:必须加上这一句,否则自定义列格式无法使用 dts.MappingName = "Table"; dg.TableStyles.Clear(); dg.TableStyles.Add(dts); dg.TableStyles[0].GridColumnStyles.Clear(); //========================设置表头栏位=========================== // DataGridTableStyle dtsLog = new DataGridTableStyle(); DataGridTextBoxColumn col1 = new DataGridTextBoxColumn(); col1.Width = 140; col1.HeaderText = "品名"; col1.MappingName = "goodsname"; dg.TableStyles[0].GridColumnStyles.Add(col1); DataGridTextBoxColumn col2 = new DataGridTextBoxColumn(); col2.Width = 60; col2.HeaderText = "出库数量"; col2.MappingName = "count"; dg.TableStyles[0].GridColumnStyles.Add(col2); DataGridTextBoxColumn col3 = new DataGridTextBoxColumn(); col3.Width = 70; col3.HeaderText = "货位"; col3.MappingName = "location"; dg.TableStyles[0].GridColumnStyles.Add(col3); DataGridTextBoxColumn col4 = new DataGridTextBoxColumn(); col4.Width = 80; col4.HeaderText = "批号"; col4.MappingName = "batch"; dg.TableStyles[0].GridColumnStyles.Add(col4); DataGridTextBoxColumn col5 = new DataGridTextBoxColumn(); col5.Width = 150; col5.HeaderText = "厂家"; col5.MappingName = "manufacturer"; dg.TableStyles[0].GridColumnStyles.Add(col5); * */ } private void comStatus_SelectedIndexChanged(object sender, EventArgs e) { bindBg1(); } private void initialTimer() { int intTime = 5*60*1000; timer1.Interval = intTime;//设置间隔时间,为毫秒; timer1.Tick += new EventHandler(loadTasks);//到达时间的时候执行事件; timer1.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件; } delegate void loadNewCurrentWave(); private void loadTasks(object source, EventArgs e) { if (InvokeRequired) { this.Invoke(new loadNewCurrentWave(delegate() { bindBg1(); })); } else { bindBg1(); } } private void btnStart_Click(object sender, EventArgs e) { Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { enumFlowTaskResult rt = client.startTask(lbTask.Text, LoginInfo.UserId, LoginInfo.Token); MessageBox.Show(rt.ToString()); if (rt == enumFlowTaskResult.成功) { tb1.SelectedIndex=0; clear(); } } catch (Exception er) { showErrorMsg(er); } Cursor.Current = System.Windows.Forms.Cursors.Default; } void clear() { lbStatus.Text = lbTask.Text =""; dg2.DataSource =null; } private void TaskList_Closing(object sender, CancelEventArgs e) { timer1.Enabled = false; timer1.Dispose(); } } }