瀏覽代碼

Merge branch 'master' of http://git.ycjcjy.com/ershoufang/mp-agent into master

张延森 4 年之前
父節點
當前提交
8e818d891f

+ 24
- 10
src/store/models/renting.js 查看文件

123
   // 获取楼栋详情
123
   // 获取楼栋详情
124
   const getBuilding = (estateId) => {
124
   const getBuilding = (estateId) => {
125
     return request({
125
     return request({
126
-      url: "/rent/building",
126
+      url: "/room/building",
127
       params: {
127
       params: {
128
-        estateId
128
+        estateId,
129
       },
129
       },
130
     })
130
     })
131
   }
131
   }
135
     return request({
135
     return request({
136
       url: "/rent/close",
136
       url: "/rent/close",
137
       params: {
137
       params: {
138
-        estateId: data.estateId
138
+        estateId: data.estateId,
139
       },
139
       },
140
       data,
140
       data,
141
       toast: "请稍候...",
141
       toast: "请稍候...",
153
     })
153
     })
154
   }
154
   }
155
 
155
 
156
-   // 实勘列表
157
-   const getRescList = (roomId) => {
156
+  // 实勘列表
157
+  const getRescList = (roomId) => {
158
     return request({
158
     return request({
159
       url: "/rent/resc/list",
159
       url: "/rent/resc/list",
160
-      params: { roomId },
160
+      params: {
161
+        roomId
162
+      },
161
       loadingId: "room.resc.list",
163
       loadingId: "room.resc.list",
162
     })
164
     })
163
   }
165
   }
166
   const setRescCover = (rescId) => {
168
   const setRescCover = (rescId) => {
167
     return request({
169
     return request({
168
       url: "/rent/resc/cover",
170
       url: "/rent/resc/cover",
169
-      params: { id: rescId },
171
+      params: {
172
+        id: rescId
173
+      },
170
       toast: "请稍候...",
174
       toast: "请稍候...",
171
     })
175
     })
172
   }
176
   }
178
       headers: {
182
       headers: {
179
         "Content-Type": "application/json",
183
         "Content-Type": "application/json",
180
       },
184
       },
181
-      params: { roomId },
185
+      params: {
186
+        roomId
187
+      },
182
       data,
188
       data,
183
       toast: "请稍候...",
189
       toast: "请稍候...",
184
     })
190
     })
185
   }
191
   }
186
 
192
 
187
   // 删除
193
   // 删除
188
-  const deleteResc = ({ roomId, rescId, rescType }) => {
194
+  const deleteResc = ({
195
+    roomId,
196
+    rescId,
197
+    rescType
198
+  }) => {
189
     return request({
199
     return request({
190
       url: "/rent/resc/delete",
200
       url: "/rent/resc/delete",
191
-      params: { roomId, rescId, rescType },
201
+      params: {
202
+        roomId,
203
+        rescId,
204
+        rescType
205
+      },
192
       toast: "请稍候...",
206
       toast: "请稍候...",
193
     })
207
     })
194
   }
208
   }

+ 18
- 24
src/view/addhouse/index.vue 查看文件

1
 <template>
1
 <template>
2
-  <div class="addhouse">
2
+  <div class="home">
3
     <van-tabs
3
     <van-tabs
4
-      v-model="active"
5
-      background="#e6e4e4"
6
-      color="#d75e3a"
4
+      v-model:active="active"
5
+      background="#d75e3a"
6
+      color="#fff"
7
       line-width="30%"
7
       line-width="30%"
8
-      title-active-color="#d75e3a"
8
+      title-active-color="#fff"
9
     >
9
     >
10
-      <div class="addhouse-main">
11
-        <van-tab title="二手房"><Addsecondhand /></van-tab>
12
-        <van-tab title="租房"> <Addrenting /></van-tab>
13
-      </div>
10
+      <van-tab title="二手房"><Addsecondhand /></van-tab>
11
+      <van-tab title="租房"> <Addrenting /></van-tab>
14
     </van-tabs>
12
     </van-tabs>
15
   </div>
13
   </div>
16
 </template>
14
 </template>
17
 
15
 
18
 <script>
16
 <script>
19
-// import Vue from 'vue';
17
+import { ref } from "vue"
20
 import { Tab, Tabs } from "vant"
18
 import { Tab, Tabs } from "vant"
21
 import Addsecondhand from "./addsecondhand"
19
 import Addsecondhand from "./addsecondhand"
22
 import Addrenting from "./addrenting"
20
 import Addrenting from "./addrenting"
23
 
21
 
