浏览代码

修复 Bug

weiximei 6 年前
父节点
当前提交
bc95e99a3f

+ 1
- 1
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/BuildingOwnerInfoController.java 查看文件

@@ -115,7 +115,7 @@ public class BuildingOwnerInfoController extends BaseController {
115 115
     @ApiOperation(value = "查询 楼栋/单元/楼层/户号", notes = "查询 楼栋/单元/楼层/户号")
116 116
     @ApiImplicitParams({
117 117
             @ApiImplicitParam(paramType = "body", dataTypeClass = String.class, name = "parameter", value = "building楼层;" +
118
-                    "unit单元;level楼层;roomNo户号")
118
+                    "unit单元;level楼层") // ;roomNo户号
119 119
     })
120 120
     @RequestMapping(value = "/building/address",method = RequestMethod.POST)
121 121
     public ResponseBean buildingUnitNumber(@RequestBody String parameter, HttpSession session){

+ 26
- 2
VUECODE/smart-property-manage/src/api/buildingOwnerInfo.js 查看文件

@@ -2,9 +2,33 @@ import request from '@/utils/request'
2 2
 
3 3
 //  查询 楼栋/单元/楼层/户号
4 4
 export function buildingAddress(data) {
5
+  const config = {
6
+    url: '/building/address',
7
+    method: 'post',
8
+    data: {
9
+      building: data.building,
10
+      unit: data.unit,
11
+      level: data.level,
12
+      roomNo: data.roomNo
13
+    }
14
+  }
15
+  return request(config)
16
+}
17
+
18
+// 获取楼栋业主信息
19
+export function buildingList(data) {
5 20
   return request({
6
-    uri: '/building/address',
21
+    url: '/building/list',
7 22
     method: 'post',
8
-    data
23
+    data: {
24
+      building: data.building,
25
+      unit: data.unit,
26
+      level: data.level,
27
+      roomNo: data.roomNo,
28
+      ownerName: data.ownerName,
29
+      pageNum: data.pageNum,
30
+      pageSize: data.pageSize
31
+    }
9 32
   })
10 33
 }
34
+

+ 3
- 1
VUECODE/smart-property-manage/src/store/index.js 查看文件

@@ -7,6 +7,7 @@ import community from './modules/community'
7 7
 import trunkIndex from './modules/trunkIndex'
8 8
 import batchImport from './modules/batchImport'
9 9
 import getters from './getters'
10
+import buildingOwnerInfo from './modules/buildingOwnerInfo'
10 11
 
11 12
 Vue.use(Vuex)
12 13
 
@@ -17,7 +18,8 @@ const store = new Vuex.Store({
17 18
     community,
18 19
     banner,
19 20
     trunkIndex,
20
-    batchImport
21
+    batchImport,
22
+    buildingOwnerInfo
21 23
   },
22 24
   getters
23 25
 })

+ 33
- 3
VUECODE/smart-property-manage/src/store/modules/buildingOwnerInfo.js 查看文件

@@ -1,7 +1,37 @@
1
-import { buildingAddress } from '@/api/buildingOwnerInfo'
1
+import { buildingAddress, buildingList } from '@/api/buildingOwnerInfo'
2 2
 
