index.vue 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <div>
  3. <ListTemplate ref="listTemplateRefs">
  4. <template #button>
  5. <m-button type="primary" icon="el-icon-plus" @click="onAdd">新增</m-button>
  6. </template>
  7. <template #actions="{ row }">
  8. <m-button text type="primary" size="small" @click="onEdit(row)">编辑</m-button>
  9. <m-button text type="primary" size="small" @click="onEditRules(row)">规则配置</m-button>
  10. <m-button text type="danger" size="small" @click="onDelete(row)">删除</m-button>
  11. <m-button text type="primary" size="small" @click="onHistory(row)">历史记录</m-button>
  12. </template>
  13. </ListTemplate>
  14. <WelfareEdit ref="welfareEditRefs" @refresh="onInit"></WelfareEdit>
  15. <WelfareRules ref="welfareRulesRefs" @refresh="onInit"></WelfareRules>
  16. <HistoryDialog ref="historyDialogRefs">
  17. <template #actions="{ row }">
  18. <m-button type="primary" text @click="$emit('history', row)" size="small">查看配置规则</m-button>
  19. </template>
  20. </HistoryDialog>
  21. </div>
  22. </template>
  23. <script>
  24. import ListTemplate from '../components/ListTemplate.vue'
  25. import {
  26. deleteWelfare
  27. } from '@/api/welfare'
  28. import WelfareEdit from './welfareEdit.vue'
  29. import WelfareRules from './welfareRules'
  30. import HistoryDialog from './historyDialog'
  31. export default {
  32. name: 'human-resources-welfare-list',
  33. components: {
  34. ListTemplate,
  35. WelfareEdit,
  36. WelfareRules,
  37. HistoryDialog
  38. },
  39. mounted () {
  40. this.$emit('mounted')
  41. },
  42. methods: {
  43. onInit () {
  44. this.$refs.listTemplateRefs.onInit()
  45. },
  46. onEdit (item) {
  47. this.$refs.welfareEditRefs.open(item)
  48. },
  49. onAdd () {
  50. this.$refs.welfareEditRefs.open()
  51. },
  52. onEditRules (item) {
  53. this.$refs.welfareRulesRefs.open(item)
  54. },
  55. onDelete (item) {
  56. this.$confirm(`确定删除${item.subsidyName}吗?`, '提示', {
  57. confirmButtonText: '确定',
  58. cancelButtonText: '取消',
  59. type: 'warning'
  60. }).then(async () => {
  61. try {
  62. await deleteWelfare({ subsidyId: item.subsidyId })
  63. this.$message.success('删除成功')
  64. this.onInit()
  65. } catch (error) {
  66. this.$message.error(error)
  67. }
  68. }).catch(_ => {})
  69. },
  70. onHistory (row) {
  71. this.$refs.historyDialogRefs.open(row.uuid, row.subsidyName)
  72. }
  73. }
  74. }
  75. </script>
  76. <style lang="scss" scoped>
  77. </style>