24
 export default {
22
 export default {
25
-  name: "addhouse",
23
+  name: "home",
26
   components: {
24
   components: {
27
     [Tab.name]: Tab,
25
     [Tab.name]: Tab,
28
     [Tabs.name]: Tabs,
26
     [Tabs.name]: Tabs,
29
-    Addsecondhand: Addsecondhand,
30
-    Addrenting: Addrenting,
27
+    Addsecondhand,
28
+    Addrenting,
31
   },
29
   },
32
   data() {
30
   data() {
33
-    return {
34
-      msg: "222",
35
-    }
31
+    return {}
32
+  },
33
+  setup() {
34
+    const active = ref(0)
35
+    return { active }
36
   },
36
   },
37
 }
37
 }
38
 </script>
38
 </script>
39
 
39
 
40
 <!-- Add "scoped" attribute to limit CSS to this component only -->
40
 <!-- Add "scoped" attribute to limit CSS to this component only -->
41
 <style scoped>
41
 <style scoped>
42
-.addhouse-main {
43
-  width: 100%;
44
-  height: calc(100vh - 94px);
45
-  overflow: hidden;
46
-  overflow-y: auto;
47
-}
48
-.addhouse-main::-webkit-scrollbar {
49
-  display: none; /*隐藏滚动条*/
42
+:deep(.van-tab) {
43
+  color: #000;
50
 }
44
 }
51
 </style>
45
 </style>

+ 45
- 22
src/view/renting/detail/components/Main.vue 查看文件

31
       {{ roomInfo.createMethod === "1" ? "外部录入" : "荟居录入" }}
31
       {{ roomInfo.createMethod === "1" ? "外部录入" : "荟居录入" }}
32
     </x-field>
32
     </x-field>
33
 
33
 
34
-    <!-- 
35
-
36
-
37
-    <x-field label="所属区县">
38
-      {{ otherData.roomCity.areaName }}
39
-    </x-field>
40
-
41
-    <x-field label="所属商圈">
42
-      {{ otherData.roomBusi.areaName }}
43
-    </x-field>
44
-
45
-  
46
-
47
-    <x-field label="价格">
48
-      {{ roomInfo.totalPrice }} 万元 / {{ avgPrice }} 元/㎡
49
-    </x-field> -->
34
+    <div
35
+      v-if="
36
+        roomInfo.status == '2' ||
37
+        roomInfo.status == '4' ||
38
+        roomInfo.status == '6'
39
+      "
40
+    >
41
+      <x-field label="关闭原因">
42
+        {{ getDictLabel(roomLog.type, "closeType")
43
+        }}<span v-show="roomLog.type == '1'"
44
+          >({{ getDictLabel(roomLog.reason, "closeReason") }})</span
45
+        >
46
+      </x-field>
47
+
48
+      <x-field label="关闭人">
49
+        {{ roomLog.createName }}
50
+      </x-field>
51
+
52
+      <x-field label="关闭时间">
53
+        {{ roomLog.createTime }}
54
+      </x-field>
55
+    </div>
50
 
56
 
51
     <x-field label="楼栋">
57
     <x-field label="楼栋">
52
       {{ securityInfo.roomBuild || "敏感信息" }}
58
       {{ securityInfo.roomBuild || "敏感信息" }}
123
       type: Object,
129
       type: Object,
124
       default: () => ({}),
130
       default: () => ({}),
125
     },
131
     },
126
-
127
-    otherData: Object,
132
+    roomLog: {
133
+      type: Object,
134
+      default: () => ({}),
135
+    },
136
+    otherData: {
137
+      type: Object,
138
+      default: () => ({}),
139
+    },
128
   },
140
   },
129
   setup(props) {
141
   setup(props) {
130
     const router = useRouter()
142
     const router = useRouter()
132
     const unfollowRoom = ref()
144
     const unfollowRoom = ref()
133
     const { dicts, getDict } = useModel("dicts")
145
     const { dicts, getDict } = useModel("dicts")
134
 
146
 
135
-    // const floor = computed(() => {
136
-    //   const [a, b, c] = (props.roomInfo.roomFloor || "").split(",");
137
-    //   return `${a || ""}/${b || ""}(${c || ""})`;
138
-    // });
147
+    // 关闭类型
148
+    if (!dicts.closeType || !dicts.closeType.length) {
149
+      getDict("closeType")
150
+    }
151
+
152
+    // 关闭原因
153
+    if (!dicts.closeReason || !dicts.closeReason.length) {
154
+      getDict("closeReason")
155
+    }
139
 
156
 
140
     // 居室
157
     // 居室
141
     const roomType = computed(() => {
158
     const roomType = computed(() => {
206
       }
223
       }
207
     }
224
     }
208
 
225
 
226
+    // 获取字典对应名称
227
+    const getDictLabel = (val, key) => {
228
+      return dicts[key]?.filter((x) => x.value === val)[0]?.text
229
+    }
230
+
209
     return {
231
     return {
210
       // floor,
232
       // floor,
211
       roomType,
233
       roomType,
218
       goToAddFollow,
240
       goToAddFollow,
219
       payWayOptions,
241
       payWayOptions,
220
       decorationOptions,
242
       decorationOptions,
243
+      getDictLabel,
221
     }
244
     }
222
   },
245
   },
