index.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <template>
  2. <el-dialog :title="title" :visible.sync="dialogVisible" width="850px" @close="handleClose" id="messageDialog">
  3. <el-row>
  4. <formItems :type="'floor'" ref="formItems"></formItems>
  5. </el-row>
  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 FloorController from "@/controller/old-adm/floorController";
  14. import formItems from "@/components/old-adm/ready/components/formItems";
  15. import tools from "@/utils/old-adm/buildfloor/tools";
  16. export default {
  17. props: {
  18. title: {
  19. default: '提示'
  20. },
  21. type: {
  22. default: 'Floor'
  23. },
  24. curBuildId: {
  25. default: ''
  26. },
  27. curFloorId: {
  28. default: ''
  29. }
  30. },
  31. components: {
  32. formItems
  33. },
  34. data() {
  35. return {
  36. dialogVisible: false, //弹窗显示与隐藏
  37. floorData: {},
  38. };
  39. },
  40. methods: {
  41. showDialog(data) {
  42. this.floorData = data || {};
  43. this.floorData = tools.desFormatData(this.floorData)
  44. this.floorData.outline = this.floorData.outline ? JSON.stringify(this.floorData.outline) : undefined;
  45. //===测试代码===
  46. // this.floorData.DefaultQRCode = 'Eq1101080004a93a45ce15e948dda155e9683803cf46QR'
  47. // this.floorData.QRCodePic = 'Eq1101080004a93a45ce15e948dda155e9683803cf46QR'
  48. //=====
  49. this.timeoutSetVal()
  50. this.dialogVisible = true;
  51. },
  52. timeoutSetVal() {
  53. setTimeout(() => {
  54. if (this.$refs.formItems) {
  55. this.$refs.formItems.form = this.floorData
  56. } else {
  57. this.timeoutSetVal()
  58. }
  59. }, 500)
  60. },
  61. handleClose() {
  62. },
  63. //创建
  64. confirm() {
  65. this.$refs.formItems.submitForm(this.save)
  66. },
  67. save() {
  68. let form = this.$refs.formItems.form
  69. if (form.outline) form.outline = JSON.parse(form.outline);
  70. let newform = tools.formatData(form)
  71. newform.buildingId = this.curBuildId
  72. let Param = {
  73. content: [newform]
  74. }
  75. if (newform.id) {
  76. FloorController.manageUpdateFloor(Param).then(res => {
  77. this.$message.success('更新成功')
  78. this.$emit('refresh')
  79. this.dialogVisible = false;
  80. })
  81. } else {
  82. FloorController.manageCreateFloor(Param).then(res => {
  83. this.$message.success('创建成功')
  84. this.$emit('refresh')
  85. this.dialogVisible = false;
  86. })
  87. }
  88. }
  89. },
  90. mounted() {
  91. },
  92. created() {
  93. }
  94. };
  95. </script>
  96. <style lang="less" scoped>
  97. #messageDialog {
  98. /deep/ .el-dialog__body {
  99. height: 420px;
  100. overflow: auto;
  101. }
  102. .el-form-item {
  103. /deep/ label.el-form-item__label {
  104. font-size: 12px;
  105. }
  106. }
  107. /deep/ .FloorTypeSelect .el-form-item__content {
  108. width: 200px;
  109. }
  110. }
  111. </style>