formula.js 25 KB

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