options_view.js 3.9 KB

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