zlisen 4 years ago
parent
commit
e949d7c96c

+ 50
- 5
src/store/models/room.js View File

1
-import { reactive, ref } from "vue"
1
+import {
2
+  reactive,
3
+  ref
4
+} from "vue"
2
 import request from '@/utils/request'
5
 import request from '@/utils/request'
3
 
6
 
4
 export default () => {
7
 export default () => {
5
   const loading = ref(false)
8
   const loading = ref(false)
6
   const list = ref([])
9
   const list = ref([])
7
   const page = reactive({})
10
   const page = reactive({})
11
+  const detail = reactive({})
8
 
12
 
9
   const getList = data => {
13
   const getList = data => {
10
     loading.value = true
14
     loading.value = true
17
         ...data,
21
         ...data,
18
       }
22
       }
19
     }).then(res => {
23
     }).then(res => {
20
-      const { pageNo, pageSize, endRow, result } = res || {}
21
-      Object.assign(page, {pageNo, pageSize, endRow})
24
+      const {
25
+        pageNo,
26
+        pageSize,
27
+        endRow,
28
+        result
29
+      } = res || {}
30
+      Object.assign(page, {
31
+        pageNo,
32
+        pageSize,
33
+        endRow
34
+      })
22
       list.value = pageNo <= 1 ? result : list.value.concat(list.value)
35
       list.value = pageNo <= 1 ? result : list.value.concat(list.value)
23
       loading.value = false
36
       loading.value = false
24
     }).catch(e => {
37
     }).catch(e => {
27
     })
40
     })
28
   }
41
   }
29
 
42
 
30
-  return {list, page, getList, loading}
31
-}
43
+  const getDetail = data => {
44
+    // loading.value = true
45
+    request({
46
+      loadingId: 'room.view',
47
+      url: '/room/detail',
48
+      params: {
49
+
50
+        id:data,
51
+      }
52
+    }).then(res => {
53
+      console.log(res, 'res')
54
+
55
+    Object.assign(detail, res)
56
+      // const { pageNo, pageSize, endRow, result } = res || {}
57
+      // Object.assign(page, {pageNo, pageSize, endRow})
58
+      // list.value = pageNo <= 1 ? result : list.value.concat(list.value)
59
+      // loading.value = false
60
+    }).catch(e => {
61
+      console.error(e)
62
+      // loading.value = false
63
+    })
64
+  }
65
+
66
+
67
+
68
+  return {
69
+    list,
70
+    page,
71
+    getList,
72
+    detail,
73
+    getDetail,
74
+    loading
75
+  }
76
+}

+ 24
- 13
src/view/renting/detail/index.vue View File

98
     />
98
     />
99
 
99
 
100
     <van-dialog v-model:show="phoneShow" title="新增电话" show-cancel-button>
100
     <van-dialog v-model:show="phoneShow" title="新增电话" show-cancel-button>
101
-     <van-field v-model="phone" type="tel" label="业主电话" placeholder="请输入电话" />
101
+      <van-field
102
+        v-model="phone"
103
+        type="tel"
104
+        label="业主电话"
105
+        placeholder="请输入电话"
106
+      />
102
     </van-dialog>
107
     </van-dialog>
103
   </div>
108
   </div>
104
 </template>
109
 </template>
105
 
110
 
106
 <script>
111
 <script>
107
-import { ref } from "vue";
112
+import { reactive, ref } from "vue";
108
 import { Swiper } from "../../../components/detailCompents";
113
 import { Swiper } from "../../../components/detailCompents";
109
 import {
114
 import {
110
   Icon,
115
   Icon,
121
 } from "vant";
126
 } from "vant";
122
 import Contextc from "../../../components/contextC";
127
 import Contextc from "../../../components/contextC";
123
 import Stepc from "../../../components/stepC";
128
 import Stepc from "../../../components/stepC";
124
-import { router } from "../../../router";
129
+// import { router } from "../../../router";
130
+import { useRouter } from "vue-router";
125
 
131
 
