address.vue 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. <div class="logistics-wrapper">
  3. <div class="logistics-content" id="logisticsContent">
  4. <address-view ref="addressView" v-show="!isEdit" :isSend="isSend" @isEditEvent="editClick"></address-view>
  5. <address-edit ref="addressEdit" v-show="isEdit" :data="setData" :height100="true" :isPersonal="isPersonal" :isSend="isSend" @isEditEvent="editClick"></address-edit>
  6. </div>
  7. </div>
  8. </template>
  9. <script type="text/javascript">
  10. import { AddressView, AddressEdit } from '~components/mobile/base'
  11. export default {
  12. name: 'NoSendAddress',
  13. layout: 'mobile',
  14. middleware: 'authenticated',
  15. fetch({store}) {
  16. return Promise.all([
  17. store.dispatch('mobileAddress/loadAddressData', {count: 10, page: 1, isSend: false, sorting: { 'num': 'ASC' }})
  18. ])
  19. },
  20. components: {
  21. AddressView,
  22. AddressEdit,
  23. },
  24. data () {
  25. return {
  26. setData: {},
  27. isEdit: false
  28. }
  29. },
  30. mounted () {
  31. let data = this.baseUtils.deepCopy(this.$store.state.mobileAddress.address.data)
  32. data && data.content.length > 0 ? this.isEdit = false : this.isEdit = true
  33. },
  34. computed: {
  35. isSend () {
  36. return false
  37. },
  38. isPersonal () {
  39. return false
  40. }
  41. },
  42. methods: {
  43. editClick (item, type) {
  44. this.isEdit = type
  45. if (item) {
  46. this.setData = item
  47. }
  48. if (type === false) {
  49. this.$refs.addressView.initList()
  50. }
  51. this.$nextTick(() => {
  52. this.$refs.addressEdit.refleshSc()
  53. })
  54. }
  55. }
  56. }
  57. </script>
  58. <style lang="scss" scoped>
  59. @mixin Fixed() {
  60. position: fixed;
  61. bottom: 0.98rem;
  62. left: 0;
  63. right: 0;
  64. top: 1.26rem;
  65. }
  66. .logistics-wrapper {
  67. @include Fixed();
  68. z-index: 111;
  69. background: #f1f3f6;
  70. .logistics-content {
  71. overflow-y: scroll;
  72. height: calc(100vh - 1.26rem - 0.98rem);
  73. }
  74. }
  75. </style>