From cd6496f2fadb885056c35a67fb3caf1a1a765ab1 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期五, 24 十月 2025 10:11:16 +0800
Subject: [PATCH] 补充文档

---
 DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs               |   37 ++++++++++++++++++
 DevApp/Gs.DevApp/DevFrm/QC/Frm_MesQaItemsDetect01.Designer.cs |    8 ++--
 DevApp/Gs.DevApp_Onboarding.md                                |   48 ++++++++++++++++++++++++
 3 files changed, 89 insertions(+), 4 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesQaItemsDetect01.Designer.cs b/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesQaItemsDetect01.Designer.cs
index 31068e4..9194b83 100644
--- a/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesQaItemsDetect01.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesQaItemsDetect01.Designer.cs
@@ -777,7 +777,7 @@
             this.gridColumn17.Width = 94;
             // 
             // gridColumn23
-            //
+            // 
             this.gridColumn23.Caption = "閲囪喘鍗曞彿";
             this.gridColumn23.FieldName = "cgdNo";
             this.gridColumn23.MinWidth = 25;
@@ -785,9 +785,9 @@
             this.gridColumn23.Visible = true;
             this.gridColumn23.VisibleIndex = 22;
             this.gridColumn23.Width = 94;
-            //
+            // 
             // gridColumn_cgdCreate
-            //
+            // 
             this.gridColumn_cgdCreate.Caption = "閲囪喘璁㈠崟鍒涘缓浜�";
             this.gridColumn_cgdCreate.FieldName = "cgdCreate";
             this.gridColumn_cgdCreate.MinWidth = 25;
@@ -795,7 +795,7 @@
             this.gridColumn_cgdCreate.Visible = true;
             this.gridColumn_cgdCreate.VisibleIndex = 23;
             this.gridColumn_cgdCreate.Width = 100;
-            //
+            // 
             // gridColumn30
             // 
             this.gridColumn30.Caption = "绫诲瀷";
diff --git a/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs b/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs
index 855e6c2..9b8268e 100644
--- a/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs
@@ -43,6 +43,8 @@
            }, tips);
             // 娣诲姞gridView1鐨凴owStyle浜嬩欢锛屽綋閫�璐ф爣璇唗h=1鏃舵暣琛屾爣绾�
             gridView1.RowStyle += GridView1_RowStyle;
+            // 娣诲姞gvMx1鐨凴owStyle浜嬩欢锛屽綋澶勭悊鎰忚clyj涓�"閫�璐�"鏃舵暣琛屾爣绾�
+            gvMx1.RowStyle += GvMx1_RowStyle;
             Gs.DevApp.ToolBox.UtilityHelper.SetTabParameter(gridView1, xtraTabControl1, pageBar1, (value) =>
             {
                 getModel(value);
@@ -141,6 +143,8 @@
                         gvMx1.BestFitColumns();
                         Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx1);
                         ConfigureOaColumns();
+                        // 鍒锋柊瑙嗗浘鏍峰紡锛屼娇RowStyle浜嬩欢鐢熸晥
+                        gvMx1.RefreshData();
                     }
                     catch (Exception ex)
                     {
@@ -176,6 +180,37 @@
                     {
                         e.Appearance.BackColor = System.Drawing.Color.Red;
                         e.Appearance.ForeColor = System.Drawing.Color.White;
+                    }
+                }
+            }
+        }
+
+        /// <summary>
+        /// gvMx1鐨凴owStyle浜嬩欢锛屽綋澶勭悊鎰忚clyj涓�"閫�璐�"鏃舵暣琛屾爣绾�
+        /// </summary>
+        private void GvMx1_RowStyle(object sender, RowStyleEventArgs e)
+        {
+            if (e.RowHandle >= 0)
+            {
+                var view = sender as GridView;
+                if (view != null)
+                {
+                    try
+                    {
+                        var clyjValue = view.GetRowCellValue(e.RowHandle, "clyj");
+                        if (clyjValue != null && !string.IsNullOrEmpty(clyjValue.ToString()))
+                        {
+                            string clyj = clyjValue.ToString().Trim();
+                            if (clyj == "閫�璐�")
+                            {
+                                e.Appearance.BackColor = System.Drawing.Color.Red;
+                                e.Appearance.ForeColor = System.Drawing.Color.White;
+                            }
+                        }
+                    }
+                    catch
+                    {
+                        // 濡傛灉鍒椾笉瀛樺湪锛屽拷鐣ラ敊璇�
                     }
                 }
             }
@@ -583,6 +618,8 @@
                         gvMx1.BestFitColumns();
                         Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx1);
                         ConfigureOaColumns();
