Blame view

src/components/community/AddRoomRenovation.vue 5.05 KB
e4e31451   wuxw   完成物业首页功能
1
  <template>
81ca23ff   wuxw   装修功能测试中
2
    <el-dialog :title="$t('roomRenovationManage.add')" :visible.sync="visible" width="40%" @close="resetForm">
e4e31451   wuxw   完成物业首页功能
3
4
      <el-form :model="form" ref="form" label-width="120px">
        <el-form-item :label="$t('roomRenovationManage.room')" prop="roomName" required>
81ca23ff   wuxw   装修功能测试中
5
          <el-input v-model.trim="form.roomName" :placeholder="$t('roomRenovationManage.roomNumberPlaceholder')"
e4e31451   wuxw   完成物业首页功能
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
            @blur="queryRoom" />
        </el-form-item>
  
        <el-form-item :label="$t('roomRenovationManage.contactPerson')" prop="personName" required>
          <el-input v-model.trim="form.personName" :placeholder="$t('roomRenovationManage.contactPersonPlaceholder')"
            disabled />
        </el-form-item>
  
        <el-form-item :label="$t('roomRenovationManage.phone')" prop="personTel" required>
          <el-input v-model.trim="form.personTel" :placeholder="$t('roomRenovationManage.phonePlaceholder')" disabled />
        </el-form-item>
  
        <el-form-item :label="$t('roomRenovationManage.renovationStartTime')" prop="startTime" required>
          <el-date-picker v-model="form.startTime" type="date"
            :placeholder="$t('roomRenovationManage.startTimePlaceholder')" value-format="yyyy-MM-dd" />
        </el-form-item>
  
        <el-form-item :label="$t('roomRenovationManage.renovationEndTime')" prop="endTime" required>
          <el-date-picker v-model="form.endTime" type="date" :placeholder="$t('roomRenovationManage.endTimePlaceholder')"
            value-format="yyyy-MM-dd" />
        </el-form-item>
  
        <el-form-item :label="$t('roomRenovationManage.renovationCompany')" prop="renovationCompany" required>
          <el-input v-model.trim="form.renovationCompany"
            :placeholder="$t('roomRenovationManage.renovationCompanyPlaceholder')" />
        </el-form-item>
  
        <el-form-item :label="$t('roomRenovationManage.renovationManager')" prop="personMain" required>
81ca23ff   wuxw   装修功能测试中
34
35
          <el-input v-model.trim="form.personMain"
            :placeholder="$t('roomRenovationManage.renovationManagerPlaceholder')" />
e4e31451   wuxw   完成物业首页功能
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
        </el-form-item>
  
        <el-form-item :label="$t('roomRenovationManage.managerPhone')" prop="personMainTel" required>
          <el-input v-model.trim="form.personMainTel" :placeholder="$t('roomRenovationManage.managerPhonePlaceholder')" />
        </el-form-item>
  
        <el-form-item :label="$t('roomRenovationManage.remark')" prop="remark">
          <el-input v-model.trim="form.remark" type="textarea"
            :placeholder="$t('roomRenovationManage.remarkPlaceholder')" />
        </el-form-item>
      </el-form>
  
      <div slot="footer" class="dialog-footer">
        <el-button @click="visible = false">
          {{ $t('roomRenovationManage.cancel') }}
        </el-button>
        <el-button type="primary" @click="saveRoomRenovation">
          {{ $t('roomRenovationManage.save') }}
        </el-button>
      </div>
    </el-dialog>
  </template>
  
  <script>
  import { addRoomRenovation } from '@/api/community/roomRenovationManageApi'
81ca23ff   wuxw   装修功能测试中
61
62
  import { queryRooms } from '@/api/room/roomApi'
  import { getCommunityId } from '@/api/community/communityApi'
e4e31451   wuxw   完成物业首页功能
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
  
  export default {
    name: 'AddRoomRenovation',
    data() {
      return {
        visible: false,
        form: {
          roomName: '',
          personName: '',
          personTel: '',
          startTime: '',
          endTime: '',
          renovationCompany: '',
          personMain: '',
          personMainTel: '',
          remark: '',
          isPostpone: 'N',
          communityId: ''
        }
      }
    },
    methods: {
      open() {
        this.visible = true
      },
  
      resetForm() {
        this.form = {
          roomName: '',
          personName: '',
          personTel: '',
          startTime: '',
          endTime: '',
          renovationCompany: '',
          personMain: '',
          personMainTel: '',
          remark: '',
          isPostpone: 'N',
81ca23ff   wuxw   装修功能测试中
101
          communityId: getCommunityId()
e4e31451   wuxw   完成物业首页功能
102
103
104
105
106
107
        }
        this.$refs.form && this.$refs.form.resetFields()
      },
  
      async saveRoomRenovation() {
        try {
81ca23ff   wuxw   装修功能测试中
108
          this.form.communityId = getCommunityId()
e4e31451   wuxw   完成物业首页功能
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
          await addRoomRenovation(this.form)
          this.$message.success(this.$t('common.operationSuccess'))
          this.visible = false
          this.$emit('success')
        } catch (error) {
          console.error('添加装修信息失败:', error)
          this.$message.error(error.message || this.$t('common.operationFailed'))
        }
      },
  
      async queryRoom() {
        if (!this.form.roomName) return
  
        try {
          // 这里需要根据实际API实现查询房屋信息
81ca23ff   wuxw   装修功能测试中
124
125
126
127
128
129
130
          const {rooms} = await queryRooms({ roomName: this.form.roomName,page:1,row:10,communityId:getCommunityId() })
          if(rooms.length > 0){
            this.form.personName = rooms[0].ownerName
            this.form.personTel = rooms[0].link
            this.form.roomId = rooms[0].roomId
          }
  
e4e31451   wuxw   完成物业首页功能
131
132
133
134
135
136
137
138
139
          // const roomInfo = await getRoomInfo({ roomName: this.form.roomName })
          // this.form.personName = roomInfo.ownerName
          // this.form.personTel = roomInfo.link
        } catch (error) {
          console.error('查询房屋信息失败:', error)
        }
      }
    }
  }
81ca23ff   wuxw   装修功能测试中
140
141
142
143
144
145
146
147
148
149
150
151
  </script>
  <style scoped>
  .el-date-editor{  
    width: 100%;
  }
  .el-date-editor.el-input{
    width: 100%;
  }
  .el-form-item{
    width: 95%;
  }
  </style>