Common.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <template >
  2. <view>
  3. <u-toast ref="uToast" />
  4. <u-loading :show="false"></u-loading>
  5. <u-modal v-model="show" :content="content" :confirm-text="confirmtext?confirmtext:'确定'" @confirm="confirmBtn" :title="title?title:'提示'"></u-modal>
  6. <u-modal v-model="show2" :show-cancel-button="true" :content="content" :confirm-text="confirmtext?confirmtext:'确定'" :cancel-text="canceltext?canceltext:'取消'" @confirm="confirmBtn" @cancel="cancelBtn" :title="title?title:'提示'"></u-modal>
  7. <u-navbar v-if="mytitle" :title="mytitle" :is-back="noback" :border-bottom="!noback">
  8. <view class="slot-wrap"></view>
  9. </u-navbar>
  10. <view v-show="false" :login="islogin()" ></view>
  11. </view>
  12. </template>
  13. <script>
  14. import * as API from '@/apis/common.js'
  15. export default {
  16. name:"Common",
  17. props:{
  18. login: {
  19. require: false,
  20. default: false,
  21. },
  22. noback:{
  23. require: false,
  24. default: true,
  25. },
  26. mytitle: {
  27. require: false,
  28. default: false,
  29. },
  30. },
  31. data() {
  32. return {
  33. isloginBl:true,
  34. show:false,
  35. show2:false,
  36. fnc:null,
  37. fncCancel:null,
  38. fncBl:false,
  39. content:null,
  40. confirmtext:null,
  41. title:null,
  42. canceltext:null,
  43. };
  44. },methods:{
  45. islogin(){
  46. if(this.login){
  47. if (!this.carhelp.getPersonInfo()) {
  48. var route_path = window.location.href.split("#")[1];
  49. uni.reLaunch({
  50. url: '/pages/car/login'
  51. })
  52. }
  53. }
  54. },
  55. goError(message){
  56. this.setFnc(function(){
  57. uni.switchTab({
  58. url: '/pages/index/index'
  59. });
  60. })
  61. this.alert2(message?message:'访问链接异常','前往首页')
  62. },
  63. setFnc(fnc,fncCancel){
  64. this.fnc=fnc;
  65. this.fncCancel=fncCancel;
  66. this.fncBl=true
  67. },
  68. alert2(content,confirmtext,title){
  69. this.show=true;
  70. this.content=content;
  71. this.confirmtext=confirmtext;
  72. this.title=title;
  73. uni.hideLoading();
  74. },
  75. confirm(content,confirmtext,title,canceltext){
  76. this.show2=true;
  77. this.content=content;
  78. this.confirmtext=confirmtext;
  79. this.canceltext=canceltext;
  80. this.title=title;
  81. uni.hideLoading();
  82. },
  83. cancelBtn(){
  84. if(this.fncCancel){
  85. this.fncCancel()
  86. this.fncBl=false;
  87. }
  88. },
  89. confirmBtn(){
  90. if(this.fncBl){
  91. this.fnc()
  92. this.fncBl=false;
  93. }
  94. },
  95. showLoading(bl,message){
  96. if(bl==null ||bl){
  97. // request 要改同步改
  98. uni.showLoading({
  99. mask:true,title:'加载中...'
  100. })
  101. }else{
  102. uni.hideLoading();
  103. if(message){
  104. this.alert(message)
  105. }
  106. }
  107. },
  108. alert(message,fnc){
  109. this.$refs.uToast.show({
  110. title: message,
  111. type:'default',
  112. position:'bottom',
  113. callback:fnc
  114. })
  115. }
  116. },mounted(){
  117. },destroyed(){
  118. }
  119. }
  120. </script>
  121. <style>
  122. .navbar-right {
  123. display: flex;
  124. margin-right: 20rpx;
  125. span{
  126. color:rgb(96, 98, 102);
  127. margin-left: 3px;
  128. }
  129. }
  130. .slot-wrap {
  131. display: flex;
  132. align-items: center;
  133. flex: 1;
  134. }
  135. </style>