options_view.js 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. me.options = projectOptins;
  12. let gOpts = me.options[me.optionsTypes.GENERALOPTS];
  13. if(isDef(gOpts)){
  14. for(let attr in gOpts){
  15. me[attr].prop('checked', gOpts[attr]);
  16. }
  17. }
  18. },
  19. saveOptions: function (type, opts) {
  20. let optSettingType = 'options.' + type;
  21. let postData = Object.create(null);
  22. postData[optSettingType] = opts;
  23. CommonAjax.post('/options/saveOptions', {optSetting: postData});
  24. },
  25. //更新optionsOprObj对象options数据
  26. updateOptions: function (options, updateObj) {
  27. if(isDef(options[updateObj.type])){
  28. options[updateObj.type][updateObj.opt] = updateObj.value;
  29. }
  30. },
  31. getOptsByType: function (options, type) {
  32. return isDef(options[type]) ? options[type] : null;
  33. },
  34. getOption: function (type, optionName) {
  35. if(!isDef(optionName)){
  36. return isDef(this.options[type]) ? this.options[type] : null;
  37. }
  38. else {
  39. return isDef(this.options[type][optionName])
  40. ? this.options[type][optionName]
  41. : optionName === this.optionsTypes.GENERALOPTS
  42. ? true
  43. : null;
  44. }
  45. },
  46. needToSaveGeneralOpts: function () {
  47. let v1 = this.rationQuanACToBillsQuan.prop('checked');
  48. let v2 = this.rationQuanACToRationUnit.prop('checked');
  49. let orgV1 = this.getOption(this.optionsTypes.GENERALOPTS, 'rationQuanACToBillsQuan');
  50. let orgV2 = this.getOption(this.optionsTypes.GENERALOPTS, 'rationQuanACToRationUnit');
  51. return v1 !== orgV1 || v2 !== orgV2;
  52. }
  53. };
  54. $('#poj-set').on('shown.bs.modal', function () {
  55. let orgV1 = optionsOprObj.getOption(optionsOprObj.optionsTypes.GENERALOPTS, 'rationQuanACToBillsQuan');
  56. let orgV2 = optionsOprObj.getOption(optionsOprObj.optionsTypes.GENERALOPTS, 'rationQuanACToRationUnit');
  57. optionsOprObj.rationQuanACToBillsQuan.prop('checked', orgV1);
  58. optionsOprObj.rationQuanACToRationUnit.prop('checked', orgV2);
  59. });
  60. //选项移到了项目属性的系统选项中
  61. /*optionsOprObj.rationQuanACToBillsQuan.click(function () {
  62. let value = optionsOprObj.rationQuanACToBillsQuan.checked;
  63. optionsOprObj.updateOptions(optionsOprObj.options, {type: optionsOprObj.optionsTypes.GENERALOPTS, opt: 'rationQuanACToBillsQuan', value: value});
  64. optionsOprObj.saveOptions(optionsOprObj.optionsTypes.GENERALOPTS, optionsOprObj.getOptsByType(optionsOprObj.options, optionsOprObj.optionsTypes.GENERALOPTS));
  65. });
  66. optionsOprObj.rationQuanACToRationUnit.click(function () {
  67. let value = optionsOprObj.rationQuanACToRationUnit.checked;
  68. optionsOprObj.updateOptions(optionsOprObj.options, {type: optionsOprObj.optionsTypes.GENERALOPTS, opt: 'rationQuanACToRationUnit', value: value});
  69. optionsOprObj.saveOptions(optionsOprObj.optionsTypes.GENERALOPTS, optionsOprObj.getOptsByType(optionsOprObj.options, optionsOprObj.optionsTypes.GENERALOPTS));
  70. });*/