formula.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend: {
  7. index_url: 'formula/index' + location.search,
  8. add_url: 'formula/add',
  9. edit_url: 'formula/edit',
  10. del_url: 'formula/del',
  11. multi_url: 'formula/multi',
  12. import_url: 'formula/import',
  13. table: 'formula',
  14. }
  15. });
  16. var table = $("#table");
  17. // 初始化表格
  18. table.bootstrapTable({
  19. url: $.fn.bootstrapTable.defaults.extend.index_url,
  20. pk: 'id',
  21. sortName: 'id',
  22. fixedColumns: true,
  23. fixedRightNumber: 1,
  24. // 必须添加这个,customformtpl与html的ID一致
  25. searchFormTemplate: 'customformtpl',
  26. columns: [
  27. [
  28. {checkbox: true},
  29. {field: 'id', title: __('Id') ,operate: false},
  30. // {field: 'user_id', title: __('User_id')},
  31. // {field: 'company_id', title: __('Company_id')},
  32. // {field: 'no', title: __('No'), operate: 'LIKE'},
  33. // {field: 'formula_no', title: __('Formula_no'), operate: 'LIKE'},
  34. {field: 'name', title: __('Name'), operate: 'LIKE'},
  35. {field: 'version', title: __('Version'),operate: false},
  36. // {field: 'date', title: __('Date'), operate: 'LIKE'},
  37. // {field: 'charge_name', title: __('Charge_name'), operate: 'LIKE'},
  38. // {field: 'examine_name', title: __('Examine_name'), operate: 'LIKE'},
  39. {field: 'examine_status', title: __('Examine_status'), searchList: {"1":__('Examine_status 1'),"2":__('Examine_status 2'),"3":__('Examine_status 3')}, formatter: Table.api.formatter.status},
  40. // {field: 'remark', title: __('Remark'), operate: 'LIKE'},
  41. // {field: 'level', title: __('Level')},
  42. // {field: 'usability', title: __('Usability'), operate: 'LIKE'},
  43. // {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
  44. {field: 'create', title: __('Create'),operate: false, addclass:'datetimerange', autocomplete:false},
  45. {field: 'operate', title: '操作', buttons:[{
  46. name:'task',
  47. text:'生成作业票',
  48. title:'生成作业票',
  49. icon:'fa fa-add',
  50. extend: 'data-area=["100%","100%"]',
  51. classname:'btn btn-xs btn-info btn-fields btn-dialog task',
  52. url:'formula/task',
  53. }],
  54. table: table,
  55. events: Table.api.events.operate, formatter: Table.api.formatter.operate
  56. },
  57. // {field: 'operate', title: __('Operate'),table: table, events: Table.api.events.operate,formatter: Table.api.formatter.operate}
  58. ]
  59. ]
  60. });
  61. table.on('post-body.bs.table',function(){
  62. $(".btn-editone").data("area",["100%","100%"]);
  63. });
  64. // 为表格绑定事件
  65. Table.api.bindevent(table);
  66. },
  67. add: function () {
  68. var gy_num = 1;
  69. $('#add').click(function () {
  70. var material = $('#add_material').val();
  71. var percentage = $('#add_percentage').val();
  72. var gy_name = $('#add_gy_name').selectPageText();
  73. var html = '';
  74. html += '<tr><td><input class="form-control material" type="text" value="'+material+'"></td>';
  75. html += '<td><input class="form-control percentage" type="number" value="'+percentage+'"></td>';
  76. html += '<td><input class="form-control gy_name" type="text" value="'+gy_name+'" ></td>';
  77. html += '<td><input class="form-control gy_num" type="text" value="'+gy_num+'" ></td>';
  78. html += '<td><button type="button" class="btn btn-danger del">删除</button></td></tr>';
  79. $('#gy').append(html);
  80. if (gy_name !=''){
  81. gy_num = gy_num +1;
  82. }
  83. });
  84. $(document).on('click','.del',function () {
  85. $(this).parent().parent().remove();
  86. });
  87. Controller.api.bindevent();
  88. $(document).on('click','.submit',function () {
  89. Form.api.bindevent($("form[role=form]"), function(data, ret){
  90. Toastr.success('111');//成功
  91. }, function(data, ret){
  92. Toastr.success("222");
  93. }, function(success, error){
  94. var verify = 1;
  95. var name = $('#c-name').val();
  96. if (name == '' || name== undefined) {
  97. verify = -1;
  98. }
  99. var formula_no = $('#c-no').val();
  100. if (formula_no == '' || formula_no== undefined) {
  101. verify = -1;
  102. }
  103. var charge_name = $('#c-charge_name').val();
  104. if (charge_name == '' || charge_name== undefined) {
  105. verify = -1;
  106. }
  107. var examine_name = $('#c-examine_name').val();
  108. if (examine_name == '' || examine_name== undefined) {
  109. verify = -1;
  110. }
  111. var remark = $('#c-remark').val();
  112. var version = $('#c-version').val();
  113. var date = $('#c-date').val();
  114. var model = $('#c-model').val();
  115. var usability = $('#c-usability').selectPageText();
  116. if (usability == ''){
  117. usability = 99;
  118. }
  119. // console.log(usability);return false;
  120. if (verify == -1){
  121. layer.confirm("数据格式不对,请仔细核查!");return false;
  122. }
  123. //基础数据
  124. var baseData = [];
  125. baseData.push(name);
  126. baseData.push(formula_no);
  127. baseData.push(charge_name);
  128. baseData.push(examine_name);
  129. baseData.push(remark);
  130. baseData.push(version);
  131. baseData.push(date);
  132. baseData.push(usability);
  133. baseData.push(model);
  134. console.log(baseData);
  135. //配方数据
  136. var data = [];
  137. var formulaTrList = $("#gy").find("tr");//行数
  138. for (var i = 1; i < formulaTrList.length; i++) {
  139. var formulaData = [];
  140. var formulaTrArr=formulaTrList.eq(i);
  141. var tdOne = formulaTrArr.children("td").eq(0).find("input").val();
  142. var tdTwo = formulaTrArr.children("td").eq(1).find("input").val();
  143. var tdThr = formulaTrArr.children("td").eq(2).find("input").val();
  144. var tdFou = formulaTrArr.children("td").eq(3).find("input").val();
  145. if (tdOne == '' && tdTwo == '' && tdThr==''){
  146. layer.confirm('工艺信息不能全部为空!');return false;
  147. }
  148. if (tdFou == ''){
  149. layer.confirm('工序号不能为空!');return false;
  150. }
  151. formulaData.push(tdOne);
  152. formulaData.push(tdTwo);
  153. formulaData.push(tdThr);
  154. formulaData.push(tdFou);
  155. data.push(formulaData);
  156. }
  157. if (data.length == 0){
  158. layer.confirm('工艺信息不能为空!');return false;
  159. }
  160. console.log(data);
  161. // return false;
  162. Fast.api.ajax({
  163. url:'formula/add',
  164. data:{baseData:baseData,formulaData:data}
  165. },function (data,ret) {
  166. //成功回调
  167. parent.Toastr.success("添加成功");
  168. Fast.api.close();
  169. parent.Fast.api.refreshmenu();
  170. return false;
  171. },function (data,ret) {
  172. parent.Toastr.error("添加失败");
  173. Fast.api.close();
  174. return false;
  175. });
  176. return false;
  177. });
  178. });
  179. },
  180. edit: function () {
  181. $('#add').click(function () {
  182. var material = $('#add_material').val();
  183. var percentage = $('#add_percentage').val();
  184. var gy_name = $('#add_gy_name').selectPageText();
  185. var html = '';
  186. html += '<tr><td><input class="form-control material" type="text" value="'+material+'"></td>';
  187. html += '<td><input class="form-control percentage" type="number" value="'+percentage+'"></td>';
  188. html += '<td><input class="form-control gy_name" type="text" value="'+gy_name+'"></td>';
  189. html += '<td><input class="form-control gy_num" type="text" value=""></td>';
  190. html += '<td><button type="button" class="btn btn-danger del">删除</button></td></tr>';
  191. $('#gy').append(html);
  192. });
  193. $(document).on('click','.del',function () {
  194. $(this).parent().parent().remove();
  195. });
  196. Controller.api.bindevent();
  197. $(document).on('click','.submit',function () {
  198. Form.api.bindevent($("form[role=form]"), function(data, ret){
  199. Toastr.success('111');//成功
  200. }, function(data, ret){
  201. Toastr.success("222");
  202. }, function(success, error){
  203. var verify = 1;
  204. var ids = $('#ids').attr('data-value');
  205. var name = $('#c-name').val();
  206. if (name == '' || name== undefined) {
  207. verify = -1;
  208. }
  209. var formula_no = $('#c-no').val();
  210. if (formula_no == '' || formula_no== undefined) {
  211. verify = -1;
  212. }
  213. var charge_name = $('#c-charge_name').val();
  214. if (charge_name == '' || charge_name== undefined) {
  215. verify = -1;
  216. }
  217. var examine_name = $('#c-examine_name').val();
  218. if (examine_name == '' || examine_name== undefined) {
  219. verify = -1;
  220. }
  221. var remark = $('#c-remark').val();
  222. var version = $('#c-version').val();
  223. var date = $('#c-date').val();
  224. var model = $('#c-model').val();
  225. var usability = $('#c-usability').selectPageText();
  226. if (usability == ''){
  227. usability = 99;
  228. }
  229. // console.log(usability);return false;
  230. if (verify == -1){
  231. layer.confirm("数据格式不对,请仔细核查!");return false;
  232. }
  233. //基础数据
  234. var baseData = [];
  235. baseData.push(name);
  236. baseData.push(formula_no);
  237. baseData.push(charge_name);
  238. baseData.push(examine_name);
  239. baseData.push(remark);
  240. baseData.push(version);
  241. baseData.push(date);
  242. baseData.push(usability);
  243. baseData.push(model);
  244. console.log(baseData);
  245. //配方数据
  246. var data = [];
  247. var formulaTrList = $("#gy").find("tr");//行数
  248. for (var i = 1; i < formulaTrList.length; i++) {
  249. var formulaData = [];
  250. var formulaTrArr=formulaTrList.eq(i);
  251. var tdOne = formulaTrArr.children("td").eq(0).find("input").val();
  252. var tdTwo = formulaTrArr.children("td").eq(1).find("input").val();
  253. var tdThr = formulaTrArr.children("td").eq(2).find("input").val();
  254. var tdFou = formulaTrArr.children("td").eq(3).find("input").val();
  255. if (tdOne == '' && tdTwo == '' && tdThr==''){
  256. layer.confirm('工艺信息不能全部为空!');return false;
  257. }
  258. if (tdFou == ''){
  259. layer.confirm('工序号不能为空!');return false;
  260. }
  261. formulaData.push(tdOne);
  262. formulaData.push(tdTwo);
  263. formulaData.push(tdThr);
  264. formulaData.push(tdFou);
  265. data.push(formulaData);
  266. }
  267. if (data.length == 0){
  268. layer.confirm('工艺信息不能为空!');return false;
  269. }
  270. console.log(ids);
  271. console.log(data);
  272. // return false;
  273. Fast.api.ajax({
  274. url:'formula/edit?ids='+ids,
  275. data:{baseData:baseData,formulaData:data}
  276. },function (data,ret) {
  277. //成功回调
  278. parent.Toastr.success("添加成功");
  279. Fast.api.close();
  280. parent.Fast.api.refreshmenu();
  281. return false;
  282. },function (data,ret) {
  283. parent.Toastr.error("添加失败");
  284. Fast.api.close();
  285. return false;
  286. });
  287. return false;
  288. });
  289. });
  290. },
  291. task: function () {
  292. $('#add').click(function () {
  293. //配方获取和计算
  294. var ids = $('#ids').val();
  295. var number = $('#c-number').val();
  296. if (number == ''){
  297. layer.confirm('生产量不能为空');
  298. return false;
  299. }
  300. //给打印界面赋值
  301. $('.total').text(number);
  302. var remark = $('#c-remark').val();
  303. remark = '备注:'+remark;
  304. $('.remark').text(remark);
  305. //给打印表头赋值
  306. var bach = $('#c-bach').val();
  307. $('#bach').text(bach);
  308. var formula = $('#c-name').val();
  309. $('#formula').val(formula);
  310. var drawer_name = $('#c-drawer_name').val();
  311. $('#drawer_name').text(drawer_name);
  312. var examine_name = $('#c-examine_name').val();
  313. $('#examine_name').text(examine_name);
  314. $.ajax({
  315. type: "POST",
  316. url: "formula/getNumber",
  317. data: {
  318. 'ids': ids,
  319. 'number': number
  320. },
  321. success:function(data) {
  322. if (1 == data.status)
  323. {
  324. var formulaTrList = $("#gy").find("tr");//行数
  325. for (var i = 1; i < formulaTrList.length; i++) {
  326. var formulaTrArr=formulaTrList.eq(i);
  327. var id = formulaTrArr.children("td").eq(2).find('input').attr('data-id');//应加量
  328. $.each(data.data,function (key,value){
  329. if (id == value.id){
  330. $('#input-'+id).val(value.num);
  331. }
  332. })
  333. }
  334. var print_gyList = $("#print_gy").find("tr");//行数
  335. for (var i = 1; i < print_gyList.length; i++) {
  336. var formulaTrArr=print_gyList.eq(i);
  337. var id = formulaTrArr.children("td").eq(1).attr('data-id');//应加量
  338. $.each(data.data,function (key,value){
  339. if (id == value.id){
  340. $('#text-'+id).text(value.num);
  341. }
  342. })
  343. }
  344. $('#formula_no').text(data.formula_no);
  345. $('#date').text(data.date);
  346. }else {
  347. layer.confirm(data.msg);
  348. }
  349. }
  350. })
  351. })
  352. Controller.api.bindevent();
  353. $(document).on('click','.submit',function () {
  354. Form.api.bindevent($("form[role=form]"), function(data, ret){
  355. Toastr.success('111');//成功
  356. }, function(data, ret){
  357. Toastr.success("222");
  358. }, function(success, error){
  359. var verify = 1;
  360. var ids = $('#ids').attr('value');
  361. var name = $('#c-name').val();
  362. if (name == '' || name== undefined) {
  363. verify = -1;
  364. }
  365. var bach = $('#c-bach').val();
  366. if (bach == '' || bach== undefined) {
  367. verify = -1;
  368. }
  369. var drawer_name = $('#c-drawer_name').val();
  370. if (drawer_name == '' || drawer_name== undefined) {
  371. verify = -1;
  372. }
  373. var examine_name = $('#c-examine_name').val();
  374. if (examine_name == '' || examine_name== undefined) {
  375. verify = -1;
  376. }
  377. var number = $('#c-number').val();
  378. var remark = $('#c-remark').val();
  379. var mid = $('#c-mid').val();
  380. var oid = $('#c-order-uncompleted').val();
  381. if (verify == -1){
  382. layer.confirm("数据格式不对,请仔细核查!");return false;
  383. }
  384. //基础数据
  385. var baseData = [];
  386. baseData.push(ids);
  387. baseData.push(name);
  388. baseData.push(bach);
  389. baseData.push(drawer_name);
  390. baseData.push(examine_name);
  391. baseData.push(number);
  392. baseData.push(remark);
  393. baseData.push(mid);
  394. baseData.push(oid);
  395. Fast.api.ajax({
  396. url:'formula/task?ids='+ids,
  397. data:{baseData:baseData}
  398. },function (data,ret) {
  399. //成功回调
  400. parent.Toastr.success("添加成功");
  401. Fast.api.close();
  402. parent.Fast.api.refreshmenu();
  403. return false;
  404. },function (data,ret) {
  405. parent.Toastr.error("添加失败");
  406. Fast.api.close();
  407. return false;
  408. });
  409. return false;
  410. });
  411. });
  412. },
  413. examine:function () {
  414. // 初始化表格参数配置
  415. Table.api.init({
  416. extend: {
  417. index_url: 'formula/examine' + location.search,
  418. add_url: 'formula/add',
  419. edit_url: 'formula/examine_edit',
  420. del_url: 'formula/del',
  421. multi_url: 'formula/multi',
  422. import_url: 'formula/import',
  423. table: 'formula',
  424. }
  425. });
  426. var table = $("#table");
  427. // 初始化表格
  428. table.bootstrapTable({
  429. url: $.fn.bootstrapTable.defaults.extend.index_url,
  430. pk: 'id',
  431. sortName: 'id',
  432. fixedColumns: true,
  433. fixedRightNumber: 1,
  434. columns: [
  435. [
  436. {checkbox: true},
  437. {field: 'id', title: __('Id') ,operate: false},
  438. {field: 'name', title: __('Name'), operate: 'LIKE'},
  439. {field: 'version', title: __('Version'),operate: false},
  440. {field: 'create', title: __('Create'),operate: false, addclass:'datetimerange', autocomplete:false},
  441. {field: 'operate', title: '操作', table: table, events: Table.api.events.operate, formatter: function (value,row,index) {
  442. var that = $.extend({},this);
  443. var table = $(that.table).clone(true);
  444. $(table).data('operate-del',null)//隐藏自带删除 修改按钮
  445. $(table).data('operate-edit',null)
  446. that.table = table;
  447. return Table.api.formatter.operate.call(that,value,row,index);
  448. },
  449. buttons:[{
  450. name:'task',
  451. text:'审核配方',
  452. title:'审核配方',
  453. icon:'fa fa-add',
  454. extend: 'data-area=["100%","100%"]',
  455. classname:'btn btn-xs btn-info btn-fields btn-dialog task',
  456. url:'formula/status',
  457. }],
  458. },
  459. ]
  460. ]
  461. });
  462. table.on('post-body.bs.table',function(){
  463. $(".btn-editone").data("area",["100%","100%"]);
  464. })
  465. // 为表格绑定事件
  466. Table.api.bindevent(table);
  467. },
  468. status:function () {
  469. Controller.api.bindevent();
  470. $(document).on('click','.examine',function () {
  471. console.log(44444)
  472. var ids = $('#ids').attr('data-value');
  473. var status = $(this).attr('data-value');
  474. console.log(ids)
  475. console.log(status);
  476. if (status == ''){
  477. layer.confirm('数据错误,请重新打开页面');return false;
  478. }
  479. Fast.api.ajax({
  480. url:'formula/status?ids='+ids,
  481. data:{status:status}
  482. },function (data,ret) {
  483. //成功回调
  484. parent.Toastr.success("审核成功");
  485. Fast.api.close();
  486. parent.Fast.api.refreshmenu();
  487. return false;
  488. },function (data,ret) {
  489. parent.Toastr.error("审核失败");
  490. Fast.api.close();
  491. return false;
  492. });
  493. });
  494. },
  495. api: {
  496. bindevent: function () {
  497. Form.api.bindevent($("form[role=form]"));
  498. }
  499. }
  500. };
  501. return Controller;
  502. });