index.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <template>
  2. <template-page
  3. v-if="pageShow"
  4. ref="pageRef"
  5. :get-list="getList"
  6. :table-attributes="tableAttributes"
  7. :table-events="tableEvents"
  8. :options-evens-group="optionsEvensGroup"
  9. :moreParameters="moreParameters"
  10. :column-parsing="columnParsing"
  11. :exportList="exportList"
  12. key="pageType"
  13. >
  14. <div slot="moreSearch">
  15. <el-radio-group v-model="pageType" size="mini" @change="changePageType">
  16. <el-radio-button label="list">列表</el-radio-button>
  17. <el-radio-button label="goodsder">商品明细</el-radio-button>
  18. <el-radio-button label="codeder">条码明细</el-radio-button>
  19. </el-radio-group>
  20. <br /><br />
  21. </div>
  22. </template-page>
  23. </template>
  24. <script>
  25. import TemplatePage from '@/components/template/template-page-1.vue'
  26. import import_mixin from '@/components/template/import_mixin.js'
  27. import {
  28. goodsPurchaseList,
  29. goodsPurchaseListExport,
  30. goodsPurchaseItemList,
  31. goodsPurchaseItemListExport,
  32. goodsPurchaseCodeList,
  33. goodsPurchaseCodeListExport
  34. } from '@/api/goodsPurchasedStored.js'
  35. export default {
  36. components: { TemplatePage },
  37. mixins: [import_mixin],
  38. data() {
  39. return {
  40. pageType: 'list',
  41. pageShow: true,
  42. // 事件组合
  43. optionsEvensGroup: [],
  44. // 表格属性
  45. tableAttributes: {
  46. // 启用勾选列
  47. selectColumn: false
  48. },
  49. // 表格事件
  50. tableEvents: {
  51. 'selection-change': this.selectionChange
  52. },
  53. // 勾选选中行
  54. recordSelected: [],
  55. /** 表单变量 */
  56. formDialogType: 0,
  57. formDialogTitles: ['新增', '编辑', '详情'],
  58. formDialog: false,
  59. appraise_status: ''
  60. }
  61. },
  62. computed: {
  63. // 更多参数
  64. moreParameters() {
  65. return []
  66. },
  67. formItems() {
  68. return []
  69. }
  70. },
  71. watch: {
  72. pageType() {
  73. this.pageShow = false
  74. this.$nextTick(() => {
  75. this.pageShow = true
  76. })
  77. }
  78. },
  79. methods: {
  80. // 列表请求函数
  81. getList(p, cb) {
  82. if (this.pageType == 'list') {
  83. return goodsPurchaseList(p)
  84. } else if (this.pageType == 'goodsder') {
  85. return goodsPurchaseItemList(p)
  86. } else if (this.pageType == 'codeder') {
  87. return goodsPurchaseCodeList(p)
  88. }
  89. },
  90. // 列表导出函数
  91. exportList(...p) {
  92. if (this.pageType == 'list') {
  93. return goodsPurchaseListExport(...p)
  94. } else if (this.pageType == 'goodsder') {
  95. return goodsPurchaseItemListExport(...p)
  96. } else if (this.pageType == 'codeder') {
  97. return goodsPurchaseCodeListExport(...p)
  98. }
  99. },
  100. // 表格列解析渲染数据更改
  101. columnParsing(item, defaultData) {
  102. return defaultData
  103. },
  104. // 监听勾选变化
  105. selectionChange(data) {
  106. this.recordSelected = data
  107. },
  108. changePageType() {}
  109. }
  110. }
  111. </script>
  112. <style lang="scss" scoped>
  113. .tab {
  114. padding: 20px 20px 0 20px;
  115. }
  116. </style>