options_view.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /**
  2. * Created by Zhong on 2017/9/28.
  3. */
  4. let optionsOprObj = {
  5. options: null,
  6. optionsTypes: {GENERALOPTS: 'GENERALOPTS', COLOROPTS: 'COLOROPTS'},
  7. rationQuanACToBillsQuan: $('#generalOpts1'),
  8. rationQuanACToRationUnit: $('#generalOpts2'),
  9. getOptions: function () {
  10. let me = this;
  11. CommonAjax.post('/options/getOptions', [], function (rstData) {
  12. me.options = rstData;
  13. let gOpts = me.options[me.optionsTypes.GENERALOPTS];
  14. if(isDef(gOpts)){
  15. for(let attr in gOpts){
  16. me[attr][0].checked = gOpts[attr];
  17. }
  18. }
  19. });
  20. },
  21. saveOptions: function (type, opts) {
  22. let optSettingType = 'options.' + type;
  23. let postData = Object.create(null);
  24. postData[optSettingType] = opts;
  25. CommonAjax.post('/options/saveOptions', {optSetting: postData});
  26. },
  27. //更新optionsOprObj对象options数据
  28. updateOptions: function (options, updateObj) {
  29. if(isDef(options[updateObj.type])){
  30. options[updateObj.type][updateObj.opt] = updateObj.value;
  31. }
  32. },
  33. getOptsByType: function (options, type) {
  34. return isDef(options[type]) ? options[type] : null;
  35. },
  36. getOption: function (type, optionName) {
  37. if(!isDef(optionName)){
  38. return isDef(this.options[type]) ? this.options[type] : null;
  39. }
  40. else {
  41. return isDef(this.options[type][optionName])
  42. ? this.options[type][optionName]
  43. : optionName === this.optionsTypes.GENERALOPTS
  44. ? true
  45. : null;
  46. }
  47. }
  48. };
  49. optionsOprObj.getOptions();
  50. optionsOprObj.rationQuanACToBillsQuan.click(function () {
  51. let value = this.checked;
  52. optionsOprObj.updateOptions(optionsOprObj.options, {type: optionsOprObj.optionsTypes.GENERALOPTS, opt: 'rationQuanACToBillsQuan', value: value});
  53. optionsOprObj.saveOptions(optionsOprObj.optionsTypes.GENERALOPTS, optionsOprObj.getOptsByType(optionsOprObj.options, optionsOprObj.optionsTypes.GENERALOPTS));
  54. });
  55. optionsOprObj.rationQuanACToRationUnit.click(function () {
  56. let value = this.checked;
  57. optionsOprObj.updateOptions(optionsOprObj.options, {type: optionsOprObj.optionsTypes.GENERALOPTS, opt: 'rationQuanACToRationUnit', value: value});
  58. optionsOprObj.saveOptions(optionsOprObj.optionsTypes.GENERALOPTS, optionsOprObj.getOptsByType(optionsOprObj.options, optionsOprObj.optionsTypes.GENERALOPTS));
  59. });
  60. /*let optionsOprObj = {
  61. options: null,
  62. optionsTypes: {GENERALOPTS: 'GENERALOPTS'},
  63. rationQuanACToBillsQuan: $('#generalOpts1'),
  64. rationQuanACToRationUnit: $('#generalOpts2'),
  65. getOptions: function () {
  66. let me = this;
  67. CommonAjax.post('/options/getOptions', [], function (rstData) {
  68. me.options = rstData;
  69. for(let i = 0, len = me.options.length; i < len; i++){
  70. let optsType = me.options[i].type,
  71. opts = me.options[i].opts;
  72. if(optsType === me.optionsTypes.GENERALOPTS){
  73. for(let attr in opts){
  74. me[attr][0].checked = opts[attr];
  75. }
  76. }
  77. }
  78. });
  79. },
  80. saveOptions: function (optsType, opts) {
  81. CommonAjax.post('/options/saveOptions', {optsType: optsType, opts: opts});
  82. },
  83. //更新optionsOprObj对象options数据
  84. updateOptions: function (options, updateObj) {
  85. for(let i = 0, len = options.length; i < len; i++){
  86. if(options[i].type === updateObj.type){
  87. options[i].opts[updateObj.opt] = updateObj.value;
  88. break;
  89. }
  90. }
  91. },
  92. getOptsByType: function (options, type) {
  93. let rst = null;
  94. for(let i = 0, len = options.length; i < len; i++){
  95. if(options[i].type === type){
  96. rst = options[i].opts;
  97. }
  98. }
  99. return rst;
  100. },
  101. getOption: function (type, optionName) {
  102. let opts = this.getOptsByType(this.options, type);
  103. return opts[optionName];
  104. }
  105. };
  106. optionsOprObj.getOptions();
  107. optionsOprObj.rationQuanACToBillsQuan.click(function () {
  108. let value = this.checked;
  109. optionsOprObj.updateOptions(optionsOprObj.options, {type: optionsOprObj.optionsTypes.GENERALOPTS, opt: 'rationQuanACToBillsQuan', value: value});
  110. optionsOprObj.saveOptions(optionsOprObj.optionsTypes.GENERALOPTS, optionsOprObj.getOptsByType(optionsOprObj.options, optionsOprObj.optionsTypes.GENERALOPTS));
  111. });
  112. optionsOprObj.rationQuanACToRationUnit.click(function () {
  113. let value = this.checked;
  114. optionsOprObj.updateOptions(optionsOprObj.options, {type: optionsOprObj.optionsTypes.GENERALOPTS, opt: 'rationQuanACToRationUnit', value: value});
  115. optionsOprObj.saveOptions(optionsOprObj.optionsTypes.GENERALOPTS, optionsOprObj.getOptsByType(optionsOprObj.options, optionsOprObj.optionsTypes.GENERALOPTS));
  116. });*/