index.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <template>
  2. <el-dialog :title="title" :visible.sync="dialogVisible" width="40%" @close="handleClose" id="messageDialog">
  3. <div>
  4. <formItems :type="'Floor'" ref="formItems"></formItems>
  5. </div>
  6. <span slot="footer" class="dialog-footer">
  7. <el-button size="small" @click="dialogVisible=false">取消</el-button>
  8. <el-button size="small" type="primary" @click="confirm">确认</el-button>
  9. </span>
  10. </el-dialog>
  11. </template>
  12. <script>
  13. import {
  14. manageCreateFloor,
  15. manageUpdateFloor
  16. } from "@/api/scan/request";
  17. import formItems from "@/components/ready/buildfloor/formItems";
  18. import tools from "@/utils/buildfloor/tools";
  19. export default {
  20. props: {
  21. title: {
  22. default: '提示'
  23. },
  24. type: {
  25. default: 'Floor'
  26. },
  27. curBuildId: {
  28. default: ''
  29. },
  30. curFloorId: {
  31. default: ''
  32. }
  33. },
  34. components: {
  35. formItems
  36. },
  37. data() {
  38. return {
  39. dialogVisible: false, //弹窗显示与隐藏
  40. floorData: {}
  41. };
  42. },
  43. methods: {
  44. showDialog(data) {
  45. this.floorData = data || {};
  46. this.floorData = tools.desFormatData(this.floorData)
  47. this.timeoutSetVal()
  48. this.dialogVisible = true;
  49. },
  50. timeoutSetVal() {
  51. setTimeout(() => {
  52. if (this.$refs.formItems) {
  53. this.$refs.formItems.form = this.floorData
  54. } else {
  55. this.timeoutSetVal()
  56. }
  57. }, 500)
  58. },
  59. handleClose() { },
  60. //创建
  61. confirm() {
  62. this.$refs.formItems.submitForm(this.save)
  63. },
  64. save() {
  65. let form = this.$refs.formItems.form
  66. let newform = tools.formatData(form)
  67. newform.BuildID = this.curBuildId
  68. let Param = {
  69. Content: [newform]
  70. }
  71. if (newform.FloorID) {
  72. manageUpdateFloor(Param, res => {
  73. this.$message.success('更新成功')
  74. this.$emit('refresh')
  75. this.dialogVisible = false;
  76. })
  77. } else {
  78. manageCreateFloor(Param, res => {
  79. this.$message.success('创建成功')
  80. this.$emit('refresh')
  81. this.dialogVisible = false;
  82. })
  83. }
  84. }
  85. },
  86. mounted() { },
  87. created() { }
  88. };
  89. </script>
  90. <style lang="scss" scoped>
  91. #messageDialog {
  92. .el-form-item {
  93. /deep/ label.el-form-item__label {
  94. font-size: 12px;
  95. }
  96. }
  97. /deep/ .FloorTypeSelect .el-form-item__content {
  98. width: 178px;
  99. }
  100. }
  101. </style>