DelLine.vue 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <div>
  3. <div>
  4. <el-dialog v-model="dialogVisible" title="删除信息" width="30%" @close="closes">
  5. <h3 style="text-align: center;">确定删除该信息?</h3>
  6. <template #footer>
  7. <span class="dialog-footer">
  8. <el-button @click="cancels">取消</el-button>
  9. <el-button type="primary" @click="sureClick">
  10. 确定
  11. </el-button>
  12. </span>
  13. </template>
  14. </el-dialog>
  15. </div>
  16. </div>
  17. </template>
  18. <script>
  19. import { ref, onMounted, toRefs, watch } from 'vue';
  20. import { ElMessage } from 'element-plus';
  21. import litLine from '@/api/litLine';
  22. export default {
  23. props: {
  24. delModal: {
  25. type: Boolean,
  26. required: true
  27. },
  28. needList: {
  29. type: Object,
  30. required: true
  31. },
  32. search: {
  33. type: Function,
  34. required: true
  35. }
  36. },
  37. setup(props, { emit }) {
  38. let dialogVisible = ref(false)
  39. let result = props.delModal
  40. let lastList = props.needList
  41. let delId = ref('')
  42. let { cancels, sureClick } = toRefs(props)
  43. function lineList() {
  44. delId.value = lastList.id
  45. dialogVisible.value = result
  46. }
  47. function canBack() {
  48. dialogVisible.value = false
  49. emit("delBack", dialogVisible.value)
  50. }
  51. function sureGet() {
  52. litLine.delLine({ id: delId.value - 0 }).then(res => {
  53. if (res.code == 0) {
  54. ElMessage({
  55. type: "success",
  56. message: "删除成功",
  57. duration: 1500
  58. })
  59. props.search()
  60. dialogVisible.value = false
  61. emit("delBack", dialogVisible.value)
  62. }
  63. })
  64. }
  65. onMounted(() => {
  66. lineList()
  67. })
  68. return {
  69. dialogVisible,
  70. cancels: canBack,
  71. sureClick: sureGet,
  72. closes: canBack,
  73. }
  74. }
  75. }
  76. </script>
  77. <style lang="scss" scoped></style>