budget.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <template>
  2. <HcCard>
  3. <template #header>
  4. <div class="w-36">
  5. <el-select v-model="searchForm.annual" block clearable placeholder="选择年度" size="large">
  6. <el-option v-for="item in annuals" :label="item.name" :value="item.key"/>
  7. </el-select>
  8. </div>
  9. </template>
  10. <template #extra>
  11. <el-button size="large" color="#7728F5" hc-btn @click="toBudgetChartClick">
  12. <HcIcon name="folder-chart"/>
  13. <span>报表查看</span>
  14. </el-button>
  15. <el-button size="large" type="primary" hc-btn @click="addRowClick">
  16. <HcIcon name="add"/>
  17. <span>新增经营预算</span>
  18. </el-button>
  19. </template>
  20. <HcTable :column="tableColumn" :datas="tableData" :loading="tableLoading">
  21. <template #action="{row,index}">
  22. <el-button plain size="small" type="primary" @click="editRowClick(row)">编辑</el-button>
  23. <el-button plain size="small" type="danger">删除</el-button>
  24. </template>
  25. </HcTable>
  26. <template #action>
  27. <HcPages :pages="searchForm" @change="pageChange"/>
  28. </template>
  29. </HcCard>
  30. </template>
  31. <script setup>
  32. import {ref} from "vue";
  33. import {useRouter} from 'vue-router'
  34. const router = useRouter()
  35. //年度数据
  36. const annuals = ref([
  37. {name: '2023年', key: '2023'},
  38. {name: '2022年', key: '2022'},
  39. {name: '2021年', key: '2021'}
  40. ])
  41. //搜索表单
  42. const searchForm = ref({annual: null, current: 1, size: 20, total: 0})
  43. //分页被点击
  44. const pageChange = ({current, size}) => {
  45. searchForm.value.current = current
  46. searchForm.value.size = size
  47. getTableData()
  48. }
  49. //获取数据
  50. const tableLoading = ref(false)
  51. const tableColumn = [
  52. {key: 'name', name: '名称'},
  53. {key: 'key1', name: '总经营预算', width: '140', align: 'center'},
  54. {key: 'key2', name: '年度合同额指标', width: '140', align: 'center'},
  55. {key: 'key3', name: '年度利润指标', width: '140', align: 'center'},
  56. {key: 'key4', name: '工资支出', width: '140', align: 'center'},
  57. {key: 'key5', name: '其它管理支出', width: '140', align: 'center'},
  58. {key: 'action', name: '操作', width: '130', align: 'center'},
  59. ]
  60. const tableData = ref([
  61. {id: 1, name: '2023年人力支出预算表', key1: 'xxxx', key2: '236323', key3: '65632', key4: '35654', key5: 'xxx'},
  62. {id: 2, name: '2023年人力支出预算表', key1: 'xxxx', key2: '236323', key3: '65632', key4: '35654', key5: 'xxx'},
  63. {id: 3, name: '2023年人力支出预算表', key1: 'xxxx', key2: '236323', key3: '65632', key4: '35654', key5: 'xxx'},
  64. {id: 4, name: '2023年人力支出预算表', key1: 'xxxx', key2: '236323', key3: '65632', key4: '35654', key5: 'xxx'},
  65. {id: 5, name: '2023年人力支出预算表', key1: 'xxxx', key2: '236323', key3: '65632', key4: '35654', key5: 'xxx'},
  66. {id: 6, name: '2023年人力支出预算表', key1: 'xxxx', key2: '236323', key3: '65632', key4: '35654', key5: 'xxx'},
  67. ])
  68. const getTableData = () => {
  69. }
  70. //编辑预算
  71. const editRowClick = (row) => {
  72. router.push({
  73. name: 'home-budget-form', query: {
  74. id: row.id
  75. }
  76. })
  77. }
  78. //新增预算
  79. const addRowClick = () => {
  80. router.push({
  81. name: 'home-budget-form'
  82. })
  83. }
  84. const toBudgetChartClick = () => {
  85. router.push({
  86. name: 'home-budget-chart'
  87. })
  88. }
  89. </script>
  90. <style lang="scss" scoped>
  91. </style>
  92. <style lang="scss">
  93. </style>