3 3
 const buildingOwnerInfo = {
4
-  action: {
5
-    BuildingAddress(data)
4
+  state: {
5
+    list: ''
6
+  },
7
+  mutations: {
8
+    SET_LIST: (data) => {
9
+      this.state.list = data
10
+    }
11
+  },
12
+  actions: {
13
+    BuildingAddress({ commit }, data) { // 查询 楼栋/单元/楼层/户号
14
+      return new Promise((resolve, reject) => {
15
+        buildingAddress(data).then(response => {
16
+          // console.log('查询 楼栋/单元/楼层/户号: ', response)
17
+          resolve(response)
18
+        }).catch(error => {
19
+          reject(error)
20
+        })
21
+      })
22
+    },
23
+    BuildingInfoList({ commit }, data) { // 根据条件查询 楼栋信息库
24
+      return new Promise((resolve, reject) => {
25
+        buildingList(data).then(response => {
26
+          // const data = response.data
27
+          // commit('SET_LIST', data)
28
+          resolve(response)
29
+        }).catch(error => {
30
+          reject(error)
31
+        })
32
+      })
33
+    }
6 34
   }
7 35
 }
36
+
37
+export default buildingOwnerInfo

+ 90
- 0
VUECODE/smart-property-manage/src/views/building/add/index.vue 查看文件

@@ -0,0 +1,90 @@
1
+<template>
2
+  <div class="root">
3
+    <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
4
+      <el-form-item label="栋" prop="name">
5
+        <el-input v-model="ruleForm.name"/>
6
+      </el-form-item>
7
+      <el-form-item label="单元" prop="region">
8
+        <el-input v-model="ruleForm.name"/>
9
+      </el-form-item>
10
+      <el-form-item label="楼层" required>
11
+        <el-input v-model="ruleForm.name"/>
12
+      </el-form-item>
13
+      <el-form-item label="户号" prop="delivery">
14
+        <el-switch v-model="ruleForm.delivery"/>
15
+      </el-form-item>
16
+      <el-form-item label="业主姓名" prop="type">
17
+        <el-input v-model="ruleForm.name"/>
18
+      </el-form-item>
19
+      <el-form-item label="业主手机号" prop="resource">
20
+        <el-input v-model="ruleForm.name"/>
21
+      </el-form-item>
22
+      <el-form-item>
23
+        <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
24
+        <el-button @click="resetForm('ruleForm')">重置</el-button>
25
+      </el-form-item>
26
+    </el-form>
27
+  </div>
28
+</template>
29
+
30
+<script>
31
+export default {
32
+  data() {
33
+    return {
34
+      ruleForm: {
35
+        name: '',
36
+        region: '',
37
+        date1: '',
38
+        date2: '',
39
+        delivery: false,
40
+        type: [],
41
+        resource: '',
42
+        desc: ''
43
+      },
44
+      rules: {
45
+        name: [
46
+          { required: true, message: '请输入活动名称', trigger: 'blur' },
47
+          { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
48
+        ],
49
+        region: [
50
+          { required: true, message: '请选择活动区域', trigger: 'change' }
51
+        ],
52
+        date1: [
53
+          { type: 'date', required: true, message: '请选择日期', trigger: 'change' }
54
+        ],
55
+        date2: [
56
+          { type: 'date', required: true, message: '请选择时间', trigger: 'change' }
57
+        ],
58
+        type: [
59
+          { type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
60
+        ],
61
+        resource: [
62
+          { required: true, message: '请选择活动资源', trigger: 'change' }
63
+        ],
64
+        desc: [
65
+          { required: true, message: '请填写活动形式', trigger: 'blur' }
66
+        ]
67
+      }
68
+    }
69
+  },
70
+  methods: {
71
+    submitForm(formName) {
72
+      this.$refs[formName].validate((valid) => {
73
+        if (valid) {
74
+          alert('submit!')
75
+        } else {
76
+          console.log('error submit!!')
77
+          return false
78
+        }
79
+      })
80
+    },
81
+    resetForm(formName) {
82
+      this.$refs[formName].resetFields()
83
+    }
84
+  }
85
+}
86
+</script>
87
+
88
+<style scoped>
89
+
90
+</style>

+ 90
- 0
VUECODE/smart-property-manage/src/views/building/edi/index.vue 查看文件

@@ -0,0 +1,90 @@
1
+<template>
2
+  <div class="root">
3
+    <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
4
+      <el-form-item label="栋" prop="name">
5
+        <el-input v-model="ruleForm.name"/>
6
+      </el-form-item>
7
+      <el-form-item label="单元" prop="region">
8
+        <el-input v-model="ruleForm.name"/>
9
+      </el-form-item>
10
+      <el-form-item label="楼层" required>
11
+        <el-input v-model="ruleForm.name"/>
12
+      </el-form-item>
13
+      <el-form-item label="户号" prop="delivery">
14
+        <el-switch v-model="ruleForm.delivery"/>
15
+      </el-form-item>
16
+      <el-form-item label="业主姓名" prop="type">
17
+        <el-input v-model="ruleForm.name"/>
18
+      </el-form-item>
19
+      <el-form-item label="业主手机号" prop="resource">
20
+        <el-input v-model="ruleForm.name"/>
21
+      </el-form-item>
22
+      <el-form-item>
23
+        <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
24
+        <el-button @click="resetForm('ruleForm')">重置</el-button>
25
+      </el-form-item>
26
+    </el-form>
27
+  </div>
28
+</template>
29
+
30
+<script>
31
+export default {
32
+  data() {
33
+    return {
34
+      ruleForm: {
35
+        name: '',
36
+        region: '',
37
+        date1: '',
38
+        date2: '',
39
+        delivery: false,
40
+        type: [],
41
+        resource: '',
42
+        desc: ''
43
+      },
44
+      rules: {
45
+        name: [
46
+          { required: true, message: '请输入活动名称', trigger: 'blur' },
47
+          { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
48
+        ],
49
+        region: [
50
+          { required: true, message: '请选择活动区域', trigger: 'change' }
51
+        ],
52
+        date1: [
53
+          { type: 'date', required: true, message: '请选择日期', trigger: 'change' }
54
+        ],
55
+        date2: [
56
+          { type: 'date', required: true, message: '请选择时间', trigger: 'change' }
57
+        ],
58
+        type: [
59
+          { type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
60
+        ],
61
+        resource: [
62
+          { required: true, message: '请选择活动资源', trigger: 'change' }
63
+        ],
64
+        desc: [
65
+          { required: true, message: '请填写活动形式', trigger: 'blur' }
66
+        ]
67
+      }
68
+    }
69
+  },
70
+  methods: {
71
+    submitForm(formName) {
72
+      this.$refs[formName].validate((valid) => {
73
+        if (valid) {
74
+          alert('submit!')
75
+        } else {
76
+          console.log('error submit!!')
77
+          return false
78
+        }
79
+      })
80
+    },
81
+    resetForm(formName) {
82
+      this.$refs[formName].resetFields()
83
+    }
84
+  }
85
+}
86
+</script>
87
+
88
+<style scoped>
89
+
90
+</style>

+ 148
- 24
VUECODE/smart-property-manage/src/views/building/index.vue 查看文件

@@ -3,17 +3,37 @@
3 3
   <div class="root">
4 4
     <el-form :inline="true" :model="listQuery" class="form-listQuery">
5 5
       <el-form-item label="楼盘库">
6
-        <el-select placeholder="栋">
6
+        <el-select v-model="listQuery.building" placeholder="栋" @change="buildSelectChange(1)">
7 7
           <el-option label="选择楼栋" value="-1" />
8
+          <el-option
9
+            v-for="item in buildingList"
10
+            :key="item.id"
11
+            :label="item.building"
12
+            :value="item.building"/>
8 13
         </el-select>
9
-        <el-select placeholder="单元">
14
+        <el-select v-model="listQuery.unit" placeholder="单元" @change="buildSelectChange(2)">
10 15
           <el-option label="选择单元" value="-1" />
16
+          <el-option
17
+            v-for="item in unitList"
18
+            :key="item.id"
19
+            :label="item.unit"
20
+            :value="item.unit"/>
11 21
         </el-select>
12
-        <el-select placeholder="楼层">
22
+        <el-select v-model="listQuery.level" placeholder="楼层" @change="buildSelectChange(3)">
13 23
           <el-option label="选择楼层" value="-1" />
24
+          <el-option
25
+            v-for="item in levelList"
26
+            :key="item.id"
27
+            :label="item.level"
28
+            :value="item.level"/>
14 29
         </el-select>
15
-        <el-select placeholder="户号">
30
+        <el-select v-model="listQuery.roomNo" placeholder="户号">
16 31
           <el-option label="选择户号" value="-1" />
32
+          <el-option
33
+            v-for="item in roomNoList"
34
+            :key="item.id"
35
+            :label="item.roomNo"
36
+            :value="item.roomNo"/>
17 37
         </el-select>
18 38
         <el-form-item label="业主名称">
19 39
           <el-input placeholder="业主名称" />
@@ -21,7 +41,7 @@
21 41
       </el-form-item>
22 42
       <el-form-item>
23 43
         <el-button type="info">清空</el-button>
24
-        <el-button type="primary">查询</el-button>
44
+        <el-button type="primary" @click="dataQuery">查询</el-button>
25 45
       </el-form-item>
26 46
     </el-form>
27 47
     <div class="operation">
@@ -35,24 +55,30 @@
35 55
       </div>
36 56
     </div>
37 57
     <el-table
58
+      v-loading="listLoading"
38 59
       ref="multipleTable"
39
-      :data="tableData3"
60
+      :data="buildingInfoLists"
40 61
       border
41 62
       tooltip-effect="dark"
42 63
       style="width: 100%; margin-top: 20px;"
43 64
       @selection-change="handleSelectionChange">
44 65
       <el-table-column type="selection" width="55"/>
45
-      <el-table-column label="日期" width="120">
46
-        <template slot-scope="scope">{{ scope.row.date }}</template>
66
+      <el-table-column prop="building" label="栋" />
67
+      <el-table-column prop="unit" label="单元" />
68
+      <el-table-column prop="level" label="楼层" />
69
+      <el-table-column prop="roomNo" label="户号" />
70
+      <el-table-column prop="ownerName" label="业主姓名"/>
71
+      <el-table-column prop="ownerTel" label="手机号码" />
72
+      <el-table-column prop="pairStatus" label="关联业主状态" >
73
+        <template slot-scope="scope">{{ scope.row.pairStatus === 1 ? '已关联':'未管理' }}</template>
47 74
       </el-table-column>
48
-      <el-table-column prop="name" label="姓名" width="120" />
49
-      <el-table-column prop="address" label="地址" show-overflow-tooltip />
75
+      <el-table-column prop="createDate" label="创建时间" />
50 76
     </el-table>
51 77
     <div class="block">
52 78
       <el-pagination
53
-        :current-page="currentPage4"
54
-        :page-sizes="[100, 200, 300, 400]"
55
-        :page-size="100"
79
+        :current-page="listQuery.pageNum"
80
+        :page-sizes="[10, 20, 50, 100]"
81
+        :page-size="listQuery.pageSize"
56 82
         :total="400"
57 83
         layout="total, sizes, prev, pager, next, jumper"
58 84
         @size-change="handleSizeChange"
@@ -62,23 +88,54 @@
62 88
 </template>
63 89
 
64 90
 <script>
91
+import { mapActions, mapState } from 'vuex'
92
+
65 93
 export default {
66 94
   data() {
67 95
     return {
68
-      listQuery: {},
69
-      tableData3: [{
70
-        date: '2016-05-03',
71
-        name: '王小虎',
72
-        address: '上海市普陀区金沙江路 1518 弄'
73
-      }, {
74
-        date: '2016-05-02',
75
-        name: '王小虎',
76
-        address: '上海市普陀区金沙江路 1518 弄'
77
-      }],
78
-      currentPage4: 4
96
+      listQuery: {
97
+        building: '',
98
+        unit: '',
99
+        level: '',
100
+        roomNo: '',
101
+        ownerName: '',
102
+        pageNum: 1,
103
+        pageSize: 10
104
+      },
105
+      total: '', // 数据总数
106
+      buildingInfoLists: [],
107
+      buildingList: [],
108
+      unitList: [],
109
+      levelList: [],
110
+      roomNoList: [],
111
+      listLoading: true // 加载圈
112
+    }
113
+  },
114
+  computed: {
115
+    ...mapState('buildingOwnerInfo', {
116
+      buildingInfoList: s => s.list
117
+    })
118
+  },
119
+  watch: {
120
+    $route: {
121
+      handler: function(route) {
122
+        this.redirect = route.query && route.query.redirect
123
+      },
124
+      immediate: true
79 125
     }
80 126
   },
127
+  mounted() {
128
+    console.log('获取楼栋')
129
+    // 获取栋
130
+    this.getBuild()
131
+    // 获取数据
132
+    this.dataQuery()
133
+  },
81 134
   methods: {
135
+    ...mapActions('buildingOwnerInfo', [
136
+      'BuildingAddress',
137
+      'BuildingInfoList'
138
+    ]),
82 139
     handleSizeChange(val) {
83 140
       console.log(`每页 ${val} 条`)
84 141
     },
@@ -87,6 +144,73 @@ export default {
87 144
     },
88 145
     dialogBatchImport() {
89 146
       this.$router.push({ name: 'batch-import' })
147
+    },
148
+    handleSelectionChange(data) {
149
+
150
+    },
151
+    getBuild() { // 获取楼栋
152
+      this.listQuery.building = ''
153
+      this.$store.dispatch('BuildingAddress', this.listQuery).then((res) => {
154
+        this.buildingList = res.data
155
+        // console.log(res)
156
+      }).catch(() => {
157
+        console.log('error BuildingAddress')
158
+      })
159
+    },
160
+    getUnit() { // 获取单元
161
+      this.listQuery.unit = ''
162
+      this.$store.dispatch('BuildingAddress', this.listQuery).then((res) => {
163
+        this.unitList = res.data
164
+        console.log(res)
165
+      }).catch(() => {
166
+        console.log('error BuildingAddress')
167
+      })
168
+    },
169
+    getLevel() { // 获取楼层
170
+      this.listQuery.level = ''
171
+      this.$store.dispatch('BuildingAddress', this.listQuery).then((res) => {
172
+        this.levelList = res.data
173
+        console.log(res)
174
+      }).catch(() => {
175
+        console.log('error BuildingAddress')
176
+      })
177
+    },
178
+    getRoomNo() { // 获取户号
179
+      this.listQuery.roomNo = ''
180
+      this.$store.dispatch('BuildingAddress', this.listQuery).then((res) => {
181
+        this.roomNoList = res.data
182
+        console.log(res)
183
+      }).catch(() => {
184
+        console.log('error BuildingAddress')
185
+      })
186
+    },
187
+    buildSelectChange(value) { // select 的 change
188
+      switch (value) {
189
+        case 1: // 查询 单元
190
+          this.getUnit()
191
+          break
192
+        case 2: // 查询 楼层
193
+          this.getLevel()
194
+          break
195
+        case 3: // 查询 户号
196
+          this.getRoomNo()
197
+          break
198
+      }
199
+    },
200
+    dataQuery() { // 查询数据
201
+      this.listLoading = true
202
+      // this.BuildingInfoList(this.listQuery).then((res) => {
203
+      //   this.listLoading = false
204
+      // }).catch(() => {
205
+      //   console.log('get UserCommunity list error')
206
+      // })
207
+      this.$store.dispatch('BuildingInfoList', this.listQuery).then((res) => {
208
+        this.$data.buildingInfoLists = res.data
209
+        this.listLoading = false
210
+      }).catch(() => {
211
+        this.listLoading = false
212
+        console.log('error BuildingInfoList')
213
+      })
90 214
     }
91 215
   }
92 216
 }

+ 6
- 6
VUECODE/smart-property-manage/src/views/owner/index.vue 查看文件

@@ -2,12 +2,12 @@
2 2
 <template>
3 3
   <div class="root">
4 4
     <el-form :inline="true" :model="listQuery" class="form-listQuery">
5
-        <el-form-item label="手机号">
6
-          <el-input placeholder="手机号" />
7
-        </el-form-item>
8
-        <el-form-item label="姓名">
9
-          <el-input placeholder="姓名" />
10
-        </el-form-item>
5
+      <el-form-item label="手机号">
6
+        <el-input placeholder="手机号" />
7
+      </el-form-item>
8
+      <el-form-item label="姓名">
9
+        <el-input placeholder="姓名" />
10
+      </el-form-item>
11 11
       <el-form-item>
12 12
         <el-button type="info">清空</el-button>
13 13
         <el-button type="primary">查询</el-button>