queentreeController.ts 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. import { queenApi } from "queenjs";
  2. import { BusController } from "./natsController";
  3. export class TreeController {
  4. _bus: BusController
  5. constructor(bus: BusController) {
  6. this._bus = bus
  7. }
  8. async selectOneMat() {
  9. const bus = this._bus;
  10. const route = await bus.requestApi("queentree.local.router", {name:"selmatblack"})
  11. if (!route || !route.Url ) return;
  12. const url = route.Url;
  13. const payload = {}
  14. const ret:any = await bus.RequestWebView("selmatblack", {height: 600, width: 900, payload, url, alwaysOnTop:true,})
  15. console.log("selmat=>", ret);
  16. if (ret.payload) {
  17. ret.payload.uvMap = "uv";
  18. ret.payload.classType = "pbr";
  19. ret.payload.type = "meta";
  20. }
  21. return ret.payload;
  22. }
  23. async selectOnePack() {
  24. const bus = this._bus;
  25. const route = await bus.requestApi("queentree.local.router", {name:"selpacksceneblack"})
  26. if (!route || !route.Url ) return;
  27. let url:string = route.Url;
  28. url = url.replace("#/selpackscene", "#/selectPack")
  29. const payload = {}
  30. const ret:any = await bus.RequestWebView("selpacksceneblack", {dev:true, height: 600, width: 900, payload, url, alwaysOnTop:true,})
  31. console.log("selpackprodblack=>", ret);
  32. return ret.payload;
  33. }
  34. async selectOnePackScene() {
  35. const bus = this._bus;
  36. const route = await bus.requestApi("queentree.local.router", {name:"selpacksceneblack"})
  37. if (!route || !route.Url ) return;
  38. const url = route.Url;
  39. const payload = {}
  40. const ret:any = await bus.RequestWebView("selpacksceneblack", {dev:true, height: 600, width: 900, payload, url, alwaysOnTop:true,})
  41. console.log("selpackprodblack=>", ret);
  42. return ret.payload;
  43. }
  44. async SelectedPackComp(pack:any, prodId:string, compId:string) {
  45. queenApi.showLoading("数据发送中")
  46. const bus = this._bus;
  47. const sid = bus.getQuery("sid")
  48. const ok = await bus.Public("packcomp.update." + sid, {pack, prodId, compId})
  49. queenApi.hideLoading();
  50. if (!ok) {
  51. queenApi.messageError("数据接收方已关闭");
  52. return;
  53. }
  54. queenApi.messageSuccess("数据发送成功");
  55. }
  56. async CloseWindow() {
  57. const bus = this._bus;
  58. const sid = bus.getQuery("sid")
  59. const ok = await bus.Public("tree.selector.close", {sid})
  60. queenApi.hideLoading();
  61. if (!ok) {
  62. queenApi.messageError("窗口关闭失败,请点击右上角关闭按钮");
  63. return;
  64. }
  65. return true;
  66. }
  67. async CloseTreeOpen(name:string, payload?:any) {
  68. const bus = this._bus;
  69. await bus.Public("webview.close." + name, {name: name, payload})
  70. }
  71. async subscribeData(callback:any){
  72. const bus = this._bus;
  73. return await bus.subscribe('tree.savaas.update.mat',callback)
  74. }
  75. async subscribeTreeOpenFor(name:string, callback:any){
  76. const bus = this._bus;
  77. return await bus.subscribe('webview.opened.'+name,callback)
  78. }
  79. async GetSaveMatData() {
  80. const bus = this._bus;
  81. const sid = bus.getQuery("sid")
  82. return await this.GetSessionData(sid);
  83. }
  84. async GetPackListQueryData() {
  85. const bus = this._bus;
  86. const sid = bus.getQuery("sid")
  87. return await this.GetSessionData(sid);
  88. }
  89. async GetSessionData(sid:string) {
  90. const bus = this._bus;
  91. const matgroup = await bus.requestApi("tree.session.data", {sid})
  92. queenApi.hideLoading();
  93. if (!matgroup) {
  94. queenApi.messageError("获取数据失败");
  95. return;
  96. }
  97. return matgroup;
  98. }
  99. async SelectedPackList(list :any) {
  100. const bus = this._bus;
  101. queenApi.showLoading("数据发送中")
  102. const sid = bus.getQuery("sid")
  103. const ok = await bus.Public("packlist.update." + sid, list)
  104. queenApi.hideLoading();
  105. if (!ok) {
  106. queenApi.messageError("数据接收方已关闭");
  107. } else {
  108. queenApi.messageSuccess("数据发送成功");
  109. }
  110. setTimeout(()=>{
  111. this.CloseWindow();
  112. }, 1000)
  113. }
  114. }