dialog-helper.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import Vue from 'vue';
  2. import store from 'store';
  3. import AdvanceViewImage from 'components/AdvanceViewImage.vue';
  4. import IssueTypeItem from 'views/helpInfo/issueType/modal/ItemModal.vue';
  5. import InformationItem from 'views/helpInfo/information/modal/ItemModal.vue';
  6. import BannerItem from 'views/baseManagement/bannerManagement/modal/ItemModal.vue';
  7. import InfoItem from 'views/baseManagement/infoManagement/modal/ItemModal.vue';
  8. const modal = (Component, props) => {
  9. let _component = null;
  10. const Instance = new Vue({
  11. props,
  12. store,
  13. render(h) {
  14. return h(Component, {
  15. props: props,
  16. on: {
  17. cancel: () => {
  18. Instance.$destroy();
  19. document.body.removeChild(_component.$el);
  20. }
  21. }
  22. });
  23. }
  24. });
  25. _component = Instance.$mount();
  26. document.body.appendChild(_component.$el);
  27. };
  28. let AdvanceViewImageModal = data => {
  29. modal(AdvanceViewImage, data);
  30. };
  31. Vue.prototype.$AdvanceViewImageModal = params => {
  32. AdvanceViewImageModal(params);
  33. };
  34. let IssueTypeItemModal = data => {
  35. modal(IssueTypeItem, data);
  36. };
  37. Vue.prototype.$IssueTypeItemModal = params => {
  38. IssueTypeItemModal(params);
  39. };
  40. let InformationItemModal = data => {
  41. modal(InformationItem, data);
  42. };
  43. Vue.prototype.$InformationItemModal = params => {
  44. InformationItemModal(params);
  45. };
  46. let BannerItemModal = data => {
  47. modal(BannerItem, data);
  48. };
  49. Vue.prototype.$BannerItemModal = params => {
  50. BannerItemModal(params);
  51. };
  52. let InfoItemModal = data => {
  53. modal(InfoItem, data);
  54. };
  55. Vue.prototype.$InfoItemModal = params => {
  56. InfoItemModal(params);
  57. };