PlaceGather.aspx 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage/ErpView.master" AutoEventWireup="true" CodeFile="PlaceGather.aspx.cs" Inherits="ECharts_PlaceGather" %>
  2. <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
  3. <script type="text/javascript">
  4. //查询按钮
  5. function searchFn() {
  6. var form = new mini.Form("#ctl00_f_all");
  7. var data = form.getData(true, false);
  8. var s = data;
  9. grid.load({
  10. date1: s.placedate1, date2: s.placedate2
  11. });
  12. mini.get("supplier_grid").load({
  13. date1: s.placedate1, date2: s.placedate2
  14. });
  15. }
  16. function exportAfterFn(id) {
  17. let grid = mini.get(id);
  18. let extname = "";
  19. extname = extname == "" ? "下单部每日下单数据" : extname
  20. if (grid == null) {
  21. alert("无法导出");
  22. return;
  23. }
  24. let columns = grid.columns;
  25. function getColumns(columns) {
  26. let cols = [];
  27. let h = "";
  28. for (let i = 0; i < columns.length; i++) {
  29. let column = columns[i];
  30. //if (!column.visible || column.header == undefined) {
  31. // continue;
  32. //}
  33. if (column.header == undefined || column.header == "#") {
  34. continue;
  35. }
  36. if (typeof column.header == "function") continue;
  37. if (column.header.indexOf("<") != -1) h = column.header.toString().substring(0, column.header.indexOf("<"));
  38. else h = column.header.toString();
  39. h = h.replace(/ /g, "");
  40. //if (i == 1) alert(h);
  41. //alert(column.header);
  42. //var col = { header: h, field: column.field, type: column.type, visible: column.visible };
  43. let col = { header: h, field: column.field, type: column.type, width: column.width, visible: true };
  44. if (column.columns) {
  45. col.columns = getColumns(column.columns);
  46. }
  47. cols.push(col);
  48. }
  49. return cols;
  50. }
  51. columns = getColumns(columns);
  52. let type = "";
  53. let sel_row = grid.getSelecteds();
  54. if (grid.multiSelect && sel_row.length > 0 || grid.url == "" || grid.showPager == false) {
  55. type = "bexcel";
  56. }
  57. else type = grid.url == "" ? "bexcel" : "excel";
  58. downLoad(grid, GetPrePath() + "/Reports/comExports.aspx", { extname: extname, url: encodeURIComponent(grid.url), type: type, columns: columns }, function () {
  59. //alert("导出成功");
  60. });
  61. }
  62. function downLoad(grid, url, fields, callback) {
  63. //创建Form
  64. var submitfrm = document.createElement("form");
  65. submitfrm.action = url;
  66. submitfrm.method = "post";
  67. submitfrm.target = "_blank";
  68. document.body.appendChild(submitfrm);
  69. if (fields) {
  70. for (var p in fields) {
  71. var input = mini.append(submitfrm, "<input type='hidden' name='" + p + "'>");
  72. var v = fields[p];
  73. if (typeof v != "string") v = mini.encode(v);
  74. input.value = v;
  75. }
  76. }
  77. if (grid == null) {
  78. alert("无法导出");
  79. return;
  80. }
  81. var parms = grid._dataSource.loadParams;
  82. for (var item in parms) {
  83. if (parms[item] == undefined || parms[item] == null) continue;
  84. mini.append(submitfrm, "<input type='hidden' name='" + item + "' value=\"" + parms[item] + "\">");
  85. }
  86. var sel_row = grid.getSelecteds();
  87. if (grid.multiSelect && sel_row.length > 0) {
  88. mini.append(submitfrm, "<input type='hidden' name='hExData' value='" + mini.encode(sel_row) + "'>");
  89. } else {
  90. if (grid.url == undefined || grid.url == "" || grid.showPager == false) {
  91. //ame = 'hExData' value = '" + mini.encode(grid.data)
  92. mini.append(submitfrm, "<input type='hidden' name='hExData' value='" + mini.encode(grid.data) + "'>");
  93. }
  94. }
  95. if (mini.get("txtSdate") != null && mini.get("txtSdate").getText() != "") {
  96. mini.append(submitfrm, "<input type='hidden' name='hExSdate' value=\"" + mini.get("txtSdate").getText() + "\">");
  97. }
  98. if (mini.get("txtEdate") != null && mini.get("txtEdate").getText() != "") {
  99. mini.append(submitfrm, "<input type='hidden' name='hExEdate' value=\"" + mini.get("txtEdate").getText() + "\">");
  100. }
  101. //mini.append()
  102. submitfrm.submit();
  103. setTimeout(function () {
  104. submitfrm.parentNode.removeChild(submitfrm);
  105. if (callback) callback();
  106. }, 1000);
  107. }
  108. function onSearchCheckedChanged(e) {
  109. var btn = e.sender;
  110. var checked = btn.getChecked();
  111. var text = btn.getText();
  112. var form = new mini.Form("#ctl00_f_all");
  113. var data = form.getData(true, false);
  114. var s = data;
  115. if (checked) {
  116. var stime = "";
  117. var etime = "";
  118. var timearr = [];
  119. if (text == "本日") {
  120. var day = getCurDate();
  121. timearr.push(day);
  122. timearr.push(day);
  123. }
  124. else if (text == "本周") {
  125. timearr = getWeekStartAndEnd();
  126. }
  127. else if (text == "本月") {
  128. timearr = getMonthStartAndEnd();
  129. }
  130. stime = timearr[0];
  131. etime = timearr[1];
  132. console.log(text, stime, etime)
  133. grid.load({
  134. shopname: s.shop, designer: s.design, order_area: s.order_area, org: s.designerorg, date1: stime, date2: etime, UpDate1: s.UpDate1, UpDate2: s.UpDate2
  135. });
  136. }
  137. mini.get("aSearchMonth").setChecked(false);
  138. mini.get("aSearchDay").setChecked(false);
  139. mini.get("aSearchWeek").setChecked(false);
  140. }
  141. //查询本日
  142. function onSearchToday() {
  143. var form = new mini.Form("#ctl00_f_all");
  144. var data = form.getData(true, false);
  145. var s = data;
  146. var DateType = "Today";
  147. grid.load({
  148. shopname: s.shop, designer: s.designer, order_area: s.order_area, org: s.designerorg, dateType: DateType
  149. });
  150. }
  151. //查询本周
  152. function onSearchThisWeek() {
  153. var form = new mini.Form("#ctl00_f_all");
  154. var data = form.getData(true, false);
  155. var s = data;
  156. var DateType = "Week";
  157. grid.load({
  158. shopname: s.shop, designer: s.designer, order_area: s.order_area, org: s.designerorg, dateType: DateType
  159. });
  160. }
  161. //查询本月
  162. function onSearchThisMonth() {
  163. var form = new mini.Form("#ctl00_f_all");
  164. var data = form.getData(true, false);
  165. var s = data;
  166. var DateType = "Month";
  167. grid.load({
  168. shopname: s.shop, designer: s.designer, order_area: s.order_area, org: s.designerorg, dateType: DateType
  169. });
  170. }
  171. //清除查询内容
  172. function clearFn() {
  173. //$("#ctl00_f_all").find("input").val("");
  174. var form = new mini.Form("#ctl00_f_all");
  175. form.clear();
  176. mini.get("aSearchMonth").setChecked(false);
  177. mini.get("aSearchDay").setChecked(false);
  178. mini.get("aSearchWeek").setChecked(false);
  179. }
  180. function onDrawSummaryCell(e) {
  181. var result = e.result;
  182. var rdata = result.data;
  183. //console.log("result:", result);
  184. var totalPayment = 0;
  185. var allOrder = 0;
  186. var wait = 0;
  187. var designing = 0;
  188. var finish = 0;
  189. var rateAp = 0;
  190. var payPrice = 0;
  191. for (var item of rdata) {
  192. totalPayment += parseFloat(item.Amount);
  193. allOrder += parseInt(item.AllOrder);
  194. wait += parseInt(item.WaitDesign);
  195. designing += parseInt(item.Designing);
  196. finish += parseInt(item.DesignFinish);
  197. rateAp += parseFloat(item.FinalizationRate);
  198. payPrice += parseFloat(item.PayPrice);
  199. }
  200. var grid = e.sender;
  201. totalPayment = Math.floor(totalPayment * 100) / 100;
  202. rateAp = Math.floor(rateAp / rdata.length * 100) / 100;
  203. //客户端汇总计算
  204. if (e.field == "Amount") {
  205. var s = "<span style='color:Brown;'>"
  206. s += "合计:" + totalPayment
  207. + "</span>";
  208. e.cellHtml = s;
  209. }
  210. else if (e.field == "AllOrder") {
  211. var s = "<span style='color:Brown;'>"
  212. s += "合计:" + allOrder
  213. + "</span>";
  214. e.cellHtml = s;
  215. }
  216. else if (e.field == "WaitDesign") {
  217. var s = "<span style='color:Brown;'>"
  218. s += "合计:" + wait
  219. + "</span>";
  220. e.cellHtml = s;
  221. }
  222. else if (e.field == "Designing") {
  223. var s = "<span style='color:Brown;'>"
  224. s += "合计:" + designing
  225. + "</span>";
  226. e.cellHtml = s;
  227. }
  228. else if (e.field == "DesignFinish") {
  229. var s = "<span style='color:Brown;'>"
  230. s += "合计:" + finish
  231. + "</span>";
  232. e.cellHtml = s;
  233. }
  234. else if (e.field == "FinalizationRate") {
  235. var s = "<span style='color:Brown;'>"
  236. s += "平均:" + rateAp
  237. + "</span>";
  238. e.cellHtml = s;
  239. }
  240. else if (e.field == "PayPrice") {
  241. var s = "<span style='color:Brown;'>"
  242. s += "合计:" + payPrice
  243. + "</span>";
  244. e.cellHtml = s;
  245. }
  246. }
  247. </script>
  248. </asp:Content>
  249. <asp:Content ID="Content2" ContentPlaceHolderID="btn" runat="Server">
  250. <a class="mini-button mini-button-primary" iconcls="icon-folder" onclick="exportAfterFn('supplier_grid')">导出</a>
  251. </asp:Content>
  252. <asp:Content ID="Content4" ContentPlaceHolderID="content" runat="Server">
  253. <div class="mini-fit">
  254. <div id="supplier_grid" class="mini-datagrid" sortmode="client" style="width: 100%; height: 50%;" showemptytext="true" showpager="false" showsummaryrow="false" ondrawsummarycell="onDrawSummaryCell"
  255. emptytext="暂无记录" url="../handler/sync.ashx?t=get_place_order_data">
  256. <div property="columns">
  257. <div field="ProductName" width="160" align="center" headeralign="center">品类</div>
  258. <div field="SupplierName" width="160" align="center" headeralign="center">车间</div>
  259. <div field="dayDev" width="160" align="center" headeralign="center">当天出货的下单数量</div>
  260. <div field="dayTotal" width="160" align="center" headeralign="center">当天下单总数量</div>
  261. <div field="payTotal" width="160" align="center" headeralign="center">金额5百以上单量</div>
  262. <div field="today" width="160" align="center" headeralign="center">当天出货</div>
  263. <div field="aftersale" width="160" align="center" headeralign="center">售后单</div>
  264. <div field="deliveryNum" width="160" align="center" headeralign="center">待发货单</div>
  265. <div field="unusua" width="160" align="center" headeralign="center">异常单</div>
  266. <div field="unusua_reson" width="160" visible="false" align="center" headeralign="center">异常原因</div>
  267. </div>
  268. </div>
  269. <a class="mini-button mini-button-primary" iconcls="icon-folder" onclick="exportFn()">导出</a>
  270. <div id="m_grid" class="mini-datagrid" sortmode="client" style="width: 100%; height: 50%;" showemptytext="true" showpager="false" showsummaryrow="false" ondrawsummarycell="onDrawSummaryCell"
  271. emptytext="暂无记录" url="../handler/sync.ashx?t=get_erp_place_gather">
  272. <div property="columns">
  273. <div type="indexcolumn" width="20"></div>
  274. <div type="checkcolumn" width="20"></div>
  275. <div field="DesignerName" width="60" align="center" headeralign="center">下单员</div>
  276. <div field="AllOrder" datatype="int" width="60" align="center" headeralign="center" allowsort="true">总数量</div>
  277. </div>
  278. </div>
  279. </div>
  280. </asp:Content>