AddressTab.vue 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <template>
  2. <div class="tab-content">
  3. <div class="info-section">
  4. <div class="section-title-row">
  5. <div class="section-title-left">
  6. <span class="section-title-text">地址信息列表</span>
  7. </div>
  8. <el-button v-if="!isViewMode" icon="Plus" type="primary" @click="emit('add')">添加地址</el-button>
  9. </div>
  10. <el-table :data="addressList" border style="width: 100%">
  11. <!-- <el-table-column prop="supplierNo" label="供应商编号" align="center" /> -->
  12. <el-table-column prop="addressNo" label="地址编号" align="center" />
  13. <el-table-column prop="shipperName" label="姓名" align="center" />
  14. <el-table-column prop="shipperPhone" label="手机号码" align="center" />
  15. <!-- <el-table-column prop="shippingProvincial" label="省份" align="center" />
  16. <el-table-column prop="shippingCity" label="市" align="center" />
  17. <el-table-column prop="shippingCounty" label="区县" align="center" /> -->
  18. <el-table-column label="详细地址" align="center">
  19. <template #default="scope">
  20. <span>{{ scope.row.shippingAddress || '-' }}</span>
  21. </template>
  22. </el-table-column>
  23. <el-table-column prop="shippingPostCode" label="邮政编码" align="center" />
  24. <el-table-column prop="isSelf" label="默认地址" align="center">
  25. <template #default="scope">
  26. <el-switch v-model="scope.row.isSelf" active-value="0" inactive-value="1" @change="emit('change-deafult', scope.row)"></el-switch>
  27. </template>
  28. </el-table-column>
  29. <el-table-column label="操作" align="center" width="150">
  30. <template #default="scope">
  31. <el-button v-if="!isViewMode" link type="primary" @click="emit('edit', scope.row)">编辑</el-button>
  32. <el-button v-if="!isViewMode" link type="danger" @click="emit('delete', scope.row)">删除</el-button>
  33. </template>
  34. </el-table-column>
  35. </el-table>
  36. </div>
  37. </div>
  38. </template>
  39. <script setup lang="ts">
  40. defineProps<{
  41. addressList: any[];
  42. isViewMode: boolean;
  43. }>();
  44. const emit = defineEmits<{
  45. (e: 'add'): void;
  46. (e: 'edit', row: any): void;
  47. (e: 'delete', row: any): void;
  48. (e: 'change-deafult', row: any): void;
  49. }>();
  50. </script>