bills_controller.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /**
  2. * Created by jimiz on 2017/4/7.
  3. */
  4. var billsData = require('../models/bills');
  5. let ProjectsData = require('../../pm/models/project_model').project;
  6. //统一回调函数
  7. var callback = function(req, res, err, message, data){
  8. res.json({error: err, message: message, data: data});
  9. };
  10. module.exports = {
  11. getData: function(req, res){
  12. var data = JSON.parse(req.body.data);
  13. billsData.getData(data.projectId, function(err, message, billsList){
  14. if (err === 0) {
  15. callback(req, res, err, message, billsList);
  16. } else {
  17. callback(req, res, err, message, null);
  18. }
  19. });
  20. },
  21. getItemTemplate: function(req, res){
  22. //var data = JSON.parse(req.body.data);
  23. billsData.getItemTemplate(function(err, message, billsItem){
  24. if (billsItem) {
  25. callback(req, res, err, message, billsItem);
  26. } else {
  27. callback(req, res, err, message, null);
  28. }
  29. });
  30. },
  31. allocIDs: function(req, res){
  32. billsData.allocIDs(function(err, message, data){
  33. if (err) {
  34. callback(req, res, err, message, data);
  35. } else {
  36. callback(req, res, err, message, null);
  37. }
  38. });
  39. },
  40. //zhong 2017-9-1
  41. updateCharacterContent: function (req, res) {
  42. let data = JSON.parse(req.body.data);
  43. let findSet = data.findSet,
  44. updateObj = data.updateObj,
  45. txtObj = data.txtObj;
  46. billsData.updateCharacterContent(findSet, updateObj, txtObj, function (err, message) {
  47. callback(req, res, err, message, null);
  48. });
  49. },
  50. updateBill: async function(request, response) {
  51. const data = JSON.parse(request.body.data);
  52. const findSet = data.findSet;
  53. const updateData = data.updateData;
  54. let settingData = {};
  55. // 筛选出要保存在项目属性的设置
  56. for (const index in updateData) {
  57. if (updateData[index].field === 'addRule') {
  58. settingData = updateData[index].value;
  59. delete updateData[index];
  60. }
  61. }
  62. // 更新项目属性
  63. const propertyUpdateData = {
  64. property: 'addRule',
  65. data: settingData
  66. };
  67. const projectResult = await ProjectsData.updateProjectProperty(findSet.projectID, propertyUpdateData);
  68. const result = await billsData.updateBill(findSet, updateData);
  69. const message = !result || !projectResult ? '修改失败' : '修改成功';
  70. const err = !result || !projectResult ? 1 : 0;
  71. callback(request, response, err, message, null);
  72. }
  73. };