single-controller.js_en.ftl 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import {invokeServer, msg, Scope} from 'yvan-ext'
  2. import _ from 'lodash'
  3. import vjson from "./${moduleName}.view"
  4. import model from "./${moduleName}.model"
  5. export default class ${moduleName} extends Scope {
  6. path = '${invokeUrl!""}'
  7. constructor() {
  8. super({model, vjson});
  9. }
  10. onLoad() {
  11. }
  12. refresh() {
  13. this.refs.grid1.reload()
  14. }
  15. grid1Select(sender, selected) {
  16. this.viewModel.set('${primaryKey}', selected[0]?.data?.${primaryKey})
  17. }
  18. <#switch editType>
  19. <#case 1>
  20. <#break>
  21. <#case 2>
  22. add() {
  23. this.refs.grid1.appendEditRow({}, 1)
  24. }
  25. <#break>
  26. <#case 3>
  27. <#break>
  28. <#default>
  29. </#switch>
  30. <#if delete>
  31. remove() {
  32. system.confirm(`${deleteTips!"真的要删除?"}`).then(() => {
  33. this.refs.grid1.removeEditRow()
  34. })
  35. }
  36. </#if>
  37. <#if editType != 1 || delete>
  38. save() {
  39. let {newRows, modifyRows, removeRecords, rows, err} = system.getGridEditRows(this.refs.grid1)
  40. if (err) {
  41. return
  42. }
  43. const primaryKey = this.viewModel.get('primaryKey')
  44. this.setLoading(true)
  45. invokeServer('${invokeUrl!''}@saveItems', {
  46. primaryKey,
  47. newRows,
  48. modifyRows,
  49. removeRecords,
  50. }).then(res => {
  51. system.msg(res.msg)
  52. this.refs.grid1.reload()
  53. }).finally(() => {
  54. this.setLoading(false)
  55. })
  56. }
  57. </#if>
  58. }