edit.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /**
  2. * Created by zhang on 2018/9/3.
  3. */
  4. $(document).ready(function () {
  5. const locked = lockUtil.getLocked();
  6. lockUtil.lockTools($(document.body), locked);
  7. try {
  8. let tem = sortJson(JSON.parse($("#originalInfo").val()), compareInfo);
  9. $("#editValue").val(JSON.stringify(tem,null,4));
  10. }catch (err){
  11. console.log(err);
  12. }
  13. $("#format").click( function() {
  14. try {
  15. let jsonText = $("#editValue").val();
  16. $("#editValue").val(JSON.stringify(JSON.parse(jsonText),null,4));
  17. }catch (err){
  18. console.log(err);
  19. alert("输入的JSON格式有误,请重新输入!");
  20. }
  21. });
  22. $("#save").click(async function() {
  23. try {
  24. $.bootstrapLoading.start();
  25. let libID = $("#libID").val();
  26. let jsonText = $("#editValue").val();
  27. if(jsonText.indexOf("'")!=-1){
  28. alert("输入的格式不能包含 ' 位于:"+jsonText.substr(jsonText.indexOf("'")-15,18));
  29. return;
  30. }
  31. await ajaxPost("/material/saveLib",{query:{ID:libID},data:{materials:JSON.parse(jsonText)}});
  32. $.bootstrapLoading.end();
  33. }catch (err){
  34. $.bootstrapLoading.end();
  35. console.log(err);
  36. alert("保存失败,请查看输入数据");
  37. }
  38. });
  39. $("#createNormal").click(async function() {
  40. let normalInfo = [
  41. { "name": "综合用工", "unit": "工日", "coe": 2.3},
  42. { "name": "土石方用工", "unit": "工日", "coe": 1.2},
  43. { "name": "钢材", "unit": "t", "coe": 0.2},
  44. { "name": "水泥", "unit": "t", "coe": 0.6},
  45. { "name": "商品混凝土", "unit":"m3", "coe": 0.8},
  46. { "name": "锯材","unit": "m3", "coe": ""},
  47. { "name": "砂", "unit":"t", "coe": ""},
  48. { "name": "石子","unit": "t", "coe": ""},
  49. { "name": "保温材料", "unit": "", "coe": ""},
  50. { "name": "其它材料", "unit": "", "coe": ""},
  51. ];
  52. try {
  53. let jsonText = JSON.stringify(normalInfo);
  54. $("#editValue").val(JSON.stringify(JSON.parse(jsonText),null,4));
  55. }catch (err){
  56. console.log(err);
  57. }
  58. })
  59. });
  60. function compareInfo(a, b) {
  61. let mapping = {
  62. dispName: 1,
  63. key: 2,
  64. cellType: 3,
  65. readOnly: 4,
  66. required: 5,
  67. value: 6,
  68. options: 7,
  69. items: 8
  70. };
  71. let aV = mapping[a] ? mapping[a] : 0,
  72. bV = mapping[b] ? mapping[b] : 0;
  73. return aV - bV;
  74. }