deliver_material.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  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 layui-col-space15">
  26. <div class="layui-col-md12">
  27. <div class="LAY-btns" style="margin-bottom: 10px;">
  28. <button class="layui-btn layui-btn-sm" data-permission="material.add_material_deliver" id="btn_add"><i class="layui-icon layui-icon-add-1"></i>添加</button>
  29. <button class="layui-nav" data-permission="material.export_material_deliver">
  30. <div class="layui-nav-item">
  31. <a href="javascript:;" style="color:#fff;">导出</a>
  32. <dl class="layui-nav-child"> <!-- 二级菜单 -->
  33. <dd><a href="#" id="btn_export">导出列表</a></dd>
  34. <dd><a href="#" id="btn_export_detail">导出明细</a></dd>
  35. </dl>
  36. </div>
  37. </button>
  38. <button class="layui-nav" data-permission="material.print_material_deliver">
  39. <div class="layui-nav-item">
  40. <a href="javascript:;" style="color:#fff;">打印</a>
  41. <dl class="layui-nav-child"> <!-- 二级菜单 -->
  42. <dd><a href="#" id="btn_print">出库单</a></dd>
  43. <dd><a href="#" id="btn_print_use">领用单</a></dd>
  44. </dl>
  45. </div>
  46. </button>
  47. <button class="layui-btn layui-btn-sm" id="btn_query" data-permission="material.view_material_deliver"><i class="layui-icon layui-icon-search"></i>查询</button>
  48. </div>
  49. <table class="layui-hide" id="datagrid" lay-filter="datagrid-operate"></table>
  50. <script type="text/html" id="datagrid-operate-bar">
  51. <div class="layui-btn-group">
  52. <a class="layui-btn layui-btn-xs" data-permission="material.view_material_deliver" lay-event="detail">查看</a>
  53. {{# if(d.status == 0){ }}
  54. <a class="layui-btn layui-btn-xs" lay-event="edit" data-permission="material.add_material_deliver">修改</a>
  55. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del" data-permission="material.delete_material_deliver">删除</a>
  56. <a class="layui-btn layui-btn-xs" lay-event="check" data-permission="material.check_material_deliver">审核</a>
  57. {{# } }}
  58. </div>
  59. </script>
  60. </div>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. <div id="dlg_query" style="display: none">
  66. <div class="layui-card-body" pad15>
  67. <form class="layui-form" lay-filter="query-form-element">
  68. <div class="layui-row layui-col-space10 layui-form-item">
  69. <div class="layui-col-xs12 layui-col-sm12">
  70. <label class="layui-form-label">出库单号:</label>
  71. <div class="layui-input-block">
  72. <input type="text" name="no" autocomplete="off" class="layui-input">
  73. </div>
  74. </div>
  75. <div class="layui-col-xs12 layui-col-sm12">
  76. <label class="layui-form-label">产品备注:</label>
  77. <div class="layui-input-block">
  78. <input type="text" name="product_notes" autocomplete="off" class="layui-input">
  79. </div>
  80. </div>
  81. </div>
  82. <div style="display: none">
  83. <button id="query-submit" lay-submit lay-filter="query-form-element">查询</button>
  84. </div>
  85. </form>
  86. </div>
  87. </div>
  88. <script src="../../layuiadmin/layui/layui.js?t=1"></script>
  89. <script>
  90. var _params = '';
  91. layui.config({
  92. base: '../../../layuiadmin/' //静态资源所在路径
  93. }).extend({
  94. index: 'lib/index', //主入口模块
  95. utils: 'utils'
  96. }).use(['index', 'table', 'laydate', 'form', 'utils'], function () {
  97. var $ = layui.$;
  98. var table = layui.table
  99. , form = layui.form
  100. , utils = layui.utils;
  101. var is_has = utils.isHasPermissions('material.view_material_cost');
  102. var cols = [];
  103. cols.push({type: 'checkbox', width: 50});
  104. cols.push({field: 'no', title: '出库单号', width: 140});
  105. cols.push({field: 'goods_text', title: '成品', width: 150});
  106. cols.push({field: 'receiver_text', title: '领用人', width: 100});
  107. cols.push({field: 'receiver_department_text', title: '领用部门', width: 120});
  108. cols.push({field: 'warehouse_text', title: '仓别', width: 130});
  109. cols.push({field: 'total_count', align:'right', title: '合计数量', width: 120});
  110. if(is_has){
  111. cols.push({field: 'total_cost', align:'right', title: '合计成本', width: 150});
  112. }
  113. cols.push({field: 'create_time', title: '创建时间', width: 180});
  114. cols.push({field: 'create_user_text', title: '创建人', width: 100});
  115. cols.push({field: 'status_text', title: '审核状态', width: 120});
  116. cols.push({field: 'check_time', title: '审核时间', width: 180});
  117. cols.push({field: 'check_user_text', title: '审核人', width: 150});
  118. cols.push({field: 'notes', title: '备注', minWidth: 200});
  119. cols.push({width: 170, align: 'left', fixed: 'right', toolbar: '#datagrid-operate-bar'});
  120. table.render({
  121. elem: '#datagrid'
  122. , url: '/material/deliver/data/?type=0'
  123. , cols: [cols]
  124. , page: true
  125. , height: 'full-104'
  126. ,totalRow:true
  127. ,parseData:function(res) {
  128. var cols = this.cols[0];
  129. for (var i in cols) {
  130. if (cols[i].field == 'total_count') {
  131. cols[i].totalRowText = res.more.total_count;
  132. }
  133. if (cols[i].field == 'total_cost') {
  134. cols[i].totalRowText = res.more.total_cost;
  135. }
  136. }
  137. return {
  138. "code": res.code, //解析接口状态
  139. "count": res.count, //解析数据长度
  140. "data": res.data //解析数据列表
  141. };
  142. }
  143. , done: function () {
  144. layui.index.removeNoPermButtons()
  145. }
  146. });
  147. //监听工具条
  148. table.on('tool(datagrid-operate)', function (obj) {
  149. var data = obj.data;
  150. if (obj.event === 'del') {
  151. if (data.status === "1"){
  152. layer.msg('出库单已审核,无法删除!');
  153. return;
  154. }
  155. layer.confirm('确定要删除吗?', function (index) {
  156. layer.close(index);
  157. layui.admin.req({
  158. url: '/material/deliver/delete/?id=' + data.id
  159. , done: function (res) {
  160. table.reload('datagrid', {});
  161. }
  162. });
  163. });
  164. } else if (obj.event === 'edit') {
  165. table.editdata = data;
  166. if (data.status === "1"){
  167. layer.msg('出库单已审核,无法修改!');
  168. return;
  169. }
  170. layer.open({
  171. type: 2,
  172. title: '修改',
  173. shadeClose: false,
  174. area: ['90%', '90%'],
  175. btn: ['保存', '取消'],
  176. yes: function (index, dom) {
  177. layui.onSubmitChild = function (data) {
  178. layer.close(index);
  179. table.reload('datagrid', {});
  180. };
  181. layui.submitChild();
  182. },
  183. btn2: function (index, layero) {
  184. layer.close(index);//关闭当前按钮
  185. },
  186. content: 'deliver_material_edit.html?id=' + data.id
  187. });
  188. }else if(obj.event === 'check'){
  189. layer.confirm('确定要审核吗?', function(index){
  190. layer.close(index);
  191. layui.admin.req({
  192. url: '/material/deliver/check/?id='+data.id
  193. ,done: function(res){
  194. table.reload('datagrid',{});
  195. }
  196. });
  197. });
  198. }else if(obj.event === 'detail'){
  199. table.editdata = data;
  200. layer.open({
  201. type: 2,
  202. title: '查看['+ data.no + ']',
  203. shadeClose: true,
  204. area: ['70%', '80%'],
  205. content: 'deliver_material_detail.html?id='+data.id
  206. });
  207. }
  208. });
  209. $('#btn_export').on('click', function () {
  210. layui.admin.req({
  211. url: '/material/deliver/export/?type=0',
  212. data: _params,
  213. done: function (res) {
  214. layui.view.download(res.data.filename);
  215. }
  216. });
  217. });
  218. $('#btn_export_detail').on('click', function () {
  219. var data = utils.getSelectedRow('datagrid');
  220. if (data == false) {
  221. return;
  222. }
  223. layui.admin.req({
  224. url: '/material/deliver/export/?type=0&id='+data.id,
  225. data: _params,
  226. done: function (res) {
  227. layui.view.download(res.data.filename);
  228. }
  229. });
  230. });
  231. $('#btn_add').on('click', function () {
  232. layer.open({
  233. type: 2,
  234. title: '添加出库',
  235. area: ['90%', '90%'],
  236. btn: ['保存', '取消'],
  237. yes: function (index, dom) {
  238. layui.onSubmitChild = function (data) {
  239. layer.close(index);
  240. table.reload('datagrid', {});
  241. };
  242. layui.submitChild();
  243. },
  244. btn2: function (index, layero) {
  245. layer.close(index);//关闭当前按钮
  246. },
  247. content: 'deliver_material_edit.html'
  248. });
  249. });
  250. $('#btn_query').on('click', function () {
  251. layer.open({
  252. type: 1,
  253. shadeClose: true,
  254. area: ['400px', '45%'],
  255. title: '查询',
  256. btn: ['查询'],
  257. yes: function (index, dom) {
  258. $("#query-submit").click();
  259. },
  260. content: $('#dlg_query')
  261. });
  262. });
  263. form.on('submit(query-form-element)', function (data) {
  264. //layer.msg(JSON.stringify(data.field));
  265. _params = data.field;
  266. table.reload('datagrid', {
  267. where: data.field,
  268. page:{curr:1}
  269. });
  270. layer.closeAll();
  271. return false
  272. });
  273. $('#btn_print').on('click', function () {
  274. var data = utils.getSelectedRow('datagrid');
  275. if (data == false) {
  276. return;
  277. }
  278. layer.open({
  279. type: 2,
  280. title: '打印出库单',
  281. shadeClose: true,
  282. area: ['90%', '90%'],
  283. btn: ['打印', '取消'],
  284. yes: function (index, dom) {
  285. layui.onSubmitChild = function(data){
  286. layer.close(index);
  287. };
  288. layui.submitChild();
  289. },
  290. btn2: function (index, layero) {
  291. layer.close(index);//关闭当前按钮
  292. },
  293. content: 'deliver_material_print.html?id=' + data.id
  294. });
  295. });
  296. $('#btn_print_use').on('click', function () {
  297. var data = utils.getSelectedRow('datagrid');
  298. if (data == false) {
  299. return;
  300. }
  301. layer.open({
  302. type: 2,
  303. title: '打印领用单',
  304. shadeClose: true,
  305. area: ['90%', '90%'],
  306. btn: ['打印', '取消'],
  307. yes: function (index, dom) {
  308. layui.onSubmitChild = function(data){
  309. layer.close(index);
  310. };
  311. layui.submitChild();
  312. },
  313. btn2: function (index, layero) {
  314. layer.close(index);//关闭当前按钮
  315. },
  316. content: 'deliver_material_print_use.html?id=' + data.id
  317. });
  318. });
  319. })
  320. </script>
  321. </body>
  322. </html>