_ShowQueryModelModal.cshtml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. @using ShwasherSys.Models.Modal
  2. @model ShwasherSys.Models.Modal.ShowQueryModelModal
  3. @{
  4. var type = Model.QueryType;
  5. string lcHeadMsg = "";
  6. if (type == "semiProduct")
  7. {
  8. lcHeadMsg = "半成品信息";
  9. }
  10. else if (type == "product")
  11. {
  12. lcHeadMsg = "成品信息";
  13. }
  14. else if (type == "customer")
  15. {
  16. lcHeadMsg = "客户信息";
  17. }else if (type == "semiCurrentStore")
  18. {
  19. lcHeadMsg = "半成品当前库存";
  20. }
  21. }
  22. <section>
  23. <div class="modal fade" id="@Model.ModelId" role="dialog" tabindex="-1" aria-labelledby="ModalLabel" aria-hidden="true">
  24. <div class="modal-dialog modal-dialog-centered" role="document" style="width: 800px;">
  25. <div class="modal-content">
  26. @Html.Partial("Modals/_ModalHeader", new ModalHeaderViewModel(@lcHeadMsg, ""))
  27. <div class="modal-body container-fluid" style="padding: 0; padding-top: 15px;">
  28. <form class="pr-3 pl-3 form-horizontal" id="@Model.FormId">
  29. @if (type == "semiProduct")
  30. {
  31. <div class="form-group-sm">
  32. <label class="iwb-label col-md-1 control-label" style="padding-top: 2px" for="querySemiProductNo">编码</label>
  33. <div class="col-md-2">
  34. <input class="form-control" style="height: 20px; padding: 0 3px;" id="querySemiProductNo" name="querySemiProductNo" placeholder="请输入..." value="" type="text">
  35. </div>
  36. <label class="iwb-label col-md-1 control-label" style="padding-top: 2px" for="quarySemiProductName">名称</label>
  37. <div class="col-md-2">
  38. <input class="form-control" id="quarySemiProductName" style="height: 20px; padding: 0 3px;" name="quarySemiProductName" placeholder="请输入..." value="" type="text">
  39. </div>
  40. <div class="col-md-2 ">
  41. <button type="button" class="btn btn-default" style="height: 20px; width: 150px; padding: 0 2px" onclick="SearchSemiProducts()">
  42. <i class="iconfont icon-search">查询</i>
  43. </button>
  44. </div>
  45. </div>
  46. }
  47. else if (type == "semiCurrentStore")
  48. {
  49. <div class="form-group-sm">
  50. <label class="iwb-label col-md-2 control-label" style="padding-top: 2px" for="queryProductionOrderNo">编码</label>
  51. <div class="col-md-2">
  52. <input class="form-control" style="height: 20px; padding: 0 3px;" id="queryProductionOrderNo" name="queryProductionOrderNo" placeholder="请输入..." value="" type="text">
  53. </div>
  54. <label class="iwb-label col-md-2 control-label" style="padding-top: 2px" for="querySemiProductNo_c">半成品编码</label>
  55. <div class="col-md-2">
  56. <input class="form-control" id="querySemiProductNo_c" style="height: 20px; padding: 0 3px;" name="querySemiProductNo_c" placeholder="请输入..." value="" type="text">
  57. </div>
  58. <div class="col-md-2 ">
  59. <button type="button" class="btn btn-default" style="height: 20px; width: 150px; padding: 0 2px" onclick="SearchSemiCurrentStore()">
  60. <i class="iconfont icon-search">查询</i>
  61. </button>
  62. </div>
  63. </div>
  64. }
  65. </form>
  66. </div>
  67. <div class="table-box mr-4 iwb-bootstrap-table">
  68. @if (type == "semiProduct")
  69. {
  70. <table id="@Model.TableId"
  71. data-url="/api/services/app/SemiProducts/GetAll"
  72. data-striped="true" data-id-field="id" data-unique-id="id"
  73. data-method="post"
  74. data-side-pagination="server"
  75. data-content-type="application/x-www-form-urlencoded; charset=UTF-8"
  76. data-cache="false"
  77. data-pagination="true" data-page-size="25" data-page-number="1" data-page-list="[25,50,100,200]" data-pagination-detail-h-align="right" data-pagination-h-align="left"
  78. data-response-handler="ResponseHandler"
  79. data-click-to-select="true"
  80. data-single-select="true">
  81. <thead>
  82. <tr class="row">
  83. <th data-field="state" data-checkbox="true"></th>
  84. <th data-align="center" data-field="id">半成品编码</th>
  85. <th data-align="center" data-field="semiProductName">半成品名称</th>
  86. <th data-align="center" data-field="model">规格</th>
  87. <th data-align="center" data-field="material">材质</th>
  88. <th data-align="center" data-field="rigidity">硬度</th>
  89. <th data-align="center" data-field="surfaceColor">表色</th>
  90. </tr>
  91. </thead>
  92. </table>
  93. }else if (type == "semiCurrentStore")
  94. {
  95. <table id="@Model.TableId"
  96. data-url="/api/services/app/CurrentSemiStoreHouses/GetViewAll"
  97. data-striped="true" data-id-field="id" data-unique-id="id"
  98. data-method="post"
  99. data-side-pagination="server"
  100. data-content-type="application/x-www-form-urlencoded; charset=UTF-8"
  101. data-cache="false"
  102. data-pagination="true" data-page-size="25" data-page-number="1" data-page-list="[25,50,100,200]" data-pagination-detail-h-align="right" data-pagination-h-align="left"
  103. data-response-handler="ResponseHandler"
  104. data-click-to-select="true"
  105. data-single-select="true">
  106. <thead>
  107. <tr class="row">
  108. <th data-field="state" data-checkbox="true"></th>
  109. <th data-align="center" data-field="productionOrderNo">排产单编号</th>
  110. <th data-align="center" data-field="semiProductNo">半成品编码</th>
  111. <th data-align="center" data-field="actualQuantity">当前库存数量(kg)</th>
  112. <th data-align="center" data-field="storeHouseId" data-formatter="StoreHouseIdFormatte">仓库</th>
  113. <th data-align="center" data-field="freezeQuantity">被冻结数量</th>
  114. <th data-align="center" data-field="canUserQuantity" data-formatter="CanUserQuantityFormatte">可用数量</th>
  115. <th data-align="center" data-field="surfaceColor">表色</th>
  116. <th data-align="center" data-field="model">规格</th>
  117. <th data-align="center" data-field="rigidity">硬度</th>
  118. <th data-align="center" data-field="material">材质</th>
  119. </tr>
  120. </thead>
  121. </table>
  122. }
  123. </div>
  124. <div class="modal-footer" style="text-align: center;">
  125. <button type="button" class="btn btn-default waves-effect" data-dismiss="modalProduct" style="min-width:100px;background: #FFFFFF;border: 1px solid #DDDDDD;" onclick="$('#@Model.ModelId').modal('hide');">取消</button>
  126. <button type="button" class="btn btn-success save-btn waves-effect" style="min-width:100px;background-color: #678ceb;border: 1px solid #678ceb;" onclick="@Model.SubmitEvent">确定</button>
  127. </div>
  128. </div>
  129. </div>
  130. </div>
  131. </section>
  132. @if (type == "semiProduct")
  133. {
  134. <script>
  135. $(function() {
  136. });
  137. function showSelectSemiProductDialog() {
  138. document.getElementById("@Model.FormId").reset();
  139. SearchSemiProducts();
  140. $("#@Model.ModelId").modal("show");
  141. }
  142. var _searchSemiProductList = [];
  143. function GetSemiProductSearchList() {
  144. _searchSemiProductList = [];
  145. var productNo = $("#querySemiProductNo").val();
  146. var productName = $("#quarySemiProductName").val();
  147. if (productNo) {
  148. _searchSemiProductList.push({ KeyWords: productNo, KeyField: "Id", FieldType: "0", ExpType: "6" });
  149. }
  150. if (productName) {
  151. _searchSemiProductList.push(
  152. { KeyWords: productName, KeyField: "SemiProductName", FieldType: "0", ExpType: "6" });
  153. }
  154. }
  155. function SearchSemiProducts() {
  156. GetSemiProductSearchList();
  157. RefreshTable($("#@Model.TableId"));
  158. }
  159. function LoadTableQuerySemiProduct() {
  160. GetSemiProductSearchList();
  161. $("#@Model.TableId").bootstrapTable({
  162. queryParams: function (params) {
  163. return {
  164. MaxResultCount: params.limit,
  165. SkipCount: params.offset,
  166. sort: params.sort, //排序列名
  167. sortOrder: params.order, //排位命令(desc,asc)
  168. SearchList: _searchSemiProductList
  169. };
  170. },
  171. onLoadSuccess: OnLoadSuccess,
  172. onPostBody: OnPostBody
  173. });
  174. }
  175. </script>
  176. }else if (type == "semiCurrentStore")
  177. {
  178. <script>
  179. function showSelectSemiCurrentStoreDialog() {
  180. document.getElementById("@Model.FormId").reset();
  181. SearchSemiCurrentStore();
  182. $("#@Model.ModelId").modal("show");
  183. }
  184. var _searchSemiCurrentStoreList = [];
  185. function GetSemiProductSearchList() {
  186. _searchSemiCurrentStoreList = [];
  187. var productOrderNo = $("#queryProductionOrderNo").val();
  188. var productNo = $("#querySemiProductNo_c").val();
  189. if (productNo) {
  190. _searchSemiProductList.push({ KeyWords: productNo, KeyField: "SemiProductNo", FieldType: "0", ExpType: "6" });
  191. }
  192. if (productOrderNo) {
  193. _searchSemiProductList.push(
  194. { KeyWords: productOrderNo, KeyField: "ProductionOrderNo", FieldType: "0", ExpType: "6" });
  195. }
  196. }
  197. function SearchSemiCurrentStore() {
  198. GetSemiProductSearchList();
  199. RefreshTable($("#@Model.TableId"));
  200. }
  201. function LoadTableQuerySemiCurrentStore() {
  202. GetSemiProductSearchList();
  203. $("#@Model.TableId").bootstrapTable({
  204. queryParams: function (params) {
  205. return {
  206. MaxResultCount: params.limit,
  207. SkipCount: params.offset,
  208. sort: params.sort, //排序列名
  209. sortOrder: params.order, //排位命令(desc,asc)
  210. SearchList: _searchSemiCurrentStoreList
  211. };
  212. },
  213. onLoadSuccess: OnLoadSuccess,
  214. onPostBody: OnPostBody
  215. });
  216. }
  217. function StoreHouseIdFormatte(v,r) {
  218. if (v === 1) {
  219. return '<span class="label label-info">成品仓库</span>';
  220. } else if (v === 2) {
  221. return '<span class="label label-primary">半成品仓库</span>';
  222. }
  223. return v;
  224. }
  225. function CanUserQuantityFormatte(v, r) {
  226. var count = r.actualQuantity - r.freezeQuantity;
  227. return '<span class="label label-info">' + count+'</span>';
  228. }
  229. </script>
  230. }