consumable_godownentry_query.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>耗材入库管理</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport"
  9. content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  10. <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
  11. <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
  12. <style type="text/css">
  13. .LAY-btns .layui-nav {padding-left:0;padding-right:10px;top:-4px;margin: 0 10px;border: 0;background-color: #009688;}
  14. .LAY-btns .layui-nav .layui-nav-item{line-height: 30px;}
  15. .LAY-btns .layui-nav .layui-nav-child{top:34px;}
  16. .LAY-btns .layui-nav .layui-nav-bar{display: none;}
  17. .LAY-btns .layui-nav .layui-nav-child dd.layui-this a{color:#333;background-color:#fff;}
  18. .LAY-btns .layui-nav .layui-nav-child dd.layui-this a:hover {background-color: #f2f2f2;color: #000;}
  19. </style>
  20. </head>
  21. <body>
  22. <div class="layui-fluid">
  23. <div class="layui-card">
  24. <div class="layui-card-body" pad15>
  25. <div class="layui-row">
  26. <div class="LAY-btns" style="margin-bottom: 10px;">
  27. <button class="layui-btn layui-btn-sm" id="btn_export" data-permission="purchase.export_consumable_godownentry_query"><i class="layui-icon layui-icon-download-circle"></i>导出</button>
  28. <button class="layui-btn layui-btn-sm" id="btn_print" data-permission="purchase.print_consumable_godownentry_query"><i class="layui-icon layui-icon-print"></i>打印</button>
  29. <button class="layui-btn layui-btn-sm" id="btn_query"><i class="layui-icon layui-icon-search"></i>查询</button>
  30. </div>
  31. <table class="layui-hide" id="datagrid" lay-filter="datagrid-operate"></table>
  32. <script type="text/html" id="datagrid-operate-bar">
  33. {{# if(d.is_PY == false){ }}
  34. <a class="layui-btn layui-btn-xs" lay-event="return" data-permission="purchase.add_consumable_godown_entry_return">退货</a>
  35. {{# } }}
  36. </script>
  37. </div>
  38. </div>
  39. </div>
  40. </div>
  41. <div id="dlg_query" style="display: none">
  42. <div class="layui-card-body" pad15>
  43. <form class="layui-form" lay-filter="query-form-element">
  44. <div class="layui-row layui-col-space10 layui-form-item">
  45. <div class="layui-col-xs12 layui-col-sm12">
  46. <label class="layui-form-label">审核时间:</label>
  47. <div class="layui-input-block">
  48. <input type="text" class="layui-input" name="check_time" id="check_time" placeholder=" - " autocomplete="off">
  49. </div>
  50. </div>
  51. <div class="layui-col-xs12 layui-col-sm12">
  52. <label class="layui-form-label">入库类别:</label>
  53. <div class="layui-input-block">
  54. <select name="entry_type">
  55. <option value="">全部</option>
  56. <option value="0">直接入库</option>
  57. <option value="1">采购入库</option>
  58. <option value="2">盘盈入库</option>
  59. </select>
  60. </div>
  61. </div>
  62. <div class="layui-col-xs12 layui-col-sm12">
  63. <label class="layui-form-label">产品名称:</label>
  64. <div class="layui-input-block">
  65. <input type="text" name="product_text" class="layui-input" autocomplete="off">
  66. </div>
  67. </div>
  68. <div class="layui-col-xs12 layui-col-sm12">
  69. <label class="layui-form-label">代码:</label>
  70. <div class="layui-input-block">
  71. <input type="text" name="product_model" class="layui-input" autocomplete="off">
  72. </div>
  73. </div>
  74. <div class="layui-col-xs12 layui-col-sm12">
  75. <label class="layui-form-label">仓别:</label>
  76. <div class="layui-input-block">
  77. <input type="text" name="warehouse" class="layui-input" autocomplete="off">
  78. </div>
  79. </div>
  80. <div class="layui-col-xs12 layui-col-sm12">
  81. <label class="layui-form-label">入库单号:</label>
  82. <div class="layui-input-block">
  83. <input type="text" name="no" class="layui-input" autocomplete="off">
  84. </div>
  85. </div>
  86. <div class="layui-col-xs12 layui-col-sm12">
  87. <label class="layui-form-label">供应商:</label>
  88. <div class="layui-input-block">
  89. <input type="text" name="supplier" class="layui-input" autocomplete="off">
  90. </div>
  91. </div>
  92. <div class="layui-col-xs12 layui-col-sm12">
  93. <label class="layui-form-label">创建人:</label>
  94. <div class="layui-input-block">
  95. <input type="text" name="create_user" autocomplete="off" class="layui-input">
  96. </div>
  97. </div>
  98. <div class="layui-col-xs12 layui-col-sm12">
  99. <label class="layui-form-label">产品备注:</label>
  100. <div class="layui-input-block">
  101. <input type="text" name="notes" autocomplete="off" class="layui-input">
  102. </div>
  103. </div>
  104. </div>
  105. <div style="display: none" >
  106. <button id="query-submit" lay-submit lay-filter="query-form-element">查询</button>
  107. </div>
  108. </form>
  109. </div>
  110. </div>
  111. <script src="../../layuiadmin/layui/layui.js?t=1"></script>
  112. <script>
  113. var _params = '';
  114. layui.config({
  115. base: '../../../layuiadmin/' //静态资源所在路径
  116. }).extend({
  117. index: 'lib/index', //主入口模块
  118. utils: 'utils'
  119. }).use(['index', 'table', 'laydate', 'form', 'utils'], function () {
  120. var $ = layui.$;
  121. var table = layui.table
  122. , form = layui.form
  123. , utils = layui.utils
  124. , laydate = layui.laydate;
  125. var is_has = utils.isHasPermissions('material.view_consumable_cost');
  126. var cols = [];
  127. cols.push({field: 'no', title: '入库单号', width: 160});
  128. cols.push({field: 'type', title: '入库类别', width: 120});
  129. cols.push({field: 'supplier', title: '供应商', width: 145});
  130. cols.push({field: 'product_name', title: '产品', width: 140});
  131. cols.push({field: 'product_model', title: '代码', width: 100});
  132. cols.push({field: 'product_unit', title: '单位', width: 100});
  133. cols.push({field: 'product_type', title: '产品类别', width: 100});
  134. cols.push({field: 'warehouse', title: '仓别', width: 130});
  135. if (is_has){
  136. cols.push({field: 'price', align:'right', title: '入库单价', width: 110});
  137. }
  138. cols.push({field: 'count', align:'right', title: '数量', width: 110});
  139. cols.push({field: 'return_count', align:'right', title: '退货数量', width: 110});
  140. if (is_has){
  141. cols.push({field: 'amount', align:'right', title: '合计金额', width: 130});
  142. }
  143. cols.push({field: 'deliver_count', align:'right', title: '出库数量', width: 110});
  144. cols.push({field: 'surplus_count', align:'right', title: '剩余数量', width: 110});
  145. cols.push({field: 'create_user', title: '创建人', width: 120});
  146. cols.push({field: 'check_time', title: '审核时间', width: 160});
  147. cols.push({field: 'warehouse_place', title: '存放库位', width: 150});
  148. cols.push({field: 'notes', title: '备注', minWidth: 200});
  149. cols.push({width: 75, align: 'center', fixed: 'right', toolbar: '#datagrid-operate-bar'});
  150. table.render({
  151. elem: '#datagrid'
  152. , url: '/purchase/godownentry_query/data/?type=1'
  153. , cols: [cols]
  154. , page: true
  155. , height: 'full-104'
  156. , totalRow: true
  157. ,parseData:function(res) {
  158. var cols = this.cols[0];
  159. for (var i in cols) {
  160. if (cols[i].field == 'count') {
  161. cols[i].totalRowText = res.more.total_count;
  162. }
  163. if (cols[i].field == 'return_count') {
  164. cols[i].totalRowText = res.more.total_return_count;
  165. }
  166. if (cols[i].field == 'amount') {
  167. cols[i].totalRowText = res.more.total_amount;
  168. }
  169. if (cols[i].field == 'deliver_count') {
  170. cols[i].totalRowText = res.more.total_deliver_count;
  171. }
  172. if (cols[i].field == 'surplus_count') {
  173. cols[i].totalRowText = res.more.total_surplus_count;
  174. }
  175. }
  176. return {
  177. "code": res.code, //解析接口状态
  178. "count": res.count, //解析数据长度
  179. "data": res.data //解析数据列表
  180. };
  181. }
  182. , done: function () {
  183. layui.index.removeNoPermButtons()
  184. }
  185. });
  186. //监听工具条
  187. table.on('tool(datagrid-operate)', function (obj) {
  188. var data = obj.data;
  189. if (obj.event === 'return') {
  190. layer.open({
  191. type: 2,
  192. title: '退货',
  193. shadeClose: false,
  194. area: ['80%', '90%'],
  195. btn: ['保存', '取消'],
  196. yes: function (index, dom) {
  197. layui.onSubmitChild = function (data) {
  198. layer.close(index);
  199. table.reload('datagrid', {});
  200. layer.msg('添加退货成功', {icon: 6});
  201. };
  202. layui.submitChild();
  203. },
  204. btn2: function (index, layero) {
  205. layer.close(index);//关闭当前按钮
  206. },
  207. content: 'consumable_godownentry_return_edit.html?godownentry_detail_id='+data.godownentry_detail_id
  208. });
  209. }
  210. });
  211. laydate.render({
  212. elem: '#entry_time'
  213. , range: true
  214. });
  215. laydate.render({
  216. elem: '#check_time'
  217. , range: true
  218. });
  219. $('#btn_export').on('click', function () {
  220. layui.admin.req({
  221. url: '/purchase/godownentry_query/export/?type=1',
  222. data: _params,
  223. done: function (res) {
  224. layui.view.download(res.data.filename);
  225. }
  226. });
  227. });
  228. $('#btn_query').on('click', function () {
  229. layer.open({
  230. type: 1,
  231. shadeClose: true,
  232. area: ['550px', '540px'],
  233. title: '查询',
  234. btn: ['查询'],
  235. yes: function (index, dom) {
  236. $("#query-submit").click();
  237. },
  238. content: $('#dlg_query')
  239. });
  240. });
  241. form.on('submit(query-form-element)', function (data) {
  242. //layer.msg(JSON.stringify(data.field));
  243. _params = data.field;
  244. table.reload('datagrid', {
  245. where: data.field,
  246. page:{curr:1}
  247. });
  248. layer.closeAll();
  249. return false
  250. });
  251. $('#btn_print').on('click', function () {
  252. layer.open({
  253. type: 2,
  254. title: '打印',
  255. shadeClose: true,
  256. area: ['90%', '90%'],
  257. btn: ['打印', '取消'],
  258. yes: function (index, dom) {
  259. layui.onSubmitChild = function(data){
  260. layer.close(index);
  261. };
  262. layui.submitChild();
  263. },
  264. btn2: function (index, layero) {
  265. layer.close(index);//关闭当前按钮
  266. },
  267. content: 'consumable_godownentry_query_print.html'
  268. });
  269. });
  270. })
  271. </script>
  272. </body>
  273. </html>