1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
using DevExpress.Data;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraPrinting.Native;
using FastReport.Editor.Syntax;
using Gs.DevApp.Entity;
using Gs.DevApp.ToolBox;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Windows.Forms;
 
namespace Gs.DevApp.UserControl
{
    public partial class SelectSqmx : XtraForm
    {
        private readonly string _webServiceName = "MesInvItemMovesManager/";
        private string workId = "";
        /// <summary>
        /// 
        /// </summary>
        /// <param name="_suppId">供应商</param>
        /// <param name="_receiveOrgId">收料组织</param>
        /// <param name="_isWw">是否委外</param>
       /// <param name="defaultType">默认类型:1-生产,2-委外</param>
        public SelectSqmx(string defaultType = "1")
        {
            InitializeComponent();
            this.gridView1.CustomDrawColumnHeader += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.CustomDrawColumnHeader(s, e); };
            this.gridView1.MouseUp += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.CustomMouseUp(s, e, gcMain, gridView1); };
            this.colChkInt.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False;
            this.colChkInt.OptionsFilter.AllowAutoFilter = false;
            this.colChkInt.OptionsFilter.AllowFilter = false;
            this.colChkInt.OptionsFilter.AllowInHeaderSearch = DevExpress.Utils.DefaultBoolean.False;
            radioGroup1.SelectedIndex = 0;
            // 根据传入的默认类型设置单选按钮
            if (defaultType == "2")
            {
                radioGroup1.SelectedIndex = 1; // 委外
            }
            else
            {
                radioGroup1.SelectedIndex = 0; // 生产
            }
 
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, null, "", null, null, false);
            getPageList(1);
            
            // 添加事件处理程序,当radioGroup1选择变化时通知外部
            radioGroup1.SelectedIndexChanged += (s, e) =>
            {
                // 触发自定义事件,传递当前选择的类型(生产或委外)
                SelectionTypeChanged?.Invoke(this, new UpdateParentEventArgs { Data = (radioGroup1.SelectedIndex + 1).ToString() });
                getPageList(1);
 
            };
 
            btnIn.Click += (s, e) =>
            {
                gridView1.PostEditor();
                gridView1.UpdateCurrentRow();
                var list = new List<string>();
                var list_gd = new List<dynamic>();
                workId = (radioGroup1.SelectedIndex + 1).ToString();
                DataTable dt = this.gcMain.DataSource as DataTable;
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        string checkBox = dr["chkInt"].ToString();
                        if (Gs.DevApp.ToolBox.UtilityHelper.ToCheck(checkBox))
                        {
                            //list.Add(new
                            //{
                            //    rkmxGuid = dr["guid"].ToString(),
                            //    ylqd = dr["ylqd"].ToString(),
                            //    itemNo = dr["itemNo"].ToString(),
                            //    itemName = dr["itemName"].ToString(),
                            //    itemModel = dr["itemModel"].ToString(),
                            //    itemId = dr["itemId"].ToString(),
                            //    scdd = dr["scdd"].ToString(),
                            //    dptName = dr["dptName"].ToString(),
                            //    dwName = dr["dwName"].ToString(),
                            //    remark = dr["remark"].ToString(),
                            //    prdOrg = dr["prdOrg"].ToString(),
                            //    daa008 = dr["daa008"].ToString()
                            //});
                            string _guid = dr["guid"].ToString();
                            string _gddh = dr["scdd"].ToString();
                            list.Add(_guid);
                            list_gd.Add(_gddh);
                        }
                    }
                }
                UpdateParent?.Invoke(this, new UpdateParentEventArgs { StringList = list , Data = workId , DynamicList = list_gd ,}); Close();
            };
            radioGroup1.SelectedIndexChanged += (s, e) =>
            {
                getPageList(1);
            };
        }
 
        /// <summary>
        /// 当选择类型(生产/委外)发生变化时触发的事件
        /// </summary>
        public event EventHandler<UpdateParentEventArgs> SelectionTypeChanged;
 
        /// <summary>
        ///     选择后的回调事件
        /// </summary>
        public event EventHandler<UpdateParentEventArgs> UpdateParent;
 
        /// <summary>
        /// </summary>
        /// <param name="curPage">第几页</param>
        /// <param name="pageSize">每页几条</param>
        private void getPageList(int curPage)
        {
            var _obj = new
            {
                currentPage = curPage,
                everyPageSize = 999999,
                sortName = "",
                keyWhere = "",
                workId = (radioGroup1.SelectedIndex + 1)//1是生产,2是委外
            };
            var json = JsonConvert.SerializeObject(_obj);
            try
            {
                var strReturn = UtilityHelper.HttpPost("",_webServiceName + "SelectScdd", json);
                var dd = UtilityHelper.ReturnToTablePage(strReturn);
                var dt = dd.rtnData.list;
                gcMain.BindingContext = new BindingContext();
                gcMain.DataSource = dt;
                gcMain.ForceInitialize();
                gridView1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1);
            }
            catch (Exception ex)
            {
                MsgHelper.Warning("提示:" + ex.Message);
            }
        }
 
    }
}