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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PlaceMaterial.aspx.cs" Inherits="iWareWms.View.SL.PlaceMaterial.PlaceMaterial" %>
 
<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="~\View\BCD\BarcodeTemplate\BarcodeTemplatePropData.ashx" />
    <style>
        .mytable {
            border-width: 1px;
            border-style: solid;
            border-collapse: separate;
            border-spacing: 0;
            border-bottom-width: 0;
            border-right-width: 0;
        }
        
        .mytable th,
            .mytable td {
                padding: 5px;
                text-align: left;
                border-bottom-width: 1px;
                border-bottom-style: solid;
                border-right-width: 1px;
                border-right-style: solid;
                width: 100px;
            }
    </style>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server">
        </f:PageManager>
        <f:Panel ID="Panel1" runat="server" Layout="VBox" ShowBorder="false" ShowHeader="false">
            <Items>
                <f:Form ID="Form2" runat="server" BodyPadding="5px" ShowBorder="false" ShowHeader="false">
                    <Rows>
                        <f:FormRow runat="server">
                            <Items>
                                <f:TextBox ID="tbName" Label="物料名称" runat="server" EmptyText="在物料名称中搜索" NextFocusControl="SearchBtn" LabelWidth="80px">
                                </f:TextBox>
                                <f:TextBox ID="tbMaterialCode" Label="物料编号" runat="server" EmptyText="在物料编号中搜索" NextFocusControl="SearchBtn" LabelWidth="80px">
                                </f:TextBox>
                                 <f:TextBox ID="tbPlaceCode" Label="所属库位" runat="server" EmptyText="在库位编号中搜索" NextFocusControl="SearchBtn" LabelWidth="80px">
                                </f:TextBox>
                            </Items>
                        </f:FormRow>
                        <f:FormRow runat="server">
                            <Items>
                         <%--       <f:DropDownList ID="ddlTypeName" runat="server" Label="物料类型" AutoPostBack="true" LabelWidth="80px" OnSelectedIndexChanged="Search" AutoSelectFirstItem="true">
                                </f:DropDownList>--%>
                           
                                 <f:NumberBox ID="nbLength" Label="长" runat="server" EmptyText="请输入数字" NextFocusControl="SearchBtn" LabelWidth="40px">
                                </f:NumberBox>
                                <f:NumberBox ID="nbWind" Label="宽" runat="server" EmptyText="请输入数字" NextFocusControl="SearchBtn" LabelWidth="40px">
                                </f:NumberBox>
                                 <f:NumberBox ID="nbThick" Label="厚" runat="server" EmptyText="请输入数字" NextFocusControl="SearchBtn" LabelWidth="40px">
                                </f:NumberBox>
                                <f:Button ID="SearchBtn" runat="server" Text="搜索" OnClick="Search" IconAlign="Right"></f:Button>
                             </Items>
                        </f:FormRow> 
          <%--              <f:FormRow runat="server">
                            <Items>
                                 <f:DropDownList ID="ddlPlaceTypeName" runat="server" Label="库位类型" AutoPostBack="true" NextFocusControl="SearchBtn" LabelWidth="80px" OnSelectedIndexChanged="Search" AutoSelectFirstItem="true">
                                </f:DropDownList>
                                <<f:DropDownList ID="ddlMaterialType" runat="server" Label="所属大类" AutoPostBack="true" NextFocusControl="SearchBtn" LabelWidth="80px" OnSelectedIndexChanged="Search" AutoSelectFirstItem="true">
                                </f:DropDownList>
 
                             </Items>
                        </f:FormRow>--%>
                    </Rows>
                </f:Form>
 
                <f:Grid ID="PlaceGrid" runat="server" AllowPaging="true" IsDatabasePaging="true" BoxFlex="1" 
                    DataKeyNames="Id" AllowSorting="true"  SortField="Id" QuickPaging="true" MouseWheelSelection="true"
                    ShowBorder="true" OnRowCommand="GridRowCommand" OnPageIndexChange="GridPageIndexChange" ForceFit="true" 
                    KeepCurrentSelection="true" EnableRowLines="True" DataIDField="Id" ShowSelectedCell="False" 
                    ShowHeader="false" EnableCheckBoxSelect="true"  ExpandAllRowExpanders="false" EnableTextSelection="true" >
                    
                    <Toolbars>
                        <f:Toolbar runat="server">
                            <Items>
                                 <f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
                           
                                <f:Button ID="btnClar" runat="server" Icon="Delete" Text="清除选中物料信息"  OnClick="Delete"  Hidden="false"></f:Button>
                                <f:Button ID="btnOut" runat="server" Icon="SoundOut" Text="物料出库"  OnClick="btnOut_Click" ></f:Button>
                                <f:Button ID="Button1" runat="server"  Icon="ApplicationCascade" Text="新增库存信息"  ></f:Button>
                                <f:Button ID="ToExcel" EnableAjax="false" Icon="ApplicationOsxGet"
                                    runat="server" Text="导出Excel" OnClick="ExportExcel"> 
                                </f:Button>
                            </Items>
                        </f:Toolbar>
                    </Toolbars>
                    
                    <Columns>
                        <f:RowNumberField MinWidth="24px" HeaderText="" EnablePagingNumber="true" TextAlign="Left"/>
                         <f:BoundField DataField="Id"  MinWidth="100px" HeaderText="库位物料Id" Hidden="true" />
                        <f:BoundField DataField="PlaceCode"  MinWidth="100px" HeaderText="库位编号" />
                        <f:BoundField DataField="PlaceTypeName"  MinWidth="120px" HeaderText=" 库位类型"  />
                        <f:BoundField DataField="PlaceTypeRemark"  MinWidth="120px" HeaderText="库位类型描述" />
                        <f:BoundField DataField="MaterialCode"  MinWidth="200px" HeaderText="物料编号" />
                        <f:BoundField DataField="Name"  MinWidth="120px" HeaderText="物料名称"  />
                        <f:BoundField DataField="TypeName"  MinWidth="120px" HeaderText="物料类型"  />
                        <f:BoundField DataField="TypeRemark"  MinWidth="120px" HeaderText="物料类型描述" />
                        <f:BoundField DataField="Length"  MinWidth="80px" HeaderText="长" />
                        <f:BoundField DataField="Wide"  MinWidth="80px" HeaderText="宽" />
                        <f:BoundField DataField="Thick"  MinWidth="80px" HeaderText="厚" />
                        <f:BoundField DataField="UpdateTime"  MinWidth="180px" HeaderText="更新时间"  />
                        <f:BoundField DataField="CreateTime"  MinWidth="180px" HeaderText="创建时间" />
                        <f:TemplateField MinWidth="128px" HeaderText="库位状态" SortField="Status">
                            <ItemTemplate>
                                <asp:Label ID="Status" runat="server" Text='<%# GetStatus(Eval("Status")) %>'></asp:Label>
                            </ItemTemplate>
                        </f:TemplateField>
                        <f:TemplateField MinWidth="128px" HeaderText="是否锁定" SortField="IsLock"   Hidden="true">
                            <ItemTemplate>
                                <asp:Label ID="IsLock" runat="server" Text='<%# GetEYesOrNo(Eval("Status")) %>'></asp:Label>
                            </ItemTemplate>
                        </f:TemplateField>
                        <f:TemplateField MinWidth="128px" HeaderText="是否满库" SortField="IsExecute"  Hidden="true">
                            <ItemTemplate>
                                <asp:Label ID="IsExecute" runat="server" Text='<%# GetYesOrNo(Eval("IsExecute")) %>'></asp:Label>
                            </ItemTemplate>
                        </f:TemplateField>
                    </Columns>
 
                    <Listeners>
                        <f:Listener Event="rowexpanderexpand" Handler="onRowExpanderExpand" />
                        <f:Listener Event="rowexpandercollapse" Handler="onRowExpanderCollapse" />
                    </Listeners>
 
                    <PageItems>
                        <f:ToolbarSeparator ID="ToolbarSeparator1" runat="server"></f:ToolbarSeparator>
                        <f:ToolbarText ID="ToolbarText1" runat="server"></f:ToolbarText>
                        <f:DropDownList ID="ddlPageSize" runat="server" Label="每页记录数" OnSelectedIndexChanged="PageSizeSelectedIndexChanged" AutoPostBack="true">
                            <f:ListItem Text="8" Value="8" />
                            <f:ListItem Text="10" Value="10" />
                            <f:ListItem Text="15" Value="15" />
                            <f:ListItem Text="20" Value="20" />
                        </f:DropDownList>
                    </PageItems>
 
                </f:Grid>
            </Items>
 
        </f:Panel>
 
        <f:Window ID="Window1" runat="server" IsModal="true" Hidden="true" Target="Top" EnableResize="true"
            EnableMaximize="true" EnableIFrame="true" IFrameUrl="about:blank" Width="520px"
            Height="220px" OnClose="WindowClose">
        </f:Window>
        
        <f:Timer OnTick="ExcelTick" runat="server" Enabled="false" Interval="1" ID="timer1"></f:Timer>
         
    </form>
    <script>
 
        var grid1 = '<%= PlaceGrid.ClientID %>';
   
 
        function onRowExpanderExpand(event, rowId) {
            debugger
            var grid = this, rowEl = grid.getRowEl(rowId), rowData = grid.getRowData(rowId);
 
            var tplEl = rowEl.find('.f-grid-rowexpander-details .f-grid-tpl');
 
            if (!tplEl.text().trim()) {
    
                var placeid = grid.getRowData(rowId).values["Panel1_PlaceGrid_ctl01"];
                var data;
                var props = rowData.values.Materials + "";
                var beginPos = props.indexOf("[");
                var endPos = props.lastIndexOf("]");
                var cmd = "data=" + props.substring(beginPos, endPos + 1) + ";";
                eval(cmd);
                debugger
                var headerTitles = ["物料编号", "物料名称", "条码", "数量", "采购单号", "批次", "供应商","备注", "托盘号"];
                var htmlString = '<th class="f-widget-header">';
                for (var i = 0; i < headerTitles.length; i++) {
                    htmlString += i == headerTitles.length - 1 ? headerTitles[i] + '</th>' : headerTitles[i] + '</th><th class="f-widget-header">';
                }
 
                var html = [];
                html.push('<table class="mytable f-widget-header"><tr>' + htmlString + '</tr>');
                debugger;
                var containName = "";
                for (var i = 0; i < data.length; i++) {
                    html.push('<tr>');
                    html.push('<td class="f-widget-content">' + data[i].Code + '</td>');
                    html.push('<td class="f-widget-content">' + data[i].Name + '</td>');
                    html.push('<td class="f-widget-content">' + data[i].Barcode.substring(0,10) + '...</td>');
                    html.push('<td class="f-widget-content">' + data[i].Quantity + '</td>');
                    html.push('<td class="f-widget-content">' + data[i].ListNo + '</td>');
                    html.push('<td class="f-widget-content">' + data[i].SerialNo + '</td>');
                    html.push('<td class="f-widget-content">' + data[i].Supplier + '</td>');
                    html.push('<td class="f-widget-content">' + data[i].Remark + '</td>');
                    html.push('<td class="f-widget-content">' + data[i].ContainerCode + '</td>');
                    html.push('</tr>');
 
                }
                html.push('</table>');
                tplEl.html(html.join(''));
                rowExpandersDoLayout();
            }
        }
 
 
        function onRowExpanderCollapse(event, rowId) {
            rowExpandersDoLayout();
        }
 
        // 重新布局表格(解决出现纵向滚动条时的布局问题)
        function rowExpandersDoLayout() {
            var grid1Cmp = F(grid1);
            grid1Cmp.doLayout();
        }
 
    </script>
 
</body>
</html>