calc_tmpl_folder.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. 'use strict';
  2. /**
  3. *
  4. * 计算模板-分类树
  5. * @author Mai
  6. * @date
  7. * @version
  8. */
  9. module.exports = app => {
  10. class CostStageLedger extends app.BaseTreeService {
  11. /**
  12. * 构造函数
  13. *
  14. * @param {Object} ctx - egg全局变量
  15. * @return {void}
  16. */
  17. constructor(ctx) {
  18. super(ctx, {
  19. mid: 'master_id',
  20. kid: 'tree_id',
  21. pid: 'tree_pid',
  22. order: 'tree_order',
  23. level: 'tree_level',
  24. isLeaf: 'tree_is_leaf',
  25. fullPath: 'tree_full_path',
  26. keyPre: 'calc_tmpl_maxTreeId:',
  27. uuid: true,
  28. });
  29. this.tableName = 'calc_tmpl_folder';
  30. }
  31. _getDefaultData(data) {
  32. data.pid = this.ctx.session.sessionProject.id;
  33. data.type = data.master_id.split('-')[1];
  34. data.add_user_id = this.ctx.session.sessionUser.accountId;
  35. data.update_user_id = data.add_user_id;
  36. }
  37. async _deleteRelaData(mid, deleteData) {
  38. await this.transaction.query(`UPDATE ${this.ctx.service.calcTmpl.tableName} SET folder_id = '' WHERE folder_id IN(${deleteData.map(x => { return `'${x.id}'`; }).join(', ')})`);
  39. }
  40. }
  41. return CostStageLedger;
  42. };