index.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <template>
  2. <basic-container>
  3. <avue-crud
  4. :option="option"
  5. :data="data"
  6. ref="crud"
  7. v-model="form"
  8. :permission="permissionList"
  9. :before-open="beforeOpen"
  10. :table-loading="loading"
  11. @row-del="rowDel"
  12. @row-update="rowUpdate"
  13. @row-save="rowSave"
  14. @search-change="searchChange"
  15. @search-reset="searchReset"
  16. @selection-change="selectionChange"
  17. @refresh-change="refreshChange"
  18. @on-load="onLoad"
  19. >
  20. <template slot="menuLeft">
  21. <el-button
  22. type="danger"
  23. size="small"
  24. plain
  25. icon="el-icon-delete"
  26. v-if="permission.order_address_delete"
  27. @click="handleDelete"
  28. >
  29. 删除
  30. </el-button>
  31. </template>
  32. <template slot-scope="{row}" slot="isDefault">
  33. <el-tag :type="row.isDefault === 1 ? 'success' : 'info'">
  34. {{ row.isDefault === 1 ? '是' : '否' }}
  35. </el-tag>
  36. </template>
  37. <template slot-scope="{row}" slot="isActive">
  38. <el-tag :type="row.isActive === 1 ? 'success' : 'danger'">
  39. {{ row.isActive === 1 ? '启用' : '禁用' }}
  40. </el-tag>
  41. </template>
  42. <!-- 操作列插槽 -->
  43. <template slot-scope="{row, index}" slot="menu">
  44. <el-button
  45. v-if="row.isDefault !== 1"
  46. type="text"
  47. size="small"
  48. @click="handleSetDefault(row)"
  49. >
  50. 设为默认
  51. </el-button>
  52. </template>
  53. <!-- 地区选择器插槽 -->
  54. <template slot="regionNameForm" slot-scope="{value, column}">
  55. <region-cascader
  56. v-model="form.regionName"
  57. @change="handleRegionChange"
  58. :placeholder="column.placeholder || '请选择省/市/区'"
  59. />
  60. </template>
  61. </avue-crud>
  62. </basic-container>
  63. </template>
  64. <script>
  65. import RegionCascader from '@/components/region-cascader'
  66. import addressMixin from './addressMixin';
  67. /**
  68. * @typedef {import('./types').OrderAddressComponent} OrderAddressComponent
  69. */
  70. /**
  71. * @type {OrderAddressComponent}
  72. */
  73. export default {
  74. name: 'OrderAddress',
  75. components: {
  76. RegionCascader
  77. },
  78. mixins: [addressMixin],
  79. }
  80. </script>