roadlist.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <view>
  3. <u-navbar
  4. title="停车场列表"
  5. title-color="#fff"
  6. :custom-back="customBack"
  7. :border-bottom="false"
  8. back-icon-color="#CCE8FF"
  9. :background="{background: 'linear-gradient(145deg, #41AFF9 0%, #2D8CFB 100%)' }"></u-navbar>
  10. <view class="road-list">
  11. <view class="road-list-item" v-for="item in Roads" :key="item.id" @click="handleModifyRoad(item.id)">
  12. <view class="name">{{item.roadName}}</view>
  13. <view class="position">{{item.roadName}}</view>
  14. <view class="distance">{{item.roadName}}</view>
  15. </view>
  16. </view>
  17. <u-toast ref="uToast" />
  18. </view>
  19. </template>
  20. <script>
  21. export default{
  22. data(){
  23. return{
  24. Roads:[],
  25. }
  26. },
  27. onLoad(){
  28. this.Roads = this.$store.state.vuex_user?.roadList;
  29. console.log('Roads',JSON.parse(JSON.stringify(this.Roads)));
  30. },
  31. onShow(){
  32. },
  33. methods:{
  34. customBack(){
  35. this.$u.route({
  36. // type:'switchTab',
  37. url: 'pages/index/index'
  38. });
  39. },
  40. handleModifyRoad(id){
  41. this.$u.api.modifyRoad({roadId:id})
  42. .then(res=>{
  43. this.$refs.uToast.show({
  44. title: res.msg,
  45. type: 'success',
  46. url: 'pages/index/index'
  47. });
  48. let userdata = this.$store.state.vuex_user;
  49. userdata.roadList = res.data?.roadList;
  50. this.$u.vuex('vuex_user', res.data);
  51. uni.setStorageSync('payee_roadinfo', JSON.stringify(userdata.roadList?.[0] || []));
  52. }).catch(err=>{
  53. this.$refs.uToast.show({
  54. title: err.msg,
  55. type: 'error',
  56. });
  57. console.log('modifyRoad ',err)
  58. });
  59. }
  60. }
  61. }
  62. </script>
  63. <style lang="scss">
  64. @import './roadlist.scss'
  65. </style>