options_view.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /**
  2. * Created by Zhong on 2017/9/28.
  3. */
  4. let optionsOprObj = {
  5. options: null,
  6. optionsTypes: {GENERALOPTS: 'GENERALOPTS'},
  7. rationQuanACToBillsQuan: $('#generalOpts1'),
  8. rationQuanACToRationUnit: $('#generalOpts2'),
  9. getOptions: function () {
  10. let me = this;
  11. $.ajax({
  12. type: 'post',
  13. url: '/options/getOptions',
  14. dataType: 'json',
  15. success: function (result) {
  16. if(!result.error){
  17. me.options = result.data;
  18. for(let i = 0, len = me.options.length; i < len; i++){
  19. let optsType = me.options[i].type,
  20. opts = me.options[i].opts;
  21. if(optsType === me.optionsTypes.GENERALOPTS){
  22. for(let attr in opts){
  23. me[attr][0].checked = opts[attr];
  24. }
  25. }
  26. }
  27. }
  28. }
  29. });
  30. },
  31. saveOptions: function (optsType, opts) {
  32. $.ajax({
  33. type: 'post',
  34. url: '/options/saveOptions',
  35. data: {optsType: optsType, opts: JSON.stringify(opts)},
  36. dataType: 'json',
  37. success: function (result) {
  38. }
  39. })
  40. },
  41. //更新optionsOprObj对象options数据
  42. updateOptions: function (options, updateObj) {
  43. for(let i = 0, len = options.length; i < len; i++){
  44. if(options[i].type === updateObj.type){
  45. options[i].opts[updateObj.opt] = updateObj.value;
  46. break;
  47. }
  48. }
  49. },
  50. getOptsByType: function (options, type) {
  51. let rst = null;
  52. for(let i = 0, len = options.length; i < len; i++){
  53. if(options[i].type === type){
  54. rst = options[i].opts;
  55. }
  56. }
  57. return rst;
  58. },
  59. getOption: function (type, optionName) {
  60. let opts = this.getOptsByType(this.options, type);
  61. return opts[optionName];
  62. }
  63. };
  64. optionsOprObj.getOptions();
  65. optionsOprObj.rationQuanACToBillsQuan.click(function () {
  66. let value = this.checked;
  67. optionsOprObj.updateOptions(optionsOprObj.options, {type: optionsOprObj.optionsTypes.GENERALOPTS, opt: 'rationQuanACToBillsQuan', value: value});
  68. optionsOprObj.saveOptions(optionsOprObj.optionsTypes.GENERALOPTS, optionsOprObj.getOptsByType(optionsOprObj.options, optionsOprObj.optionsTypes.GENERALOPTS));
  69. });
  70. optionsOprObj.rationQuanACToRationUnit.click(function () {
  71. let value = this.checked;
  72. optionsOprObj.updateOptions(optionsOprObj.options, {type: optionsOprObj.optionsTypes.GENERALOPTS, opt: 'rationQuanACToRationUnit', value: value});
  73. optionsOprObj.saveOptions(optionsOprObj.optionsTypes.GENERALOPTS, optionsOprObj.getOptsByType(optionsOprObj.options, optionsOprObj.optionsTypes.GENERALOPTS));
  74. });