formula.js 26 KB

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