index.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <template>
  2. <div class="content-container">
  3. <div class="header">
  4. <span class="title">创建工作项目</span>
  5. <el-button type="primary" @click="handleAdd">新增</el-button>
  6. </div>
  7. <el-row class="content-body">
  8. <el-table v-loading="listLoading" border :data="dataList" height="calc(100vh - 250px)">
  9. <el-table-column type="index" label="序号" header-align="center" align="center" width="50" />
  10. <el-table-column prop="jobactivityTitle" label="标题" header-align="center" align="center" />
  11. <el-table-column prop="logoUrl" label="图标" header-align="left" align="left" width="100">
  12. <template v-slot="{row}">
  13. <el-avatar :src="row.logoUrl" />
  14. </template>
  15. </el-table-column>
  16. <el-table-column label="操作" header-align="center" align="center">
  17. <template v-slot="{row}">
  18. <el-button size="mini" type="info" icon="el-icon-edit" plain @click="handleEdit(row)">修改</el-button>
  19. <el-button v-if="row.isFixed !== 1" size="mini" icon="el-icon-delete" type="danger" @click="handleDelete(row)">删除</el-button>
  20. </template>
  21. </el-table-column>
  22. </el-table>
  23. </el-row>
  24. <project-work-form ref="project-work-form" @formSuccess="formSuccess" />
  25. </div>
  26. </template>
  27. <script>
  28. import projectWorkForm from './components/projectWorkForm.vue'
  29. import { getJobsApi, jobDelApi } from '@/api/aqpt/visualEditor'
  30. export default {
  31. components: {
  32. projectWorkForm
  33. },
  34. data() {
  35. return {
  36. title: '风险点',
  37. dataList: [],
  38. total: 0,
  39. listLoading: false,
  40. conditions: {
  41. page: 1,
  42. limit: 10,
  43. keywords: ''
  44. },
  45. handleModal: false,
  46. miniUrl: '',
  47. exportItems: []
  48. }
  49. },
  50. created() {
  51. this.getData()
  52. },
  53. methods: {
  54. getData() {
  55. this.listLoading = true
  56. getJobsApi(this.conditions).then((resp) => {
  57. this.listLoading = false
  58. const { code, data, total, msg } = resp
  59. if (code === 0) {
  60. this.total = total
  61. this.dataList = data
  62. } else {
  63. this.$message.error(msg)
  64. }
  65. }).catch((error) => {
  66. console.log(error)
  67. })
  68. },
  69. // 添加
  70. handleAdd() {
  71. this.$refs['project-work-form'].showAddView()
  72. },
  73. // 修改
  74. handleEdit(data) {
  75. const { typeId } = data
  76. this.$refs['project-work-form'].showEditView(typeId)
  77. },
  78. // 删除
  79. handleDelete(data) {
  80. const { typeId } = data
  81. this.$confirm(`此操作将删除该数据 ${data.riskPointTitle}, 是否继续?`, '提示', {
  82. confirmButtonText: '确定',
  83. cancelButtonText: '取消',
  84. type: 'warning'
  85. }).then(() => {
  86. jobDelApi(typeId).then((resp) => {
  87. const { code, msg } = resp
  88. if (code === 0) {
  89. this.getData()
  90. this.$message.success(msg)
  91. } else {
  92. this.$message.error(msg)
  93. }
  94. }).catch((error) => {
  95. console.log(error)
  96. })
  97. }).catch(() => {
  98. this.$message({ type: 'info', message: '已取消删除' })
  99. })
  100. },
  101. formSuccess() {
  102. this.getData()
  103. }
  104. }
  105. }
  106. </script>
  107. <style lang="scss" scoped>
  108. .header{
  109. display: flex;
  110. justify-content: space-between;
  111. align-items: center;
  112. .title{
  113. font-size: 18px;
  114. font-weight: bold;
  115. color: #FFFFFF;
  116. }
  117. }
  118. </style>