version_controller.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  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. import STDRationLibMapModel from "../../common/std/std_ration_lib_map_model";
  11. import {default as ProvinceConst, List as ProvinceList} from "../../common/const/province_const";
  12. class VersionController extends BaseController {
  13. /**
  14. * 版本控制页面
  15. *
  16. * @param {object} request
  17. * @param {object} response
  18. * @return {void}
  19. */
  20. async index(request, response) {
  21. let id = request.query.id;
  22. let versionList = [];
  23. let billList = {
  24. 1: [
  25. {id: '1', name: '重庆2017标准清单'},
  26. {id: '2', name: '重庆2015标准清单'}
  27. ],
  28. 2: [
  29. {id: '3', name: '广东2017标准清单'},
  30. {id: '4', name: '广东2015标准清单'},
  31. ]
  32. };
  33. let rationList = {};
  34. let selectedVersion = {};
  35. try {
  36. // 获取定额库
  37. let stdRationLibMapModel = new STDRationLibMapModel();
  38. rationList = await stdRationLibMapModel.getRationLib();
  39. let versionModel = new VersionModel();
  40. versionList = await versionModel.getVersionList();
  41. if (versionList.length <= 0) {
  42. throw '没有数据';
  43. }
  44. // 循环查找数据
  45. for (let tmp of versionList) {
  46. if (tmp._id.toString() === id) {
  47. selectedVersion = tmp;
  48. break;
  49. }
  50. }
  51. selectedVersion = Object.keys(selectedVersion).length <= 0 ? versionList[0] : selectedVersion;
  52. } catch (error) {
  53. console.log(error);
  54. }
  55. let renderData = {
  56. id: id,
  57. versionList: versionList,
  58. selectedVersion: selectedVersion,
  59. billList: JSON.stringify(billList),
  60. rationList: JSON.stringify(rationList),
  61. province: JSON.stringify(ProvinceList),
  62. layout: 'users/views/layout/layout'
  63. };
  64. response.render('users/views/version/index', renderData);
  65. }
  66. /**
  67. * 新增版本操作
  68. *
  69. * @param {object} request
  70. * @param {object} response
  71. * @return {void}
  72. */
  73. async add(request, response) {
  74. let name = request.body.name;
  75. let standardBillId = request.body.standard_bill_id;
  76. let standardBill = request.body.standard_bill;
  77. let rationLibId = request.body.ration_lib_id;
  78. let rationLib = request.body.ration_lib;
  79. let responseData = {
  80. err: 0,
  81. msg: ''
  82. };
  83. try {
  84. let insertData = {
  85. name: name,
  86. standard_bill: [{id: standardBillId, name: standardBill}],
  87. ration_lib: [{id: rationLibId, name: rationLib}]
  88. };
  89. let versionModel = new VersionModel();
  90. let result = await versionModel.add(insertData);
  91. if (!result) {
  92. throw '新增版本失败';
  93. }
  94. } catch (error) {
  95. console.log(error);
  96. responseData.err = 1;
  97. responseData.msg = error;
  98. }
  99. response.json(responseData);
  100. }
  101. /**
  102. * 新增标准清单/定额库
  103. *
  104. * @param {object} request
  105. * @param {object} response
  106. * @return {void}
  107. */
  108. async addLib(request, response) {
  109. let responseData = {
  110. err: 0,
  111. msg: ''
  112. };
  113. try {
  114. let versionModel = new VersionModel();
  115. let addResult = await versionModel.addLib(request.body);
  116. if (!addResult) {
  117. throw '新增失败';
  118. }
  119. } catch (error) {
  120. responseData.err = 1;
  121. responseData.msg = error;
  122. }
  123. response.json(responseData);
  124. }
  125. /**
  126. * 删除对应的标准清单/定额库
  127. *
  128. * @param {object} request
  129. * @param {object} response
  130. * @return {void}
  131. */
  132. async deleteLib(request, response) {
  133. let id = request.body.id;
  134. let model = request.body.model;
  135. let deleteId = request.body.delete_id;
  136. let responseData = {
  137. err: 0,
  138. msg: ''
  139. };
  140. try {
  141. let versionModel = new VersionModel();
  142. let result = await versionModel.deleteLib(id, deleteId, model);
  143. if (!result) {
  144. throw '删除失败';
  145. }
  146. } catch (error) {
  147. responseData.err = 1;
  148. responseData.msg = error;
  149. }
  150. response.json(responseData);
  151. }
  152. }
  153. export default VersionController;