126
 export default {
132
 export default {
127
   name: "secondhanddetail",
133
   name: "secondhanddetail",
134
     [steps.name]: steps,
140
     [steps.name]: steps,
135
     [step.name]: step,
141
     [step.name]: step,
136
     [ShareSheet.name]: ShareSheet,
142
     [ShareSheet.name]: ShareSheet,
137
-     [Field.name]: Field,
138
-     [Dialog.Component.name]: Dialog.Component,
143
+    [Field.name]: Field,
144
+    [Dialog.Component.name]: Dialog.Component,
139
 
145
 
140
     Stepc: Stepc,
146
     Stepc: Stepc,
141
     Contextc: Contextc,
147
     Contextc: Contextc,
146
   },
152
   },
147
 
153
 
148
   setup() {
154
   setup() {
155
+    const router = useRouter();
149
     const showPopover = ref(false);
156
     const showPopover = ref(false);
150
     const showShare = ref(false);
157
     const showShare = ref(false);
151
     const phoneShow = ref(false);
158
     const phoneShow = ref(false);
152
-     const phone = ref('');
159
+    const phone = ref("");
160
+
161
+    const data = reactive({})
162
+
163
+  console.log(data)
153
 
164
 
154
     // 通过 actions 属性来定义菜单选项
165
     // 通过 actions 属性来定义菜单选项
155
     const actions = [
166
     const actions = [
299
         name: "配备电梯",
310
         name: "配备电梯",
300
         value: "123",
311
         value: "123",
301
       },
312
       },
302
-        {
313
+      {
303
         name: "车位",
314
         name: "车位",
304
         value: "123",
315
         value: "123",
305
       },
316
       },
306
-        {
317
+      {
307
         name: "地下室",
318
         name: "地下室",
308
         value: "123",
319
         value: "123",
309
       },
320
       },
310
-        {
321
+      {
311
         name: "管道燃气",
322
         name: "管道燃气",
312
         value: "123",
323
         value: "123",
313
       },
324
       },
314
-        {
325
+      {
315
         name: "家电",
326
         name: "家电",
316
         value: "123",
327
         value: "123",
317
       },
328
       },
318
-        {
329
+      {
319
         name: "隔断",
330
         name: "隔断",
320
         value: "123",
331
         value: "123",
321
       },
332
       },
322
-        {
333
+      {
323
         name: "房源来源",
334
         name: "房源来源",
324
         value: "123",
335
         value: "123",
325
       },
336
       },
326
-        {
337
+      {
327
         name: "优势推荐",
338
         name: "优势推荐",
328
         value: "123",
339
         value: "123",
329
       },
340
       },

+ 2
- 2
src/view/secondhand/components/secondhandcard/index.vue View File

22
             data.roomType[1] || [] || 0
22
             data.roomType[1] || [] || 0
23
           }}厅 {{ data.acreage || 0 }}㎡ {{ data.roomFloor[0] || [] || 0 }}/{{
23
           }}厅 {{ data.acreage || 0 }}㎡ {{ data.roomFloor[0] || [] || 0 }}/{{
24
             data.roomFloor[0] || [] || 0
24
             data.roomFloor[0] || [] || 0
25
-          }}层 {{ aspect }}
25
+          }}层 {{ data.aspect }}
26
         </p>
26
         </p>
27
         <p class="card-right-2">录入时间:{{ data.recordTime }}</p>
27
         <p class="card-right-2">录入时间:{{ data.recordTime }}</p>
28
         <p class="card-right-2">录入人:{{ data.recordName }}</p>
28
         <p class="card-right-2">录入人:{{ data.recordName }}</p>
192
     //   belongName,
192
     //   belongName,
193
     // } = props.datas;
193
     // } = props.datas;