+                        // 鍒锋柊瑙嗗浘鏍峰紡锛屼娇RowStyle浜嬩欢鐢熸晥
+                        gvMx1.RefreshData();
                     }
                     else
                     {
diff --git a/DevApp/Gs.DevApp_Onboarding.md b/DevApp/Gs.DevApp_Onboarding.md
new file mode 100644
index 0000000..bedb0e4
--- /dev/null
+++ b/DevApp/Gs.DevApp_Onboarding.md
@@ -0,0 +1,48 @@
+# Gs.DevApp 蹇�熶笂鎵嬫墜鍐�
+
+## 鐩綍閫熻
+- `DevFrm/`锛氬悇涓氬姟妯″潡鐨� WinForms 绐椾綋锛屼緥濡� `BasicData/Frm_MesWorkshopLine.cs`銆乣QC/Frm_FqcDetect01.cs`銆傛墍鏈夋煡璇笌 CRUD 鍏ュ彛閮藉湪杩欎簺绐椾綋閲屻��
+- `ToolBox/UtilityHelper.cs`锛氶�氱敤鏂规硶搴擄紝鍖呭惈 HTTP 璋冪敤銆佽〃鏍肩炕椤点�佹帶浠跺惎鐢ㄦ帶鍒剁瓑銆�
+- `ToolBox/MsgHelper.cs`锛氱粺涓�鐨勬秷鎭彁绀哄皝瑁呫��
+- `Entity/`锛氭帴鍙d氦浜掓ā鍨嬶紝渚嬪 `PageQueryModel`銆乣ReturnModel<T>`锛岀敤浜庡垎椤�/杩斿洖鍊艰В鏋愩��
+- `UserControl/UcToolBarMenu.cs`锛氬伐鍏锋潯鎺т欢锛屽畾涔変簡 `btnAddClick`銆乣btnSaveClick` 绛夊浐瀹氫簨浠躲��
+
+## 鏌ヨ鍥哄畾鍏ュ彛锛歡etPageList
+1. 瑙﹀彂閾捐矾锛歚pageBar1.PagerEvent`銆乣toolBarMenu1.btnLoadClick`銆乣toolBarMenu1.btnQueryClick` 鏈�缁堥兘浼氳皟鐢� `getPageList(int curPage)`锛堝弬瑙� `DevFrm\BasicData\Frm_Customer.cs:36`锛夈��
+2. 鏂规硶蹇呭仛涓変欢浜嬶細
+   - 鏋勯�� `PageQueryModel` 骞跺簭鍒楀寲锛歚new PageQueryModel(curPage, pageBar1.RowsCount, sortName, "asc", "", UtilityHelper.GetSearchWhere(_filterList))`銆�
+   - 璋冪敤鎺ュ彛锛歚UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json)`銆�
+   - 瑙f瀽骞剁粦瀹氾細`UtilityHelper.ReturnToTablePage(strReturn)` 鈫� 缁戝畾鍒� `gcMain1`锛屽悓姝� `pageBar1.TotalPages/RecordCount`銆�
+3. 濡傛灉瑕佹敼鏌ヨ鏉′欢锛屾煡 `_filterList` 鐨勬瀯寤烘祦绋嬶紙`UtilityHelper.GetDilter` + `ShowFilter` 鑷畾涔夌瓫閫夛級銆�
+
+## 鏄庣粏鍔犺浇锛歡etModel
+- 鍒囨崲鍒版槑缁嗛〉鎴栨墽琛岀紪杈戞椂锛宍UtilityHelper.SetTabParameter` 浼氭媺璧� `getModel(string guid)`銆�
+- 璇ユ柟娉曡皟鐢� `_webServiceName + "GetModel"`锛岄�氳繃 `UtilityHelper.SetValueByObj(layoutMx1.Controls, data, isEdit)` 缁欐帶浠跺洖濉紱褰� `toolBarMenu1.currentAction == "edit"` 鏃跺厑璁哥紪杈戙��
+- 鑻ョ湅鍒扳�滄槑缁嗕笉鍒锋柊鈥濓紝鍏堢‘璁� `lbGuid` 鏄惁璧嬪�笺�乣toolBarMenu1.currentAction` 鏄惁琚噸缃��
+
+## 鏂板/缂栬緫/淇濆瓨
+- 鍏ュ彛缁熶竴缁戝畾鍦ㄧ獥浣撴瀯閫犲嚱鏁颁腑锛�
+  - `btnAddClick`锛歚UtilityHelper.CleanValueByControl(layoutMx1.Controls, true)` 娓呯┖鎺т欢锛宍JumpTab(xtraTabControl1, 4)` 鍒囧埌缂栬緫椤点��
+  - `btnEdtClick`锛歚UtilityHelper.GetCurrentRow(...)` 璇诲彇褰撳墠琛岋紝`ChangeEnableByControl(..., true)` 寮�鍚紪杈戙��
+  - `btnSaveClick`锛氱粍瑁呭尶鍚嶅璞★紙閫氬父鍚� `Guid = UtilityHelper.ToGuid(lbGuid.Text)`锛夛紝鐒跺悗 `UtilityHelper.HttpPost("", _webServiceName + "EditModel", json)`銆傛垚鍔熷悗娓呴櫎 `currentAction`銆乣ChangeEnableByControl(..., false)` 骞舵彁绀恒��
+- 甯歌鏍¢獙涓庢寜閽姸鎬佸潎鍐欏湪 `ToolBarMenu1_btnSaveClick` 鍐咃紝鐩存帴鍦ㄥ搴旂獥浣撻噷璋冩暣銆�
+
+## 鍒犻櫎涓庡埛鏂�
+- 鍒犻櫎鍥哄畾鍦� `toolBarMenu1.btnDelClick`锛堝 `DevFrm\BasicData\Frm_MesWorkshopLine.cs:200`锛夛細
+  - 閫氳繃 `UtilityHelper.GetCurrentRow` 鎷� Guid 鈫� `MsgHelper.AskQuestion` 浜屾纭 鈫� 璋冪敤 `_webServiceName + "DeleteModel"`銆�
+  - 鎴愬姛鍚庨�氬父 `getPageList(pageBar1.CurrentPage)` 閲嶆柊鎷夊彇鍒楄〃銆�
+- 鍒锋柊鎸夐挳 `btnLoadClick` 榛樿鍒ゆ柇褰撳墠椤电锛氬湪鏄庣粏椤垫墽琛� `getModel(lbGuid.Text)`锛屽惁鍒欏洖鍒� `getPageList`銆�
+
+## 甯哥敤宸ュ叿鏂规硶閫熸煡
+- `UtilityHelper.HttpPost`锛氱粺涓�鐨勬帴鍙h姹傦紝鑷姩鍙� `App.config` 涓殑 `WebApiUrl`锛岃皟璇曟椂鍙厛鎵撳嵃 `_webServiceName` 纭 URL銆�
+- `UtilityHelper.ReturnToTablePage` / `ReturnToDynamic`锛氭妸鎺ュ彛 JSON 杞负 `ReturnModel<T>`锛涘綋鍒楄〃娓叉煋寮傚父鏃堕閫夋鏌� `rtnCode` 涓� `rtnMsg`銆�
+- `UtilityHelper.GetSearchWhere`锛氭妸 `FilterEntity` 鎷兼垚 SQL 鐗囨锛屼綅浜� `ToolBox/UtilityHelper.cs` 1679 琛岄檮杩戙��
+- `UtilityHelper.JumpTab` / `SetGridViewParameter` / `SetTabParameter`锛氳礋璐e垪琛ㄤ笌鏄庣粏椤电殑鑱斿姩锛涜嫢缈婚〉鎴栧弻鍑昏涓哄け鏁堬紝鍏堢湅杩欎簺璁剧疆鏄惁琚皟鐢ㄣ��
+- `UtilityHelper.ChangeEnableByControl`銆乣SetValueByObj`銆乣CleanValueByControl`锛氳〃鍗曟帶浠舵壒閲忚祴鍊�/绂佺敤鐨勯閫� API銆�
+- `ToolBox.MsgHelper`锛氭専甯︾粺涓�鏍峰紡鐨勬彁绀虹獥锛岄伩鍏嶇洿鎺ヤ娇鐢� `MessageBox.Show`銆�
+
+## 璋冭瘯灏忚创澹�
+- 涓嶇煡閬撴煇鍔熻兘鍦ㄥ摢涓獥浣擄紵浣跨敤 `rg "MesXxxManager"` 鎴� `rg "btnSaveClick"` 蹇�熷畾浣嶃��
+- 鎵�鏈夋煡璇㈤兘鍛藉悕涓� `getPageList`锛堝皬鍐� g锛夛紝鎵�浠� `rg "getPageList"` 鑳戒竴娆$湅娓呮墍鏈夌獥浣撶殑鍒嗛〉瀹炵幇銆�
+- `_webServiceName` 瀛楁鎸囧悜鍚庣鎺у埗鍣ㄥ墠缂�锛堝 `"MesWorkshopLineManager/"`锛夛紝瀹氫綅鎺ュ彛鏃跺彧闇�缁勫悎 `GetListPage`銆乣GetModel`銆乣EditModel`銆乣DeleteModel`銆�
+- 宸ュ叿鏉℃墍鏈夋寜閽簨浠剁殑鍘熷瀹氫箟鍦� `UserControl/UcToolBarMenu.cs`锛涘鏋滈渶瑕佹柊澧炴寜閽垨鎺掓煡绂佺敤閫昏緫锛屽彲浠ヤ粠杩欓噷涓嬫墜銆�

--
Gitblit v1.9.3