lvzb
4 years ago
8 changed files with 1076 additions and 1 deletions
@ -0,0 +1,127 @@ |
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_ARRIVE.aspx.cs" Inherits="SCP.Views.SupplierData.SCP_ARRIVE" %> |
|||
|
|||
<!DOCTYPE html> |
|||
|
|||
<html xmlns="http://www.w3.org/1999/xhtml"> |
|||
<head runat="server"> |
|||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
|||
<title></title> |
|||
</head> |
|||
<body> |
|||
<form id="form1" runat="server"> |
|||
<f:PageManager runat="server" AutoSizePanelID="Panel1" /> |
|||
<f:Panel ID="Panel1" runat="server" Title="" Layout="VBox"> |
|||
<Items> |
|||
<f:Form runat="server"> |
|||
<Toolbars> |
|||
<f:Toolbar ID="Toolbar2" runat="server"> |
|||
<Items> |
|||
<f:ToolbarSeparator runat="server" /> |
|||
<f:Button ID="Button3" runat="server" EnablePostBack="True" Text="刷新" Icon="Add" OnClientClick="location.reload();"> |
|||
</f:Button> |
|||
<f:Button ID="btnCheck" runat="server" EnablePostBack="True" OnClick="btnCheck_OnClick" Text="审核通过" Icon="Accept" OnClientClick="if(!confirm('是否要将勾选的单据通过审核?'))return false;"> |
|||
</f:Button> |
|||
<f:ToolbarSeparator runat="server" /> |
|||
<f:Button ID="btnOutput" runat="server" Text="导出" Icon="PageExcel" OnClick="btnOutput_OnClick"> |
|||
</f:Button> |
|||
<f:Button ID="btnDetail" runat="server" Text="明细" Icon="Zoom" OnClick="btnDetail_OnClick"> |
|||
</f:Button> |
|||
<f:Button ID="btnShow" runat="server" Text="显示查询面板" OnClick="btnShow_OnClick"> |
|||
</f:Button> |
|||
</Items> |
|||
</f:Toolbar> |
|||
</Toolbars> |
|||
</f:Form> |
|||
<f:GroupPanel runat="server" ID="gp1" Hidden="True" Layout="HBox" > |
|||
<Items> |
|||
<f:Form runat="server"> |
|||
<Rows> |
|||
<f:FormRow runat="server"> |
|||
<Items> |
|||
<f:DropDownList runat="server" ID="ddtype" Label="单据类型"> |
|||
<f:ListItem Text="-" Value="" /> |
|||
<f:ListItem Text="收货单" Value="收货单" /> |
|||
<f:ListItem Text="退货单" Value="退货单" /> |
|||
</f:DropDownList> |
|||
<f:DropDownList runat="server" ID="ddl" Label="状态"> |
|||
<f:ListItem Text="-" Value="" /> |
|||
<f:ListItem Text="已收货" Value="0" /> |
|||
<f:ListItem Text="审核通过" Value="1" /> |
|||
<f:ListItem Text="已开票" Value="2" /> |
|||
</f:DropDownList> |
|||
<f:TextBox ID="txtReceiveBill" runat="server" Label="单据号" /> |
|||
<f:TextBox ID="txtSupplier" runat="server" Label="供应商"/> |
|||
</Items> |
|||
</f:FormRow> |
|||
<f:FormRow runat="server"> |
|||
<Items> |
|||
<f:TextBox ID="txtPO" runat="server" Label="订单号"/> |
|||
<f:TextBox ID="AsnBillNum" runat="server" Label="发货单号" /> |
|||
<f:TextBox ID="OperName" runat="server" Label="操作员" /> |
|||
</Items> |
|||
</f:FormRow> |
|||
|
|||
<f:FormRow runat="server"> |
|||
<Items> |
|||
<f:Button runat="server" Text="关闭" OnClick="OnClick"></f:Button> |
|||
<f:Button ID="BtnSearch" runat="server" OnClick="BtnSearch_OnClick" Text="快速查找"> |
|||
</f:Button> |
|||
</Items> |
|||
</f:FormRow> |
|||
</Rows> |
|||
</f:Form> |
|||
</Items> |
|||
</f:GroupPanel> |
|||
|
|||
<f:Grid ID="Grid_V_TB_ARRIVE" ShowBorder="true" ShowHeader="true" PageSize="10" BoxFlex="1" CssClass="maingrid" |
|||
runat="server" DataKeyNames="UID,ArrvBillNum" IsDatabasePaging="True" AllowPaging="True" EnableRowDoubleClickEvent="True" |
|||
OnRowDoubleClick="Grid1_OnRowDoubleClick" SortDirection="DESC" SortField="ShipTime" EnableCheckBoxSelect="True" |
|||
EnableRowSelectEvent="False" OnPageIndexChange="Grid1_OnPageIndexChange"> |
|||
<PageItems> |
|||
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server"> |
|||
</f:ToolbarSeparator> |
|||
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:"> |
|||
</f:ToolbarText> |
|||
<f:DropDownList ID="ddlGridPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlGridPageSize_OnSelectedIndexChanged" |
|||
runat="server"> |
|||
<f:ListItem Text="10" Value="10" /> |
|||
<f:ListItem Text="20" Value="20" /> |
|||
<f:ListItem Text="50" Value="50" /> |
|||
<f:ListItem Text="100" Value="100" /> |
|||
</f:DropDownList> |
|||
</PageItems> |
|||
<Columns> |
|||
<f:BoundField runat="server" HeaderText="State" ColumnID="" DataField="State" Hidden="true" /> |
|||
<f:BoundField runat="server" HeaderText="状态" ColumnID="" DataField="State_DESC" /> |
|||
<f:BoundField runat="server" HeaderText="供应商" ColumnID="" DataField="VendName" /> |
|||
<f:BoundField runat="server" HeaderText="单据号" ColumnID="" DataField="ArrvBillNum" /> |
|||
<f:BoundField runat="server" HeaderText="订单号" ColumnID="" DataField="PoBillNum" /> |
|||
<f:BoundField runat="server" HeaderText="发货单号" ColumnID="" DataField="AsnBillNum" /> |
|||
|
|||
<f:BoundField runat="server" HeaderText="时间" ColumnID="" DataField="ShipTime" /> |
|||
<f:BoundField runat="server" HeaderText="地点" ColumnID="" DataField="Site_Desc" /> |
|||
<f:BoundField runat="server" HeaderText="类型" ColumnID="" DataField="BillType_DESC" hidden="true" /> |
|||
<f:BoundField runat="server" HeaderText="审核员" ColumnID="" DataField="OperName" /> |
|||
<f:BoundField runat="server" HeaderText="备注" ColumnID="" DataField="Remark" /> |
|||
</Columns> |
|||
</f:Grid> |
|||
</Items> |
|||
</f:Panel> |
|||
<f:Window runat="server" ID="Window1" Hidden="True" |
|||
WindowPosition="Center" IsModal="true" Title="详情" Target="Parent" EnableIFrame="true" |
|||
IFrameUrl="about:blank" Height="600px" Width="1024px" AutoScroll="True" /> |
|||
<f:Window ID="WindowUpload" runat="server" Hidden="True" |
|||
WindowPosition="Center" IsModal="true" Title="Popup Window 1" Target="Parent" EnableIFrame="true" |
|||
IFrameUrl="about:blank" Height="200px" Width="400px"> |
|||
</f:Window> |
|||
</form> |
|||
<script> |
|||
var basePath = '<%=ResolveUrl("~/")%>'; |
|||
|
|||
|
|||
function btnDetail_OnClick(id) { |
|||
parent.addExampleTab.apply(null, ['id', basePath + 'WarehouseData/ReceiveDetail.aspx?ID=' + 2, '明细', basePath + 'res/images/filetype/vs_aspx.png', undefined, true]); |
|||
} |
|||
</script> |
|||
</body> |
|||
</html> |
@ -0,0 +1,255 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Data.Entity.Migrations; |
|||
using System.Linq; |
|||
using System.Linq.Expressions; |
|||
using System.Web; |
|||
using System.Web.UI; |
|||
using System.Web.UI.WebControls; |
|||
using CK.SCP.Models.Enums; |
|||
using CK.SCP.Models.ScpEntity; |
|||
using CK.SCP.Utils; |
|||
using CK.SCP.Controller; |
|||
using FineUI; |
|||
using CK.SCP.Models.AppBoxEntity; |
|||
|
|||
namespace SCP.Views.SupplierData |
|||
{ |
|||
public partial class SCP_ARRIVE : PageBase |
|||
{ |
|||
protected void Page_Load(object sender, EventArgs e) |
|||
{ |
|||
IsRoleRight(); |
|||
|
|||
if (!IsPostBack) |
|||
{ |
|||
LoadData(); |
|||
} |
|||
} |
|||
public void IsRoleRight() |
|||
{ |
|||
if (!CurrentUser.RoleList.Contains("采购负责人")) |
|||
{ |
|||
Alert.Show("当前用户角色不能操作该模块!"); |
|||
return; |
|||
} |
|||
if (CurrentUser.FactoryList == null || CurrentUser.FactoryList.Count == 0) |
|||
{ |
|||
Alert.Show("当前用户未选择地点!"); |
|||
return; |
|||
} |
|||
} |
|||
public void LoadData() |
|||
{ |
|||
Grid_V_TB_ARRIVE.PageSize = ConfigHelper.PageSize; |
|||
ddlGridPageSize.SelectedValue = ConfigHelper.PageSize.ToString(); |
|||
BindData(); |
|||
} |
|||
|
|||
public void BindData() |
|||
{ |
|||
var _entity = new V_TB_ARRIVE(); |
|||
_entity.ArrvBillNum = txtReceiveBill.Text;//单据号
|
|||
if (!string.IsNullOrEmpty(ddl.SelectedValue)) |
|||
{ |
|||
//已收货:0,审核通过:1,已开票,2
|
|||
int istate = Convert.ToInt32(ddl.SelectedValue); |
|||
if (istate == 0) |
|||
{ |
|||
_entity.State = 0; |
|||
} |
|||
else if (istate == 1) |
|||
{ |
|||
_entity.State = 1; |
|||
} |
|||
else if (istate == 2) |
|||
{ |
|||
_entity.State = 2; |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
_entity.State = -1; |
|||
} |
|||
|
|||
if (!string.IsNullOrEmpty(ddtype.SelectedValue)) |
|||
{ |
|||
string istate = ddtype.SelectedValue; |
|||
if (istate == "收货单") |
|||
{ |
|||
_entity.BillType_DESC = "收货单"; |
|||
} |
|||
else if (istate == "退货单") |
|||
{ |
|||
_entity.BillType_DESC = "退货单"; |
|||
} |
|||
} |
|||
if (CurrentUser.VenderList != null && CurrentUser.VenderList.Count > 0) |
|||
{ |
|||
_entity.VendId = CurrentUser.VenderList[0]; |
|||
} |
|||
if (CurrentUser.FactoryList != null && CurrentUser.FactoryList.Count > 0) |
|||
{ |
|||
_entity.Site = CurrentUser.FactoryList[0]; |
|||
} |
|||
_entity.VendName = txtSupplier.Text;//供应商
|
|||
_entity.PoBillNum = txtPO.Text;//订单号
|
|||
_entity.AsnBillNum = AsnBillNum.Text;//发货单号
|
|||
_entity.OperName = OperName.Text;//操作员
|
|||
|
|||
SCP_RECIVECE_CONTROLLER.Get_V_TB_ARRIVE_List(_entity, (ret) => |
|||
{ |
|||
if (ret.State == ReturnStatus.Succeed) |
|||
{ |
|||
Grid_V_TB_ARRIVE.RecordCount = ret.Result.Count(); |
|||
var _list = SortAndPage(ret.Result, Grid_V_TB_ARRIVE); |
|||
Grid_V_TB_ARRIVE.DataSource = _list; |
|||
Grid_V_TB_ARRIVE.DataBind(); |
|||
} |
|||
}); |
|||
|
|||
} |
|||
protected void ddlGridPageSize_OnSelectedIndexChanged(object sender, EventArgs e) |
|||
{ |
|||
Grid_V_TB_ARRIVE.PageSize = Convert.ToInt32(ddlGridPageSize.SelectedValue); |
|||
BindData(); |
|||
} |
|||
protected void Grid1_OnRowDoubleClick(object sender, GridRowClickEventArgs e) |
|||
{ |
|||
string ID = GetSelectedDataKey(Grid_V_TB_ARRIVE, 1); |
|||
string STATE = Grid_V_TB_ARRIVE.Rows[e.RowIndex].Values[0].ToString(); |
|||
|
|||
if (string.IsNullOrEmpty(STATE)) |
|||
{ |
|||
STATE = "0"; |
|||
} |
|||
if (STATE != "0" && STATE != "1" && STATE != "2") |
|||
{ |
|||
STATE = "0"; |
|||
} |
|||
|
|||
string url = String.Format("../SupplierData/SCP_ARRIVE_DETAIL.aspx?ID={0}&STATE={1}", ID, STATE); |
|||
PageContext.RegisterStartupScript(Window1.GetShowReference(url)); |
|||
} |
|||
|
|||
//明细
|
|||
protected void btnDetail_OnClick(object sender, EventArgs e) |
|||
{ |
|||
List<int> listids = GetSelectedDataKeyIDs(Grid_V_TB_ARRIVE); |
|||
if (listids.Count == 0) |
|||
{ |
|||
PageContext.RegisterStartupScript(Alert.GetShowInParentReference("请勾选要查看明细的单据")); |
|||
return; |
|||
} |
|||
|
|||
if (listids.Count > 1) |
|||
{ |
|||
PageContext.RegisterStartupScript(Alert.GetShowInParentReference("只能查看一条单据的明细")); |
|||
return; |
|||
} |
|||
|
|||
string STATE = Grid_V_TB_ARRIVE.SelectedRow.Values[0].ToString(); |
|||
|
|||
if (string.IsNullOrEmpty(STATE)) |
|||
{ |
|||
STATE = "0"; |
|||
} |
|||
if (STATE != "0" && STATE != "1" && STATE != "2") |
|||
{ |
|||
STATE = "0"; |
|||
} |
|||
|
|||
string roleID = GetSelectedDataKey(Grid_V_TB_ARRIVE, 1); |
|||
string url = String.Format("../SupplierData/SCP_ARRIVE_DETAIL.aspx?ID={0}&STATE={1}", roleID, STATE); |
|||
PageContext.RegisterStartupScript(Window1.GetShowReference(url)); |
|||
} |
|||
//查询
|
|||
protected void BtnSearch_OnClick(object sender, EventArgs e) |
|||
{ |
|||
BindData(); |
|||
} |
|||
|
|||
//显示面板
|
|||
protected void btnShow_OnClick(object sender, EventArgs e) |
|||
{ |
|||
gp1.Hidden = false; |
|||
} |
|||
//关闭面板
|
|||
protected void OnClick(object sender, EventArgs e) |
|||
{ |
|||
gp1.Hidden = true; |
|||
} |
|||
//审核通过
|
|||
protected void btnCheck_OnClick(object sender, EventArgs e) |
|||
{ |
|||
ICollection<Role> Roles = CurrentUser.Roles; |
|||
string strUserName = CurrentUser.ChineseName; |
|||
|
|||
List<int> listids = GetSelectedDataKeyIDs(Grid_V_TB_ARRIVE); |
|||
if (listids.Count == 0) |
|||
{ |
|||
PageContext.RegisterStartupScript(Alert.GetShowInParentReference("请勾选要审核的单据")); |
|||
return; |
|||
} |
|||
|
|||
var _ls = new List<string>(); |
|||
int[] selections = Grid_V_TB_ARRIVE.SelectedRowIndexArray; |
|||
for (int i = 0, count = Grid_V_TB_ARRIVE.Rows.Count; i < count; i++) |
|||
{ |
|||
if (selections.Contains(i)) |
|||
{ |
|||
object[] rowDataKeys = Grid_V_TB_ARRIVE.DataKeys[i]; |
|||
_ls.Add(rowDataKeys[1] as string); |
|||
} |
|||
} |
|||
var ret = SCP_RECIVECE_CONTROLLER.Save_TB_ARRIVE_STATE(_ls, ReceiveState.Check, strUserName); |
|||
PageContext.RegisterStartupScript(Alert.GetShowInParentReference("审核成功")); |
|||
BindData(); |
|||
} |
|||
|
|||
protected void Grid1_OnPageIndexChange(object sender, GridPageEventArgs e) |
|||
{ |
|||
Grid_V_TB_ARRIVE.PageIndex = e.NewPageIndex; |
|||
BindData(); |
|||
} |
|||
//导出
|
|||
protected void btnOutput_OnClick(object sender, EventArgs e) |
|||
{ |
|||
var _entity = new V_TB_ARRIVE(); |
|||
_entity.ArrvBillNum = txtReceiveBill.Text; |
|||
if (!string.IsNullOrEmpty(ddl.SelectedValue)) |
|||
{ |
|||
_entity.State = Convert.ToInt32(ddl.SelectedValue); |
|||
} |
|||
else |
|||
{ |
|||
_entity.State = -1; |
|||
} |
|||
_entity.PoBillNum = txtPO.Text; |
|||
_entity.AsnBillNum = AsnBillNum.Text; |
|||
_entity.OperName = OperName.Text; |
|||
SCP_RECIVECE_CONTROLLER.Get_V_TB_ARRIVE_List(_entity, (ret) => |
|||
{ |
|||
if (ret.State == ReturnStatus.Succeed) |
|||
{ |
|||
Dictionary<string, string> cellheader = new Dictionary<string, string> |
|||
{ |
|||
{ "State_DESC", "状态" }, |
|||
//{ "AsnBillNum", "单据类型" },
|
|||
{ "VendName", "供应商" }, |
|||
{ "ArrvBillNum", "单据号" }, |
|||
{ "PoBillNum", "订单号" }, |
|||
{ "AsnBillNum", "发货单号" }, |
|||
{ "ShipTime", "时间" }, |
|||
{ "Site_Desc", "地点" }, |
|||
{ "BillType_DESC", "类型" }, |
|||
{ "OperName", "审核员" }, |
|||
{ "Remark", "备注" }, |
|||
}; |
|||
|
|||
string url = EntityListToExcel2003(cellheader, ret.Result.ToList(), "审核明细"); |
|||
} |
|||
}); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,224 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <自动生成>
|
|||
// 此代码由工具生成。
|
|||
//
|
|||
// 对此文件的更改可能导致不正确的行为,如果
|
|||
// 重新生成代码,则所做更改将丢失。
|
|||
// </自动生成>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
namespace SCP.Views.SupplierData |
|||
{ |
|||
|
|||
|
|||
public partial class SCP_ARRIVE |
|||
{ |
|||
|
|||
/// <summary>
|
|||
/// form1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::System.Web.UI.HtmlControls.HtmlForm form1; |
|||
|
|||
/// <summary>
|
|||
/// Panel1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Panel Panel1; |
|||
|
|||
/// <summary>
|
|||
/// Toolbar2 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Toolbar Toolbar2; |
|||
|
|||
/// <summary>
|
|||
/// Button3 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Button Button3; |
|||
|
|||
/// <summary>
|
|||
/// btnCheck 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Button btnCheck; |
|||
|
|||
/// <summary>
|
|||
/// btnOutput 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Button btnOutput; |
|||
|
|||
/// <summary>
|
|||
/// btnDetail 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Button btnDetail; |
|||
|
|||
/// <summary>
|
|||
/// btnShow 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Button btnShow; |
|||
|
|||
/// <summary>
|
|||
/// gp1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.GroupPanel gp1; |
|||
|
|||
/// <summary>
|
|||
/// ddtype 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.DropDownList ddtype; |
|||
|
|||
/// <summary>
|
|||
/// ddl 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.DropDownList ddl; |
|||
|
|||
/// <summary>
|
|||
/// txtReceiveBill 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtReceiveBill; |
|||
|
|||
/// <summary>
|
|||
/// txtSupplier 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtSupplier; |
|||
|
|||
/// <summary>
|
|||
/// txtPO 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtPO; |
|||
|
|||
/// <summary>
|
|||
/// AsnBillNum 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox AsnBillNum; |
|||
|
|||
/// <summary>
|
|||
/// OperName 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox OperName; |
|||
|
|||
/// <summary>
|
|||
/// BtnSearch 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Button BtnSearch; |
|||
|
|||
/// <summary>
|
|||
/// Grid_V_TB_ARRIVE 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Grid Grid_V_TB_ARRIVE; |
|||
|
|||
/// <summary>
|
|||
/// ToolbarSeparator1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.ToolbarSeparator ToolbarSeparator1; |
|||
|
|||
/// <summary>
|
|||
/// ToolbarText1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.ToolbarText ToolbarText1; |
|||
|
|||
/// <summary>
|
|||
/// ddlGridPageSize 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.DropDownList ddlGridPageSize; |
|||
|
|||
/// <summary>
|
|||
/// Window1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Window Window1; |
|||
|
|||
/// <summary>
|
|||
/// WindowUpload 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Window WindowUpload; |
|||
} |
|||
} |
@ -0,0 +1,115 @@ |
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_ARRIVE_DETAIL.aspx.cs" Inherits="SCP.Views.SupplierData.SCP_ARRIVE_DETAIL" %> |
|||
|
|||
<!DOCTYPE html> |
|||
|
|||
<html xmlns="http://www.w3.org/1999/xhtml"> |
|||
<head runat="server"> |
|||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
|||
<title></title> |
|||
</head> |
|||
<body> |
|||
<form id="form1" runat="server"> |
|||
<f:PageManager runat="server" AutoSizePanelID="Panel1" /> |
|||
<f:Panel ID="Panel1" runat="server" Title="" Layout="VBox"> |
|||
<Toolbars> |
|||
<f:Toolbar ID="Toolbar2" runat="server"> |
|||
<Items> |
|||
<f:Button ID="Button1" runat="server" EnablePostBack="True" Text="刷新" Icon="Add" OnClientClick="location.reload();"> |
|||
</f:Button> |
|||
<%-- <f:Button ID="btnCheck" runat="server" OnClick="btnCheck_OnClick" Text="审核通过" Icon="Accept" OnClientClick="if(!confirm('是否要审核通过?'))return false;" Hidden="True" EnablePostBack="True"> |
|||
</f:Button>--%> |
|||
</Items> |
|||
</f:Toolbar> |
|||
</Toolbars> |
|||
<Items> |
|||
<f:Form runat="server" Title=""> |
|||
<Items> |
|||
<f:FormRow runat="server" ColumnWidths="33% 33% 33%"> |
|||
<Items> |
|||
<f:TextBox ID="txtBillNo" runat="server" Label="单据号" Text="" Width="600"> |
|||
</f:TextBox> |
|||
<f:TextBox ID="txtShipBillNo" runat="server" Label="发货单" Text="" Width="600"> |
|||
</f:TextBox> |
|||
<f:TextBox ID="txtPlanBillNo" runat="server" Label="订单号" Text="" Readonly="true" /> |
|||
</Items> |
|||
</f:FormRow> |
|||
<f:FormRow runat="server" ColumnWidths="33% 33% 33%"> |
|||
<Items> |
|||
<f:TextBox ID="txtState" runat="server" Label="状态" Text="" Readonly="true" /> |
|||
<f:TextBox ID="txtSupplierName" runat="server" Label="供应商" Text=""> |
|||
</f:TextBox> |
|||
<f:Label runat="server" /> |
|||
|
|||
</Items> |
|||
</f:FormRow> |
|||
<f:FormRow runat="server" ColumnWidths="33% 33% 33%"> |
|||
<Items> |
|||
<f:TextBox ID="txtDeliveryAddress" runat="server" Label="地址" Text=""> |
|||
</f:TextBox> |
|||
<f:TextBox ID="txtReceiveTime" runat="server" Label="时间" Text=""> |
|||
</f:TextBox> |
|||
</Items> |
|||
</f:FormRow> |
|||
<f:FormRow runat="server" ColumnWidths="33% 33% 33%"> |
|||
<Items> |
|||
<f:TextBox ID="txtUserName" runat="server" Label="审核员" Text="" Readonly="true" /> |
|||
<f:TextBox ID="txtMemo" runat="server" Label="备注" Text=""> |
|||
</f:TextBox> |
|||
<f:Label ID="TextBox2" runat="server" Text=""> |
|||
</f:Label> |
|||
</Items> |
|||
</f:FormRow> |
|||
</Items> |
|||
</f:Form> |
|||
<f:Toolbar runat="server"> |
|||
<Items> |
|||
<f:ToolbarSeparator runat="server" /> |
|||
<f:Button ID="btnOutput" runat="server" Text="导出" Icon="PageExcel" OnClick="btnOutput_OnClick"> |
|||
</f:Button> |
|||
<f:ToolbarFill runat="server" /> |
|||
</Items> |
|||
</f:Toolbar> |
|||
<f:Grid ID="Grid_V_TB_ARRIVE_DETAIL" ShowBorder="true" ShowHeader="true" PageSize="10" BoxFlex="1" CssClass="maingrid" |
|||
runat="server" DataKeyNames="" IsDatabasePaging="True" AllowPaging="True" SortField="PartCode" SortDirection="DESC" |
|||
EnableRowSelectEvent="False" AutoScroll="True" OnPageIndexChange="Grid_V_TB_ARRIVE_DETAIL_PageIndexChange"> |
|||
<PageItems> |
|||
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server"> |
|||
</f:ToolbarSeparator> |
|||
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:"> |
|||
</f:ToolbarText> |
|||
<f:DropDownList ID="ddlGridPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlGridPageSize_SelectedIndexChanged" |
|||
runat="server"> |
|||
<f:ListItem Text="10" Value="10" /> |
|||
<f:ListItem Text="40" Value="40" /> |
|||
<f:ListItem Text="80" Value="80" /> |
|||
<f:ListItem Text="100" Value="100" /> |
|||
<f:ListItem Text="200" Value="200" /> |
|||
</f:DropDownList> |
|||
</PageItems> |
|||
<Columns> |
|||
|
|||
<f:BoundField DataField="ID" HeaderText="ID" ColumnID="ID" Hidden="true" /> |
|||
<f:BoundField SortField="ArrvBillNum" DataField="ArrvBillNum" HeaderText="单据号" ColumnID="Line" Width="100px" /> |
|||
<f:BoundField SortField="AsnBillNum" DataField="AsnBillNum" HeaderText="发货单号" ColumnID="ProductCode" Width="120px" /> |
|||
<f:BoundField SortField="PoBillNum" DataField="PoBillNum" HeaderText="订单号" ColumnID="ProductName" Width="100px" /> |
|||
<f:BoundField SortField="PoLine" DataField="PoLine" HeaderText="订单行" ColumnID="UnitCode" Width="60px" /> |
|||
<f:BoundField SortField="PartCode" DataField="PartCode" HeaderText="零件号" ColumnID="PackageQty" Width="100px" /> |
|||
<f:BoundField SortField="PartDesc1" DataField="PartDesc1" HeaderText="零件名称" ColumnID="CurrencyCode" Width="200px" /> |
|||
<f:BoundField SortField="Unit" DataField="Unit" HeaderText="单位" ColumnID="Price" Width="80px" /> |
|||
<f:BoundField SortField="Qty" DataField="Qty" HeaderText="数量" ColumnID="PlanQty" Width="60px" /> |
|||
<f:BoundField SortField="ShipTime" DataField="ShipTime" HeaderText="时间" ColumnID="ShipQty" Width="60px" DataFormatString="{0:yy-MM-dd}"/> |
|||
<f:BoundField SortField="Remark" DataField="Remark" HeaderText="备注" ColumnID="ReceiveQty" Width="60px" /> |
|||
</Columns> |
|||
</f:Grid> |
|||
</Items> |
|||
</f:Panel> |
|||
<f:Window runat="server" ID="Window1" Hidden="True" |
|||
WindowPosition="Center" IsModal="true" Title="Popup Window 1" Target="Parent" EnableIFrame="true" |
|||
IFrameUrl="about:blank" Height="640px" Width="700px" /> |
|||
<f:Window ID="WindowUpload" runat="server" Hidden="True" |
|||
WindowPosition="Center" IsModal="true" Title="Popup Window 1" Target="Parent" EnableIFrame="true" |
|||
IFrameUrl="about:blank" Height="200px" Width="400px"> |
|||
</f:Window> |
|||
</form> |
|||
</body> |
|||
</html> |
@ -0,0 +1,132 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Linq.Expressions; |
|||
using System.Web; |
|||
using System.Web.UI; |
|||
using System.Web.UI.WebControls; |
|||
using CK.SCP.Models.Enums; |
|||
using CK.SCP.Models.ScpEntity; |
|||
using CK.SCP.Utils; |
|||
using CK.SCP.Controller; |
|||
using FineUI; |
|||
|
|||
|
|||
namespace SCP.Views.SupplierData |
|||
{ |
|||
public partial class SCP_ARRIVE_DETAIL : PageBase |
|||
{ |
|||
|
|||
protected void Page_Load(object sender, EventArgs e) |
|||
{ |
|||
if (!IsPostBack) |
|||
{ |
|||
LoadData(); |
|||
BindData(); |
|||
} |
|||
} |
|||
|
|||
public void LoadData() |
|||
{ |
|||
var _receive = new V_TB_ARRIVE(); |
|||
_receive.ArrvBillNum = GetQueryValue("ID"); |
|||
if (GetQueryValue("STATE") != null) |
|||
{ |
|||
_receive.State = int.Parse(GetQueryValue("STATE")); |
|||
} |
|||
|
|||
SCP_RECIVECE_CONTROLLER.Get_V_TB_ARRIVE_List(_receive, (ret) => { |
|||
if (ret.State == ReturnStatus.Succeed) |
|||
{ |
|||
var _rec = ret.Result.FirstOrDefault(); |
|||
txtState.Text = _rec.State_DESC; |
|||
txtBillNo.Text = _rec.ArrvBillNum; |
|||
txtReceiveTime.Text = Convert.ToDateTime(_rec.ShipTime).ToString("yyyy-MM-dd"); |
|||
txtShipBillNo.Text = _rec.AsnBillNum; |
|||
txtPlanBillNo.Text = _rec.PoBillNum; |
|||
txtUserName.Text = _rec.OperName; |
|||
txtSupplierName.Text = _rec.VendName; |
|||
txtMemo.Text = _rec.Remark; |
|||
|
|||
txtDeliveryAddress.Text = _rec.Site_Desc; |
|||
} |
|||
|
|||
}); |
|||
} |
|||
|
|||
public void BindData() |
|||
{ |
|||
var _receive = new V_TB_ARRIVE_DETAIL(); |
|||
_receive.ArrvBillNum = GetQueryValue("ID"); |
|||
SCP_RECIVECE_CONTROLLER.Get_V_TB_ARRIVE_DETAIL_List(_receive, (ret) => |
|||
{ |
|||
if (ret.State == ReturnStatus.Succeed) |
|||
{ |
|||
|
|||
Grid_V_TB_ARRIVE_DETAIL.RecordCount = ret.Result.Count(); |
|||
var _ls = SortAndPage(ret.Result, Grid_V_TB_ARRIVE_DETAIL); |
|||
|
|||
Grid_V_TB_ARRIVE_DETAIL.DataSource = _ls; |
|||
Grid_V_TB_ARRIVE_DETAIL.DataBind(); |
|||
} |
|||
}); |
|||
} |
|||
protected void btnCheck_OnClick(object sender, EventArgs e) |
|||
{ |
|||
//try
|
|||
//{
|
|||
// string id = GetQueryValue("ID");
|
|||
// _Model = ReceiveDetailController.GetlistByBillNum(id);
|
|||
// bool flag = ReceiveDetailController.UpdateReceive(_Model);
|
|||
// if (flag)
|
|||
// PageContext.Refresh();
|
|||
//}
|
|||
//catch (Exception ex)
|
|||
//{
|
|||
// Alert.ShowInTop(ex.Message);
|
|||
//}
|
|||
} |
|||
protected void Grid_V_TB_ARRIVE_DETAIL_PageIndexChange(object sender, GridPageEventArgs e) |
|||
{ |
|||
BindData(); |
|||
} |
|||
|
|||
protected void ddlGridPageSize_SelectedIndexChanged(object sender, EventArgs e) |
|||
{ |
|||
Grid_V_TB_ARRIVE_DETAIL.PageSize = Convert.ToInt32(ddlGridPageSize.SelectedValue); |
|||
|
|||
BindData(); |
|||
} |
|||
//导出
|
|||
protected void btnOutput_OnClick(object sender, EventArgs e) |
|||
{ |
|||
var _receive = new V_TB_ARRIVE_DETAIL(); |
|||
_receive.ArrvBillNum = GetQueryValue("ID"); |
|||
SCP_RECIVECE_CONTROLLER.Get_V_TB_ARRIVE_DETAIL_List(_receive, (ret) => |
|||
{ |
|||
if (ret.State == ReturnStatus.Succeed) |
|||
{ |
|||
|
|||
Dictionary<string, string> cellheader = new Dictionary<string, string> { |
|||
{ "ArrvBillNum", "单据号" }, |
|||
{ "AsnBillNum", "发货单号" }, |
|||
{ "PoBillNum", "订单号" }, |
|||
{ "PoLine", "订单行" }, |
|||
{ "PartCode", "零件号" }, |
|||
{ "PartDesc1", "零件名称" }, |
|||
{ "Unit", "单位" }, |
|||
{ "Qty", "数量" }, |
|||
//{ "ReceivedQty", "已开票数量" },
|
|||
{ "ShipTime", "时间" }, |
|||
{ "Remark", "备注" }, |
|||
}; |
|||
|
|||
string url = EntityListToExcel2003(cellheader, ret.Result.ToList(), "审核明细"); |
|||
|
|||
} |
|||
}); |
|||
|
|||
|
|||
} |
|||
} |
|||
} |
@ -0,0 +1,206 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <自动生成>
|
|||
// 此代码由工具生成。
|
|||
//
|
|||
// 对此文件的更改可能导致不正确的行为,如果
|
|||
// 重新生成代码,则所做更改将丢失。
|
|||
// </自动生成>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
namespace SCP.Views.SupplierData |
|||
{ |
|||
|
|||
|
|||
public partial class SCP_ARRIVE_DETAIL |
|||
{ |
|||
|
|||
/// <summary>
|
|||
/// form1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::System.Web.UI.HtmlControls.HtmlForm form1; |
|||
|
|||
/// <summary>
|
|||
/// Panel1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Panel Panel1; |
|||
|
|||
/// <summary>
|
|||
/// Toolbar2 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Toolbar Toolbar2; |
|||
|
|||
/// <summary>
|
|||
/// Button1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Button Button1; |
|||
|
|||
/// <summary>
|
|||
/// txtBillNo 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtBillNo; |
|||
|
|||
/// <summary>
|
|||
/// txtShipBillNo 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtShipBillNo; |
|||
|
|||
/// <summary>
|
|||
/// txtPlanBillNo 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtPlanBillNo; |
|||
|
|||
/// <summary>
|
|||
/// txtState 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtState; |
|||
|
|||
/// <summary>
|
|||
/// txtSupplierName 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtSupplierName; |
|||
|
|||
/// <summary>
|
|||
/// txtDeliveryAddress 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtDeliveryAddress; |
|||
|
|||
/// <summary>
|
|||
/// txtReceiveTime 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtReceiveTime; |
|||
|
|||
/// <summary>
|
|||
/// txtUserName 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtUserName; |
|||
|
|||
/// <summary>
|
|||
/// txtMemo 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.TextBox txtMemo; |
|||
|
|||
/// <summary>
|
|||
/// TextBox2 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Label TextBox2; |
|||
|
|||
/// <summary>
|
|||
/// btnOutput 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Button btnOutput; |
|||
|
|||
/// <summary>
|
|||
/// Grid_V_TB_ARRIVE_DETAIL 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Grid Grid_V_TB_ARRIVE_DETAIL; |
|||
|
|||
/// <summary>
|
|||
/// ToolbarSeparator1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.ToolbarSeparator ToolbarSeparator1; |
|||
|
|||
/// <summary>
|
|||
/// ToolbarText1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.ToolbarText ToolbarText1; |
|||
|
|||
/// <summary>
|
|||
/// ddlGridPageSize 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.DropDownList ddlGridPageSize; |
|||
|
|||
/// <summary>
|
|||
/// Window1 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Window Window1; |
|||
|
|||
/// <summary>
|
|||
/// WindowUpload 控件。
|
|||
/// </summary>
|
|||
/// <remarks>
|
|||
/// 自动生成的字段。
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|||
/// </remarks>
|
|||
protected global::FineUI.Window WindowUpload; |
|||
} |
|||
} |
Loading…
Reference in new issue