FolderReName.vue 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <template>
  2. <div>
  3. <div>
  4. <el-dialog v-model="folderName" title="重命名" width="30%">
  5. <el-input v-model="newName" maxlength="10"></el-input>
  6. <template #footer>
  7. <span class="dialog-footer">
  8. <el-button @click="backToFile">取消</el-button>
  9. <el-button type="primary" @click="sureFolderName">确认</el-button>
  10. </span>
  11. </template>
  12. </el-dialog>
  13. </div>
  14. </div>
  15. </template>
  16. <script>
  17. import { ref, onMounted, toRef } from "vue"
  18. import { ElMessage } from "element-plus";
  19. import documents from "../../../api/document/document";
  20. export default {
  21. props: {
  22. rename: {
  23. type: Boolean,
  24. required: true
  25. },
  26. selectedBox:{
  27. type:Number,
  28. required:true
  29. },
  30. getAllTop:{
  31. type:Function,
  32. required:true
  33. },
  34. copyFolderName:{
  35. type:String,
  36. required:true
  37. }
  38. },
  39. setup(props, { emit }) {
  40. let { backToFile, sureFolderName } = toRef(props)
  41. let result = props.rename
  42. let reid = props.selectedBox
  43. let reSet = props.copyFolderName
  44. let folderName = ref(false)
  45. let newName = ref('')
  46. function inlineList() {
  47. folderName.value = result
  48. newName.value = reSet
  49. }
  50. function to() {
  51. folderName.value = false
  52. emit("getRename", folderName.value)
  53. }
  54. function editName() {
  55. documents.editDocument({
  56. dirId: reid - 0,
  57. name: newName.value,
  58. }).then(res => {
  59. if (res.code === 200) {
  60. props.getAllTop()
  61. ElMessage({
  62. message: '重命名成功',
  63. type: "success"
  64. })
  65. folderName.value = false
  66. emit("getRename", folderName.value)
  67. }
  68. })
  69. }
  70. onMounted(() => {
  71. inlineList()
  72. })
  73. return {
  74. folderName,
  75. newName,
  76. inlineList,
  77. backToFile: to,
  78. sureFolderName:editName,
  79. }
  80. }
  81. }
  82. </script>
  83. <style lang="scss" scoped></style>