using CefSharp;
|
using DevExpress.Data;
|
using DevExpress.XtraEditors;
|
using DevExpress.XtraGrid.Views.Grid;
|
using Gs.DevApp.Entity;
|
using Gs.DevApp.ToolBox;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Windows.Forms;
|
using System.Windows.Input;
|
|
namespace Gs.DevApp.UserControl
|
{
|
public partial class SelectCgDhMx : XtraForm
|
{
|
private readonly string _webServiceName = "MesInvItemArnManager/";
|
private string suppId = "";
|
private string receiveOrgId = "";
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="_billNo">到货单号</param>
|
|
public SelectCgDhMx(string _billNo)
|
{
|
InitializeComponent();
|
Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, null, "", null, null, false);
|
getPageList(1, _billNo);
|
btnIn.Click += (s, e) =>
|
{
|
gridView1.PostEditor();
|
gridView1.UpdateCurrentRow();
|
var selectedGuids = new List<string>(); // 存储勾选的guid集合
|
DataTable dt = this.gcMain.DataSource as DataTable;
|
|
if (dt != null)
|
{
|
foreach (DataRow dr in dt.Rows)
|
{
|
string checkBox = dr["chkInt"].ToString();
|
string _guid = dr["guid"].ToString();
|
if (Gs.DevApp.ToolBox.UtilityHelper.ToCheck(checkBox))
|
{
|
selectedGuids.Add(_guid); // 收集勾选的guid
|
}
|
}
|
}
|
|
// 关键:调用SelectMxBtn接口,传入勾选的guid集合
|
CallSelectMxBtnApi(selectedGuids);
|
|
// 回传数据并关闭表单(保持原有逻辑)
|
UpdateParent?.Invoke(this, new UpdateParentEventArgs { StringList = selectedGuids });
|
Close();
|
};
|
}
|
|
/// <summary>
|
/// 选择后的回调事件
|
/// </summary>
|
public event EventHandler<UpdateParentEventArgs> UpdateParent;
|
|
/// <summary>
|
/// </summary>
|
/// <param name="curPage">第几页</param>
|
/// <param name="pageSize">每页几条</param>
|
private void getPageList(int curPage,string billNo)
|
{
|
|
var _obj = new
|
{
|
currentPage = curPage,
|
everyPageSize = 999999,
|
sortName = "",
|
keyWhere = "",
|
// inBusType = (radioGroup1.SelectedIndex + 1),//1是采购,2是委外
|
// inReceiveOrgId = this.receiveOrgId,//组织
|
inBusType = "",
|
inReceiveOrgId = "",
|
inSupId = billNo//供应商
|
|
};
|
var json = JsonConvert.SerializeObject(_obj);
|
try
|
{
|
var strReturn = UtilityHelper.HttpPost("",_webServiceName + "SelectMxForm", 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);
|
}
|
}
|
|
/// <summary>
|
/// 调用SelectMxBtn接口,传递勾选的guid集合
|
/// </summary>
|
/// <param name="selectedGuids">勾选的记录guid列表</param>
|
private void CallSelectMxBtnApi(List<string> selectedGuids)
|
{
|
if (selectedGuids == null || selectedGuids.Count == 0)
|
{
|
MsgHelper.Warning("请先勾选需要处理的明细");
|
return;
|
}
|
// 构建接口请求参数(与SelectMxForm接口格式保持一致)
|
var requestParams = new{ guidList = selectedGuids};
|
try
|
{
|
// 序列化参数为JSON
|
string jsonParams = JsonConvert.SerializeObject(requestParams);
|
|
// 调用后端SelectMxBtn接口(与SelectMxForm同样使用HttpPost)
|
string apiUrl = _webServiceName + "SelectMxBtn"; // 接口地址
|
string response = UtilityHelper.HttpPost("", apiUrl, jsonParams);
|
var _rtn = UtilityHelper.ReturnToDynamic(response);
|
if (_rtn.rtnCode > 0)
|
{
|
MsgHelper.ShowInformation("提示:" + _rtn.rtnMsg);
|
}
|
else
|
MsgHelper.ShowError("提示:" + _rtn.rtnMsg);
|
}
|
catch (Exception ex)
|
{
|
MsgHelper.ShowError("提示:" + ex.Message);
|
}
|
}
|
|
|
}
|
}
|