ScrollNews.vue 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <template>
  2. <div class="layout_container">
  3. <el-table :data="news">
  4. <el-table-column prop="sortNo" label="序号" width="100"></el-table-column>
  5. <el-table-column prop="title" label="标题">
  6. <template #default="{ row }">
  7. <div v-if="row.editMode">
  8. <el-input v-model="row.title"></el-input>
  9. </div>
  10. <div v-else>
  11. {{ row.title }}
  12. </div>
  13. </template>
  14. </el-table-column>
  15. <el-table-column label="链接">
  16. <template #default="{ row }">
  17. <div v-if="row.editMode">
  18. <el-input v-model="row.link"></el-input>
  19. </div>
  20. <div v-else>
  21. {{ row.link }}
  22. </div>
  23. </template>
  24. </el-table-column>
  25. <el-table-column label="操作" width="180" fixed="right">
  26. <template #default="{ row }">
  27. <el-button
  28. v-if="!row.editMode"
  29. type="primary"
  30. @click="row.editMode = true"
  31. >编辑</el-button
  32. >
  33. <el-button v-if="row.editMode" type="success" @click="saveRow(row)"
  34. >保存</el-button
  35. >
  36. <el-button v-if="row.editMode" type="info" @click="cancelEdit(row)"
  37. >取消</el-button
  38. >
  39. <el-button type="danger" @click="deleteRow(row)">删除</el-button>
  40. </template>
  41. </el-table-column>
  42. </el-table>
  43. </div>
  44. </template>
  45. <script setup>
  46. import {
  47. getById,
  48. getAll,
  49. update,
  50. } from "@/api/dictionary/serviceNumber/sroll-news";
  51. import { CyMessageBox } from "@/utils/cy-message-box";
  52. const news = ref([]);
  53. function getAllScrollNews() {
  54. getAll().then(res => {
  55. news.value = res;
  56. });
  57. }
  58. function saveRow(row) {
  59. update(row).then(() => {
  60. row.editMode = false;
  61. });
  62. }
  63. function cancelEdit(row) {
  64. getById(row.sortNo).then(res => {
  65. row.title = res.title;
  66. row.link = res.link;
  67. row.editMode = false;
  68. });
  69. }
  70. function deleteRow(row) {
  71. CyMessageBox.confirm({
  72. title: "提示",
  73. message: "删除后不可恢复,确定删除吗?",
  74. }).then(() => {
  75. update({ sortNo: row.sortNo, title: "", link: "" }).then(() => {
  76. getAllScrollNews();
  77. });
  78. });
  79. }
  80. onMounted(() => {
  81. getAllScrollNews();
  82. });
  83. </script>