version_controller.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  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. * 新增标准清单/定额库
  112. *
  113. * @param {object} request
  114. * @param {object} response
  115. * @return {void}
  116. */
  117. async addLib(request, response) {
  118. let responseData = {
  119. err: 0,
  120. msg: ''
  121. };
  122. try {
  123. let versionModel = new VersionModel();
  124. let addResult = await versionModel.addLib(request.body);
  125. if (!addResult) {
  126. throw '新增失败';
  127. }
  128. } catch (error) {
  129. responseData.err = 1;
  130. responseData.msg = error;
  131. }
  132. response.json(responseData);
  133. }
  134. /**
  135. * 删除对应的标准清单/定额库
  136. *
  137. * @param {object} request
  138. * @param {object} response
  139. * @return {void}
  140. */
  141. async deleteLib(request, response) {
  142. let id = request.body.id;
  143. let model = request.body.model;
  144. let deleteId = request.body.delete_id;
  145. let responseData = {
  146. err: 0,
  147. msg: ''
  148. };
  149. try {
  150. let versionModel = new VersionModel();
  151. let result = await versionModel.deleteLib(id, deleteId, model);
  152. if (!result) {
  153. throw '删除失败';
  154. }
  155. } catch (error) {
  156. responseData.err = 1;
  157. responseData.msg = error;
  158. }
  159. response.json(responseData);
  160. }
  161. }
  162. export default VersionController;