223
 }
246
 }

+ 1
- 0
src/view/renting/detail/index.vue 查看文件

27
         <RoomMain
27
         <RoomMain
28
           :room-info="detail.roomInfo"
28
           :room-info="detail.roomInfo"
29
           :building="detail.building"
29
           :building="detail.building"
30
+          :roomLog="detail.roomLog || {}"
30
           :other-data="roomOtherData"
31
           :other-data="roomOtherData"
31
         />
32
         />
32
       </van-cell-group>
33
       </van-cell-group>

+ 30
- 23
src/view/renting/edithouse/components/Form.vue 查看文件

9
     />
9
     />
10
 
10
 
11
     <van-field
11
     <van-field
12
-      v-model="formData.buildingName"
12
+      v-model="buildingName"
13
       name="buildingName"
13
       name="buildingName"
14
       label="楼盘名称"
14
       label="楼盘名称"
15
-      placeholder="请输入"
15
+      disabled
16
     />
16
     />
17
 
17
 
18
     <van-field name="aspect" label="朝向" required>
18
     <van-field name="aspect" label="朝向" required>
36
     </van-field>
36
     </van-field>
37
 
37
 
38
     <van-field
38
     <van-field
39
-      v-model="formData.acreage"
39
+      v-model="formData.totalPrice"
40
       name="totalPrice"
40
       name="totalPrice"
41
       label="租金"
41
       label="租金"
42
       placeholder="请输入"
42
       placeholder="请输入"
260
 </template>
260
 </template>
261
 
261
 
262
 <script>
262
 <script>
263
-import { reactive, computed, watch } from "vue"
263
+import { reactive, computed, watch, ref } from "vue"
264
 import { Form, Field, Button } from "vant"
264
 import { Form, Field, Button } from "vant"
265
 import { useModel } from "@zjxpcyc/vue-tiny-store"
265
 import { useModel } from "@zjxpcyc/vue-tiny-store"
266
 import Picker from "@/components/Picker"
266
 import Picker from "@/components/Picker"
279
   },
279
   },
280
   emits: ["submit"],
280
   emits: ["submit"],
281
   setup(props, { emit }) {
281
   setup(props, { emit }) {
282
+    const buildingName = ref("")
283
+
282
     const formData = reactive({})
284
     const formData = reactive({})
283
     const { dicts, getDict } = useModel("dicts")
285
     const { dicts, getDict } = useModel("dicts")
284
     const { detail } = useModel("renting")
286
     const { detail } = useModel("renting")
285
 
287
 
288
+    //  const mustEdit = computed(()=>detail.building.is)
289
+
286
     // 装修
290
     // 装修
287
     const decorationOptions = computed(() => {
291
     const decorationOptions = computed(() => {
288
       const decorationDict = dicts.decoration || []
292
       const decorationDict = dicts.decoration || []
460
     })
464
     })
461
 
465
 
462
     const validManually = () => {
466
     const validManually = () => {
463
-      // if (
464
-      //   !formData.roomType ||
465
-      //   formData.roomType.split(",").filter(Boolean).length != 5
466
-      // ) {
467
-      //   showWarn("请正确设置户型")
468
-      //   return false
469
-      // }
470
-      // if (!formData.decoration) {
471
-      //   showWarn("请选择装修")
472
-      //   return false
473
-      // }
474
-      // if (!formData.aspect) {
475
-      //   showWarn("请选择朝向")
476
-      //   return false
477
-      // }
478
-      // if (!formData.sourceFrom) {
479
-      //   showWarn("请选择房源来源")
480
-      //   return false
481
-      // }
467
+      if (
468
+        !formData.roomType ||
469
+        formData.roomType.split(",").filter(Boolean).length != 5
470
+      ) {
471
+        showWarn("请正确设置户型")
472
+        return false
473
+      }
474
+      if (!formData.decoration) {
475
+        showWarn("请选择装修")
476
+        return false
477
+      }
478
+      if (!formData.aspect) {
479
+        showWarn("请选择朝向")
480
+        return false
481
+      }
482
+      if (!formData.sourceFrom) {
483
+        showWarn("请选择房源来源")
484
+        return false
485
+      }
482
 
486
 
483
       return true
487
       return true
484
     }
488
     }
499
       (nw, od) => {
503
       (nw, od) => {
500
         if (nw && !od) {
504
         if (nw && !od) {
501
           Object.assign(formData, { ...nw })
505
           Object.assign(formData, { ...nw })
506
+          buildingName.value = detail.building?.buildingName
502
         }
507
         }
503
       },
508
       },
504
       { immediate: true }
509
       { immediate: true }
505
     )
510
     )
506
 
511
 
507
     return {
512
     return {
513
+      // mustEdit,
514
+      buildingName,
508
       formData,
515
       formData,
509
       handleSumbit,
516
       handleSumbit,
510
       decorationOptions,
517
       decorationOptions,