version_controller.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /**
  2. * 版本控制控制器
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/7/28
  6. * @version
  7. */
  8. import BaseController from "../../common/base/base_controller";
  9. import VersionModel from "../models/version_model";
  10. class VersionController extends BaseController {
  11. /**
  12. * 版本控制页面
  13. *
  14. * @param {object} request
  15. * @param {object} response
  16. * @return {void}
  17. */
  18. async index(request, response) {
  19. let id = request.query.id;
  20. let versionList = [];
  21. // @todo 后续从库中获取
  22. let province = [
  23. {id: 1, name: '重庆省'},
  24. {id: 2, name: '广东省'},
  25. ];
  26. let billList = {
  27. 1: [
  28. {id: '1', name: '重庆2017标准清单'},
  29. {id: '2', name: '重庆2015标准清单'}
  30. ],
  31. 2: [
  32. {id: '3', name: '广东2017标准清单'},
  33. {id: '4', name: '广东2015标准清单'},
  34. ]
  35. };
  36. let rationList = {
  37. 1: [
  38. {id: '1', name: '重庆2017定额'},
  39. {id: '2', name: '重庆2015定额'}
  40. ],
  41. 2: [
  42. {id: '3', name: '广东2017定额'},
  43. {id: '4', name: '广东2015定额'}
  44. ]
  45. };
  46. let selectedVersion = {};
  47. try {
  48. let versionModel = new VersionModel();
  49. versionList = await versionModel.getVersionList();
  50. if (versionList.length <= 0) {
  51. throw '没有数据';
  52. }
  53. // 循环查找数据
  54. for (let tmp of versionList) {
  55. if (tmp._id.toString() === id) {
  56. selectedVersion = tmp;
  57. break;
  58. }
  59. }
  60. selectedVersion = Object.keys(selectedVersion).length <= 0 ? versionList[0] : selectedVersion;
  61. } catch (error) {
  62. console.log(error);
  63. }
  64. let renderData = {
  65. id: id,
  66. versionList: versionList,
  67. selectedVersion: selectedVersion,
  68. billList: JSON.stringify(billList),
  69. rationList: JSON.stringify(rationList),
  70. province: JSON.stringify(province),
  71. layout: 'users/views/layout/layout'
  72. };
  73. response.render('users/views/version/index', renderData);
  74. }
  75. /**
  76. * 新增版本操作
  77. *
  78. * @param {object} request
  79. * @param {object} response
  80. * @return {void}
  81. */
  82. async add(request, response) {
  83. let name = request.body.name;
  84. let standardBillId = request.body.standard_bill_id;
  85. let standardBill = request.body.standard_bill;
  86. let rationLibId = request.body.ration_lib_id;
  87. let rationLib = request.body.ration_lib;
  88. let responseData = {
  89. err: 0,
  90. msg: ''
  91. };
  92. try {
  93. let insertData = {
  94. name: name,
  95. standard_bill: [{id: standardBillId, name: standardBill}],
  96. ration_lib: [{id: rationLibId, name: rationLib}]
  97. };
  98. let versionModel = new VersionModel();
  99. let result = await versionModel.add(insertData);
  100. if (!result) {
  101. throw '新增版本失败';
  102. }
  103. } catch (error) {
  104. console.log(error);
  105. responseData.err = 1;
  106. responseData.msg = error;
  107. }
  108. response.json(responseData);
  109. }
  110. }
  111. export default VersionController;