194
     const data = {
194
     const data = {
195
-      title: props.datas.title, //标题
195
+      title: props.datas.estateName, //标题
196
       roomType: props.datas.roomType.split(","), //户型
196
       roomType: props.datas.roomType.split(","), //户型
197
       acreage: Number(props.datas.acreage || 0).toFixed(2), //面积
197
       acreage: Number(props.datas.acreage || 0).toFixed(2), //面积
198
       roomFloor: props.datas.roomFloor.split(","), //楼层
198
       roomFloor: props.datas.roomFloor.split(","), //楼层

+ 25
- 14
src/view/secondhand/components/secondhandscreen.vue View File

7
             v-for="item in options"
7
             v-for="item in options"
8
             :key="item.id"
8
             :key="item.id"
9
             :title="item.title"
9
             :title="item.title"
10
-            v-model="item.value"
10
+            v-model="state[item.value]"
11
             :options="item.option"
11
             :options="item.option"
12
-            @change="onChange()"
12
+            @change="(e) => onChange(e)"
13
           />
13
           />
14
         </van-dropdown-menu>
14
         </van-dropdown-menu>
15
       </van-col>
15
       </van-col>
25
 </template>
25
 </template>
26
 
26
 
27
 <script>
27
 <script>
28
-import { computed, onMounted } from "vue";
28
+import { computed, onMounted,reactive } from "vue";
29
 import { DropdownMenu, DropdownItem, row, col, cell } from "vant";
29
 import { DropdownMenu, DropdownItem, row, col, cell } from "vant";
30
 import { useModel } from "@zjxpcyc/vue-tiny-store";
30
 import { useModel } from "@zjxpcyc/vue-tiny-store";
31
 export default {
31
 export default {
94
     console.log(dicts.roomType, getDict, getBusinessCity);
94
     console.log(dicts.roomType, getDict, getBusinessCity);
95
 
95
 
96
     // const roomDistrict = dicts.roomDistrict;
96
     // const roomDistrict = dicts.roomDistrict;
97
-
97
+ const state = reactive({
98
+      districtCode: null,
99
+       price: null,
100
+        roomType: null,
101
+     pirceMin:null,
102
+     priceMax:null
103
+    });
98
     onMounted(() => {
104
     onMounted(() => {
99
       if (!dicts.roomDistrict) {
105
       if (!dicts.roomDistrict) {
100
         getBusinessCity(1);
106
         getBusinessCity(1);
104
     const options = computed(() => [
110
     const options = computed(() => [
105
       {
111
       {
106
         id: 0,
112
         id: 0,
107
-        value: 0,
113
+        value: 'districtCode',
108
         title: "区域",
114
         title: "区域",
109
         option: (dicts.roomDistrict || []).map((x) => {
115
         option: (dicts.roomDistrict || []).map((x) => {
110
           return {
116
           return {
115
       },
121
       },
116
       {
122
       {
117
         id: 2,
123
         id: 2,
118
-        value: "a",
124
+        value: "price",
119
         title: "价格(万)",
125
         title: "价格(万)",
120
         option: [
126
         option: [
121
           { text: "0-100", value: "0-100" },
127
           { text: "0-100", value: "0-100" },
122
           { text: "101-200", value: "101-200" },
128
           { text: "101-200", value: "101-200" },
123
-          { text: "201-300", value: "101-200" },
124
-          { text: "301-400", value: "101-200" },
125
-          { text: "400以上", value: "101-200" },
129
+          { text: "201-300", value: "201-300" },
130
+          { text: "301-400", value: "301-400" },
131
+          { text: "400以上", value: "400" },
126
         ],
132
         ],
127
       },
133
       },
128
       {
134
       {
129
         id: 3,
135
         id: 3,
130
-        value: "a",
136
+        value: "roomType",
131
         title: "户型",
137
         title: "户型",
132
         option: dicts.roomType,
138
         option: dicts.roomType,
133
       },
139
       },
138
       cex.emit("onShowMore", 333);
144
       cex.emit("onShowMore", 333);
139
     };
145
     };
140
 
146
 
141
-    const onChange = () => {
142
-      console.log(props, cex, "3ss332");
143
-      // cex. emit("update:modelValue", [...newArr]);
147
+    const onChange = (e) => {
148
+      console.log(state,e, "3ss332333");
149
+      // if(state.price){
150
+        const price = state.price.split('-')
151
+        state.pirceMin = Number(price[0])
152
+        state.priceMax = Number(price[1])
153
+      // }
154
+      cex. emit("onChange", state);
144
     };
155
     };
145
     return {
156
     return {
146
       onMore,
157
       onMore,
147
       options,
158
       options,
148
       onChange,
159
       onChange,
149
-      // props
160
+      state
150
     };
161
     };
151
   },
162
   },
152
 };
163
 };

+ 190
- 103
src/view/secondhand/detail/index.vue View File

1
 <template>
1
 <template>
2
   <div class="secondhanddetail">
2
   <div class="secondhanddetail">
3
-    <div>
4
-      <Swiper></Swiper>
5
-    </div>
3
+    <!-- xId='room.view' -->
4
+    <XLoading  tip='正在加载详情'>
5
+      <div>
6
+        <Swiper></Swiper>
7
+      </div>
6
 
8
 
7
-    <div class="title">
8
-      <p>TITLE</p>
9
-    </div>
9
+      <div class="title">
10
+        <p>{{detail.roomInfo?.title}}</p>
11
+      </div>
10
 
12
 
11
-    <div class="detailcard">
12
-      <div class="detailcard-title">
13
-        <span>房源信息</span>
13
+      <div class="detailcard">
14
+        <div class="detailcard-title">
15
+          <span>房源信息</span>
14
 
16
 
15
-        <div style="float:right">
16
-          <van-popover
17
-            v-model:show="showPopover"
18
-            :actions="actions"
19
-            @select="onSelect"
20
-            placement="bottom-end"
21
-          >
22
-            <template #reference>
23
-              <van-icon name="chat-o" />
24
-            </template>
25
-          </van-popover>
17
+          <div style="float:right">
18
+            <van-popover
19
+              v-model:show="showPopover"
20
+              :actions="actions"
21
+              @select="onSelect"
22
+              placement="bottom-end"
23
+            >
24
+              <template #reference>
25
+                <van-icon name="chat-o" />
26
+              </template>
27
+            </van-popover>
28
+          </div>
26
         </div>
29
         </div>
30
+        <Contextc :options="housingInformationOptions"></Contextc>
27
       </div>
31
       </div>
28
-      <Contextc :options="housingInformationOptions"></Contextc>
29
-    </div>
30
-    <div class="detailcard">
31
-      <div class="detailcard-title">
32
-        <span>基础信息</span>
32
+      <div class="detailcard">
33
+        <div class="detailcard-title">
34
+          <span>基础信息</span>
35
+        </div>
36
+        <Contextc :options="baseInformationOptions"></Contextc>
33
       </div>
37
       </div>
34
-      <Contextc :options="baseInformationOptions"></Contextc>
35
-    </div>
36
-    <div class="detailcard">
37
-      <div class="detailcard-title">
38
-        <span>物业信息</span>
38
+      <div class="detailcard">
39
+        <div class="detailcard-title">
40
+          <span>物业信息</span>
41
+        </div>
42
+        <Contextc :options="propertyInformationOptions"></Contextc>
39
       </div>
43
       </div>
40
-      <Contextc :options="propertyInformationOptions"></Contextc>
41
-    </div>
42
-    <div class="detailcard">
43
-      <div class="detailcard-title">
44
-        <span>角色人</span>
44
+      <div class="detailcard">
45
+        <div class="detailcard-title">
46
+          <span>角色人</span>
47
+        </div>
48
+        <Contextc :options="roleInformationOptions"></Contextc>
45
       </div>
49
       </div>
46
-      <Contextc :options="roleInformationOptions"></Contextc>
47
-    </div>
48
-    <div class="detailcard">
49
-      <div class="detailcard-title">
50
-        <span>委托书</span>
50
+      <div class="detailcard">
51
+        <div class="detailcard-title">
52
+          <span>委托书</span>
53
+        </div>
54
+        <Contextc :options="entrustOptions" nodata=""></Contextc>
51
       </div>
55
       </div>
52
-      <Contextc :options="entrustOptions" nodata=""></Contextc>
53
-    </div>
54
-    <div class="detailcard">
55
-      <div class="detailcard-title">
56
-        <span>钥匙</span>
56
+      <div class="detailcard">
57
+        <div class="detailcard-title">
58
+          <span>钥匙</span>
59
+        </div>
60
+        <Contextc :options="keyOptions" nodata=""></Contextc>
57
       </div>
61
       </div>
58
-      <Contextc :options="keyOptions" nodata=""></Contextc>
59
-    </div>
60
 
62
 
61
-    <div class="detailcard">
62
-      <div class="detailcard-title">
63
-        <van-row>
64
-          <van-col span="12"> <span>跟进记录</span></van-col>
65
-          <van-col span="12" style="line-height:26px;display: flex;">
66
-            <van-button type="default" color="#d75e3a" size="mini"
67
-              >添加跟进</van-button
68
-            ></van-col
69
-          >
70
-        </van-row>
71
-      </div>
72
-      <div>
73
-        <Stepc></Stepc>
63
+      <div class="detailcard">
64
+        <div class="detailcard-title">
65
+          <van-row>
66
+            <van-col span="12"> <span>跟进记录</span></van-col>
67
+            <van-col span="12" style="line-height:26px;display: flex;">
68
+              <van-button type="default" color="#d75e3a" size="mini"
69
+                >添加跟进</van-button
70
+              ></van-col
71
+            >
72
+          </van-row>
73
+        </div>
74
+        <div>
75
+          <Stepc></Stepc>
76
+        </div>
74
       </div>
77
       </div>
75
-    </div>
76
 
78
 
77
-    <div class="detailcard">
78
-      <div class="detailcard-title">
79
-        <van-row>
80
-          <van-col span="12"> <span>空看记录</span></van-col>
81
-          <van-col span="12" style="line-height:26px;display: flex;">
82
-            <van-button type="default" color="#d75e3a" size="mini"
83
-              >添加空看</van-button
84
-            ></van-col
85
-          >
86
-        </van-row>
87
-      </div>
88
-      <div>
89
-        <Stepc></Stepc>
79
+      <div class="detailcard">
80
+        <div class="detailcard-title">
81
+          <van-row>
82
+            <van-col span="12"> <span>空看记录</span></van-col>
83
+            <van-col span="12" style="line-height:26px;display: flex;">
84
+              <van-button type="default" color="#d75e3a" size="mini"
85
+                >添加空看</van-button
86
+              ></van-col
87
+            >
88
+          </van-row>
89
+        </div>
90
+        <div>
91
+          <Stepc></Stepc>
92
+        </div>
90
       </div>
93
       </div>
91
-    </div>
92
 
94
 
93
-    <van-share-sheet
94
-      v-model:show="showShare"
95
-      title="立即分享给好友"
96
-      :options="shareOptions"
97
-      @select="onShareSelect"
98
-    />
95
+      <van-share-sheet
96
+        v-model:show="showShare"
97
+        title="立即分享给好友"
98
+        :options="shareOptions"
99
+        @select="onShareSelect"
100
+      />
99
 
101
 
100
-    <van-dialog v-model:show="phoneShow" title="新增电话" show-cancel-button>
101
-     <van-field v-model="phone" type="tel" label="业主电话" placeholder="请输入电话" />
102
-    </van-dialog>
102
+      <van-dialog v-model:show="phoneShow" title="新增电话" show-cancel-button>
103
+        <van-field
104
+          v-model="phone"
105
+          type="tel"
106
+          label="业主电话"
107
+          placeholder="请输入电话"
108
+        />
109
+      </van-dialog>
110
+    </XLoading>
103
   </div>
111
   </div>
104
 </template>
112
 </template>
105
 
113
 
106
 <script>
114
 <script>
107
-import { ref } from "vue";
115
+import { ref, onMounted, computed } from "vue";
116
+import { useRouter } from "vue-router";
108
 import { Swiper } from "../../../components/detailCompents";
117
 import { Swiper } from "../../../components/detailCompents";
109
 import {
118
 import {
110
   Icon,
119
   Icon,
119
   Toast,
128
   Toast,
120
   Field,
129
   Field,
121
 } from "vant";
130
 } from "vant";
131
+import { useModel } from "@zjxpcyc/vue-tiny-store";
122
 import Contextc from "../../../components/contextC";
132
 import Contextc from "../../../components/contextC";
123
 import Stepc from "../../../components/stepC";
133
 import Stepc from "../../../components/stepC";
124
-import { router } from "../../../router";
134
+// import { router } from "../../../router";
135
+
136
+import  XLoading  from "../../../components/XLoading";
125
 
137
 
126
 export default {
138
 export default {
127
   name: "secondhanddetail",
139
   name: "secondhanddetail",
134
     [steps.name]: steps,
146
     [steps.name]: steps,
135
     [step.name]: step,
147
     [step.name]: step,
136
     [ShareSheet.name]: ShareSheet,
148
     [ShareSheet.name]: ShareSheet,
137
-     [Field.name]: Field,
138
-     [Dialog.Component.name]: Dialog.Component,
149
+    [Field.name]: Field,
150
+    [Dialog.Component.name]: Dialog.Component,
139
 
151
 
140
     Stepc: Stepc,
152
     Stepc: Stepc,
141
     Contextc: Contextc,
153
     Contextc: Contextc,
142
     Swiper: Swiper,
154
     Swiper: Swiper,
155
+    XLoading: XLoading,
143
   },
156
   },
144
   data() {
157
   data() {
145
     return {};
158
     return {};
146
   },
159
   },
147
 
160
 
148
   setup() {
161
   setup() {
162
+    const router = useRouter();
163
+    const roomId = router.currentRoute.value.query.roomId;
149
     const showPopover = ref(false);
164
     const showPopover = ref(false);
150
     const showShare = ref(false);
165
     const showShare = ref(false);
151
     const phoneShow = ref(false);
166
     const phoneShow = ref(false);
152
-     const phone = ref('');
167
+    const phone = ref("");
168
+    const { detail, getDetail } = useModel("room");
169
+    // const { detail,  getDetail } = detail;
170
+
171
+    onMounted(() => {
172
+      getDetail(roomId);
173
+    });
153
 
174
 
154
     // 通过 actions 属性来定义菜单选项
175
     // 通过 actions 属性来定义菜单选项
155
     const actions = [
176
     const actions = [
198
     const onLookClick = () => {
219
     const onLookClick = () => {
199
       console.log("onLookClick");
220
       console.log("onLookClick");
200
     };
221
     };
222
+    const getRoomFloor = (data) => {
223
+     
224
+const [a,b,c] = (data||'').split(',')
225
+ console.log(a,b,c,`${a}/${b}(${c})`,"data");
226
+      return `${a||''}/${b||''}(${c||''})`
227
+    };
201
 
228
 
202
     // 房源信息
229
     // 房源信息
203
-    const housingInformationOptions = [
230
+    const housingInformationOptions = computed(() => [
204
       {
231
       {
205
         name: "所属楼盘",
232
         name: "所属楼盘",
206
-        value: "123",
233
+        value: detail.building?.buildingName,
207
         span: 24,
234
         span: 24,
208
       },
235
       },
209
       {
236
       {
210
         name: "房源id",
237
         name: "房源id",
211
-        value: "123",
238
+        value: `${detail.roomInfo?.roomCode||''}${detail.roomInfo?.id||''}`,
212
       },
239
       },
213
       {
240
       {
214
         name: "楼层",
241
         name: "楼层",
215
-        value: "123",
242
+        value: getRoomFloor(detail.roomInfo?.roomFloor),
216
       },
243
       },
217
       {
244
       {
218
         name: "所属区县",
245
         name: "所属区县",
219
-        value: "123",
246
+        value: detail.roomCity?.areaName,
220
       },
247
       },
221
       {
248
       {
222
         name: "面积",
249
         name: "面积",
223
-        value: "123",
250
+        value: detail.roomInfo?.acreage + '㎡',
224
       },
251
       },
225
       {
252
       {
226
         name: "所属商圈",
253
         name: "所属商圈",
227
-        value: "123",
254
+        value: detail.roomBusi?.areaName,
228
       },
255
       },
229
       {
256
       {
230
         name: "价格",
257
         name: "价格",
231
-        value: "123",
258
+        value: detail.building?.buildingName,
232
       },
259
       },
233
       {
260
       {
234
         name: "楼房号",
261
         name: "楼房号",
235
-        value: "123",
262
+        value: detail.building?.buildingName,
236
       },
263
       },
237
       {
264
       {
238
         name: "单元",
265
         name: "单元",
239
-        value: "123",
266
+        value: detail.building?.buildingName,
240
       },
267
       },
241
       {
268
       {
242
         name: "业主姓名",
269
         name: "业主姓名",
243
-        value: "123",
270
+        value: detail.building?.buildingName,
244
       },
271
       },
245
       {
272
       {
246
         name: "楼栋",
273
         name: "楼栋",
247
-        value: "123",
274
+        value: detail.building?.buildingName,
248
       },
275
       },
249
       {
276
       {
250
         name: "业主电话",
277
         name: "业主电话",
251
-        value: "123",
278
+        value: detail.building?.buildingName,
252
       },
279
       },
253
       {
280
       {
254
         name: "查看敏感信息",
281
         name: "查看敏感信息",
256
         type: "BUTTOM",
283
         type: "BUTTOM",
257
         click: () => onLookClick(),
284
         click: () => onLookClick(),
258
       },
285
       },
259
-    ];
286
+    ]);
287
+
288
+    // const housingInformationOptions = [
289
+    //   {
290
+    //     name: "所属楼盘",
291
+    //     value: detail.building?.buildingName,
292
+    //     span: 24,
293
+    //   },
294
+    //   {
295
+    //     name: "房源id",
296
+    //     value: "123",
297
+    //   },
298
+    //   {
299
+    //     name: "楼层",
300
+    //     value: "123",
301
+    //   },
302
+    //   {
303
+    //     name: "所属区县",
304
+    //     value: "123",
305
+    //   },
306
+    //   {
307
+    //     name: "面积",
308
+    //     value: "123",
309
+    //   },
310
+    //   {
311
+    //     name: "所属商圈",
312
+    //     value: "123",
313
+    //   },
314
+    //   {
315
+    //     name: "价格",
316
+    //     value: "123",
317
+    //   },
318
+    //   {
319
+    //     name: "楼房号",
320
+    //     value: "123",
321
+    //   },
322
+    //   {
323
+    //     name: "单元",
324
+    //     value: "123",
325
+    //   },
326
+    //   {
327
+    //     name: "业主姓名",
328
+    //     value: "123",
329
+    //   },
330
+    //   {
331
+    //     name: "楼栋",
332
+    //     value: "123",
333
+    //   },
334
+    //   {
335
+    //     name: "业主电话",
336
+    //     value: "123",
337
+    //   },
338
+    //   {
339
+    //     name: "查看敏感信息",
340
+    //     value: "123",
341
+    //     type: "BUTTOM",
342
+    //     click: () => onLookClick(),
343
+    //   },
344
+    // ];
345
+    console.log(housingInformationOptions, "housingInformationOption s");
260
     // 基本信息
346
     // 基本信息
261
     const baseInformationOptions = [
347
     const baseInformationOptions = [
262
       {
348
       {
444
       phoneShow,
530
       phoneShow,
445
       onShareSelect,
531
       onShareSelect,
446
       shareOptions,
532
       shareOptions,
533
+      detail,
447
     };
534
     };
448
   },
535
   },
449
 };
536
 };

+ 34
- 26
src/view/secondhand/index.vue View File

1
 <template>
1
 <template>
2
   <div class="secondhand">
2
   <div class="secondhand">
3
-    <SecondHandScreen  @click="(e)=>onSearch()" @onShowMore="onShowMore"  />
3
+    <SecondHandScreen @onChange="(e) => onSearch(e)" @onShowMore="onShowMore" />
4
     <div>
4
     <div>
5
-      <van-progress color="#d75e3a" :show-pivot="false" :stroke-width="1" :percentage="percent" />
5
+      <van-progress
6
+        color="#d75e3a"
7
+        :show-pivot="false"
8
+        :stroke-width="1"
9
+        :percentage="percent"
10
+      />
6
       <van-list
11
       <van-list
7
         class="secondhand-main"
12
         class="secondhand-main"
8
         v-model:loading="loading"
13
         v-model:loading="loading"
14
           v-for="item in list"
19
           v-for="item in list"
15
           :key="item.id"
20
           :key="item.id"
16
           :datas="item"
21
           :datas="item"
17
-          @click="toDetail()"
22
+          @click="toDetail(item)"
18
         ></SecondHandCard>
23
         ></SecondHandCard>
19
       </van-list>
24
       </van-list>
20
     </div>
25
     </div>
22
       v-model:show="moreShow"
27
       v-model:show="moreShow"
23
       position="right"
28
       position="right"
24
       :style="{ width: '100%', height: '100%' }"
29
       :style="{ width: '100%', height: '100%' }"
25
-      ><SecondHandMoreScreen  @onBack="moreShow=false"/>
30
+      ><SecondHandMoreScreen @onBack="moreShow = false" />
26
     </van-popup>
31
     </van-popup>
27
   </div>
32
   </div>
28
 </template>
33
 </template>
29
 
34
 
30
 <script>
35
 <script>
31
 // import Vue from 'vue';
36
 // import Vue from 'vue';
32
-import { useModel } from '@zjxpcyc/vue-tiny-store'
37
+import { useModel } from "@zjxpcyc/vue-tiny-store";
33
 import { DropdownMenu, DropdownItem, List, Popup, Progress } from "vant";
38
 import { DropdownMenu, DropdownItem, List, Popup, Progress } from "vant";
34
 import secondhandscreen from "./components/secondhandscreen";
39
 import secondhandscreen from "./components/secondhandscreen";
35
 import secondhandmorescreen from "./components/secondhandmorescreen";
40
 import secondhandmorescreen from "./components/secondhandmorescreen";
36
 import secondhandcard from "./components/secondhandcard";
41
 import secondhandcard from "./components/secondhandcard";
37
-import { computed, onMounted, reactive, ref } from "vue";
42
+import { computed, onMounted,  ref } from "vue";
38
 import { router } from "../../router";
43
 import { router } from "../../router";
39
 
44
 
40
 export default {
45
 export default {
55
 
60
 
56
   setup(props) {
61
   setup(props) {
57
     const moreShow = ref(false);
62
     const moreShow = ref(false);
58
-    const { list, loading, page, getList } = useModel('room')
59
-    const queryData=reactive({
63
+    const { list, loading, page, getList } = useModel("room");
64
+    // const queryData=reactive({
60
 
65
 
61
-    })
62
-console.log(queryData)
63
-    const finished = computed(() => page.pageNo && page.pageNo === page.endRow)
64
-    const percent = computed(() => page.pageNo ? (page.pageNo * 100 / page.endRow) : 100)
66
+    // })
67
+    // console.log(queryData)
68
+    const finished = computed(() => page.pageNo && page.pageNo === page.endRow);
69
+    const percent = computed(() =>
70
+      page.pageNo ? (page.pageNo * 100) / page.endRow : 100
71
+    );
65
 
72
 
66
     const onShowMore = () => {
73
     const onShowMore = () => {
67
-      
68
       moreShow.value = true;
74
       moreShow.value = true;
69
-    
70
     };
75
     };
71
 
76
 
72
     const onLoad = () => {
77
     const onLoad = () => {
73
       // if (!loading.value) {
78
       // if (!loading.value) {
74
-        getList({
75
-          pageNo: page.pageNo + 1
76
-        })
79
+      getList({
80
+        pageNo: page.pageNo + 1,
81
+      });
77
       // }
82
       // }
78
     };
83
     };
79
-  
80
-    const toDetail = () => {
81
-      console.log(props, router, "333");
82
-      router.push("/secondhand/detail");
84
+
85
+    const toDetail = (item) => {
86
+      console.log(props, router,item, "333");
87
+      router.push(`/secondhand/detail?roomId=${item.id}`);
83
     };
88
     };
84
 
89
 
85
     // const getData = () => {
90
     // const getData = () => {
95
 
100
 
96
     // getData();
101
     // getData();
97
 
102
 
98
-    const onSearch =(query)=>{
99
-      // getList()
100
-      console.log(query,'query')
101
-    }
103
+    const onSearch = (data) => {
104
+      getList({
105
+        pageNo: 1,
106
+        ...data,
107
+      });
108
+      console.log(data, "query");
109
+    };
102
 
110
 
103
     onMounted(() => {
111
     onMounted(() => {
104
       // getList()
112
       // getList()
105
-    })
113
+    });
106
 
114
 
107
     return {
115
     return {
108
       list,
116
       list,